以下关于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
IA-32中指令“movl 8(%edx,%esi,4),%edx”的功能是()。
A. M[R[edx]+R[esi]*4+8]<-R[edx]
B. M[R[esi]+R[edx]*4+8]<-R[edx]
C. R[edx]<-M[R[edx]+R[esi]*4+8]
D. R[edx]<-M[R[esi]+R[edx]*4+8]