asm/addcarry.asm

47 lines
621 B
NASM

section .data
global print
print:
mov rsi, 0
iter:
mov al, byte [rdi + rsi]
inc rsi
cmp al, 0
jne iter
dec rsi
mov rdx, rsi
mov rsi, rdi
mov rax, 1
mov rdi, 1
syscall
mov rax, 0
ret
EXIT_SUCCESS equ 0
SYS_EXIT equ 60
var1 ddq 0x1A000000000000000
var2 ddq 0x2C000000000000000
sum ddq 0
section .text
global _start
_start:
mov rax, qword [var1]
mov rdx, qword [var1 + 8]
add rax, qword [var2]
adc rdx, qword [var2 + 8]
mov qword [sum] , rax
mov qword 8[sum], rdx
mov rax, SYS_EXIT
mov rdi, EXIT_SUCCESS
syscall