第3章 微型计算机指令系统.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
主 编 何 超 基本概念 三个术语:指令,程序,指令系统。 指令:就是指定电子计算机执行某种操作(控制或运算)的命令。 程序:完成一个任务的一组完整的指令序列,就是程序。 指令系统:计算机所能执行的各类指令的总和称为指令系统。 3.1 寻址方式 3.1.1 与数据有关的寻址方式 1.立即寻址(Immediate Addressing) 汇编格式:n(n为立即操作数) 功能:紧挨指令下一单元的内容为操作数n。 【例3-1】MOV AX,1234H ;将立即数1234H值赋给寄存器AX。 ?请注意:操作数n存放在紧挨指令操作码的下一单元。 2.直接寻址(Direct Addressing) 汇编格式:[n]。这里[n]表示操作数在某内存单元中,该内存单元默认在数据段中,其偏移地址EA = n。 功能:指明操作数的偏移地址n = EA。 操作数是指令的一部分,但操作数通常默认在数据段中,其偏移地址是EA。 【例3-2】MOV AL,[2000H] ;将逻辑地址为DS:2000单元内的字节送入AL。 若段基址(DS)= 4000H,则操作数的物理地址为段基址左移4位,即40000H,再加上偏移地址[EA]。此指令的操作是:将数据段中物理地址为42000H 单元的内容56H传至AL寄存器。 直接寻址方式示意如图3-2所示。PA =(段首址)×10H+EA? 说明: 1)当用一个常量作为操作数的偏移地址时,为了防止与立即寻址相混淆,必须给常量加一对中括号。 2)直接寻址的汇编格式中,操作数默认存放在数据段中,也可存放在其他段中。若在其他段中,则应在[n]前面注明。如例3-2中的[2000H]改在扩展段ES,则该指令应改写成 MOV AL,ES:[2000H]。并告知(ES)的值。 3)如果已先行定义某变量存放在数据段中,该变量的偏移地址(称作符号地址)已知,则可以直接将该变量的代号当操作数使用,如下例3-3所示。同理,若在其他段中,则应注明,如ES:BUF。 【例3-3】设BUF为数据段定义的变量,其偏移地址为3000H,(DS)= 4000H,(43000H)= 3469H,问执行指令 MOV AX,BUF 后的结果。 3.寄存器寻址(Register Addressing) 汇编格式:R(R是寄存器名) 功能:寄存器R的内容就是操作数。 【例3-4】 MOV BX,0201H ;将立即数0201H放进BX寄存器中 MOV AX,BX ;将寄存器BX的内容送入AX中。 这两条指令运行的结果是:先将立即数0201H放进BX寄存器中,再将寄存器BX的内容0201H送入AX中。第一条指令的源操作数是立即寻址,第二条指令的源操作数才是寄存器寻址。 说明: 1)在寄存器寻址方式中,操作数存放在指令规定的寄存器中,不需访问内存,工作效率高。 2)对于16位操作数,寄存器可以是AX、BX、CX、DX、SI、DI、SP或BP;而对8位操作数,寄存器可以是AH、AL、BH、BL、CH、CL、DH或DL。 4.寄存器间接寻址(Register Indirect Addressing) 汇编格式:[R](R是寄存器名) 功能:R的内容为操作数所在内存的偏移地址EA。 【例3-5】设(DS)= 2500H,(SS)= 3000H,(BX)= 1000H,(BP)= 2000H,(26000H)= 4321H,(32000H)= 8765H。问执行以下指令后的结果。 MOV AX,[BX] MOV CX,[BP] 答: 第一条指令中寄存器BX提供的是操作数的偏移地址(1000H),加上左移四位之后的数据段的首地址得到操作数的物理地址,即PA=2500H*10H + 1000H = 26000H,然后从26000H物理地址中取出操作数4321H赋给寄存器AX。 第二条指令中寄存器BP提供的也是操作数的偏移地址(2000H),加上左移四位之后的堆栈段的首地址得到操作数的物理地址,即PA = 3000H*10H+2000H = 32000H,然后从32000H物理地址中取出操作数8765H赋给寄存器CX。 说明: 1)操作数存放在存储器当中。 2)指令指定的寄存器只能为基址寄存器BX、BP或变址寄存器SI、DI。 3)如果指令指定的寄存器为BX、SI和DI,则操作数在数据段(DS)中;如果指令指定的寄存器为BP,则操作数在堆栈段(SS)中。 4)寄存器间接寻址

文档评论(0)

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

1亿VIP精品文档

相关文档