LC3 to ARM Cortex M LC3 ARM Cortex M ADD R1,R2,R3 ADD R1,R2,R3 ; R1 <- R2 + R3 ADD R1,R2,#5 ADD R1,R2,#5 ; R1 <- R2 + 5 AND R1,R2,R3 AND R1,R2,R3 ; R1 <- R2 & R3 AND R1,R2,#x10 AND R1,R2,#0x10 ; R1 <- R2 & 16 NOT R1,R2 EOR R1,R2,#0xFFFFFFFF ; R1 <- ~(R2) NOT R3,R3 SUB R1 ,R2, R3 ; R1 <- R2 – R3 ADD R3,R3,#1 ADD R1,R2,R3 ADD R1,R2,R2 LSL R1,R2,#1 ; left shift Many instructions ASR R1,R2,#1 ; right shift Many instructions MUL R1,R2,R3 ; R1 <- R2 * R3 Many instructions UDIV R1,R2,R3 ; R1 <- R2 / R3 Many instructions SDIV R1,R2,R3 ; R1 <- R2 / R3