上课听不清老师讲什么可太难了,口音究极浓重,上课大部分脑力都要花在翻译老师讲了什么(所以就没怎么听)
导致这么简单的东西写了好久(边写边学
孩子傻了,下次好好学(并不
asm代码没高亮,凑合着看看吧,或者复制到编辑器里看

.MODEL SMALL

.STACK 4096
.CODE
MAIN PROC FAR
.386                        ;声明为80386,不然不能用EAX
    START: 
           MOV EAX,2        ;EAX作为待测数
    PIN:   
           MOV EBX,2        ;EBX作为除数
           MOV ECX,EAX      ;保留一份EAX给ECX,div时候EAX值会变
    AGAIN1:
           CMP EBX,EAX      ;若EAX与EBX相等,则为素数
           JZ  OUTPUT
           MOV EDX,0
           DIV EBX
           MOV EAX,ECX
           CMP EDX,0        ;若余数为零,则到下一个数
           JZ  NEXT
           INC EBX
           CMP EBX,317      ;EBX大于根号100000后就不用算了,直接就是素数
           JZ  OUTPUT
           JMP AGAIN1
    NEXT:  
           MOV EAX,ECX      ;恢复EAX的值并加一
           INC EAX
           CMP EAX,100001
           JZ  EXIT
           JMP PIN


    OUTPUT:                 ;将EAX的值转换成字符输出每一段是一位
           MOV EDX,0
           MOV EBX,10000
           DIV EBX
           MOV EBX,EDX
           MOV DL,AL
           ADD DL,30H
           MOV AH,02H
           INT 21H

           MOV EAX,EBX
           MOV EDX,0
           MOV EBX,1000
           DIV EBX
           MOV EBX,EDX
           MOV DL,AL
           ADD DL,30H
           MOV AH,02H
           INT 21H

           MOV EAX,EBX
           MOV EDX,0
           MOV EBX,100
           DIV EBX
           MOV EBX,EDX
           MOV DL,AL
           ADD DL,30H
           MOV AH,02H
           INT 21H

           MOV EAX,EBX
           MOV EDX,0
           MOV EBX,10
           DIV EBX
           MOV EBX,EDX
           MOV DL,AL
           ADD DL,30H
           MOV AH,02H
           INT 21H

           MOV EAX,EBX
           MOV EDX,0
           MOV EBX,1
           DIV EBX
           MOV EBX,EDX
           MOV DL,AL
           ADD DL,30H
           MOV AH,02H
           INT 21H

           MOV DL,0Ah
           MOV AH,02H
           INT 21H
           JMP NEXT

    EXIT:  
           MOV AH,4CH
           INT 21H
MAIN ENDP
END START
END

等待一只名叫希羽的狐