📄 sy2-1.asm
字号:
; 实验二:数码管输出实验 SY2-1.ASM
DATE SEGMENT
MESS2 DB 'Press any key to exit !',0DH,0AH,'$'
DCTBL DB 3Fh,06h,5Bh,4Fh,66h,6Dh,7Dh,07h,7Fh,6Fh,77h,7Ch,39h,5Eh,79h,71h
NUM DW ?
DATE ENDS
STAC SEGMENT PARA STACK 'STACK'
STA DW 50 DUP(?)
TOP EQU LENGTH STA
STAC ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATE,SS:STAC,ES:DATE
START: MOV AX,DATE
MOV DS,AX
MOV ES,AX
MOV AX,00H
MOV NUM,AX
MOV AH,09H
MOV DX,OFFSET MESS2
INT 21H
LOP0: MOV AX,00H
MOV NUM,AX
LOP1: NOP
CALL DISP
CALL DELAY2
MOV AX,NUM
INC AX
MOV NUM,AX
CMP AX,10H
JZ LOP0
MOV DL,0FFH
MOV AH,06H
INT 21H
JZ LOP1
QUIT: MOV AX,4C00H
INT 21H
DISP PROC NEAR
PUSH DS
PUSH CX
PUSH AX
DISP0: MOV CX,NUM
MOV AX,CX
AND AL,0FH
MOV AH,AL
MOV AL,CL
MOV CL,04H
SHR AL,CL
MOV CH,AL
MOV CL,AH
DISPL: mov dx,288h
mov al,0FFh
out dx,al
mov dx,284h
mov al,cl
mov ah,0
lea bx,dctbl
mov si,ax
mov al,[bx+si]
out dx,al
CALL DELAY1
JMP DISP1
DISP1: POP AX
POP CX
POP DS
RET
DISP ENDP
DELAY1 PROC NEAR
PUSH CX
MOV CX,0F00H
LOOP $
POP CX
RET
DELAY1 ENDP
DELAY2 PROC NEAR
PUSH AX
PUSH CX
MOV CX,300H
DL21: CALL DELAY1
LOOP DL21
POP CX
POP AX
RET
DELAY2 ENDP
CODE ENDS
END START
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -