mirror of
https://github.com/wfjm/w11.git
synced 2026-04-28 21:08:35 +00:00
tcode: add tests; minor changes
- cpu_details.mac: add C1.* tests - cpu_mmu.mac: B4.1: check stored PC in SimH and w11 case
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
; $Id: cpu_details.mac 1304 2022-10-22 10:19:34Z mueller $
|
||||
; $Id: cpu_details.mac 1305 2022-10-23 07:44:21Z mueller $
|
||||
; SPDX-License-Identifier: GPL-3.0-or-later
|
||||
; Copyright 2022- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
|
||||
;
|
||||
@@ -115,8 +115,8 @@ ta0101: mov #1000$,v..pir ; setup handler
|
||||
ash r1,r2 ; r2 = pi.r00 <<(pri)
|
||||
bic r2,(r3) ; clear current level in pirq
|
||||
bis 1100$(r0),(r3) ; trigger new pirqs
|
||||
nop ; allow nestec interrupts to happem
|
||||
nop ; "
|
||||
nop ; allow nested interrupts to happen
|
||||
nop ;
|
||||
dec 1300$ ; down level counter
|
||||
rti
|
||||
;
|
||||
@@ -511,10 +511,61 @@ tb0202: mov #2,r5
|
||||
;
|
||||
9999$: iot ; end of test B2.2
|
||||
;
|
||||
; Section C: 11/70 specifics =================================================
|
||||
;
|
||||
; Test C1: Implementation differences +++++++++++++++++++++++++++++++++++++++
|
||||
; This sub-section verifies that w11 shows 11/70 behavior in cases
|
||||
; were J11 and other CPU models show different behavior
|
||||
;
|
||||
; Test C1.1 -- Register used as source and changed in dst flow +++++++
|
||||
; OPR R,(R)+ : incremented before {J11} or after {70} use as source
|
||||
; OPR R,-(R) : decremented before {J11} or after {70} use as source
|
||||
;
|
||||
tc0101: mov #1000$,r4
|
||||
mov r4,(r4)+
|
||||
hcmpeq 1000$,#1000$ ; check r4 prior inc stored
|
||||
mov r4,-(r4)
|
||||
hcmpeq 1000$,#1000$+2 ; check r4 prior dec stored
|
||||
br 9999$
|
||||
;
|
||||
1000$: .word 0
|
||||
;
|
||||
9999$: iot ; end of test C1.1
|
||||
;
|
||||
; Test C1.2 -- PC used as source +++++++++++++++++++++++++++++++++++++
|
||||
; OPR PC,A(R) : store PC+2 {70} or PC+4 {J11}
|
||||
;
|
||||
tc0102: mov #1000$,r4
|
||||
100$: mov pc,0(r4)
|
||||
hcmpeq 1000$,#100$+2 ; check pc after fetch stored
|
||||
br 9999$
|
||||
;
|
||||
1000$: .word 0
|
||||
;
|
||||
9999$: iot ; end of test C1.2
|
||||
;
|
||||
; Test C1.3 -- Registers accessible via 177700-1777717 +++++++++++++++
|
||||
; CPU access to 177700-177717 (regs) timesout {70,J11} or not {05,10}
|
||||
;
|
||||
tc0103: mov #vhugen,v..iit ; set iit handler
|
||||
clr v..iit+2 ; pr0 kernel
|
||||
;
|
||||
mov #1000$,vhustp ; continuation address
|
||||
tst @#177700 ; should fail
|
||||
halt
|
||||
;
|
||||
1000$: mov #1100$,vhustp ; continuation address
|
||||
tst @#177716 ; should fail
|
||||
halt
|
||||
;
|
||||
1100$: mov v..iit+2,v..iit ; restore iit handler
|
||||
;
|
||||
9999$: iot ; end of test C1.3
|
||||
;
|
||||
; END OF ALL TESTS - loop closure ============================================
|
||||
;
|
||||
mov tstno,r0 ; hack, for easy monitoring ...
|
||||
hcmpeq tstno,#16. ; all tests done ?
|
||||
hcmpeq tstno,#19. ; all tests done ?
|
||||
;
|
||||
jmp loop
|
||||
;
|
||||
|
||||
Reference in New Issue
Block a user