.arm
.text
.global main

.section .iwram

main:
    @Passe en mode 3
    mov r0, #0x4000000          @ r0=REG_DISPCNT
    mov r1, #0x400              @ r1=VIDEO_BG2_ENABLED
    add r1, r1, #3              @ r1=r1+VIDEO_MODE3
    str r1, [r0]                @ *r0=r1
    
    @ Pointeur sur la mémoire vidéo
    mov r0, #0x6000000          @ r0=MEMOIRE_VIDEO
    @ La couleur (rouge)
    mov r1, #0x3f4
    @ Boucle for (r2=0x9600;r2!=0;r2--)
    mov r2, #0x9600
remplit_ecran:
    strh r1, [r0], #2           @ *r0=r1 puis r0+=2 (16 bits)
    subs r2, r2, #1             @ r2=r2-1 et écrit r2 dans le registre de statut pour utiliser bne!
    bne remplit_ecran           @ if (r2!=0) goto remplit_ecran
    
infini:                         @while(TRUE)
    b infini
