memory before/after, instruction count
This commit is contained in:
parent
e1300a8c43
commit
6ae4b9b641
1 changed files with 16 additions and 3 deletions
|
@ -37,14 +37,23 @@ for test in j:
|
|||
for kv in before['memory']:
|
||||
for k in kv:
|
||||
a = int(k, 8)
|
||||
p.physRW(a, value=int(kv[k]))
|
||||
clean_a = a & (~1)
|
||||
v_work = p.physRW(clean_a)
|
||||
if a & 1:
|
||||
v_work = (v_work & 0xff00) | int(kv[k])
|
||||
else:
|
||||
v_work = (v_work & 0x00ff) | (int(kv[k]) << 8)
|
||||
p.physRW(clean_a, value=v_work)
|
||||
|
||||
for reg in range(6):
|
||||
p.r[reg] = int(before[f'reg-{reg}.0'])
|
||||
p.r_alt[reg] = int(before[f'reg-{reg}.1'])
|
||||
|
||||
do_n_instructions = int(before['run-n-instructions'])
|
||||
|
||||
# do
|
||||
p.run(pc=pc, breakpoint=return_true)
|
||||
for count in range(do_n_instructions):
|
||||
p.run(pc=pc, breakpoint=return_true)
|
||||
p._syncregs()
|
||||
|
||||
# verify
|
||||
|
@ -57,7 +66,11 @@ for test in j:
|
|||
for kv in after['memory']:
|
||||
for k in kv:
|
||||
a = int(k, 8)
|
||||
v = p.physRW(a)
|
||||
v = p.physRW(a & (~1))
|
||||
if a & 1:
|
||||
v &= 0xff
|
||||
else:
|
||||
v >>= 8
|
||||
now_errors += compare(v, int(kv[k]), f'memory {a:06o}', id_)
|
||||
|
||||
for reg in range(6):
|
||||
|
|
Loading…
Add table
Reference in a new issue