📄 1.asm
字号:
DATA SEGMENT USE16
DATA ENDS
STACK SEGMENT STACK
DB 200 DUP(0)
STACK ENDS
CODE SEGMENT USE16
ASSUME DS:DATA,SS:STACK,CS:CODE
start: MOV DX,303H
MOV AL,89H
OUT DX,AL
MOV BL,0FEH
MOV BH,7FH
LOOP1: MOV DX,302H
IN AL,DX
TEST AL,01H
JZ RIGHT
TEST AL,80H
JZ LEFT
JMP LOOP1
RIGHT: MOV AL,BH
MOV DX,300H
OUT DX,AL
ROR BH,1 ;循环向右移动 一位
MOV AH,06H ;判断是否有按键
MOV DL,0FFH
INT 21H
JNZ EXIT
CALL DELAY ;调用延时函数
MOV DX,302H
IN AL,DX
TEST AL,80H
JZ LEFT
JMP RIGHT
LEFT: MOV AL,BL
MOV DX,300H
OUT DX,AL
ROL BL,1
MOV AH,06H
MOV DL,0FFH
INT 21H
JNZ EXIT
CALL DELAY
MOV DX,302H
IN AL,DX
TEST AL,01H
JZ RIGHT
JMP LEFT
EXIT: MOV AH,4CH
INT 21H
DELAY PROC NEAR
MOV AX,1000;
LLL: MOV CX,0
LL: LOOP LL
DEC AX
JNE LLL
RET
DELAY ENDP
CODE ENDS
END START
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -