/* -------------------------------------------------- Define required labels for EGTAPI -------------------------------------------------- */ .global main, Stop, CodeEnd .global DataStart, DataEnd .global i1, i2, s1, s2, b1, b2 /* -------------------------------------------------- Begin of the program instructions -------------------------------------------------- */ .text main: // Move byte b into r1 movw r0, #:lower16:b // Moves the address of memory movt r0, #:upper16:b // variable a into register r0 ldrsb r1,[r0] // Move byte value from var into r1 // Move int i into r2 --- fails because misaligned !!! movw r0, #:lower16:i // Moves the address of memory movt r0, #:upper16:i // variable b into register r0 ldr r2,[r0] // Move int value from var into r2 Stop: CodeEnd: nop /* -------------------------------------------------- Begin of the permanent program variables -------------------------------------------------- */ .data DataStart: b: .byte 4 .align 2 // Skip to addr dvi by 4 (= 2^2) i: .4byte 44 DataEnd: .end