diff options
| -rw-r--r-- | tb/sim/hazards.S | 20 | ||||
| -rw-r--r-- | tb/sim/hazards.py | 9 |
2 files changed, 29 insertions, 0 deletions
diff --git a/tb/sim/hazards.S b/tb/sim/hazards.S new file mode 100644 index 0000000..3e6213a --- /dev/null +++ b/tb/sim/hazards.S @@ -0,0 +1,20 @@ +.global reset + +reset: + mov r5, #3 + mov r7, #6 + mov r9, #9 + mov sp, #256 + str r5, [sp, #-4] + mov r0, #69 + mov r1, #-10 + + .loop1: + tst r1, r1 + beq .loop2 + add r1, r1, #1 + sub r0, r0, #1 + b .loop1 + + .loop2: + b .loop2 diff --git a/tb/sim/hazards.py b/tb/sim/hazards.py new file mode 100644 index 0000000..9fa3e44 --- /dev/null +++ b/tb/sim/hazards.py @@ -0,0 +1,9 @@ +SP = 256 + +mem_dumps = [range(SP - 4, SP)] + +def final(): + assert_reg(r0, 59) + assert_reg(r1, 0) + assert_reg(sp, SP) + assert_mem(SP - 4, 3) |
