首页 > 解决方案 > 检查一个数字(从 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     

标签: assemblyx86-16

解决方案


推荐阅读