47 lines
621 B
NASM
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
|