嵌入式系统

下列选项中哪个叙说是错误的()A、满递增堆栈表示堆栈指针指向最后压入的数据,且由低地址向高地址生成B、只有跳转指令可以根据CPSR中条件码的状态有条件的执行C、指令ADDRO,R1,R2的执行效果是将寄存器R1和R2的内容相加,其结果存放在寄存器R0中D、直接向寄存器R15写入跳转地址值,可以实现程序的跳转

题目

下列选项中哪个叙说是错误的()

  • A、满递增堆栈表示堆栈指针指向最后压入的数据,且由低地址向高地址生成
  • B、只有跳转指令可以根据CPSR中条件码的状态有条件的执行
  • C、指令ADDRO,R1,R2的执行效果是将寄存器R1和R2的内容相加,其结果存放在寄存器R0中
  • D、直接向寄存器R15写入跳转地址值,可以实现程序的跳转
如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

操作数存在堆栈中,指令隐含约定由堆栈指针SP寄存器提供堆栈栈顶单元地址,进行读出或写入的是()。

A.寄存器寻址

B.主存寻址

C.堆栈寻址


正确答案:C

第2题:

在计算机执行的各种指令中,有些指令的操作数部分是地址。若想变址的话,则在指令执行前,应先将操作数部分的地址与指定的(19)中的地址值相加,从而求出有效地址。

A.基寄存器

B.变址寄存器

C.存储寄存器

D.指令地址寄存器


正确答案:B
解析:当指令的操作数地址要变址时,其有效地址=指令的操作数部分地址+变址寄存器中的地址。

第3题:

●当程序转向执行子程序(或过程)前,需将 (3) 存入栈中。其存入的位置由 (4) 决定。

(3) A.子程序入口地址

B.子程序结束地址

C.该子程序前一条指令地址

D.该子程序后一条指令地址

(4) A.当时指令寄存器中的值

B.自动设定的栈地址寄存器中的值

C.程序设定的栈地址寄存器中的值

D.当时变址寄存器中的值


正确答案:D,B
【解析】堆栈是在主存中开辟的一个数据存储区,用来存放需要暂时保存的数据。当程序转向执行子程序时,为了保证程序执行完子程序后,能准确返回主程序继续执行,必须先将该子程序后的一条指令地址以及其他相关信息保存起来。而存放的空间就是所谓的堆栈区,具体的地址是由程序设定的栈地址决定。

第4题:

ARM汇编程序中实现程序跳转的方式有( )

A.使用跳转指令

B.使用goto语句

C.向pc寄存器赋值

D.使用jump指令


正确答案:A

第5题:

在寄存器间接寻址中,若指令指定的寄存器是BX,SI,或者DI,则默认操作数存放在(46)段中。这时要用寄存器(47)的内容作为段地址。对于指令MOV BX,[SI]。假设数据段寄存器DS=1000H,代码段寄存器CS=4000H,堆栈段寄存器SS=7000H,SI=2000H,则操作数的物理地址为(48)。

A.数据

B.代码

C.堆栈

D.代码和堆栈


正确答案:A
解析:本题主要考查计算机硬件基础知识。在寄存器间接寻址中,若指令指定的寄存器是BX,SI,或者DI,则默认操作数存放于数据段中。这时,寄存器DS中的内容为段地址。对于指令MOVBX,SI而言,操作数的物理地址为基地址乘以16,再加上偏移地址,而乘以16相当于左移4个二进制位,所以操作数地址为12000H。答案为A。

第6题:

下列哪条指令把寄存器R1、R2的值相加后存到R0中:()

A ANDR0,R1,R2

B SUBR0,R1,R2

CADDR0,R1,R2

D ANDR1,R2,R0


参考答案C

第7题:

已知R1=0x12345678,R2=0x80000101,则执行指令AND R0,R1,R2后,寄存器R0=___【13】____,R2=___【14】____。


正确答案:0 0x80000101

第8题:

从基本的CPU工作原理来看,若CPU执行MOV R1,R0指令(即将寄存器R0的内容传送到寄存器R1中),则CPU首先要完成的操作是______(其中PC为程序计数器;M为主存储器;DR为数据寄存器;IR为指令寄存器;AR为地址寄存器)。

A.(R0)→R1

B.PC→AR

C.M→DR

D.DR→IR


正确答案:B
解析:CPU执行MOVRI,RO指令,CPU首先要完成的操作是从内存中读取该指令的指令操作码。取该指令的指令操作码,首先要做的就是将程序计数器的内容送到地址寄存器,即PC→AR。

第9题:

已知R1=0xFF115577,R2=0x11000011,则执行指令于ORR R0,R1,R2后,寄存器R0=___【11】____,R2=___【12】____。


正确答案:0xFF115577 0x11000011

第10题:

堆栈操作中都是对栈顶单元进行的,访问堆栈的地址是由堆栈指针SP指定的。在操作过程中,指针 SP不需要用户指定。在下推式堆栈中,写入堆栈的单元地址是(36)。

A.PC

B.指令寄存器

C.(SP)-1

D.(SP)+1


正确答案:D
解析:堆栈是一个专门的存储区,其存取数据的顺序是先进后出,每次操作都是对栈顶单元进行的。栈顶单元的地址,每次进出栈时都要自动修改。栈顶单元的地址放在堆栈指针SP中,写入堆栈时,栈顶单元已经存有数据,再写入新数据时,不能写入原来的SP中,必须写到栈顶单元的下一单元中,在堆栈地址是向下生长的下推式堆栈中,写入数据的堆栈单元的堆栈单元地址是(SP)+1,即进栈操作把SP加1后再把进栈的数据写入新的栈顶单元(SP)/1中。出栈时,把栈顶单元内容弹出,然后(SP)-1。指针SP的修改是指令自动完成的,不需要用户参与。

更多相关问题