第4部分:指令系统习题

第4部分:指令系统习题
第4部分:指令系统习题

指令系统习题

一、选择题

1、变址寻址方式中,操作数的有效地址等于______。

A 基值寄存器内容加上形式地址(位移量)

B 堆栈指示器内容加上形式地址(位移量)

C 变址寄存器内容加上形式地址(位移量)

D 程序记数器内容加上形式地址(位移量)

2、用某个寄存器中操作数的寻址方式称为______寻址。

A 直接

B 间接

C 寄存器直接

D 寄存器间接

3、单地址指令中为了完成两个数的算术运算,除地址码指明的一个操作数外,另一个常需采用______。

A 堆栈寻址方式

B 立即寻址方式

C 隐含寻址方式

D 间接寻址方式

4、寄存器间接寻址方式中,操作数处在______。

A. 通用寄存器

B. 主存单元

C. 程序计数器

D. 堆栈

5、程序控制类指令的功能是______。

A 进行算术运算和逻辑运算

B 进行主存与CPU之间的数据传送

C 进行CPU和I / O设备之间的数据传送

D 改变程序执行顺序

6、堆栈寻址方式中,设A为通用寄存器,SP为堆栈指示器,M SP为SP指示器的栈顶单元,如果操作的动作是:(A)→M SP,(SP)- 1 →SP ,那么出栈的动作应是______。

A (M SP)→A,(SP) + 1→SP ;

B (SP) + 1→SP ,(M SP)→A ;

C (SP) - 1→SP ,(M SP)→A ;

D (M SP)→A ,(SP) - 1→SP ;

7.指令周期是指______。

A CPU从主存取出一条指令的时间;

B CPU执行一条指令的时间;

C CPU从主存取出一条指令加上CPU执行这条指令的时间;

D 时钟周期时间;

8、指令系统采用不同寻址方式的目的是______。

A 实现存贮程序和程序控制;

B 缩短指令长度,扩大寻址空间,提高编程灵活性;

C 可直接访问外存;

D 提供扩展操作码的可能并降低指令译码的难度

9、指令的寻址方式有顺序和跳跃两种方式,采用跳跃寻址方式,可以实现______。

A 堆栈寻址

B 程序的条件转移

C 程序的无条件转移

D 程序的条件转移或无条件转移

10、算术右移指令执行的操作是______。

A 符号位填0,并顺次右移1位,最低位移至进位标志位;

B 符号位不变,并顺次右移1位,最低位移至进位标志位;

C 进位标志位移至符号位,顺次右移1位,最低位移至进位标志位;

D 符号位填1,并顺次右移1位,最低位移至进位标志位

11、二地址指令中,操作数的物理位置可安排在______。

A 栈顶和次栈顶

B 两个主存单元

C 一个主存单元和一个寄存器

D 两个寄存器

12、单地址指令中为了完成两个数的算术运算,除地址码指明的一个操作数以外,另一个数常需采用______。

A.堆栈寻址方式

B.立即寻址方式

C.隐含寻址方式

D.间接寻址方式

13、位操作类指令的功能是______。

A.对CPU内部通用寄存器或主存某一单元任一位进行状态检测(0或1)

B.对CPU内部通用寄存器或主存某一单元任一位进行状态强置(0或1)

C.对CPU内部通用寄存器或主存某一单元任一位进行状态检测或强置

D.进行移位操作

14、以下四种类型指令中,执行时间最长的是______。

A.RR型指令

B.RS型指令

C.SS型指令

D.程序控制指令

【补充】

91试题 9

一般情况下,指令由 __A__ 和操作数地址码两部分组成。 ? 利用堆栈进行运算的指令可以不设置 __B__ 。

浮点运算指令对用于 __C__ 的计算机是十分必要的, ? 而十进制运算指令对有大量 I/O 数据的用于 __D__ 的计算机更为合适。移位指令属于 __E__ 类指令。

供选择的答案:

