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 kv in before['memory']:
|
||||||
for k in kv:
|
for k in kv:
|
||||||
a = int(k, 8)
|
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):
|
for reg in range(6):
|
||||||
p.r[reg] = int(before[f'reg-{reg}.0'])
|
p.r[reg] = int(before[f'reg-{reg}.0'])
|
||||||
p.r_alt[reg] = int(before[f'reg-{reg}.1'])
|
p.r_alt[reg] = int(before[f'reg-{reg}.1'])
|
||||||
|
|
||||||
|
do_n_instructions = int(before['run-n-instructions'])
|
||||||
|
|
||||||
# do
|
# do
|
||||||
p.run(pc=pc, breakpoint=return_true)
|
for count in range(do_n_instructions):
|
||||||
|
p.run(pc=pc, breakpoint=return_true)
|
||||||
p._syncregs()
|
p._syncregs()
|
||||||
|
|
||||||
# verify
|
# verify
|
||||||
|
@ -57,7 +66,11 @@ for test in j:
|
||||||
for kv in after['memory']:
|
for kv in after['memory']:
|
||||||
for k in kv:
|
for k in kv:
|
||||||
a = int(k, 8)
|
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_)
|
now_errors += compare(v, int(kv[k]), f'memory {a:06o}', id_)
|
||||||
|
|
||||||
for reg in range(6):
|
for reg in range(6):
|
||||||
|
|
Loading…
Add table
Reference in a new issue