1、指 令 系 统一、 选择1、单地址指令中为了完成两个数的算术运算,除地址码指明一个操作数外,另一个采用 方式。A.立即寻址 B.隐含寻址 C.间接寻址 D.基址寻址2、程序控制类指令的功能是 。A.进行主存和 CPU 之间的数据传送B.进行 CPU 和外设之间的数据传送C.改变程序执行的顺序D.控制进、出栈操作3、零地址的运算类指令在指令格式中不给出操作数地址,参加的两个操作数来自 。A.累加器和寄存器 B.累加器和暂存器C.堆栈的栈顶和次栈顶单元 D.暂存器和堆栈的栈顶单元4、一个计算机系统采用 32 位单字长指令,地址码为 12 位,如果定义了 250 条二地址指令,那么还可以有 条单地址
2、指令。5、某指令系统指令长为 8 位,每一地址码长 3 位,用扩展操作码技术。若指令系统具有 2 条二地址指令,10 条零地址指令,则最多有 条一地址指令。6、设指令中的地址码为 A,变址寄存器为 X,基址寄存器为 B,程序计数器为 PC,则变址间接寻址方式的操作数有效地址 EA 为 。A.( X)+(A ) B.(X+B) C.(X)+A ) D.(A)+(PC)7、如果指令中的地址码为 A,变址寄存器为 X,基址寄存器为 B,则间接变址寻址方式的操作数有效地址 EA= 。A.( X+(A) ) B.(X) +(A) C.(B+X)+A D.(A+X)+B8、采用相对寻址方式的转移指令占两个
3、字节,第一字节是操作码,第二字节是相对位移量(用补码表示) 。每次CPU 从存储器取出一个字节,并自动完成( PC)+1 PC。假设执行到该转移指令时 PC 的内容为2003H,要求转移到 200AH 地址,则该转移指令第二字节的内容应为 9、假设某条指令的一个操作数采用变址寻址方式,变址寄存器的内容为 8H,指令中给出的形式地址为 1200H,地址为 1200H 的内存单元中的内容为 12FCH,地址为12FCH 的内存单元的内容为 38B8H,则该操作数的有效地址为 。10、假设某条指令的一个操作数采用一次间接寻址方式,指令中给出的地址码为 1200H,地址为 1200H 的内存单元中的内
4、容为 12FCH,地址为 12FCH 的内存单元的内容为 38B8H, ,而 38B8H 单元的内容为88F9H,则该操作数的有效地址为 。11、假设某条指令的一个操作数采用两次间接寻址方式,指令中诶出的地址码为 1200H,地址为 1200H 的内存单元中的内容为 12FCH,地址为 12FCH 的内存单元内容为38B8H,而 38B8H 单元的内容为 88F9H,则该操作数的有效地址为 。12、假设寄存器 R 中的数值为 200,在主存地址为 200 和300 的地址单元中,存放的内容分别是 300 和 400,则 方式下访问到的操作数为 200。A.直接寻址 200 B.寄存器间接寻址(
5、R) C.存储器间接寻址(200 ) D.寄存器寻址 R13、假设某条指令的一个操作数采用寄存器间接寻址方式,假定指令中给出的寄存器编号为 8,8 号寄存器的内容为1200H,地址为 120H 的内存单元中的内容为 12FCH,地址为 12FCH 的内存单元的内容为 38B8H,而 38B8H 单元的内容为 88F9H,则该操作数的有效地址为 。14、采用变址寻址可扩大寻址范围,且 15、某机器有一个标志寄存器,其中有进位/ 错位标志 CF、零标志 ZF、符号标志 SF 和溢出标志 OF,条件转移指令bgt(无符号整数比较,大于时转移)的转移条件是 A.CF+OF =1 B.SF+ZF=1 C
6、.CF+ZF=1 D.CF+SF二、综合体应用题1、假设指令字长为 16 位,操作数的地址码为 6 位,指令有零地址和一地址两种格式。1)设操作码固定,零地址指令有 512 种,则一地址指令最多有几种?2)采用扩展操作码技术,零地址指令有 512 种,则一地址指令最多有几种?2、设某指令系统的指令字是 16 位,每个地址码为 6 位。若二地址指令 15 条,一地址指令 48 条,则剩下的零地址指令最多有多少条?3、设某台计算机指令有 128 种,用两种操作码编码方案:1)用定长操作码编码方案设计器操作码编码;2)如果在 128 种指令中常用指令有 8 种,使用频率达到 80%,其余指令使用频率
7、为 20%,采用扩展操作码编码方案设计器操作码编码,并求出操作码的平均长度。操作码 指令编号 说明0000 00001 10111 7表示常见的8 种指令1000 0000 81000 0001 91000 1111 23小计 16 种1001 0000 241001 0001 251001 1111 39小计 16 种1110 0000 1041110 0000 1051110 1111 119小计 16 种1111 0000 1201111 0111 127小计 8 种4、某计算机指令系统采用 12 位定长指令码和扩展操作码技术,设每个操作数地址字段均为 3 位,若指令系统有三地址指令 5
8、 条,二地址指令 10 条,一地址指令 20 条和零地址指令 5 条。问如何用扩展操作码进行设计。5、假设机器字长为 8 位,回答以下问题:1)若有 8 条指令,采用直接寻址的单地址指令格式。设计单字指令格式,问操作数可以访问多少主存单元。2)若有 128 条指令,采用直接寻址的双地址指令格式(双操作码长度相等) 。设计双字指令格式,问操作数可以访问多少主存单元?3)若有 128 条指令,采用直接寻址或寄存器寻址,设计双字指令格式,问操作数最多可以访问多少主存单元?6、一台计算机字长为 16 位,按字节编址,其指令字长为16 位,第一个字节(高字节)放操作码(5 位)和寻址方式 m(3 位)
9、,第二个字节(低字节)是地址码。如要执行的指令放在主存 100、101 两个字节中,指令LOADmA 表示从主存单元取数,送入累加器 ACC 中。ACC、变址寄存器 IX、程序计数器 PC、均为 8 位,如图所示,求在立即寻址、直接寻址、间接寻址、相对寻址和变址寻址方式下指令完成时,ACC 的内容是什么?7、设机器字长 16 位,主存容量 128K 字节,指令长度 16位或 32 位,共 78 条指令,设计计算机指令格式,要求有直接、立即数、相对、变址 4 种寻址方式。8、指令格式结构如下(其中 X 表示寻址特征位) ,分析指令格式及寻址方式特点。9、在某 32 位计算机指令系统中,若指令均为
10、单字长指令,操作码固定为 8 位,不设置寻址方式代码,请按地址码字段给出不同的指令格式,并分析其寻址范围。 10、设某机配有基址寄存器和变址寄存器,采用一地址格式的指令系统,允许直接和间接寻址,且指令字长、机器字长和存储字长均为16 位。1)若采用单字长指令,共能完成 105 种操作,则指令可直接寻址的范围是多少?一次间址的寻址范围是多少?画出其指令格式并说明各字段的含义;2)若存储字长不变,可采用什么方法直接访问容量为 16MB 的主存?11、某计算机转移指令占 2 个字节,采用相对寻址方式,指令第 1 字节是操作码,第 2 字节是补码表示的相对位移量。每当 CPU 读取指令的同时,程序计数
11、器 PC 的内容自增,指向下一条指令。由于转移指令占 2 个字节,故当读取转移指令时, (PC ) +2PC。回答以下问题:1)设转移指令的地址为 0222H,转向地址为 0246H,试计算第 2 节内用补码表示的相对位移量。2)设转移指令的地址为 0318H,转向地址为 0300H,则指令第 2 字节内补码表示的相对位移量又是多少?12、一台处理机具有如下指令格式:X OP 源寄存器 目标寄存器 地址格式表明有 8 位通用寄存器(长度 16 位) ,X 指定寻址模式,主存实际容量为 256K 字。1)假设不用通用寄存器也能直接访问主存中的每一个单元,并假设操作码域OP=6 位,请问地址码域应
12、分配多少位?指令字长度应有多少位?2)假设 X=11 时,指定的那个通用寄存器用作基值寄存器,请提出一个硬件设计规划,使得被指定的通用寄存器能访问 1M 主存空间中的每一个单元。13、一台处理机具有的指令格式如下(主存按字编址):X OP 寄存器 地址其中,每个指令中专门分出 2 位来指明选用哪一个通用寄存器(设通用寄存器为 12 位) ;最高位用来指明它所选定的那个通已寄存器将用作变址寄存器(X=1 是) ;主存容量最大为 16384 字。1)加入不用通用寄存器也能访问主存中的每一个操作数,同时假设有用的操作码尾数至少有 7 位,试问在此情况下,地址码应分配多少位?OP 码应分配多少位?指令
13、字应有多少位?2)假设条件 X=0,且指令中也指明要使用某个通用寄存器,此种情况表明通用寄存器将用作基值寄存器,请提出一个硬件设计规划,使得被指定的通用寄存器能访问主存中的每一个位置。3)假设主存容量扩充到 32768 字,且假定硬件结构已经确定不变,问采用什么实际方法可解决这个问题?14、指令寻址方式和数据寻址方式有什么不同?程序被启动时,程序所包含的指令和数据都被装入到内存中,需要取指令和操作数,确定指令存放位置的过程称为指令寻址方式,确定操作数存放位置的过程称为数据寻址方式。指令寻址和数据寻址其复杂度是不一样的。指令寻址:指令基本上按执行顺序存放在主存中,执行过程中,指令总是从内存单元被
14、取到指令寄存器 IR 中。顺序执行时,用指令计数器 PC+1 来得到下一条指令的地址;跳转执行时,通过转移指令的寻址方式,计算出目标地址,送到 PC 中即可。数据寻址:开始时数据被存放在内存中,但在指令执行过程中,内存的数据可能被装入到 CPU 的寄存器,或者内存的堆栈区中;还有的操作数可能是 I/O 端口的内容,或本身就包含在指令中(即立即数) 。另外,运行的结果也可能要被送到 CPU的寄存器、内存单元、堆栈、IO 端口、立即数的访问。此外,操作苏可能是某一个维或二维数组的元素,因此,还要考虑如何提供相应的寻址方式,以便在内存找到数组元素。综上所述,数据的寻址比指令的寻址要复杂的多。15、变
15、址寻址和基址寻址的区别是什么?变址寻址方式和基址寻址方式的有效地址形成过程类似。区别在于:具体的应用场合不同。变址寻址面向用户,可用于访问字符串、数组、表格等成批数据或其中的某些元素。基址寻址面向系统,用于结局程序的重定位和短地址访问大空间的问题。使用方式不同,变址寻址时,指令中提供的形式地址是一个基准地址,位移量由变址寄存器给出;而基址寻址时,指令中给出的形式地址为位移量,而基址寄存器中存放的是基准地址,不过,这里所说的使用方式也不是绝对的,在实际计算机设计中,可能会有不同的应用场合和使用方式。16、某计算机指令系统若采用定长操作码,变长指令格式。回答以下问题:1)采用什么寻址方式指令码长度
16、最短?什么寻址方式指令码长度最长?2)采用什么寻址方式执行速度最快?什么寻址方式执行速度最慢?3)若指令系统采用定长指令格式,那么采用什么寻址方式执行的速度最快?17、某机主存容量为4M16 位,且存储字长等于指令字长,若该机指令系统能完成 97种操作,操作码位数固定,且具有直接。间接、变址、基址、相对、立即等六种寻址方式。1)画出一地址指令格式并指出各字段的作用;2)该指令直接寻址的最大范围;3)一次间址和多次间址的寻址范围;4)立即数的范围(十进制数表示) ;5)相对寻址的位移量(十进制数表示) ;6)上述六种寻址方式的指令哪一种执行时间最短?哪一种最长?哪一种便于用户编制处理数组问题的程序?哪一种便于程序浮动?为什么?7)如何修改指令格式,使指令的直接寻址范围可扩大到 4M?8)为使一条转移指令转移到主存的任一位置,可采取什么措施?请简要说明。