03汇编语言程序设计.doc

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
03汇编语言程序设计

第三章 汇编语言程序设计 回顾:8086的内部结构、寄存器功能和工作过程,指令格式、寻址方式和功能。 本讲重点:了解汇编的概念及其方法, 掌握汇编程序的基本格式,常用运算符的使用方法,汇编的步骤。 4.1汇编语言的基本元素 一、汇编语言的语句格式 由汇编语言编写的源程序是由许多语句(也可称为汇编指令)组成的。每个语句由1~4个部分组成,其格式是: [标号] 指令助记符 [操作数] [;注解] 其中用方括号括起来的部分,可以有也可以没有。每部分之间用空格(至少一个)分开,一行最多可有132个字符。 1. 标识符 给指令或某一存储单元地址所起的名字。可由下列字符组成: 字母:A ~ z ; 数字:0 ~ 9 ; 特殊字符:?、· 、@、一、$ 。 数字不能作标识符的第一个字符,而圆点仅能用作第一个字符。标识符最长为31个字符。当标识符后跟冒号时,表示是标号。它代表该行指令的起始地址;当标识符后不带冒号时,表示变量;伪指令前的标识符不加冒号。 2. 指令助记符 表示不同操作的指令,可以是8086的指令助记符,也可以是伪指令。 3. 操作数 指令执行的对象。依指令的要求,可能有一个、两个或者没有, 例如: RET ;无操作数 COUNT: INC CX ;一个操作数 如果是伪指令,则可能有多个操作数,例如: COST DB 3,4,5,6,7 ;5个操作数 MOV AX,[BP+4] ;第二个操作数为表达式 4. 注解 该项可有可无,是为源程序所加的注解,用于提高程序的可读性。 二、汇编语言的运算符 1. 算术运算符、逻辑运算符和关系运算符 算术运算符可以应用于数字操作数,结果也是数字。而应用于存储器操作数时,只有+、- 运算符有意义。 2. 取值运算符SEG、OFFSET、TYPE、SIZE和LENGTH · SEG和OFFSET分别给出一个变量或标号的段地址和偏移量。 例如,定义: SLOT DW 25 则: MOV AX,SLOT;从SLOT地址中取一个字送入AX MOV AX,SEG SLOT;将SLOT所在段的段地址送入AX MOV AX,OFFSET SLOT;将SLOT所在段的段内偏移地址送AX · TYPE操作符返回一个表示存储器操作数类型的数值。各种存储器地址操作数类型部分的值如表4-1所示。 表4-1存储器操作数的类型属性及返回值 字节 1 字 2 双字 4 NEAR -1 FAR -2 · LENGTH和SIZE操作符只应用于数据存储器操作数。(用DB/DW/DD等定义的操作数) LENGTH返回一个与存储器地址操作数相联系的单元数, SIZE操作数返回一个为存储器操作数分配的字节数。 例如:若 MULT-WORD DW 50DUP(0) 则 LENGTH(MULT-WORD)=50 SIZE(MULT-WORD)=100 注意:SIZE(X)=(LENGTH X)* (TYPE X) 3. 属性运算符 属性运算符用来给指令中的操作数指定一个临时属性,而暂时忽略当前的属性。常用的有: (1) 合成运算符PTR 它作用于操作数时,则忽略了操作数当前的类型(字节或字)及属性(NEAR或FAR),而给出一个临时的类型或属性, 一般格式:类型 PTR 表达式 功能:建立一个存储器地址操作数,它与其后的存储器地址操作数有相同的段地址偏移量,但有不同的类型。 例如:SLOT DW 25 此时SLOT已定义成字单元。若我们想取出它的第一个字节内容,则可用PTR对其作用,使它暂时改变为字节单元,即 MOV AL,BYTE PTR SLOT 三、表达式 由运算符和操作数组成的序列,在汇编时产生一个确定的值。这个值可以仅表示一个常量,也可以表示一个存储单元的偏移地址,相应的表达式称为常量表达式和地址表达式。 1. 常数 汇编语言语句中出现的常数可以有7种: ① 二进制数 后跟字母B,。 ② 八进制数 后跟字母Q或O,如202Q或202O。 ③ 十进制数 后跟D或不跟字母,如85D或85。 ④ 十六进制数 后跟H,如56H,0FFH。注意,当数字的第一个字符是A~F时,在字符前应添加一个数字0,以示和变量的区别。 另有,十进制浮点数、十六进制实数、字符和字符串 2. 常量操作数 常量操作数是一个数值操作数,一般是常量或者是表示常量的标识符。可以为数字常量操作数或字符串常量操作数。前者可采用二进制、八进制、十进制或十六进制等

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档