第三章 汇编语言 本章重点 3.1 寻址方式 3.2 汇编语言的语句格式 3.3 汇编语言中数据的表示方式 3.4 运算符号 3.5 伪指令 3.6 汇编语言的上机过程 3.7 汇编语言程序的调试过程 3.1 寻址方式 3.1.1 操作数的种类 3.1.2 九大寻址方式 3.1.3 段跨越与段更换 3.1.1 操作数的种类 什么是寻址方式? 指令中提供操作数或操作数地址的方法。 操作数: 源操作数:其值不变化。 目标操作数:其值有可能变化。 (1) 立即操作数:指令要操作的数据在指令代码中直接给出。 MOV AL,10H ;指令码 B010 (2)寄存器操作数:指令要操作的数据存放在CPU的寄存器中。 MOV AL,BL ; 指令码 88D8 (3) 存储器操作数:指令要操作的数据在存储器(内存)中存放。 MOV AL,[1234H] ; (4)I/O端口操作数:指令要操作的数据来自或要送到I/O端口。 IN AL,20H ;指令码E420 3.1.2 九大寻址方式 1. 固定寻址 2. 立即数寻址 3. 寄存器直接寻址 4. 寄存器间接寻址 5. 存储器直接寻址 6. 基址寻址 7. 变址寻址 8. 基址变址寻址 9. 数据串寻址 1. 固定寻址 指令要操作的数据在指令中并没有明确给出,但隐含在指令中。 例: MUL BL ; AL*BL=AX 在该指令中, AL和AX并未给出. 2. 立即数寻址 指令要操作的数据包含在指令码中。 例: MOV AX,1234H 其指令码为B83412 注意:只能用于源操作数,不能用于目标操作数。 3. 寄存器直接寻址 指令要操作的数据在寄存器中存放。 例:MOV AL,3 注意:寄存器直接寻址即可用于源操作数,也可以用于目标操作数,若两个操作数都为寄存器直接寻址,则两个寄存器的类型必须一致。 4. 寄存器间接寻址 在寄存器间接寻址中,操作数位于内存中,操作数的地址位于某个寄存器中,在指令(码)中给出的是该寄存器的名字(编号)。 举例: MOV AL,[BX] ;指令码:8A07 MOV AX,[SI] ; 指令码:8B04 可以用于寄存器间接寻址的寄存器有: BX SI DI BX SI DI的默认数据段DS 注意:汇编语言的两个操作数不能同时来源于存储器。 5. 存储器直接寻址 在存储器直接寻址中,指令直接给出的是操作数在内存中存放的地址。 例如: MOV AL,[1000H] MOV BX,[1000H] 注意:隐含段为数据段。此方式即可用于源操作数,也可用于目标操作数,但两个操作数不能同时为存储器直接寻址方式。 在基址寻址中,操作数位于内存中,操作数的地址由基址寄存器BX或BP与一个位移量相加给出,在指令(码)中给出的是该基址寄存器的名字(编号)及位移量。 举例: MOV AL,[BX+1234H] 注意:若为BX,则隐含段为数据段。 若为BP,则隐含段为堆栈段。 3.1.3 段更换与段跨越 当要操作的数据不在隐含段中时, 就需要段更换或段跨越。 MOV BX,0100H MOV AL,CS:[BX] (1)MOV AX,[1024] (2)MOV [-100],BL (3)MOV [BX],[SI-10] (4)MOV [AX+10],BL (5)MOV [BX+BP-50],DX (6)MOV [SI+DI],CL (7)MOV [SI+BX-100],100 (8)MOV BX,[BX+SI-5] (9)MOV [BX],AX 3.2 汇编语言的语句格式 注意: 1、机器指令的标号以冒号结束,伪指令的标号后不能加冒号。 2、标号不能重复定义,但是可以多次使用。 3、标号/变量的三大属性 标号是可执行语句的地址符号。 变量是一个可以存放数据的存储单元的名字,变量名表示该数据区或存储区的第一个数据单元的首地址。 标号和变量都具有以下
您可能关注的文档
最近下载
- 核医学教学课件:血液和淋巴显像.ppt VIP
- 重庆市各地方周氏支族源流(1-170支族).doc VIP
- 建筑工程质量管理体系流程图.docx
- 淋巴系统核医学检查课件.ppt VIP
- (高清版)B-T 6003.1-2022 试验筛 技术要求和检验 第1部分:金属丝编织网试验筛.pdf VIP
- (已压缩)TUCST007-2020房屋建筑与市政基础设施工程施工安全风险评估技术标准.docx VIP
- 2026年国家公务员考试申论真题及参考答案(考生回忆版).docx VIP
- 部编版语文二年级上册期中常考七大重点题型专项训练.docx VIP
- 机器人操作系统(ROS)及仿真应用 课件全套 第1--9章 Linux Ubuntu入门基础--- 基于ROS的服务机器人应用实例.ppt
- 压疮的预防及护理技术操作考核评分标准编辑.docx VIP
原创力文档

文档评论(0)