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

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

Data  segment
PortA equ 404H ; 8255的PA口地址
   xz db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h ;定义0~9的显示代码
s   db "Display 0~9 . Press any key to exit ...",0dh,0ah,"$"    ;程序功能提示
Data  ends
Code  segment
      assume cs:code,ds:data
Start: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         ;PA、PB口初始化为基本输出方式
   L0:lea si,xz
   L1:mov al,[si]       ;显示数字
      mov ah,0fh        ;置位选初值,四个数码管同时显示
      mov dx,PortA
      out dx,al
      mov al,ah
      mov dx,PortA+1
      out dx,al
      call de           ;延时
      mov ah,0bh
      int 21h    ; 检测有无按键,返回AL=0FFh(有按键)或0(无按键)
      cmp al,0FFh
      jz Exit
      inc si             ;准备显示下一数字
      cmp si,0ah         ;判断是否显示完 "9"
      jnz l1
      jmp l0
 Exit:mov ah,4ch         ; 结束程序
      int 21h
  de  proc near          ; 循环延时子程序
      push cx
      push bx
      mov cx,100
  d1: mov bx,8000
  d2: dec bx
      jnz d2
      loop d1
      pop bx
      pop cx
      ret
  de  endp
Code  ends
      end Start

猜你喜欢

转载自blog.csdn.net/qq_43422111/article/details/106663505