欢迎来到天天文库
浏览记录
ID:70924532
大小:44.00 KB
页数:3页
时间:2021-11-25
《寻址方式》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、寻址方式就是寻找操作数或操作数地址的方式。8086提供了与操作数有关和与I/O端口地址有关的两类寻址方式。与操作数有关的寻址方式有七种,分别是立即寻址,寄存器寻址,直接寻址,寄存器间接寻址,寄存器相对寻址,基址加变址寻址,相对基址加变址寻址;与I/0端口有关的寻址方式有直接端口寻址和间接端口寻址方式。与操作数有关的寻址方式立即数寻址方式 操作数直接存放在指令中,紧跟在操作码之后的寻址方式就是立即数寻址方式。 例如: MOVAX,2345H MOVAL,0EH寄存器寻址 操作数存放在CPU的内存寄存器时,可在指令中指出寄存器名,这就是寄存器寻址方式。 例如: MOV
2、AX,BX ADDAX,BX存储器寻址方式 8086指令系统提供了以下5种针对存储器的寻址方式。 直接寻址、寄存器间接寻址、寄存器相对寻址、基址加变址寻址和相对基址加变址寻址。用于说明操作数所在存储单元的地址。由于总线接口单元BIU能根据需要自动引用段寄存器得到段值,所以这五种方式也就是确定存放操作数的存储单元有效地址EA的方法。有效地址EA是一个16位的无符号数,在利用这五种方法计算有效地址时,所得的结果认为是一个无符号数。 (1).直接寻址: 指令中给出的地址码即为操作数的有效地址,就是直接寻址方式。 例子:MOVAX,[2000H]-->2000
3、H为存放操作数单元号的符号地址 MOVAX,2000H-->2000H为源操作数,立即数 上面两者是不等效的 (2).寄存器间接寻址方式: 你就想成:你已经站在你要找的"门户号(家)"的"单元号",你要找到它,必须知道它在当前"单元号"几楼.假如它在6楼,那你就上到6楼就OK了!!注意,最高只有16楼,因为什么呢?那就用DEBUG的D命令看看呀,慢慢数哦,呵呵!! 例子:MOVAX,[BX] 计算公式:物理地址=16d*(DS)+(BX) 物理
4、地址=16d*(DS)+(SI) 物理地址=16d*(DS)+(DI) 物理地址=16d*(SS)+(BP) (3).寄存器相对寻址方式: 你就想成:你要找的"门户号(家)"其实就在你家的楼上或者楼下,你要找到它,就必须知道它在你楼上几楼,或者在楼下几楼!就OK了! 例子:MOVAX,COUNT[SI] MOVAX,[COUNT+SI] 其中COUNT为位移量的符号地址 计算公式:物理地址=16d*(DS)+(BX)+8位位移量 物理地址=16d*(SI)+(BX)+16位位移量 物理地址=16d*(DI)+(BX)+16
5、位位移量 物理地址=16d*(SS)+(BP)+8位偏移量 (4).基址变址寻址方式: 你就想成:你要找的"门户号(家)"是跟住在同一栋楼的不同"单元号",你要找到它,就必须知道它是该栋的哪个"单元号",并且住在几楼!那
此文档下载收益归作者所有