📄 rand.asm
字号:
;*************************
;项目 0-100随机数的产生
;姓名 蔡晓程
;学号 2002374301
;班级 2002计算机3班
;*************************
DATA SEGMENT
NAM DB ' This program was created by Cai Xiaocheng>>>My number is 2002374301','$'
CLA DB ' 2002 COMPUTER 3','$'
EXT DB ' Please press the key [q] to end this program!','$'
OUTBUF DB 4 DUP(?)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
MAIN PROC FAR
PUSH DS
XOR AX,AX
PUSH AX
MOV AX,DATA
MOV DS,AX
MOV DL,0AH ;换行
CALL SHOW
MOV DL,0AH ;换行
CALL SHOW
MOV DX,OFFSET NAM ;显示作者名字和学号信息
MOV AH,9
INT 21H
MOV DL,0DH ;回车
CALL SHOW
MOV DL,0AH ;换行
CALL SHOW
MOV DL,0AH ;换行
CALL SHOW
MOV DX,OFFSET CLA ;显示作者班级信息
MOV AH,9
INT 21H
MOV DL,0DH ;回车
CALL SHOW
MOV DL,0AH ;换行
CALL SHOW
MOV DL,0AH ;换行
CALL SHOW
MOV DL,0AH ;换行
CALL SHOW
MOV DL,0AH ;换行
CALL SHOW
MOV DX,OFFSET EXT ;提示按[q]键退出程序
MOV AH,9
INT 21H
MOV DL,0AH ;换行
CALL SHOW
MOV DL,0AH ;换行
CALL SHOW
MOV DL,0AH ;换行
CALL SHOW
MOV DL,0AH ;换行
CALL SHOW
MOV DL,0DH ;回车
CALL SHOW
LOP1: ;随机数产生
MOV SI,OFFSET OUTBUF
PUSH SI
MOV AH,0
INT 1AH
MOV AL,DL
MOV AH,0
MOV BL,100 ;设置随机数的范围
DIV BL
INC AH
LOP2:
MOV AL,AH
MOV AH,0
MOV BL,10
DIV BL
ADD AL,30H
MOV [SI],AL
INC SI
ADD AH,30H
MOV [SI],AH
INC SI
MOV BYTE PTR [SI],20H
INC SI
MOV BYTE PTR [SI],'$'
POP DX
MOV AH,9
INT 21H
MOV CX,9000
DONE1:
MOV BX,0FFFFH
DONE:
DEC BX
JNE DONE
LOOP DONE1
MOV AH,6
MOV DL,0FFH
INT 21H
JE LOP1
CMP AL,'q' ;检测是否按[q]键输入
JE LAST ;若为[q],则返回,退出程序
JMP LOP1 ;不为[q],则继续循环输出随机数
LAST:
RET
SHOW PROC NEAR ;(子程序)实现字符输出
PUSH AX
MOV AH,2
INT 21H
POP AX
RET
SHOW ENDP
MAIN ENDP
CODE ENDS
END MAIN
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -