📄 exp1_1.asm
字号:
data segment
IOPORT EQU 0C400H-0280H
IO8253 EQU IOPORT+283H
IO8253A EQU IOPORT+280H ;地址替换
data ends
stack1 SEGMENT STACK
DW 100H DUP(?) ;定义堆栈段
Stack1 ENDS
CODE SEGMENT
ASSUME CS:CODE,ds:data,ss:stack1
START: MOV AX,Data
MOV DS,AX
MOV AL,10H ;计数器0,方式0
MOV DX,IO8253
OUT DX,AL ;写控制字
MOV AL,4
MOV DX,IO8253A
OUT DX,AL ;写入计数初值
LOOP1: MOV DX,IO8253A
IN AL,DX ;读计数器
CMP AL,9 ;转换为ASCII码
JA test1 ;大于9跳到test1
ADD AL,30H ;小于等于9,加30h
JMP DISPLAY
test1: ADD AL,37H ;大于9加37h
DISPLAY: MOV DL,AL
MOV AH,02H
INT 21H ;显示计数值
MOV DL,0FFH
MOV AL,06H
INT 21H
JZ LOOP1 ;无按键时循环读计数器
MOV AH,4CH
INT 21H ;返回dos
CODE ENDS
END START
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -