⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sy3-1.asm

📁 硬件电路测试参考数据包
💻 ASM
字号:
;       实验三:单色LED显示实验

PA55    EQU     280H
P55CTL  EQU     283H

DATE    SEGMENT
MESS1   DB	0DH,0AH
	DB      'Press 1 for left cycle',0DH,0AH
	DB      'Press 2 for right cycle',0DH,0AH
	DB      'Press 3 for alternately(interface) display',0DH,0AH
	DB      'Press 4 quit to DOS',0DH,0AH,0DH,0AH'$'
MESS2   DB      'Press key is please select again.',0DH,0AH,0DH,0AH,'$'
MESS3   DB      'Press any key to main menu',0DH,0AH,0DH,0AH,'$'
DATE    ENDS

STAC    SEGMENT PARA STACK 'STACK'
STA     DB      20 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     AX,STAC
	MOV     SS,AX
	MOV     AX,TOP
	MOV     SP,AX
	MOV     DX,P55CTL
	MOV     AL,8bH
	OUT     DX,AL
	MOV     DX,PA55
	MOV     AL,0FFH
	OUT     DX,AL
BG:     LEA     DX,MESS1
	MOV     AH,09H
	INT     21H
	MOV     AH,08H
	INT     21H
	PUSH    AX
	LEA     DX,MESS3
	MOV     AH,09H
	INT     21H
	POP     AX
	MOV     AH,AL
	CMP     AL,'1'
	JZ      ZXH
	MOV     AL,AH
	CMP     AL,'2'
	JZ      YXH
	MOV     AL,AH
	CMP     AL,'3'
	JZ      JGS0
	JMP     JGS1
JGS0:   JMP     JGS
JGS1:   MOV     AL,AH
	CMP     AL,'4'
	JNZ     WX
	JMP     QIT
WX:     LEA     DX,MESS2
	MOV     AH,09H
	INT     21H
	JMP     BG
ZXH:    MOV     DX,PA55
	MOV     AL,0FEH
BB:     OUT     DX,AL
	CALL    DELAY2
	ROL     AL,1
	PUSH    AX
	PUSH    DX
	MOV     DL,0FFH
	MOV     AH,06H
	INT     21H
	JNZ     BG0
	JMP     BG00
BG0:    JMP     BG
BG00:   POP     DX
	POP     AX
	JMP     BB
YXH:    MOV     DX,PA55
	MOV     AL,0FEH
EE:     OUT     DX,AL
	CALL    DELAY2
	ROR     AL,1
	PUSH    AX
	PUSH    DX
	MOV     DL,0FFH
	MOV     AH,06H
	INT     21H
	JNZ     BG01
	JMP     BG02
BG01:   JMP     BG
BG02:   POP     DX
	POP     AX
	JMP     EE
JGS:    MOV     DX,PA55
	MOV     AL,55H
HH:     OUT     DX,AL
	CALL    DELAY2
	NOT     AL
	PUSH    AX
	PUSH    DX
	MOV     DL,0FFH
	MOV     AH,06H
	INT     21H
	JNZ     BG1
	POP     DX
	POP     AX
	JMP     HH
BG1:    JMP     BG
QIT:    MOV     AX,4C00H
	INT     21H

DELAY1  PROC    NEAR
	PUSH    CX
	MOV     CX,0F000H
	LOOP    $
	POP     CX
	RET
DELAY1  ENDP
DELAY2  PROC    NEAR
	PUSH    AX
	PUSH    CX
	MOV     CX,025H
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 + -