H,J,K
parent
bd66b63a05
commit
b0ec253b30
@ -0,0 +1,52 @@
|
||||
global main
|
||||
extern printf
|
||||
extern scanf
|
||||
|
||||
section .text
|
||||
main:
|
||||
push x
|
||||
push nya
|
||||
call scanf
|
||||
add esp, 8
|
||||
|
||||
push y
|
||||
push nya
|
||||
call scanf
|
||||
add esp, 8
|
||||
|
||||
mov ebx, dword [x] ; a
|
||||
mov ecx, dword [y] ; b
|
||||
|
||||
loop:
|
||||
cmp ecx, 0 ; compare b
|
||||
je end
|
||||
|
||||
mov eax, ebx ; move a to eax
|
||||
cdq
|
||||
div ecx ; a / b, remain in edx
|
||||
mov ebx, ecx ; a = b
|
||||
mov ecx, edx ; b = remain
|
||||
|
||||
jmp loop
|
||||
end:
|
||||
|
||||
mov eax, dword [x]
|
||||
mul dword [y]
|
||||
cdq
|
||||
div ebx
|
||||
|
||||
push eax
|
||||
push nya
|
||||
call printf
|
||||
add esp, 8
|
||||
|
||||
xor eax, eax
|
||||
ret
|
||||
|
||||
section .data
|
||||
nya db "%u", 0
|
||||
|
||||
section .bss
|
||||
x resd 1
|
||||
y resd 1
|
||||
|
@ -0,0 +1,63 @@
|
||||
global main
|
||||
extern printf
|
||||
extern scanf
|
||||
extern qsort
|
||||
|
||||
section .text
|
||||
main:
|
||||
; read N
|
||||
push n
|
||||
push readn
|
||||
call scanf
|
||||
add esp ,8
|
||||
|
||||
; read loop for x
|
||||
xor ebx, ebx
|
||||
|
||||
loop1:
|
||||
cmp bx, word [n]
|
||||
je nya1
|
||||
lea eax, [x + 2 * ebx]
|
||||
dbg1: push eax
|
||||
push nya
|
||||
call scanf
|
||||
add esp, 8
|
||||
dbg2: inc ebx
|
||||
jmp loop1
|
||||
|
||||
nya1:
|
||||
push compare
|
||||
push dword 2
|
||||
push dword [n]
|
||||
push x
|
||||
;push x
|
||||
;push dword [n]
|
||||
;push dword 2 ; size of element
|
||||
;push compare
|
||||
call qsort
|
||||
add esp, 16
|
||||
|
||||
|
||||
xor eax, eax
|
||||
ret
|
||||
|
||||
compare:
|
||||
;mov ebp, esp
|
||||
;sub esp, 16
|
||||
;pop eax
|
||||
;pop ebx
|
||||
;push ebp
|
||||
;mov ebp, esp
|
||||
|
||||
mov eax, dword [esp + 4]
|
||||
;lea ebx, [ebp - 2]
|
||||
;mov ebx, [esp + 8]
|
||||
sub eax, [esp + 8]
|
||||
ret
|
||||
|
||||
section .data
|
||||
nya db "%hu", 0
|
||||
readn db "%d", 0
|
||||
section .bss
|
||||
n resd 1
|
||||
x resw 10000
|
@ -0,0 +1,33 @@
|
||||
global main
|
||||
extern scanf
|
||||
extern printf
|
||||
|
||||
section .text
|
||||
main:
|
||||
|
||||
push y
|
||||
push x
|
||||
push scan
|
||||
call scanf
|
||||
add esp, 12
|
||||
|
||||
fld dword [x]
|
||||
fld dword [y]
|
||||
fdiv
|
||||
|
||||
sub esp, 8
|
||||
fst qword [esp]
|
||||
push nya
|
||||
call printf
|
||||
add esp, 12
|
||||
xor eax, eax
|
||||
ret
|
||||
|
||||
section .data
|
||||
scan db "%f%f", 0
|
||||
nya db "%f", 10, 0
|
||||
|
||||
section .bss
|
||||
x resd 1
|
||||
y resd 1
|
||||
|
Reference in New Issue