A 、

B :①指令码②地址码③操作码④校验码

C 、

D :①事务处理②科学计算③工业控制④辅助教学

E :①输入 / 输出②传送③运算④控制

03年:某计算机字长为16位,运算器为16位,有16个16位通用寄存器,8种寻址方式,主存容量为64K字。指令中地址码由寻址方式字段和寄存器字段组成,采用单字长指令,则该计算机最多可构成__(56)__条单操作数指令;寄存器间接寻址的范围为__(57)__K字。

(56) A. 256 B. 512 C. 1024 D. 4096

(57) A. 16 B. 32 C. 64 D. 128

03年:某计算机的地址线、数据线均为8位,一条两字节的相对寻址的无条件转移指令,存于内存20H和21H单元中,指令操作码存放在20H中,存放在21H中的位移量为15H。则取该指令时PC(程序设计数器)为__(58)__H,该指令执行结束时PC为__(59)__H。

(58 )A. 20 B. 21 C. 22 D. 41

(59) A. 21 B. 35 C. 37 D. 41

04年:堆栈操作中,____保持不变。

A.堆栈的顶B.堆栈中的数据C.堆栈指针D.堆栈的底

04年:执行指令时,以寄存器的内容作为操作数的地址,这种寻址方式称为____寻址。

A.寄存器B.相对C.基址变址 D.寄存器间接

二、填空题

1、寻址方式按操作数的A.______位置不同,多使用B.______和C.______型,前者比后者执

行速度快。

2、一个较完善的指令系统应包含A. ______类指令,B. ______类指令,C. ______类指令,程序控制类指令,I/O类指令,字符串类指令,系统控制类指令。

3、形式指令地址的方式,称为A.______方式,有B. ______寻址和C. ______寻址。

4、指令系统是表征一台计算机性能的重要因素,它的A. ______和B. ______不仅影响到机器的硬件结构,而且也影响到C. ______。

5、RISC指令系统的最大特点是:A. ______少;B. ______固定;C. ______种类少。只有取数/ 存数指令访问存储器。

6、指令操作码字段表征指令的A.______,而地址码字段指示B.______。微小型机多采用C.______混合方式的指令格式。

7、指令格式中,地址码字段是通过 A.______来体现的,因为通过某种方式的变换,可以给出

B.______地址。常用的指令格式有零地址指令、单地址指令、

C.______三种.

8、堆栈是一种特殊的A.______寻址方式,它采用B.______原理.按结构不同,分为C.______和存储器堆栈.

9、设D为指令中的形式地址,I为基址寄存器,PC为程序计数器。若有效地址E = (PC)

+ D,则为A.______寻址方式;若E = (I)+ D ,则为B.______;若为相对间接寻址

方式,则有效地址为C.______。

10、条件转移指令、无条件转移指令、转子指令、返主指令、中断返回指令等都是A______指令。这类指令在指令格式中所表示的地址,表示要转移的是B______而不是C______。

11、指令格式是指令用A______表示的结构形式,通常由B______字段和C______字段组成。

三、应用题

1、(11分)指令格式如下所示,OP为操作码字段,试分析指令格式特点。

2、(11分)某计算机字长16位,主存容量为64K字,采用单字长单地址指令,共有64条指令,试采用四种寻址方式(立即、直接、基值、相对)设计指令格式。

3、(11分)假设机器字长16位,主存容量为128K字节,指令字长度为16位或32位,共有128条指令,设计计算机指令格式,要求有直接、立即数、相对、基值、间接、变址六种寻址方式。

4、(11分)指令格式如下所示,其中OP 为操作码,试分析指令格式特点。

5、(11分)指令格式如下所示,OP为操作码字段,试分析指令格式的特点。

15 10 7 4 3 0

6、(11分)指令格式结构如下所示,试分析指令格式及寻址方式特点。

