指令寻址用的什么工具啊?

来源:百度知道 编辑:UC知道 时间:2024/09/24 10:13:01
计算机 汇编语言

能不能稍微说详细些?是哪个领域的?

一般指令寻址不需要什么工具,是根据实际情况来选择合适的寻址方式的。一般分为以下几种寻址方式:
1.立即寻址:数据本身直接放置于指令的后8位或16位字节中;
2.直接寻址:数据的段内偏移地址直接放置于指令内,占用两个字节;
3.寄存器寻址:数据存放于指令规定的寄存器中。
4.寄存器间接寻址:数据存放于存储单元中,其有效偏移地址存放于BX、SI或DI寄存器中;
5.寄存器相对寻址:数据存放于存储单元中,其有效偏移地址是一个8位或16位的偏移量与一个基址寄存器或变址寄存器的内容之和,一般为BX、BP、SI或DI
6.基址变址寻址:数据存放于存储单元中,其有效偏移地址是一个基址寄存器与变址寄存器的内容之和。
7.基址变址且相对寻址:数据存放于存储单元中,其有效偏移地址是一个8位或16位的偏移量与一个基址寄存器和一个变址寄存器的三部分内容之和。

一般的寻址方式就是这样了。给你一个例子,一定要看明白。
例:若(BX)=0158H,(DI)=10A5H,位移量=1B57H,(DS)=2100H,(SS)=1100H,(BP)=0100H,段寄存器按默认段寄存器,则各种寻址方式的地址为:
1).直接寻址:
EA(有效地址)=1B57H
物理地址=21000H+1B57H=22B57H
2).寄存器间接寻址(假设寄存器为BX)
EA=0158H
物理地址=21000H+0158H=21158H
3).寄存器相对寻址(假设寄存器为BP):
EA=0100H+1B57H=1C57H
物理地址=11000H+1C57H=12C57H
4).基址变址寻址(假设寄存器为BX和DI):
EA=0158H+10A5H=11FDH
物理地址=21000H+11FDH=221FDH
5).基址变址且相对寻址(假设寄存器为BP和DI):
EA=0100H+10A5H+1B57H=2CFCH
物理地址=11000H+2CFCH=12CFCH

切记,学习微机原理一定要分清楚数