一. 单选题(共8题,24分)
- (单选题, 3分)采用扩展操作码的重要原则是()。
A. 操作码长度可变
B. 使用频率高的指令采用短操作码
C. 使用频率低的指令采用短操作码
D. 满足整数边界原则
答案: A - (单选题, 3分)指令系统中采用不同寻址方式的主要目的是()。
A. 实现程序控制和快速查找存储器地址
B. 缩短指令长度,扩大寻址空间,提高编程灵活性
C. 可以直接访问主存和外存
D. 降低指令译码难度
答案: B - (单选题, 3分)某计算机主存按字编址,转移指令采用相对寻址,由两个字组成,第一个字为操作码和寻址方式,第二个字为相对位移量。假定取指令时,每取一个字PC自动加1。若某转移指令所在的主存地址为2100H,该转移指令成功转移后的目标地址20F8H,则指令第二个字的相对位移量是()。
A. 000AH
B. FFF6H
C. 8000AH
D. FFF8H
答案: B - (单选题, 3分)单地址指令中为了完成两个数的算术操作,除地址码指明的一个操作数外,另一个数常需采用( ) 。
A. 变址寻址方式
B. 立即寻址方式
C. 隐含寻址方式
D. 间接寻址方式
答案: C - (单选题, 3分)【2013统考】假设变址寄存器R的内容为1000H,指令中的形式地址为2000H;地址1000H中的内容为2000H,地址2000H 中的内容为 3000H,地址3000H 中的内容为4000H,则变址寻址方式下访问到的操作数是( )。
A. 1000H
B. 2000H
C. 3000H
D. 4000H
答案: D - (单选题, 3分)【2011统考】偏移寻址通过将某个寄存器内容与一个形式地址相加而生成有效地址。下列寻址方式中,不属于偏移寻址方式的是( )。
A. 间接寻址
B. 基址寻址
C. 相对寻址
D. 变址寻址
答案: A - (单选题, 3分)以下说法中错误的是()。
A. 机器指令和汇编指令基本是一一对应关系,两者都能被硬件直接识别并执行
B. 高级编程语言更易于编程,但程序执行效率较低
C. CPU所能支持的机器指令的集合称为指令系统
D. 机器指令中OP字段不可缺少
答案: A - (单选题, 3分)计算机主存按字编址,转移指令采用相对寻址,由两个字组成,第一个字为操作码和寻址方式,第二个字为相对位移量。假定取指令时,每取一个字PC自动加1。若某转移指令所在的主存地址为2000H,相对位移量的内容为06H,则该转移指令成功转移后的目标地址是()。
A. 2006H
B. 2007H
C. 2008H
D. 2009H
答案: C
二. 填空题(共8题,76分)
9. (填空题, 14分)某计算机的指令系统采用操作码扩展方式,指令按操作数的个数分为双操作数、单操作数和无操作数三种。双操作数指令的格式如下所示:
其中,OP是操作码;F指明该指令的执行结果是否影响程序状态字PSW(F=1时影响,F=0时不影响);双操作数指令有一个操作数必须在寄存器中,由R字段指定寄存器号,S/D字段说明该寄存器中是源操作数还是目的操作数(S/D =1时为目的操作数,S/D=0时为源操作数);另一个操作数的寻址方式由M指定,A为形式地址,支持的寻址方式如下表所示。
M值 | 寻址方式 | 说明 |
000 | 寄存器寻址 | 字段A的低4位指定寄存器号 |
001 | 寄存器间接寻址 | 字段A的低4位指定寄存器号 |
010 | 寄存器自增间接寻址 | 字段A的低4位指定寄存器号 |
011 | 变址寻址 | 变址寄存器Rx隐含,A为基准地址 |
100 | 立即寻址 | A为立即数 |
101 | 直接寻址 | A为有效地址 |
110 | 间接寻址 | A为有效地址的地址 |
111 | 相对寻址 | A为位移量,EA=(PC)+ A |
若该计算机的CPU内的通用寄存器字长和主存储器字长均为32位。试回答以下问题:
(1)该指令系统最多能容纳______条双操作数指令.
(2)试以操作码扩展方式设计单操作数指令和无操作数指令格式,并说明该扩展方案分别能容纳_____条单操作数指令和2的___次方条无操作数指令。假设单操作数指令只有目的操作数,支持上表中除立即寻址方式外的其它所有寻址方式,F指明结果是否影响PSW;无操作数指令F固定为0。
(3)加法指令“ADD R5, 92H(Rx)”中,R5为目的操作数,寄存器寻址方式;92H(Rx)为源操作数,变址寻址方式。若ADD的操作码序列为0001110B,根据题目给出的双操作数指令的格式,该指令的机器码为____H(以16进制形式)。
(4)直接寻址方式的地址位数为_____位,间接寻址的地址位数为_____位,寄存器间接寻址方式的地址位数为_____位。
答案:
14分
(1) 127
(2) 31
(3) 19
(4) 1DAB0092
(5) 16
(6) 32
(7) 32
- (填空题, 8分)【2015统考】某计算机CPU有4个通用寄存器R0~R3,指令字长为16位,采用定长操作码指令格式(如下图);其中,Md、Ms1、Ms2为寻址方式位,Rd、Rs1、Rs2为寄存器编号。支持两种寻址方式:寄存器寻址和寄存器间接寻址,寻址方式编码分别为0和1。
三地址指令各部分的关系是:源操作数1 OP 源操作数2 --> 目的操作数地址;
双地址指令(末3位均为0)各部分的关系是:OP 源操作数1 --> 目的操作数地址;
单地址指令(末6位均为0)各部分的关系是:OP 目的操作数1 --> 目的操作数地址。
请回答下列问题:
(1)该机的指令系统最多可定义_____条指令。
(2)假定INC、SHL和SUB指令的操作码分别为01H、02H和03H,则以下指令对应的机器码分别是①______H,②______H,③______H。
①INC R1 ;(R1) +1→R1
②SHL R2, R1 ;(R1)<< 1→R2
③SUB R3, (R1), R2 ; ((R1))– (R2) → R3
答案:
8分
(1) 128
(2) 0240
(3) 0488
(4) 06EA
- (填空题, 8分)依次执行下面4条JUC-II指令。
MOV #0080H, R0 MOV (0080H), R1 MOV (R0), R2 MOV 2(R0), 0082H
已知执行前(0080H)=0088H,(0082H)=0081H,(0088H)=0082H。第1条指令执行完后,(R0)=________H;第2条指令执行完后,(R1)=________H;第3条指令执行完后,(R2)=________H;第4条指令执行完后,(0082H)=________H;
我的答案:
8分
(1) 0080
(2) 0082
(3) 0088
(4) 0081
- (填空题, 12分)JUC-II模型计算机的汇编程序清单如下,其中ROL是循环左移指令。
JZ指令共执行___次。第一次执行JZ指令时,R1寄存器的值是_____H(填写4位十六进制数),执行后PC寄存器的值是______H(填写4位十六进制数)。最后一次执行JZ指令时,R1寄存器的值是_____H(填写4位十六进制数),执行后PC寄存器的值是______H(填写4位十六进制数)。该计算机的存储器是按_____(字/字节)编址。
答案:
(1) 2
(2) 0505
(3) 0036
(4) 0A0A
(5) 0039
(6) 字
- (填空题, 8分)某16位计算机的汇编程序清单如下,其中SAR是算术右移指令。
(1)该计算机的存储器是按____(字节/字)编址。
(2)假设JZ指令采用相对寻址,程序清单最后一行003EH地址后横线上的相对偏移量应为________H(以十六进制表示,字母大写)。
(3)该程序的循环体执行_____次。
(4)退出循环时,R1寄存器的内容是______H(以十六进制表示,字母大写)。
答案:
(1) 字节
(2) FFF4
(3) 2
(4) E001 - (填空题, 8分)JUC-II模型计算机的汇编程序清单如下。
0030H: 1620H; MOV #0001H,FF02H 0031H: 0001H; 0032H: FF02H; 0033H: 0642H;PUSH FF02H 0034H: FF02H; 0035H: 0642H;POP R2 0036H: 20A0H;ADD R2, FF02H 0037H: FF02H; 0038H: 0642H; PUSH FF02H 0039H: FF02H; 003AH:0278H;JNC FFF9H(PC) 003BH:FFF9H; 003CH:0642H;POP R2 END
(1)条件转移指令“JNC FFF9H(PC)”的目的地址是相对寻址,偏移量为FFF9H。如果发生转移,转移的目的地址是_____H(填写4位十六进制值)。
(2)该程序使用JNC指令构成循环程序,“ADD R2, FF02H”指令被执行了____次(填写阿拉伯数字)。
(3)第一次执行“ADD R2, FF02H”指令时,R2寄存器的值是_______H(填写4位十六进制值)。
(4)程序执行结束时,R2的值是_______H(填写4位十六进制值)。
答案:
(1) 0035
(2) 16
(3) 0001
(4) 0000