org 100h

; passage en mode 13h
mov ax, 13h
int 10h

; affichage d'une image
mov ax, 0A000h
mov es, ax          ; ES = segment du framebuffer VGA
mov di, 8085        ; zone de début de dessin (en base 10)
mov si, image       ; adresse de la ressource image
mov bx, 150         ; nombre de lignes
colonne:
    mov cx, 150     ; nombre de pixels par ligne
    ligne:
        mov al, [si]
        mov [es:di], al
        inc di
        inc si
        loop ligne
    add di, 320     ; on passe à la ligne suivante
    sub di, 150     ; on se remet au début dans la ligne
    dec bx
    cmp bx, 0
    jne colonne

; attente appui touche
mov ah, 00h
int 16h

; repasse en mode texte
mov ax, 03h
int 10h

ret

%include "image.asm"
