图中X为寻址特征位,且当X=0时,不变址; X=1时,用变址寄存器X1进行变址; X=2时,用变址寄存器X2进行变址; X=3时,相对寻址。 设(PC) =1234H,[X1]=0037H,[X2]=1122H,确定下列指令的的有效地址(指令和地址均用十六进制表示): (1) 4420; (2) 2244; (3) 1322;
(4) 3521。 (0.7分) 正确答案 4
某机器字长 32 位,CPU 内有 32 个 32 位的通用寄存器,设计一种能容纳 64 种操作的指令系统,设指令字长等于机器字长。
(1) 如果主存可直接或间接寻址,采用寄存器-存储器型指令,能直接寻址的最大存储空间是多少?试画出指令格式。
(2) 在(1)的基础上,如果采用通用寄存器作为基址寄存器,则上述寄存器-存储器型指令的指令格式又如何设计?画出指令格式并指出这类指令可访问多大的存储空间。 (0.7分) 正确答案
(1)64种操作,则操作码位数 = log264 = 6
寄存器32个,则寄存器编码位数 = log232 = 5 1.
有直接寻址或间接寻址,则寻址特征位 位数 1位,所以寄存器-存储器型指令格式: 2.
OP 6位 M 1位 R 5位 A 32-6-1-5=20位 说明:OP 为操作码,表明做什么操作 6位
M寻址特征位 1位 ,表明主存的寻址方式 0:直接寻址 1:间接寻址 R 寄存器操作数,指明寄存器的编号 5位 A 存储器地址,表明操作数的地址 20位
采用直接寻址时,A的位数为 20位则寻址的最大存储空间为220 =1M (2) 1.
在(1)的基础上采用通用寄存器作为基址寄存器,则增加了基址寻址,寻址特征位增加到2位 还得再增加一个基址寄存器的位数,则A的位数为32-6-2-5-5=14位,所以指令格式为: 2.
OP 6位 M 2位 R 5位 基址R 5位 A 14位
特点:增加了基址寻址方式,直接寻址范围变小 为214 =16K 间接寻址与基址寻址范围 都是232 =4G 5
某机字长为16位,存储器按字编址,访问内存指令格式如下: 15 11 10 8 7 0 OP M A
其中,OP为操作码,M为寻址特征 A为形式地址。设PC和Rx分别为和谐计数器和变址寄存器,字长为16位,问: 1)该指令能定义多少种指令
2)表中各种寻址方式的寻址范围为多少?
3)写出表中各种寻址方式的奏效地址EA的计算公式 寻址方式 有效地址 EA的计算公式 寻址范围 相对寻址 立即寻址 直接寻址 间接寻址 变址寻址 正确答案
立即寻址 操作数=A 指令中 直接寻址 EA=A 0-255 间接寻址 EA=(A) 0-65535 变址寻址 EA=(Rx)+A 0-65535
相对寻址 EA=(PC)+A 相对偏移量为-128~127 6
某指令系统字长为16位,地址码取4位,试提出一种方案,使该指令系统有8条三地址指令、16条二地址指令、100条一地址指令。 (0.7分) 正确答案 7
假定某计算机中有一条转移指令,采用相对寻址方式,共占两个字节,第一字节是操作码,第二字节是相对位移量(用补码表示),CPU 每次从内存只能取一个字节。假设执行到某转移指令时 PC 的内容为 200,执行该转移指令后要求转移到 100 开始的一段程序执行,则该转移指令第二字节的内容应该是多少? (0.7分) 正确答案
100=200+2+Offset,
Offset=100-202=-102=10011010B 8
设指令字长为16位,采用扩展操作码技术,每个操作数的地址为6位。如果定义了13条二地址指令,试问还可安排多少条一地址指令? (0.7分) 正确答案
二地址指令操作码为4位(16-6-6),最多有2的4次方种二地址指令, 二地址指令实际为13种,还剩16-13=3种用来扩展称为一地址指令,二地址指令每剩下一种可以扩展成16
种,剩下3种可以扩展称为48种。 9
设相对寻址的转移指令占两个字节,第一个字节是操作码,第二个字节是相对位移量,用补码表示。假设当前转移指令第一字节所在的地址为2000H,且CPU每取出一个字节便自动完成(PC)+1的操作。试问当执行JMP *+8和JMP *-9指令时,转移指令第二字节的内容各为多少? (0.7分) 正确答案
当执行JMP *+8和JMP *-9指令时,先读取指令 PC = 2000H+2 =2002H
JMP*+8 要转移指令的地址相对当前指令后的第8个字节处,即目标地址为 2000H+8 =2008H
则转移指令第二字节的内容为2008H-2002H = 06H
MP*-9 要转移指令的地址相对当前指令前的第9个字节处,即目标地址为 2000H-9 =1FF7H 则转移指令第二字节的内容为1FF7H-2002H = FFF5H,则第二字节内容为 F5H 10
一种单地址指令的结构如下所示:
操作码OP
间址特征
I
寻址模式
X
形式地址
D
其中,X、D组成该指令的操作数有效地址E。设R为变址寄存器,PC为程序计数器,请在表中第一列位置填入适当的寻址方式名称。
寻址方式名称
I
X
有效地址E
寻址方式名称①
0
00
E = D
②001E = PC + D
③010E = R + D
④011E = R + D,D = 0
⑤100
E = (D)
⑥
1
01
E = (PC + D)
⑦110
E = (R + D)
⑧111
E = (R + D),D = 0
正确答案
①直接寻址 ②相对寻址 ③变址寻址 ④寄存器寻址 5)间接寻址
6)先相对寻址再间接寻址 ⑦ 先变址寻址再间接寻址 8)寄存器间接寻址 11
某机主存容量为4M位,且存储字长等于指令字长,若该机指令系统可完成108种操作,操作码位数固定,且具有直接、间接、变址、基址、相对、立即等六种寻址方式,试回答:
(1)画出一地址指令格式并指出各字段的作用; (2)该指令直接寻址的最大范围; (3)一次间址和多次间址的寻址范围; (4)立即数的范围(十进制表示); (5)相对寻址的位移量(十进制表示);
(6)上述六种寻址方式的指令哪一种执行时间最短?哪一种最长?为什么?哪一种便于程序浮动?哪一种最适合处理数组问题?
(7)如何修改指令格式,使指令的寻址范围可扩大到4M? (0.7分) 正确答案
(1) (4分)一地址指令 格式为 7(OP) 3 (M) 6(A) 其中OP为操作码 ,表明作何种操作
M为寻址特征位,表明是什么寻址方式 A为形式地址 。 (2) 0-636
(3) 0-65535,0-3276716 (4) -32 ----31
(5) 立即,间接,基址,变址 (6)采用双字长指令 12
假设某计算机的指令长度为20位,具有双操作数、单操作数和无操作数三类指令形式,每个操作数地址规定用6位表示。 若操作码字段固定为8位,现已给出m条双操作数指令,n条无操作数指令。在此情况下,这台计算机最多可以设计出多少条单操作数指令? 当双操作数指令条数取最大值,且在此基础上单操作数指令条数也取最大值时,试计算这三类指令最大容许具有的指令条数各是多少? (0.7分) 正确答案 13