一、
1. 2. 3. 4. 5.
填空题
指今的编码将指令分成、 ① _、 ② 等字段。 计算机通常使用 _来指定指令的地址。
指令编码中,操作码用来指定 ① _ n位操作码最多可以表示 ② 条指令。 通常指令编码的第一个字段是 。
直接寻址方式指令中,直接给出 ① _只需 ② 一次就可以获得操作数。 【答案】1. ①操作码②地址码 2.程序计数器PC 3. ①操作类型②2n
4. 操作码 5.①操作数地址②访问内存
6.寄存器间接寻址方式中,给出的是 所在的寄存器号。
7. 存储器间接寻址方式指令中给出的是 ① _所在的存储器地址,CPU需要访问内存
② 才能获得操作数。
8.变址寻址方式中操作数的地址由 ① _与 ② 的和产生。 9.用于改变程序执行顺序的指令主要有 ① _和 ② 等。 10.只有操作码而没有地址码的指令称为 _指令。
【答案】6.操作数地址 7.①操作数地址②两次 8①变址寄存器中的内容②地址码中地址 9.①转移指令②子程序调用指令 10.零地址
二、选择题
1.先计算后再访问内存的寻址方式是 D A立即寻址B直接寻址C间接寻址D变址寻
址
2.单地址指令中为了完成两个操作数的算术运算,除地址码指定的一个操作数外,另一 个常数需采用 C A堆栈寻址方式B立即数寻址方式C隐含寻址方式D间接寻址方式 3.程序控制类指令的功能是(D)A进行算术和逻辑运算B进行主存和CPU之间的数据
传送C进行CPU和I/O设备之间的数据传送D改变程序的执行顺序
4.指令系统采用不同寻址方式的目的主要是(D)A.可直接访问外存B.提供扩展操作码
并
降低译码难度C. 实现存储程序和程序控制D. 缩短指令长度,扩大寻址空间,提高编 程的灵活性
5. 关于二地址指令下列论述正确的是_ A
A.二地址指令中运算结果通常存放在一个地址码所提供的地址中 B. 二地址指令中,指令的地址码字段存放的一定是操作数 C. 二地址指令中,指令的地址码字段存放的一定是寄存器号 D. 指令的地址码字段存放的一定是操作数地址
6.堆栈常用于(B)A数据移位B保护程序现场C程序转移D输入输出
7.执行中所用到的堆栈指令是(C)_A移位指令B乘法指令C子程序调用指令D串处理指令
8.下列指令中__C不能支持数值处理。A算术运算指令B移位操作指令C字符串处理指令D输入输出指令
9.下列指令中_C_是用户不能使用的A堆栈操作指令B移位操作指令C特权指令D字符串处理指令
10.在变址寄存器寻址方式中,若变址寄存器的内容是4E3C16,给出的偏移量是6316,则它对应的有效地址是_D_A6316B4D9F16C4E3C16D4E9F16
11.能够改变程序执行顺序的是D__A数据传送指令B移位操作指令C输入输出指令D转移类指令
12.操作数地址存放在寄存器的雪址方式叫(D)A相对寻址方式B变址寄存器寻址方式C
寄存器寻址方式D寄存器间接寻址方式
13.变址寻址方式中,操作数的有效地址是(C)基址寻址方式中操作数的有效地址是(A) A基址寄存器内容加上形式地址B程序计数器内容加上形式地址C变址寄存器内容加上地址
2.某计算机有变址寻址、间接寻址和相对寻址等方式,射当前指令的地址码部分为001AH正在执行的指令所在地址为1F05H,变址寄存器中的内容为23A0H,已知存储器的部分地址及相应内容如图,请填充:
内容 (1)当执行取指令时,如为变址寻址方式则取出的数为(1700H) 地址 001AH 23A0H (2)如为间接寻址方式则取出的数为(2600H)
1F05H 2400H (3)当执行转移指令时,转移地址(1F21H)
2500H 3.假设(R)=1000,(1000)=2000,(2000)=3000,(PC)=4000, 1F1FH 23A0H 2600H 问在以下寻址方式下访问到操作数的值是什么?
23BAH 1700H (1)寄存器寻址 R (2)寄存器间接寻址(R)(3)直接寻址1000
(4)存储器间接寻址(1000)(5)立即数寻址#2000 解:(1)DATA=(R)=1000
(2)DATA=((R))=(1000)=2000 (3)DATA=(1000)=2000
(4)DATA=((1000))=(2000)=3000 (5)DATA=2000
5.某机字长为16位,存储器按字编址,访内存指令格式如下
15 11 10 8 7 0
OP M A
其中OP是操作码,M定义寻址方式,A为形式地址。 设PC和Rx分别为程序计数和变址寄存器,字长16位 (1)该指令能定义多少种指令?
(2)表中各种寻址方式的寻址范围为多少?
(3)写出表中各种寻址方式的有效地址EA的计算公式。
解:因为OP字段长5位,所以指令能定义25=32种指令。
寻址方式 有效地址EA的计算公式 寻址范围
立即寻址 EA=(PC) 1个字,即指令自身 直接寻址 EA=A 256个字 间接寻址 EA=(A) 64K 变址寻址 EA=(Rx)+A 64K
相对寻址 EA=(PC)+A 256个字(附近)
四、设计题
I.假设某计算机指令字长度为32位,具有二地址、 一地址、零地址3种指令格式,每个操作数地址 规定用8位表示,若操作码字段固定为8位,现
在已设计出K条二地址指令,L条零地址指令,那么 这台计算机最多能设计出多少条单地址指令? 解:因为操作码字段固定为8位,所以最多能设: 28=256条指令。现已设计出K条二地址指令,L条零 地址指令,所以
这台机最多还能设计出256-K-L条单地址指令。
2.某指令系统指令字长为20位,具有双操作数、单 操作数和无操作数3种指令格式,每个操作数地址 规定用6位表示,当双操作数指令条数取最大值, 而且单操作数指令条数也取最大值时,这3种指令 最多可能拥有的指令数各是多少?
【解】按扩展操作码的思想来设计,双操作数指令 条数最大为28-1=255条,单操作数指令条数最大为 63条,无操作数指令条数最大为64条。 00000000 XXXXXX XXXXXX
: : : 255条二地址指令. 11111110 XXXXXX XXXXXX 11111111 000000 XXXXXX
: : : 63条一地址指令. 11111111 111110 XXXXXX 11111111 111111 000000 : : : 64条零地址指令. 11111111 111111 111111