21,459
社区成员
发帖
与我相关
我的任务
分享
.386
.model flat
includelib d:\masm32\lib\msvcrt.lib
.data
x dd ?
y dd ?
z dd ?
msg1 db "enter 2 numbers(x y): ", 0
fmt1 db "%u%u", 0
fmt2 db "x = %u, y = %u, z = %u", 10, 0
; Function prototypes
scanf proto c :dword, :vararg
printf proto c :dword, :vararg
exit proto c :dword
.code
_main:
invoke printf, offset msg1
invoke scanf, offset fmt1, offset x, offset y
mov eax, y
mov ecx, x
xor edx, edx
cmp ecx, eax
setnb dl
lea ebx, [$ + edx * 8 + 9]
jmp ebx
jecxz $ + 10
div ecx
mov ecx, eax
add ecx, eax
sub ecx, eax
mov z, ecx
invoke printf, offset fmt2, x, y, z
invoke exit, 0
end _main