- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
80868088的指令系统修改
微型计算机原理及应用——第二章:8086/8088的指令系统 第二章:8086/8088的指令系统——寻址方式 什么叫指令?指令系统?寻址方式? 指令:计算机提供给用户的硬件命令。 指令系统(集):指令的集合。 操作码:指计算机所要执行的操作,即指出操作类型,是一种助记符。 操作数:指在指令执行操作的过程中所需要的操作数。该字段除可以是操作数本身外,也可以是操作数地址或是地址的一部分,还可以是指向操作数地址的指针或其它有关操作数的信息。 寻址方式:就是指令中用于说明操作数所在地址的方法,或者说是寻找操作数有效地址的方法。 什么叫指令?指令系统?寻址方式? 例如: ADD CL,BH 在计算机内部的表示: 11001111 8086/8088指令系统中有哪些寻址方式? 立即寻址方式(Immediate Addressing) 寄存器寻址方式(Register Addressing) 直接寻址方式(Direct Addressing) 寄存器间接寻址方式(Register Indirect Addressing) 寄存器相对寻址方式(Register Relative Addressing) 基址加变址寻址方式(Based Indexed Addressing) 立即寻址方式(Immediate Addressing) 操作数作为指令的一部分而直接写在指令中,这种操作数称为立即数,这种寻址方式也就称为立即数寻址方式。 立即寻址方式(Immediate Addressing) 立即操作数可以是8位或16位,并且是指令的一部分。立即数据总是紧跟在指令操作码之后并和操作码一起存放在代码段中,因而立即数据总是和操作码一起被放入BIU中的指令队列里,在指令执行时不需再存取存储器。 MOV AH, 80H ? ADD AX, 1234H MOV ECX, 123456H?? MOV B1, 12H MOV W1, 3456H ? ADD D1,其中:B1、W1和D1分别是字节、字和双字单元。??? 以上指令中的第二操作数都是立即数,在汇编语言中,规定:立即数不能作为指令中的第一操作数。该规定与高级语言中“赋值语句的左边不能是常量”的规定相一致。使用立即寻址的指令主要用来给寄存器赋初值。 寄存器寻址方式(Register Addressing) 操作数包含在CPU的内部寄存器中,如寄存器AX、BX、CX、DX等,指令指定寄存器号。 寄存器寻址方式(Register Addressing) 对于16位操作数,寄存器可以是AX,BX,CX,DX,SI,DI,SP或BP; 而对8位操作数,寄存器可以是AH,AL,BH,BL,CH,CL,DH或DL。 特点: 操作数在CPU内,不用通过总线读写,速度快; 目的和源操作数均可采用此寻址方式。 MOV AX, BX; MOV CL, DL; MOV ESI, EDI; INC CX; ROL AH, 1; 直接寻址方式(Direct Addressing) 操作数的有效地址(Effective Address, EA。在IBM PC中把操作数的偏移地址称为有效地址)是指令的一部分,它与操作码一起存放在代码段中,但操作数一般是在数据段中,因而这种寻址方式是以DS的内容为基准。 直接寻址方式(Direct Addressing) 若DS=4000H,则此指令式将数据段中物理地址为42000H 单元的内容传送AL寄存器。例: MOV? AL,[2000H]; [DS*10H+2000H]送 AL; MOV? AX,[2000H]; [DS*10H+2000H]送AL,[DS*10H+2000H+1]送AH; MOV? AL,ES:[2000H]; 这里ES是段超越前缀,所以源操作数是在ES*10H+2000H的内存单元中。 MOV? [3000H],AL; 目的操作数采用直接寻址,将AL送[DS*10H+3000H]的内存单元。 寄存器间接寻址方式(Register Indirect Addressing) 操作数的有效地址EA存放在基址寄存器(BX或BP)或变址寄存器(DI或SI)中。 寄存器间接寻址方式(Register Indirect Addressing) MOV AL,[BX]; [DS*10H+BX]送AL 设DS=3000H,BX=2000H,(32000H)=45H,则执行该指令后,AL=45H。 MO
文档评论(0)