; -- Assembly Calculator --------------------------------------- ; ; This project is a practice for my low-level programming study ; -------------------------------------------------------------- ; x86_64 linux syscalls table ; ; 0: read (needs fd, where to save and length) ; 1: write (needs fd, string and string length) ; 60: exit (needs status code) global _start section .bss fnum resb 128 snum resb 128 ; "variables" read-only section .rodata title db "Assembly Calculator v1.0 by /synt-xerror", 0xA titlel equ $ - title fir db 0xA, "Enter the first number: " firl equ $ - fir sec db "Enter the second number: " secl equ $ - sec section .text _start: ; print title mov rax, 1 mov rdi, 1 mov rsi, title mov rdx, titlel syscall ; ask to enter first number mov rax, 1 mov rdi, 1 mov rsi, fir mov rdx, firl syscall ; input to enter the first number mov rax, 0 mov rdi, 0 mov rsi, fnum mov rdx, 128 syscall ; ask to enter second number mov rax, 1 mov rdi, 1 mov rsi, sec mov rdx, secl syscall ; input to enter the second number mov rax, 0 mov rdi, 0 mov rsi, snum mov rdx, 128 syscall ; exit mov rax, 60 mov rdi, 0 syscall