📄 prime.asm
字号:
;******************************************************
;* 文件名:Prime.asm
;* 创建日期:2001.7.2
;* 作者:陈文尧
;* 功能:打印素数
;******************************************************
include system.inc
;******************************************************
;* 以下代码由汇编专家产生,不要随便修改
;******************************************************
.CODE
ifdef __COM__
org 100h
endif
@@Start:
;------------------------------------------------------
; 初始化数据段
;------------------------------------------------------
InitDS cs
;------------------------------------------------------
; 调用主函数
;------------------------------------------------------
call main
;------------------------------------------------------
; 正常返回DOS
;------------------------------------------------------
ReturnDos
;++++++++++++++++++++++++++++++++++++++++++++++++++++++
;+ 主函数,加入实现程序功能的代码
;++++++++++++++++++++++++++++++++++++++++++++++++++++++
main proc
DisplayMessage msg1
@GetNumber:
LibCall GetLong ;结果在dx:ax或eax
or eax,eax
jg short @Continue
DisplayMessage msg2
jmp @GetNumber
@Continue:
mov edi,eax
LibCall PutLong,dx,ax
DisplayMessage msg3
sub esi,esi
@Outer:
inc esi
sub ebx,ebx
sub ecx,ecx
@Inner:
inc ebx
mov eax,esi
sub edx,edx
div ebx
or edx,edx
jnz short @Skip
inc ecx
@Skip:
cmp ebx,esi
jb @Inner
cmp ecx,00000002h
jnz short @Skip2
mov eax,esi
shr eax,10h
LibCall PutLong,ax,si
LibCall PutChar,' '
@Skip2:
cmp esi,edi
jb @Outer
;
ret
main endp
msg1 db '求n(n为正整数)以内的素数,请输入n值:$'
msg2 db '输入的n值不合格,请重新输入:$'
msg3 db '以内的素数有:',0dh,0ah,'$'
;******************************************************
;* 标志程序结束并指定程序入口
;******************************************************
end @@Start
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -