You are on page 1of 2

CODE SEGMENT 'CODE'

ASSUME DS:DATA,CS:CODE,SS:STACK

LCD_CMD_WR EQU 9000H


LCD_DATA_WR EQU 9002H
LCD_BUSY_RD EQU 9004H
LCD_DATA_RD EQU 9006H

START:
MOV AX,DATA
MOV DS,AX

MOV AX,STACK
MOV SS,AX

MOV SP,AX

IN AX,DX

MOV AX,30H
CALL WRCMD

MOV AX,38H
CALL WRCMD

MOV AX,0CH
CALL WRCMD

MOV AX,01H
CALL WRCMD

MOV AX,06H
CALL WRCMD

MAINLOOP:
MOV AX,80H
MOV CX,20
LEA DI,str1
CALL WRSTR

MOV AX,01H
CALL WRCMD

JMP MAINLOOP

WRCMD: MOV DX,LCD_CMD_WR


OUT DX,AX
RET

WRSTR: CALL WRCMD


MOV DX,LCD_DATA_WR
WRBIT: MOV AL,[DI]
OUT DX,AL
INC DI
LOOP WRBIT

WRRET: RET
CODE ENDS

STACK SEGMENT 'STACK'


STA DB 100 DUP(?)
TOP EQU LENGTH STA
STACK ENDS

DATA SEGMENT 'DATA'


str1 db 'PROYECTO NEIL ZAPANA'
DATA ENDS

END START

You might also like