微机原理指令系统的学习.pptxVIP

  1. 1、本文档共132页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
微型计算机原理及应用第二章 8086/8088指令系统 2.1 寻址方式 2.2 8086/8088指令系统 2.2.1 数据传送指令 2.2.2 算术运算指令 2.2.3 逻辑运算和移位指令 2.2.4 程序控制指令 2.2.5 串操作指令 2.2.6 标志处理与CPU控制指令2.1 8086/8088寻址方式指令格式: 操作码 操作数…操作码:计算机所要执行的操作,或指出操作类型,是一种助记符。操作数:操作的对象,可以是操作数本身或存放操作数的内存(I/O端口)地址或其它有关操作数的信息 。汇编语言是一种符号语言,它用助记符来表示操作码,用符号或符号地址来表示操作数或操作数地址,它与机器指令是一一对应的。寻址方式:是指令中用于说明如何寻找操作数的方法。计算机中操作数常存放在以下几个地方:指令代码中,存放常量;MOV AX, 2070H寄存器中:MOV AX, BX内存中: MOV AX, [2000H]I/O端口中(仅对IN/OUT指令): IN AL, 40H8086/8088的基本寻址方式有六种:寄存器寻址 ;操作数存放在寄存器中立即寻址 ;操作数存放在内存代码段直接寻址 ;操作数存放在内存寄存器间接寻址;操作数存放在内存变址寻址 ;操作数存放在内存基址加变址寻址 ;操作数存放在内存一、 寄存器寻址操作数放在CPU内部的寄存器中,可以是8位或16位寄存器,注意源操作数和目的操作数的位数应一致。MOV AX, BX;将 BX中的内容传送到AX中去MOV AL, BH;将 BH中的内容传送到AL中去MOV CL, AX错误! 不匹配二、 立即寻址4000H……4000H……4001HB8H4001HB8H4002H30H4002H30H4003H20H4003H20H4004H……4004H……AXALAH操作数直接放在指令中,紧跟在操作码的后面,与操作码一起放在存储器的代码段中(8/16位)。MOV AX, 2030H对应机器码:B8H 2030H高字节 高地址低字节 低地址注意别错!20H30H单元内容内存偏移地址三、 直接寻址 操作数存放在内存中,在指令中给出存放单元的偏移地址,如果不加说明,操作数默认在数据段。物理地址: (DS)×16+指令中给的16位偏移地址MOV AX, [0020H];将 数据段偏移地址为0020H的地址中的内容传送到AX中去,相当于: MOV AX, DS:[0020H]注意:书写时加方括号。AXALAH……0000H0001H……0020H0021H0022H…………MOV AX, [0020H]………………12H34H56H…………码段AX: 3412H堆栈段内存内容偏移地址DS:0000H数据段3412也可以指向内存中其他段的数据,这时要在相应的偏移地址前加段超越符和“ :”。MOV AL, ES:[0020H];将 扩展段中偏移地址为0020H单元中的内容传送到AL中去MOV SS:[0100H], BX;将 BX中的内容传送到堆栈段中偏移地址为0100H、0101H的单元中去四、 寄存器间接寻址操作数存放在内存中,但其偏移地址存放在指令中给出的寄存器中。BX中存放操作数的偏移地址MOV AX, [BX]其中,作为间接寻址的寄存器只能有4个:BX, SI, DI, BP,其他寄存器无此功能。注意:用BP间接寻址,操作数默认在堆栈段,用其余3个寄存器时,操作数默认在数据段。1、对DI、SI、BX间接寻址物理地址: (DS)×16+DI/SI/BX中给的16位偏移地址2、对BP间接寻址物理地址: (SS)×16+BP中给的16位偏移地址AXALAH……0000H0001H……1100H1101H1102H…………………………78H00H56H…………MOV BX, 1100H码段MOV AX, [BX]AX: 0078H堆栈段内存内容偏移地址DS:0000H数据段0078例1:MOV AX,ES:[BX];传送的操作数在附加段中,偏移地址存放在BX中。例2:MOV [BP], BX;将BX中的内容传送到堆栈段中,其目的地的偏移地址存放在BP中。例3: MOV [CX], 2000H;错,不能对CX间接寻址五、 变址寻址操作数在内存中,由指定的寄存器内容,加上指令中给出的8位或16位偏移量作为操作数的偏移地址,计算方法:偏移地址=寄存器内容+指令中给定的偏移量同样,作为变址的寄存器只能有4个:BX, SI, DI, BP,其他寄存器无此功能。注意:用BP变址寻址,操作数默认在堆栈段,用其余3个寄存器时,操作数默认在数据段。1、对DI、SI、BX变址寻址物

文档评论(0)

1234554321 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档