- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于8086的微机原理 补充课件参考教材 微型计算机原理与接口技术(第四版) (中国科技大学-周荷琴 吴秀清主编) 第2章 8086 系统结构 第3章 8086的寻址方式和指令系统 第4章 汇编语言程序设计 第3章 8086寻址方式与指令系统 概述 指令是指挥计算机进行操作的命令。 指令系统是指微处理器能执行的各种指令的集合。 程序是一系列按一定顺序排列的指令。 执行程序的过程就是计算机的工作过程。 微处理器的主要功能由它的指令系统来体现。 不同的微处理器有不同的指令系统,其中每一条指令对应着处理器的一种基本操作,这在设计微处理器时确定。 概述(续) 通常一条指令包括两部分: 操作码:决定要完成的操作 操作数:指参加运算的数据或是该数所在的内存单元的地址。 指令的一般格式如下: 操作码 [操作数1,操作数2,……,操作数n] 没有操作数的指令称为无操作数指令。 有两个操作数的指令称为双操作数或二地址指令。 操作码和操作数地址都由二进制数码表示,整条指令以二进制编码的形式存放在存储器中。 概述(续) 采用不同CPU的计算机的指令系统不同。 采用不同CPU的计算机的指令的格式不同。 采用不同CPU的计算机的各指令允许的寻址方式不同。 要使用某种微处理器,必须先要掌握其指令系统和各指令允许的寻址方式。 本章习题: 1、2、3、5、6、7、8、10、13、16、17 字节扩展到字 CBW;将寄存器AL中的符号位扩展到寄存器AH 字扩展到双字 CWD;将寄存器AX中的符号位扩展到寄存器DX 指令功能: ①如果(AL)<80H,则(AH)=00H(正数) 否则(AH)=0FFH(负数) ②如果(AX)<8000H,则DX=0000H(正数) 否则(DX)=0FFFFH(负数) 7 0 AL 7 0 AH 0 15 AX DX 15 0 CBW CWD 符号扩展指令: 例:求-4001H÷4=? MOV AX,-4001H CWD MOV CX,4 IDIV CX 说明:此题不能用16位除8位的方式,因为其商超过了256。 加法十进制调整 DAA; 执行的操作:这条指令执行前必须先执行ADD或ADC指令,加法指令必须把两个压缩的BCD码相加,并把结果存放在AL寄存器中。 减法十进制调整 DAS; 执行的操作:这条指令执行之前,必须先执行SUB或SBB指令,减法指令必须把两个BCD码相减,并把结果存放在AL寄存器中。 5、压缩BCD码十进制调整指令 调整的方法: 累加器AL低4位大于9或辅助进位标志位AF=1,则累加器AL加06H修正。 累加器AL高4位大于9或进位标志位CF=1,则累加器AL加60H修正。 累加器AL高4位大于等于9,低4位大于9,则累加器AL进行加66H修正。 例:进行BCD码加法运算59+68=127 0101 1001 59 + 0110 1000 68 1100 0001 C1 + 0110 0110 66 10010 0111 127 加法运算结果为C1, AF=1,高位大于9 加66H进行压缩BCD调整 说明: 压缩BCD码加法或减法十进制调整指令必须在ADD(ADC)或SUB(SBB)指令之后,调整结果对标志OF无影响,对其它状态标志位均有影响。 减法十进制调整方法与加法十进制调整方法类同,只是将加6变为减6操作。 上述加法及调整的指令如下: MOV AL,59H ADD AL,68H DAA 练习:求83-38=?(用BCD码实现) 指令格式: 加法十进制调整 AAA ; 减法十进制调整 AAS ; 乘法十进制调整 AAM ; 除法十进制调整 AAD ; 6、非压缩BCD码十进制调整指令 AAA指令将AL的内容变换成一位非压缩的十进制数。AAA检查AL低四位,如低四位是0--9的数字,AAA就清除AL的高四位,以及AF和CF标志;如AL低四位表示的数大于9或AF=1,AAA执行: 加6到AL寄存器; 加1到AH寄存器; 置AF=1,CF=1; 清除AL高四位为0 例:求7+8=? MOV AX,0007H MOV BL,08H ADD AL,BL AAA ;结果AL=05H,AH=01H,CF=AF=1。 AAS指令检查AL低四位,如低四位表示的数是0-9的数字,ASS清除AL高四位及CF和AF标志;如AL低四位表示的数大于9或AF=1,AA
文档评论(0)