有以下C语言声明语句:intarray[10]={0,1,2,3,4,5,6,7,8,9};假设编译器将array放在%ecx寄存器.怎样将array[3]移入%eax寄存器?假设%ebx中的值是3.
A: leal12(%ecx),%eax
B: leal(%ecx,%ebx,4),%eax
C: movl(%ecx,%ebx,4),%eax
D: movl8(%ecx,%ebx,2),%eax
E: leal4(%ecx,%ebx,1),%eax
A: leal12(%ecx),%eax
B: leal(%ecx,%ebx,4),%eax
C: movl(%ecx,%ebx,4),%eax
D: movl8(%ecx,%ebx,2),%eax
E: leal4(%ecx,%ebx,1),%eax
举一反三
- 假定int型数组a的首地址在ECX中,i在EDX中,则“*(a+i)送EAX”所对应的汇编指令是()。 A: movl (%ecx,%edx,4),%eax B: movl (%edx,%ecx,4),%eax C: leal (%ecx,%edx,4),%eax D: leal (%edx,%ecx,4),%eax
- 假定int型数组a的首址在ECX中,i在EDX中,则“&a[i]-a送EAX”所对应的汇编指令是( )。[/i] A: movl %ecx,%eax B: movl %edx,%eax C: leal(,%ecx,4) D: leal (,%edx,4), %eax
- 执行如下程序, MOV EAX, 0 MOV EBX, 1 MOV ECX, 10L1: ADD EAX, EBX INC EBX LOOP L1执行后,EBX=( ) A: 9 B: 10 C: 11 D: 12
- 以下指令哪条是错误的()。 A: movl8(%edx),(%ecx) B: movl$-17,%ecx C: movl$0x4050,(%eax) D: movl%eax,%ecx
- 80386~Pentium微处理器中的通用寄存器包括:EAX、EBX、ECX、EDX、ESP、 EBP、EDI和ESI。其中哪些可以作为32位、16位和8位寄存器使用______。 A: EAX、EBX、ECX、EDX、ESP、EBP B: ESP、EBP、EDI、ESI C: EAX、EBX、ECX、EDX D: 以上都不对