min[u](),max[u](),islower(),isupper(),print(),puts(),strlen(),strcpy(),strcat()
This commit is contained in:
96
core.asm
Normal file
96
core.asm
Normal file
@ -0,0 +1,96 @@
|
||||
section .text
|
||||
global min
|
||||
global minu
|
||||
global max
|
||||
global maxu
|
||||
global islower
|
||||
global isupper
|
||||
|
||||
;----- min(int a, int b) -----;
|
||||
; return value: lowest value
|
||||
min:
|
||||
push rbp
|
||||
mov rbp, rsp
|
||||
|
||||
mov rax, rdi
|
||||
cmp rdi, rsi
|
||||
jl .quit
|
||||
mov rax, rsi
|
||||
|
||||
.quit:
|
||||
leave
|
||||
ret
|
||||
;----- minu(unsigned int a, unsigned int b) -----;
|
||||
; return value: lowest value
|
||||
minu:
|
||||
push rbp
|
||||
mov rbp, rsp
|
||||
|
||||
mov rax, rdi
|
||||
cmp rdi, rsi
|
||||
jb .quit
|
||||
mov rax, rsi
|
||||
|
||||
.quit:
|
||||
leave
|
||||
ret
|
||||
;----- max(int a, int b) -----;
|
||||
; return value: highest value
|
||||
max:
|
||||
push rbp
|
||||
mov rbp, rsp
|
||||
|
||||
mov rax, rdi
|
||||
cmp rdi, rsi
|
||||
jg .quit
|
||||
mov rax, rsi
|
||||
|
||||
.quit:
|
||||
leave
|
||||
ret
|
||||
;----- maxu(unsigned int a, unsigned int b) -----;
|
||||
; return value: highest value
|
||||
maxu:
|
||||
push rbp
|
||||
mov rbp, rsp
|
||||
|
||||
mov rax, rdi
|
||||
cmp rdi, rsi
|
||||
ja .quit
|
||||
mov rax, rsi
|
||||
|
||||
.quit:
|
||||
leave
|
||||
ret
|
||||
;----- islower(char* c) -----;
|
||||
; return value: 1 (character is in range of 'a'-'z') or 0 (character is nog in range of 'a'-'z')
|
||||
islower:
|
||||
push rbp
|
||||
mov rbp, rsp
|
||||
|
||||
xor rax, rax
|
||||
cmp byte [rdi], 'a'
|
||||
jb .quit
|
||||
cmp byte [rdi], 'z'
|
||||
ja .quit
|
||||
mov rax, 1
|
||||
|
||||
.quit:
|
||||
leave
|
||||
ret
|
||||
;----- isupper(char* c) -----;
|
||||
; return value: 1 (character is in range of 'A'-'Z') or 0 (character is not in range of 'A'-'Z')
|
||||
isupper:
|
||||
push rbp
|
||||
mov rbp, rsp
|
||||
|
||||
xor rax, rax
|
||||
cmp byte [rdi], 'A'
|
||||
jb .quit
|
||||
cmp byte [rdi], 'Z'
|
||||
ja .quit
|
||||
mov rax, 1
|
||||
|
||||
.quit:
|
||||
leave
|
||||
ret
|
Reference in New Issue
Block a user