汇编语言上机考试三星题11(二刷)
2018-11-14 本文已影响0人
魔一方
判断一个不超过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