/* 4567890123456789012345678901234567890123456789012345678901234567890123456 */ /* Legge la posizione degli interruttori e accende i led di conseguenza. */ /* Versione RedBoot/GDB */ /* Per produrre un eseguibile elf32 "leds" */ /* xscale-elf-as -gstabs -o leds.o leds.s */ /* xscale-elf-ld -g -Ttext 0x00100000 -o leds leds.o */ /* Per avere un dump del contenuto del file: */ /* xscale-elf-objdump -d -S leds */ .text .global _start _start: /* Inizializzazione obbligatoria */ ldr r0, =0x26e026e0 ldr r1, =0x48000010 str r0,[r1] ldr r1, =0x40e0000c ldr r0, [r1] orr r0, r0, #0x00008000 str r0, [r1] ldr r1, =0x40e00054 ldr r0, [r1] orr r0, r0, #0x80000000 str r0, [r1] ldr r1, =0x40e00010 ldr r0, [r1] orr r0, r0, #0x00000002 str r0, [r1] ldr r1, =0x40e0005c ldr r0, [r1] orr r0, r0, #0x00000008 str r0, [r1] /* Programma vero e proprio */ ldr r0,=0x70000000 mov r1, #0 ciclo: ldr r2, [r0] mvn r2, r2 str r2, [r0] cmp r2, r1 bne ciclo /* Restituisce il controllo al bootloader */ ldr pc, =0x50080000 /* Fine del programma */ .end