微机原理-虚拟仿真实验-LED显示电路汇编代码

微机原理-虚拟仿真实验-LED显示电路汇编代码

data   segment
portA  equ 400H        ; PA口地址
s      db "twenty four LEDs flicker circularly. Press any key to exit ...",0dh,0ah,"$"   ;程序功能提示
data   ends
code   segment
        assume cs:code,ds:data
go:    mov ax,data
       mov ds,ax
      mov dx,offset s    ;显示提示
      mov ah,9
      int 21h
       mov dx,porta+3
       mov al,80h
       Out dx,al         ; 三端口均初始化为方式0输出
L0:    mov si,24
       mov bx,7         ;  低16位初始值设为1(一个灯亮)
       mov cl,0          ;  高8位初始值设为0
L1:    mov ah,0bH
        Int 21h         ; 有无按键
        Cmp al,0ffH
        Jz  exit       
        mov dx,porta   ; 输出24位数
        mov al,bl
        Out dx,al  
        Inc  dx
        mov al,bh
        Out dx,al  
        Inc  dx
        mov al,cl
        Out dx,al  
        Call delay05    ; 延时
        SHL  bx,1       ;  低16位左移一位
        Rcl  cl,1         ;  高8位左移一位
        dec si       
        jnz  L1
        Jmp  L0         ; 重新开始
Exit:   mov ah,4ch
        Int 21h
delay05 proc near        ; 循环延时子程序
        push cx
        push bx
        mov cx,0020H
d1:     mov bx,1200h
d2:     dec bx
        jnz d2
        loop d1
        pop bx
        pop cx
        ret
delay05 endp
Code   ends
        End go

你可能感兴趣的:(本科课程资料,笔记)