/* -------------------------------------------------- Define required labels for EGTAPI -------------------------------------------------- */ .global main, Stop, CodeEnd .global DataStart, DataEnd .global i, s, b1, b2 /* -------------------------------------------------- Begin of the program instructions -------------------------------------------------- */ .text main: // Move b into r6 movw r0, #:lower16:b // Moves the address of memory movt r0, #:upper16:b // variable b into register r0 ldrsb r1,[r0] // Move byte value from var into r1 // Move s into r2 movw r0, #:lower16:s // Moves the address of memory movt r0, #:upper16:s // variable s into register r0 ldrsh r2,[r0] // Move short value from var into r2 // Move i into r movw r0, #:lower16:i // Moves the address of memory movt r0, #:upper16:i // variable i into register r0 ldr r3,[r0] // Move int value from var into r3 Stop: CodeEnd: nop /* -------------------------------------------------- Begin of the permanent program variables -------------------------------------------------- */ .data DataStart: i: .4byte -4 // int typed variable s: .2byte -3 // short typed variable b: .byte -2 // byte typed variable b2: .byte -3 // byte typed variable DataEnd: .end