summaryrefslogtreecommitdiff
path: root/tb
diff options
context:
space:
mode:
authorAlejandro Soto <alejandro@34project.org>2022-12-18 00:22:13 -0600
committerAlejandro Soto <alejandro@34project.org>2022-12-18 00:22:23 -0600
commit6d458ad9629268ecfc69881b4fb10dca0498fbd0 (patch)
treeea149276a31f518788c758899ab5ced8a8a8b74c /tb
parentca8b6e6696e279f56faacad39501019c3762a1b7 (diff)
Fix datapath of shifter carry-out during adc/sbc/rsc
Diffstat (limited to 'tb')
-rw-r--r--tb/sim/shifts.S3
-rw-r--r--tb/sim/shifts.py1
2 files changed, 4 insertions, 0 deletions
diff --git a/tb/sim/shifts.S b/tb/sim/shifts.S
index 6209157..ba464f7 100644
--- a/tb/sim/shifts.S
+++ b/tb/sim/shifts.S
@@ -17,4 +17,7 @@ reset:
ldr r4, =(512 << 20)
ldr r5, =#60
lsr r4, r4, r5
+ mov r5, #0
+ ldr r12, =-123456
+ adc r5, r5, r12, asr #18
mov pc, lr
diff --git a/tb/sim/shifts.py b/tb/sim/shifts.py
index 9923124..11413e5 100644
--- a/tb/sim/shifts.py
+++ b/tb/sim/shifts.py
@@ -3,3 +3,4 @@ def final():
assert_reg(r2, 0x00015000)
assert_reg(r3, 0xaaa9fd55)
assert_reg(r4, 0)
+ assert_reg(r5, -1)