我想实现这些功能:
a=300;
b=3000;
b=b/a;
print b;
我写这些汇编代码:
#include <stdio.h>
#include <lib.s>
.bss
a: .long 128
b: .long 128
c: .double 64
zzz: .long 128
.data
FINT: .string "%d\n"
.text
.global main
main:
push $300
pop a
push $3000
pop b
push b
push a
pop %rbx
pop %rax
cqo
idivq %rbx
push %rax
pop b
push b
pop %rsi
mov $FINT, %rdi
mov $0, %rax
call printf
call exit
但它输出0,我无法理解这一点。它应该是10。 任何帮助都很感激!谢谢!