单项选择(2015年秋程序员软考)

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

A、直接

B、变址

C、寄存器

D、寄存器间接

答案解析

D

【解析】

指令是指挥计算机完成各种操作的基本命令。一般来说,一条指令需包括两个基本组成部分:操作码和地址码。操作码说明指令的功能及操作性质。地址码用来指出指令的操作对象,它指出操作数或操作数的地址及指令执行结果的地址。

寻址方式就是如何对指令中的地址字段进行解释,以获得操作数的方法或获得程序转移地址的方法。

立即寻址是指操作数就包含在指令中。

直接寻址是指操作数存放在内存单元中,指令中直接给出操作数所在存储单元的地址。

寄存器寻址是指操作数存放在某一寄存器中,指令中给出存放操作数的寄存器名。

寄存器间接寻址是指操作数存放在内存单元中,操作数所在存储单元的地址在某个寄存器中。

变址寻址是指操作数地址等于变址寄存器的内容加偏移量。

讨论

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

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

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

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

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

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

设某计算机有变址寻址、间接寻址和相对寻址等寻址方式,设当前指令的地址码部分为001AH,正在执行的指令所在地址为1F05H,变址寄存器的内容为23A0H。请填充:当执行取数指令时,如为变址寻址方式,则取出的数为:__________;如为间接寻址,取出的数为__________;当执行转移指令时,转移地址为__________。已知存储器的部分地址及相应内容为:地址 内容001AH 23A0H1F05H 2400H1F1FH 2500H23A0H 2600H23BAH 1748H

某计算机的字长为16位,存储器按字编址,访内存指令格式如图所示。其中,OP是操作码,M是寻址方式,A为形式地址。设PC和Rx分别为程序计数器和变址寄存器,字长16位,问:(1)该格式能定义多少种指令?(2)各种寻址方式的寻址范围为多少字?(3)写出各种寻址方式的有效地址EA的计算式。寻址模式定义如下:M值 寻址方式0 立即寻址1 直接寻址2 间接寻址3 变址寻址4 相对寻址

某机字长16位,主存容量为64K,指令为单字长指令,有50种操作码,采用页面、间接和直接寻址方式。(1)指令格式如何安排?(2)存储器能划分为多少页面?每页多少单元?(3)能否再增加其它寻址方式?

以下【 】寻址方式用来支持浮动程序设计。

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

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

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

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

设相对寻址的转移指令占两个字节,第一个字节是操作码,第二个字节是相对位移量(用补码表示)。每当CPU从存储器取出第一个字节时,即自动完成(PC)+1→PC。设当前PC的内容为2003H,要求转移到200AH地址,则该转移指令第字节的内容应为【 】。若PC的内容为2008H,要求转移到2001H,则该指令第二字节的内容应为【 】。

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

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

何谓变址寻址、基址寻址?两者有何区别?

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

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