7、(11分)某16机机器所使用的指令格式和寻址方式如下所示,该机有20位基值寄存器,16个16位通用寄存器。指令汇编格式中的S(源),D(目标)都是通用寄存器,M是主存中的一个单元。三种指令的操作码分别是MOV(OP)=(A)H,STA(OP)=(1B)H,LDA(OP)=(3C)H。MOV是传送指令,STA为写数指令,LDA为读数指令如图B20.1

图20。1

要求:(1)分析三种指令的指令格式与寻址方式特点。

(2)CPU完成哪一种操作所花的时间最短?哪一种操作所花时间最长?第二种指令的执行时间有时会等于第三种指令的执行时间吗?

(3)下列情况下每个十六进制指令字分别代表什么操作?其中如果有编码不正确,如何改正才能成为合法指令?

○1(F0F1)H(3CD2)H○2(2856)H

○3(6DC6)H○4(1C2)H

第4章指令系统层习题参考解答-汇编语言与计算机组成原理 答案

1.什么是“程序可见”的寄存器? 程序可见寄存器是指在用户程序中用到的寄存器,它们由指令来指定。 2. 80x86微处理器的基本结构寄存器组包括那些寄存器?各有何用途? 基本结构寄存器组按用途分为通用寄存器、专用寄存器和段寄存器3类。 通用寄存器存放操作数或用作地址指针;专用寄存器有EIP和EFLAGS,分别存放将要执行的下一条指令的偏移地址和条件码标志、控制标志和系统标志;段寄存器存放段基址或段选择子。 3.80x86微处理器标志寄存器中各标志位有什么意义? 常用的7位: CF进位标志: 在进行算术运算时,如最高位(对字操作是第15位,对字节操作是第7位)产生进位或借位时,则CF置1;否则置0。在移位类指令中,CF用来存放移出的代码(0或1)。 PF奇偶标志: 为机器中传送信息时可能产生的代码出错情况提供检验条件。 当操作结果的最低位字节中1的个数为偶数时置1,否则置0。 AF辅助进位标志: 在进行算术运算时,如低字节中低4位(第3位向第4位)产生进位或借位时,则AF置1;否则AF置0。 ZF零标志:如指令执行结果各位全为0时,则ZF置1;否则ZF置0。 SF符号标志:其值等于运算结果的最高位。 如果把指令执行结果看作带符号数,就是结果为负,SF置1;结果为正,SF置0。 OF溢出标志: 将参加算术运算的数看作带符号数,如运算结果超出补码表示数的范围N,即溢出时,则OF置1;否则OF置0。 DF方向标志: 用于串处理指令中控制处理信息的方向。 当DF位为1时,每次操作后使变址寄存器SI和DI减小;当DF位为0时,则使SI和DI增大,使串处理从低地址向高地址方向处理。 4.画出示意图,简述实模式下存储器寻址的过程。 20位物理地址如下计算(CPU中自动完成):10H×段基址+偏移地址=物理地址 5. 画出示意图,简述保护模式下(无分页机制)存储器寻址的过程。 采用对用户程序透明的机制由选择子从描述子表中选择相应的描述子,得到欲访问段的段基址、段限等有关信息,再根据偏移地址访问目标存储单元。

第四章指令系统习题参考答案

1.ASCll码是7位,如果设计主存单元字长为32位,指令字长为12位,是否合理?为什 么? 解:指令字长设计为12位不是很合理。主存单元字长为32位,一个存储单元可存放4个ASCII 码, 余下4位可作为ASCII码的校验位(每个ASCII码带一位校验位),这样设计还是合理的。 但是,设计指令字长为12 位就不合理了,12位的指令码存放在字长32位的主存单元中,造成19位不能用而浪费了存储空间。 2.假设某计算机指令长度为20位,具有双操作数、单操作数、无操作数三类指令形式,每个操作数地址规定用6位表示。问: 若操作码字段固定为8位,现已设计出m条双操作数指令,n条无操作数指令,在此情况下,这台计算机最多可以设计出多少条单操作数指令? 解:这台计算机最多可以设计出256-m-n条单操作数指令 3.指令格式结构如下所示,试分析指令格式及寻址方式特点。 解:指令格式及寻址方式特点如下: ① 单字长二地址指令;

