- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第 3 章 寻址方式 常用指令的功能、格式、操作、对标志的影响 计算机是如何实现转移、调用、中断的 3.1 8086寻址方式 寻址(addressing) : 把物理地址分配给程序的各条指令的过程。 寻址方式(addressing mode) :根据指令的地址码生成操作数的物理地址的方法。 : MOV BX, 123 ADD AX, BX MOV AX, [2000H] IN AX, 12H : JMP L1 : CALL SUB1 : INT 21H 寻址方式 1、 立即寻址 2、 寄存器寻址 3、 直接寻址 4、 寄存器间接寻址 5、 基址加变址寻址 6、 寄存器相对寻址 7、 相对基址加变址寻址 操作数在何处? 直接包含在指令中 立即数 MOV AX,0 立即数寻址 包含在某个寄存器中 寄存器操作数 MOV AX,BX 寄存器寻址 在内存中 存储器操作数(内存操作数)MOV AX,[1000H] 存储器寻址 在外设中 I/O操作数 IN AL,12H I/O寻址 一、 立即寻址方式 操作数直接存放指令中,紧跟在操作码之后。 这种操作数被称为立即数 imm 它可以是8位数值i8(00H~FFH) 也可以是16位数值i16(0000H~FFFFH) 立即数寻址方式常用来给寄存器、存储器赋值 立即数寻址指令 MOV AL,05H ;AL←05H MOV AX,0102H ;AX←0102H 二、寄存器寻址方式 操作数存放在CPU的内部寄存器reg中,可以是: 8位寄存器r8: AH、AL、BH、BL、CH、CL、DH、DL 16位寄存器r16: AX、BX、CX、DX、SI、DI、BP、SP 4个段寄存器seg: CS、DS、SS、ES 寄存器寻址指令 MOV AX,1234H ;AX←1234H MOV BX,AX ;BX←(AX) 存储器寻址方式 操作数在存储器中。指令中给出操作数在主存中的地址信息(偏移地址,称之为有效地址EA),而段地址在默认的或用段超越前缀指定的段寄存器中 物理地址=段地址+EA(有效地址) 段地址=(段寄存器)×16 EA=偏移地址 / [基址]+[变址]+[位移量] 8086设计了多种存储器寻址方式 1、直接寻址方式 2、寄存器间接寻址方式 3、寄存器相对寻址方式 4、基址变址寻址方式 5、相对基址变址寻址方式 三、直接寻址方式 有效地址在指令中直接给出 默认的段地址在DS段寄存器,可使用段超越前缀改变 直接寻址指令 MOV AX,[2000H] ; AX←(DS:[2000H]) ;指令代码:A10020 MOV AX,ES:[2000H]; AX←(ES:[2000H]) 段超越前缀 ;指令代码:26A10020 四、寄存器间接寻址方式 有效地址存放在基址寄存器BX、BP或变址寄存器SI、DI中。 默认的段地址在DS段寄存器,可使用段超越前缀改变(如果使用BP,则默认的段地址在SS段寄存器)。 寄存器间接寻址指令 MOV AX,[SI] ; AX←(DS:[SI]) MOV AX,[BX] ;AX←(DS:[BX]) MOV AX,[BP] ;AX←(SS:[SP]) 五、寄存器相对寻址方式 有效地址是寄存器内容与有符号8位或16位位移量之和,寄存器可以是BX、BP或SI、DI 有效地址=BX/BP/SI/DI+8/16位位移量 段地址对应BX/SI/DI寄存器默认是DS,对应BP寄存器默认是SS;可用段超越前缀改变 六、基址变址寻址方式 有效地址由基址寄存器(BX或BP)的内容加上变址寄存器(SI或DI)的内容构成: 有效地址=BX/BP+SI/DI 段地址对应BX基址寄存器默认是DS,对应BP基址寄存器默认是SS;可用段超越前缀改变 基址变址寻址指令 MOV AX,[BX+SI]; AX←(DS:[BX+SI]) MOV AX,[BP+DI]; AX←(SS:[BP+DI]) MOV AX,DS:[BP+DI];AX←(DS:[BP
文档评论(0)