- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微机原理与接口技术第3章指令02
微机原理及接口技术 第3章 寻址方式和指令系统 3.3 8086指令系统 3.3.1 数据传送类指令 1、通用数据传送类指令MOV 课堂提问 课堂提问 3、地址传送指令 地址传送指令----三条格式: LEA reg,src ; 将指定存储器的16位偏移 地址送指定寄存器 LDS reg, src32; DS:reg←(mem开始的四个内存单元) LES reg, src32; 同上,但DS改为ES 要求源操作数必须是一个内存操作数,目的操作数必须是一个16位的通用寄存器。 LEA 有效地址(EA)送寄存器指令 LDS(LES) 地址指针传送指令 举例 4、标志位传送指令 5. 交换指令XCHG 交换指令XCHG举例 6. 查表转换指令XLAT(或称换码指令) 7、输入/输出数据传送指令IN/OUT 举例 数据传送指令—小结 共14条,分为4组 作业 P113 习题3: 2、3题。 3.3.2 算术运算类指令 1、加/减法指令 (1)加减法指令ADD/SUB ADD指令实例 (2)带进位、借位的加减法指令 ADC/SBB (3)增量和减量指令INC/DEC (4)取负指令NEG 取负指令NEG--分析 (5)比较指令CMP 2、乘除法指令 (1)乘法指令MUL/IMUL (2)除法指令DIV/IDIV 3、符号扩展指令CBW/CWD 例: 求 0BF4H ÷ 0100H (带符号数相除) 4 、BCD算术运算指令(十进制调整指令) (1)、非压缩BCD数算术运算调整指令 算术运算指令—小结 共20条指令 3.3.3 逻辑运算 逻辑运算指令 NOT 逻辑非 AND/OR/XOR 逻辑与/或/异或 例 1:屏蔽第0和1两位,使其为0,可用AND指令。 例2:屏蔽第5位,使其为1,可用OR指令。 例3:XOR指令的应用 (和0不变、和1取反) TEST 测试指令 例4:检测AL最低位是否为1,为1则转移,可使用TEST指令。 移位指令SHL/SAL/SHR/SAR SHL/SAL/SHR/SAR操作功能 例 例 例: 循环移位指令ROL/ROR/RCL/RCR ROL/ROR/RCL/RCR操作功能 3.3.5 串操作指令 串操作指令的共同点: 3.3.6 程序控制指令 几个概念 1、无条件转移指令 JMP(jump) (1)段内转移 (3)段间转移 段间直接(远)转移实例 段间间接转移实例 2 、条件转移指令--(直接标志) 2、条件转移指令--(间接标志) 3 、循环控制指令 4、子程序调用与返回指令 (1)CALL 调用指令 RET 返回指令 例 5、中断指令 例:中断入口地址 3.3.7 处理器控制类指令 1、 标志位操作指令 2、外同步类指令 3、停机指令和空操作指令 作业 课上 P110:3.4例题解析 2--7 课后 P113:习题3 4--9 通常作为子程序或过程的最后一条指令,用以返回到调用这个子程序的断点处。 指令格式: RET RET n 注:n称为弹出值。他表示CPU在弹出返回地址后,再从堆栈中弹出n个字节的数据,即sp←sp+n,n可以是0000~FFFFH范围内的任何一个偶数。这个性能允许废除一些在执行CALL指令之前入栈的参数。 ;主程序 MOV AX,N1 PUSH AX MOV AX,N2 PUSH AX CALL PROG-A MOV SUM,AX ;子程序 PROG-A PROC NEAR …… RET 4 PROC-A ENDP 例:检查当前数据段所在的64K字节内存是否能够正确的进行读写操作。可以先向每个字节写入数,然后读出比较,若正确转移至目标号OK,否则进入出错处理程序段ERROR。 MOV CX, 0000H; MOV BX, 0000H MOV AL, AGAIN: MOV BYTE PTR [BX], AL INC BX CMP BYTE PTR [BX-1
文档评论(0)