1 1.1 0 0 1 0 1 0 余数和除数异号,商0
← 1 1.0 0 1 0 1 0 0 左移一位,下次加除数
+[Y]补0 0.1 1 0 1
1 1.1 1 1 1
← 1 1.1 1 1 1 1 0 1 末尾恒置1
商[Q]补= 1.0101,余数[r]补2-4。
第四章
12.某机器的16
其中,D为立即数或形式地址,补码表示;Mode为寻址模式,0表示立即寻址,1表示直接寻址,2表示基地址寻址,3表示相对寻址;@为间址标志,@=1表示间接寻址,@=0表示直接寻址;I为变址标志,I=1表示变址寻址,I=0表示非变址寻址。
设PC、Rx、Rb分别为指令计数器、变址寄存器、基址寄存器,EA为有效地址,试解答下列问题:
(1)该指令格式能定义多少种不同的操作?
(2)试写出立即寻址、直接寻址、基址寻址、变址寻址、相对寻址方式中计算有效地址EA的表达式。
(3)设基址寄存器为16位,在基址寻址时,可寻址的主存地址范围是多少?
(4)间接寻址时,可寻址的主存地址范围是多少?若采用多重间址,可寻址的主存地址范围又是多少?
解:(1)24=16。
(2)立即寻址:无EA
直接寻址:EA=D;D为指令中给出偏移量
基址寻址:EA=(Rb)+D;
变址寻址:EA=(Rx)+D;
相对寻址:EA=(PC)+D;PC为程序计数器,D为偏移量
(3)0~216-1
(4)间接寻址可寻址的主存地址范围为0~216-1,多重间址可寻址的主存地址范围为0~215-1。
13.某机的指令格式如下:
其中,D0表示直接寻址,1表示用变址寄存器R x1进行寻址,2表示用变址寄存器R x2进行寻址,3表示相对寻址。若已知(PC)=1000H,R x1=0005H,R x2=1005H,请计算出下列指令的有效地址:
①8442H ②4545H
解:①8442H=1000 0100 0100 0010
因为Mode=0,所以为直接寻址,EA=D=0042H
②4545H=0100 0101 0100 0101
因为Mode=1,所以用变址寄存器R x1寻址,EA=(R x1)+D=0005H+45H=004AH
16.某机字长32位,CPU的寻址范围为1MB,14个通用寄存器,共30条单字长双地址指令,要求有立即、直接、间接、寄存器、基址、相对寻址方式。试设计其指令格式。