PANTALLA EQU 0A000h
ORIGEN 400h
INICIO ini
;
.DATOS
pantalla VALOR PANTALLA
;
.CODIGO
;
;programa principal
;
ini:
;direcció memòria de video
MOVH R0, BYTEALTO DIRECCION pantalla
MOVL R0, BYTEBAJO DIRECCION pantalla
;carrega lletra H amb fons negre i lletra blanca
MOVH R2, BYTEALTO 00000111b
MOVL R2, BYTEBAJO 19H
;carrega possició primera lletra de "hola" respecte la possició de
;memòria de video ---> (2*15)+5 = 35
MOVH R3, BYTEALTO 00h
MOVL R3, BYTEBAJO 35h
;calcula possició de memòria real
ADD R1, R0, R3
;printa la lletra
MOV [R1], R2
;carrega la lletra O, la possició i printa
MOVL R2, BYTEBAJO 12h
INC R1
MOV [R1], R2
;carrega la lletra l, la possició i printa
MOVL R2, BYTEBAJO 1Ch
INC R1
MOV [R1], R2
;carrega la lletra a, la possició i printa
MOVL R2, BYTEBAJO 14h
INC R1
MOV [R1], R2
;
;carrega lletra L amb fons blanc i lletra negra
MOVH R2, BYTEALTO 00111000b
MOVL R2, BYTEBAJO 1CH
;
;carrega possició primera lletra de "laia" respecte la possició de
;memòria de video --> (4*15)+4 = 64
MOVH R3, BYTEALTO 0h
MOVL R3, BYTEBAJO 64
;
;calcula possició de memòria real
ADD R1, R0, R3
;
;printa la lletra
MOV [R1], R2
;
;carrega la lletra a, la possició i printa
MOVL R2, BYTEBAJO 14h
INC R1
MOV [R1], R2
;carrega la lletra i, la possició i printa
MOVL R2, BYTEBAJO 11h
INC R1
MOV [R1], R2
;carrega la lletra a, la possició i printa
MOVL R2, BYTEBAJO 14h
INC R1
MOV [R1], R2
JMP -1
FIN