【发布时间】:2010-09-02 12:25:45
【问题描述】:
Assembly 练习中的代码片段(GNU Assembler,Linux 32 位)
。数据 更多的: .asciz "更多\n" 。文本 ... movl $more, %eax # 这是编译的 cmova more, %eax # 这是编译的 cmova $more, %eax # 未编译错误:“cmova”的后缀或操作数无效
我可以使用 movl 将字符串地址放入 %eax,但是 cmova 没有被编译。我需要源操作数为 $more 而不是更多,才能将其用于打印。最后,这个值进入 Linux 系统调用 4(写入)的 %ecx 寄存器。
【问题讨论】: