素数检测(汇编语言编写)

本文介绍了如何使用汇编语言来检测素数,详细阐述了两种不同的实现方法,为汇编爱好者提供实践参考。
摘要由CSDN通过智能技术生成

两种方法

方法一:

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值