第45章 汇编语言部分.ppt

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

第4、5章 汇编语言部分 1、寻址方式(1/3) 立即数寻址方式 操作数直接出现在指令中; 例如:MOV AX , 1234HH 寄存器寻址方式 操作数在寄存器中,指令中给出该寄存器的名称; 例如:MOV AX , BX 直接寻址方式 操作数在存储单元中,指令中直接给出该存储单元的地址; 例如:MOV AX , [1000H] MOV AX , DATA 1、寻址方式(2/3) 寄存器间接寻址方式 操作数在存储单元中,指令中给出存放该存储单元地址的寄存器名称; 例如:MOV AX , [BX] 间址寄存器有:BX、BP、SI、DI 寄存器相对寻址方式 操作数在存储单元中,该存储单元的有效地址由一个间址寄存器和一个偏移量共同构成; 例如:MOV AX , 100H[BX] MOV AX , TABLE[BX] 1、寻址方式(3/3) 基址加变址寻址方式 操作数在存储单元中,该存储单元的有效地址由一个间址寄存器和一个变址寄存器共同构成; 例如:MOV AX , [BX+SI] 相对基址加变址寻址方式 操作数在存储单元中,该存储单元的有效地址由一个间址寄存器、一个变址寄存器和一个偏移量共同构成; 例如: MOV AX , 100H[BX+SI] MOV AX , TALBE[BX+SI] 2、8086 CPU的指令系统 8086 CPU的指令系统中,共有111条汇编指令; 主要的指令类型有: 传送类指令 算术运算类指令 逻辑运算类指令、移位指令 字符串指令 程序转移类指令 处理器控制指令 传送类指令 输入/输出指令 I/O指令的格式 输入指令: IN AL/AX , PORT/DX 输出指令: OUT PORT/DX , AL/AX 指令各部分 PORT/DX:根据地址宽度决定表示方法 8位端口地址(0~0FFH) ,可直接在指令中出现; 16位端口地址(100H~3FFH),必须由DX在指令中给出。 I/O指令在书写格式上两操作数的位数不一定一致。 一个操作数为数据,另一个操作数为地址。 指令举例 算术运算类指令(1/2) 算术运算类指令(2/2) 逻辑运算类指令和移位指令 字符串操作指令 程序转移类指令(1/4) 程序转移类指令(2/4) 程序转移类指令(3/4) 程序转移类指令(4/4) 处理器控制类指令 3、程序格式 汇编语言程序的完整结构 子程序格式 实验用的COM文件源文件结构 COM文件也是一种可执行文件; COM文件不允许分段,它所占有的空间不超过64K; COM文件的入口点必须是100H之后; 过程调用均为NEAR类型的; 子程序的格式 子程序的定义格式 子程序的调用指令 实验系统中的源文件结构 CODE SEGMENT ASSUME CS:CODE,DS:CODE,ES:CODE ORG 35C0H H11: JMP START Z8251 EQU 0FFE1H …… START: …… SR2: CALL DIS JMP SR2 DIS: MOV CL,20H …… RET CODE ENDS END H11 将源操作数的值传送至目的操作数 MOV DST , SRC 将AL/AX中的字节/字数据送至指定端口 从指定端口读取字节/字数据至AL/AX 将两操作数的值相互交换 XCHG OPR1 , OPR2 将堆栈栈顶元素出栈至目的操作数 POP DST 将源操作数入栈 PUSH SRC 将源操作数的有效地址送目的操作数 LEA REG , MEM 功能 指令格式 IN AL/AX , PORT/DX OUT PORT/DX , AL/AX √ √ √ √ √ √ IN AL , DX OUT 80H , AX (DST) - (SRC) CMP OPR1 , OPR2 (DST) - 1 ? DST DEC DST 0 - (DST) ? DST NEG DST (DST) - (SRC) - CF ? DST SBB DST , SRC (DST) - (SRC) ? DST SUB DST , SRC (DST) + 1 ? DST INC DST (DST) + (SRC) + CF ? DST ADC DST , SRC (DST) + (SRC) ? DST ADD DST , SRC 功能 指令格式 √ √ √ √ A

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档