【发布时间】:2011-10-24 23:55:05
【问题描述】:
我对汇编还很陌生,我正在尝试打印出给定数字的素数分解。在网上搜索了几个小时后,我发现了一些关于 DIV 指令的有用花絮,但我无法让我的代码做我想做的事情。
我做错了什么,但我无法发现。请哪位好心人帮我看看?
.data
myMessage BYTE "Please enter a number to be evaluated:",0dh,0ah,0
factor DWORD 2
hold DWORD ?
.code
main PROC
call Clrscr
mov edx,offset myMessage
call WriteString ;Displays myMessage
call ReadDec ;Puts value into EAX register
mov edi, factor
call prime
exit
main ENDP
prime PROC
step1: xor edx, edx
div edi
cmp edx, 1
jz step2
add factor, 1
mov edi, factor
jmp step1
step2: mov hold, eax
mov eax, edi
call WriteDec
mov eax, hold
CMP eax, 1
jz step3
jmp step1
step3:
exit
prime ENDP
END main
【问题讨论】:
标签: html assembly x86 factorization