汇编语言上机考试三星题11(二刷)

判断一个不超过65535的整数是否为质数。

先看是不是0 1 2 是的话直接输出质数

不是的话BX=BUF-1

然后让BUF除BX,看余数是不是0,是零的话就不是质数

除到1之前停下来,输出是质数

DATAS SEGMENT

    BUF DW 8;此处输入数据段代码 

    YES DB 'YES','$'

    NO DB 'NO','$'

DATAS ENDS

STACKS SEGMENT

    ;此处输入堆栈段代码

STACKS ENDS

CODES SEGMENT

    ASSUME CS:CODES,DS:DATAS,SS:STACKS

START:

    MOV AX,DATAS

    MOV DS,AX

    MOV BX,BUF

    CMP BX,2

    JBE SHI

    DEC BX


XUNHUAN:

CMP BX,1

JE SHI

    MOV AX,BUF

    MOV DX,0

    DIV BX

    CMP DX,0

    JE BUSHI

    DEC BX

    JMP XUNHUAN

BUSHI:

LEA DX,NO

MOV AH,9

INT 21H

JMP END0

SHI:

LEA DX,YES

MOV AH,9

INT 21H

JMP END0

END0:




    ;此处输入代码段代码

    MOV AH,4CH

    INT 21H

CODES ENDS

    END START

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容