《汇编语言程序设计》第4章市公开课一等奖百校联赛获奖课件.pptx
《《汇编语言程序设计》第4章市公开课一等奖百校联赛获奖课件.pptx》由会员分享,可在线阅读,更多相关《《汇编语言程序设计》第4章市公开课一等奖百校联赛获奖课件.pptx(35页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、汇编语言汇编语言淮南师范学院重点课程淮南师范学院重点课程 第第4章章 汇编语言与源程序结构汇编语言与源程序结构 汇编语言源程序与汇编程序 汇编语言语句种类及其格式 汇编语言数据与运算符 伪指令 源程序结构模式 第1页汇编语言汇编语言淮南师范学院重点课程淮南师范学院重点课程 4.1 4.1 汇编语言源程序与汇编程序汇编语言源程序与汇编程序 1 1、汇编语言源程序、汇编语言源程序汇汇编编语语言言源源程程序序是是用用汇汇编编语语言言编编写写程程序序,简简称称汇汇编编语语言言程程序序。汇汇编编语语言言程程序序经经过过编编辑辑程程序序在在计计算算机机中中建建立立汇汇编编语语言言源程序文件(源程序文件(A
2、SMASM文件)。文件)。2 2、汇编程序、汇编程序将将汇汇编编语语言言源源程程序序编编译译成成目目标标程程序序加加工工程程序序称称为为汇汇编编程程序。这一加工过程称为汇编。序。这一加工过程称为汇编。汇汇编编程程序序作作用用就就是是把把源源程程序序文文件件(ASMASM文文件件)转转换换成成用用二二进制代码表示目标程序文件(进制代码表示目标程序文件(OBJOBJ文件)。文件)。汇编程序主要功效有:汇编程序主要功效有:检验源程序。检验源程序。测出源程序语法错误,并给犯错误。测出源程序语法错误,并给犯错误。产生目标程序,并可给出列表文件产生目标程序,并可给出列表文件 展开宏指令。展开宏指令。返回返
3、回第2页汇编语言汇编语言淮南师范学院重点课程淮南师范学院重点课程 4.2 4.2 汇编语言语句种类及其格式汇编语言语句种类及其格式 语语句句是是汇汇编编语语言言源源程程序序基基本本组组成成单单位位。一一个个汇汇编编语语言言源源程程序序中中有有3 3种种基基本本语语句句:指指令令语语句句、伪伪指指令令语语句句和和宏宏指指令令语语句句。前前两两种种是是最最常常见见、最最基基本本语语句句。指指令令语语句句和和伪伪指指令令语语句句不不但但在在程程序序中中功功效效不不一一样样,而而且且实实现现其其功功效效方方法法和和时时间间也也是是不一样。不一样。1 1、指令语句、指令语句 指指令令语语句句就就是是计计
4、算算机机中中指指令令系系统统各各条条指指令令,每每条条指指令令语语句句在在汇汇编编时时都都产产生生一一个个供供CPUCPU执执行行机机器器目目标标代代码码,所所以以这这种种语句又称为可执行语句。语句又称为可执行语句。计计算算机机中中每每条条指指令令语语句句表表示示一一个个基基本本功功效效,这这些些基基本本功功效效是是在在程程序序运运行行期期间间由由计计算算机机硬硬件件来来实实现现。一一条条指指令令语语句句由由四个字段组成,其普通格式以下:四个字段组成,其普通格式以下:标号:标号:指令助记符指令助记符 操作数操作数 ;注释;注释 第3页汇编语言汇编语言淮南师范学院重点课程淮南师范学院重点课程 (
5、1 1)标号)标号标标号号是是指指令令语语句句符符号号地地址址,它它代代表表指指令令代代码码存存放放地地址址第第一个字节地址。一个字节地址。标标号号是是指指令令语语句句可可选选项项,通通常常在在一一个个程程序序段段或或子子程程序序入入口口指指令令语语句句选选取取标标号号,当当程程序序需需要要转转入入这这个个程程序序段段或或调调用用子子程程序序时时,就就可可直直接接引引用用这这标标号号。标标号号通通常常在在代代码码段段中中定定义义,后后面面跟跟冒冒号号“:”,它它经经常常在在转转移移指指令令或或CALLCALL指指令令中中引用,用以表示转向地址,引用时标号后不跟冒号。引用,用以表示转向地址,引用
6、时标号后不跟冒号。(2 2)指令助记符)指令助记符指指令令助助记记符符为为指指令令语语句句关关键键,是是不不可可省省略略主主要要部部分分,如如MOVMOV、ADDADD、XORXOR、RCLRCL等等等等,它它表表示示指指令令语语句句要要求求CPUCPU完完成成详详细操作。细操作。第4页汇编语言汇编语言淮南师范学院重点课程淮南师范学院重点课程(3 3)操作数操作数 操操作作数数表表示示指指令令助助记记符符操操作作对对象象,不不一一样样指指令令所所带带操操作作数数不不一一样样,有有一一个个操操作作数数指指令令(如如INCINC、NOTNOT等等),有有二二个个操操作作数数指指令令(如如ADDAD
7、D、XORXOR等等),无无操操作作数数指指令令(如如CLCCLC、STDSTD等)。等)。若若需需要要操操作作数数,则则每每一一个个操操作作数数要要依依据据寻寻址址方方式式来来表表示示。操作数能够是常数、存放器、标号、变量和表示式。操作数能够是常数、存放器、标号、变量和表示式。(4)(4)注释注释 注注释释是是用用来来说说明明一一段段程程序序或或一一条条或或多多条条指指令令功功效效,它它是是可可选选项项,注注释释均均以以分分号号“;”开开始始,它它可可占占一一行行或或多多行行。注注释释还还通通惯惯用用于于调调试试程程序序。注注释释是是语语句句非非执执行行部部分分,所所以以,它不出现在机器目标
8、代码中,也不影响指令语句功效。它不出现在机器目标代码中,也不影响指令语句功效。第5页汇编语言汇编语言淮南师范学院重点课程淮南师范学院重点课程 2 2、伪指令语句、伪指令语句 伪伪指指令令语语句句指指示示汇汇编编程程序序在在汇汇编编源源程程序序时时完完成成一一些些工工作作,比如完成数据定义、分配存放区、指示程序结束等。比如完成数据定义、分配存放区、指示程序结束等。伪伪指指令令属属于于汇汇编编控控制制命命令令,它它所所指指示示操操作作是是由由汇汇编编程程序序在在汇汇编编源源程程序序时时完完成成,在在汇汇编编时时,它它不不产产生生目目标标代代码码,在在将源程序汇编成目标程序后,它就不复存在了。将源程
9、序汇编成目标程序后,它就不复存在了。总总而而言言之之可可知知,伪伪指指令令语语句句与与指指令令语语句句主主要要区区分分是是:伪伪指指令令语语句句经经汇汇编编后后不不产产生生机机器器目目标标代代码码,而而指指令令语语句句经经汇汇编编后后将将产产生生对对应应机机器器目目标标代代码码;伪伪指指令令语语句句所所指指示示操操作作是是在在程程序序汇汇编编时时完完成成,而而指指令令语语句句操操作作必必须须在在程程序序运运行行时时才才能能完完成成。一一条条伪伪指指令令语语句句也也由由四四个个字字段段组组成成,其其普普通通格格式式以下:以下:符号名符号名 伪指令符操作数伪指令符操作数;注释;注释 第6页汇编语言
10、汇编语言淮南师范学院重点课程淮南师范学院重点课程(1 1)符号名)符号名 符号名在伪指令语句中是一个可选项,符号名后面没有符号名在伪指令语句中是一个可选项,符号名后面没有冒号,符号名能够是常量名、变量名、过程名等。冒号,符号名能够是常量名、变量名、过程名等。(2 2)伪指令符)伪指令符伪伪指指令令符符指指定定汇汇编编程程序序要要完完成成详详细细操操作作,它它是是伪伪指指令令语语句句关关键键部部分分,如如数数据据定定义义伪伪指指令令DBDB、DWDW、DDDD,段段定定义义伪伪指指令令SEGMENTSEGMENT,定义过程伪指令定义过程伪指令PROCPROC等等。等等。(3 3)操作数)操作数
11、伪伪指指令令中中操操作作数数能能够够是是常常数数、字字符符串串、变变量量、表表示示式式,其其个数由详细伪指令决定,各个操作数之间用个数由详细伪指令决定,各个操作数之间用“,”分隔。分隔。(4 4)注释)注释 伪指令语句注释也是可选项,需要时必须以伪指令语句注释也是可选项,需要时必须以“;”开始。开始。第7页汇编语言汇编语言淮南师范学院重点课程淮南师范学院重点课程3 3、标识符、标识符 指指令令语语句句中中标标号号和和伪伪指指令令语语句句中中符符号号名名统统称称为为标标识识符符。它们由若干字符组成,标识符组成规则以下:它们由若干字符组成,标识符组成规则以下:(1 1)一个标识符由)一个标识符由1
12、-31-3个字符组成。个字符组成。(2 2)组组成成标标识识符符字字符符能能够够是是字字母母(A-ZA-Z或或a-za-z)、数数字字(0-90-9)、专专用用字字符符(“?”、“”“”、“”“”、“$”“$”、“下划线下划线_”_”)。)。(3 3)除除数数字字外外,上上述述其其余余字字符符均均可可作作为为标标识识符符首首字字符符,“”“”只能作为标识符首字符。只能作为标识符首字符。(4 4)不能使用属于系统专用保留字。)不能使用属于系统专用保留字。返回返回第8页汇编语言汇编语言淮南师范学院重点课程淮南师范学院重点课程 4.34.3汇编语言数据与运算符汇编语言数据与运算符 汇汇编编语语言言指
13、指令令语语句句和和伪伪指指令令语语句句操操作作数数普普通通为为常常量量、变变量、标号、表示式。量、标号、表示式。1 1、常量、常量常常量量是是没没有有任任何何属属性性纯纯数数值值,它它值值在在汇汇编编期期间间已已能能完完全全确确定定,且且在在程程序序运运行行中中也也不不会会发发生生改改变变。常常量量分分为为数数值值常常量量、字字符符串串常常量量和和符符号号常常量量,它它主主要要用用于于指指令令语语句句中中马马上上数数或或伪伪指令语句中给变量赋初值等。指令语句中给变量赋初值等。(1 1)数值常量)数值常量数值常量分为整数和实数。数值常量分为整数和实数。比比如如:1110001111100011B
14、 B,45693 45693,0 0FF2AH FF2AH,356703356703Q Q都都是是正正确整数形式,确整数形式,又又如如:543.567543.567,45.2345.23,1.21.2E2E2,45.4E945.4E9都都是是正正确实数形式。确实数形式。第9页汇编语言汇编语言淮南师范学院重点课程淮南师范学院重点课程(2 2)字符串常量)字符串常量字字符符串串常常量量是是用用单单引引号号括括起起来来一一个个字字符符或或多多个个字字符符。字字符符串串常常量量以以单单引引号号中中各各字字符符ASCIIASCII码码形形式式存存放放在在内内存存中中,如如HH,在在内内存存中中就就是是4
15、141H H,1212就就是是3131H H,32H32H。使使用用时时可可在在单单引引号号内内直直接接写写字字符符序序列列,如如1212ABAB,也也可可写写字字符符ASCIIASCII码码,ASCIIASCII码码之之间间用用逗逗号号分分隔隔(此此时时不不需需要要用用单单引引号),如号),如3131H H,32H32H,41H41H,42H42H表示字符串表示字符串1212ABAB。(3 3)符号常量符号常量符符号号常常量量是是指指用用EQUEQU伪伪指指令令或或赋赋值值语语句句“=”“=”定定义义过过符符号号名,可作操作数项或在表示式中使用。名,可作操作数项或在表示式中使用。第10页汇编
16、语言汇编语言淮南师范学院重点课程淮南师范学院重点课程2 2、变量、变量在在汇汇编编语语言言中中,变变量量是是一一个个数数据据存存放放单单元元名名称称,即即数数据据存存放放地地址址符符号号表表示示。它它代代表表存存放放在在一一些些存存放放单单元元数数据据,这这些些数数据据在在程程序序运运行行期期间间随随时时能能够够改改变变。为为方方便便访访问问变变量量,在在程程序序中经过变量名来使用变量。中经过变量名来使用变量。(1 1)变量定义)变量定义 变变量量通通常常在在数数据据段段或或附附加加段段中中使使用用数数据据定定义义伪伪指指令令来来定定义义,定定义义变变量量就就是是给给数数据据分分配配存存放放单
17、单元元,有有时时为为存存放放单单元元赋赋予予一一个个变变量量名名,并并可可同同时时为为这这些些存存放放单单元元预预置置初初值值。数数据据定定义义伪伪指令格式为:指令格式为:变量名变量名 DB(DWDB(DW、DDDD、DQDQ、DT)DT)表示式表示式1 1,表示式,表示式2 2,第11页汇编语言汇编语言淮南师范学院重点课程淮南师范学院重点课程其中:变量名是可选项,它仅代表所定义数据存放区其中:变量名是可选项,它仅代表所定义数据存放区第一个单元地址;第一个单元地址;DBDB、DWDW、DDDD、DQDQ和和DTDT是伪指令符,详细是伪指令符,详细一条数据定义伪指令取一条数据定义伪指令取5 5种
18、之一。种之一。DB DB定义是字节类型变量,每个表示式被分配定义是字节类型变量,每个表示式被分配1 1个字节单个字节单元。元。DWDW定定义义是是字字类类型型变变量量,每每一一个个表表示示式式被被分分配配1 1个个字字单单元元(2 2个字节)。个字节)。DDDD定定义义是是双双字字类类型型变变量量,每每一一个个表表示示式式被被分分配配2 2个个字字单单元元(4 4个字节)。个字节)。DQDQ定定义义是是四四字字类类型型变变量量,每每一一个个表表示示式式被被分分配配4 4个个字字单单元元(8 8个字节)。个字节)。DTDT定定义义是是十十字字节节类类型型变变量量,每每一一个个表表示示式式被被分分
19、配配1010个个字字节单元。节单元。第12页汇编语言汇编语言淮南师范学院重点课程淮南师范学院重点课程 表达式1,表达式2是给变量或指定存放单元赋予初值,它们有以下几个形式:(a)数值表达式 数据定义伪指令可认为一个或连续存放单元设置数值初值。(b)字符串表达式 对于DB伪指令,字符串长度允许超过2个字符,但不能超过255个字符,字符串必须用单引号括起来,它可为字符串中每个字符分配1字节单元,字符串从左至右以字符ASCII码形式按地址递增次序依次存放。第13页汇编语言汇编语言淮南师范学院重点课程淮南师范学院重点课程(c c)?)?表示式表示式 不不带带引引号号?,用用于于为为变变量量预预留留内内
20、存存单单元元,暂暂时时不不存存入入数数据,即表示所定义变量无确定初值。据,即表示所定义变量无确定初值。比如:比如:A DW A DW?,?,?为变量为变量A A预留预留2 2个字单元。个字单元。(d d)地址表示式地址表示式 操操作作数数为为地地址址表表示示式式时时,只只适适合合用用于于DWDW和和DDDD这这两两种种数数据据定定义义伪伪指指令令。假假如如地地址址表表示示式式为为一一变变量量(标标号号)名名,用用DWDW伪伪指指令令则则是是取取它它偏偏移移地地址址来来初初始始化化变变量量;用用DDDD伪伪指指令令则则是是取它段首地址和偏移地址来初始化变量。取它段首地址和偏移地址来初始化变量。(
21、e e)带带DUPDUP表示式表示式格格式式为为:n n DUP DUP (表表示示式式),其其中中n n为为重重复复因因子子,只只能能取取正正整数,它表示定义了整数,它表示定义了n n个数据存放单元。个数据存放单元。第14页汇编语言汇编语言淮南师范学院重点课程淮南师范学院重点课程(2 2)变量属性)变量属性 因因为为存存放放器器是是分分段段使使用用,因因而而源源程程序序定定义义变变量量含含有有3 3个个属属性:性:(a a)段属性(段属性(SEGSEG)变量段属性是指定义变量时它所在段段首地址。变量段属性是指定义变量时它所在段段首地址。(b b)偏移属性(偏移属性(OFFSETOFFSET)
22、变变量量偏偏移移属属性性是是指指所所在在段段段段首首地地址址到到定定义义该该变变量量位位置置之之间间字字节节数数(即即偏偏移移地地址址)。上上述述段段属属性性和和偏偏移移属属性性值值就就组组成了一个变量逻辑地址。成了一个变量逻辑地址。(c c)类型属性(类型属性(TYPETYPE)变量类型属性表示存放变量时所占存放单元字节个数。变量类型属性表示存放变量时所占存放单元字节个数。第15页汇编语言汇编语言淮南师范学院重点课程淮南师范学院重点课程(3 3)变量使用)变量使用 定义后变量,在程序中引用有两种情况:定义后变量,在程序中引用有两种情况:(a a)在在指指令令语语句句中中,采采取取存存放放器器
23、操操作作数数几几个个寻寻址址方方式式,除除存存放放器器间间接接寻寻址址方方式式不不使使用用变变量量名名外外,其其余余各各种种寻寻址址方方式均可使用变量名。式均可使用变量名。比如,某数据段已定义一变量比如,某数据段已定义一变量ARRAYARRAY:ARRAY DW 5000H ARRAY DW 5000H,4000H4000H (b b)在在数数据据定定义义伪伪指指令令DWDW和和DDDD中中,操操作作数数字字段段可可直直接接引引用已定义过变量名。用已定义过变量名。如:如:A DB 50HA DB 50H,40H40H B DW A B DW A C DD B C DD B第16页汇编语言汇编语
24、言淮南师范学院重点课程淮南师范学院重点课程3 3、标号、标号 标号是一条指令语句符号地址,在汇编源程序中,只有标号是一条指令语句符号地址,在汇编源程序中,只有在需要转向一条指令语句时,才为该指令语句设置标号,方在需要转向一条指令语句时,才为该指令语句设置标号,方便在控制转移指令中直接引用这个标号。标号普通在代码段便在控制转移指令中直接引用这个标号。标号普通在代码段中定义和引用。因为标号代表了指令符号地址,所以标号也中定义和引用。因为标号代表了指令符号地址,所以标号也有有3 3个属性:个属性:(a a)段段属属性性(SEGSEG)。标标号号段段属属性性是是指指标标号号定定义义所所在在段段段段首首
25、地址。地址。(b b)偏偏移移属属性性(OFFSETOFFSET)。标标号号偏偏移移属属性性是是指指标标号号所所在在段段段首地址到该标号字节距离。段首地址到该标号字节距离。(c c)类类型型属属性性(TYPETYPE)。标标号号类类型型属属性性表表示示了了它它转转移移特特征征,即即该该标标号号是是作作为为段段内内还还是是段段间间转转移移(或或调调用用)指指令令目目标标地地址址。标号类型属性有标号类型属性有2 2种:种:NEARNEAR类型和类型和FARFAR类型。类型。第17页汇编语言汇编语言淮南师范学院重点课程淮南师范学院重点课程 4 4、表示式和运算符、表示式和运算符汇汇编编语语言言指指令
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编语言程序设计 汇编语言 程序设计 公开 一等奖 联赛 获奖 课件
限制150内