假设R[eax]=FF000008H,R[ecx]=00001000H,执行指令“testl %eax,%ecx”后,寄存器的内容和标志变为()。
A. R[ecx]=00000000H,OF=CF=SF=0,ZF=1
B. R[eax]=00000000H,OF=CF=SF=0,ZF=1
C. R[ecx]=00000000H,标志不变
D. 寄存器内容不变,OF=CF=SF=0,ZF=1
查看答案
假设short型变量x被分配在寄存器AX中,若R[ax]=FF70H,则执行指令“salw $2 %ax”后,变量x的机器数和真值分别是()。
A. FDC0H,-576
B. FFDCH,-36
C. FDC3H,-573
D. 3FDCH,16348
程序P中有两个变量i和j,被分别分配在寄存器EAX和EDX中,P中语句“If (i
A. 8048461
B. 804846e
C. 8048479
D. 804847b
假设P为调用过程,Q为被调用过程,程序在IA-32处理器上执行,以下有关过程调用的叙述中,错误的是()。
A. C语言程序中的函数调用就是过程调用
B. 从P传到Q的实参无需重新分配空间存放
C. 从P跳转到Q执行应使用CALL指令
D. 从Q跳回到P执行应使用RET指令
假设P为调用过程,Q为被调用过程,程序在IA-32处理器上执行,以下是C语言程序中过程调用所涉及的操作:①过程Q保存P的现场,并为非静态局部变量分配空间②过程P将实参存放到Q能访问到的地方③过程P将返回地址存放到特定处,并跳转到Q执行④过程Q取出返回地址,并跳转到过程P执行⑤过程Q恢复P的现场,并释放局部变量所占空间⑥执行过程Q的函数体
A. ②→③→④→①→⑤→⑥
B. ②→③→①→④→⑥→⑤
C. ②→③→①→⑥→⑤→④
D. ②→③→①→⑤→⑥→④