我需要添加两个大数字的帮助(例如,大我的意思是不适合eax
)。我知道我必须使用adc
,但它并没有给我带来好的结果。
SYSCALL = 0X80
STDIN = 0
STDOUT = 1
SYSREAD = 3
SYSWRITE = 4
SYSEXIT = 1
.section .data
a1: .long 4000000000
a2: .long 4000000000
equals: .long 0
.section .text
.globl _start
_start:
xor %edx, %edx
movl a1, %eax
movl a2, %ebx
adc a2, %eax
movl %eax, equals
mov $SYSEXIT, %eax
int $SYSCALL
我在 gdb 下用 print equals 检查结果。