Welcome, guest! Login / Register - Why register?
Psst.. new poll here.
Psst.. new forums here.

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

Your Name: Code Language: