📄 新建 文本文档.txt
字号:
秒表功能
L1: CALL PRESS;按空格
CALL GO ;计时器初始化
LTT: CALL PAUSE ;计数器锁存,并读取
CALL TTRANS ;将计数值转换成时间
MOV AX,MIAO
MOV BX,HAOMIAO
XCHG AH,AL
MOV AL,BL
MOV NUM,AX ;将时间放入NUM中,准备输出
CALL DISPLAY ;输出秒和百分之一秒
MOV DL,0FFH
MOV AH,06H
INT 21H ;判断有无键盘输入
JZ LTT ;循环显示
CALL PRESS ;按空格
CALL PAUSE ;计数器锁存,并读取
CALL TTRANS ;将计数值转换成时间
CALL TSHOW ;显示时间,秒和百分之一秒
CALL PRESS ;按空格
MOV AX,0H ;清零
MOV FEN,AX
MOV MIAO,AX
MOV HAOMIAO,AX
CALL TSHOW
JMP L1 ;周而复始
PRESS PROC NEAR;按空格
PUSH AX
PUSH BX
PUSH CX
PUSH DX
LOPP2: MOV DL,0FFH;按任一键
MOV AH,06H
INT 21H
CALL DELAY3
JZ LOPP2
POP DX
POP CX
POP BX
POP AX
RET
PRESS END
计算器:
CALL GO ;
CALL TYPEIN;检测按键
LPPA: CALL DISPLAY
MOV DL,0FFH;等待大键盘按键(空格),从而保持显示
MOV AH,06H
INT 21H
JZ LPPA
MOV AX,NUM
MOV A,AX ;将输入的数保存到A
CALL TYPEIN ;输入操作符
LPPO: CALL DISPLAY
MOV DL,0FFH
MOV AH,06H
INT 21H
JZ LPPO
MOV AX,NUM
MOV OP,AX
CALL TYPEIN ;输入B
LPPB: CALL DISPLAY
MOV DL,0FFH
MOV AH,06H
INT 21H
JZ LPPB
MOV AX,NUM
MOV B,AX
CALL COMPUTE ;计算结果
CALL HEXTODEC;转换为十进制
L2: CALL TYPEIN ;输入D
LPPD: CALL DISPLAY
MOV DL,0FFH
MOV AH,06H
INT 21H
JZ LPPD
MOV AX,NUM
MOV BX,10H
MUL BX
MOV T,AX
CALL TYPEIN
MOV AX,T
MOV BX,NUM
OR AX,BX
MOV NUM,AX
LPPDD: CALL DISPLAY
MOV DL,0FFH
MOV AH,06H
INT 21H
JZ LPPDD
MOV D,AX
L3: CALL TYPEIN ;输入F
CMP NUM,0FH
JNE L3
MOV AX,C
MOV BX,D
CMP AX,BX
JNE L2
CALL PAUSE ;停止计时并读取计数器值
CALL TTRANS ;转换时间
MOV CX,02H ;显示结果,循环显示两次
L4: MOV AX,C
MOV NUM,AX
CALL SHOW ;显示结果
MOV AX,TIM
MOV NUM,AX
CALL SHOW ;显示时间
LOOP L4
COMPUTE PROC NEAR;计算结果
PUSH CX
LA: CMP OP,0AH ; 加
JNE LB
MOV AX,A
MOV BX,B
ADD AX,BX
MOV C,AX
JMP FIN
LB: CMP OP,0BH
JNE LC
MOV AX,A
MOV BX,B
SUB AX,BX
MOV C,AX
JMP FIN
LC: CMP OP,0CH
JNE LD
MOV AX,A
MOV BX,B
MUL BL
MOV C,AX
JMP FIN
LD: MOV AX,A
MOV BX,B
DIV BL
MOV AH,0H
MOV C,AX
FIN: NOP
POP CX
RET
COMPUTE ENDP
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -