我正在 x86 上学习汇编语言,并制作了一个简单的程序来判断数字是否为质数。
我认为我做得对,但仍然没有得到想要的结果,下面是代码
section .bss
b db
section .data
x db "Number is Prime",10,0
y db "Number is not Prime",10,0
z db "value is=%d",10,0
section .text
global main
extern printf
main:
mov eax,17
mov ebx,2
loop:
mov [b],eax
div ebx
mov eax,[b]
cmp edx,0
jz Print_not_Prime
inc ebx
cmp ebx,17
jnz loop
push x
call printf
add esp,4
ret
Print_not_Prime:
push y
call printf
add esp,4
ret
在上面的代码中,我正在检查数字 17,并且程序的输出告诉它不是素数。
谁能让我知道我做错了什么