assembly - 检查一个数字(从 0 到 50)是否为素数
问题描述
如何检查从 0 到 50 的数字在汇编代码中是否为素数?这是我写的代码,但它只适用于从 0 到 10 的数字。
.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
解决方案
推荐阅读
- python - 两个DataFrame中每条记录之间的最近记录和对应距离
- python - 显示列表中每个字符串的索引
- javascript - 如何在 ms-word 列表中的每个单词后添加引号、逗号和空格?
- robotframework - 如何使用 Robot Framework 通过 JDBC 驱动程序连接到 MySQL 数据库
- google-sheets - 从模板表更新多个 Google 表格
- sql - 如何在 azure sql server 中加载大型事实表?
- python-3.x - 将参数传递给定制的变压器
- arrays - 在 Swift 中访问数组数组中的项目时遇到问题
- html - 如何分隔列表项
- php - 致命错误:找不到使用 php 和 composer 进行简单自动加载的类