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

📄 exp1.asm

📁 一个采用8255芯片控制8个LED灯循环点亮的程序代码
💻 ASM
字号:
PC55    EQU 21AH
P55CTL  EQU 21BH
DATA    SEGMENT
MESS1   DB 	' 左循环-----按 1',0DH,0AH
        DB   	' 右循环-----按 2',0DH,0AH
        DB      ' 间隔闪烁---按 3',0DH,0AH
        DB      ' 退  出-----按 4',0DH,0AH,'$'
MESS2   DB 	'按下键无效,继续选择',0DH,0AH,'$'
MESS3   DB 	'按任意键退回主菜单',0DH,0AH,'$'
DATA    ENDS
STACK   SEGMENT
STA     DB 20 DUP(?)
TOP     EQU LENGTH STA
STACK   ENDS
CODE    SEGMENT
ASSUME  CS:CODE,DS:DATA,SS:STACK,ES:DATA
START:  MOV       AX,DATA             ;初始化
        MOV     DS,AX
        MOV     AX,STACK
        MOV     SS,AX
        MOV     AX,TOP
        MOV     SP,AX
        MOV     DX,P55CTL
        MOV     AL,80H
        OUT     DX,AL
BG:     LEA     DX,MESS1            ;显示信息1
        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      JGS
        MOV     AL,AH
        CMP     AL,'4'
        JNZ     WX
        JMP     QIT
WX:     LEA     DX,MESS2           ;无效按键信息提示
        MOV     AH,09H
        INT     21H
        JMP     BG
ZXH:    MOV     DX,21AH             ;左循环
        MOV     AL,0FEH
BB:     OUT     DX,AL
        MOV     CX,0FFFFH
L1:     LOOP    L1
        ROL     AL,1
        PUSH    AX
        PUSH    DX
        MOV     DL,0FFH
        MOV     AH,06H
        INT     21H
        JNZ     BG
        POP     DX
        POP     AX
        JMP     BB
YXH:    MOV     DX,21AH             ;右循环
        MOV     AL,0FEH
EE:     OUT     DX,AL
        MOV     CX,0FFFFH
L2:     LOOP    L2
        ROR     AL,1
        PUSH    AX
        PUSH    DX
        MOV     DL,0FFH
        MOV     AH,06H
        INT     21H
        JNZ     BG
        POP     DX
        POP     AX
        JMP     EE
JGS:    MOV     DX,21AH              ;间隔闪烁
        MOV     AL,55H
HH:     OUT     DX,AL
        MOV     CX,0FFFFH
L3:     LOOP    L3
        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
        CODE    ENDS
END     START

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -