Está en la página 1de 1

title Escribe memoria de video

.model small
.code
main proc
mov ax,@data
mov ds,ax

mov ax,0b800h ;para inicializar segmento


mov es,ax ;se usara el segmento extra
; printea las primeras dos lineas (la que no se ve la segunda --> que e
s la primera que se ve) de color verde
mov cx,160 ;2000 caracteres (25 * 80)
mov bx,0h ;se usara bx como indice
mov ah,024h ;fondo verde, fg rojo
mov al,178; character que busque =D
call printchar
mov cx,80 ; imprimimos los proximos 80 caracteres
mov al,238 ; aqui tenemos que el caracter 238 (omega) se dibujara en la
segunda linea visible 80 veces
call printchar ; llama la subrutina printchar

mov cx,1760 ; como ya se imprimeron los primeros 240 espacios de la pant


alla, este es el restante que se imprimira
; que es la sobra de los 2000 caracteres (o espacios) dispon
ibles en total (2000 - 160 - 80 = 1760)
mov al,020h ; espacio
call printchar

mov ax,4c00h
int 21h
main endp
printchar proc
proxDir: ;mueve el caracter a memoria
; mov es:[bx],0010 0000 0100 0001b
mov es:[bx],ax
inc bx
inc bx
loop proxDir ;pasa a la prox. localizacion
ret
printchar endp
end main

También podría gustarte