3. 寻址方式与指令系统.pptVIP

  1. 1、本文档共68页,可阅读全部内容。
  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文档。上传文档
查看更多
3. 寻址方式与指令系统

第三章 寻址方式与指令系统 寻址方式 操作码(指示指令应完成的具体操作) 操作数(表示指令的操作对象) 寻找指令中所需操作数的各种方法叫寻址方式。 Intel 8086/8088 CPU指令所需操作数类型。 8086/8088的8种寻址方式 寄存器寻址(Register Addressing) 指令中所需操作数在CPU某寄存器(通用寄存器和段寄存器)中,由于存取这种操作数完全在CPU内部进行,不需要执行总线周期,所以执行速度快。如: mov cl,al mov dh,bl mov dx,cx mov ds,ax 8086/8088的8种寻址方式 立即数寻址(Immediate addressing) 指令中所需操作数包含在指令代码中,立即数操作数可以是8位,也可以是16位。由于在指令执行过程中,立即数作为指令的一部分直接从BIU的指令序列中取出,同寄存器寻址方式一样,不需另外占用总线周期,因此这种寻址方式执行速度快。 8086/8088的8种寻址方式 立即数寻址(Immediate addressing) mov bx,0a427h mov cl,12 mov bx,”ab” mov dh,”a” mov ax,1234h mov ah,0abh 8086/8088的8种寻址方式 宏汇编源程序中使用的逻辑地址形式: 段基址:偏移量 段基址存放于段寄存器中;而偏移量表示需要访问的存储单元与段起始地址之间的距离。 偏移量是由CPU的执行单元EU来确定和计算的有效地址(EA) 组成EA或偏移量的3个地址分量 位移量 位移量是指令中的一个8位或16位二进制数,在源代码中通常以变量名或标号的形式出现。 基地址 由基址寄存器BX、基址指针BP提供的地址分量。 变址 由源变址寄存器SI或目的变址寄存器DI所提供的地址分量。 由三地址分量组合得到的存储器寻址方式 直接寻址(Direct addressing) 在寻找存储器中操作数时,EA直接由位移量给出。 用符号表示:mov bx,ds:var mov ah,data_byte mov cl,da + 3 用常数表示:mov ax,ds:[100h] 注意与它区分:mov ax,100h 由三地址分量组合得到的存储器寻址方式 寄存器间接寻址(Register indirect addressing) 操作数有效地址EA(偏移量)直接从基址寄存器(BX或BP)或变址寄存器(SI或DI)中获得,例如: mov ax,[bx] (段基址寄存器:DS) mov bh,[bp] (段基址寄存器:SS) mov cl,[si] (段基址寄存器:DS) mov [di],bx (段基址寄存器:DS) 由三地址分量组合得到的存储器寻址方式 基址寻址和变址寻址 操作数的有效地址EA是基址寄存器或变址寄存器给出的分量与指令中给出的位移量之和。 mov ax,10h[si] mov ax,array[bx] mov table[di],al mov tabz[bp],bl mov ax,ds:10h[si] mov ax,ds:array[bx] mov ds:table[di],al mov ss:tabz[bp],bl 由三地址分量组合得到的存储器寻址方式 基址变址寻址(Based indexed addressing) 操作数的有效地址EA是3个地址分量之和。 mov ax,array[bx][si] mov al,table[bx],[di] mov da_word[bp][si],dx mov ds_byte[bp][di],cl 下列的指令语句是非法的。 mov ax,array[bx][bp] mov ax,da_word[si][di] 应用到九九乘法表的例子。P29 存储器寻址方式归纳总结 P30 图3.9 串操作寻址(String addressing) 隐含使用变址寄存器SI和DI。 每完成一次串操作,SI和DI自动进行修改。 DF=0,SI,DI寄存器自动增量;DF=1,SI,DI寄存器自动减量。 串操作按字节进行,增量减量为1;串操作按字进行,增量减量为2。 DI目的变址寄存器对应的段寄存器为:ES。 指令系统 传送类指令(Transfer instructions) 算术运算类指令(Arithmetic instructions) 位操作类指令(Bit manipulation instructions) 串操作类指令(String instructions) 程序转移类

文档评论(0)

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

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

1亿VIP精品文档

相关文档