设相对寻址的转移指令占3个字节 第一字节为操作码,第二三字节为相对位移量

设相对寻址的转移指令占3个字节 第一字节为操作码,第二三字节为相对位移量,而且数据在存储器中采用以低字节地址为字地址的存放方式(-------这句话什么意思?)。每当cpu从存储器取出一个字节时候,(pc)+1->pc
当pc当前值为240,要求转移到290,则转移地址二三字节的机器代码是什么?
答案:第二字节2FH 第三字节FFH-------->这个怎么来的
第二字节存放什么? 第三字节呢?
希望达人点播

你纠结的应该是第二问的字节地址是怎么来的。
-43,因为两个字节表示相对位移量,43为0000000000101011,所以-43补码为1111111111010101,因为是低字节存放,所以第二字节为11010101,即D5H,第三字节为11111111,即FFH
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-12-02
PC当前值为240,该指令取出后PC值为243,要求转移到290,即相对位移量为290-243=47,转换成补码为2FH。由于数据在存储器中采用以低字节地址为字地址的存放方式,故该转移指令的第二字节为2FH,第三字节为00H。本回答被提问者采纳
第2个回答  2018-06-04

由题目给出的,本题的指令格式是 操作码+高位字节+低位字节,还得明确一点就是题目中说的第一字节,第二字节,第三字节等说的是该指令在存储器中存放的位置。

    低字节地址为字地址的存放方式:一个字通常由几个(未说明一般指2个)字节组成,每个字节都有对应的字节地址,而由这些字节组成的字有也有字地址,字地址有两种次序(就是字地址编码的根据),即字地址等于最低字节地址或字地址等于最高字节地址,(其实最后字地址一定是这些字节中最低编码的地址,如字节地址编为0,1,2,3 则无论是哪种编码方式字地址一定是0)本题为前者,低字节地址为字地址的特性是高位字节放在高地址,低位字节放在低地址。

    PC:指程序计数器,存放的是指令在主存中的地址,在本题中每次对主存的访问都会使PC计数值加1,本题中取出转移指令要访问主存三次,低地址先被取出,高位地址后取出

    本题的偏移量是290-243=47,47对应的二进制代码的补码为:00101111 每4位对应一个16进制数,则该2进制补码对应的16进制补码是2FH, 因为有2个字节但一个低位字节表达范围已经足够表达偏移量,所以另外一个高位字节对应的数值是00H。

    所以本题的指令格式是 OP002FH.

    存储器中最低位为题目给出的第一字节,即OP,由于低位字节放在低地址,所以2FH放在第二字节,即图中的X+1地址,然后00H放在第三字节,即X+2地址。

综上所述,本题中第一字节为OP(最高位字节,由题目给出)。第二字节(最低位字节)为2FH,第三字节为(次低位字节)为00H,第2问和第一问差不多,就不答了额。

相似回答