feat: find_smallest
This commit is contained in:
parent
f79c6ad58b
commit
95a23482a5
1 changed files with 94 additions and 0 deletions
94
007-find_smallest.s
Normal file
94
007-find_smallest.s
Normal file
|
@ -0,0 +1,94 @@
|
|||
.global _start
|
||||
.intel_syntax noprefix
|
||||
.data
|
||||
count:
|
||||
.byte 0x00
|
||||
input:
|
||||
.byte 0x00
|
||||
small:
|
||||
.byte 0xFF
|
||||
new_line_collector:
|
||||
.byte 0x00
|
||||
.text
|
||||
_start:
|
||||
//hello World
|
||||
lea rsi, [hello_world]
|
||||
mov rdx, 13
|
||||
call printf
|
||||
|
||||
lea rsi, [text_how_many_input]
|
||||
mov rdx, 40
|
||||
call printf
|
||||
|
||||
lea rsi, [count]
|
||||
mov rdx, 1
|
||||
call scanf
|
||||
|
||||
loop:
|
||||
mov al, '0'
|
||||
cmp al, [count]
|
||||
jl get_input
|
||||
jae conclusion
|
||||
|
||||
get_input:
|
||||
mov al, count
|
||||
dec al
|
||||
mov count, al
|
||||
lea rsi, [text_give_input]
|
||||
mov rdx, 14
|
||||
call printf
|
||||
lea rsi, [input]
|
||||
mov rdx, 1
|
||||
call scanf
|
||||
jmp find_smaller
|
||||
find_smaller:
|
||||
mov al, small
|
||||
mov bl, input
|
||||
cmp al, bl
|
||||
ja switch
|
||||
jle loop
|
||||
switch:
|
||||
mov al, input
|
||||
mov small, al
|
||||
jmp loop
|
||||
conclusion:
|
||||
lea rsi, [text_conclusion]
|
||||
mov rdx, 19
|
||||
call printf
|
||||
lea rsi, [small]
|
||||
mov rdx, 1
|
||||
call printf
|
||||
//exit
|
||||
lea rsi, [text_goodbye]
|
||||
mov rdx, 9
|
||||
call printf
|
||||
mov rax, 60
|
||||
xor rdi, rdi
|
||||
syscall
|
||||
hello_world:
|
||||
.asciz "Hello World\n"
|
||||
text_how_many_input:
|
||||
.asciz "How Many Number Do You Want to Insert = "
|
||||
text_give_input:
|
||||
.asciz "\nGive Input = "
|
||||
text_conclusion:
|
||||
.asciz "\nThe Smallest is = "
|
||||
text_goodbye:
|
||||
.asciz "\nGoodbye\n"
|
||||
printf:
|
||||
mov rax, 1
|
||||
mov rdi, 1
|
||||
syscall
|
||||
xor rdi, rdi
|
||||
ret
|
||||
scanf:
|
||||
mov rax, 0
|
||||
mov rdi, 0
|
||||
syscall
|
||||
mov rax, 0
|
||||
mov rdi, 0
|
||||
mov rsi, [new_line_collector]
|
||||
mov rdx, 1
|
||||
syscall
|
||||
xor rdi, rdi
|
||||
ret
|
Loading…
Add table
Add a link
Reference in a new issue