A-A+

设一条相对寻址的转移指令占三个字节 第一字节是操作码 第二 三字节为相对位移量 且数据在存储

2022-08-12 13:54:17 问答库 阅读 196 次

问题详情

设一条相对寻址的转移指令占三个字节,第一字节是操作码,第二、三字节为相对位移量,且数据在存储器采用以高字节地址为字地址的存放方式。假设PC当前值为4000H。试问当执行JMP * +17和JMP * -9指令时,该转移指令的第二、第三字节的机器码各为多少?


请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:根据PC当前值为4000H取出三个字节的转移指令后PC值修改为4003 H。对应汇编语言指令JMP * +17该转移指令的相对位移量应为17-3=14(十进制)因为数据在存储器中以高字节地址为字地址的方式存放因此该指令的第二字节是00H第三字节是0EH。对应汇编语言指令JMP * -9该转移指令的相对位移量应为-9-3=-12(十进制)因为数据在存储器中以高字节地址为字地址的方式存放因此该指令的第二字节为FFH第三字节为F4H。
根据PC当前值为4000H,取出三个字节的转移指令后,PC值修改为4003H。对应汇编语言指令JMP*+17,该转移指令的相对位移量应为17-3=14(十进制),因为数据在存储器中以高字节地址为字地址的方式存放,因此该指令的第二字节是00H,第三字节是0EH。对应汇编语言指令JMP*-9,该转移指令的相对位移量应为-9-3=-12(十进制),因为数据在存储器中以高字节地址为字地址的方式存放,因此该指令的第二字节为FFH,第三字节为F4H。

考点:字节,位移