Code cleanup
This commit is contained in:
parent
05b0ebf886
commit
535d60ca2b
70
main.asm
70
main.asm
|
|
@ -15,13 +15,6 @@ fd_str: db "file descriptor", 0
|
||||||
close_str: db "close", 0
|
close_str: db "close", 0
|
||||||
content_str: db "Content: '%s'", 10, 0
|
content_str: db "Content: '%s'", 10, 0
|
||||||
nbr_str: db "number", 0
|
nbr_str: db "number", 0
|
||||||
ecx_str: db "ecx", 0
|
|
||||||
pecx_str: db "pecx", 0
|
|
||||||
a_str: db "a", 0
|
|
||||||
b_str: db "b", 0
|
|
||||||
d_str: db "d", 0
|
|
||||||
|
|
||||||
|
|
||||||
exitcode: dw 0
|
exitcode: dw 0
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -122,10 +115,6 @@ popmin:
|
||||||
minloop:
|
minloop:
|
||||||
mov word [rbp-14H], cx
|
mov word [rbp-14H], cx
|
||||||
|
|
||||||
;; lea rdi, [pecx_str]
|
|
||||||
;; mov esi, ecx
|
|
||||||
;; call printvalue
|
|
||||||
|
|
||||||
mov r9, qword [rbp-22H]
|
mov r9, qword [rbp-22H]
|
||||||
mov edi, [r9] ; current value
|
mov edi, [r9] ; current value
|
||||||
mov esi, dword [rbp-12H] ; min value
|
mov esi, dword [rbp-12H] ; min value
|
||||||
|
|
@ -150,13 +139,6 @@ next:
|
||||||
add r9, 4H
|
add r9, 4H
|
||||||
mov qword [rbp-22H], r9
|
mov qword [rbp-22H], r9
|
||||||
|
|
||||||
mov cx, [rbp-14H]
|
|
||||||
cmp cx, 2
|
|
||||||
jne d
|
|
||||||
|
|
||||||
jmp d
|
|
||||||
|
|
||||||
d:
|
|
||||||
dec cx
|
dec cx
|
||||||
jnz minloop
|
jnz minloop
|
||||||
|
|
||||||
|
|
@ -260,38 +242,7 @@ loop0:
|
||||||
dec cx
|
dec cx
|
||||||
jnz loop0
|
jnz loop0
|
||||||
|
|
||||||
;; PRINT VALUES
|
mov qword [rbp-42H], 0 ; sum = 0
|
||||||
|
|
||||||
mov word [rbp-14H], 0 ; line number
|
|
||||||
xor ecx, ecx
|
|
||||||
mov ecx, 2024 ; There are 24 dword between address 1060H and 1000H
|
|
||||||
|
|
||||||
jmp skip
|
|
||||||
|
|
||||||
.loop1:
|
|
||||||
mov [rbp-19H], cx ; store loop counter
|
|
||||||
|
|
||||||
;; calculate list 1 position
|
|
||||||
xor rax, rax
|
|
||||||
mov ax, word [rbp-14H]
|
|
||||||
mov bx, 4H
|
|
||||||
mul bx
|
|
||||||
mov rbx, 2000H
|
|
||||||
sub rbx, rax
|
|
||||||
mov r9, rbp
|
|
||||||
sub r9, rbx
|
|
||||||
|
|
||||||
; move the value to its position
|
|
||||||
lea rdi, [nbr_str]
|
|
||||||
mov esi, dword [r9]
|
|
||||||
call printvalue
|
|
||||||
|
|
||||||
inc word [rbp-14H]
|
|
||||||
|
|
||||||
mov cx, [rbp-19H]
|
|
||||||
loop .loop1
|
|
||||||
|
|
||||||
skip:
|
|
||||||
|
|
||||||
mov ecx, 1000
|
mov ecx, 1000
|
||||||
sumloop:
|
sumloop:
|
||||||
|
|
@ -301,26 +252,14 @@ sumloop:
|
||||||
;; 46H - 42H : min2
|
;; 46H - 42H : min2
|
||||||
;; 42H - 34H : sum
|
;; 42H - 34H : sum
|
||||||
|
|
||||||
;; lea rdi, [ecxnext_str]
|
|
||||||
;; mov esi, ecx
|
|
||||||
;; call printvalue
|
|
||||||
|
|
||||||
lea rdi, [rbp-2000H]
|
lea rdi, [rbp-2000H]
|
||||||
call popmin
|
call popmin
|
||||||
mov dword [rbp-50H], eax
|
mov dword [rbp-50H], eax
|
||||||
|
|
||||||
;; lea rdi, [a_str]
|
|
||||||
;; mov esi, eax
|
|
||||||
;; call printvalue
|
|
||||||
|
|
||||||
lea rdi, [rbp-1000H]
|
lea rdi, [rbp-1000H]
|
||||||
call popmin
|
call popmin
|
||||||
mov dword [rbp-46H], eax
|
mov dword [rbp-46H], eax
|
||||||
|
|
||||||
;; lea rdi, [b_str]
|
|
||||||
;; mov esi, eax
|
|
||||||
;; call printvalue
|
|
||||||
|
|
||||||
xor rax, rax
|
xor rax, rax
|
||||||
mov eax, dword [rbp-50H]
|
mov eax, dword [rbp-50H]
|
||||||
mov ebx, dword [rbp-46H]
|
mov ebx, dword [rbp-46H]
|
||||||
|
|
@ -343,20 +282,15 @@ sum:
|
||||||
add rbx, rax
|
add rbx, rax
|
||||||
mov qword [rbp-42H], rbx
|
mov qword [rbp-42H], rbx
|
||||||
|
|
||||||
;; lea rdi, [d_str]
|
|
||||||
;; mov rsi, rax
|
|
||||||
;; call printvalue
|
|
||||||
|
|
||||||
mov cx, word [rbp-19H]
|
mov cx, word [rbp-19H]
|
||||||
dec cx
|
dec cx
|
||||||
cmp cx, 0
|
cmp cx, 0
|
||||||
jnz sumloop
|
jnz sumloop
|
||||||
|
|
||||||
mov rax, qword [rbp-42H]
|
|
||||||
|
|
||||||
;; print sys_close result
|
;; print sys_close result
|
||||||
lea rdi, [nbr_str]
|
lea rdi, [nbr_str]
|
||||||
mov rsi, rax
|
mov rsi, qword [rbp-42H]
|
||||||
call printvalue
|
call printvalue
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue