Files
lt16lab/programs/simple.prog
Thomas Fehmel 657a54ba18 Initial Commit
2016-10-18 14:21:45 +02:00

36 lines
605 B
Plaintext

reset: br >main
nop
hardfault: reti
nop
memfault: reti
nop
main: // actual start of program
clr r0
clr r1
clr r2
clr r3
clr r4
//test move = or
addi r0, 0x55 // expected r0 = 0x55
mov r1, r0 // expected r1 = 0x55
//test shift
addi r2, 0x0A //expected r2 = 0x0A
lsh r3, r2, 16 //expected r3 = 0xA_0000
lsh r3, r3, 12 //expected r3 = 0xA000_0000
// test write
ldr r4, >adr_a //expected r4 = 0x3C0
st32 r4, r3 //expected value at addr 0xF00 = 0xA000_0000
end: br always >end
nop
.align
adr_a: .word 0x3C0 // actual adr at mem 0xF00 (0x3C0<<2 bits)
//adr_a: .word 0x3F8
//adr_a: .word 0x20C