Paste
Pasted as ARM assembler by not_a_sysadmin_ ( 8 years ago )
.section .init
.globl _start
_start:
ldr r0,=0x3F200000
mov r1,#1
lsl r1,#6
str r1,[r0,#0x4]
mov r1,#1
lsl r1,#12
loop$:
bl morseS
bl morseO
bl morseS
b loop$
morseS:
mov r6,lr
bl dotBlink
bl dotBlink
bl dotBlink
bl delayMedium
mov lr,r6
bx lr
morseO:
mov r6,lr
bl dashBlink
bl dashBlink
bl dashBlink
bl delayMedium
mov lr,r6
bx lr
dotBlink:
mov r7,lr
str r1,[r0,#0x1C]
bl delayShort
str r1,[r0,#0x28]
bl delayShort
mov lr,r7
bx lr
dashBlink:
mov r7,lr
str r1,[r0,#0x1C]
bl delayLong
str r1,[r0,#0x28]
mov r2,#0xAF0000
bl delayShort
mov lr,r7
bx lr
delayShort:
ldr r4,=0x3f003004
ldr r4,[r4]
ldr r5,=0x30D40
delayLoop1$:
ldr r3,=0x3F003004
ldr r3,[r3]
sub r3,r3,r4
cmp r3,r5
blt delayLoop1$
bx lr
delayMedium:
ldr r4,=0x3f003004
ldr r4,[r4]
ldr r5,=0x61A80
delayLoop3$:
ldr r3,=0x3F003004
ldr r3,[r3]
sub r3,r3,r4
cmp r3,r5
blt delayLoop3$
bx lr
delayLong:
ldr r4,=0x3f003004
ldr r4,[r4]
ldr r5,=0x927C0
delayLoop2$:
ldr r3,=0x3F003004
ldr r3,[r3]
sub r3,r3,r4
cmp r3,r5
blt delayLoop2$
bx lr
Revise this Paste