first commit

This commit is contained in:
synt-xerror
2026-01-23 19:50:32 -03:00
commit 2c98e72c86
3 changed files with 73 additions and 0 deletions

70
calculator.s Normal file
View File

@@ -0,0 +1,70 @@
; -- 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