② 操作码OP可指定=64条指令; ③ RR型指令,两个操作数均在寄存器中,源和目标都是通用寄存器(可分别指定16个寄存器 之一); ④ 这种指令格式常用于算术逻辑类指令。 4.指令格式结构如下所示,试分析指令格式及寻址方式特点。 解:指令格式及寻址方式特点如下: ① 双字长二地址指令;

② 操作码OP可指定=64条指令; ③ RS型指令,两个操作数一个在寄存器中(16个寄存器之一),另一个在存储器中; ④ 有效地址通过变址求得:E=(变址寄存器)± D,变址寄存器可有16个。 5.指令格式结构如下所示,试分析指令格式及寻址方式特点。 解:指令格式及寻址方式特点如下: ① 单字长二地址指令;

第四章指令系统习题参考答案

1.ASCll 码是7位,如果设计主存单元字长为32 位,指令字长为12位,是否合理?为什么? 解:指令字长设计为12 位不是很合理。主存单元字长为32 位,一个存储单元可存放4 个ASCII 码,余下4 位可作为ASCII 码的校验位(每个ASCII 码带一位校验位),这样设计还是合理的。但是,设计指令字长为12 位就不合理了,12 位的指令码存放在字长32 位的主存单元中,造成19 位不能用而浪费了存储空间。 2. 假设某计算机指令长度为20 位,具有双操作数、单操作数、无操作数三类指令形式,每个操作数地址规定用6 位表示。问: 若操作码字段固定为8位,现已设计岀m条双操作数指令,n条无操作数指令,在此情况下,这 台计算机最多可以设计出多少条单操作数指令? 解:这台计算机最多可以设计岀256-m-n 条单操作数指令 3.指令格式结构如下所示,试分析指令格式及寻址方式特点。 解:指令格式及寻址方式特点如下: ①单字长二地址指令;

②操作码OP 可指定=64 条指令; ③RR 型指令,两个操作数均在寄存器中,源和目标都是通用寄存器(可分别指定16 个寄存器 之一); ④这种指令格式常用于算术逻辑类指令。 4 .指令格式结构如下所示,试分析指令格式及寻址方式特点。 解:指令格式及寻址方式特点如下: ①双字长二地址指令; ②操作码OP 可指定=64 条指令; ③RS 型指令,两个操作数一个在寄存器中(16 个寄存器之一),另一个在存储器中; ④有效地址通过变址求得:E= (变址寄存器)± D ,变址寄存器可有16 个。 5 .指令格式结构如下所示,试分析指令格式及寻址方式特点。

第四章指令系统习题参考答案

1. ASCll 码是 7 位,如果设计主存单元字长为 32 位,指令字长为 12 位,是否合理?为什 么? 解:指令字长设计为 12 位不是很合理。主存单元字长为 32 位,一个存储单元可存放 4 个 ASCII 码, 余下 4 位可作为 ASCII 码的校验位(每个但是,设计指令字长为 12 位就不合理了, ASCII 码带一位校验位),这样设计还是合理的。 12 位的指令码存放在字长 32 位的主存单元中, 造成 19 位不能用而浪费了存储空间。 2. 假设某计算机指令长度为20 位,具有双操作数、单操作数、无操作数三类指令形式,每个操 作数地址规定用 6 位表示。问: 若操作码字段固定为 8 位,现已设计出 m 条双操作数指令, n 条无操作数指令,在此情况下,这 台计算机最多可以设计出多少条单操作数指令? 解:这台计算机最多可以设计出 256-m-n 条单操作数指令 3.指令格式结构如下所示,试分析指令格式及寻址方式特点。 解:指令格式及寻址方式特点如下: ① 单字长二地址指令; ② 操作码 OP 可指定 =64 条指令; ③ RR 型指令,两个操作数均在寄存器中,源和目标都是通用寄存器(可分别指定 16 个寄 存器 之一); ④ 这种指令格式常用于算术逻辑类指令。 4.指令格式结构如下所示,试分析指令格式及寻址方式特点。 解:指令格式及寻址方式特点如下: ① 双字长二地址指令; ② 操作码 OP 可指定 =64 条指令; ③ RS 型指令,两个操作数一个在寄存器中( 16 个寄存器之一),另一个在存储器中; ④ 有效地址通过变址求得: E=(变址寄存器)± D ,变址寄存器可有 16 个。

