两种方法
方法一:
include io32.inc
.data
ts byte "please input a number",13,10,0
sc1 byte "this is a sushu",13,10,0
sc2 byte "this is not a sushu",13,10,0
temp byte 2
.code
start:
mov eax,offset ts
call dispmsg
call readuiw;输入数字
cmp ax,3;看是否小于等于3
jbe success
mov bx,ax;把值保存起来
div temp;看是否是偶数
cmp AH,0
jz err
mov ax,bx;恢复保存的值
add temp,1;除数从奇数3开始
movzx ecx,ax;传递循环次数
sub ecx,3;总的循环次数
again:
mov bx,ax;把值保存起来
div temp;除以以3开始的每个奇数
cmp AH,0
jz err
mov ax,bx;恢复保存的值
add temp,2;除数奇数增大2
sub ecx,2;由于除数temp每次都是增加2,所以这里的循环次数也跟着多减少1次
jnz again
success:mov eax,offset sc1
call dispmsg
jmp done
err:
mov eax,offset sc2
call dispmsg
done:
exit 0
end start
方法2:
include io32.inc
.data
ts byte "please input a