问题
问答题
设某计算机有变址寻址、间接寻址和相对寻址等寻址方式,设当前指令的地址码部分为。01AH,正在执行的指令所在地址为1F05H,变址寄存器中的内容为23A0H。
当执行转移指令时,转移地址为多少
已知存储器的部分地址及相应内容,见下表。
表 | |
地址 | 内容 |
001AH 1F05H 1F1FH 23A0H 23BAH | 23A0H 2400H 2500H 2600H 1748H |
答案
参考答案:转移指令使用相对寻址,转移地址=(PC)+A=IF05H+001AH=1F1FH。
因为在本题中没有指出指令的长度,故此题未考虑PC值的更新。
解析: 前两个小题涉及数据寻址,其最终目的是寻找操作数,第3小题涉及指令寻址,其目的是寻找下一条将要执行的指令地址。
基本寻址方式的比较见下表。表中列出的偏移寻址包括变址寻址、基址寻址和相对寻址3种方式。
表 | |||
寻址方式 | 规则 | 主要优点 | 主要缺点 |
立即寻址 | 操作数=A | 无须访问存储器 | 操作数范围受限 |
寄存器寻址 | EA=R | 无须访问存储器 | 寻址空间受限 |
直接寻址 | EA=A | 简单 | 寻址空间受限 |
间接寻址 | EA=(A) | 寻址空间大 | 多次访问主存 |
寄存器间接寻址 | EA=(R) | 寻址空间大 | 多访问一次主存 |
偏移寻址 | EA=(R)+A | 灵活 | 复杂 |