- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
新编汇编语言课件第四章
第四章 汇编语言程序组织 4.1汇编语言语句格式 指令语句格式 伪指令语句格式 (1)指令语句格式 标号: 指令助记符 操作数 ;注释 例: L1: ADD AL,BL ;寄存器内容相加 (1)指令语句格式 标号字段:任选字段,性质为符号偏(位)移量,用于标记转移指令的目的地址. 在汇编过程中,被引用的标号会被替换为数值偏(位)移量. 标号位于语句开头,必须使用冒号结尾。 (1)指令语句格式 指令助记符与操作数:组成汇编指令本身,必不可少的字段。 汇编过程中,语句中仅这两个字段被替换为机器指令。 (1)指令语句格式 注释字段:任选字段,用于说明程序片段或指令的功能,提高源程序的可读性. 汇编过程中不处理该字段。 注释必须使用分号作为开始。 (1)指令语句格式 LOP: MOV AX,0000H ;将AX清零 在转移指令中引用标号: JMP LOP (2) 伪指令语句格式 伪指令语句:用于指示汇编程序如何汇编源程序。 与指令语句不同,伪指令不产生机器指令代码,其操作在汇编阶段完成。 伪指令的功能通常为分配存储单元、计算表达式、定义常量等。 (2) 伪指令语句格式 符号名 伪指令符 操作数 ;注释 例: VAR1 DB 54H;分配一个字节单元 CON1 EQU 123;定义一个常量 (2) 伪指令语句格式 符号名字段:任选字段,可为常量名、变量名、子程序名称、结构名称、记录名称。 符号名在目标代码中不会出现,仅在汇编过程中使用。 (2) 伪指令语句格式 伪指令符:伪指令语句中必不可少的字段,由它指示具体操作。 操作数字段:由伪指令操作符决定。操作数可以是常数、字符串、常量名、变量名、表达式等。 注释字段:与指令语句中的注释字段含义相同。 (2) 伪指令语句格式 VAR1 DB 12H ;定义变量VAR1 在指令中引用变量: MOV AL,VAR1 汇编后指令中的VAR1会被替换为相应的数值位移量。 伪指令中的VAR1不会在目标代码中存在。 (3)标识符 标识符是汇编语言中所有用户自定义符号的总称,它有一定的构成规则: (a)字符个数在1个到31个之间。 (b)第一个字符必须是字母或特殊字符(特殊字符:? @ _ . $) (3)标识符 (c)除第一个字符外,其他字符可以是字母、数字、特殊字符 (d)不能使用保留字(汇编程序定义的符号名称),包括各种指令助记符、伪指令符、寄存器名称等等。 4.2 汇编语言中使用的数据4.2.1 数据表示 数据表示是指汇编语言所规定的用于表示各种数据的具体方式。 数据表示可分为数值表示和字符串表示两类。 (1)数值表示 二进制整数:由数字0和1组成,以字母B结尾。例如。 八进制整数:由0 – 7组成,以字母Q或O结尾。例如,35761Q。 十进制整数:由0 – 9组成,以字母D结尾或结尾不带任何字母。 (1)数值表示 十六进制整数:由0 – F组成,以字母H结尾。例如,0A845H。 若十六进制整数以字母为最高位,前面必须添一个0,避免与标识符混淆。 (2)字符串表示 使用单引号或双引号括起来的任意字符序列称为字符串。例如: ‘Hello, world!’ ‘A’ ‘678’ (3)数据表示在程序中的用途 1)在指令语句中作为立即数 MOV AX,45F3H MOV BL,‘C’ 2)在指令语句中作为偏移量中的位移量分量 MOV AX,[1000H] ADD 10H[BX],AX (3)数据表示在程序中的用途 3)在数据定义伪指令中,作为存储单元存放的初值 DB 10H,0F4H DW 0D3E5H DB ‘Hello’ 数据表示与编码间的关系 ;下面指令中的立即数,程序员使用了带符号的 ;数据表示,汇编后生成二进制补码 MOV AL, -12 ;下面指令中的立即数,程序员使用了无符号的 ;数据表示,汇编后生成二进制的无符号数编码 ADD BH, 250 数据表示与编码间的关系 ;下面指令中的立即数具有多义性,既可解释为 ;补码,也可解释为无符号数编码,具体解释为 ;何种编码,只能由程序员所使用的标志位确定 SUB BL, 34 MOV AH, 0E2H 4.2.2 变量 变量在汇编语言中的概念与高级语言中一致,指某一个特定的内存单元或内存区域。 在汇编阶段,变量在段中的起始偏移量(段内偏移量)、所占用的空间已经完全被确定。 4.2.2 变量 在程序执行阶段,变量中的数据随时可能发生变化。 在程序中引用变量本质上是引用内存单元的段内偏移量,通常访问的信息
文档评论(0)