以下指令哪条是错误的()。 A: movl8(%edx),(%ecx) B: movl$-17,%ecx C: movl$0x4050,(%eax) D: movl%eax,%ecx
以下指令哪条是错误的()。 A: movl8(%edx),(%ecx) B: movl$-17,%ecx C: movl$0x4050,(%eax) D: movl%eax,%ecx
movl 0xc(%ebp),%eax这条指令的作用等价于eax=*(int32_t*)(ebp+12)。
movl 0xc(%ebp),%eax这条指令的作用等价于eax=*(int32_t*)(ebp+12)。
第2题中的caller函数对应的机器级代码如下:[br][/br] 1 pushl %ebp 2 movl %esp, %ebp 3 subl $24, %esp 4 movl $100, -12(%ebp) 5 movl $200, -8(%ebp) 6 movl -8(%ebp), %eax 7 movl %eax, 4(%esp) 8 movl -12(%ebp), %eax 9 movl %eax, (%esp) 10 call add 11 movl %eax, -4(%ebp) 12 movl -4(%ebp), %eax 13 leave 14 ret 假定caller的调用过程为P,对于上述指令序列,以下叙述中错误的是( )。 A: 第2条指令使BEP内容指向caller栈帧的底部 B: 从上述指令序列可看出,caller函数没有使用被调用者保存寄存器 C: 第1条指令将过程P的EBP内容压入caller栈帧 D: 第3条指令将栈指针ESP向高地址方向移动,以生成当前栈帧
第2题中的caller函数对应的机器级代码如下:[br][/br] 1 pushl %ebp 2 movl %esp, %ebp 3 subl $24, %esp 4 movl $100, -12(%ebp) 5 movl $200, -8(%ebp) 6 movl -8(%ebp), %eax 7 movl %eax, 4(%esp) 8 movl -12(%ebp), %eax 9 movl %eax, (%esp) 10 call add 11 movl %eax, -4(%ebp) 12 movl -4(%ebp), %eax 13 leave 14 ret 假定caller的调用过程为P,对于上述指令序列,以下叙述中错误的是( )。 A: 第2条指令使BEP内容指向caller栈帧的底部 B: 从上述指令序列可看出,caller函数没有使用被调用者保存寄存器 C: 第1条指令将过程P的EBP内容压入caller栈帧 D: 第3条指令将栈指针ESP向高地址方向移动,以生成当前栈帧
假定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
假定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
假定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)送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
在第3题中的caller函数对应的机器级代码表示如下: 1 pushl %ebp 2 movl %esp, %ebp[br][/br] 3 subl $24, %esp[br][/br] 4 movl $100, -12(%ebp)[br][/br] 5 movl $200, -8(%ebp)[br][/br] 6 movl -8(%ebp), %eax[br][/br] 7 movl %eax, 4(esp)[br][/br] 8 movl -12(%ebp), %eax[br][/br] 9 movl %eax, (%esp)[br][/br] 10 call add[br][/br] 11 movl %eax, -4(%ebp)[br][/br] 12 movl -4(%ebp), %eax[br][/br] 13 leave[br][/br] 14 ret 假定caller的调用过程是P,对于上述指令序列,以下叙述中错误的是()。 A: 第1条指令将过程P的EBP内容压入caller栈帧 B: 第2条指令使EBP内容指向caller栈帧的底部 C: 第3条指令将栈指针ESP向高地址方向移动,以生成当前栈帧 D: 从上述指令序列可以看出,caller函数没有使用被调用者保持寄存器
在第3题中的caller函数对应的机器级代码表示如下: 1 pushl %ebp 2 movl %esp, %ebp[br][/br] 3 subl $24, %esp[br][/br] 4 movl $100, -12(%ebp)[br][/br] 5 movl $200, -8(%ebp)[br][/br] 6 movl -8(%ebp), %eax[br][/br] 7 movl %eax, 4(esp)[br][/br] 8 movl -12(%ebp), %eax[br][/br] 9 movl %eax, (%esp)[br][/br] 10 call add[br][/br] 11 movl %eax, -4(%ebp)[br][/br] 12 movl -4(%ebp), %eax[br][/br] 13 leave[br][/br] 14 ret 假定caller的调用过程是P,对于上述指令序列,以下叙述中错误的是()。 A: 第1条指令将过程P的EBP内容压入caller栈帧 B: 第2条指令使EBP内容指向caller栈帧的底部 C: 第3条指令将栈指针ESP向高地址方向移动,以生成当前栈帧 D: 从上述指令序列可以看出,caller函数没有使用被调用者保持寄存器
寻址方式是直接寻址的指令是() A: movl %eax,%edx B: movw $0x123,%ax C: movb 0x12,%ah D: movl (%ebx),%edx
寻址方式是直接寻址的指令是() A: movl %eax,%edx B: movw $0x123,%ax C: movb 0x12,%ah D: movl (%ebx),%edx
指令<br/>subl $4,%esp<br/>movl %eax,(%esp)<br/>可以用一下列哪一个指令表示?() A: . pushl %eax; B: . pop %eax; C: . push %esp; D: . pop %esp
指令<br/>subl $4,%esp<br/>movl %eax,(%esp)<br/>可以用一下列哪一个指令表示?() A: . pushl %eax; B: . pop %eax; C: . push %esp; D: . pop %esp
指令<br/>movl (%esp),%eax<br/>addl $4,%esp<br/>可以用一下列哪一个指令表示?() A: . pushl %eax; B: . popl %eax; C: . pushl %esp; D: . popl %esp
指令<br/>movl (%esp),%eax<br/>addl $4,%esp<br/>可以用一下列哪一个指令表示?() A: . pushl %eax; B: . popl %eax; C: . pushl %esp; D: . popl %esp
下面哪条指令的寻址方式是寄存器寻址方式? A: . movb 0x12, %ah B: . movw $0x123, %ax C: . movl (%ebx), %edx D: . movl %eax, %edx
下面哪条指令的寻址方式是寄存器寻址方式? A: . movb 0x12, %ah B: . movw $0x123, %ax C: . movl (%ebx), %edx D: . movl %eax, %edx