第4章指令系统(考研组成原理)

4.1.2习题精选 一、单项选择题 1.以下有关指令系统的说法中错误的是( )。 A.指令系统是一台机器硬件能执行的指令全体 B.任何程序运行前都要先转化为机器语言程序 C.指令系统是计算机软件、硬件的界面 D.指令系统和机器语言是无关的 2.在CPU执行指令的过程中,指令的地址由( )给出。 A.程序计数器PC B.指令的地址码手段 C.操作系统D.程序员 3.下列一地址运算类指令的叙述中,正确的是( ) A.仅有一个操作数,其地址由指令的地址码提供 B.可能有一个操作数,也可能有两个操作数 C.一定有两个操作数,其中一个操作数是隐含的 D.指令的地址码字段存放的一定是操作码 4.运算型指令的寻址与转移型指令的寻址不同点在于( )。 A.前者取操作数.后者决定程序转移地址 B.后者取操作数,前者决定程序转移地址 C.前者是短指令,后者是长指令 D.前者是长指令,后者是短指令 5.程序控制类指令的功能是( )。 A.进行算术运算和逻辑运算B.进行主存与CPU之间的数据传送 C.进行CPU和I/O设备之间的数据传送D.改变程序执行的顺序 6.下列哪种指令不属于程序控制指令( )。 A.无条件转移指令B.条件转移指令 C.中断隐指令D.循环指令 7.下列哪种指令用户不准使用( )。 A.循环指令B.转换指令 C.特权指令D.条件转移指令 8.零地址的运算类指令存指令格式中不给出操作数的地址,参加的两个操作数来自( )。A.累加器和寄存器B.累加器和暂存器 C.堆栈的栈顶和次栈顶单元D.堆栈的栈顶单元和暂存器 注意:堆栈指令的访问次数,取决于采用的是软堆栈还是硬堆栈。如果是软堆栈(堆栈区由内存实现),对于双目运算,需要访问4次内存:取指、取源数1、取源数2、存结果;如果是硬堆栈(堆栈区由寄存器实现),则只需在取指令时访问一次内存。 9.以下叙述错误的是( )。 A.为了充分利用存储空问,指令的K度通常为字节的整数倍 B.单地址指令是固定长度的指令 C.单字长指令可加快取指令的速度 D.单地址指令可能有一个操作数,也可能有两个操作数 10.单地址指令中为了完成两个数的算术运算,除地址码指明一个操作数外,另一个数采用( )方式。 A.立即寻址B.隐含寻址 C.间接寻址D.基址寻址

第四章 指令系统

