min[u](),max[u](),islower(),isupper(),print(),puts(),strlen(),strcpy(),strcat()
This commit is contained in:
46
console.asm
Normal file
46
console.asm
Normal file
@ -0,0 +1,46 @@
|
||||
extern strlen
|
||||
|
||||
section .rodata
|
||||
NL db 10
|
||||
section .text
|
||||
global print
|
||||
global puts
|
||||
|
||||
;----- print (char* string) -----;
|
||||
; return value: N/A
|
||||
print:
|
||||
push rbp
|
||||
mov rbp, rsp
|
||||
|
||||
push rdi
|
||||
sub rsp, 8
|
||||
call strlen
|
||||
mov rdx, rax
|
||||
add rsp, 8
|
||||
pop rdi
|
||||
mov rax, 1
|
||||
mov rsi, rdi
|
||||
mov rdi, 1
|
||||
syscall
|
||||
|
||||
leave
|
||||
ret
|
||||
;----- puts (char* string) -----;
|
||||
; return value: N/A
|
||||
puts:
|
||||
push rbp
|
||||
mov rbp, rsp
|
||||
|
||||
push rdi
|
||||
sub rsp, 8
|
||||
call print
|
||||
add rsp, 8
|
||||
pop rdi
|
||||
mov rax, 1
|
||||
mov rdi, 1
|
||||
mov rsi, NL
|
||||
mov rdx, 1
|
||||
syscall
|
||||
|
||||
leave
|
||||
ret
|
Reference in New Issue
Block a user