In this project, the Thumb 16 bit instruction set is simulated. The simulator can be used to examine performance metrics of a given program. Example measurements are given for the Shang benchmark with differnt optimization levels.
- push
- pop
- sub (sp minus immediate)
- sub (immediate)
- sub (register)
- add (sp plus register)
- add (sp plus immediate)
- add (register)
- add (immediate)
- cmp (register)
- cmp (immediate)
- mov (immediate)
- mov (register)
- str
- strb
- stmia
- ldr
- ldrb
- ldr (literal)
- ldmia
- b (unconditional)
- bcc
- bcs
- beq
- bge
- bhi
- ble
- bls
- blt
- bne
- bl
- lsl (immediate)
- neg.