第四章 指令系统 一、本章主要内容 内 容 要 求 指令格式(含定长操作码指令格式和扩展操作码指令格 式) ***** 寻址方式(数据寻址和指令寻址,常见寻址方式的特点 和表示方法) ***** CISC 和RISC 的基本概念 * 二、知识结构 三、具体内容介绍 (一) 指令格式 1. 指令的基本格式:机器内部的指令格式由两大字段组成,操作码和操作数; ● 操作码规定本条指令所要进行的操作或完成的功能; ● 操作数字段给出本条指令操作的数据对象以及下一条将要执行的指令的地址,操作数字段有可能包含寻 址方式字段。 ● 指令系统中各指令的长度可以相同,也可以不同,一般取机器字长的倍数。 2. 定长操作码指令格式:所有指令的操作码位数相同。 重点掌握内容:操作码位数和指令总统所含指令条数的关系。n 位操作码,指令系统最多2n 条指令;反之,指令系统有n 条指令,至少log 2n 位操作码。 寻址方式 存储器寻址 定长操作码 不定长操作码 操作码 指 令 格 式 操作数 操作数的个数 立即数寻址 直接寻址 间接寻址 寄存器间接寻址 变址寻址 寄存器寻址 系统寻址 基址寻址 操作码 寻址1 数1 …… 寻址I 数i …… 寻址n 数n

3. 扩展操作码指令格式 在高级语言中,各语句的使用频率相差较大,比如C语言中,goto语句是限制使用的,一般程序不会使用goto语句,而几乎所有的程序都需要多次使用赋值语句。同样,指令系统中各条指令的使用频率也不一定相同,定长操作码指令给所有指令分配相同位数的操作码,使得极少使用的指令和经常使用的指令具有相同位数的操作码,对操作码的译码效率会产生影响。扩展操作码指令格式将根据指令的使用频率不同,分配不同位数的操作码,以提高指令系统的整体译码速度。比如使用频率高的指令操作码位数较短,使用频率低的指令操作码位数长一些。 二指令的寻址方式 指令的寻址方式指确定本条指令中所有操作数的地址以及下一条将要执行的指令的地址的方法。 1. 形式地址和有效地址 通常,指令中的操作数的位置有:指令中、内存中、CPU的寄存器中或者I/O接口中,所以指令中的操作数字段提供的值称为形式地址,把按照约定的寻址方式计算得到的地址称为有效地址。 2. 数据寻址及常见寻址方式 数据寻址:确定本条指令中所有操作数的地址,即寻找指令将要操作的数据的方法,常见数据寻址方式如下所示: 立即数寻址:指令的操作数字段给出的是操作数本身(操作数在指令中)。这是最简单最直接的寻址方式,执行指令时,数据随指令由内存读入CPU。 优点:简单、明确、速度快 缺点:由于操作数字段的位数是有限的,所以立即数表示数的范围也是有限的。比如每个操作数占6位,则无符号数的表数范围是0--63,有符号数的表数范围是-32---+31。 所以立即数寻址方式只适合操作数较小的情况,大一些的操作数无法应用。 直接寻址:操作数在内存,指令的操作数字段给出的是操作数的内存地址。执行指令时,指令由内存读入CPU后,再按照直接寻址字段给出操作数的内存地址读一次内存,即可将数据从内存 读入CPU。 优点:由于操作数在内存,操作数所占的内存单元数由数据的类型决定,所以数据的范围可以较大。比如操作数字段占6位,对应数据为16位,则无符号数的表数范围是 0--65535,有符号数的表数范围是-32768---+32767。 缺点:由于操作数字段的位数是有限的,所以操作数可存放的内存地址的范围也是有限的。 比如每个操作数占6位,操作数只可在0-63内存单元存放。所以直接寻址中操作数 的存放位置有限,可定义的操作数的个数就受限。 间接寻址:操作数在内存,指令的操作数字段给出的是操作数的内存地址所存放的内存单元地址,即操作数字段给出的是操作数的地址的地址。执行指令时,指令由内存读入CPU后,再按照 间接寻址字段给出操作数的内存地址的内存地址读一次内存,可得到操作数的内存地址, 按照这个地址再读一次内存,即将数据从内存读入CPU。 优点:由于操作数在内存,操作数所占的内存单元数由数据的类型决定,所以数据的内存地址以及范围可以较大。比如操作数字段占6位,内存单元均以16位为单位读写, 则对应操作数的内存地址占16位,则操作数的可存放地址范围是0—65535;对应

相关主题
相关文档
最新文档