Assembly 检查数字(从0到50)是否为素数
如何检查0到50之间的数字在汇编代码中是否为素数?这是我写的代码,但它只适用于0到10的数字Assembly 检查数字(从0到50)是否为素数,assembly,x86-16,Assembly,X86 16,如何检查0到50之间的数字在汇编代码中是否为素数?这是我写的代码,但它只适用于0到10的数字 .MODEL SMALL .stack 100H .DATA VAL1 DB ? NL1 DB 0AH,0DH, 'ENTER NO: ','$'
.MODEL SMALL
.stack 100H
.DATA
VAL1 DB ?
NL1 DB 0AH,0DH, 'ENTER NO: ','$'
NL2 DB 0AH,0DH, 'IT IS NOT PRIME','$'
NL3 DB 0AH,0DH, 'IT IS PRIME','$'
.CODE
MAIN:
MOV AX,@DATA
MOV DS,AX
LEA DX,NL1
MOV AH,09H
INT 21H
MOV AH,01H
INT 21H
SUB AL,30H
MOV VAL1,AL
MOV AH,00
MOV CL,2
DIV CL
MOV CL,AL
LBL1:
MOV AH,00
MOV AL,VAL1
DIV CL
CMP AH,00
JZ LBL2
DEC CL
CMP CL,1
JNE LBL1
JMP LBL3
LBL2:
MOV AH,09H
LEA DX,NL2
INT 21H
JMP EXIT
LBL3:
MOV AH,09H
LEA DX,NL3
INT 21H
EXIT:
MOV AH,4CH
INT 21H
END MAIN
既然你只读一个数字,我该怎么改变呢?再读一个,然后解析数字?