Esempio 11: esercizio stampa Hello World a singoli caratteri

Visto come stampare un carattere o numero, passiamo ad una versione più complessa di stampa, con una intera parola. In questo caso stampiamo il più classico degli esempi “Hello World”

Per ogni carattere impostiamo il carattere ascii col suo numero in un registro, ad esempio la parte bassa del registro B. Quindi seguono tre istruzioni standard che servono ad indicare alla control unit la necessità di stampare a video. E’ una sequenza prefissata, c’è solo da annotarla o impararla a memoria per usarla: sposto il valore dal registro B al D e chiedo una interrupt per stampa a video. MOV dl, bl  => MOV ah, 02h => INT 21h

;esempio 11
;esercizio: stampa hello world con le singole lettere

.STACK
.DATA

.CODE
.STARTUP

MOV bl, 48h   ;H
MOV dl, bl      
MOV ah, 02h
INT 21h

MOV bl, 65h   ;e
MOV dl, bl      
MOV ah, 02h
INT 21h     

MOV bl, 6Ch   ;l
MOV dl, bl      
MOV ah, 02h
INT 21h

MOV bl, 6Ch   ;l
MOV dl, bl      
MOV ah, 02h
INT 21h

MOV bl, 6Fh   ;o
MOV dl, bl      
MOV ah, 02h
INT 21h        

MOV bl, 00h   ; spazio vuoto
MOV dl, bl      
MOV ah, 02h
INT 21h  

MOV bl, 57h   ;W
MOV dl, bl      
MOV ah, 02h
INT 21h

MOV bl, 6Fh   ;o
MOV dl, bl      
MOV ah, 02h
INT 21h        

MOV bl, 72h   ;r
MOV dl, bl      
MOV ah, 02h
INT 21h         

MOV bl, 6Ch   ;l
MOV dl, bl      
MOV ah, 02h
INT 21h

MOV bl, 64h   ;d
MOV dl, bl      
MOV ah, 02h
INT 21h

.EXIT
END

Ultima modifica 9 Gennaio 2024