7-Segment Display Interface - Display Messages Fire and Help
7-Segment Display Interface - Display Messages Fire and Help
.MODEL SMALL
.DATA
PA EQU 0CD00H ; Port address for ESA Module.
PB EQU 0CD01H
PC EQU 0CD02H
CR EQU 0CD03H
CW DB 80H ; Port-B Out, Port-C Out, Mode 0 I/O.
MSG1 DB 13,10,"7-SEGMENT DISPLAY INTERFACE - DISPLAY MESSAGES
FIRE AND HELP...",'$'
MSG2 DB 13,10,"Press any key to Exit.$"
STR1 DB 8EH, 0F9H, 0AFH, 86H ; F I r E
STR2 DB 89H, 86H, 0C7H, 8CH ; H E L P
.CODE
START: MOV AX, @DATA
MOV DS, AX
MOV AL, CW
MOV DX, CR
OUT DX, AL
.model small
.stack 20
.data
blanks db 0,0,0,0,0,0
fire db 0,0,79h,50h,06h,71h
help db 73h,38h,79h,76h,0,0
.code
start:
mov ax,@data
mov ds,ax
mov al,80h
mov dx,control
out dx,al
call display
dec di
jnz fir
mov di,300
dec di
jnz blnk
mov di,150
call display
dec di
jnz hlp
mov di,300
call display
dec di
jnz blnk1
mov ah,0bh
int 21h
or al,al
jz up
;----------terminate-------------------------------------------
mov ah,4ch
int 21h
display proc
mov dx,portc
mov al,07h
out dx,al
mov cx,06h
mov bl,00h
select:
mov al,bl
mov dx,portc
out dx,al
mov dx,porta
lodsb
out dx,al
call delay
inc bl
cmp bl,05
jle down
mov bl,00
down:
loop select
ret
display endp
delay proc
push bx
push cx
mov cx,0ffh
up2: dec bx
jnz up2
loop up1
pop cx
pop bx
ret
delay endp