以下关于IA-32的定点寄存器组织的叙述中,错误的是()。
A. 每个通用寄存器都可作为32位、16位或8位寄存器使用
B. 寄存器EAX/AX/AL称为累加器,ECX/CX/CL称为计数器
C. 寄存器ESP/SP称为栈指针寄存器,EBP/BP称为基址寄存器
D. EIP/IP为指令指针寄存器,即PC;EFLAGS/FLAGS为标志寄存器
查看答案
以下关于IA-32指令寻址方式中,叙述错误的是()。
A. 操作数可以是指令中的立即数,也可以是通用寄存器或存储单元中的内容
B. 对于寄存器操作数,必须在指令中给出通用寄存器的3位编号(机器指令)
C. 存储器操作数中最复杂的寻址方式是“基址加比例变址加位移”
D. 相对寻址的目标地址为“PC内容加位移”,PC内容指当前正在执行指令的地址
以下关于IA-32中整数运算指令所支持的操作数的叙述中,错误的是()。
A. 对于加减运算指令,操作数不区分无符号整数还是带符号整数
B. 对于乘除运算指令,操作数一定区分无符号整数还是带符号整数
C. 除了乘法指令外,其他运算指令的源操作数和目的操所数的位数相等
D. 参加运算的操作数可以是一个字节(8b)、一个字(16b)或双字(32b)
某C语言程序中对数组变量b的声明为“int b[10][5];”,有for语句如下:for(i=0;i<10;i++)for(j=0;j<5;j++)sum+=b[i][j];假设执行到sum+=b[i][j]时,sum的值在EAX中,b[i][0]所在的地址在EDX中,j在ESI中,则sum+=b[i][j]所对应的指令(AT&T格式)可以是()。
A. addl 0(%edx,%esi,4),%eax
B. addl 0(%esi,%edx,4),%eax
C. addl 0(%edx,%esi,2),%eax
D. addl 0(%esi,%edx,2),%eax
IA-32中指令“popl %ebp”的功能是()。
A. R[esp]<- R[esp]-4, M[R[esp]]<-R[ebp]
B. R[esp]<- R[esp]+4, M[R[esp]]<-R[ebp]
C. M[R[esp]]<-R[ebp],R[esp]<- R[esp]-4
D. M[R[esp]]<-R[ebp],R[esp]<- R[esp]+4