更多“利用堆栈传递子程序参数的方法是固定的,例如寻址堆栈段数据的寄存器”相关问题
  • 第1题:

    堆栈(软堆栈)寻址的寻址方式可看作是()。

    A.寄存器寻址
    B.寄存器间接寻址
    C.基址寻址
    D.直接寻址

    答案:B
    解析:
    软堆栈是指用主存空间的一部分实现的堆栈,只可对栈顶进行存取,堆栈指针SP本质上是一个寄存器,其中存放着操作数的有效地址,故堆栈寻址可看作是寄存器间接寻址。

  • 第2题:

    当使用BP寄存器作基址寻址时,若无指定段替换,则内定在堆栈段内寻址。


    正确答案:正确

  • 第3题:

    堆栈是一种特殊的()寻址方式,它采用()原理。按构造不同,分为寄存器堆栈和()堆栈。


    正确答案:数据;先进后出;存储器

  • 第4题:

    利用堆栈传递子程序参数的方法是固定的,例如寻址堆栈段数据的寄存器是()


    正确答案:EBP

  • 第5题:

    当使用EBP寄存器作基址寻址时,默认在()段内寻址。

    • A、代码
    • B、堆栈
    • C、数据
    • D、附加

    正确答案:B

  • 第6题:

    通过堆栈传递参数,在子程序中使用EBP间址取得参数的原因是()。

    • A、EBP没有被占用
    • B、EBP间址速度较快
    • C、EBP间址默认的段是堆栈段
    • D、EBP是基址指针

    正确答案:D

  • 第7题:

    主程序与子程序之间传递参数可通过()进行。

    • A、堆栈
    • B、存储器单元
    • C、通用寄存器
    • D、指令队列
    • E、其他

    正确答案:A,B,C

  • 第8题:

    利用堆栈传递子程序参数的方法是固定的,在子程序中通常是利用什么访问栈中的参数。


    正确答案:利用寄存器EBP来访问栈中的参数

  • 第9题:

    执行CALL DWORD PTR[BX]指令的含义是()。

    • A、调用一个位于数据段的子程序,该地址由BX间接寻址得到
    • B、调用子程序的首地址保存于数据段内,该地址由BX间接寻址得到
    • C、调用一个堆栈段的子程序,该地址由BX间接寻址得到
    • D、调用一个代码段的子程序,该地址由BX间接寻址得到

    正确答案:B

  • 第10题:

    利用堆栈传递子程序参数的方法是固定的,若主程序通过堆栈向子程序传递了3个参数,则在子程序中,主程序中最后一个被压入栈中的参数可以用()的形式来访问。

    • A、[EBP-4]
    • B、[EBP-8]
    • C、[EBP+4]
    • D、[EBP+8]

    正确答案:D

  • 第11题:

    问答题
    堆栈寻址就是利用堆栈指针来寻址,简述常用堆栈寻址的4条指令。

    正确答案: PSHD 将数据存储器中的一个数压入堆栈
    PSHM 将一个MMR中的值压入堆栈
    POPD 从堆栈弹出一个数至数据存储单元
    POPM 从堆栈弹出一个数至MMR
    解析: 暂无解析

  • 第12题:

    单选题
    当使用BP寄存器作基址寻址时,若无指定段替换,则内定在()段内寻址。
    A

    程序

    B

    堆栈

    C

    数据

    D

    附加


    正确答案: D
    解析: 暂无解析

  • 第13题:

    当使用BP寄存器作基址寻址时,若无指定段替换,则内定在()段内寻址。

    • A、程序
    • B、堆栈
    • C、数据
    • D、附加

    正确答案:B

  • 第14题:

    下面哪个不是子程序的参数传递方法()。

    • A、立即数传递
    • B、寄存器传递
    • C、堆栈传递
    • D、存储器传递

    正确答案:A

  • 第15题:

    子程序的基本结构包括()等几个部分;子程序的参数传递有寄存器、堆栈、存储器等方法。


    正确答案:子程序说明、现场保护及恢复、子程序体、子程序返回

  • 第16题:

    若主程序通过堆栈向子程序传递了3个参数,子程序返回主程序时,在子程序中清除堆栈中3个参数正确的RET指令是()。

    • A、RET 3*1
    • B、RET 3*2
    • C、RET 3*3
    • D、RET 3*4

    正确答案:D

  • 第17题:

    利用堆栈传递子程序参数的方法是固定的,在子程序中,修改参数()可以改变子程序的返回地址。

    • A、[EBP-4]
    • B、[EBP-8]
    • C、[EBP+4]
    • D、[EBP+8]

    正确答案:C

  • 第18题:

    子程序采用堆栈传递参数,为什么要特别注意堆栈平衡问题?


    正确答案:子程序保持堆栈平衡,才能保证执行RET指令时当前栈顶的内容是正确的返回地址。主程序也要保持堆栈平衡,这样才能释放传递参数占用的堆栈空间,否则多次调用该子程序可能就致使堆栈溢出。

  • 第19题:

    8086CPU中ES、SS分别是()。

    • A、数据段寄存器、堆栈段寄存器
    • B、附加段寄存器、代码段寄存器
    • C、附加段寄存器、堆栈段寄存器
    • D、堆栈段寄存器、数据段寄存器

    正确答案:C

  • 第20题:

    参数传递有哪些形式?寄存器和堆栈传递各有什么优缺点?


    正确答案:每种体系结构及对应的编译器对参数传递都有自己的规定。参数传递并非总是通过堆栈进行的,参数入栈出栈是需要耗费时间的,编译器总是尽量优化利用寄存器来 传递参数,因为寄存器的访问效率要高,但当参数过多时,将放弃优化从而用栈传递参数。因此为了提高调用性能,应尽量减少参数个数,太多时可以将所有参数重 新定义为一个结构体,利用结构体指针来传递参数。在函数接口设计时应考虑硬件平台和编译器的特性,以灵活定义参数形式

  • 第21题:

    对于子程序与主程序的参数传递,当要求较快的传递速度时宜采用的方式是()。

    • A、内部存储器
    • B、外部存储器
    • C、寄存器
    • D、堆栈

    正确答案:C

  • 第22题:

    填空题
    利用堆栈传递子程序参数的方法是固定的,例如寻址堆栈段数据的寄存器是()

    正确答案: EBP
    解析: 暂无解析

  • 第23题:

    问答题
    子程序采用堆栈传递参数,为什么要特别注意堆栈平衡问题?

    正确答案: 子程序保持堆栈平衡,才能保证执行RET指令时当前栈顶的内容是正确的返回地址。主程序也要保持堆栈平衡,这样才能释放传递参数占用的堆栈空间,否则多次调用该子程序可能就致使堆栈溢出。
    解析: 暂无解析

  • 第24题:

    填空题
    堆栈是一种特殊的()寻址方式,它采用()原理。按构造不同,分为寄存器堆栈和()堆栈。

    正确答案: 数据,先进后出,存储器
    解析: 暂无解析