单选题在32位处理器上,假设栈顶指针寄存器的当前值为0x00FFFFE8,那么在执行完指令“pusheax”(eax为32位寄存器)后,栈指针的当前值应为()A 0x00FFFFE4B 0x00FFFFE6C 0x00FFFFEAD 0x00FFFFEC

题目
单选题
在32位处理器上,假设栈顶指针寄存器的当前值为0x00FFFFE8,那么在执行完指令“pusheax”(eax为32位寄存器)后,栈指针的当前值应为()
A

0x00FFFFE4

B

0x00FFFFE6

C

0x00FFFFEA

D

0x00FFFFEC

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

若栈顶指针SP的值为100H,当执行完指令CALL AX后,SP的值为?()

A、00FCH

B、0098H

C、00FEH

D、0102H


参考答案C

第2题:

寄存器R15用作()。

A.栈指针寄存器

B.程序计数器

C.当前程序状态寄存器

D.基地址寄存器


参考答案:B

第3题:

在32位处理器上,假设栈顶指针寄存器的当前值为0x00FFFFE8,那么在执行完指令“push eax”(eax为32位寄存器)后,栈指针的当前值应为(28)。

A.0x00FFFFE4

B.0x00FFFFE6

C.0x00FFFFEA

D.0x00FFFFEC


正确答案:A
解析:栈是一种先进后出的数据结构,栈有一个存储区和一个栈顶指针。栈顶指针指向堆栈中第一个可用的数据项(被称为栈顶)。用户可以在栈顶上方向栈中加入数据,这个操作被称为压栈(push)。压栈以后,栈顶自动变成新加入数据项的位置,栈顶指针也随之修改。用户也可以从堆栈中取走栈顶,称为弹出栈(pop)。弹出栈后,栈顶下的一个元素变成栈顶,栈顶指针随之修改。本试题中,由于eax是一个32位寄存器,其值将占用4字节存储空间,因此,执行“push eax”指令后,栈顶指针寄存器的当前值将修改为(0x00FFFFE8-4)=0x00FFFFE4。

第4题:

设有一个非空的链栈,栈顶指针为hs,要进行出栈操作,用x保存出栈结点的值,栈结点的指针域为next,则可执行x=hs->data;()。
hs=hs->next;

第5题:

从一个栈顶指针为h的链栈中删除一个结点时,用x保存被删结点的值,可执行x=h->data;和()。(结点的指针域为next)
h=h->next;

第6题:

在32位处理器上,假设栈顶指针寄存器的当前值为0x00FFFFE8,那么在执行完指令“pusheax”(eax为32位寄存器)后,栈指针的当前值应为(57)。

A.0x00FFFFE4

B.0x00FFFFE6

C.0x00FFFFEA

D.0x00FFFFEC,


正确答案:A
解析:当执行入栈操作后,栈指针会往下移动4个字节,因此其值变为0x00FFFFE4。

第7题:

在32位处理器上,假设栈顶指针寄存器的当前值为0×00FFFFE8,那么在执行完指令“pusheax”(eax为32位寄存器)后,栈指针的当前值为()。

A.0×00FFFFE4
B.0×00FFFFE6
C.0×00FFFFEA
D.0×00FFFFEC

答案:A
解析:
“pusheax”是一条进栈指令,进栈时要先修改栈指针,32位数据占4个字节,存储器按字节编址,所以栈指针-4。

第8题:

● 在 32 位处理器上,假设栈顶指针寄存器的当前值为0x00FFFFE8,那么在执行完 指令 “push eax”(eax 为32 位寄存器)后,栈指针的当前值应为 (57) 。

A. 0x00FFFFE4

B. 0x00FFFFE6

C. 0x00FFFFEA

D. 0x00FFFFEC


正确答案:A

第9题:

设有一个非空的链栈,栈顶指针为hs,要进行出栈操作,用x保存出栈结点的值,找结点的指针域为next,则可执行x=hs一>data;()。
hs===hs一>next;

第10题:

假设寄存器%eax的值为x,%ecx的值为y,则指明下面汇编指令存储在寄存器%edx中的值() Leal(%eax,%ecx),%edx

  • A、x
  • B、y
  • C、x+y
  • D、x–y

正确答案:C

更多相关问题