我目前正在尝试学习汇编语言.但我被卡住了.假设我有这个C代码:
for ( int i = 100; i > 0; i-- ) {
// Some code
}
Run Code Online (Sandbox Code Playgroud)
现在我想用汇编语言做同样的事情.我试过这样的:
__asm__ ("movq $100, %rax;"
".loop:"
//Some code
"decq %rax;"
"cmpq $0, (%rax);"
"jnz .loop;"
);
Run Code Online (Sandbox Code Playgroud)
编译并运行seg故障.如果我删除cmpq行,它不会出错.但当然程序不会终止.
所以基本上我的问题是我在这里做错了什么?
提前致谢.