私は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 と素数ではないことを示す programe の出力をチェックしています。
誰が私がどこで間違っているのか教えてもらえますか