问答题(1997年清华大学)

设某计算机有变址寻址、间接寻址和相对寻址等寻址方式,设当前指令的地址码部分为001AH,正在执行的指令所在地址为1F05H,变址寄存器的内容为23A0H。请填充:

当执行取数指令时,如为变址寻址方式,则取出的数为:__________;如为间接寻址,取出的数为__________;当执行转移指令时,转移地址为__________。

已知存储器的部分地址及相应内容为:

地址            内容

001AH    23A0H

1F05H    2400H

1F1FH    2500H

23A0H    2600H

23BAH    1748H

答案解析

1748H,2600H,1F1FH对于变址寻址,操作数S=((Rx)+A)=(23A0H+001AH)=(23BAH)=1748H对于间接寻址,操作数S=((A))=((001AH))=(23A0H)...

查看完整答案

讨论

设字长和指令长度均为24位,若指令系统可完成108种操作,且有直接、间接(一次间址)、变址、基址、相对、立即等6种寻址方式,则在保证最大范围内直接寻址的前提下,指令中操作码占__________位,寻址特征位占__________位,可直接寻址的范围是__________,一次间址的范围是__________。

已知某机字长16位,主存按字编址,其双操作数指令格式所示。其中OP为操作码,R为通用寄存器地址,试问下列寻址方式下能访问的最大主存区为多少机器字?(1)D为立即数:__________。(2)D为主存直接地址:__________。(3)D为主存间接地址:__________。(4)D为变址的形式地址,变址寄存器为R1(字长16位):__________。

根据操作数所在的位置,指出其寻址方式:操作数在寄存器中,称为____________寻址方式;操作数地址在寄存器中,称为____________寻址方式;操作数在指令中,称为____________寻址方式;操作数地址在指令中,称为____________寻址方式。操作数的地址,为某一个寄存器中的内容与位移之和,则可以是____________、____________、____________寻址方式。

在指令中用寄存器进行寻址的有____________、____________、____________、____________、____________和等方式。

间接寻址方式需要__________次访问存储器,获取数据。

零地址运算指令的操作数来自__________。

单地址指令中实实现两个数的算术运算,除地址码指明的一个操作数外,另一个常采用__________寻址方式。

地址码的长度不仅与主存容量有关,而且与__________有关。

寄存器间接寻址时,操作数在__________中。

某机器指令长度为16位,地址码长度都为6位,包含单地址指令、双地址指令和无地址指令,试问单地址指令最多能有多少条,此时双地址指令和无地址指令各为多少条?

寻址的最终目的是__________。

某运算类型指令中有一个地址码为通用寄存器编号,对应通用寄存器中存放的是操作数或操作数地址,CPU 区分两者的依据是【 】。

某机器字长16位,主存按字节编址,转移指令采用相对寻址,由两个字节组成:第1字节为操作码字段,第2字节为相对位移量字段。假定取指令时,每取一个字节 PC 自动加 1。若某转移指令所在主存地址为2000H,相对位移量字段的内容为06H,则该转移指令成功转移后的目标地址是【 】。

偏移寻址通过将某个寄存器内容与一个形式地址相加而生成有效地址。下列寻址方式中,不属于偏移寻址的是【 】。

假设变址寄存器R的内容为1000H,指令中的形式地址为2000H;地址1000H中的内容为2000H,地址2000H中的内容为3000H,地址3000H中的内容为4000H,则变址寻址方式下访问到的操作数是【 】。

已知某机器字长16位,主存按字编址,其双操作数指令格式为:其中OP为操作码,R为通用寄存器地址,试问下列寻址方式能访问的最大主存区为多少机器字?(1)D为立即数:__________。(2)D为主存直接地址:__________。(3)D为主存间接地址:__________。(4)D为变地址形式地址,变址寄存器为R1(字长16位):__________。

在指令中,操作数地址在某寄存器中的寻址方式称为【 】寻址。

在汇编指令中,操作数在某寄存器中的寻址方式称为【 】寻址。

指令INCB-(R5)是一自减型寻址方式字节操作数指令,其寻址过程是先R5←(R5)-1,然后计算EA=(R5),指令操作是加1操作。若指令执行前,16位寄存器R5的内容为(R5)=010046,内存以下字地址单元的内容(010044)=100000,(010046)=010000。指令执行后,寄存器和内存单元的内容有什么变化。(题中所有数据都是采用八进制数据。)

对于自底向上生成的堆栈,若栈指针指向栈顶满单元,进栈时应做__________。

零地址的运算类指令在指令格式中不给出操作数地址,参加运算的两个操作数来自【 】。

假定指令系统有m条指令,指令操作码的位数为N位,则N至少应等于__________。

某计算机的字长16位,设有单地址指令和双地址指令两类,若每个地址字段均为6位,且双地址指令有X类,问单地址指令最多可以有多少类?

某指令系统字长16位,每个操作数的地址码长6位。设系统有无操作数、单操作数和双操作数3类。若双操作数指令有M条,无操作数指令有N条,问单操作数指令最多可能有多少条?

在指令格式中,采用扩展操作码设计方案的目的是【 】。

某计算机的指令系统字长为16位,采用扩展操作码,操作数地址需要4位。该指令系统已有三地址指令M条,二地址指令N条,没有零地址指令,问系统最多还有多少条一地址指令?

某机主存容量为4Mx16,且存储字长等于指令字长,若该机指令系统可完成108种操作,操作码位数固定,且具有直接、间接、变址、基址、相对、立即等6种寻址方式,试回答:(1)画出一地址指令格式,并指出各字段的作用;(2)该指令直接寻址的最大范围;(3)一次间址和多次间址的寻址范围;(4)立即数的范围(十进制数表示):(5)相对寻址的位移量(十进制数表示);(6)上述6种寻址方式的指令哪一种执行时间最短?哪一种最长?为什么?哪一种便子程序浮动?哪一种最适合处理数组问题?

某机器有一个标志寄存器,其中有进位/借位标志CF、零标志ZF、符号标志SF和溢出标志OF,条件转移指令bgt(无符号整数比较大于时转移)的转移条件是【 】。

按照【 】,可将计算机分为RSC(精简指令集计算机)和CISC(复杂指令集计算机)。

在指令格式中,采用扩展操作码设计方案的目地是【 】。