• 2022-10-30
    假设P为调用过程,Q为被调用过程,程序在IA-32处理器上执行,以下有关过程调用的叙述中,错误的是()
    A: C语言程序中的函数调用就是过程调用
    B: 从P传到Q的实参无需重新分配存储空间
    C: 从P跳转到Q执行应使用CALL指令
    D: 返回地址是CALL指令下一条指令的地址,被保存在栈中
  • B

    内容

    • 0

      执行返回指令时,从堆栈中弹出的是 A: 调用指令的首地址 B: 调用指令的末地址 C: 调用指令下一条指令的首地址 D: 返回指令的末地址

    • 1

      ‌C语言使用函数名(含参数)就是调用函数,IA-32处理器需要使用“CALL”调用指令实现调用。‍

    • 2

      以下是关于IA-32/Linux中call指令和int$0x80指令比较的叙述,其中错误的是()。 A: call指令为同一特权级过程调用,而int$0x80指令实现对内核服务例程的调用 B: call指令和int$0x80指令执行过程中,都会将下一条指令的地址保存在栈中 C: call指令和int$0x80指令都有对应返回指令,前者是ret指令,后者是iret指令 D: call指令和int$0x80指令执行前,都会由mov指令将参数值传送到栈中保存

    • 3

      中国大学MOOC: IA-32处理器使用CALL指令调用子程序时,返回地址被保存到______。

    • 4

      C语言使用函数名(含参数)就是调用函数,IA-32处理器需要使用“CALL”调用指令实现调用。 A: 正确 B: 错误