AC F080A MC_X11mon Lib_Sep78 MC X11mon Lib Sep78

AC-F080A-MC_X11monLib_Sep78 AC-F080A-MC_X11monLib_Sep78

User Manual: AC-F080A-MC_X11monLib_Sep78

Open the PDF directly: View PDF PDF.
Page Count: 1196

DownloadAC-F080A-MC_X11mon Lib_Sep78 AC-F080A-MC X11mon Lib Sep78
Open PDF In BrowserView PDF
xxx

xxx

XXX
XXX
XXX
XXX
XXX

XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX

XXX
XXX
XXX

XXX
XXX
XXX
XXX
XXX
XXX

XXX
XXX
XXX
XXX
XXX
XXX
XXx.
XXX
XXX

XXX
XXX
XXX
>;XX
,;XX
XXX

SSSSSSSSSSSS
SSSSSSSSSSSS
SSSSSSSSSSSS
SSS
SSS
SSS
SSS
SSS
SSS
SSSSSSSSS
SSSSSSSSS
SSSSSSSSS

sss
SSS
SSS
SSS
SSS
SSS

SSSSSSSSSSSS
SSSSSSSSSSSS
SSSSSSSSSSSS

r~lMI\~

MM!V1
MMM

MMM
MMM

000000000
000000000
000000000

MIVlM

MMMMiV1M
MMrAM;\'iM
MMMiV1MM
!V1MMMMM
MiV:MiVlftM
MMM
MMM
f~:MM
MI\\M
f,1PJ: ~.J1
MMM
MI\::\1
M~IIM
MMM
1\11\1M
MMM
MMM
MMM
MMM
r,l!'v:M
MMM
r,1MM
MMM
!V1MM
M!W,~MMM

rv1MM

!'v1J1.1M

Mrl'1M
fvliYiM

MI\1~:i

r,lMM

M~'ilM

I\~MM

MMM
MMM

MMM

M~V;M

Mrv~M

MMM

EEEEEEEEEEEEEEE
EEEEEEEEEEEEEEE
EEEEEEEEEEEEEEE
EEE
EEE
EEE
EEE
EEE
EEE
EEEEEEEEEEEE
EEEEEEEEEEEE
EEEEEEEEEEEE
EEE
EEE
EEE
EEE
EEE
EEE
EEEEEEEEEEEEEEE
EEEEEEEEEEEEEEE
EEEEEEEEEEEEEEE

000
COO
000
000
000
000
000
000
000
000
000
000
000
000
000

000
000
000
000
000
000
000
000
000
000
000
OCO
000
000
000
0:)0000000
000000000
000000000

NNN
N!'-JN
NNN
NNN
NNN
NNN
NNN
NNN
NNN
NNN
NNN
NNN
NNN
NNNNNN
NNNt-:,NN
NNN
NNN
NNNNNN
NNN
NNN
NNN
NNN
NNN
NNN
NNhl
NNN
NNN
NNNNNN
NNN
t-!NNNNN
NNN
NNNNNN
NNN
NI\!N
NNN
NNN
NNN
NNN
NNN
NNN
NNN
NNN
NNN
NNN
NNN

AAAAAAAAA
AAAAAAAAA
AAAAAAAAA

000000000
000000000
000000000

AAA
AAA
AAA
AAA
AAA
AAA
AAA
AAA
AAA
AAA
AAA
AAA
AAA
AAA
AAA
AAA
AAA
AP \
AAAAAAAAAAAAAAA
AAAAAAAAAAAAAAA
AAAAAAAAAAAAAAA
At-A
AAA
AAA
AAA
AAA
AAA
AAA
AAA
AAA
AAA
AAA
AAA

000
000
000
000
000
000
000000
000
000000
000
000000
000
000
000
000
000
000
000
000
000
000
000
000000
000
OCOOOO
000
000000
oeo
000
oeo
000
000
000
000000000
000000000
000000000

000000000
000000000
OOOOOQOOO

000
000

000
000

O:..iO

OQQ

GOO

000

OOG

000
000
000
000
000
000
GOO
000

000
000

GOO

000
000
000
000
000
000
000

QOO
GOO
000
000
000

000000

GOO

OOOOOG

GOO
000

000000

GOO

XERSPL version 102(2263)/3(61) run~ing on MTA061
*START* User CARPENTER,SA [400,4372] J0b XMONAO Seq. 4205 Date 25-Sep-78 12:27:16 Monitor IPC-F 603 [687] *START*
/TC:~L21-4:CARPEN -- Distribution to ML21-4, slot 133
Fi Ie: DSKZ:XMCNAO.SEO[400,3341] Created: 21-Sep-78 09:15:00 Printed: 25-Sep-78 12:27:17
QJEUE Switches: /FRINT:ARROW /FILE:ASCII /COPIES:1 /SPACING:1 /LIMIT:4060 /FORMS:NORMAL

IDENTIFICATION
SEQ 0001
PROD~CT

CODE:

AC-F080A-MC

PRODUCT NAME:

CXMONAO DEC/X"

DATE:

SEPTEMBER 1978

P~ODUCT

MAINTAINER:

DEC/X1'

Su~p0rt

MONITOR LIBRARY

Group

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE
WITHOUT NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT
BY DIGITAL EQUIPMENT
CORPORATION.
DIGITAL
EQUIP~ENT
CORPCRATION ASSUMES NO RESPONSIBILITY FOR ANY ERRORS THAT
MAY AP?EAR IN THIS MANUAL.
THE SOFT~ARE DESCRIBED IN THIS DOCUMENT IS FURNISHED TO THE
PURCHASER uNDER A LICENSE FOR USE ON A SINGLE COMPUTER
SYSTEM AND CAN BE COPIED (WITH INCLUSION OF DIGITALS
COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT AS MAY
OTHERWISE BE PROVIDED IN WRITING BY DIGITAL.
Digital Equipment Corporation assumes no responsibility for
the us~ or reliability of its software on equipment that is
not supplied by Digital.
copyright (c)

1973,1978 digital equipment corporation

SEQ 0002

.MAIN.
MACY11 30A(1052)
20-SEP-78
EQUATE.MAC
13-SEP-78 16:13
3
310
523
564

17:26
TABLE OF CONTENTS

COMMON EQUATE MODULE
MONITeR TYPE CODE EQUATES
MONITOR TABLE
MODULE LIST WITH MONITOR TYPE CODES

SEQ 0003 .

MNS?EC - MONITOR SPECIFICATION FILE
MNSPEC.MAC
21-JUL-78 14:12

MACY11 30A(1052)
20-SEP-75
COMMON EQUATE MODULE

17:26

PAGE 19
SEQ 0004,

.TITLE MNSPEC - MONITOR SPECIFICATION FILE

508
:309

.S8TTL MONITOR TYPE CODE EQUATES

510

511
312

513
514
515
516
517
518
519
520
521

000001
000002
000004
000010
000020
000040
000100
000200
000400

A
9
C

D
E
F
G

H
I

=
=

000001
000002
000004
000010
000020
000040
000100
000200
000400

;SMALLEST MONITOR
;NO MEMORY MANAGEMENT
;MEMORY MANAGEMENT
;11/60
;11/70
;9 WITH APT
;C WITH APT
;D WITH APT
;E WITH APT

MNSPEC - MONITOR SPECIFICATION FILE
21-JUL-78 14: 12
MNSPEC.MAC
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537

562

20-SEP-78

.SBTTL MONITOR TABLE
000000' 000101
000002' 000001
000004'

OOO~O?

000006'

000002

000010'

000103

000012'

000004

000014'

000104

000016'

000010

533

539
540
541
542
543
544
545
546
547
543
549
550
551
552
553
554
555
556
557
558
559
560
561

MACY11 30A(1052)
MONITOR TABLE

000020' 000105
000022'

000020

000024'

000106

000026'

000040

000030'

000107

000032'

000100

000034' 000110
000036'

000200

000040' 00011 1
000042'

000400

000044'

377

. ASCIZ
.EVEN
.WORD

IA/ .
A

.ASCIZ
.EVEN
.WORD

IBI

.ASCIZ
.EVEN
.WORD

ICI

.ASCIZ
.EVEN
.WORD

B

C

IDI
0

.ASCIZ
.EVEN
.wORD

lEI

.ASCIZ
.EVEN
.WORD

IFI

.ASCIZ
.EVEN
.WORD

IGI

.ASCIZ
.EVEN
.WORD
.ASCIZ
.EVEN
.WORD
.BYTE -1

E

F

G

IHI
H

III
I

17:26

PAGE , 9-1

SEQ 0005

1\1NS?EC - MONITOR SPECIFICATION FILE
21-JUL-78 14: 12
MNSPEC.MAC
564
565
56G
567
568
569
570
571
'572
573
374
575
576
577
578
579

.SBTTL MODULE LIST WITH MONITOR TYPE CODES
;+
; THE FOLLOWING MODULES ARE LISTED FIRST BECAUSE THEY MUST
; LIE WITHIN THE LOWEST 4K OF THE RUNTIME EXERCISER.

,
000045'

104

041505

000130

000052' 000777
046524
000054' 050101
000
000062'
000064'
000064' 000740

042117

051123

000126

580

581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
G02
603
604
605
606

607
608
609
610
611
612
613
614

MACY11 30A(1052) 20-SEP-78 17:26 PAGE 19-2
MODULE LIST WITH MONITOR TYPE CODES

000066' 042502
000074' 000777

000076' 046102 043517
000
000104'
0,)0106'
000106' 000210

030066

000110' 046102 043517
COO
000116'
000120'
000120' ('00420

030067

000122' 050107

051105

000122

000136' 000777
000140' 052113

042523

000124

000146' 000734
000150' 040520 042522
OC()
000156'
000160'
000160' 00C777

051122

000162' 041:")20 040504
000
000170'
00C172'
000172' 00C777

040524

051124

041514

000174' 041520

A!B!C!DIE!F!G!H!I

.ASCIZ

/APTMOD/

.EVEN
.WORD

F!GIH!I

.ASCIZ

/BESRV/

.EVEN
. WOF1D

A!B!C!D!EIF!G!H!I

.ASCIZ

/BLOG60/

.EVEN
.WORD

D!H

.ASCIZ

/BLOG70/

.EVEN
.WORD

E! I

.ASCIZ
.EVEN
.WORD

000101

000126' 00C777
000130' 052113

.ASCIZ
.EVEN
.WORD

.ASCIZ
.EVEN
.WORD

/DECX/

/GPA/
A!BIC!D!E!F!G!H!I
/KTERR/
A!B!C!D!E!F!G!H!I

.ASCIZ
.EVEN
.WORD

/KTSET/
C!D!E!G!H!I

.ASCIZ

/PARERR/

.EVEN
.WORD

AIBIC!D!E!F!G!H!I

.ASCIZ

/PCDATA/

.EVEN
.WORD

A!B!CIDIEIFIG!H!I

.ASCIZ

/PCTRLC/

SEQ 0006

f\;H~S.)EC
1\1t~SPEC

- MCi'JI TOR SP\::CIFICATION FILE
.MAC
21-JUL-78 14: 12
000
000204'
000204' 000777

17:~6
20-SEP-7£
PAGE 19-3
MACY11 30A(1052)
MODULE LIST WITrl MONITOR TYPE CODES

000202'
515

616
617
618
619
620

000206' 043120

.EVEN
.WORD
044501

000114

000214' 000777

AIB!C!D!E!F!G!HII
/PFAIL/

.ASCIZ
.EVEN
.WORD

A!B!CIDIE!F!G!H!I

.ASCIZ

/PRRLOC/

.EVEN
.WORD

CID!E!G!H!I

521

62:2
623
624
325
626
627
328

000216' 051120 046122
00(;
000224'
00 022t) ,
000226' 000734

041517

047514

000103

000230' 042522
C00236' 000734

.ASCIZ
.EVEN
.WORD

/RELOC/

.ASCIZ
.EVEN
.WORD

/RPIRQ/
AIB1C!D!EIFIG1H!I

.ASCIZ

/RSTRCY/

• EVEN
.WORD

AIB!C!D!EIF!G!H!I

C!DIE1G!HII

62'3

630
631
632
633
634
635
636
637
638
639
640
541
642
643
S4L,
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663

000240' 050122

051111

000121

000246' 000777
000250' 051522 051'24
000256'
000
000260'
000260 1 000777

054503

;+
; THE FOLLOWING MODULES MAY LIE ANYWHERE WITHIN THE
; RUNTIME EXERCISER.

,' 000262' 04150"\
000270'

044524

000126

000777

041507
000272' 05110"1
000
000300'
000302'
000302' 000777

045510

040502 052103
000
000314'
000314' 00077'1

053111

000316' 040502 046504
000324'
000
000326'
000326' 000734

046505

000330' 042102 041501
000336'
000
0003..:\0'
000340' 000777

053116

051526

053122

000304'
000312'

000342 ' 042102

.ASCIZ
.EVEN
.WORD

AIB!C!D!E!FIG!HII

.ASCIZ

/ARGCHK/

.EVEN
.WORD

A!B!C1D!EIFIG1H!I

.ASCIZ

/BACTIV/

.EVEN
.WORD

AIB1CID!EIF!G1H1I

.ASCIZ

/BADMEM/

.EVEN
.WORD

CIDIE!G1H!1

.ASCIZ

/BDACNV/

.EVEN
.WORD

AIBIC!DIEIF!G1HII

.ASCIZ

/BDVSRV/

/ACTIV/

SEQ 0007

MACY 11 30A(1052)
MODULE LIST WITH

MNSPEC - MONITOR SPECIFICATION FILE
21-JUl-78 14:12
MNSPEC.MAC
000
000352 1
000352' 000776
000350'
664
665
666
667
668
669
670
671
672
673
674
675
676
677
078
679
68~

681
682
683
684
685
686
687
688
689
650
691
692
693
694
695
696
697
698
699
700
70,
702
703
704
705
706
707
708
709

.EVEN
.WORD

000354' 047502 041501
000362 1
000362' 000777
000364 1 047502

030501

000

000066

0003721 000777
0003741 046103 042522
000
000402 1
000404 1
000404' 000777

050117

000406' 046503 041504
000
000414'
000416 1
1
000416 000777

054520

000420' 046503 042104
000
000426'
000430 1
000430' C00777

042·103

000432 1 046503 050104
000
000440 1
00 0.~42 1
000442 1 000777

041522

000444 1 046503 051104
000
000452'
000454 1
000454 1 000777

052123

000456 1 046503 052104
00,)
000464'
000466 1
000466 1 000734

030502

000470 1 046503 052104
000
000476 1
000500 1
000500 1 000001

031102

000502 1 046503 052104
000
000510 1
000512 1
0005121 000042

031502

000514 1 052103 050514
0005221
000
000524 1
1
000524 000777

042525

.ASCIZ
.EVEN
.WORD

20-SEP-78 17:26 PAGE 19-4
TYPE CODES

MO~ITOR

B!CID!E!FIGIHII
/BOAC/
AIBICID!E!FIG!HII
/BOA16/

.ASCIZ
.EVEN
.WORD

AIBICID!EIF!GIH!I

.ASCIZ

/CLREOP/

.EVEN
.WORD

A!B!CIDIEIFIGIHII

.ASCIZ

/CMDCPY/

.EVEN
.WORD

AIBIC1DIEIFIGIHII

.ASCIZ

/CMDDCD/

.EVEN
.WORD

A!BIC1DIEIF!GIH!I

.ASCIZ

/CMDPRC/

.EVEN
.WORD

A!B!C!D!EIFIGIHII

.ASCIZ

/CMDRST/

.EVEN
.\lJORD

AIBIC!DIE!FIGIHII

.ASCIZ

/CMDTB1/

.EVeN
. ~IJORD

CIDIE!GIHII

.ASCIZ

/CMDTB2/

.EVEN
.WORD

A

.ASCIZ

/CMDTB3/

.EVEN
.wORD

BIF

.ASCIZ

/CTLQUE/

.EVEN
.WORD

AIBICIDIEIFIGIHII

SEQ 0008

i\lNSPEC - MON I TOR SPECIFICATION FILE
21-JUL-78 14: 12
MNSPEC.MAC
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
75G
757

000526' 047503

047516

000106

000534' 000734
000536' 050104

047505

000120

000544' OC0777
000546' 050104 052123
000
000554'
000556'
000556' 000777

052122

000560' 051104 046520
000
000566'
000570'
000570' 000777

042117

000572' 05:504 041516
000
000600'
000602'
000602' 000777

045510

042522

000103

000604' 051105
000612' 000777

MACY 11 30A(1052) 20-SEP-78 17:26 PAGE 19-5
MODULE lIST WITH MONITOR TYPE CODES
.ASCIZ
.EVEN
.WORD

/CONOF/
CIDIEIGIHII

.ASCIZ
.EVEN
.WORD

/DPEOP/
A!BICID!EIFIGIH!I

.ASCIZ

/DPSTRT/

.EVEN
.WORD

A!BIC!DIEIFIG!H!I

.ASCIZ

/DRPMOD/

.EVEN
.WORD

AIBICID!EIFIGIHII

.ASCIZ

/DUNCHK/

.EVEN
.WORD

AIBIC!DIEIFIG!HII

.ASCIZ
.EVEN
.WORD

A!B!C!DIEIFIGIHII

.ASCIZ

/FILLML/

.EVEN
.WORD

A

.ASCIZ

/FILLMS/

.EVEN
.WORD

B!CID!EIFIG!HII

/ERREC/

000614' 044506 046114
000
000622'
000624'
000624' 000001

046115

000626' 044506 046114
000
000634'
000636'
000636' 000776

051515

000640' 042507 050124
000
000646'
ooe6se'
000650' 000777
000652' 051110 040504
000
000660'
000662'
000662' 000777

053523

.ASCIZ

/GETPSW/

051104

.EVEN
.wORD
.ASCIZ

A!BIC!DIEtFIG!HII
/HRDADR/

.EVEN
.WORD

A!BIC!DIEIFIG!HII

040522

000120

000664' 052110
000672' 000777

000674' 04151 1 051123
oeo
000702'
000704'
000704' 000420

047517

.ASCIZ
.EVEN
.WORD

/HTRAP/
A!BIC!D!EtFtG!HtI

.ASCIZ

/ICSROO/

.EVEN
.WORD

Ell

SEQ 0009

20-SEP-78 17:26 PAGE 19-6
MACY11 30A(1052)
MODULE LIST WITH MONITOR TYPE CODES

r,1NS?EC - MONITeR SPECIFICATION FILE
21-JUL-78 14:12
MNSPEC.MAC
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801

051123
000706' 041511
000714'
000
000716'
000716' 000420

055123

040530

000115

000720'

042513

000726'

000776

000730' 043113.

046111

000114

000736' 000777
000740' 046513 050101
000746'
000746' 000776

000

046513 042117
00075E.'
000756' 000777

000

000760' 046513 047117
OOC
000766'
00077C'
000770' 00073~

043117

000772' 051112, 047125
001000'
001000' 000734

000

000750'

001002'

051112,

001010'

00004~,

047125

000123

001012' 051513 046525
00102C'
001020' 000777

000

051512 051127
001030'
001030' 000777

000

001032' 052113 047117
OC1040'
coe
001042'
001042' 000734

043117

001044' 050114 047117
001052'
008
001054'
001054' 00077E

043117

001056' 051514 041524
000
001064'
001066'

045510

001022'

.ASCIZ

/ICSRSZ/

.EVEN
.WORD

E! I

.ASCIZ
.EVEN
.WORD

/KEXAM/

.ASCIZ
.EVEN
.WORD

/KFILL/

B!CID!E1F!G!H!I

A!BIC!D!E!FIGIHII

.ASCIZ
.EVEN
.WORD

/KMAP/

.ASCIZ
.EVEN
.WORD

/KMOD/
A!B!C!D1E!F!G!H1I

.ASCIZ

/KMONOF/

.EVEN
.WORD

C!D!E!G!H1I

.ASCIZ
.EVEN
.WORD
.ASCIZ
.EVEN
.WORD
.ASCIZ
.EVEN
.WORD

B!C!D!E!F!G!H1I

/KRUN/
C!DIE!G!HII
/KRUNS/
A!8IF
/KSUM/
A!8!C!D!EIF!G!HII

.ASCIZ
.EVEN
.WORD

A!8IC!DIE1F!G!H!I

.ASCIZ

/KTONOF/

.EVEN
.WORD

C!DIE!G!H1I

.ASCIZ

/LPONOF/

.EVEN
.WORD

8!CID!E!F1G!H!I

.ASCIZ

/LSTCHK/

/KSWR/

80~

803
804
8C5
806
807
808

.EVEN

SEQ 0010

1\1NSPEC - MONITOR S PEe I FI CAT ION FILE
21-JUL-78 14:12
MNSPEC.MAC
809

MACYll 30A(1052) 20-SEP-78 17:26 PAGE 19-7
MODULE LIST WITH MONITOR TYPE CODES

001066' 000777

.wORD

A!B!C!D!EIF!G!HII

.ASCIZ

jMSGDEQj

.EVEN
.WORD

A!B!C!D!E!F!G!H!I

.ASCIZ

jMSGDGEj

.EVEN
.WORD

A!B!C!D!EIF!G!H!I

.ASCIZ

jMSGDHOj

.EVEN
.WORD

A!BIC!D!EIF!G!H!I

.ASCIZ

jNAMCHKj

.EVEN
.WORD

A!BIC!D!EIF!GIHII

810

811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
8'::0
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855

051515 042107
000
CO 1100'
001100' 000777

050505

001102' 051515 042107
000
001110'
001112'
001112' 000777

042507

001114' 051515 042107
000
001122'
001124'
001124' 000777

047510

001126' 040516 041515
oeo
001134'
001136'
001136' 000777

045510

041127

000101

001070'
001076'

001140' 042516
001146'

000734

05251Ei 041515
000
001160'
001160' 000777

045510

041120 042522
OOC
001172 '
000777

045501

042520 042116
001202'
001202' 000777

000

001204' 042520 042116
000
001212'
001214'
001214' 00G777

052111

042120 052101
000
001226'
001226' 000777

051105

001230' 043520 052105
000
001236'
001240'
001240' 000777

040520

050101

031062

001150'
001156'

001162'
001170'
001172'
001174'

001216'
001224'

001242' 046520

jNEWBAj

.ASCIZ
.EVEN
.WORD

C!D!E!G!HII

.ASCIZ

jNUMCHKj

.EVEN
.wORD

A!B!C!D!EIFIG!H!I

.ASCIZ

jPBREAKj

.EVEN
.WORD

A!B!C!DIE!F!G!H!I
jPENDj

.ASCIZ
.EVEN
.WORD

A!D!C!D!E!F!G!HII

.ASCIZ

jPENDITj

.EVEN
.WORD

A!B!C!D!E!F!G!H!I

.ASCIZ

/PDATERj

.EVEN
.WORD

AIB!C!D!EIFIG!H!I

.ASCIZ

/PGETPAj

.EVEN
.WORD

A!BIC!D!E!F!G!HII

.ASCIZ

/PMAP22/

SEQ 0011

r,I,,\;S PEe - MONITOR SPECIFICATION FILE
21-JUL-ia 14: 12
IVINSPEC.MAC
001250'
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877

878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
8S6
897
898
899
900
90;
902
903

.EVEN
.WORD

001252' 000777
001254' 04752(·

047516

000106

000776

001264 1 051120 052102
000
001272'
00127<1'
001274' 000777

0421 17

053105

000124

001276' 051120
001304' 000777
001306'

20-SEP-78 17:26 PAGE 19-8
TOR TYPE CODES

~~ONI

000
00125~"

001262'

MACY 11 30A(1052)
MODlJLE :..:5T ~IJI TH

051120

053507

000102

001314' 000777
001316' 051120 040510
000
001324'
001326'
001326' 000777

042122

051515

000107

001330' 051120
001336' 000777

001340' 051120 051515
000
001346'
00135()1
001350' 000777

047107

001352' 05112CI 051515
000
001360'
001362'
001362' 000777

051507

001364' 051120 052117
000
001372 1
001374 1
001374 1 000777

040517

001376' C51120 040522
oeo
001404'
001406 1
001406 1 000777

042116

001410' 051120 047523
OO~J
001416 1
001420'
001420' 000777

052106

001422 1 040522

046517

042116

A!B!C!D!EIF!G!HII

.ASCIZ
.EVEN
.WORD

/PONOF/

.ASCIZ

/PRBTOD/

.EVEN
.WORD

A!B!C!D!E!F!G1H!I

.ASCIZ
.EVEN
.WORD

B!C!D!E!FIGIH!1

/PREVT/
A!BIC!D!E!F!G!H!I

.ASCIZ
.EVEN
.wORD

/PRGWB/

.ASCIZ

/PRHARD/

.EVEN
.wORD

A!B!C!D!E!F!G!H!I

A!BIC!DIEIFIG!HII

.ASCIZ
.EVEN
.WORD

A!B!C!D!E!F!G!H!I

.ASCIZ

/PRMSGN/

.EVEN
.WORD

A!B!C!DIEIF!G!HII

.ASCIZ

/PRMSGS/

.EVEN
.WORD

A!B!C!D!E!F!G!H!I

.ASCIZ

/PROTOA/

.EVEN
.wORD

A!B!C!D!E!F!G!H!I

.ASCIZ

/PRRAND/

.EV!:N
.WORD

A!BIC!D!EIF!G!H!l

.ASCIZ

/PRSOFT/

.EVEN
.wORD

A!B!C!D!E!F!G!H!I

.ASCIZ

/RANDOM/

/PRMSG/

SEQ 0012

-

MNSPEC
MONITOR SPECIFICATION FILE
21-JUL-78 14: 12
MNSPEC.MAC
000
001432'
001432' 000777

20-SEP-78 17:26 PAGE 19-9
MACY11 30A(1052)
MODULE LIST WITH MONITOR TYPE CODES

001430'
304
905
906
907
908
903
310
911
912
913
914
915

:316
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
94S
946
947
948
949
950

001434' 042522 041514
001442'
000
001444'
001444' 000734

046124

047516

000106

001446'

047522

001454'

000777

001456' 040523 051126
000
001464'
001466'
001466' 000777

051505

001470' 042523 042114
000
001476'
00150J'
001500' 000777

051505

040522

000120

001502' 052123
001510' 000777
001512' 054523
000
001520'

041523

045514

00152:~'

001522' 000776
001524' 054524 050520
000
001532'
001534'
001534' 000777

042525

001536' 04712:; 046511
001544'
000
001546'
001546' 000420

050101

001550' 04712:;

000101

050111

001556' 000420
001560' 041127 046106
000
001566'
001570'
001570' 000777

046511

001572' 051527 041124
000
001600'
001602'
001602' 000777

051525

.EVEN
.WORD

A!B!C!DIE!F!G!H!I

.ASCIZ

/RELCTL/

.EVEN
.WORD

C!DIE!G!HII

.ASCIZ
.EVEN
.WORD

A!B!C!D!E!F!G!H!I

.ASCIZ

/SAVRES/

.EVEN
.wORD

A!BICID!E!F!G!H!I

.ASCIZ

/SELDES/

.EVEN
.WORD

AIBIC!D!E!F!G!H!I

/RONOF/

.ASCIZ
.EVEN
.WORD

A!BIC!DIEIF!G!HII

.ASCIZ

/SYSCLK/

.EVEN
.WORD

B!C!D!EIFIG!HII

.ASCIZ

/TYPQUE/

.EVEN
.WORD

A!BIC!D!EIFIG!H!I

.ASCIZ

/UNIMAP/

.EVEN
.WORD

E! I

/STRAP/

.ASCIZ
.EVEN
.WORD

/UNIPA/

.ASCIZ

/WBFLIM/

.EVEN
.WORD

A!B!C!D!E!F!G!H!I

.ASCIZ

/WSTBUS/

E! I

.EVEN

.WORD

AIB!C!D!EIF!G!H!I

SEQ 0013

f,lNSPEC - MONITOR SPECIFICATION FI LE
21-JUL-78 14: 12
MNSPEC.MAC
951
952
953
954
:355
956
957
958
959
96::>
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
98r)

;+
; THE FOLLOWING MODULES ARE LISTED LAST BECAUSE THEY MUST NOT
; LIE WITHIN THE BOTTOM 4K OF THE EXERCISER.

,

001604'

04111 :1

001612'

000777

001614'

050114

985
986
987
988
989

051104

000126

/TTDRV/
A!B!CID!E!F!G!H!I

.ASCIZ

/SIZPLA/

.EVEN
.WORD

A

.ASCIZ

/SIZPLB/

.EVEN
.WORD

B!F

.ASCIZ

/SIZPLC/

.EVEN
.WORD

C!G

.ASCIZ

/SIZPLD/

.EVEN
.wORD

DIH

.ASCIZ

/SIZPLE/

001714'
000420

.E\lEN
.WORD

E! I

377
000001

.END

001632'

000777

001634'
001642'

044523

000126

oeo

051104

050132

000126

040514

001544'
000001
04~523

050132

041114

000
001656'
001656' 00004:;;'
001660'
001666'

04,~523

050132

0OO10~

001672'
001700'

044523
000
00170:;;"
000210

050132

044523

050132

001704'
001712'
001714'
001716'

041514

000
001670'

001670'

001702'

AIB!CID!EIF!G!HII

.ASCIZ
.EVEN
.WORD

052124

001646'
001654'

/KBDRV/

/LPDRV/

001624'

001644'

.ASCIZ
.EVEN
.WORD
.ASCIZ
.EVEN
.WORD

051,04

001622' 000776

98~

982
983
984

20-SEP-78 17:26 PAGE 19-10
MACY11 30A(1052)
MODULI::: LIST WITH MONITOR TYP~ CODES

cae,

042114

042514

.BYTE -1

B!C!D!E!F!G!H!I

SEQ 0014

-

n~S:)E.C
MONITOR SPECIFICATION FILE
i"i..JSPE.C. [yiAe
2i-JU ... -78 1 -," ... •' L,.,

000001
A
000102
!'CSR
I.CTglT= COL',OOO
1\[)D,~~2= 001000
!\;JR
GOOO05
f.PT ,-=Ert= 000004
;,PTPRE= 000200
;':.)8
000106
!, S TAT = C00104
;,UTJ
00C010
,\UTOST= 020000
~,liJAS

COO~10

Ll

(',00002
COOO01
000001
(;00002
('00004
00C010
000020
000040
000100
000200
000400
001000
000002
002000
uO':;OCO
010000
020000
040000
100000
000004
OO()O10
000020
000040
000100
000200
OOOLl·OO

:1 -: TO
CHTOO
UIT.J 1
BIT02
In T03
!311 84
!1: T 05
in T 06
HIT07
l~l T08
:)1 T09
8 =T1
[31Tl0
J IT 11
:3IT12
81.T13
81T14
l31 T 15
131 T2
[31 T3
13 IT 4
31T5
[31 T6
d1T7
!3 IT 8
31T9
df\CEF

OO~OOO

000802

Jf<~rOD

000020

.3f\IVODE =
,3KSLSH=
,::
':::APRES=
'::ASTA-:-=
CDERC:=
CCv. DC:=
ChTHJI =
'::;LkPRE=
COt\FIG=
'::C;CVF

040000
000134
000004

:;R

OOOOOL!·

000004
000146
000144
10COOO
000001
00C056
000001
000015

CSRA
CSRC
CTRLC
CTRLO
CTRlU
D
DCEVNT=
DEFRTN=
DROPMO=
CSEVNT=
DT.ADD:::
DT.AP ::.
DT.APK..:
DT.BLS=
DT.CFO=
DT.CF1=
DT.ERR=
OT.ES1=
DT.E.VN=
DT.EXS=
DT.FCH=
DT.FCN:::
DT.HMX=
DT.KBE=
DT.KBP=
DT.KBR=
DT.KBU=
DT.MLS=
DT.MTl=
DT.OFF=
DT.PAS:::
DT.PC =
DT.PFL=
DT.PSW=
DT. PT A=
DT.RCS=
DT.REL=
DT.SCT=
DT.SMX=
DT.SP =
DT.SS1=
DT.STO",
DT.Sf1=
OT.SWR=
DT.SYP=
DT.WBU=
DT.WHL=
DT.WLL=
OVID1 =
E
ECCMEM:::
ECCSTA:::
ENBEOP=

000100
000102
000003
000017
000025
000010
000011
000400
100000
000014
000042
000100
000076
000034
000014
000016
000020
000044
000000
000060
000037
000036
000104
000024
000026
000022
000030
000032
000110
000070
000074
000002
000062
000004
000064
000102
000040
000066
000105
000006
000046
000010
000012
000056
000072
000050
000054
000052
000014
000020
000100
000010
010000

MACY 11 30A(1052)
SYM90L TABLE

20--SEP-78

ENBNUL=
ENDLST=
EOPBrT:::
ERRTYP=
EVNTBE=
EVNTHD=
EVNTKT=
EVNTPE=
EVNTRE=
F
FATERR=
G
H
HRDCNT=
HROPAS=
I
ICONT =
ICOUNT=
ID~W;i' =
IE
INDP;\R=
INHDRP=
INHEPR=
lNHREL:::
INHRRE=
INIT
INTR
IOMOD
IOMODP=
Im,~ODR=

IOMODX=
JACK
KlPARO=
KIPAR1=
K1PAR2=
KIPAR3=
KIPAR4=
KIPAR5=
KlPAR6=
KIPAR7=
KIPDRO=
KIPDR1=
KIPDR2=
KIPDR3=
KIPDR4=
KIPDR5=
KIPDR6=
K1PDR7=
KTERRO:::
KTPRES=
KTSTAT=
KTXTND=
LF

000001
00000.1
000001
000106
00020()
000200
000203
000202
000201
000040
100000
00010')
000200
000044
000050
000400
000036
000040
000122
000100
000040
040000
020000
001000
000400
000030
000120
100000
1C2000
112000
110000
035060
172340
172342
172344
1723L;6
172350
172352
172354
172356
172300
172302
172304
172306
172~10

172312
1723~4

172316
000040
0004CO
000020
0400(-0
000012

17:26

PAGE 20
lPSTAT=
MAPSTA=
MED
MEMPAS=
MODEXH=
MODHOL=
MODSEL=
MSGCKD=
MSGCKS=
I'vlSGDER=
MSGDRP=
MSGECH=
MSGEDP=
MSGHDR=
MSGHNG=
MSGHRD=
MSGMAP=
MSGNUL=
MSGPOP=
MSGPRM=
MSGRES=
MSGSFT=
MSGSKE=
MSGSI,~B=

MSGSMH=
MSGS!'v1S=
MSGSTD=
MSGSYS=
MSGVEC=
NBKMOD=
NCPUOP=
NOAPTY=
NULL
OWEN
PAERR
P;"RPRE=
PARSTA=
PASOH=
PDPLSI=
PDP60
PD::>70
PRIO
PRI1
PRI4
PRI5
PRI6
PRl7
PRO
PR4
PR5
PR6
PR7
PS

SEQ 0015
000001
000200
07(3600
04,JOOO
001000
002000
OOiOOO
000010
000011
000005
00)017
177777
000013
00'J004
00,)022
00J007
00·)021
177775
(jOOO02
177776
000001
000006
000003
00)015
00'J014
00'.1016
OOJOOO
000012
00)020
001000
00)020
00)002
00:,)000
02·1020
00:)010
002000
000100
000034
020000
004000
018000
00:)000
00,)·)40
000200
000240
000300
000340
000000
00G200
000240
000300
000340
177776

P5W
RANNUM=
R3UFEA=
RBUFPJ-\=
R3UFSZ=
R9U FVA=
RJSERV=
RDi,tiHMI =
RELERR=
RE L1\;10D=

177776
000054
000130
000126
000132
000124
000101
000022
000020
020000
RELTIM:.: 010000
000056
RES1
00O~60
R::S2
R:CHAR= 0:1060
R?TDAT= 002000
R5TRT = u00112
RUB:JUT= 000177
RUNMOD= 100000
R5VALU= 001740
075464
SAM
S8ADR = 000102
SBKMOD::: 000000
SBI-\SEL= O"jOOOO
SC.ADR= 000006
SC.ALC= 000014
SC.APC= 000016
SC.CKL= 000002
SC.CKP= 000004
SC.CLO= 000000
S:::.HLD::: 000010
SC.SCA= 000012
ScNDLS= 177777
SOFCNT= 000042
SOFPAS= 000046
SPACE = 000040
SPOlNT= 000032
SPVALU= 002200
177572
Sh.O
177574
SR1
SR2
177576
172516
SR3
000026
STAT
STATBl= 064757
ST AT1 = 000027
SUSPND= 000001
SVRO
000062
SVF11
000064
000066
SVR2
000070
SVR3
000072
SVR4
000074
SVR5
000076
SVR6
SYSCNT= 000052

!\HJSPEC

-

f\it~SPEC.

MAC

MQ~l

I TOR SPEC I FICA T ION FILE
21-JUL-78 "I ~: 12

SYSERR=
if,1P 1 0 =
TQOVF =
UIPARO=
UIPAR1=
UIPAR2=
UIPAR3=

000100
000002
000002
177640
177642
177644
177646

ASS.

000000
001717

UIPAR4=
UIPAR5=
UIPAR6=
UIPAR7=
UIPDRO=
UIPDR1=
UIPDR2=

MACY 11 30A(1052)
SYMeOL TABLE

177650
177652
177654
177656
177600
177602
177604

000
001.

ERRORS DETECTED:
0
DEFAULT GLOBALS GENE~ATED:

0

DSKZ:MNSPEC,DSKZ:MNSPEC=SPMAC/ML,EQUATE,MNSPEC
RUN- rr ME: , 1 .3 SEC)NDS
RUN-TIME RATIO: 9/2=3.2
CORE USED:
5K
(9 PAGES)

20-SEP-78

UIPDR3=
UIPDR4=
UIPDR5=
UIPDR6=
UIPDR7=
WASADR=
WBSTAT=

17:26

PAGE 20-1
SEQ 0016

177606
177610
177612
177614
177616
000104
000040

WBUFEA= 000136
~IiBUFPA= 000134
WBUFRQ= 000140
WBUFSZ= 000142
WDFR
000116
WDTO
000114
WTINRE= 000352

WTWHMI=
XFLAG
XOFF
=
XON

000222
000005
000023
000021
001717R

.MAIN. ~ACY11 30A(1052) 20-SEP-78
EQUATE.MAC
13-SEP-78 16:13
3
531
573
594

566
372
67B
727
734
745
763
785
808
819
843
867
885
890
947
952
1059
1222
1285
1381
1467
1537
1723

17:26
TABLE OF CONTENTS

COMMON EQUATE MODULE
DATABASE - MODULE HEADER
DATABASE - TRAP AND VECTOR GLOBAL DEFINITIONS
DATABASE - STUFF TRAP AND VECTOR AREAS
DATABASE - DATA TABLE GLOBAL DEfINITIONS
DATABASE - DATA TABLE VALUES GLOBAL DEFINITIONS
DATABASE - DATA TABLE ALLOCATION
DATA3ASE - PARITY TABLE -- PARTAB -- GLOBAL DEFINITION
DATABASE - PARITY TABLE -- PARTAB -- ALLOCATION
DATABASE - SYSTEM CLOCK TABLE -- SCTAB -- GLOBAL DEFINITIONS
DATABASE - SYSTEM CLOCK TABLE AND OFFSET ADDRESSES
DATABASE - DEVICE REGISTER GLOBAL DEFINITIONS
DATABASE - DEVICE REGISTER DEFINITIONS
DATASASE - CPU RELATED REGISTERS GLOBAL DEFINITIONS
DA~ABASE - CPU RELATED REGISTER DEFINITIONS
DATABASE - MISCELLANEOUS STORAGE GLOBAL DEFINITIONS
DATABASE - MISCELLANEOUS STORAGE
KERNE~
MODULE HEADER
KERNEL - COMMON DEFINITIONS AND REFERENCES
001236
.PRINT ;SPMAC: VERSION 1.1
f-ERNEL - START UP ROUTINE
KERN[~ RESTART ROUTINE
KERNEL - INITIALIZATION ROUTINE
KERNE_ - CAPTURE EVENT: DISPATCH TO SERVICE ROUTINE
KERNE~ - CAPTURE EVENT: RETURN FROM SERVICING EVENT
KERNE_ - DE-QUEUE NEXT MODULE IN CONTROL QUEUE ROUTINE
KERNEL - DE-QUEUE NEXT MODULE: PASS CPU CONTROL TO MODULE

.SEQ 0017

DECX-11 CONTROL MODULE MACY11 30A(1052) 20-SEP-78 17:26 PAGE 19
DECX.MAC
19-5EP-78 14:52
COMMON EQUATE MODULE
508

509

.TITLE
.IDENT

DECX-11
JVO.Oj

SEQ 0018

CONTROL MCDULE

510

511
512
513
514

515
516

517

;++

MODULE NAME:
DECX-11

518

519
520
521
522
523

MODULE DESCRIPTION:
THIS MODULE IS THe DECjX-11 MONITOR CONTROL MODULE AND CONTAINS
BOTH THE MONITOR'S DATABASE AND KERNEL ROUTINES

524

525

VERSION:

525

527
528

529

EDIT

DATE

BY

REASON

DECX-11 CONTROL MODULE MACY11 30A(1052) 20-SEP-78 17:26 PAGE 20
DECX.MAC
13-SEP-78 14:52
DA~ABASE - MODULE HEAD~R
531
532
533
534
535
535
537
538
539
540
541
542
543
544
545
546
547
548
549
350
551
552
553
354
555
556
557
558
559
560
561
562
563
564
565
566
567
568
568
570

571

.SBTTL

SEQ 0019

DATABASE - MODULE HEADER

;++

MODULE NAME:
MONITOR DATABASE AREA
FUNCTIONAL DESCRIPTION:
THE MONITOR1S DATABASE CONTAINS ALL OF THE PARAMETERS AND VALUES
THAT ARE USED BY BOTH THE MONITOR1S KERNEL ROUTINE AND THE
SUBORDINATE MONITOR ROUTINES.
INPUTS:
NONE
IMPLICIT INPUTS:
NONE
OUTPUTS:
NONE
IMPLICIT OUTPUTS:
NONE
PATHOLOGICAL CONNECTIONS:
NONE
SUBORDINATE ROUTINES CALLED:
NONE
FUNCTIONAL SIDE EFFECTS:
NONE
CALLING SEQUENCE:
NONE
VERSION:
0.0
EDIT
;--

BY

DATE

REASON

DECX-11 CONTROL MODULE MACY11 30A(1052} 20-SEP-78 17:26 PAGE 21
DECX.MAC
19-5EP-78 14:52
DATABASE - TRAP AND VECT~R GLOBAL DEFINITIONS
573
574
575
576
577

.S8TTL

DATABASE - TRAP AND VECTOR GLOBAL DEFINITIONS

578

.GLOBL
.GLOBL
.GL08L
.GLOBL
.GL08L
.GL08L
.GL08L
.GLOBL
.GLOBL
.GLOBL
.GL08L
.GLOBL
.GL08L
.GLOBL

HTBUSS
HTREIN
RPIRQ
PWRFL
PWRDOWN
PBDVEC
STINT
KBINT
TTINT
MEMPAR
MEMGMT
AP.PB
$ENDAD
CAST

573
580
581

582
583

584
585

583
587
588

589
590
591

592

SEQ 0020

DECX-11 CONTROL MODULE MACY11 30A(1052) 20-SEP-78 17:26 rAGE 22
CECX.MAC
19-5:P-78 14:52
DATABASE - STUFF TRAP AND VECTOR AREAS
.SBTTL

594
595
593

597

; LOAD TRAP AND VECTOR

000000
000002
000004
C00006
000010
000012
000014
000016
000020
000022
0000:24
000026
000030
000032
000034
000036
000040
000042
000044
000046
000050
000052
000054
000056
000060
000062
000064
000066

105000
000000

OOOOOOG
000340

OOOOOOG
C003 ... :)
OOOO',G

.+2

HALT
.WORD
.WORD
.WORD
.WORD
.WORD
.WORD
. WORD
.WORD
.WORD
.WORD
. WORD
.WORD
.WORD
.WORD
.WORD
.WORD

OOOOOOG
000340
OOCOOOG
0003·10
OOOOOOG
000000

OOOOOOG
000000
000000
000000
OGOOCOG

IOTINS:
PWRFL:
EMTINS:
TRP I NS:

APTVEC:

OOOOOOG
000000
00 0000

OOOOJOG
000001

OOOOciO
OOOOOOG
000040

OOOOOOG

105000

;(RESERVED)

HT8USS
PRI7
HTREIN
PRI7

;TIME OUT AND OTHER ERRORS

RPIRQ
PRI7
PWRDOWN
PRI7
PBDVEC
PRIO
STINT
PRIO

;IOT INSTRUCTION VECTOR

o

o
o

AP.PB
$ENDAD

o
o

TTVEC:

.WORD
• ~vORD
.WORD
.WORD

;RESERVED INSTRUCTION VECTOR
;HALT IF T BIT SETS

;POWER FAILURE VECTOR
;EMT INSTRUCTION VECTOR
;TRAP INSTRUCTION
;40
;42
;44 - APT PARAMETER BLOCK
;46

;50
;52

CAST

;54

1

;56

KBINT
PR I 1
TTINT
PRI1

;KEYBOARD

.=60

KBVEC:

000040

;+

INTERR~PT

VECTOR

;TERMINAL INTERRUPT VECTOR

70 TO 176 AND 204 TO 776 hAVE .+2 AND HALT. TH~SE VECTOR LOCATIONS
; MAY BE STUFFED BY CERTAIN MONITORS WITH THE ADORESS OF THE BAD
; VECTOR SERVICE ROUTINE. THE PARITY AND KT VECTORS (114 & 250) MAY
; ALSO BE STUFFED WITH PARITY AND KT TRAP ROUTINES.

641
642
64:::;
644
646
647
648
649

.WORD
.WORD
TIMOUT: .WORD
.WORD
RESERV: . WORD
.WORD

000000

64(;

645

AR~A

;-

604

631
632
633
634
635
636
637
638
639

;START THIS AT ABSOLUTE 0

.=0

;+

'303

305
.306
G07
605
609
610
611
612
613
614
615
616
617
618
319
620
621
622
623
624
£3:25
626
627
628
629

DATABASE - STUFF TRAP AND VECTOR AREAS

.ASECT

000000
000000

598
:599
600
301
602

SEQ 0021

;-

000022

.REPT
.NLIST
.+2

HALT
• LIST

'"'D<18>

20-SEP-78 17:26 PAGE 22-1
DECX-11
CONTROL MODULE MACY11 30A(1052)
DATABASE - STUFF TRAP AND VECTOR AREAS
DECX.rJlAC
19-5EP-78 14:52
650
651
652
G53
654
655
656
657
G53

.ENDR
000200

000200
000167

001774

START:

000137

DX.STRT

.REPT

. . 0<95>

.NLIST
.+2
HALT
.LIST
.ENDR

659

G60
661
662
663
664

.=200
JMP

001000

001000
000167

.::1000
001174

RESTART:

JMP DX.STRT

;GO TO START ADDRESS

SEQ 0022

DECX-11 CONTROL MODULE MACY11 30A(1052) 20-SEP-78 17:26 PAGE 23
DECX.MAC
19-5EP-78 14:52
DATABASE - DATA TABLE GLOBAL DEFINITIONS
666
667

.SBTTL

DATABASE - DATA TADLE GLOBAL DEFINITIONS

.GLOBL

DTABLE

668
669

670

SEQ 0023

DECX-11 CONTROL MODULE MACY11 30A(10S2) 2u-SEP-78 17:26 PAGE 24
DECX.MAC
19-5EP-78 14:52
DATABASE - DATA TABLE VALUES GLOBAL DEFINITIONS
672
373

.SBTTL

DATABASE - DATA TABLE VALUES GLOBAL DEFINITIONS

.GLOBL
.GLOBL

OV.KBBUF
AC.MODQ

374

675
G76

;ADDRESS OF KEYBOARD INPUT BUFFER
;MODULE-QUEUE-LIST ADDRESS

SEQ 0024

DECX-11 CONTROL MODULE MACY11 30A(1052) 20-SEP-78 17:26 PAGE 25
DECX.MAC
19-5EP-78 14:52
DATABASE - DATA TABLE ALLOCATION
.SBTTL

678
G79

SEQ 0025

DATABASE - DATA TABLE ALLOCAT10N

G80
;+

681
68.2

; DATA TABLE ALLOCATION

683
684

j-

685
685
687
G88
689
69J
691
692
693

694
695

696

697
698
699

70':;
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725

001004
001004
001006
001010
001012
001014
001016
001020
001022
001024
001026
001030
001032
001034
001036
001040
001042
001043
001044
001046
001050
001052
00-;054
001056
001060
001062
001064
001066
001070
001072
001074
001076
001100
001102
001104
001106
001110
001112
001114

DTABLE:
000000
000000
000000
000000
000000
000000
0000(1)

000000
000000
00000 ')
000000
000000
OOOOOOG
OOOOOOG

000000
004
015
00020·)
000200
00000)
00000)
00000:,)
000000
0(000)
000000
000000
000000
001116
00 1160
000000
001100
000000
001104
000000
000000
000024
OOOOSO
001604

.WORD
.WORD
.WORD.
.WORD
.WORD
.WORD
. ~\!ORO
.WORD
.WORD
. ''';ORD
.WORD
.WORD
.WORD
.WORD
.WORD
.BYTE
.BYTE
.WORD
.WORD
.WORD
.WORD
.WORD
.WORD
.WORD
.WORD
.WORD
.WORD
.WORD
.WORD
.WORD
.WORD
.WORD
.WORD
.WORD
.WORD
.WORD
.WORD
.WORD

o
o
o
o

o

o

o
o
o

o
o
o
OV.KBBUFF
AC.MODQ

o

4


200
200

o
o
o
o

o
o
o
o
PARTAB
SCTAB

o
o

DTABLE+DT.PAS
DTABLE+DT.AP

o
o

"D20
"D40
"D900

;DT.EVNT - EVENT CODE
JOT.PC - PC+ OF TRAP
jDT.PSW - PSW AT rIME OF TRAP
jDT.SP - STAC~ POINTER AT TIME OF TRAP
;DT.STO - STATUS INDICATOR 0
;DT.ST1 - STATUS INDICATOR 1
;DT.CFO - CONFIGURATION WORD 0
;DT.CF1 - CONFIGURATION WORD 1
JDT.ERR - ERROR WORD
jDT.KBRSP - ADDRESS OF KEYBOARD RESPONSE BUFFER
;DT.KBECH - ADDRESS or- KEY80ARD ECHO BUFFER
jDT.KBPRM - ADDRESS OF KEYBOAnD PROMPT
;DT.KBUF - ADDRESS OF KEYBOARD BUFFER POINTER
;DT.MLST - ADDRESS OF MODULE LIST
;DT.BLST - ADDRESS OF MODULE LIST
;DT.FCNT - FILLE~ COUNT (# OF NULLS)
;DT.FCHAR - CHARACTER AFTER WHICH NULLS ARE OIP
;DT.REL - RELOCATION CONSTANT
;DT.ADDR - CURRENT ADDRESS
;DT.ESIZ - EXERCISER SIZE
;DT.SSIZ - SYSTEM SIZE IN PAR FORMAT
;DT.WBUF - ADDR OF WRITE· BUFFER
;DT.WLLMT - WRIT~ BUFFER LOW LIMIT
;DT.WHLMT - WRITE BUFFER HIGH LIMIT
jDT.SWR - SOFTWARE SWITCH REG(FRONT PANEL MEANS NOTHING)
;DT.EXS - # OF EXERCIS~R SYS E~RORS
;DT.PFL _. # OF POWER FAILS
;DT.PTA - ADDRESS OF PARITY TABLE
;DT.SCT - ADDRESS OF CLOCK TABLE
;DT.OFFSET - OFFSET INTO CURRENT 124K BANK
;DT.SYP - SYSTEM END OF PASS COUNT POINTER
;DT.PAS - SYSTEM END OF PASS COUNT IF NOT UNDER APT
;DT.APK - KEEP ALIVE COUNTER POINTER
;DT.AP - KEEP ALIVE IF NOT UN~ER APT
JDT.RCS - FAKE KB ADDRESS FOR APT USE
;DT.HMX - MAX # OF HARD ERROR; ALLOWED BY OPTION MODULE
;DT.SMX - MAX # OF SOFT ERRORS ALLOWED BY OPTION MODULE
;DT.MTIME - MAX END OF PASS TIME(15 MIN.) BY A MODULE

DECX-11
CONTROL MODULE MACY11 30A(1052)
20-SEP-78 17:26 PAGE 26
DECX.MAC
19-5EP-78 14:52
DATABASE - PARITY TABLE -- PARTAS -- GLOSAL DEFINITION
727
72B
729
730

731
73:2
733
734
735
736
737
738
739
740
741
742

743

.SBTTL

DATABASE -

.GLOSL

PARTAS

.SSTTL

DATABASE -

PARITY TABLE -- PART AS -- GLOBAL DEFINITION

PARITY TABLE -- PARTAB -- ALLOCATION

;+
; 16 LOCATIONS FOR PARITY CSRS. THE TABLE IS TERMINATED WITH A

001116
001124
001132
001140
001146
001154

000000
000000
000000
000000
000000
000000

000000
000000
000000
000000
000000
000000

000000
000000
000000
000000
000000

PARTAS

SEQ 0026

.WORD 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0

°

DECX-11 CONTROL MODULE MACY11 30A(1052) 20-SEP-78 17:26 PAGE 27
DECX.MAC
19-5EP-78 14:52
DATABASE - SYSTEM CLOCK TABLE -- SCTAB -- GLOBAL DEFINITIONS
745

.SBTTL

DATABASE - SYSTEM CLOCK TABLE -- SCTAB -- GLOBAL DEFINITIONS

746

747
748
749
750
751
752
753
754
755
756
757
758
759

;+
; SYSTEM CLOCK TABLE GLOBAL DEFINITIONS

,' -

.GLOBL
.GLOBL
.GLOBL
.GLOBL

SCTAB
CLOCK
CLOCKL
CLOCKP

;+

; GLOBALS REFERENCED BY THIS DATABASE

760

761
762
763

.GLOBL

KW11L

.GLOBL

KW11P

.GLOBL
.GLOBL

LCLEAR
PCLEAR

764
765
766

;?OINTS TO THE HEADER ADDRESS
;OPTION MODULE
;POINTS TO THE HEADER ADDRESS
;OPTION MODULE
;INITIALIZE MODULE TIME TABLE
;INITIALIZE MODULE TIME TABLE

OF KW11-L
OF KW11-P
IN KIIJ11-L
IN KW11-P

SEQ 0027

DECX-11
CONTROL MODULE MACY11 30A(10S2)
20-SEP-78 17:26 PAGE 28
DECX.MAC
19-5EP-78 14:52
DATABASE - SYSTEM CLOCK rABLE AND OFFSET ADDRESSES
768
769
770
771
772
'773
774
775
776
777
773
779
780
781
782
783
784

.SBTTL

DATABASE - SYSTEM CLOCK TABLE AND OFFSET ADDRESSES

;+
; SYSTEM CLOCK TABLE ALLOCATION
001160
001160
001162
001164
001166
001170
001172
001174
001176

OCC>OCO
OOOOOOG
OJOC>OOG
000000
000000
000000
OOOC>OOG
COOOOOG

SCTAB:
CLOCK:
CLOCKL:
CLOCKP:

. WORD
.WORD
. WORD
.WORD
.WORD
.WORD
.WORD
.WORD

o
KW11L
KW11P

o

o
o

LCLEAR
PCLEAR

;SC.CLO
;SC.CKL
;SC.CKP
;SC.ADR
;SC.HLD
;SC.SCA
;SC.ALC
;SC.APC

SEQ 0028

DECX-11 CONTROL MODULE MACY11 30A(1052) 20-SEP-78 17:26 PAGE 29
DECX.MAC
19-5EP-78 14:52
DATABASE - DEVICE REGISTER GLOBAL DEFINITIONS
783
787
783
783
79')
791
792
793
79-4
793
793
797
798
799

.SBTTL

DATABASE - DEVICE REGISTER GLOBAL DEFINITIONS

.GLOBL
.GLOBL
.GLOBL
.GLOBL
.GLOBL
.GLOBL

RCSR
RBUF
XCSR
XBUF
LPCSR
LPBUF

.SBTTL

DATABASE - DEVICE REGISTER DEFINITIONS

RCSR:
RBUF:
XCSR:
XBUF:
LPCSR:
LPBUF:

.WORD
.WORD
.WORD
.WORD
.WORD
. 'iJORD

SEQ 0029

800

a01
802
803

804
805
806
807
808
309
810
811
812
813
814
815
816
817

001200
001202
001204
001206
001210
001212

177560
177562
177564
177566
177514
177516

177560
177562
177564
177566
17151~

177516

;DL-11 R~CEIVER CONTROL AND STATUS REGISTER
;DL-11 R2CEIVER DATA dUFFER REGISTER
; DL-11 TRANSMITTER CONTROL AND STATUS REGISTER
; Dl-l " TRANSMITTER DATA BUFFER REGISTER
; LP 11 CONTROL STATUS REGISTER
; LP 11 BLJ!=FER REGISTER

DECX-11
CONTROL MODU~E MACY11 30A(1052)
20-SEP-78 17:26 PAGE 30
DECX.MAC
19-5EP-78 14:52
DATABASE - CPU RELATED REGISTERS GLOBAL DEFINITIONS
819
820
821
822
823
824
825
826
827
829
829
830
831
832
833
834
835
835
837
838
839
340
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865

.SBTTL

DATABASE - CPU RELATED REGISTERS GLOBAL DEFINITIONS

;+
;11/70
.GLOBL
.GLOBL
.GLOBL
.GLOBL
.GLOBL
.GLOBL

CPULAR
CPUHAR
CPUMER
CPUMNT
CPUCPE
CPULSZ

;+
; CACHE CONTROL REGISTER AND TEMPORARY STORAGE

.GLOBL
.GLOBL

CCNTRL
KONTRL

.SBTTL

DATABASE - CPU RELATED REGISTER DEFINITIONS

;+
;

11/70

,
001214
001216
001220
001222
001224
001226

177740
177742
177744
177750
177766
177760

CPULAR:
CPUHAR:
CPUMER:
CPUMNT:
CPUCPE:
CPULSZ:

.WORD
.WORD
.WORD
.WORD
.WORD
.WORD

177740
177742
177744
177750
177766
177760

;LOW ERROR ADDRESS REGISTER
;HIGH ERROR ADDRESS REGISTER
;MEMORY SYSTEM E:iROR REGISTER
;MAINTENANCE REGISTER
;CPU ERROR REGISTER
;LOW SIZE REGISTER

;+
; CACHE CONTROL REGISTER AND TEMPORARY STORAGE

,

001230
001232

177746
000000

CCNTRL:
KONTRL:

.WORD
.WORD

177746
0

;CACHE CONTROL REGISTER
;TEMPORARY STORAGE FOR CACHE OPERATIONS

SEQ 0030

DECX-11
CONTROL MODULE MACV11 30A(1052)
20-SEP-78 17:26 PAGE 31
19-5EP-78 14:52
DATABASE - MISCELLANEOUS STORAGE GLOBAL DEFINITIONS
DECX.MAC
867
868
8G9
870
871
872
873
874
875
876
877
878
879

.SBTTL

DATABASE - MISCELLANEOUS STORAGE GLOBAL DEFINITIONS

.GLOBL

CTRLOF

.SBTTL

DATABASE - MISCELLANEOUS STORAGE

CTRLOF:

.WORD

88J

881
882

883
884
885
886
887

aas

001234

000000

0

;ENABLE/DISABLE TERMINAL OUTPUT FLAG

SEQ 0031

D~CX-11

DECX.MAC
89')
391
a92
893
894
895
896
897
398
899

CONTROL MODULE MACY11 30A(1052) 20-SEP-78 17:26 PAGE 32
19-5EP-78 14:52
KERNEL - MODULE HEADER
.S9TTL

KERNEL - MODULE HEADER

;++

MODULE NAME:
KERNEL ROUTINE
FUNCTIONAL DESCRIPTION:
THIS ROUTINE CONTROLS THE EXECUTION OF THE DEC/X-11 SYSTEM
EXERCISER, I.E., IT IS RESPONSIBLE FOR STARTING THE EXERCISER
WHEN FIRST LOADED INTO MEMORY,
INITIALIZING n:E ACTUAL RUNNING
OF IT, COORDINA~ING THE RECEIVING AND SERVICING OF THE REAL TIME
EVENTS AND PERFORMING SCHEDULING AND ACTIVATING FUNCTIONS OF THE
EXERCISER.
THIS IS ACCOMPLISHED WITH THE USE OF THE FOLLOWING ROUTINES:

90~

901
902
903
904

905

DX.STRT

906
907

902

DX.RSTRT

909
910

311

DX. IN I

912
913
914
915

DX.CAPTURE

916
917
918
919
920

ox. DEQUEUE

921
922
923
924

925
926
927
928
929
930

931
932
933
93·~

935
936
937

938
929
940
941
942
943
944
945

SEQ 0032

,

THIS ROUTINE PERFORMS THE DUTIES REQUIRED
TO GET THE EXERCISER GOING WHEN FIRST
LOADED INTO MEMORY
THIS ROUTINE PERFOR~S THOSE FUNCTIONS NECESSARY TO GET THE EXERCISE RESTARTED
AFTER IT HAS BEEN RUNNING
THIS ROUTINE IS RESPONSIBLE FOR INITIALIZATING THE EXERCISER
THIS ROUTINE COORDINATES THE RECEIVING
OF THE EXERCISER1S REALTIME EVENTS AND
THE DISPATCHING OF CONTROL TO THE APPROPRIATE SERVICE ROUTINES
THIS ROUTINE PERFORMS THE DE-QUEUING AND
ACTIVATING FUNCTIONS OF THE MONITOR

INPUTS:
NONE

;IMPLICIT INPUTS:
NONE
OUTPUTS:
NONE
IMPLICIT OUTPUTS:
NONE
PATHOLOGICAL CONNECTIONS:
MANY
SUBORDINATE ROUTINES CALLED:
1•

FUNCTIONAL SIDE EFFECTS:
VERSION:
0.0
EDIT

BY

DATE

REASO:-.J

DECX-11 CONTROL ~ODULE MACY1' 30A(1052) 2C-SEP-78 17:26 PAGE 33
DECX.MAC
19-5EP-78 14:52
KERNEL - COMMON DEFINITIONS AND REFERENCES
947
949
943

.SBTTL

KERNEL - COMMON DEFINITIONS AND REFERENCES

.PRINT

.MCAll STRUCT
STRUCT
;SPMAC: VERSION 1.1
$lSTIN = ,
$LSTTAG = ,

350
951
352
(1)
953
954
955
956
957
958
959
96~

961

962
S63
964
965
966
967
968
9G9
97C
971
972
973
974
975
976
977
978
979
980
981
982
983
98Ll
985
986
987
988
989
990
991
992
993
994
995
996
997
998
998
1000
1001

001236
001236
000001
000001

SEQ 0033

;****************

,

; REFERENCED BY OTHER MODULES

.GlOBl
.GlOBl
.GlOBl
.GlOBl
.GlOBl
.GlOBl
.GlOBl
.GlOBl
.GLOBl
.GlOBl

,

DX.CAP
DX.DEQ
DX.RSTRT
OX. I N I
DX.HDR
DX.RET
DX.MON
DX.R5
DX.KFl
DX.SP

;CAPTURE EVENT ROUTINE ENTRY POINT
;DE-QUEUING ROUTINE ENTRY POINT
;RESTART EXERCIS~R ENTRY POINT
;INITIALIZATION ROUTINE
;MONITOR'S NEXT-TO-EXECuTE SLOT: MODULE'S HEADER ADDRESS
;MONITOR'S NEXT-TO-EXECUTE SLOT: MODULE'S RESUME ADDRESS
;MONITOR ID
;CR FLAG

;****************
;

; GLOBAL REFERENCES

,

.GlOBL
.GlOBl
.GLOBL
.GlOBl
.GLOBL
.GLOBl
.GLOBL
.GlOBl
.GLOBl
.GlOBL
.GlOBL
.GlOBL
.GlOBL
.GlOBL
.GLOBL
.GLO:3l
.GLOBL
.GLOBL
.GLOBl
.GlOBL
.GlOBl.
.Gi..OBL
.GLOBL

ST.EXT
HT.EXT
APTSlP
RSTRCY
KBINI
CMDRST
PREVT
?WRDmoJ
MSGDEQ
MSGDHOOK
SAVREG
RESREG
lPINT
CQINI
TQINI
CHKACT
CHi"EOP
ClREOP
ACTIV
AC.TPTR
AC.TYPE
AC.MPTR
BACTIV

;SOFTWARE TRAP HANDLER EXIT ADDRESS
;HARD ERROR TRAP HANDLER EXIT ADDRESS
;APT SIZING AND SLEEP ROUTINE
;RESTART RECOVERY ROUTINE
;KEYBOARD DRIVER ENTRY POINT
;OUTPUT KEYBOARD PROMPT ROUTINE
;PROCESS EVENT MODULE ENTRY POINT
;POWER DOWN MODULE ENTRY POINT
;MESSAGE DE-QUEUING MODULE ENTRY POINT
;MESSAGE HOOK MODULE E~TRY POINT
;SAVE REGISTERS ROUTINE
;RESTORE REGISTE~S ROUTINE
;LP11 INTERRUPT ~OUTINE
;CONTROl QUEUE INITIALIZATOR MODULE ENTTRY POINT
;TYPE QUEUE INITIALIZATOR MODULE ENTRY POINT
;CHECK FOR ACTIVE MODJlES
;CHECK FOR END OF PAS3 TIME
;CLEAR EOP INDICATORS
;ACTIVATE NEXT O?TION MODULE ROUTINE
;MODUlE-TYPE-lIST POINTER
;MODULE-TYPE-LIST
;MODULE-QUEUE-LIST POINTER
; BACKGROUND MODULE ACTIVATE ROUTINE

DECX-11
CONTROL MO~U_E MACY11 30A(10S2)
20-SEP-78 17:26 PAGE 33-1
DECX.MAC
19-5EP-78 14:52
KERNEL - COMMON DEFINITIONS AND REFERENCES
.GLOBL
.GL08L
.GLOSL
.GLOBL
.GLOBL
.GLO£3L
.GLOBL
.GLOBL
.GLOBL
.GLOBL
.GLOBL
.GLOBL
.GLOBL
.GLOSL
.GLOBL
.GLOBL
.GL08L
.GLOBL
.GLOBL
.GLOBL
.GLOBL
.GLOBL
.GLOBL

1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1025
1027
1028
1029

SEQ 0034

;BACKGROUND MODULE STATUS WORD
;COMMAND PROCESS
;BACKGROUND MODULE LIST POINTER
;8ACKGROUND NEXT-TO-EXECUTE SLOT
;BACKGROUND NEXT-TO-EXECUTE SLOT
;8ACKGROUND MECHANISM STATUS WORD
;MESSAGE DE-QUEUE BUSY INDICATOR
;DE-QUEUE NEXT ENTRY IN CONTROL QUEUE
;INITIALIZE ERROR LOGGING CPU'S ROUTINE
ROUTINE
;ERROR RECOVERY
;RELOCATION MODULE
;SIZE AND POLL SYSTEM
;PROCESS RELOCATION
;BINARY TO DECIMAL ASCII CONVERSION
;KT APRS SETUP
;CACHE ON KEYBOARD COMMAND
;KT ON KEYBOARD COMMAND
;MAP BOX ON KEYBOARD COMMAND
;PARITY ON KEYBOARD COMMAND
;RUN COMMAND
;WRITE BUFFER ROTATION KEYBOARD COMMAND
;AUTOMATIC MODE START-UP
;AUTOMATIC MODE EOP ROUTINE

BA.STAT
CMDPRC
BA.MPTR
BA.HDR
BA.RET
BA.STAT
MD.BSY
DEQCQ
IERRLO
ERREC
RELCTL
SIZPOL
PRRLOC
BDACNV
KTSET
KCON
KKTON
KMON
KPON
KRUN
KROTON
DPSTRT
DPEOP

;****************
; LOCAL STORAGE -

PROGRAM IMPURE STORAGE

103C

1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042

1043
1044
1045
1046

DX.KFL:
Dx.HDR:
OX. RET:
DX.QFLG:
DX.R5:
DX.SP:

000000
000000

001236
001240
001242

oeoooo

OO~244

OOO'JOO

001246
001250

001740
002200

,

.WORD
.WORD
.WORD
.WORD
.WORD
.WORD

;SET WHEN A CR HAS BEEN STRUCK
;MONITOR'S NEXT-TO-EXECUTE SLOT: MODULE'S HEADER ADDRESS
;MONITOR'S NEXT-TO-EXECUTE SLOT: MODULE'S RESUME ADDRESS
;CONTROL QUEUE UNDERFLOW INDICATOR
;POINTER TO MONITOR'S R5 STACK
;POINTER TO MONITOR'S R6 STACK

0
0
0
0
R5VALUE
SPVALUE

;****************
,
001252
001260
001266
001274
001302
001310
001316
001324
001332
001333
001340
001345
001353
001360
001366
001371

04204:3
030455
05110~3

020122
052111
030060
042115
054103
10'1
04:3
047524
02004,)
045
046505
03510:3
000005

041505
020061
044503
046450
051117
030056
055055
047515

054057
054105
042523
047117
053040
020051
026532
026516

047515
035122
020040
054523
051440
040

044516
020040
000
052123
055111

; lOCAL STORAGE - MESSAGES,

ETC.

DX.TITLE:

EXERCISER (MONITOR VOo.O) MD-ZZ-CXMON-A?

.ASCII ?%DEC/X-11

.ASCII

/%MCN!TOR:

DX.MON:
DX.SIZ

.ASCIZ
/
/
.ASCII /%SYSTEM SIZE: /

DX.SZK

.BlKB

"'D<5>

/

DECX-11
CONTROL MODU~E MACY11 30A(1052) 20-SEP-78 17:26 PAGE 33-2
DECX.MAC
19-5EP-78 14:52
KERNEL - COMMON DEFINITIONS AND REFERENCES
1047
1048

1049
1 :)50
1051
1052
1~53

1054
1055
1053
1057

001376
001402
001410
001416
001424
001432

001440
001442

045440
047524
020124
042105
051114
032040
001440
001442
000015

000045
052040
042114
040511
046040
022460

05 1 505
046440
041440
041517
000

DX.MED

SEQ 0035

.ASCIZ / K%I
.ASCIZ ITO TEST LD MEDIA CLR LOC 40%/

.EVEN
DX.FAK
DX.FK1

.WORD
.WORD

****************

BOTTOM OF R5 STACK

DX.FK1
CR

;FAKE KEYBOARD BUFFER

DECX-11
CONTROL MODULE MACY11 30A(1052)
20-SEP-78 17:26 PAGE 34
DECX.MAC
19-5EP-78 14:52
KERNEL - START UP ROUTINE
.SBTTL

~059

1060
1061
1062
1063
1864
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
(4 )

1073
(4 )

1079
(4 )

1080
1 D81
1082
1083
1084
1085
1086
(4 )

1087
(6 )

1088
1089
1090
(2 )

1091
1092
1093
1094
1095
1096
(6 )
(g)

1097
1098
1099
1100
1 101
1102
1103
(4 )

1104
(4 )

002200

KERNEL -

SEQ 0036

START UP ROUTINE

.=2200
;+

; THIS ROUTINE IS RESPONSIBLE FOR SETTING UP THE DIFFERENT SOFTWARE COMPONENTS
; OF THE MONITOR WHEN THE EXERCISER IS FIRST LOADED INTO MEMORY OR RESTARTED AT LOC. 100

DX.STRT:

002200

;+

STUFF THE POWERFAILURE VECTOR AND SET UP THE STACKS
002200
002200
002206
1)02206
002212
002212

LET PWRFL := #PWRDOWN
012767

OOOOOOG 175616

MOV

NPWRDOWN,PWRFL

MOV

NSPVALUE,SP

MOV

NR5VALUE,R5

LET SP .- #SPVALUE
012706

002200
LET R5 .- #R5VALUE

012705

001740

;+
; IF UNDER APT, WE MAY OR MAY NOT HAVE A SYSTEM TTY.
FOR NOW, ASSUME
; WE DO AND STUFF THE TTY ADDRESS.
ALSO, CLEAR THE "NO APT TTY" BIT IN
; CONFIGURATION WORD O.

LET RCSR := N177560

002216
002216
002224
002224

042767

002232
002232

000005

012767

177560

176754

MOV

N177560,RCSR

BIC

NNOAPTY,DTABLE+D

LET DTABLE+DT.CFO '- DTABLE+DT.CFO CLR.BY #NOAPTY
000002

176566
INLINE 

RESET
;+
; IF FIRST TIME THROUGH DO THE FOLLOWING

002234
002234
002240

IF DTABLE+DT.ESIZ EQ #0 THEN
005767
001022

176610

TST
BNE

DTABLE+DT.ESIZ
50000$

MQV

NDX.CAP,ST.EXT

MOV

NDX.CAP,HT.EXT

;+
; STUFF THE EXIT ADDRESS FOR THE TWO TRAP HANCLERS: SOFTWARE
; AND HARDWARE

002242
002242
002250
002250

LET ST.EXT '- #DX.CAP
012767

003242

OOOOOOG
LET HT.EXT .- NDX.CAP

012767

003242

OOOOOOG

CONTROL MODULE MACY1,
DECX-11
19-5EP-78 14:52
DECtZ.IJ.AC
1105
1103
1107
1103
1 10'3
1 110
1111
(4 )
1 1 12
(4)
1 113
(3 )
(4 )
(3 )
(3 )
1 1 14
(2 )
1 1 15
1 116
11 17
1 1 13
(4 )
(:.q
111 ::;
1 12:)
1121
1122
1 12::'
1124
(6)
1125
(4 )
1126
(3)
(4 )
(3 )
(3 )
1127
1123
'129
1130
1 131
1132
(6 )
( 9)

1133
(3 )
(5 i
(4 )
(3 )
(3 )
1134
(4 )

1125
(4 )

1'36

30A(1052)

17:26 PAGE 34-1
2C-SEP-78
KERNEL - START UP ROUTINE

SEQ 0037

;+
; SIZE AND POLL THE SYSTEM AND SORT MODULE Q LIST.
; CLEAR THE STAT INDICATORS
;-

002256
002256
002262
002262
002266
002266
002270
C02274
002300
002302
002302

005067

176532

005067

176530

LET DTABLE+DT.STO

·-

#0

LET DTABLE+DT.ST1

·-

#0

THEN DO ANOTHER RESET.

CALL SIZPOL IN <#DTABLE>
010546
012745
004767
012605

001004
OOOOOOG

CLR

DTABL::+DT.STO

CLR

DTABLE+DT.ST1

MOV
MOV
JSR
MOV

R5,-(SP)
#DTABLE,-(R5)
PC,SIZPOL
(SP)+,R5

INLINE 
RESET

000005
;+
;

ELSE THIS IS NOT THE FIRST TIME THROUGH.

,
002304
002304
002306

ELSE
000427

OR

50001$

BIC

#177400,DTABLE+D

CLR

DTABLE+DT.ST1

MClV
MOV
JSR
MOV

R5,-(SP)
#DTABLE,-(R5)
PC,RSTRCY
(SP)+,R5

CMP
SEQ

DTABLE+DT.ADDR,#
50002$

fJ10V
MOV
MOV
JSR
MOV

R5,-(SP)
#200,-(R5)
#DTABLE,-(R5)
PC,PRRLOC
(SP)+,R5

50000$:
;+
; GO RECOVER FROM THE RESTART,

AND DONIT BE LONG

,' 002306
002306
002314
002314
002320
002320
002322
002326
002332

042767

177400

005067

176476

01054G
012745
004767
o 1 260~)

001004
OOOOOOG

LET DTABLE+DT.STO

·-

DTABLE+DT.STO CLR.BY #177400

LET DTABLE+DT.ST1

·-

#0

176500

CALL RSTRCY IN <#DTABLE>

;+
; IF THE RTE IS RELOCATED, THEN RELOCATE BACK DOWN

,
002334
002334
002342
002344
002344
002346
002352
002356
00:2262
00.2364
002364
002364
C023€4

IF DTABLE+DT.ADDR NE #200 THEN
026727
001410

176506

000200
C~LL

C 1054(3
(l,274::;
012745
004767
':)1260:'>

PRRLOC IN <#DTABLE,#200>

000200
001004
OOOOOOG
ENDIF
50002$:
ENDIF
50001$:

DECX-11
DECX.~AC

1137
1133
'133
1140
1 141
1 142
(6)
(9 )
1

143
(3 )
(4)
(3 )
(3 )

1

144
(4)
(3)

1145
(6)

1

146
(4 )

1147
1148
1 149
1150
1151
1152
(4 )

1 153

«n

1154
(2 )

1155
(2 )

1156
1157
1158
1159
1160
1161
( 3)
( 7)
(6 )
(5 )
(4 )
(3 )
(3 )

1162
(2 )

1163
(2 )

1164
(2 )

1165
(2 )

'166

1167

CONTROL MODULE MACY11 30A(1052) 20-SEP-78 17:26 PAGE 34-2
19-5EP-78 14:52
KERNEL - START UP ROUTINE
;+
; IF LOADED UNDER APT, DO APT INITIALIZATION.
; PRESENT BIT.

002364
002364
002370
002372
002372
C02374
002400
C02404
002406
002406
002410
002410
002410
002416
002416

SEQ 0038
OTHERWISE, CLEAR THE APT

IF @#44 NE #0 THEN
005737
001407
010546
012745
004767
012605

000044
CALL APTSLP IN <#DTABLE>
001004
OOOOOOG
ELSE

000403
042767

50003$:
LET DTABLE+DT.CFO .- DTABLE+DT.CFO CLR.BY #APTPRES
000200

176402
ENDIF

TST
BEQ

@#44
50003$

MOV
MOV
JSR
MOV

R5,-(SP)
#DTABLE,-(R5)
PC,APTSLP
(SP}+,R5

BR

50004$

BIC

#APTPRES,DTABLE+

CLR

-(SP)

MOV

N7$,-(SP)

50004$:

;+
; LOWER THE PRIORITY

002416
002416
002420
002420
002424
002424
002426
002426

LET -(SP)

'- #0

LET - (SP)

: = #7$

005046
012746

002426
INLINE 

000002
INLINE <7$:>

RTI
7$:

;+

; OUTPUT MESSAGE TO IDENTIFY SELF
002426
002426
002430
002434
002440
002444
002450
002454
002456
002456
002456
002456
002460
002460
002462
002462

CALL MSGDHOOK IN <#DTABLE,#MSGPOP,#DX.TITLE,#2$>
010546
012745
012745
01L745

012745
004767
012605

MOV
MOV
MOV
MOV
MOV
JSR
MOV

002462
001252
000002
001004
OOOOOOG
INLINE <1$:>

1 $:

INLINE 
000240
INLINE 
000776 INLINE <2$:> ;+ NOP 8R 1$ 2$: R5,-(SP) N2$,-{R5} NDX.TITLE,-(R5) #MSGPOP,-(R5) #DTA8LE,-(R5) PC,MSGDHOOK (SP)+,R5 DECX-11 CGNTROL MODULE MACY11 30A(1052) 20-SEP-78 17:26 PAGE 34-3 DECX.MAC 19-5EP-78 14:52 KERNEL - START UP ROUTINE i 168 1169 1170 1171 (4) 1172 (4 ) 1173 (4 ) ( 6) (9) 1174 (6) 1175 (6 ) 1176 (4 ) (3 ) 1177 1 1 ~'8 1179 1180 1181 1182 1183 (3 ) (5 ) (4 ) ( 3) (3 ) 1184 1185 1186 1 187 1188 1189 (3 ) (7 ) (6 ) (5 ) (4) (3 ) (3 ) 1190 (2 ) 1 191 (2 ) 1192 (2 ) 1193 (2 ) 1194 11 S5 1196 1197 1198 SEQ 0039 ; NOW DETERMINE SYSTEM SIZE IN THOUSANDS ;- 002462 002462 002464 002464 002470 002470 002470 002472 002474 002474 0025(;0 (,02500 002502 002502 002504 LET RO .- #0 LET R1 .- DTABLE+DT.SSIZ 005000 016701 176362 WHILE R1 GT HO DO 005701 003404 1627C1 RO MOV DTABLE+DT.SSIZ,R TST BLE R1 50006$ SUB H40,R1 INC RO BR 50005$ MOV MOV MOV JSR MOV R5,-(SP) HDX.SZK,-(R5) RO,-(R5) PC,BDACNV (SP)+,R5 MOV MOV MOV MOV MOV JSR MOV R5,-(SP) H4$,-(R5) HDX.SIZ,-(R5) HMSGPOP,-(R5) #DTABLE,-(R5) PC,MSGDHOOK (SP)+,R5 50005$: LET R1 ... R1 - #40 LET RO .- RO + H1 000040 CLR 005200 ENDDO 000772 50006$: ;+ ; CONVERT SIZE TO DECIMAL ASCIZ , '- 002504 002504 002506 002512 002514 002520 CALL BDACNV IN 010546 012745 010045 004767 012605 001371 OOOOOOG ;+ ; OUTPUT SYSTEM SIZE MESSAGE , 002522 002522 002524 002530 002534 002540 002544 002550 002552 002552 002552 002552 002554 002554 002556 002556 CALL MSGDHOOK IN 010546 012745 012745 012745 012745 0047E7 012605 002556 001353 000002 001004 OOOOOOG INLINE <3$:> INUNE 000240 INLINE
000776 INLINE <4$:> + IF KT PRESENT GO SET UP APRS 3$: NOP BR 3$ 4$: DECX-11 CONTROL MODULE MACY11 30A(1CS2) 20-SEP-79 17:~6 PAGE 34-4 UECX.MAC 19-5EP-78 14:52 KERNEL - START UP ROUTINE 1199 (6 ) (9 ) 1200 (3 (4 (3 (3 ) ) ) ) 1201 (4) 1202 1203 1204 1205 1206 1207 1208 (3 ) 1209 1210 1211 1212 1213 1214 002556 002556 002564 002566 002566 002570 002574 C02600 002602 002602 002602 002602 (2 ) G02644 002646 002646 002650 002650 002650 002650 1218 (2 ) 1219 (4 ) 1220 (2 ) 00~406 CALL KTSET IN 0105413 012745 004767 012605 001004 OOOOOOG Bl T BEQ #KTPPES,DTABLE+D 50007$ MOV MOV JSR MOV R5,-(SP) #DTABLE,-(R5) PC,KTSET (SP)+,R5 JSR PC,DX.TURNON TST BEQ @l#40 50010$ MOV MOV MOV MOV MOV JSR MOV R5,-(SP) #6$,-(R5) #DX.MED,-(R5) #MSGPOP,-(R5) #DTABLE,-(R5) PC,MSGDHOOK (SP)+,R5 ENDIF 50007$: CALL DX.TURNON 004767 002064 ; IF EXERCISER LOADED BY XXDP MEDIUM, OUTPUT MESSAGE. 002644 1216 176234 ;+ 1217 (3 ) ( 7) (6) (5 ) (4 ) (3) ( 3) 000400 ;+ ( 2) 1215 IF NKTPRES SETIN OTA8LE+DT.CFO THEN 032767 ; GO TURN ON PROCESSOR OPTIONS ACCORDING TO CONF. WD. 0 ; AND UPDATE STATUS INDICATOR WORD. 002606 002606 002612 002614 002614 002616 002622 002626 002632 002636 002642 002644 002644 (6 ) ( 9) SEQ 004() IF @#40 NE #0 THEN 005737 001416 000040 CALL MSGDHOOK IN C10546 01274!3 01:274:3 012745 01274!3 004767 012605 002650 001402 000002 001004 OOOOOOG INLINE <5$:> 5$: INLINE NOP 000240 INLINE
BR 5$ 000776 ENDIF 50010$: INLINE <6$:> 6$: D~CX-11 DECX.~AC 1222 1223 1224 1225 1223 1227 1 '223 1229 1230 (4) 1231 (4 ) 1232 (4 ) 1233 (4) 1234 1235 1236 1237 1238 1239 (4 ) 1240 1241 1242 1243 1244 (4 ) 1245 1246 1247 1248 1249 1250 1251 1252 (3 ) CONTROL MCDULE MACY11 19-5EP-78 14:52 30A(105~) .SBTTL 1263 (6 ) (9) 1264 (3) (4) KERNEL - RESTART ROUTINE ; THIS ROUTINE PERFORMS THOSE FUNCTIONS NEEDED TO GET THE MONITOR GOING AGAIN ; AFTER IT HAS SEEN RUNNING , 002650 002650 002654 002654 002660 C02G60 002664 002664 .- DX.RSTRT: LET SP 012706 002200 OiOS67 176370 012705 001740 010567 176356 LET DX.SP LET R5 .- L1:.1 ....... DX.RS .- #SPVALUE SP #R5VALUE .- R5 MOV #SPVALUE,SP 1\10 V SP,DX.SP MOV #RSVALUE,RS MOV R5,DX.R5 CLR DTABLE+DT.ERR MOV DTABLE+DT.BLST,B JSR PC,DX.INI ;+ ; CLEAR THE ERROR WORD. , 002670 002670 LET DTABLE+DT.ERR 005067 .- #0 176130 ;+ ; RESET THE BACKGROUND POINTER , 002674 002674 LET BA.MPTR 016767 176140 ;+ ; , 002702 002702 .- DTABLE+DT.BLST OOOOOOG GO DO THE NECESSARY MONITOR INITIALIZATION, AND HURRY BACK CALL DX. IN I 004767 000112 ;+ ; 1 F THIS IS INITIAL START-UP AND WE ARE IN AUTO~ATIC MODE (XXDP OR ACT-ll), ; THEN MOVE THEXXDP MONITOR (EVEN IF IT DOESN1T EXIST, SINCE WE DON"T KNOW ; WHETHER WE1RE UNDER XXDP OR ACT-11) TO JUST ABOVE THE THEN FAKE A "RUN" COMMAND TO GET STARTED. ; EXERCISER. 125~ ( 9) SEQ 0041 ;+ 1253 1254 1255 1256 1257 1258 12CJ 1261 1262 (6 ) 20-SEP-78 17:26 PAGE 35 KERNEL - RESTART ROUTINE , IF #AUTOST NOTSETIN DTABLE+DT.ST1 THEN 002706 002706 032767 002714 082716 002716 002724 002726 002726 002730 00103"\ 032767 001406 010546 012745 020000 176102 000010 176074 IF #AUTO SETIN DTABLE+DT.CFO THEN CALL DPSTRT IN <#DTABLE> 001004 BIT BNE #AUTOST,DTABLE+D 50011$ BIT #AU10,DTABLE+DT. 8EQ 50012$ /V,OV MOV R5,-(SP) #DTABLE,-(R5) DECX-11 DECX.~AC ( 3) (3 ) 1265 (4) 1266 1267 1268 1269 1270 1271 (6) (9) 1272 (3 (5 (4 (3 (3 ) ) ) ) ) 1273 (4) 1274 (6) 1275 (4) 1273 1277 1278 12'79 1280 1281 1282 1283 (3 ) (4 ) (3 ) (3 ) 1284 (2 ) CONTROL MODULE MACY11 30A(1052) 20-SEP-78 17:26 P~GE 35-1 19-5EP-78 14:52 KERNEL - RESTART ROUTINE 002734 002740 002742 002742 004767 012605 SEQ 0042 OOOOOOG JSR MOV PC,DPSTRT (SP)+,R5 ENDIF 50012$: + IF THIS IS INITIAL START-UP WE ARE UNDER APT - GET THIS THING RUNNING RIGHT AWAY 1 002742 C02742 002750 002752 002752 002754 002760 002764 OC2770 OC'2772 002772 002772 002772 003000 003000 IF #APTPRES SETIN DTABLE+DT.CFO THEN 032767 001410 000200 176050 BIT BEQ #APTPRES,DTABLE+ 50013$ MOV MGV MOV JSR MOV R5,-(SP) #0,-(R5) #DTABLE,-(R5) PC,KRUN (SP)+,R5 BIS #AUTOST,DTABLE+D MOV MOV JSR MOV R5,-(SP) #DTABLE,-(R5) PC,CMDRST (SP)+,R5 JMP @#DX.DEQ CALL KRUN IN <#DTABLE,#O> 010546 012745 012745 004767 012605 000000 001004 OOOOOOG ENDIF LET DTABLE+DT.ST1 052767 020000 50013$: .- DTABLE+DT.ST1 SET.BY #AUTOST 176016 ENDIF 50011$: ;+ ; OUTPUT THE KEYBOARD PROMPT AND LET THE OPERATOR KNOW THAT THE ; SYSTEM IS NOW AWAITING KEYBOARD INPUT 003000 003000 003002 003006 003012 003014 003014 CALL CMDRST IN <#DTABLE> 010546 01274~) 001004 004767 012605 OOOOOOG 000137 003634 INLINE DECX-11 CONTROL M8C~LE MACY11 30A(1052) 20-SEP-78 17:26 PAGE 36 DECX.MAC 19-5EP-78 14:52 KERNEL - INITIALIZATION ROUTINE 1286 1287 1288 1283 1290 1291 1292 1293 1294 1295 (2) 1296 1297 (3) 1298 1299 1300 1301 1302 1303 1304 (3 ) 1305 (3 ) .SBTTL KERNEL - INITIALIZATION ROUTINE ;+ ; THIS ROUTINE PERFOR~S THE INITIALIZATION FUNCTIONS THAT ARE REQUIRED ; TO GET THE DEC/X-l1 MONITOR GOING. ONCE THE INITIALIZATION IS COMPLETE ; AND THE MONITOR IS RUNNING, CONTROL IS RETURNED TO THE CALLER ROUTINE DX.INI 003020 003020 003020 003020 DX.INI: CALL SAVREG 004767 OOOOOOG JSR ; INITIALIZE THE QUEUE STRUCTURES - BOTH THE CONTROL QUEUE AND THE ; TYPE QUEUE 003024 003024 003030 003030 CALL CQINI 004767 OOOOOOG 004767 OOOOOOG ; INITIALIZE THE ERROR LOGGING STUFF ;- 1313 (4 ) PC,CQINI JSR PC,TQINI BIT BEQ #PDP70!PDP60,DTA 50002$ JSR PC,IERRLO ;+ 130S 1310 131 1 (3 ) JSR CALL TQINI i 308 1312 PC,SAVREG ;+ 1306 1307 (6 ) ( 9) SEQ 0043 003034 OC3034 002~42 003044 003044 003050 003050 IF #PDP70!PDP60 SETIN DTABLE+DT.CFO THEN 032767 001402 014000 004767 OOOOOOG 175756 CALL IERRLO ENDIF 50002$: 314 1315 1316 i ;+ INITIALIZE THE OPTION ~ODULE SERVICING MECHANISM, WHICH CONSISTS OF RESETTING ; THE POINTERS FOR THE MODULE-TYPE-LIST AND THE MODULE-QUEUE-LIST, CLEARING THE ; RELOCATION-MODE FLAGS, RESETTING THE ASSOCIATED BITS IN THE STATUS INDICATOR WORD ; ALSO, CLEAR THE SBKSEL BIT. 1 31~' 1318 1319 1320 132 i 1322 (4 ) 1323 (4 ) 1324 (6 ) 1325 ( f) } 1326 (6) 1327 1328 ;- 003050 003050 003056 003056 003064 OJ3064 003072 003072 003100 003100 012767 012767 052767 042767 042767 LET AC.TPTR .- #AC.TYPE LET AC.MPTR .- #AC.MODQ OOOOOOG OOOOOOG OOOOOOG OOOOOOG 100000 046002 010000 LET DTABLE+DT.STl '- LET DTABLE+DT.STO '- LET DTABLE+DT.ST1 .- 175724 175714 175710 ;+ MOV #AC.TYPE,AC.TPTR MOV #AC.MODQ,AC.MPTR DTABLE+DT.ST1 SET.BY #CK7IM BIS DTABLE+DT.STO CLR.BY #MODEXH!MODHOLD!BKMODE!TMPIO 8IC DTABLE+DT.ST1 CLR.BY #SBKSEL BIC #CKTIM,DTABLE+DT #MODEXH!MODHOLD! #SBKSEL,DTABLE+D DECX-11 CONTROL MOD~~E MACY1' 30A(1052) 20-SEP-78 17:26 PAGE 36-1 DECX.MAC 19-5EP-78 14:52 KERNEL - INITIALIZAT!ON RuUTINE 1329 1330 1331 1332 (4) 1333 ; RESET THE BACKGROUND STATUS WORD 003106 003106 lET BA.STAT .- #0 005067 ClR OOOOOOG ; NOW RESET THE OPTION MODULES, WHICH CONSISTS OF RESETTING THEIR ACTBIT AND EOPBIT BITS (6) 003112 003112 003116 003116 003116 003120 003122 003122 003124 003124 003132 003132 1343 CO~140 (4) 1339 (4 ) (6) (9) 1340 (4 ) 1341 (6) 1342 ( 6} 003140 1344 003144 (4 ) ( 3) 003144 003146 1345 1346 1347 1348 134S 1350 1351 (4 ) 1352 (4 ) (6 ) ( 9) 1353 (4 ) 1354 ( 6) 1355 (G) 1356 (6 ) 1357 (4 ) (3 ) 1358 1359 1360 1361 1362 1363 BA.STAT ;+ 133~ 1335 1336 1337 1338 SEQ 0044 lET RO .016700 DT~BlE+DT.MLST 175720 MOV DTABLE+DT.MLST,R TST BEQ (RO) 50004$ 1\1] V (RO),R1 arc #ACTBIT,STAT(R1) BICB #EOPBIT,XFLAG(R1 ADD #2,RO BR 50003$ MOV DTABLE+DT.BLST,R CMP BEQ {RO} , #ENDLST 50006$ MOV (RO),R1 BIC #IOMOD,STAT(R1) 8IS #BKIY.OD,STAT{R1) ADD #2,RO BR 50005$ WHILE (RO) NE #0 DO 50003$: 005710 001412 LET R1 011001 .- (RO) LET STATeR') 042761 004000 000026 142761 00000' 000005 062700 000002 .- STAT(R1) CLR.SY #ACTBIT LET XFLAG(R1) :B= XFLAG(R1) CLR.BY #EOPBIT LET RO .- RO + #2 ENDDO 000764 50004$: ;+ ; GET BACKGROUND MODULE LIST POI~TER A~D MAKE SURE THAT THEY ARE ; ALL BKMODS. DUE TO THE TMP!O CONDITION. 003146 083143 003152 003152 003152 003156 003160 003160 003162 003162 003170 003170 003176 003176 003202 003202 003204 LET RO .- DTABLE+DT.8LST 016700 175666 WHILE (RO) NE #ENDLST DO 50005$: 021027 000000 0014~2 LET R1 011001 042761 100000 000026 052761 000020 000026 .- (RO) LET STAT(R1) .- STAT(R1) CLR.BY #IOMOD LET STAT(R1) .- STAT(R1) SET.BY #BKMOD LET RO .- RO + #2 062700 000002 ENDDO 000763 50006$: ;+ ; I NIT I ALI ZE THE MESSAGE DE-QUEU I NG MECHAN t SM 8Y RESETT I NG I TIS BUSY ; INDICATOR DECX-1' CONTROL MODULE MACY11 30A(1052) 20-SEP-78 17:26 PAGE 3f-2 DECX.MAC 19-5EP-78 14:52 KERNEL - INITIALIZATION ROUTINE 1364 (4 ) 1365 1363 1367 1363 1369 1370 1371 1372 (6) ( 9) 1373 (3 ) (4 ) (3 ) (3 ) 1374 (4) 1375 1376 (3 ) 1377 1373 1379 (3) (3) (2 ) 003204 003204 LET MD.BSY 005067 OOOOOOG .- SEQ 0045 #0 C~R MD.BSY ;+ ; IF IT IS NOT YET TIME TO RELOCATE, ; GET THE KEYBOARD GOING, WHICH CONSISTS OF CALLING THE KEYBOARD DRIVER AT ITS I/O INITIALIZATION ENTRY POINT , 003210 003210 (,03216 003220 003220 003222 003226 003232 003234 003234 003234 003234 003240 003240 003240 003240 IF #RELTIME NOTSETIN DTABLE+DT.STO THEN 032767 010000 175576 001006 BIT BNE #RcLTliVlE,DTABLE+ 50007$ MOV M,JV JSR MOV RS,-(SP) #DTABLE,-(R5) PC,KBINI (SP)+,R5 JSR PC,RESREG RTS PC CALL KBIN! IN <#DTABLE> 010546 012745 004767 012605 001004 OOOOOOG ENDIF ~0007$: CALL RESREG 004767 OOOOOOG ENDRTN 50000$: 50001$: 000207 DECX-11 DECX.MAC 1381 1382 1383 1384 1385 1386 1387 1388 138'3 139J 1391 1392 1393 1394 1393 1396 1397 1398 1399 1400 1401 1402 (6) (9) 1403 (6 ) 1404 (4) 140::. 1406 1407 1408 1409 1410 1411 (2 ) 1412 (2 ) 1413 (2 ) 1414 (4 ) 1415 1416 1417 1418 1419 1420 1421 (6) (9 ) 1422 (6) (9 ) 1423 (2 ) MO~U~E MACY1' 30A(1052) 20-SEP-78 17:26 PAGE 37 19-5EP-78 14:52 KERNEL - CAPTURE EVENT: DISPATCH TO SERVICE ROUTINE CONTRO~ .SBTTL SEQ 0046 KERNEL - CAPTURE EVENT: DISPATCH TO SERVICE ROUTINE ;+ THIS ROUTINE FIELDS THE PHYSICAL EVENTS THAT ARE RECEIVED 8Y THE DECX/11 MONITOR, I.E., SOFTWARE GENERATED TRAPS AND HARDWARE ERROR TRAPS. THE TYPE OF EVENT IS DETERMINED AND THE CORRESPONDING EVENT CODE IS ENTERED INTO THE MONITOR'S DATA TABLE. THE LINKAGE INFORMATION ON THE STACK IS THEN RE~CVED AND ALSO ENTERED INTO THE DATA TABLE. THEN, BASED ON THE TYPE OF EVENT (DIRECT-RETURN OR DEFERRED-RETURN), THE MODULE'S REGISTERS MAY HAVE TO BE SAVED IN THE MODULE'S HEADER. CONTROL IS THEN PASSED TO THE APPROPRIATE SERVICE ROUTINE. DX.CAP: 003242 ;+ ; IF THIS EVENT ORIGINATED WITH A BACKGROUND MODULE, RESET THE MONITOR'S BACKGROUND MODE ; INDICATOR, THUS ALLOWING THE EVENT TO BE SERVICED IN IT'S ENTIRETY , '- 003242 003242 003250 003252 003252 003260 003260 IF #BKMODE SETIN DTABLE+DT.STO THEN 032767 001403 040000 175544 042767 040000 175534 BIT BEQ #BKMODE,DTABLE+D 50010$ BIC #BKMODE,DTABLE+D MDV (SP)+,DTABLE+DT. Mev (SP)+,DTABLE+DT. MOV (SP)+,DTABLE+DT. MOV SP,DTABLE+DT.SP LET DTABLE+DT.STO := DTABLE+DT.STO CLR.BY #BKMODE ENDIF 50010$: ;+ ; SAVE THE INFORMATION FOR THE NEW EVENT , 003260 003260 003264 003264 003270 003270 003274 003274 POP DTABLE+DT.EVNT 012667 175520 POP DTABLE+DT.PC 012667 175516 012667 175514 POP DTABLE+DT.PSW LET DTABLE+DT.SP 010667 175512 .- SP ;+ ; DETERMINE IF THE EVENT ORIGINATED FROM THE MONITOR, IF SO DON'T BOTHER ; SAVING THE REGISTERS AND SWITCHING STACKS 003300 003300 003306 003310 003310 003316 003320 003320 IF DTABLE+DT.EVNT GE #EVNTHD THEN 026727 175500 000200 175476 002200 00240~i CMP BLT DTABLE+DT.EVNT,# 50011$ CMP 8HI DTABLE+DT.SP,#SP 50012$ IF DTABLE+DT.SP LOS #SPVALUE THEN 026727 101001 000423 INLINE <8R 1$> 8R 1$ DECX-11 CONTROL MODULE MACY11 30A(1052) 20-SEP-78 17:26 PAGE 37-1 DECX.MAC 19--SEP-78 14:52 KERNEL - CAPTURE EVENT: DISPATCH TO SERVICE ROUTINE 1424 (4) 1425 (4) 1426 1427 1428 1429 1430 1431 1432 143:l (2 ) 1434 (4 ) 1435 (6) 1436 (6) 1437 (2 ) 1438 (4 ) 1439 (4 ) 1440 (4 ) 1441 (4 ) 1442 (4 ) 1443 (4 ) 1444 (4) 1445 (4) 1446 1447 (2 ) 1448 1449 1450 1451 1452 1453 1454 1455 (6) ( 9) ENDIF 003322 003322 003322 003322 50012$: ENDIf 50011$: ;+ ; THE EVENT WAS EITHER DECLARED EXPLICITLY BY AN OPTION MODULE, OR CAUSED ; UNINTENTIONALLY BY ONE, SO SAVE THE REGISTERS IN ITS HEADER AREA AND SWITCH ; TO THE MONITOR'S R6 AND R5 STACKS , 003322 003322 003324 003324 003330 003330 003336 003336 003342 003342 003344 003344 003346 003346 003350 003350 003352 003352 003354 003354 003356 003356 003360 003360 003364 003364 PUSH RO 010046 LET RO 016700 156768 062700 000062 MOV DX.HDR,RO BISB DT ABLE+DT. PSlAJ ,ST ADD #SVRO,RO MOV (SP)+,(RO)+ MOV R1,(RO)+ MOV R2,(RO)+ MOV R3,(RO)+ MOV R4, (RO)+ MOV R5,(RO)+ MOV SP, (RO)+ MOV DX.R5,R5 MOV DX.SP,SP :B= STAT(RO) SET.BY DTABLE+DT.PSW 000026 ·- RO,-(SP) RO + #SVRO POP (RO)+ 012620 LET (RO)+ 010120 LET (RO)+ 010220 LET (RO)+ 010320 LET (RO)+ 010420 LET (RO)+ 010520 LET (RO)+ 010620 016705 016706 ······- R1 R2 R3 R4 R5 SP LET R5 ·- DX.R5 LET SP ·- DX.SP 175662 175660 INLINE 003370 003370 <1$:> 1 $: ;+ ; NOW DETERMINE THE EVENT TYPE AND MARK THE RETUrtN-TYPE BIT ACCORDINGLY ; (DIRECT OR DEFERRED RETIIRN.) , 003370 003370 003376 IF DTABLE+DT.EVNT LT #DSEVNT THEN 026727 000014 000400 175406 LET DTABLE+DT.STO 003~00 052767 003~06 000403 003410 003410 175410 00200~ 003400 003406 1458 175454 MOV DX.HDR 175710 LET RO (6 ) (4) (3 ) ·- LET STAT(RO) 1456 1457 SEQ 0047 .- DTABLE+DT.STO SET.BY #DEFRTN .- 50013$: DTABLE+DT.STO CLR.8Y #DEFRTN CMP aGE DTABLE+DT.EVNT,# 50013$ SIS #DEFRTN,DTABLE+D SR 50014$ ELSE LET DTABLE+DT.STC DECX-11 CONTROL MODU_E MACY1, 30A(1052) 20-SEP-78 17:26 PAGE 37-2 DECX.MAC 19-5EP-78 14:52 KERNEL - CAPTURE EVENT: DISPATCH TO SERVICE ROUTINE (6) 1~59 (4 ) 1460 1461 1462 1463 003410 003416 003416 042767 000400 SEQ 0048 175376 SIC #DEFRTN,DTABLE+D MOV MOV JSR MOV R5,-(SP) #DTABLE,-(R5) PC,PREVT (SP)+,R5 ENDIF 50014$: ;+ ; NOW GO SERVICE THE EVENT , 1~64 1465 (3) (4) (3 ) (3) 003416 003416 003420 003424 003430 CALL PREVT IN <#DTASLE> 010546 012745 004767 Oi2605 001004 OOOOOOG CECX-11 CONTROL MSDU~E MACY" DECX.MAC 19-5EP-78 14:52 1467 1468 1469 1470 1471 1472 1·n3 1474 1475 1476 1 ·-i77 (6) (9) 1478 (3 ) (4) (3 ) (3 ) 1479 (4 ) 1480 1481 1482 1483 1484 1485 1485 1487 1488 1489 1490 003432 003432 003436 003440 003440 003442 003446 003452 003454 003454 (6) ( 9) 1494 149£ (6 ) 1497 (4 ) (3 ) 1495 (6 ) 1499 (4 ) 1500 (6) , 501 #0 THEN CALL ERREC IN <#DTABLE> 010546 012745 004767 012605 001004 OOOOOOG TST BEQ DTABLE+DT.ERR 50015$ MOV MOV JSR MOV RS,-(SP) #DTABLE,-(R5) PC,ERREC (SP)+,R5 ENDIF 50015$: , 003512 003520 003520 003526 003526 003530 J03530 003530 003536 003536 003536 003536 003544 1493 N~ 175366 IF THE EVENT ORIGINATED WITH A BACKGROUND MODULE, DETERMINE IF DEFERRED RETURN. IF SO, LOAD THE HEADER ADDRESS AND RETURN ADDRESS INTO THE BACKGROUND QUEUE, AND SET THE "BK" SUSPEND BIT. OTHERWISE, THE MODULE IS WORKING ITS WAY THROUGH THE MONITOR QUEUES, SO SET THE BKDEF BIT IN THE BK STATUS WORD. IN EITHER CASE, SET THE DEFERRED RETURN BIT IN THE STATUS ItJDICATOR. (4 ) (6 ) IF DTABLE+DT.ERR 005767 001406 ;+ 003512 1492 KERNEL - CAPTURE EVENT: RETURN FROM SERVICING EVENT ; WAS THE EVENT AN ERROR, OR DID THE SERVICING OF THE EVENT RESULT ; IN AN ERROR? IF SO PASS CONTROL TO THE ERROR RECOVERY HANDLER AND ; DON'T EXPECT TO GET CONTROL BACK 1495 (6) ( 9) SEQ 0049 ;+ (4 ) 1491 20-SEP-78 17:26 PAGE 38 KERNEL - CAPTURE EVENT: RETURN FROM SERVICING EVENT .SBTTL 003454 003454 003460 003460 003466 003470 C03470 003476 00::1476 003504 003506 003506 (4 ) 30A(1052) LET RO 016700 .- DX.HDR 175560 MOV DX.HDR,RO BIT B~Q #BIT04,STAT(RO) 50016$ BIC #ACTBIT,STAT(RO) BIT BNE #DEFRTN,DTABLE+D 50017$ MOV RO,BA.HDR IF #8IT04 SETIN STAT(RO) THEN 032760 001426 000020 042760 004000 000026 LET STAT(RO) .- STAT(RO) CLR.BY #ACTB!T 000026 IF #DEFRTN NOTSET!N DTABLE+DT.SiO THEN 032767 001011 000400 010067 OOOOOOG 175310 ..- LET BA.HDR LET BA.RET 016767 175270 RO DTABLE+DT.PC OOOOOOG .- LET BA.STATUS 052767 000001 OOOOOOG MOV BA.STATUS SET.BY #SUSPND SIS DTABLE+DT.PC,BA. #SUSPND,BA.STATU ELSE 000403 LET BA.STAT 052767 000002 OOOOOOG .- BR 50020$ BIS #BKDEF,BA.STAT 50017$: BA.STAT SET.BY #BKDEF ENDIF LET DTABLE+DT.STO 052767 000400 175250 ENDIF .- 50020$: DTASLE+DT.STO SET.BY #DEFRTN SIS #DEFRTN,DTABLE+D DECX-11 CONTROL MODULE MACY11 30A(1052) 20-SEP-78 17:26 PAGE 38-1 DECX.MAC 19-5EP-78 14:52 KERNEL - CAPTURE EVENT: RETURN (4) 15C2 1503 1504 1505 1506 1507 1508 1:309 (6 ) ( 9) 1510 (6) 151 1 (2 ) 1512 (4 ) 1:313 1514 1515 1516 1517 1518 (4) 1519 (4 ) 1520 (4) (6 ) 1521 (4 ) 1522 (4) 1523 (4 ) 1524 (4 ) 1525 (4 ) 1526 (4 ) 1527 ('-1 ) 1528 1529 1530 1531 1532 1533 (2 ) 1534 (2 ) 1535 (2 ) FRC~ SEQ 0050 SERVICING EVENT 50016$: 003544 ;+ ; WAS THE EVENT JUST SERVICED OF THE 'DEFERRED-RETURN ' TYPE WHERE ; CONTROL IS NOT RETURNED IMMEDIATELY TO THE MODULE/PROCESS THAT ISSUED ; THE EVENT. IF IT IS, GO GET THE NEXT MODULE FROM THE CONTROL QUEUE 003544 003:;44 003552 003554 003554 003562 003562 003564 003564 IF #DEFRTN SETIN OTABLE+DT.STO THEN 032767 001404 000400 175242 042767 000400 175232 #DEFRTN,OTABLE+D BIT S0021$ BEQ LET DTABLE+DT.STO := DTABLE+DT.STO CLR.BY #DEFRTN #DEFRTN,DTABLE+D SIC IN LINE
BR DX.DEQ 000424 ENDIF S0021$: + 003564 003564 003570 003570 003574 003574 003600 003604 C03604 003506 003606 003610 OC3610 003612 003612 003614 003614 003616 003616 003620 003620 THE EVENT ORIGINATED WITH AN OPTION MODULE, SO RESTORE IT'S REGISTERS AND SWITCH STACK LET DX.SP 010667 175460 LET DX.RS 010567 016700 062700 175452 ..- SP LET RO ·- DX.HDR + #SVR6 LET SP (RO) LET RS ··- -(RO) LET R4 ·- -(RO) 175440 000076 011006 014005 014004 LET R3 014003 LET R2 014002 LET R1 01400': LET RO ··- ··- MOV SP,DX.SP MClV RS,DX.R5 MOV ADD DX.HDR,RO #SVR6,RO MOV (RO),SP MOV -(RO),R5 MOV -(RO),R4 MOV -(RO),R3 MOV -(RO),R2 MOV -(RO),R1 MOV -(RO),RO MOV DTABLE+DT.PSW,-( MOV DTABLE+DT.PC,-(S 2$: RTI RS -(RO) -(RO) -(RO) -(RO) 014000 + NOW RETURN CONTROL 003622 003622 003626 003626 003632 003632 PUSH DTABLE+DT.PSW 016746 175162 PUSH DTABLE+DT.PC 016746 000002 1751S4 INLINE <2$: RTI> GECX-1' CONTROL MODULE MACY11 30A(1052) 20-SEP-78 17:26 PAGE 39 DECX.MAC 19-5EP-78 14:52 KERNEL - DE-QUEUE NEXT MODULE IN CONTROL 1537 1533 .SBTTL 1:539 ;+ 1540 1341 003634 003634 (3 ) (4 ; (3 ) (3 ) 1564 1565 1566 , 567 1568 1569 1570 (6) ( 9) 1571 (3 ) (4 ) (3 ) (3 ) , 572 (4 ) 1573 (4 ) 1574 1575 1576 1577 SEQ 0051 DE-QUEUE NEXT MODULE IN CONTROL QUEUE ROUTINE 3~IIt=Ou/"-EP. DX.DEQ: 005067 175404 LET DX.QFLG .- #0 CLR , DX.QFLG REPEAT INLlNE <3$:> 003640 003640 3$: ;+ ; INCREMENT THE APT "KEEP-ALIVE" COUNTER. ;- 003640 003640 LET @DTABLE+DT.APK := @DTABLE+DT.APK + #1 005277 175236 INC CPlDTABLE+DT.APK MOV MOV JSR MOV R5,-(SP) #DTABLE,-(R5) PC,MSGDEQ (SP)+,R5 CMP BNE DX.KFL,#1 50022$ Mev MOV JSR MOV R5,-(SP) #DTABLE,-(RS) PC,CMDPRC (SP)+,R5 CLR DX.KFL + CHECK THE MESSAGE QUEUE FIRST 1560 1561 1562 1563 ROUTINE THIS ROUTINE IS ENTERED CNLY WHEN NO OTHER MONITOR MODULES OR OPTION MODU~ES ARE EXECUTING. ITS MAIN FUNCTIONS ARE TO DE-QUEUE THE NEXT MESSAGE TO BE PRINTED, ACTIVATE THE NEXT MODULE IN THE MODULE-QUEUELIST, AND TO DE-QUEUE THE NEXT MODULE IN THE CONTROL QUEUE AND ALLOW IT TO BEGIN EXECUTION. IF THERE ARE NO MODUL~S WAITING IN THE MODULEQUEUE-LIST OR IN THE CONTROL QUEUE, THIS ROUTINE SIMPLY KEEPS CONTROL BY SITTING IN A CLOSED LOOP. i :342 1543 1544 1545 1546 1547 1548 1549 1550 (4) 1551 1552 (2) 1553 155Li 1555 1556 1557 (6) 1558 1559 KERNEL - QU~UE 003644 003644 003646 003652 003656 CALL MSGDEQ IN <#DTABLE> 010546 012745 004767 012605 001004 OOOOOOG + IF THE KS FLAG IS SET - WE HAD A CR 003660 003660 003E;66 003670 003670 003672 003676 003702 003704 003704 003710 003710 SO GO SERVICE IF DX.KFL EQ #1 THEN 026727 001010 175352 000001 CALL CMDPRC IN <#DTABLE> 010545 012745 004767 012605 001004 OOOOOOG 005067 175326 LET DX.KFL '- #0 ENDIF 50022$: + IF WE ARE EXECUTING IN RUN MODE, GO THRU THE SCHEDULING ALGORITHM CECX-1' CONTROL MODULE MACY11 30A(1052) 20-SEP-78 17:26 PAGE 39-1 DECX.MAC 19-5EP-78 14:52 KERNEL - DE-QUEUE NEXT MODULE IN CONTROL QUEUE ROUTINE 1573 1579 \ 6) (9) 1580 (2) 1581 (4 ) 1582 1583 1584 1583 1586 1587 (6 ) ( 9) 1583 (3) (4) ( 3) (3 ) 1589 (6) 1590 (3 ) (4 ) (3 ) (3 ) 1591 (4) 1592 (4 ) 1593 '594 1595 1596 1597 1598 1599 1600 1601 1502 1(303 1604 (6 ) ( 9) 1605 (3 ) (4) (3 ) (3 ) 1606 (6 ) 1607 (G) (9 ) 003710 003710 003716 003720 003720 003724 003724 SEQ 0052 IF #RUNMODE NOTSETIN DTABLE+DT.STO THEN 032767 001002 100000 000167 000614 B!T BNE 175076 #RUNMODE,DTABLE+ 50023$ INLINE JMP 6$ ENDIF 50023$: ;+ ; START BY LOOKING AT THE RELOCATION STUFF. IF ITIS TIME TO RELOCATE, IF SO, RELOCATE. ; IF ALL MODULE ACTIVE BITS ARE CLEAR. GO SEE , 003724 003724 003732 003734 003734 0:)3736 003742 003746 003750 003750 003752 003752 003754 003760 003764 OC3766 IF #RELTIME SETIN DTABLE+DT.STO THEN 032767 001415 01 05it() 012745 004757 0126C5 010000 175062 CALL CHKACT IN <#DTABLE> 001004 OOOOOOG #RELTIME,DTABLE+ 50024$ MOV MOV dSR MOV R5,-(SP) #DTABLE,-(R5) PC,CHKACT (S?)+,R5 BCS 50025$ MOV MOV JSR MOV R5,-(SP) ItDTABLE,-(R5) PC, RELCT L (SP)+,R5 IF.NO.ERROR THEN 103406 010546 012745 004767 BIT BEQ CALL RELCTL IN <#DTABLE> 001004 OOOOOOG 0~2605 ENDIF 50025$: 003766 ENDIF 003766 003766 50024$: ;+ IF THE LAST SYSTEM EOP WAS IN LO\tJEST MEMORY (MEMPAS=1), IT IS TIME TO CHECK FOR A COUPLE OF THINGS. (1) IF WE ARE RUNNING UNDER XXDP OR ACT-11 (AUTO= 1 ) , THEN IT IS TIME TO RETURN THE THE XXDP/ACT-11 MONITOR. (2 ) IF THERE ARE SBK MODULES THAT ARE SELECTED, IT IS TIME TO STOP ALL MODULES AND THEN RESTART THE!V1 SO THE SBK MODULES WILL RESTART. , 003766 003766 003774 003776 003776 004000 004004 004010 004012 004012 004014 004014 004022 IF HMEMPAS SETIN DTABLE+DT.ST1 THEN 032767 001434 040000 175022 MOV MOV R5,-(SP) #DTABLE,-(R5) PC,CHKACT (SP)+,R5 BCS 50027$ BIT BEQ #AUTO,DTABLE+DT. 50030$ MOV 001004 OOOOOOG JSR IF.NO.ERROR THEN 103425 032767 001406 HMEMPAS,DTABLE+D 50026$ CALL CHKACT IN <#DTABLE> o 1 C54~3 012745 004767 012605 BIT BEQ IF HAUTO SETIN DTABLE+DT.CFO THEN 000010 174776 DECX-11 CONTROL MODULE MACY11 30A(1052) 20-SEP-78 17:26 PAGE 39-2 DECX.MAC 19-5EP-78 14:52 KERNEL - DE-QUEUE NEXT MODULE IN CONTROL QUEUE ROUTINE 1608 (3 ) (4) (3 ) (3 ) 1:303 {4 ) 1610 (6 ) (9) 1611 (3 ) 1612 (6) 1313 (2 ) 1514 (4 ) 1615 (4 ) 1616 (4 ) 1617 1518 16iS 1620 1621 1622 1623 1624 1625 (6 (9 (6 (9 ) ) ) ) 1626 (6 ) (8) (6 ) (9 ) ( G) 1627 (3 (4 (3 (3 ) ) ) ) 1628 (4 ) 1629 (4) 1630 1631 153:: 1633 1634 1635 004024 004024 004026 004032 004036 004040 004040 004040 004040 004046 004050 00Ll050 004054 004054 004062 004062 004066 004066 004066 004066 0011,066 004066 SEQ 0053 CALL DPEOP IN <#DTABLE> 010546 012745 004767 012605 MOV MOV JSR MOV 001004 OOOOOOG R5,-(5P) #DTAOL~,-(R5) PC,DPEJP (SP)+,R5 . ENCIF 50030$: IF #SBKSEL SETIN DTABLE+DT.ST1 THEN 032767 001407 010000 004767 176744 042767 040000 000167 177546 BIT BEQ 174750 #SBKSEL,DTABLE+D 50031$ CALL DX.INI JSR PC,DX.INI .- DTABLE+DT.ST1 CLR.BY #MEMPAS BIC #MEMPAS,DTABLE+D INLINE JMP DX.DEQ LET DTABLE+OT.ST1 174734 ENDIF 5003,$: ENDIF 500275: ENDIF 50026$: ;+ ; IF ITS NOT RELOCATION TIME AND NOT TIME FOR XX)P RETURN, THEN ; IF WE'RE NOT IN A 'HOLD' STATE WAITING ON A 5BI\ OR N8K MODULE, SEE IF WE CAN ; GET SOMETHING GOING ;- 004066 004066 00·1:)74 004076 004104 004106 004106 004114 004116 004124 004126 00·1126 00412E. 004130 004124 004140 004142 004142 004142 004142 032767 001022 032767 001016 032767 001404 032767 001406 010546 012745 004767 012605 010000 174720 040000 174712 006000 174700 005000 174670 001004 OOOOOOG IF #RELTIME NOTSETIN DTABLE+DT.STO AND #MEMPAS NOTSETIN DTABLE+DT.5T1 THEN BIT #RELTIME,DTABLE+ BNE 50032$ BIT #MEMPAS,DTABLE+D 8i\iE 50032$ IF #MODEXH!MODHOLD NOTSETIN DTABLE+DT.STO OR #MODEXH!MODSEL SETIN DTABLE BIT hMODEXH!MODHOLD, BEQ 50033$ BIT #MODEXH!MODSEL,D BEQ 50034$ 50033$: CALL ACTIV IN <#DTABLE> MOV R5,-(5P) MOV #DTABLE,-(R5) JSR PC,ACTIV MOV (SP)+,R5 ENDIF 50034$: ENDIF 50032$: ;+ ; IS THERE AN OPTION MOCULE IN THE CONTROL QUEUE AWAITING EXECUTION? ;004142 CALL DEQCQ OUT DECX-11 CONTROL MODU~E MACY11 30A(1052) 20-SEP-78 17:26 PAGE 39-3 DECX.MAC 19-5EP-78 14:52 KERNEL - DE-QUEUE NEXT MODULE IN CeNTROl QUEUE ROUTINE (4) (3 ) (4 ) (4) 1 ~336 (6) 1537 (4 ) 1639 1639 1640 1 341 1642 1,343 1644 1645 1046 (6) (8 ) (6) (8) (6) ( 9) (6 ) 1647 (6) ( 9) 1643 (6) 1649 (4 ; 1650 (2) 1651 (4 ) 004142 004146 004152 004155 004162 004162 004164 004.64 162705 004767 012567 012567 000004 OOOOOOG 175062 175060 IF.NO.ERROR THEN 103451 016700 lET RO '- DX.HDR 175050 (6) (9 ) 166C (4) 1661 (4 ) 1662 (6 ) 1663 (6 ) 1664 (2 ) 1665 SUS JSR MOV MOV #2*2,R5 PC,DEQCQ (R5)+,DX.HDR (R5)+,DX.RET BCS 50035$ MOV DX.HDR,RO ;+ ; IF THE RETURN ADDRESS IS ZERO OR A MODULE IS DESELECTED OR DROPPED, ; SEE IF IT'S A BKMOD AND IF SO, CLEAR THE BKDEF BIT IN BA.STAT SO ; WE CAN GET ADDITIONAL BKMODS ON THE AIR ;- (004170 004170 004174 004176 004204 004206 004214 004216 004216 004216 004224 004226 004226 004234 004234 004234 004234 004236 004236 005767 001410 032760 001404 032760 001410 IF DX.RET EQ #0 OR #BIT14 NOTSETIN STAT(RO) OR #BIT13 SETIN STAT(RO) THE OX. RET TST 50036$ BEQ #BIT14,STAT(RO) BIT 50036$ BEQ #BIT13,STAT(RO) BIT 50037$ BEQ 50036$: IF #BKMOD SETIN STAT(RO) THEN #BKMOD,STAT(RO) BIT 50040$ BEQ lET BA.STAT .- BA.STAT ClR.BY #BKDEF #BKDEF,BA.STAT BIC ENDIF 50040$: INLINE
1$ BR ENDIF 50037$: 175046 040000 000026 020000 000026 032760 001403 000020 000026 042767 000002 OOOOOOG 000470 1652 1653 1654 1655 1656 1657 1658 1659 SEQ 0054 ;+ DETERMINE IF IT'S A 8ACKGROUND MODULE, IF SO, ENTER IT INTO ; THE BACKGROUND QUEUE AND CONTINUE DE-QUEUING FROM THE CONTROL ; QUEUE '004236 004236 004244 004246 004246 004254 004254 004262 004262 004270 004270 004276 004276 004300 IF #BIT04 SETIN STAT(RO) THEN 032760 001415 000020 000026 016767 174766 OOOOOOG 016767 174762 OOOOOOG 052767 000001 OOOOOOG 042767 000002 OOOOOOG 000447 LET BA.HDR .- DX.HDR BIT BEQ #BIT04,STAT(RO) 50041$ MOV DX.HDR,BA.HDR LET BA.RET '- DX.RET MOV LET 6A.STATUS .- BA.STATUS SET.BY #SUSPND BIS LET BA.STAT .- BA.STAT CLR.BY #BKDEF BIC INLINE
BR 1$ ENDIF DX.RET,BA.RET #SUSPND,BA.STATU #BKDEF,BA.STAT DECX-11 CONTROL MODULE MACY11 30A(1052) 20-SEP-78 17:26 PAGE 39-4 DECX.MAC 19-5EP-78 14:52 KERNEL - DE-QUEUE NEXT MODULE IN CONTROL QUEUE ROUTINE (4 ) 1666 1667 1668 1669 1670 (4) 1671 (4 ) 1672 1673 1674 1375 1676 1577 1673 1679 1686 004410 (4 ) 004410 004416 004416 004416 004416 004416 004416 ( 3) (4 ) ( 3) (3) 1681 (6) 1682 (4 ) 1683 ( 6) (8) ( 6) ( 9) (6) 1684 (6 ) 1685 (4 ) 1687 (4 ) 1688 (4 ) 1689 (4 ) 1690 1691 (2 ) 1692 1693 177777 MOV 174736 ENDIF #-1,DX.QFLG 50035$: , (3 ) lS80 LET DX.QFLG := #-1 012767 ;+ ; IF THE CONTROL QUEUE IS EMPTY GO SEE IF THERE IS A MODULE IN THE BACKGROUND QUEUE ; THAT WANTS TO RUN (SELECTED AND NOT DROPPED). ; IF SO, SET THE DE-QUEUI~G FLAG. 004306 0043C6 004314 004316 004324 004326 004334 004336 004336 OC4340 004344 004350 004352 004352 004354 004354 004360 004360 004366 004370 004376 004400 004400 004400 004406 004406 004410 (6 ) (9) ( 6) ( 9) (6 ) ( 9) 50041$: ;+ ; THE MODULE IS ELIGIBLE TO RUN, SO SET THE DE-QUEUING FLAG ACCORDINGLY 004300 004300 004300 004306 004306 SEQ 0055 0044i6 004416 032767 00104J 026727 001434 032767 001030 010545 012745 004767 012605 012000 174500 174722 177777 040000 174462 IF #MODHOLD!RELTIME NOTSETIN DTABLE+DT.STO AND DX.QFLG NE N-1 AND #MEM?AS NOT SET NMODHOLD!RELTIME BIT 50042$ BNE DX.QFLG,N-1 cr~P 50042$ BEQ #MEMPAS,DTABLE+D BIT 50042$ BNE CALL BACTIV IN R5,-(SP) MOV #DTABLE,-(R5) MOV PC,BACTIV JSR 1\10V (SP)+,R5 IF.NO.ERROR THEN 50043$ BCS LET RO - DX.HDR DX.HDR,RO M:J\/ IF #BIT14 NOTSETIN STAT(RO) OR #BIT13 SETIN STAT(RO) THEN ;¥BIT14,STAT(RO) BIT 50044$ BEQ #BIT13,STAT(RO) BIT 50045$ BEQ 50044$: lET STAT(RO) . - STAT(RO) CLR.BY #ACTSIT #ACTBIT,STAT(RO) SIC ELSE 50046$ SR 50045$: LET DX.QFLG - #-1 #-1,DX.QFLG MOV ENDIF 50046$: ENDIF 50043$: ENDIF 50042.£: 001004 OOOOOOG 103421 . 016700 174660 032760 001404 032760 001404 040000 000026 020000 000026 042760 004000 000026 177777 174626 C00403 . 012767 INLINE <1$:> ;+ 1 $: DECX-11 CONTRCL MODULE MACY11 30A(1052) 20-SEP-78 17:26 PAGE 39-5 DECX.MAC 19-5EP-78 14:52 KERNEL - DE-QUEUE NEXT MODULE IN CONTROL QUEUE ROUTINE 1694 1695 1696 1697 (6) (9 ) 1398 (6 ) 1699 (3 (4 (3 (3 ) ) ) ) 1700 1701 , 702 1703 1704 1705 ; IF IT IS TIME TO SEE IF ALL MODULES HAVE COMPLETED AN EOP, DO IT. 004416 004416 004424 004426 004426 004434 004434 004436 004442 004446 (6) 1707 004~56 (6) ( 9) 1705 IF #CKTIM SETIN DTABLE+OT.ST1 THEN 032767 001445 100000 174372 042767 100000 174362 LET DTABLE+OT.ST1 010546 012745 004767 012605 005277 (4 ) (3 ) 004474 004476 004476 00042'1 004476 010546 012745 004767 012605 , 71 1 (6 ) (8 ) ( 6) (g) (6 ) 1712 (6) 1713 (4 ) 1714 (4 ) 1715 (4) 1716 (4) 1717 1718 (2) 1719 (2) "'lOV MOV JSR R5,-(SP) #OTABLE,-(R5) PC, CH:- 0()4456 004464 004466 004466 1708 BIT BEQ ;+ ; IF ALL MODULES HAVE DONE AN EOP, INCR. SYSTEM PASS COUNT AND SET ; "RELTIME" IF IN RELMODE. IF NOT RELMODE, CLEAR EOP INDICATORS AND ; IF "AUTO" MODE OR "SBKSEL" SET "MEMPAS". 00",450 004450 004452 004452 (6) SEQ 0056 032767 001404 020000 174330 052767 01 0000 1743~0 BIT #RELMODE,OTABLE+ SEQ 50051$ LET OTABLE+OT.STO .- DTABLE+DT.STO SET.BY #RELTIME BIS HRELTIME,DTABLE+ ELSE BR 50052$ 50051$: CALL CLREOP IN <#OTABLE> R5,-(SP) #OTABLE,-(R5) PC,CLREOP JSR MOV (SP)+,R5 IF NAUTO SETIN DTABLE+DT.CFO OR #SBKSEL SETIN DTABLE+DT.ST1 THEN IrAUTO,DTABLE+DT. BIT BNE 50053$ #SBKSEL,DTABLE+D BIT SEQ 50054$ 50053$: LET OTABLE+DT.ST1 := DTABLE+DT.ST1 SET.BY #MEMPAS BIS #MEMPAS,DTABLE+O ENDIF 5C054$: MOV M'JV 001004 OOOOOOG 032767 001004 032767 001403 000010 174300 010000 174266 052767 040000 174256 ENDIF 50052$: ENDIF 50050$: ENDIF 50047$: UNTIL OX.QFLG NE #0 , INLINE <6$: TST CX.QFLG> 005767 6$: 174500 INLINE 001002 6NE 4$ TST DX.QFLG OEC~-11 DECX.MAC 1720 (2 ) 1721 (:2 ) CONTROL MODULE MACY1, 30A(10S2) 20-SEP-78 17:26 PAGE 39-6 19-5EP-7~ 14:52 KER~EL - DE-Q~EUC NEXT MOOLLE IN CONTROL QUEUE ROUTINE 004546 C04546 004552 004552 SEQ 0057 IN LI NE 000167 177066 IN LI N E <4$: > JMP 3$ 4$: DECX-1' CONTROL MODULE MACV11 30A(1052) 20-SEP-78 17:26 PAGE 40 DECX.MAC 19-5EP-78 14:52 KERNEL - DE-QUEUE NEXT MOQULE: PASS CPU CONTROL TO MODULE 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 .S8TTL THERE IS A MODULE IN THE MONITOR'S NEXT-TO-EXECUTE SLOT AWAITING EXECUTION, ; SO LETS GET IT GOING. THIS CONSISTS OF RESTORING ITS REGISTERS AND SWITCHING ; FROM THE MONITOR'S R5 AND R6 STACKS TO THE MODULE'S R6 STACK, AND THEN PASSING CONTROL LET DX.R5 '- R5 062700 1739 (4 ) 00~1600 014003 1740 004602 004602 004604 004604 004606 004606 1733 (~ ) 1734 (4) 1735 (6) i736 (4 ) 1737 (4 ) 1738 (4) (4) 1741 (4) 1742 (4) 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 (2 } 1757 (6 ) 1758 ( 6) (9 ) 1759 (4 ) 1760 (2 ) 1761 KERNEL - DE-QUEUE NEXT MODULE: PASS CPU CONTROL TO MODULE i+ 004552 004552 00£1556 004556 004562 004562 004566 004566 C04572 004572 004574 004574 004576 004576 004600 (4 ) SEQ 0058 010567 174470 MOV RS,DX.R5 MOV SP,DX.SP MOV DX.HDR,RO ADD #SVR6,RO MOV (RO) , SP MOV -(RO),RS MOV -(RO) ,R4 MOV -(RO),R3 MOV -(RO),R2 MOV -(RO),R1 MOV -(RO),RO LET DX.SP '- SP 010667 174466 LET RO .- DX.HDR 016700 174452 LET RO .- RO + #SVR6 000076 LET SP .- (RO) 011006 LET R5 "- -(RO) 014005 LET R4 "- -(RO) 014004 LET R3 '- -(RO) LET R2 .- -(RO) 014002 LET R1 "- -(RO) 014001 LET RO .- -(RO) 014000 ;+ ;******~****************************************************************** ;**************** CONTROL WILL NOW BE PASSED TO THE MODULE *************** ;************************************************************************* ;+ ; IF THE OPTION MODULE IS A BACKGROUND MODULE, SET THE MONITOR'S STATUS ; INDICATOR WORD #0 ACCORDINGLY. ALSO, SET UP TO RESTORE THE MODULE'S PSW. 004610 004610 004614 004614 004620 004620 004\326 004530 004630 004634 004634 PUSH DX.HDR 016746 174424 LET (SP) 062716 0- MOV DX.HDR,-(SP) ADD #STAT,(SP) BIT BEQ #BIT04,@(SP) 50055$ W.OV @(SP),(SP) (SP) + #STAT 000026 IF #81T04 SETIN @(SP) THEN 032776 001415 000020 017616 000000 000000 LET (SP) .- @(SP) INLINE 5$: LET DTABLE+DT.STO .- DTABLE+DT.STO SET.BY HBKMODE 052767 040000 174134 BIS HBKMODE,DTABLE+D BR 50056$ CLR (SP) Ml"lV DX.RET,-(SP) ELSE 000401 50055$: LET (SP) .- HO 005016 ENDIF 50056$: PUSH DX.RET 016746 174352 ;+ ; DO IT 004670 MOV PUSH #5$ 000002 RTI DECX-11 CONTROL MODULE MACY11 30A(1052) 20-SEP-78 17:26 PAGE 41 DECX.MAC 19-5~P-7b 14:52 KERNEL - DE-QUEUE ~EXT MODULE: PASS CPU CONTROL TO MODULE 1786 1787 1788 1789 1790 1791 (2) 1792 1193 1794 1795 1795 1797 (6 ) (9 ) 1793 1799 (3 ) (5 ) (4) (3 ) (3 ) SEQ 0060 ;+ ; THIS ROUTINE PERFORMS THE TURNING ON OF THE APPROPRIATE ; CPU OPTIONS. ROUTINE DX.TURNON 004672 C04672 DX.TURNON: :+ ; CALL ROTON IF NOT SCRAWNY MONITOR ; AND OUTPUT APPROPRIATE MESSAGE IF #NCPUOP NOTSETIN DTABLE+DT.CFO THEN C04672 004672 004700 032767 001012 004702 004702 004704 C04710 004714 004720 010546 016745 012745 004767 012605 174530 001004 OOOOOOG 004767 000172 000020 174120 BIT BNE hNCPUOP,DTABLE+D 50002$ MJV M:JV MJV MOV R5,-(SP) DX.FAK,-(R5) , #:lTABLE,-(R5) PC,KROTON (SP)+,R5 JSR PC,DX.TL.;1 BIT BEQ #KTPRES,DTABLE+D 50003$ MOV MOV Mev JSR Mev R5,-(SP) DX.FAK,-(R5) #DTABLE,-(R5) PC,KKTON (SP)+,R5 JSR CC,DX.TU1 CALL KROTON IN JSR 1800 1801 ( 3) 1802 (4) 004722 004722 004726 004726 CALL DX.TU1 ENDIF 500025: 1803 1804 ;+ : TURN ON KT IF AVAILABLE AND OUTPUT MESSAGE 1805 1803 1807 1803 (6) (9 ~ 1809 (3 (5 (4 (3 (3 ) ) ) ) ) 1810 (3 ) 1811 (4 ) 004726 004726 004734 004736 004736 004740 00~744 004750 004754 004756 004756 004762 004762 IF #KTPRES SETIN DTABLE+DT.CFO THEN 032767 001412 000400 174064 CALL KKTON IN <#DTABLE,DX.FAK> 010546 016745 012745 004767 012605 174474 001004 OOOOOOG 004767 000136 CALL DX.TU1 ENDIF 500C3S: 1812 ;+ 1813 1814 ; TURN ON "PARITY" OR "ECC" MEMORY IF AVAILABLE, OUTPUT MESSAGE 181 S 1816 1817 (6 '; {8 'i (6 :; (9 :, (6 ) 004762 004762 004770 004772 005000 005002 032767 001004 032767 001412 000100 174030 002000 174020 IF #ECCMEM SETIN DTABLE+CT.CFO OR #PARPRES SETIN DTABLE+DT.CFO THEN BIT 8i\E BIT SEQ 50004'£: # Eccr"EM ,DT ABLE+D 50004$ #PARPRES,DTABLE+ 50005$ 20-SEP-78 17:26 PAGE 4.-1 [,ECX-l 1 CONTROL MODULE MACVll 30A(1052) DE-QUEUt:. NEXT MODULE: PASS CPU CONTROL TO MODULE KERNEL 19-5EP-78 14:52 DECX.MAC - 1818 (3 ) (5 ) (4) (3 ) (3 ) 1819 (3 ) 132,) (4 ) 1821 1822 1823 1324 1825 1826 (6) ( 9) 1327 (3 ) ( 5) (4 ) (3 ) (3 ) 1828 (3 ) 1829 ( 4) 183J 1831 1832 1833 1834 1835 (6 ) (9) 1836 (3 ) ( 5) (4 ) (3 ) (3 ) 1837 (3 ) 1838 (4 ) 1839 1840 1841 1842 1843 184!; (3 ) (3 ) (2 ) 1845 005002 005002 005004 005010 005014 005020 005022 005022 005026 005026 CALL KPON IN <#DT~BL(,DX.FAK> 010546 0167~5 012745 004767 012605 SEQ OOE'1 174430 001004 OOOOOOG MOV MOV MOV JSR MOV R5,-(SP) DX.FAK,-(R5) #DTABLE,-(R5) PC,KPON (SP)+,R5 JSR PC,DX.TU1 BIT BEQ #CAPRES,DTABLE+O 50006$ MOV MOV MOV JSR MJV R5,-(SP) DX.FAK,-(R5) #DTABLE,-(R5) PC,KCON (SP)+,R5 JSR PC,DX.TU1 BIT SEQ # ADD r~ 2 2 , 0 TAB LE+ 0 50007$ MJV MOV MOV JSR MOV R5,-(SP) DX.FAK,-(R5) IIDTABLE,-(R5) PC,KrIlON (SP)+,R5 JSR PC,DX.TUl RTS PC CALL DX.TUl 004767 000072 ENDIF 50005$: ;+ ; TURN ON CACHE IF AVAILABLE AND OUTPUT MESSAGE , 005026 005026 005034 005036 005036 OGS040 005044 005050 005054 005056 005056 005062 005062 IF #CAPRES SETIN DTABLE+DT.CFO THEN 032767 001 ..i12 000004 173764 CALL KCON IN <#DTABLE,DX.FAK> 010546 C16745 012745 004767 012605 174374 001004 OOOOOOG 004767 000036 CALL DX.TU1 ENDIF 50006$: ;+ ; TURN ON UNIBUS MAP (MAP BOX) IF AVAILABLE AND OUTPUi MESSAGE , 005062 005062 005070 005072 005072 005074 005100 005104 aS51 10 005112 005112 IF #ADDR22 SETIN DTABLE+DT.CFO THEN 032767 001412 001000 173730 CALL KMON IN <#DTA3LE,DX.FAK> 010545 01674::> 012745 004767 012605 174340 001004 OOOOOOG 004767 000002 CALL DX.TU1 ENDIF 00~116 50007$: 005116 ;+ ; RETURN TO CALLER , 005116 005116 005116 005116 ENDRTN 50000$: 50001$: 000207 DECX-11 CONTROL MODULE MACY11 30A(1052) 20-SEP-78 17:26 PAGE 41-2 CECX.MAC 19-5EP-78 14:52 KERNEL - DE-QUEUE NEXT MODULE: PASS CPU CONTROL TO MODULE 1846 1847 (2) 1848 1349 1850 1851 1852 1853 1854 1855 (3 ) (7 ) (6 ) (5 ) (4) (3 ) (3 ) 1856 (2 ) 1857 (2 ) 1853 (2 ) 1959 (2 ) 1860 (4 ) 1861 (3 ) (3 ) (2 ) 1862 1863 SEQ 0062 ROUTINE DX.TU1 005120 005120 DX.TU1: ;+ ; RETRIEVE MESSAGE FROM DT.KBRSP WORD IN DTABLE AND OUTPUT ; MESSAGE AND WAIT FOR IT TO FINISH OUTPUTTING BEFORE RETURNING ; CONTROL 005120 005120 005122 005126 005132 005136 005142 005146 005150 005150 005150 005150 005152 005152 005154 005154 005154 005154 005160 005160 005160 005160 CALL MSGDHOOK IN <#DTABLE,#MSGPOP,DTABLE+DT.KBRSP,#2$> 01C546 012745 016745 012745 012745 004767 012605 MOV MOV MOV M8V MOV JSR MOV 005154 173674 000002 001004 OOOOOOG R5,-(SP) #2$,-(R5) DTABLE+DT.KBRSP, #MSGPOP,-(R5) #DTABLE,-(R5) PC,MSGDHOOK (SP)+,R5 INLINE <1$:> 1 $: INLINE NOP 000240 INLINE
BR 1$ 000776 INLINE <2$:> 2$: LET DTABLE+DT.KBRSP .- #0 005067 173646 CLR DTABLE+DT.KBRSP RTS PC ENDRTN 50000$: 50001$: 000207 002200 .END DX.STRT DECX-11 CONTRCL MODULE MACY 11 19-5EP-78 14:52 DECX.MAC ACSR P,CT 3 IT = ACTIV = Ac.rJlOD= fIC.MPT= AC.TPT= AC.TYP= ADDc(22 = ADR APTFEK= Ar::TPRE= 000102 004000 ~PTSLP= **"'*** G /\PTVEC {,,:'J. PB = ASB f,SSEMB= /\STAT = /;JTG AUTOST= A'wAS GACT1\!= 8A.HDR= BA.M?T= BA.RET= SA.STA= 8DACNV= :iITO urroo 31T01 91T02 :31T03 B1T04 3IT05 BIT06 :31T07 GITOS BIT09 BIT1 SIT 10 3 IT 11 BIT12 31T13 8 IT 14 61 T 15 BIT2 BIT3 31T4 3115 001000 000006 000004 000200 000044 "'" ,- '" * * G 000106 000010 000104 000010 020000 00011C ***"'** **"*** "'***** "'*"'*** ****** ****** 000001 000001 000002 000004 000010 000020 000040 000100 000200 000400 001000 000002 002000 OO'~OOO BIT6 3IT7 BIT8 8119 3KDEF ****** G **"'*** G ***"*** G ****** G ***"'** G .. 010000 020000 04COOO 100000 000004 000010 000020 000040 000100 000200 000400 001000 000002 G G G G G G 30A(10::i2) BKMOD = BKMODE= BKSLSH= CAPRES= CAST CASTAT= CCNTRL CDERCT= CDWDCT= CHKACT= CHKEOP= CKTIM = CLKPRE= CLOCK CLOCKL CLOCKP CLREOP= CMOPRC= CMDRST= CONFIG= CPUCPE CPUHAR CPULAR CPULSZ CPUMf::R CPUMNT CQINI CQOVF CR CSRA CSRC CTRLC CTRLO CTRLOF CTRLU = DCEVNT= DEFRTN= OEQCQ = O1AGMC= OPEOP = DPSTRT= OROPMO= DSEVNT= DTABLE DT.ADD= DT.AP = OT.APK= DT.BLS= DT.CFO= 0T.CF1= DT.ERR= DT.ESI= DT.EVN= 20-SEP-78 17:26 SYMBOL TABLE 000020 040000 000134 000004 ****** G 000004 001230 G 000146 000144 ****** ****** G G 100000 000001 001160 G 001162 G 001164 G ****** G ****** G "'***"'* 000056 001224 001216 001214 001226 001220 001222 G G G G G G G ****** G 000001 000015 000100 000102 000003 000017 001234 G 000025 000011 000400 ****** G 000000 **"''''** G ****** G 100000 000014 001004 G 000042 000100 000076 000034 000014 000016 000020 000044 000000 DT.EXSr; DT.FCHDT.FCN: DT.HMX::: DT.KBE= DT.KBP= DT.KBR= DT.KSU= DT.MLS= D1.MT1= DT.OFF= DT.PAS= OT.PC = OT.PFL= DT . PS~I]= DT.PTA: DT.RCS= OT.REL= DT.SCT= DT.SMX= D1. SP = DT.SS1= OT.STO= DT.ST1= OT.SWR= DT.SYP= OT.WBU= OT.WHL= OT.WLL= DvID1 = OX.CAP OX.OEQ OX.FAK OX.FK1 DX.HOR OX. I NI DX.KFL DX.MED OX.MON DX.QFL OX. RET DX.RST DX.R5 DX.SIZ DX.SP OX.STR DX.SZK DX.TIT DX.TUR DX.TU1 ECCMEM= ECCSTA= EMTINS PAGE 42 000060 000037 000035 000104 000024 000025 000022 000030 000032 000110 000070 000074 000002 000062 000004 000064 000102 000040 000e66 000106 000006 000046 000010 000012 000056 000072 000050 000054 000052 000014 003242 003634 001440 001442 001240 003020 001236 001402 001346 001244 001242 002650 001246 0013S3 001250 002200 001371 001252 004672 005120 000100 000010 000030 SEQ 0063 G G G G G G G G G G ENBEOP= ENBNUL= EN[)LST= EOPBIT= ERREC = ERRTYP= EVNTBE= EVNTHD= EVNTKT= EVNTPE= EVNTRE= FATERR= HRCCNT= HRDPAS= HTBUSS= HTREIN= HT.EXT= ICONT = ICOUNT= IDNUM = IE IERRLO= :NDPAR= INHDRP= INHEPR= INHREL= INHRRE= INlT INTR 10MOO 10MODP= IOMGDR= IOMOOX= lOTINS JACK KBIN1 KBINT KBVEC KCON KlPARO= KlPAR1= KIPAR2= KIPAR3= KIPAR4= KIPAR5= KIPAR6= KIPAR7= KIPDRO= KIPDR1= K1POR2= K1POR3= KlPDR4= KlPDR5= 010000 000001 000000 000001 **"'*** G 000106 000200 000200 000203 000202 000201 100000 00;)044 000050 ****** G **'-1'** G **,,*** G 000036 000040 000122 000100 ****** G 000040 040000 020000 001000 000400 000030 000120 100000 102000 112000 1 10000 000020 035060 ****** ****** G G ****** G 000060 172340 172342 172344 172346 172350 172352 172354 172356 172:300 172302 172304 172306 172310 172312 KlPDR6= KIPDR7= KKTON = KMON KONTRL KPON KROTON= KRUN KTEQRO= KTPRES= KTSET = KTSTAT= KTXiNO= K"lfJ11L = KJJ11P = LCLEAR= LF LPBUF LPCSR LPlNT LPSTAT= MAPSTA= MD.BSY= MEO MEl'I1GMT= MEI'v1PAR= MEMPAS= MODEXH= MODHOL= MODSEL= MSGCKD= MSGCKS= MSGDEQ= MSGCER= MSGJHO= MSGCRP= MSGECH= MSGEOP= MSGHDR:. MSGHNG= MSGHRO= MSGl\1AP= MSG~'U L= MSGPOP= MSGPRM= MSGRES= MSGSFT= IVISGSKE= IV:SGSMB= MSGSMH= IV:SGSMS= MSGSTD= MSGSYS= 172314 172316 ****** G ****** G 001232 G ****** G ****** G ****"'* G 000040 00040') ****** G 000020 040000 ****** G ****** G ****"'* G 000012 001212 G 001210 G ****** G 000001 000200 ****** G 076600 ****** G ****** G 040000 004000 002000 001000 000010 000011 ****** G ****** G 000005 000017 177777 000013 000004 000022 000C07 000021 177775 OOOOOL 177776 000001 000006 000003 000015 000014 000016 000000 000012 LECX-11 DECX. r~AC cmn RO L 20-SEP-78 17:26 MODU LE MACV11 30A(1052) SVM60l TABLE 19-5EP-78 14:52 RDWHMI= RELCTI = RELERR= RELMOD= RELTIM= RESERV RESREG= RESTAR RES1 RES2 RICHAR= RPIRQ = RPTDAT= RSTRCV= RSTRT = RUBOUT= RLiNMOD= R5VALU= SAM SAVREG= SBADR :: SBKMOD= SBKSEL= SCTAB SC.ADR= SC.ALC= SC.APC= SC.CKL= SC.CKP= SC.CLO= SC.HLD= SC.SCA= SENDLS= SIZPOL= SOFCNT= SOFPAS= SPACE :: SPOINT= SPVALU= SRO SR1 SR2 fvlSGVEC= 000020 r\3Kf'JlO)= 001000 NCPUO?= 000020 NOA~TV= 000002 000000 N0LL OV. [\83= "'*,.-*** G OWE:\! 024020 t:.>AERR = 000010 PARPR:::= 00;'000 PARSTA= 000100 P,\ R TA3 0011 16 G PASCNT= 000034 Pt3DVEC= *". ... *** G PCLEA~= ***"'** G Pl)PLSI= 020000 PDPSO 004000 PDP70 010aOO PREJT ****** G Pr~ I 0 oeoooo PRI1 000040 PRI4 000200 PRI5 000240 PRIG 000300 PRI7 000340 PRRLOC= ****** G PtW 000000 Pii4 000200 PK5 000240 PR6 000300 PR7 000340 177776 PS PSW 177776 P',\,RDO',.\= ****** G P\~R F L 000024 G RANNUf\,,:= 000054 RBUF 001202 G R3UFEA= 000130 rnUFPA= 000126 RBUFSZ= 000132 RBUFVA= 000124 001200 G RCSR RDSERV= 000101 ABS. 005162 000000 000022 ****** G 000020 020000 010000 000010 ****** G 001000 000056 000060 031060 ****** G 002000 ****** G 000112 000177 100000 001740 075464 ****** G 0~0102 000000 010000 001160 G 000006 000014 000016 000002 000004 000000 000010 000012 177777 ****** G 000042 000046 000040 000032 002200 177572 177574 177576 000 001 ERRORS DETECTED: 0 DEFAULT GLOBALS GENERATED: 0 DSKZ:DECX.DSKZ:DECX=SPMAC/ML.EQUATE,DECX RUN-TIME: 45 36 .5 SECONDS RUN-T II\lE RATIO: 130/82=1.5 CORE USED: 14K (27 PAGES) SR3 START STAT STATBI= STAT1 = STINT = ST.EXT= SUSPND= SVRO SVR1 SVR2 SVR3 SVR4 SVR5 SVR6 SVSCNT= SVSERR= TIMOUT TMPIO = TQINI = TQOVF = TRPINS TTINT = TTVEC UIPARO= UIPAR1= UIPAR2= UIPAR3= UIPAR4= UIPAR5= UIPAR6= UIPAR7= UIPDRO= UIPDR1= UIPDR2= UIPDR3= UIPDR4= UIPDR5= PAGE 42-1 SEQ 0064 172516 00020J 000026 064757 000027 ****** G *****-1< G 000001 000062 000064 000056 000070 000072 000074 000076 000052 000100 000004 000002 ****** G 0000:l2 OC0034 ****** G 000064 177640 177642 177644 177646 177650 177552 1776S4 177656 1776CO 177602 177604 177606 177610 177612 UIPD~6:: 177614 UIPDR7= 177616 WASADR= 000104 WBSTAT= 000040 WBUFEA= WBUFPA= WBUFRQ= W8UFSZ= WDFR WDTO WTINRE= WHJHMI= XBUF XCSR XFLAG = XOFF XON $BGNLE= $ENDAD= $ERFLG= $F$AND= $F$BAD= $F$BLA= $F$CAS= $F$CEC= $F$DO = $F$FAL= $F$GOO= $F$IF = $F$INC= $F$LOO= $F$NAI\1= $F$NO :: $F$OR = $F$RTI= $F$RTN= $F$SEL= $F$THE= $F$TRU= $F$UNT= $F$WHI= $F$VES= $IFLEV= $ISKO $ISK1 $ISK2 000136 000134 00C140 000142 000116 000114 000352 000222 001206 G 00,204 G 000005 00 1)023 000021 177777 **"'*** G 000400 000310 000401 000170 000150 000220 000340 000405 000400 000110 OOCl210 000200 000160 000403 000320 000350 000300 000140 000330 000404 000130 000120 000402 177777 000001 000001 000001 $ISK3 = 000001 $ LOCTA= 177777 $LSTIN= $LSTTA= $NEST L= $NSKO $NSK1 = $NSK2 = $NSr<3 = $SAVLE= $SSKO = $TAGLE= $TAGNU= $TEMP $TSKO $TSK1 $TSK2 $TSK3 $$ARGC= $$BVTE= $$CASE= $$D5T = $$ELOC= $$ERFL= $$FLAG= $$FROM= $$LOC :: $$LOCN= $$REG :: $$RETU= $$RTN1:: $;£RiN2= $$SRC = $$TGSV= $$TGS1= $$TGS2= $$TO $$$TAG= 000001 000001 177777 000300 000110 000110 000110 177777 050006 177777 050002 000300 050007 050050 050052 050054 000000 000403 000000 000000 000402 000000 000001 000000 005070 OOCOOO 177777 000000 050000 050001 000000 000000 000000 000000 000004 050000 005162 .MAIN. MACY11 30A(1052) 20-SEP-78 EQUATE.MAC 13-SEP-78 16:13 3 532 535 633 G88 785 839 373 922 954 1005 1043 1090 1140 1187 17:28 TABLE OF CONTENTS COMMON EQUATE MODULE APTMOD (COMMON DEFINITIONS & REFERENCES) 000000' .PRINT ;SPMAC: VERSION 1.1 APTSLP APT SLEEP AND CONFIGURE ROUTINE APTSLP ROUTINE APTSER (APT SOFT ERROR HANDLER) APTSER CODE APTDED PUT OPTION MODULE NAME INTO MAILBOX APTDED RQUTINE APTHER (APT HARD ERROR HANDLER) APTHER CODE APTSEL - SELECT OPTION MODULES FROM MAP APTSEL ROUTINE APTKIL - KILL APT BY HALTING APTKIL ROUTINE SEO 0065 APT~OD (APT MODULE PACKAGE) APTMOD.MAC 14-SEP-78 12:22 508 509 510 511 512 MACY11 30A(1052) 20-SEP-78 17:28 COMMON EQUATE MODULE PAGE 19 SEQ 0066 .TITLE APTMOD (APT MODULE PACKAGE) .IDENT JVO.Oj ;++ MODULE PACKAGE NAME: APTMOD S13 514 515 516 517 518 FUNCTIONAL DESCRIPTION: THIS MODULE PACKAGE CONTAINS SEVERAL APT ROUTINES: 1. APTSLP APT SLEEP AND :ONFIGURATION ROUTINE 2. APfSER APT SOFT ERROR HANDL~R 3. APTDED STUFF APT MAILBOX WITH FAILING MODULE NAME 4. APTHER APT HARD ERROR ROUTINE 5. APTSEL SELECT-DESELECT ~OUTINE 6. APTKI L STUFF CODE TO MAILBOX IF MONITOR ERROR (I.E. SYSTEM ERROR) AND HALTS 519 520 521 522 523 524 525 VERSION: 526 0.0 527 :328 529 530 EDIT DATE BY REASON APTMOD (APT MODULE PACKAGE) APTMOD.MAC 14-SEP-78 12:22 .SBTTL APTMOD (COMMON OEFINITIONS & REFERENCES) 532 533 .MCALL STRUCT STRUCT .PRINT ;SPMAC: VERSION 1.1 534 535 (1) 536 537 MACY11 30A(1052) 20-SEP-78 17:28 PAGE 19-1 AFTMOD (COMMON DEFINITIONS & REFERENCES) 000000' 000000' 000001 000001 538 539 $LSTIN=1 $LSTTAG=1 ;**************** 540 , 541 542 :543 544 545 546 547 ; REFERENCED BY OTHER MODULES .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 56::' 565 567 APTSLP APTSER APT HER APTKIL APTDED APTSEL AP.PB ;APT SLEEP ROUTINE ;SOFT ERROR HANDLER ;HARD ERROR HANDLER ;APT HALT ROUTINE ;STUFF FAILING MODULE NAME ;APT SELECT-DESELECT MODULE ROUTINE ;APT PARA~ETER BLOCK ;**************** ; GLOBAL REFERENCES .GLOBL .GLOBL .GLOBL .GL08L .GL08L .GLOBL .GLOBL SAVREG RESREG RSTRCY KSUM MD. COD MSGDEQ RCSR , ;RESET RECOVERY ROUTINE ; 'SUM' COMMAi-.lD ROUT INE ;MSG CODE ;MESSAGE DEQUER ;KB CSR ;**************** LOCAL STORAGE 568 569 ;******************** APT PARAMETER BLOCK *********************** 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 000000' 000000' 000002' 000004' 000006' 000000 000014' 001604 000170 000010' 000000 000012 1 000052 AP.PB: AP.POO: AP.P02: AP.P04: AP.P06: ;PTABLE WORD 0 - BITS 16 & 17 OF MAILBOX ADDR ;LOWER 16 BITS OF MAILBOX ADDRESS ;RUN TIME (IN SECONDS) OF LONGEST TEST ;RUN TIME (IN SECONDS) OF FIRST PASS ;INCLUDES THE DELAY REQUIRED BY DEVICES TO ;RECOVER FROM POWER FAIL CAUSED BY APT TO ;START UP DEC-X11 EXERCISER. ;ADDITIONAL RUN TIME (IN SECONDS) OF ~IRST AP.P10: 0 ;PASS WHEN A SECOND DEVICE IS ADDED. /2 ;LENGTH (IN WORDS) OF E-TABLE + MAILBOX 0 #AP.MB1 900. 120. SEQ 0067 APTMOD (APT MODULE PACKAGE) APTMOD.MAC 14-SEP-78 12:22 587 588 589 590 591 592 593 594 595 390 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 62£; 627 628 629 630 631 63~ 633 634 635 636 637 MACY11 30A(1052) 20-SEP-78 17:28 PAGE 19-2 A?TMOD (CO~MON DEFINITIONS & REFERENCES) ;*************** APT MAILBOX ******************* , AP.MB1: AP.MB2: AP.MB3: AP.MB4: AP.MB5: 000014' 000000 000016' 020040 000020' 020040 000022' 000000 000024' 000000 000026' OOOOCO 000030' 000000 000032' 000000 ;MAILBOX WORD 1 - FATAL ERROR INDICATOR ;MODULE NAME'S FIRST TWO CHARACTERS ;MODULE NAME'S THIRD & FIFTH CHARACTERS ;PASS COUNT ;TO BE INCREMENTED EVERY 10 SECONDS 0 20040 20040 0 0 o o o ;**************** APT E-TABLE ********************** 000034' 001 000035' 200 000036' 000000 000040' 000037 000042' 000000 000044' 000000 000050' OOOOO'J 000054' 000000 000060' 000000 000064' 000000 000070' 000000 000074' 000000 000100' 000020 AP.ET1: .BYTE .BYTE 100000 000000 000000 000000 000000 000000 000000 AP. SR1 : AP.SR2: AP.CPU: AP.M[\/'O: AP.MM1 : AP.MM2: AP. M~\13; AP.MAP: 200 ; APT S~v 1 ;HARD ERROR LIMIT (1) AND SOFT ERROR LIMIT (31.) iCPU OPTIONS,15-11=TYPE,10=RTC,9=FPP,8=MM ;M~MORY MAP, 100000=16K ;ONE BYTE FOR TYPE PLUS THREE BYTES ;FOR MAX ADOR OF THAT TYPE ;DECX ;DGN'T CARE ;ABOUT THESE ;LOCATIONS 0 ~D<31> 0 0,100000 0,0 0,0 0,0 0,0 0,0 0,0 .BLKW ;E-TABLE - BYTE 1 - SOFT ENVIRONMENT ;CEFAULT TO APT MODE ;BYTE 2 - DEFAULT TO UUT TTY AND DON'T SIZE 16. ;APT MODULE :vIAP ;ONE BYTE REQD FOR EACH MODULE AP.END: 000140' ;*************** GENERAL LOCAL STORAGE **********.****** , AP.MCO: AP.MC1 : .ASCII .ASCII .WORD .ASCII .ASCII .ASCII . ASC II ;P,\RITY ERRORS ;MEMORY ERROR - A LOCATION IS BAD ;KT TRAP ;TRAP THROUGH LOC. 4 OR 10 .WORD .WORD AP.CR CR ;POINTER TO NEXT WORD ;A FAKE CARRIAGE RETURN FOR 'SUM' COM'VtAND 047515 050503 0001,~4' C5C524 .A~CII 00()146' OCOOOO 000150' 042520 000152' 042515 000154' 052113 000156' 042523 000160' 000162' 000162' 000015 .EVEN AP.FAK: AP.CR: ;MONITOR ERROR - STUFF "MO" INTO I't.AIL30X ;CONTROL QUEUE OVERFLOW ;TYPE QUEUE OVERFLOW /MO/ /CO/ ITO/ 0 /PE/ /ME/ /KT/ /SE/ 000140' 000142' SEO 0068 hPT~OD (APT MODULE PACKAGE) APTMOD.MAC 14-$EP-78 12:22 639 640 041 642 643 644 645 646 347 548 1.349 350 551 652 653 554 655 355 657 658 659 660 6Cl 662 663 664 665 665 667 668 669 670 671 672 673 674 675 676 677 678 679 68C 68' 682 683 684 68:' 686 MACY11 30A(i052) 20-SEP-78 17:23 PAGE 19-3 APTSLP APT SLEEP ANU CONFIGURE ROUTINE .S8TTL .IDENT APTSLP SEQ 0069 APT SLEEP AND CONFIGURE ROUTINE IVO.O/ ;++ MODULE NAME: APTSLP FUNCTIONAL DESCRIPTION: THIS ROUTINE WILL C'ETERiVlINE FROM THE APT ENVIRONMENT HORD 1 IF TRULY UNDER APT. IF SO A CHECK IS ~ADE ON AVAILABILITY OF U.U.T. TERMINAL. IF NONE, THE NOAPTY BIT IS SET IN CONFIG WORD O. IF UNDER APT, A 15 SECOND SLEEP ROUTINE IS ENTERED TO RECOVER FROM POWER LOGIC YANK. INPUTS: DTABLE IMPLICIT INPUTS: NONE OUTPUTS: NONE IMPLICIT OUTPUTS: DT.CFO DT.APK DT.SYP PATHOLOGICAL CONNECTIONS: NONE SUBORDINATE ROUTINES CALLED: SAVREG RESREG FUNCTIONAL SIDE EFFECTS: NONE CALLING SEQUENCE: CALL APTSLP IN
WHERE DT = ADDRESS OF DTABLE VERSION: 0.0 EDIT DATE BY REASON APT~OD (APT MODULE PACKAGE) APTMOD.MAC 14-SEP-78 12:22 688 689 690 (2) 691 692 693 694 695 696 697 (3) 698 (4) 699 700 701 702 703 (4) 704 705 706 707 708 709 (4) 710 711 712 713 714 715 (6) (9) 716 (6) 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 (4) MACY'1 30A(1052) 20-SEP-78 APTSLP ROUTIi\;E .SBTTl 17:28 PAGE 19-4 SEQ 0070 APTSLP ROUTINE ROUTINE APTSLP 000164' 000164' APTSLP: ;+ ; SAVE REGISTERS, GET DTABLE ADDR. ;- 000164' 000164' 000170' 000170' CALL SAv-REG 004767 OOOOOOG LET RO := DTADR(R5) 016500 000000 JSR PC,SAVREG MOV DTADR(R5),RO MOV #AP.ET1,R3 CLR AP.MB1 ;+ ; GET ENVIRONMENT WORD 1 TO R3 000174' 000174' 012703 LET R3 := #AP.ET1 000034' ;+ ; ZERO FATAL 8IT INDICATOR IN CASE IT WAS SET ', - 000200' 000200' 005067 LET AP.MB1 := #0 177610 ;+ ; IF BITO SET IN ENVIRONMENT WORD 1, SET APTPRES BIT IN DT.CFO, SET UP KEEP ALIVE ; AND SYSTEM PASS COUNT 000204' 000204' 032713 000210' 001440 000212' 000212' 052760 IF #8ITOO SETIN (R3) THEN 000001 LET DT.CFO(RO) 000200 000220' 000220' 012760 000022' 000072 BIS #APTPRES,DT.CFO( MOV #AP.MB4,DT.SYP(R ************************************************* !! I! I I I! I I!! I!I!I! II!I!! I I! II I , I ! I !! ;- #BITOO,(R3) 50002$ := DT.CFO(RO) SET.BY #APTPRES 000014 :+ BIT SEQ NOTE: KEEP ALIVE COUNTER FOLLOWS REMOVE SEMI-COLON IF YOU EVER WANT A DEC/Xll KEEP-ALIVE COUNTER. IF YOU DO, IT WILL BE UPDATED VERY OFTEN (MANY TIMES A SECOND) IN DECX . !!! I!!I I!!!!!I I!!!!!! !11!1!! I I! I I!! ! ! ! ! II! ************************************************* LET DT.APK(RO) .- #AP.M85 LET DT.SYP(RO) := #AP.M84 APT:'v10D (APT MODULE PACKAGE) 14-SEP-78 12:22 APTMOD.MAC 735 736 737 738 739 740 (6) (9) 741 (6) 742 (4) (6) 743 (4) 744 745 746 747 748 749 (4 ) 750 (4 ) 751 752 753 754 755 (4 ) ( 6) (9) 756 (4 ) (G) (9 ) 757 ( 6) 758 (4 ) (3 ) 759 (4 ) 760 (6) 761 (4 ) (3 ) 7€-2 763 (4 ) (3 ) 764 765 766 767 20-SEP-78 MACY11 30A(1052) APTSLP ROUTINE PAGE 19-5 17:28 SEQ 0071 ;+ ; IF BIT 13 SETIN ENV WORD 1, SET NO APT TTY BIT (NOAPTY) ; IN CONFIG WORD 0 (DT.CFO) AND FAKE OUT THE KB CSR. ;- 000226 ' 000226 ' 000232 ' 000234 ' 000234 ' 000242 ' 000242 ' 000246 ' 000254 ' 000254 ' IF #8IT13 SETIN (R3) THEN 032713 001410 020000 052760 000002 LET DT.CFO(RO) 000014 .- LET RCSR 010067 062767 .- BIT SEQ #BIT13,(R3) 50003$ BIS #NOAPTY,DT.CFO(R MOV ADD RO,RCSR #DT.RCS,RCSR MOV #25,R1 MOV #-1,R2 TST BEQ R1 50005$ TST SEQ R2 50007$ DEC R2 BR 50006$ MOV #-1,R2 DEC R1 8R 50004$ BR 50010$ DT.CFO(RO) SET.BY #NOAPTY RO + #DT.RCS OOOOOOG 000102 OOOOOOG ENDIF 50003$: ;+ ; INIT COUNT FOR SLEEP LOOP ;- 000254 000254 000260 000260 ' ' 012701 ' ' 012702 LET R1 000025 LET R2 ..- #25 #-1 177777 ;+ ; GO TO SLEEP FOR A WHI LE TO RECOVER FROM POWER FAIL LINE YAN;, , 0- 000264 ' 000264 ' 000264 ' 000266 ' 000270' 000270' 000270' 000272' 000274' 000274' 000276' 000276' 000300 ' 000300 ' 000300' 000304' 000304' 000306 ' 000306 ' 000310' WHILE R1 NE #0 DO 50004$: 005701 001410 WHILE R2 NE #0 DO 50006$: 005702 001402 LET R2 005302 .- R2 - #1 ENDDO 000774 50007$: LET R2 012702 177777 LET R1 005301 : = #-1 0- R1 - #1 ENDDO 000766 000310 ' 000310 ' 000403 000312 ' 50005$: ELSE 50002$: ;+ ; NOT APT - CLEAR APT PRESENT BIT IN DToCFO A~TMOD (APT MODULE PACKAGE) APTMOD.MAC 14-SEP-78 12:22 768 769 770 (6) 771 172 (4 ) 773 774 775 776 777 778 779 78;) (3 ) 781 {3 ) (3 ) (2 ) 782 783 78L: MACY11 30A(1052) 20-SEP-78 APTSLP ROUTINE 1i:2a PAGE 19-6 SEQ 0072 .f 000312' 000312' 042760 LET DT. CFCi (RO) := OT.CFO(RO) CLR.BY #APTPRES 000200 000014 BIC #APTPRES,DT.CFO( J5R PC,RESREG RTS PC ENDIF 000320' 000320' 50010$: ;+ ; ·RESTORE REGS f 000320' 000320' 004767 000324' 000324' 000324' 000324' 000207 CALL RESREG OOOOOOG ENDRTN 50000$: 50001$: APTMOD (APT MODULE PACKAGE) APTMOD.MAC 14-SEP-78 12:22 786 MACYll 30A(1052} 20-SEP-78 17:23 PAGE 19-7 APTSER (APT SOFT ERROR HANDLER) .SBTTL SEQ 0073 APTSER (APT SOFT ERROR HANDLER) 787 788 789 790 791 '792 793 794 79:3 796 797 798 799 800 801 ;++ MODULE NAME: APTSER FUNCTIONAL DESCRIPTION: THIS MODULE IS CALLED WHEN THE EXERCISER IS DETERMINED TO BE RUNNING UNDER APT ENVIRONMENT, TO HANDLE A SOFT ERROR. THE ERROR COUNT IS COMPARED WITH THE LIMiT SET IN E-TABLE. IF THE COUNT IS LESS THAN THE LIMIT, CONTROL GOES BACK TO THE CALLER. IF THE COUNT EQUALS THE LIMIT THE RUN IS OVER (CALL APTDED). 802 803 304 805 806 907 808 809 810 811 812 INPUTS: DTABLE ADDRESS IMPLICIT INPUTS: 1. DT.PC OUTPUTS: NONE a14 IMPLICIT OUTPUTS: NONE 815 816 817 PATHOLOGICAL CONNECTIONS: NONE 813 818 819 820 321 822 823 824 825 826 827 826 829 830 831 832 833 834 835 836 837 SUBORDINATE ROUTINES CALLED: 1. APTDED 2. SAVREG 3. RESREG FUNCTIONAL SIDE EFFECTS: NONE CALLING SEQUENCE: CALL APTSER IN WHERE DTA = DATA TABLE ADDRESS DATE BY VERSION: 0.0 ;_.- EDIT REASON APT!.'1OD (APT MODULE PACKAGE) APTMOD.MAC 14-SEP-78 12:22 839 840 841 (2) 842 843 844 845 846 847 848 (3) 843 850 (4 ) 851 (4) 852 (4) (6) 853 854 8S5 856 857 858 (6) (9) 859 (3) (5) (4) (3) (3) 860 861 (4) 862 663 864 865 866 867 (3) 868 869 (3) (3) (2) 870 871 MACY11 30A(1052) 20-SEP-78 APTSER CODE .SBTTL 17:28 PAGE 19-8 SEQ 0074 APTSER CODE ROUTINE APTSER 000326' 000326' APTSER: ;+ ; SAVE REGS; GET DTABLE ADDR, MODULE'S HEADER ADDRESS, ; AND SOFT ERROR LIMIT FROM E-TABLE. 000326' 000326' 004767 000332' 000332' 000336' 000336' 000342' 000342' 000346' CALL SAVREG OOOOCOG LET RO .- DTA(R5) 016500 000000 01700'1 000002 LET R1 JSR PC,SAVREG MOV DTA(R5),RO MOV @lDT.PC(RO),R1 MOV BIC AP.SR2,R2 #177740,R2 CMP BlO SOFCNT(R1),R2 50002$ MOV MOV MOV JSR MOV R5,-(SP) R1,-(R5) RO,-(R5) PC,APTDED (SP)+,RS JSR PC,RESREG RTS PC "- @lDT.PC(RO) LET R2 '- AP.SR2 CLR.BY #177740 016702 042702 177472 177740 ;+ ; IF COUNT IS EQUAL TO THE LIMIT,WE ARE DONE - CALL APTDED 000352 1 000352' 000356' 000360' 000360' 000362' 000364' 000366' 000372' IF SOFCNT(R1) HIS R2 THEN 026102 103406 010546 010145 010045 004767 012605 000042 CALL APTDED IN 000010 ENDIF 000374' 000374' 50002$: ;+ ; RESTORE REGS AND RETURN 000374' 000374' 004767 000400' 000400' 000400; 000400' 000207 CALL RESREG OOOOOOG ENDRTN 50000$: 50001$: APT~OD (APT MODULE PACKAGE) hPTMDD.MAC 14-SEP-78 12:22 873 874 875 87G 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 90e 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 MACY11 30A(1052) 20-SEP-78 17:28 PAGE 19-9 APTDED PUT OPTION MODULE NAME INTO MAILBOX .SBTTL .IDENT APTDED IVO.OI SEQ 0075 PUT OPTION MODULE NAME INTO MAILBOX ;++ MODULE NAME: APTDED FUNCTIONAL DESCRIPTION: THIS ROUTINE STUFFS OF A FAILING OPTION OF THE APT MAILBOX. FATAL ERROR BITS IN THE 1ST,2ND,3RD AND FIFTH CHARACTERS MODULE NAME INTO THE 2ND AtJD 3RD WORDS IT RESETS AND RECOVERS. SET THE APT AND DTABLE'S ERROR WORD. INPUTS: DTABLE ADDRESS MODULE HEADER ADDRESS IMPLICIT INPUTS: NONE OUTPUTS: NONE IMPLICIT OUTPUTS: DT.ERR PATHOLOGICAL CONNECTIONS: NONE SUBORDINATE ROUTINES CALLED: SAVREG RESREG RSTRCY FUNCTIONAL DESCRIPTION: NONE CALLING SEQU::NCE: CALL APTD~D IN WHERE: DT;DTABLE ADDRESS MH~MODULE HEADER ADDRESS VERSION: 0.0 EDIT ;-- DATE BY REASON APTMOD (APT MODULE PACKAGe) APTMOD.MAC 14-SE?-76 12:22 -322 923 924 (2) :)25 926 927 8253 929 (3) 930 (4) 331 (4) 932 933 934 935 336 937 938 939 (4) 94~ (4) 941 (4) 842 (2) 943 (4) 944 945 (2) 946 (3) (4) (3) (3) 947 948 (6) 949 (6) 950 (3) 951 (3) (3) (2) 952 MACY'1 30A(1052) 20-SEP-78 APTDED ROUTINE .SBTTL 17:23 PAGE 19-10 SEQ 0076 APTDED ROUTINE ROUTINE APTDED 000402' 000402' APTDED: ;+ ; SAVE REGISTERS,GET GTABLE ADDR., AND MODULE rlEADER ADDR. 000402' 000402' 004767 000406' 000406' 016500 000412' 000412' 016501 CALL SAVREG OOOOOOG JSR PC,SAVREG MOV TB(R5) ,RO MJV MD(R5),R1 MOV (R1 )+,AP.MB2 MOV #AP.M83,R3 MOV B (R 1 ) + , LET RO .- TB(R5) 000000 LET R1 .- MD(R5) 000002 ;+ ; ; ; ; 000416' 000416' 012167 C00422' 000422' 012703 000426' 000426' 112123 000430' 000430' 105721 000432' 000432' 111113 080434' 000434' 000436' 000436' 000440' 000442' 000446' 000450' 000450' 000456' 000456' 000462' 000462' 000466' 000466' 000466' 000466' STUFF APT MAILBOX WITH MODULE ASCII NAME,RESET AND RECOVER UPDATE ERRQR WORD IN DTABLE, AND SET APT FATAL BIT IN MB1 AND RETURN TO TrlE CALLER. LET AP.MB2 .- (R1)+ 177374 LET R3 .- #AP.MB3 000020' LET (R3)+ :B= (R1)+ INLINE LET (R3) TSTB (R1)+ :B= (R1) MDVB INLINE CALL RSTRCY IN 100004 DT.ER~(RO) 005267 .- AP.MB1 + #1 177332 CALL RESREG 004767 OOOOOOG ENDRTN BIS #APTFER!FATERR,D INC AP. MBl JSR PC,RESREG RTS PC .- DT.ERR(RO) SET.BY #APTFER!FATERP. 000020 LET AP.MB1 MOV R5,-(SP) RO,-(R5) PC,RSTRCY (SP)+,R5 MOV MOV JSR OOOOOOG LET 052760 (Rl),(R3) RESET 000005 010546 010045 004767 012605 50000$: 5000~$: 000207 ( R3 ) + APT~OJ (APT APT~O~.MAC 954 95:5 953 957 958 959 960 961 962 963 964 965 963 967 963 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 9 0 '":, 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 MODULE PACKAGE) 14-SEP-78 12:22 MACY11 30A(1052) 20-SEP-78 17:23 PAGE 19-11 APTHER (APT HARD ERROR HA~DLER) .SBTTL SEQ 0077 APTHER (APT HARD ERROR HANDLER) ;++ MODULE NAME: APTHER FUNCTIONAL DESCRIPTION: THIS MODULE IS CALLED WHEN THE EXERCISER IS DETERMINED TO BE RUNNING UNDER APT ENVIRONMENT, TO HANDLE A HARD ERROR. IF THE ERROR COUNT IS LESS THAN THE LIMIT SET IN E-TABLE, CONTROL GOES BACK TO THE CALLER. IF THE COUNT EQUALS THE LIMIT THE RUN IS OVER (CALL APTDED). n';PUTS: DTABLE ADDRESS IMPLICI:- INPUTS: DT.PC OUTPUTS: NONE IMPLICIT OUTPUTS: NONE PATHOLOGICAL CONNECTIONS: NONE SUBORDINATE ROUTINES CALLED: 1. APTDED 2. SAVREG 3. RESREG FUNCTIONAL SIDE EFFECTS: NONE CALLING SEQUENCE: CALL APTHER IN WHERE DTA = DATA TABLE ADDRESS VERSION: 0.0 EDIT DATE BY REASON APTMOD (APT MODULE PACKAGE) APTMO).MAC 14-SEP-78 12:22 1006 1007 1003 1009 (2) 1010 101 1 1012 1013 1014 1015 1016 (3 ) 1017 1018 (4) 1019 (4) 1020 (6) (6) 1021 (6) 1022 1023 1024 1025 1026 1027 (6 ) ( 9) 1028 1029 1030 (3) (5) (4 ) (3 ) (3 ) 1031 1032 (4 ) 1033 1034 1035 1036 1037 1038 (3 ) 1039 1040 (3 ) (3) (2 ) 1041 MACY11 30A(1052) 20-SEP-78 APT HER CODE .SBTTL 000470 1 000470 1 17:28 PAGE 19-12 SEQ 0078 APTHER CODE ROUTINE APT HER APTHER: ;+ ; SAVE REGS; GET DTASLE ADDR, MODULE1S HEADER ADDRESS, ; AND HARD ERROR LIMIT FROM E-TABLE. ;- 000470 1 000470 1 004767 000474 1 000474 1 Oe0500 1 000500 1 000504 1 000504 1 000510 1 0005121 000512 1 CALL SAVREG OOOOOOG JSR PC,SAVREG MOV DTA(R5),RO MOV @lDT.PC(RO),R1 MOV SWAB AP.SR2,R2 R2 BIC #177740,R2 CMP BLO HRDCNT(R1),R2 50002$ MOV MOV R5,-(SP) R1,-(R5) RO,-(R5) PC,APTDED (SP)+,R5 JSR PC,RESREG RTS PC LET RO .- DTA(R5) 016500 000000 LET R1 017001 .- @lDT.PC(RO) 000002 LET R2 '- SWAP AP.SR2 016702 000302 177330 042702 177740 LET R2 .- R2 CLR.BY #177740 ;+ ; IF COUNT IS EQUAL TO THE LIMIT,THEN WE ARE DONE ;- 000516 1 000516 1 026102 000522 1 103406 000524 1 000524' 000526 1 000520 1 000532 1 000536 1 IF HRDCNT(R1) HIS R2 THEN 000044 CALL APTDED IN 010546 010145 01004:) 004767 012605 M:JV MOV JSR 177644 ENDIF 000540' 000540 1 50002$: ;+ ; RESTORE REGS AND RETURN 000540 1 000540' 004767 0005441 000544 1 0005441 0005441 000207 CALL RESREG OOOOOOG ENDRTN 50000$: 50001$: APTMOD (APT MODULE PACKAGE) APTMOD.MAC 14-SEP-78 12:22 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 MACY11 30A(1052) 20-SEP-78 17:28 PAGE 19-13 APTSEL - SELECT OPTION MODULES FROM MAP .SBTTL .IDENT SEQ 0079 APTSEL - SELECT OPTION MODULES FROM MAP JVO.Oj ;++ MODULE NAME: APTSEL FUNCTIONAL DESCRIPTIO~: THIS ROUTINE wILL SEARCH THE MODULE LIST AND SELECT MODULES IF BITS ARE SET IN MODULE MAP IN APT ETABLE. IF NO BIT IS SET FOR THE CORRESPONDING MODULE, THE MODULE IS DESELECTED. THE BITS IN THE MAP CORRESPOND TO THE DEV COUNT TO BE USED BY THE MODULE (DVID1 GETS THE BITS). INPUTS: DTA8LE ADDRESS IMPLICIT INPUTS: DT.MLST OUTPUTS: NONE IMPLICIT OUTPUTS: NONE PATHOLOGICAL CONNECTIONS: NONE SUBORDINATE ROUTINES CALLED: SAVREG RESREG 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1080 1087 1088 FUNCTIONAL SIDE EFFECTS: NONE CALLING SEQUENCE: CALL APTSEL IN
WHERE DT = ADDRESS OF DTABLE VERSION: 0.0 EDIT DATE 8Y REASON APTMOD (APT MODULE PACKAGE) APn,10D.MAC 14-SEP-78 12:22 1090 1091 1092 (2) 1093 MACY11 30A(1052) 20-SEP-78 APTSEL ROUTINE .S8TTL (3 ) 1099 (4) 1100 (4) 1 1 01 1102 (4) 1111 (4 ) 1 1 12 (6 ) ( 9) 000546' 000546' 004767 000552' 000552' 016500 000556' 000556 1 016002 000562 1 000562' 01270:3 CALL SAVREG OOOOOOG (6 ) 1 1 19 (4 ) (3 ) 1120 1 121 (6 ) 112~ (4) 1123 (4) 000000 1 128 PC,SAVREG MOV DTBL(R5),RO MOV DT.MLST(RO),R2 MOV NAP.MAP,R3 LET R2 .- DT.MlST(RO) 000032 LET R3 .- #AP.MAP 000100' ;+ ; WHILE NOT AT END OF MODULE LIST, GET MODULE HEADER ADDR.; IF BYTE ; IN APT MAP = 0, DESELECT MODULE; IF NOT SELECT MODULE AND SET ; UP DEVICE COUNT 000566' 000566 1 000566' 000570' 000572' 000572' 0005741 000574' 000576' WHILE (R2) NE #0 DO 50002$: 005712 001416 lET R1 TST BEQ (R2) 50003$ rllOv (R2)+,R1 TSTB BNE (R3) 50004$ BIC #BIT14,STAT(R1) BR 50005$ SIS #BIT14,STAT(R1) rv:OVB (R3) ,DVID1 (R1) := (R2)+ 01220"1 IFB (R3) EQ #0 THEN 105713 001004 + 000600' 000600' 042761 000606' 000606' 000405 000610' 000610' 000610' 052761 000616' 000616 1 111361 OC06221 000622 1 IF ZERO IN APT TABLE, DESELECT THE MODULE LET STAT(R1) 040000 := STAT(R1) CLR.BY #8IT14 000026 ELSE 50004$: LET STAT(R1) 040000 := STAT(R1) SET.BY #BIT14 000026 LET DVID1 (R1) :B= (R3) 000014 ENDIF 50005$: 1124 1125 1126 1127 JSR LET RO .- DTBl(R5) 1113 1114 1 115 1 116 11 17 1118 APTSEL ROUTINE ;+ ; SAVE REGISTERS,DTABlE AND GET MAP ADDRESS 110S 1109 (4) ( 6) (9) SEQ 0080 APTSEL: 1103 1104 1105 1106 1107 1 1 1C PAGE 19-14 ROUTINE APTSEl 000546' 000546' 1094 1095 1096 1097 1098 17:28 + ADVANCE TO NEXT IN MAP APTiJlOD (APT MODu:...E tJACKAGE) APTfvlOD. MAC 14-SEP-78 12:22 1123 (2 ) 1130 (4 ) l3 ) 1131 1132 1133 1134 1135 1 136 (3 ) 1137 (3 ) (3) ( 2) , 138 000622 1 000622 1 105723 000624 1 000624 1 0007'30 000626 1 20-SEP-78 MACY11 30A(i052) /~PTSEL ROUTINE IN LI NE TSTB (R3)+ BR 50002$ JSR PC,RESREG RTS PC ENDDO 50003$: ;+ ; RESTORE REGISTERS 000626 1 COO626 1 004767 000632 1 000632 1 0006321 000632 1 000207 , CALL RESREG OOOOOOG ENDRTN 50000$: 50001$: APTMOD (APT MODULE PACKAGE) APTMOD.MAC 14-SEP-78 12:22 1140 1141 1 142 1143 1144 1145 1143 1147 1 148 1149 1150 1 151 1152 1153 1154 1155 MACY11 30A(1052) 20-SEP-78 17:28 PAGE 19-16 APTKIL - KILL APT BY HALTI~G .SBTTL .IDENT APTKIL - KILL APT BY HALTING JVO.Oj ;++ MODULE NAME: APTKIL FUNCTIONAL DESCRIPTION: THIS ROUTINE DETERMINES IF AN ERROR WAS CAUSED BY THE MONITOR AND IF SO, STUFFS AN APPROPRIATE 4 LETTER CODE INTO WORDS 2 & 3 OF APT MAILBOX. A RUN SUMMARY IS OUTPUT. THE EXERCISER THEN HALTS. INPUTS: DTABlE ADDRESS 1156 IMPLICIT INPUTS: DT.ERR 1157 1158 1159 OUTPUTS: NONE 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1 171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1 181 IMPLICIT OUTPUTS: NONE PATHOLOGICAL CONNECTIONS: MD.COD SUBORDINATE ROUTINES CALLED: SAVREG RESREG MSGDEQ KSUM FUNCTIONAL SIDE EFFECTS: ***** HALTS THE EXERCISER ****** CALLING SEQUENCE: CALL APTKIL IN
WHERE: DT = DTABLE ADDRESS VERSION: 0.0 1182 1183 1184 1185 SEQ 0082 EDIT DATE BY REASON 1187 1188 1189 (2 ) 1190 1191 1192 1193 1194 1195 (3 ) 1 195 (4 ) 1197 1198 1199 1200 .SBiTL (4 ) (6) ( 9) 1215 (7 ) 1216 (6) 1217 (4 ) (3 ) 1218 121D 1220 1221 1222 1223 1224 (4) SEQ 0083 APTKIL ROUTINE ROUTINE APTKIL 000634 1 000634' APTKIL: ;+ ; SAVE REGISTERS AND DTASLE ADDR. , 00C634 1 000634' 004767 000640' 000640 1 016500 CALL SAVREG OOOOOOG LET RO .- JSR PC,SAVREG MOV TAS(R5),RO MOV SIC DT.ERR(RO),R1 #100004,R1 TST SEQ R1 50002$ MOV AP.MCO,AP.MI:32 MOV #AP.MC1,R2 ASR R1 TST SEQ R1 50004$ ASR R1 ADD #2,R2 SR 50003$ MOV (R2) ,AP.MB3 TAS(RS) 000000 ;+ ; COpy DT.ERR INTO R1 AND MASK OUT FATAL ERROR SITS , 1201 1202 (4 ) (6) 1203 1204 1205 1206 1207 1208 1209 1210 (6 ) ( 9) 121 1 (4 ) 1212 (4 ) 1213 (7 ) 1214 PAGE 15-17 17:28 20-SEP-78 MACY11 30A(1052) APTKIL ROUTINE APTMOD ( APT MODULE PACKAGE) 14-SEP-78 12:22 APTMOD. M.t\C 0006441 000644' 000650' LET R1 016001 042701 .- DT.ERR(RO) CLR.BY #100004 000020 100004 ;+ ; IF COpy OF DT.ERR IS NON ZERO, MOVE 'MOl TO ~ORD 2. ; SHIFT DT.ERR COpy UNTIL ZERO; ADVANCE R2 TO POINT TO PROPER ; ADDRESS OF 2 LETTER MSG ;- 000654 1 000654' 000656' 000660' 000660' 000666' 000666' 000672' 000672' 000674' 000674' 0003741 000676 1 00070C' 000700' 000702' 000702' 000706 1 000706' 000710 1 IF R1 NE #0 THEN 005701 001416 LET AP.MS2 016767 177130 177254 LET R2 012702 000142 1 LET R1 ..- .- AP.MCO #AP.MC1 R1 SHIFT -1 005201 WHILE R1 NE #0 DO 50003$: 005701 001404 LET R1 006201 LET R2 062702 ..- R1 SHIFT -1 R2 + #2 000002 ENDDO 000772 50004$: + STUFF 2 LETTER CODE TO MB3 000710 1 000710' 011267 LET AP.MB3 177104 .- (R2) APTMOD (APT MODULE PACKAGE) APTMOD.MAC 14-SEP-78 12:22 1225 (4) 1226 1227 1228 1229 1230 1231 ( 3) (5 ) (4) (3) (3 ) 1232 (3 ) 1233 (3 (4 (3 (3 ) ) ) ) 1234 (3 ) (6 ) 1235 1236 1237 1238 1235 1240 1241 1242 1243 (2) 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 (3 ) 1259 - ( '<') (3 ) (2 ) 1260 MACY11 30A(1052) 20-SEP-78 APTKIL ROUTINE 17:23 PAGE 19-18 ENDIF 000714' 000714' SEQ 0084 50002$: ;+ ; DO A RUN SUMMARY SUPPLYING FAKE CARRIAGE RETURN ARGUMENT. KEEP CALLING ; MSG DEQUER UNTIL IT ' 5 ALL OUTPUTTED. 000714' 000714' C00716' 000722' 000724' C00730' 000732' 000732' 000'132' 000732' 000734' 000736' 000742' 000744' 000744' 000752' CALL KSUM IN 010546 016745 010045 004767 012605 177236 OOOOOOG REPEAT MOV MOV MOV JSR MOV R5,-(SP) AP.FAX,-(R5) RO,-(R5) PC,KSUM (S?)+,R5 MOV MOV JSR MOV R5,-(SP) RO,-(R5) PC,MSGDEQ (SP)+,R5 CMP BNE MD.COD,#MSGNUL 50005$ 50005$: CALL MSGDEQ IN 010546 010045 004767 012605 OOOOOOG UNTIL MD.COD EQ #MSGNUL 026727 001367 OOOOOOG 177775 ;+ ; ************************************ ; !!! I ! ! I ! ! ! I ! I ! ! I I HALT !!!!! I ! ! ! ! ! ! ! ; ************************************ 000754' 000754' INLINE HALT 000000 ;+ ; THE END ;+ ;PRESS CONTINUE TO CONTINUE BUT ;ANY FURTHER ERRORS WILL GET U HERE AGAIN ;+ ; RESTORE REGS ., 000756' 000756' 004767 000762' 000762' 000762' 000762' 000207 000001 CALL RESREG OOOOOCG ENDRTN .END JSR PC,RESREG RTS PC 50000$: 50001$: APTMOD (APT MODULE PACKAGE) APT:-AOD. MAC 14-SEP-78 12:22 ACSR ACTBIT= ADDR22= ADR APTDED APTFER= APTHER APTO L APTPR£= t\PTSEL APTSER /\PTSLP t,P. CPU AP.CR AP.E.ND J.i.;:>. ET 1 ;'P.FAK AP.MAP AP. MB1 AP .1\182 ;\p .M83 AP.MB4 fID.MSS AP.MCC IIP.MC1 AP.MMO AP. Mr,'1 AP.MM2 AP. MM3 AP.PS ;\ P . POO I\P. P02 AP.P04 AP.POE: AP.P10 /l.P.P12 AP.SR1 IC).P, SR2 ASB ASSEMB= ASTAT = AUTO AJTOST= AWAS :3ITO 31TOO BIT 01 6IT02 8IT03 81T04 BII05 BIT06 BIT07 000102 004000 001000 000006 OC0402RG 000004 C00470RG 000634RG 000200 COC546RC 000326RG OOOlG4RG 000042R C00162R 000140R c-00034R 0OO16CR 000100R 000014R 00OO16R 000020R 000022R 000024R 000140R 000142R 0OOO44R 00OO50R 000054R 000060R OOOOOORG OOOOOOR 0OOO02R 000004R 0OOO06R 0OO010R 000012R 0OO036R 00OO40R 000106 000010 000104 000010 020000 000110 OCOO01 000001 000002 000004 000010 000020 000040 000100 000200 20-SEP-78 MACY 11 30A(1052) SYMBOL TABLE 17:28 DT.FCH= DT.FCN= DT.HMX= DT.KBE= DT.KSP= DT.KBR= DT.KBU= DT.MLS= DT.MTI= DT.OFF= DT.PAS= DT.PC = DT.PFL= DT.PSW= DT. PT A= Dr.RCS= DT.REL= DT.SCT= DT.SMX= DT.SP = DT.SSI= DT.STO= Di.ST1= DT.S'I'.IR= DT.SYP= DT.WBU= DT.WHL= DT.WLL= DvID1 = ECCMEM= ECCSTA= ENBEOP= ENBNUL= ENDlST= EOPBIT= ERRTYP= EvNTBE= EVNTHD= EVNTKT= EVNTPE= EVNTRE= FATERR= HRDCNT= HRDPAS= ICONT = ICOUNT= IDNUM = IE INDPAR= INHDRP= INHEPR= INHREl= INHRRE= 000037 000036 000104 000024 000026 000022 000030 000032 000110 000070 000074 000002 000062 000004 000064 0'00102 000040 000066 000106 000006 BIT08 BIT09 BIT1 BIT10 BIT 11 BIT12 BIT13 BIT14 BIT15 B1T2 B1T3 BIT4 BITS BIT6 BIT7 BIl8 BIT9 8KDEF BKMOD BKMODE= BKSLSH= CAPRES= CASTAT= CDERCT= CDWDCT= CKTIM = CLKPRE= CONFIG= CQOVF CR CSRA CSRC CTRLC CTRLO CTRlU DCEVNT= DEFRTN= D:AGMC= DROPMO= DSEVNT= DTA DTADR DTBl DT.ADD= DT.AP = DT.APK= DT.BLS= DT.CFO= DT.CF1= Dr.ERR= DT.ESI= DT.EVN= DT.EXS= 000400 001000 000002 002000 004000 010000 020000 040000 100000 000004 000010 000020 000040 000100 000200 000400 001000 000002 000020 040000 000134 000004 000004 000146 000144 100000 000001 000056 000001 000015 000100 000102 000003 000017 000025 000011 000400 000000 100000 000014 000000 000000 000000 000042 ()00100 000076 000034 000014 000016 000020 000044 000000 000060 OCOO~6 000010 000012 00C056 000072 000050 000054 000052 000014 000100 000010 010000 000001 000000 000001 000106 000200 000200 000203 000202 000201 100000 000044 OOOOSO 000036 000040 000122 000100 000040 040000 020000 001000 000400 PAGE 20 SEQ 0085 INIT INTR 10MOD IOMODP= 10MODR= IOMODX= JACK KIPARO= KIPAR1= KIPAR2= KIPAR3= KIPAR4= KIPAR5= KIPAR6= KIPAR7= KIPDRO= KIPDR1= KIPDR2= KIPDR3= KIPDR4= KIPDR5= KIPDR6= KIPDR7= KSUM KTERRO= KTPRES= KTSTAT= KTXTND= LF LPSTAT= MAPSTA= MD MD.COD= MED MEMPAS= MODEXH= MODHOl= MODSEL= MSGCKD= MSGCKS= MSGDEQ= MSGDER= MSGDRP= MSGECH= MSGEOP= MSGHDR= MSGHNG= MSGHRD= MSGMAP= I't.SGNUL= MSGPOP= MSGPRM= MSGRES= MSGSFT= MSGSKE= MSGSMB= MSGSMH= MSG.3h'lS = MSGSTD= M5GSYS= MSGVEC= N3KMOD= NCPUOP= NiJAPTY= NULL O\-JEN 000030 000120 100000 102000 112000 110000 035060 172340 172342 172344 172346 172350 172352 172354 172356 172300 172302 172304 172306 172310 172312 172314 172316 PAE~R PARPRE= PARSTA= PASC'.JT= PDPLSI= PDP60 PDP70 PRIO PRI1 PRI4 *"'**** G 000040 000400 00J020 048000 000012 000001 000200 000002 ****** G 076600 040000 004000 002000 001000 000010 000011 ****** 000005 000017 177777 000013 000004 000022 000007 000021 177775 000002 177776 000001 G P~I5 PRI6 PRI7 PRO PR4 PR5 PR6 PR7 PS PSW RANNUM= R3UFEA= RBUFPA= RBUFSZ= RBUFVA= RCSR RDSERV= RDWf-:MI= RELERR= REU\;OD= RELTIM= RESREG= RES1 RES2 RICl-IAR= RPTDAT= RSTrlCY= RSTRT = RUBOUT= RUNMOD= 000006 000003 000015 000014 000016 000000 000012 000020 001000 000020 000002 000000 024020 000010 002000 000100 000034 020000 004000 010000 000000 000040 000200 000240 000300 000340 00-0000 000200 000240 000300 000340 177776 177776 000054 000130 000126 000132 000124 **"'*** G 000101 000022 000020 020000 010000 ****** G 000056 000060 031060 002000 ****** G 000112 000177 100000 20-SEP-78 MACY 11 30A(1052) SYMBOL TABLE t.PTMOD (APT MODULE PACKAGE) t4-SEP-78 12:22 APTfJlOD .MAC R5VALU= SAM SAVREG= SBADR = SBK:,mD= SBKSEL= SC.ADR= SC.ALC= SC.APC= SC.CKL= SC.CKP= SC.CLO= SC.HLD= SC.SCA= SENDLS= SOFCNT= SOFPAS= SPACE = SPOINT= SPVALl.J= SRO SR1 SR2 SR3 STAT STATBI= STATl = SUSPND= 001740 075464 A3S. 000000 000764 ****** SVRO SVRl SVR2 SVR3 : SVR4 SVR5 SVR6 SYSCNT= SYSERR= TAB TB TMPIO TQOVF UIPARO= UIPAR1= UIPAR2= UIPAR3= UIPAR4= UIPAR5= UIPAR6= UIPAR7= UIPDRO= UIPDR1= UIPDR2= UIPDR3= UIPDR4= UIPDR5= UIPDRS= G 000102 000000 010000 000006 000014 000016 000002 000004 COOOOO 000010 000012 177777 000042 000046 000040 000032 002200 177572 177574 177576 17~516 000026 064757 000027 000001 000062 000064 000066 000070 000072 000074 000076 000052 000100 000000 000000 000002 000002 177640 177642 177644 177646 177650 177652 177654 177656 177600 177602 177604 177606 177610 177612 177614 000 001 ERRORS DET~CTED: 0 DEFAULT G~08ALS GENERATED: 0 DSKZ:APTMOD,DSKZ:APTMOD=SPMAC/ML,EQUATE,APTMOD RUN-lIME: 20 ",1 .4 S:::CQiWS RLN-TIME RATIO: 54/32=1.6 CORE USED: 14K (27 PAGES) 17:28 UIPDR7= 177616 WASADR= 000104 WBSTAT= 000040 ~JBUFEA= 000136 WBUFPA= 000134 WBUFRQ= 000140 WBUFSZ= 000142 000116 WDFR 00011~ WOTO WTINRE= 000352 WH.JHMI= 000222 XFLAG = 000005 XOFF 000023 000021 XON $BGNLE= 177777 $ERFLG= 000400 $F$AND= 000310 $F$BAD= 000401 $FSBLA= 000170 $F$CAS= 000150 $F$DEC= 000220 $F$DO = 000340 $F$FAL= 000.::;05 $F$GOO= 000400 $F$IF = 000110 $F$INC= 000210 $F$LOO= 000200 $F$NAM= 000160 PAGE 20-1 SEQ 0086 $F$NO = $F$OR = $F$RTI= $F$RTN= $F$SEL= $F$THE= $F$TRU= $F$UNT= $F$WHI= $F$YES= $IFLEV= $ISKO = $ISKl = $LOCTA= $LSTIN= $LSTTA= $NESTL= $NSKO $NSKl = $NSf-\2 = $NSK3 = $SAVLE= $SSKO = $TAGLE= $TAGNU= $TEMP $TSKO $TSK1 000403 000320 000350 000300 000i40 000330 000404 000130 000120 000402 177777 000001 000001 177777 000001 000001 177777 000300 000130 000120 000120 177777 050004 177777 050006 000300 050005 050003 $TSK2 = $TSK3 = $TSK4 = $$ARGC= $SBYTE= $$CASE= $$DST : $$E LOC: $$ERFL= $$FLAG= $$FROM= $$LOC = $$LOCN= $$REG = $$RETU= $$RTN1= $$RTN2= $$SRC : $$TGSV= $$TGS1= $$TGS2= $$TO $$STAG= 050004 050006 050007 000002 000403 000000 000000 000402 000000 000001 000000 000752R 000000 177777 000000 050000 050001 000000 000000 000000 000000 000000 050000 000764R .MAIN. MACV11 38A(~C52) 20-SEP-78 EQUATE.MAC 13-SEP-78 16:13 3 538 G05 508 385 941 958 17:29 TABLE OF CONTENTS COMMON EQUATE MODULE BUSERR PROCESS BUS ERROR TRAPS AND RESERVED INS. TRAPS COMMON DEFINITIONS AND REFERENCES FOR 8USERR .PRINT ;SPMAC: VERSION 1 . 1 000000 1 8USERR ROUTINE MODCHK GET OPTION ~ODULE HEADER ADDRESS AND OFFSET MODCHK ROUTINE SEQ 0067 BESRV -BUSS ERROR ROUTIN~ 8ESRV.MAC 14-SEP-78 11 :16 MACY11 30A(1052) 20-SEP-78 17:29 COMMON EQUATE MODULE PAGE 1S SEQ 0088 508 509 510 511 512 513 514 515 516 517 513 519 :520 521 522 523 524 525 526 527 528 529 .TITLE BESRV -BUSS ERROR ROUTINE .IDENT /0.0/ ;++ MODULE PACKAGE NAME: BESRV FUNCTIONAL DESCRIPTION: IT CONSISTS OF THE fOLLOWING MODULES: 1. BUSERR - PROCESS THE PC,PSW,SP & VECTOR AT THE TIME OF THE TRAP TO 4 OR 10, AND 2. MODCHK - INCREMENT THE # OF SYS ERRORS BY AN OPTION MODULE AND RETURN THE MODULE NAME AND OFFSET PC. IT WILL ALSO DROP THE OPTION MODULE IF TOO MA~Y SYS ERRORS HAVE BEEN CAUSED BY IT. NOTE: IT IS ASSUMED THE PROCESSOR IS AT PRIORITY 7 WHEN THIS ROUTINE IS ENTERED. VERSION: 0.0 530 EDIT 531 532 533 534 535 536 ;-- DATE BY REASON BESRV -BUSS ERROR ROUTINE BESKV.MAC 14-SEP-78 11 :16 MACY11 30A(1052) 20-SEP-78 17:29 PAGE 19-1 BUSERR PROCESS BUS ERROR TRAPS AND RESERVED INS. TRAPS 338 539 .SBTTL BUSERR PROCESS BUS ERROR TRAPS AND RESERVED INS. TRAPS .IDENT JVO.Oj 540 541 ;++ 542 543 MODULE NAME: BUSERR 544 545 FUNCTIONAL DESCRIPTION: 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 56~ 563 564 565 56E 567 568 568 570 571 57~ 573 574 575 576 577 578 57£, 580 581 582 583 584 5BS 586 587 58L 589 59(, 591 592 593 THIS ROUTINE WILL PROCESS A BUS ERROR TRAP AND A RESERVED INSTRUCTION TRAP. IT WILL INCREMENT THE EXERCISER SYSTEM ERROR COUNT AND SET A SYSTEM ERROR BIT IN THE ERROR ~ORD. IT WILL FORM AND QUEUE A SYSTEM ERROR MESSAGE CONTAINING THE PC, PSW. AND SP AT THE TIME OF THE SYSTEM ERROR. IF THE SYSTEM ERROR WAS CAUSED BY AN OPTION MODULE - THE OPTION MODULE NAME AND OFFSET ADDRESS WHERE SYSTEM ERROR OCCURRED WILL A~SO BE OUTPUTTED. INPUTS: ADDRESS OF DATA TABLE IMPLICIT 1. 2. 3. 4. 5. 6. 7. INPUTS: DT.CFO DT.EVNT DT.MLST DT.PSW DT.SP DT.PC DT.ESIZ OUTPUTS: NONE IMPLICIT OUTPUTS: 1. DT.ERR 2. DT.EXS PATHOLOGICAL cnNNECTIONS: NONE SUBORDINATE ROUTINES CALLED: RECOVER FROM RESET 1. RSTRCY ERROR LOGGING 2. ERRLOG HOOK A MESSAGE 3. MSGDHOOK 16 BIT BINARY TO OCTAL ASCII CONVERSION ROUTINE 4. BOA16 BINARY TO DECIMAL ASCII CONVERSION ROUTINE 5. BDACNV GET PHYSICAL ADDRESS ROUTINE 6. GPA SAVE REGISTERS 7. SAVREG RESTORE REGISTERS 8. RESREG 8INARY TO OCTAL ASCII CONVERSION 9. BOAC FUNCTIONAL SIDE EFFECTS: NONE CALLING SEQUENCE: SEQ 0089 6ESRV -B~SS ERROR RJ0TINE EESRV.MAC 14-SEP-7811:16 594 595 59G 597 598 599 600 601 602 603 MACY11 30A(1052) 20-SEP-78 17:29 PAGE 19-2 BUSERR PROCESS BUS ERROR TRAPS AND RESERVED INS. TRAPS SEQ 0090 CALL BUSERR IN WHERE DTADR = ADDRESS OF DATA TABLE VERSION: 0.0 EDIT DATE BY REASON BESRV -BUSS BESRV.MAC 605 GOG 607 608 (1) 609 010 611 612 613 1314 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 ROUTINE 14-SEP-7B 11:16 ERRO~ MACY11 80A(1052) 20-SEP-78 17:29 PAGE 19-3 COMMON DEFINITIONS AND REFERENCES FOR BUSERR .SBTTL COMMON DEFINITIONS AND REFERENCES FOR BUSERR .MCALL STRUCT STRUCT .PRINT ;SPMAC: VERSION 1.1 $LSTIN=1 $LSTTAG=1 000000· 000000· 000001 000001 ;**************** ; REFERENCED .GLOBL .GLOBL BY OTHER MODULES BUSERR BE.MCNT ;ROUTINE'S ENTRY ADDRESS ;# OF SYS ERRORS BY MONITOR ;**************** , ; GLOBAL REFERENCES .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL 53~ 633 634 635 635 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 SEQ 0091 MSGDHOOK SAVREG RESREG GPA BOA16 BOAC BDACNV ERRLOG DRPMOD RSTRCY ; TT INIT ROUTINE ;SAVE REGISTERS ;RESTORE REGISTERS ;GET PHYSICAL ADDRESS ;ROUTINE TO CONVERT BINARY TO OCTAL ASCII ;CONVERT 18 OR 22 BIT PHYS ADDR TO OCTAL ASCII ;BINARY TO DECIMAL ASCII CONVERSION RTNE ;ERROR LOGGING ;DROP A MODULE ;RECOVER CPU REGS AFTER RESET ;**************** ; LOCAL STORAGE COOOOQ' 000002' 000004' 000006' Cooa10, 000012' 000014' 000016 1 000020 1 0000221 000024 1 000026' BE.VA: 0 BE.PA: 0 BE.EA: 0 BE.VPC: .WORD BE.VEC: .WORD BE.OFPC: .WORD BE. PS\:J: .WORD BE.STK: .WORD BE.MX2: .WORD BE.MCNT: .WORD BE.MX3: .WORD BE. MAX: .WORD 000000 OOGOOO 000000 000000 000000 000000 000000 000000 000012 000000 000036 000004 ;VIRTUAL ADDRESS ;LOWER 16 BITS OF PHYSICAL ADDRESS ;EXTENDED ADDRESS WORD ;STORE PC ;STORE EITHER A 4 OR 10 (THE VECTOR LOC. ) ;STORE OFFSET PC HERE ;STORE PSW ;STORE STACK POItHER ;MAX # OF ALLOWAB:...E SYS ERRORS BY THE MONITOR ;LOC TO HOLD NUMBER OF SYS ERRORS BY MONITOR ;MAX # OF ALLOWA3LE SYS ERRORS BY EXERCISER ;MAX NO. OF SYS ERRORS ALLOWED BY AN OPTION MODULE 0 0 0 0 0 . . D<10> 0 . . 0<30> ~D<4> ;+ ; THE ORDER OF THE FOLLOWING LABELS SHOULD NOT B~ CHANGED ; BECAUSE THEY ARE PART OF THE SYSTEM ERROR MESSAGE ;- 000030· 022445 025052 020040 BE.SEMSG: .ASCII /%%** SYSTEM ERROR **%/ RESRV -BUSS ERROR ROUTINE 14-SEP-78 11 : 16 IJESRV.MAC 660 661 662 663 564 665 666 667 668 669 670 371 672 000036' 054523 000044' 04244J 000052' 02004{) 045 000057' 000064' 051117 000072' 025503 000100' 020040 000106' 020040 000114' 05352.3 000122' 020040 000130' 020040 000136' 0225~4 000140' 000006 COO146' 020040 000150' 000006 000"156 ' 020040 000160' 000010 000170' 020040 000172' 000006 000200' 020040 000202' OC0086 000210' 020040 000212' 000G06 000220' 000045 052123 051122 025052 042526 020040 020040 042101 020040 020040 050123 042440 000222' 04044:) 000226' 000005 040 000233' f)00234' 000006 000242' 000045 020124 046505 051117 045 052103 050040 020040 051104 050040 020040 020040 041522 BE.AVEC: BE.AVPC: BE.APPC: BE.APSW: SE. ASTK: BE.AEXS: 673 674 675 676 677 678 679 680 681 682 683 MACY 11 30A(1052) 20-SEP-78 ~7:29 PAGE 19-4 COMMO~ DEFINITIONS AND REFERENCES FOR BUS ERR .ASCII /%\,'ECTOR .BLKB .ASCII .BlKS .ASCII .BlKS . ASCII .BlKS .ASCII .BlKS . ASCII .BlKS .ASCIZ 6 ADDR PSW / / / SE.AOFPC: .ASCII .BlKS .ASCII .BlKS .A5CIZ .EVEN ;**************** ERCT%/ / / 8. 6 / 6 / / / ;HOLD ASCII REPRESENTATION OF VPC ;HOlD ASCII REPRESENTATION OF PPC ;HOlD ASCII REPRESENTATION OF PSW ;HOLD ASCII REPRESENTATION OF STACK 6 /%/ ;HOlD ASCII REPRESENTATION OF SYS ERR CT /%AT / 5 ;"AT" ;HOLD ASCII MODU:"'E NAME , SE.ATMSG: SE.AMOD: SP ;HOlD ASCII REPRESENTATION OF VECTOR ADR / 6 PC+ SEQ 0092 / / 6 /%/ ;HOLD ASCII OF Or:FSET PC BESRV -BUSS ERROR ROUTINE 14-SEP-7811:16 BES~V.MAC 685 G86 387 (2) G88 689 690 1391 392 693 (3 ) 694 (4 ) 395 S96 697 398 699 700 701 702 (6) (9) 703 (4 ) 704 (4 ) (3 ) 705 (4 ) 706 (4 ) 707 708 70S 710 7' 1 712 (4 ) 713 (4 ) 714 (4 ) 715 716 717 718 71S 720 721 (6) 722 723 724 725 726 20-SEP-78 MACY 11 30A(1052) BUSERR ROUTINE .SBTTL PAGE 19-5 SEQ 0093 BUSERR ROUTINE ROUTINE BUSERR 000244" 000244" 17:29 BUSERR: ;+ ; SAVE REGISTERS AND GET OTABLE , 000244" 000244" 004767 000250" 000250" 016500 CALL SAVREG OOOOOOG LET RO .- JSR PC,SAVREG l'.'IOV TA8ADR(R5),RO C,'P BNE DT.EVNT(RO),#EVN 50002$ MOV #4,BE.VEC BR 50003$ MOV #10,BE.VEC MOV DT.PC(RO),BE.VPC MOV DT.PSW(RO),BE.PS MOV DT.SP(RO),BE.STK BIS #SYSERR,DT.ERR(R TABADR(R5) 000000 ;+ ; GET EVENT CODE AND STORE VECTOR ADDRESS 4 OR 10 IN BE.VEC RESERVED INSTRUCTION BUS ERROR AND 10 ; 4 000254' 000254" 0:)0262" 000264" 000264 ' 000272 ' 000272" 000274" 008274" 000274" 000302" 000302" = = , IF DT.EVNT(RO) EO #EVNTBE THEN 026027 001004 000000 000200 012767 000004 177516 LET BE.VEC := #4 ELSE 000403 LET BE.VEC 012767 000010 .- 50002$: #10 177506 ENDIF 50003$: ;+ ; SAVE PC,PSW, AND STACK POINTER AT TIME OF TRAP , 000302' 000302' 016067 000310' 000310" 016067 000316' 000316' 016067 LET 8E. VPC 000002 177476 LET BE.PSW 000004 177476 LET BE.STK 000006 ,'17472 ···- DT.PC(RO) DT.PSW(RO) DT.SP(RO) ;+ ; SET SYS ERROR OCCURRED BIT IN ERROR WORD ;- 000324' 000324" 052760 LET DT. ERR (RO) 000100 .- DT.ERR(RO) SET.BY #SYSERR 000020 + INCREMENT EXERCISER SYS ERROR COUNT BESRV -BUSS ERROK R00TINE 8ESRV.MAC 14-SEP-7811:16 MACY11 30A(1052) 20-SEP-78 BUSERR ROUTINE 17:29 PAGE 19-6 SEQ 0094 727 728 (6) 000332' 000332' LET DT.EXS(RO) .- DT.EXS(RO) + #1 005260 DT.EXS(RO) INC 000060 729 730 731 732 ;+ ; IF EXERCISER SYS ERROR COUNT >= MAX~ALSO SET FATAL ERROR BIT IN DT.ERR 733 734 735 (6) (9) 736 (6) 737 (4) 000336' 000336 1 026067 000344' 103403 000346' 000346 1 052760 000354 1 000354 1 IF DT.EXS(RO) HIS BE.MX3 THEN 000060 177460 100000 000020 CMP BLO DT.EXS(RO),BE.MX 50004$ BIS #FATERR,DT.ERR(R LET DT.ERR(RO) := DT.ERR(RO) SET.BY #FATERR ENDIF 50004$: 738 739 740 741 ;+ GET OPTION MODULE LIST POINTER. IF THE PC IS GREATER THAN STARTING ADDRESS OF MODULES, BUT LESS THAN THE HIGHEST ADDRESS OF EXERCISER, DETERMINE WHICH MODULE CAUSED THE ERROR BY CALLING MODCHK. R1 WILL CONTAIN STARTING ADDRESS OF OFFENDING MODULE WHEN OPERATION COMPLETE. BE.OFPC WILL CONTAIN OFFSET PC INTO A MODULE. IF NOT A MODULE INCREMENT # OF SYS ERRORS CAUSED BY MONITOR AND IF TOO MANY,SET FATAL ERROR BIT IN ERROR WORD, AND SET BE.OFPC TO O. 742 743 744 745 746 747 748 749 750 751 752 753 754 (4) 755 756 757 LET R1 000354' 000354 1 016001 := DT.MLST(RO) 000032 MOV DT.MLST(RO) ,R1 MOV (R1),R4 TST SEQ (R 1 ) 50006$ CMP BLOS R4, ( R1 ) 50007$ MOV (R1),R4 TST (R 1 ) + SR 50005$ ;+ ; GET THE LOWEST ADDRESS IN THE MODULE LIST 758 759 (4) 760 (4) (6) ( 9) 761 (6) (9 ) 762 (4 ) 763 (4 ) 764 (2) 765 (4) (3 ) 000360' 000360' 000362' 000362' 000362 1 000364 1 000366' 000366' 000370 1 0003721 000372 1 0003741 000374' 0003741 0003741 000376 1 000376' 000400' LET R4 := (R1) 011104 WHILE (R1) NE #0 DO 50005$: 005711 001405 IF R4 HI (R1) THEN 02041 1 101401 LET R4 := (R1) 01 1104 ENDI F 50007$: INLINE 005721 ENDDO 00C771 50006$: MACY11 30A(1052) 20-SEP-78 BUS ERR ROUTINE BESRV -BUSS ERROR ROUTINE 14-SEP-78 11 : 16 BESRV.MAC 766 767 768 769 (6) (9 ) (6 ) (9) 770 ( 3) 771 772 773 774 775 776 (4) 777 ( Lt ) 778 (4 ) ( 6) (9) 779 (4 ) 780 (6) 781 (4) (3 ) 782 783 784 785 (3 ) ( 5) (4) (3 ) (3 ) 786 ( 4) (3 ) 787 788 789 790 791 792 793 ( 6) 000400 1 000400 1 C00404 1 000406 1 000414 1 000416 1 000416 1 PAGE 19-7 SEQ 0095 IF BE.VPC HIS R4 AND BE.VPC LOS DT.ESIZ(RO) THEN 177402 026704 103430 026760 101024 177374 004767 000500 000044 CALL MODCHK CMP BLO CMP 8HI BE. VPC, R4 50010$ BE.VPC,DT.ESIZ(R 50010$ JSR PC,MODCHK MOV #5,R3 MOV #BE.AMO~,R2 TST SEQ R3 50012$ MOVB (R1 )+, (R2)+ DEC R3 BR 50011$ MOV Mev MOV JSR MOV R5,-(SP) #BE.AOFPC,-(R5) BE.OFPC,-(R5) PC,BOA16 (SP)+,R5 BR 50013$ INC BE.MCNT CLR BE.OFPC + GET THE MODULE ASCII NAME INTO THE MESSAGE 000422 1 000422 1 000426 1 000426 1 000432 1 000432 1 000432 1 000434 1 000436 1 000438 1 000440 1 000440 1 000442 1 000442 1 000444 1 LET R3 012703 000005 012702 000226 LET R2 ..- #5 #BE.AMOD 1 WHILE R3 NE #0 DO 00570:3 00140:3 50011$: LET (R2)+ :B= (R 1 ) + 112122 LET R3 00530:3 .- R3 - #1 ENDDO 000773 50012$: + CONVERT OFFSET PC TO ASCII 000444 1 000444 1 000446 1 000452 1 OCC4S6' 000462' 000464 1 000464' 000466 1 CALL BOAlS IN 010546 012745 016745 0;J4757 012605 000234 1 177334 OOOOOOG ELSE 000413 50010$: + 000466' 000466 1 005267 IF NOT A MODULE INCREMENT THE MONITOR SYS LET BE.MCNT 177330 794 .- ERRO~ COUNT BE.MCNT + #1 + SET OFFSET PC TO ZERO (FOR LATER USE) 795 796 797 7S8 (4) 17:2) 0004'/2 1 000472 1 LET BE.OFPC 005067 177314 .- #0 BESRV -BUSS ERROR ROUTINE 14-SEP-7811:16 BESRV.MAC MACY11 30A(1052) 20-SEP-78 BUSERR ROUTINE 799 800 (6) ( 9) 804 (6) a05 (4) 806 (4 ) PAGE 19-8 SEQ 0096 ;+ ; IF TOO MANY SYS ERRORS CAUSED BY MONITOR SET FATAL BIT IN ERROR WORD '301 802 803 17:29 000476 1 000476 1 026767 C00504 1 i 0340:3 000506' (-00506' C52760 000514' C00514' 000514' 000514' IF BE.MCNT HIS BE.MX2 THEN 177320 177314 100000 000020 CMP BlO BE.MCNT,BE.MX2 50014$ BIS #FATERR,DT.ERR(R MOV MOV MOV JSR MOV R5,-(SP) #BE.AVEC,-(R5) BE.VEC,-(R5) PC,BOA16 (SP)+,R5 MOV MOV MOV JSR MOV R5,-(SP) #BE.AVPC,-(R5) BE.VPC,-(R5) PC,BOA16 (SP)+,R5 r.tOV BE.VPC,BE.VA IVOV R5,-(SP) #BE.Vt-.,-(R5) LET QT.ERR(RO) .- DT.ERR(RO) SET.BY #FATERR ENDIF 50014$: ENDIF 50013$: 807 80S 809 810 811 812 813 814 ;+ 815 816 ; CONVERT VECTOR TO ASCII 817 818 819 (3 ) (5 ) (4 ) (3 ) ( 3) 82(,,821 82.£ 823 824 825 826 827 (3 ) (5 ) (4) ( 3) (3 ) 828 829 830 831 832 833 834 835 (4 ) 836 (3) (5) 000514' 000514' 000516' 000522' 000526' 000532' CALL BOA16 IN 010546 012745 016745 004767 012605 000140' 1772t)2 OOOOOOG ;+ ; CONVERT VPC TO ASCII 000534' 0003341 000536 1 00054.2' 000546' 000552' CALL BOA16 IN 010546 012745 016745 004767 012605 000150' 177240 OOOOOOG ;+ ; CONVERT PHYSICAL ADDRESS TO ASCII ;- 000554' 000554' 016767 000562' 000562' 010546 0005641 012745 LET BE.VA '- BE.VPC 177226 177216 CALL GPA IN 000000' MOV 3ES~V -BUSS ERR2R ROUTINE 14-SE P-73 ,,: 16 BESKV. MAC (4 ) (3 ) (3 ) 837 ( 3) (7 ) (6 ) (5 ) (C; ) (3 ) (3 ) 000570' 000572' 000576' 000600' 000600' C00602' OOCG06' 000612' COOa16' 000620' 000624' 010045 004767 012605 MACY11 30A(1052) 20-SEP-78 BUSERR ROUTINE 17:29 PAGE 19-9 MOV JSR MOV OOOOOOG CALL BOAC IN 010546 012745 0:6745 016745 010045 004767 012605 SEQ 0097 000160' 177172 177164 OOOOOOG MOV MOV MOV MOV MOV JSR MOV RO,-(R5) PC,GPA (SP)+,R5 R5,-(SP) #BE.A~PC,-(R5) BE.EA,-(R5) BE.PA,-(R5) RO,-(R5) PC,BOAC (SP)+,R5 33.3 839 840 841 942 843 (3 ) (5 ) (4) (3 ) (3 ) 844 845 846 847 843 849 850 851 (3 ) (5 ) (4 ) (3 ) (3 ) ;+ ; CONVERT PSW TO ASCII , CALL BOA16 !N <8E.PSW,#BE.APSW> 000526' Ci00626' 000630' 000634' 000640' 000644' 010546 012745 016745 004767 012605 000172' 177154 OOOOOOG MOV MOV MOV JSR MOV R5,-(SP) #BE.APSW,-(R5) BE.PSW,-(R5) PC,BOA16 (SP)+,R5 MOV MOV MOV JSR MOV R5,-(SP) #BE.ASTK,-(R5) BE.STK,-(R5) PC,BOA16 (SP)+,R5 MOV MOV MOV JSR MOV R5,-(SP) #BE.AEXS,-(R5) DT.EX5(RO),-(R5) PC,BDACNV (SP)+,R5 ;+ ; CONVERT STACK TO ASCII , '- 000646' 000646' 000650' 000654' 000660' 000664' CALL BOA16 IN 010546 012745 016745 004767 012605 000202' 177136 OOOOOOG 85~ 853 854 855 856 857 (3 ) (5 ) (4 ) ( 3) (3 ) 858 ;+ ; CONVERT SYS ERROR COUNT TO ASCII , OC0666' 000666' 000670' 000674' 000700' 000704' CALL BDACNV IN 010546 012745 016045 004767 012605 000212' 000060 OOOOOOG 859 860 861 862 863 864 865 86C 867 ;+ ; RESET THE WORLD TO STOP J';NY INTERRUPTS , 000706' 000005 RESET BESRV -suss ERROR ROUTINE BESRV.MAC 14-SEP-78 11 :16 868 869 370 871 872 873 874 875 376 (3 (4 (3 (3 ) ) ) ) 377 (4 ) 378 (4) 379 880 (2 ) 881 ( 2) ( 3) (7 ) (6 ) (5) (4 ) (3 ) (3 ) 889 890 (2 ) 891 (2 ) 892 893 894 895 896 897 898 8S9 (6 ) (9) 900 (3) (7 ) (6 ) (5) 17:29 PAGE 19-10 SEQ 0098 ;+ ; RECOVER THE BAD THINGS THAT THE RESET DID ; AND GET THE PRIORITY BACK DOWN TO ZERO SO WE CAN TYPE 000710' 000710' 000712' 000714' 000720' 000722' 000722' 000724' 000724' CAll RSTRCY IN 010546 010045 004767 012605 OOOOOOG LET -(SP) '- #0 005046 012746 lET -(SP) '- #456$ 000732' INLINE 000730' 000730' 000002 000732' 000732' "'IOV M:]V JSR MOV R5,-(SP) RO,-(R5) PC,RSTRCY (SP)+,R5 CLR -(SP) MOV #456$,-(SP) RTI INLINE <456$:> 882 883 884 885 886 887 883 MACY11 30A(1052) 20-SEP-78 BUSERR ROUTINE 456$: i+ ; QUEUE THE SYSTEM ERROR MESSAGE (STANDARD SYSTEM ERROR) 000732' 000732' (;00734' 000740' 000744' 000750' 000752' 000756' CALL MSGDHOOK IN 010546 012745 012745 012745 010045 004767 012605 000764' 000030' 000002 1 $: NOP Mev OOOOOOG INlINE <1$: 000760' 000760' 000240 000762' 000762' 000776 JSR MOV R5,-(SP) #2$,-(R5) #BE.SEMSG,-(R5) #MSGPOP,-(R5) RO,-(R5) PC,MSGDHOOK (SP)+,R5 MOV M<]V MOV MOV NOP> INLINE
BR 1 $ ;+ ; IF ERROR WAS CAUSED BY OPTION MODULE, ALSO QUEUE THE OPTION ; MODULE NAME AND APC ;- 000764' 000764' 000770' 00Cl772' 00,)772' 000774' 001000' 001004' 2$: 005767 001415 010546 012745 012745 012745 IF BE.OFPC NE #0 THEN 177022 CALL MSGDHOOK IN 001024' 000222' 000002 TST SEQ BE.OFPC 50015$ MOV MOV MOV MOV R5,-(SP) #4$,-(R5) #BE.ATMSG,-(R5) #MSGPOP,-(R5) BESRV -BUSS ERROq ROUTINE 14-SEP-7811:16 BESRV.MAC (4) (3) (3) 901 (2) 902 (2) 903 904 (4) 305 906 907 908 909 910 (6) (8) (6) (9) (6) 911 (3) (4) (3) (3) 912 (4) 913 914 915 916 917 918 91S (6) 920 921 922 923 924 925 926 (6) (9) (6) (9) 927 (3) (5) (4) (3) (3) 928 {4} ~29 001010' 001012' 001016' 001020' 001020' 001022' 001022' 001024' 001024' 001024' 010045 004767 012605 MACY11 30A(1052) 20-SEP-78 BUSERR ROUTINE 17:29 PAGE 19-11 SEQ 0099 OOOOOOG INLINE <3$: 000240 NOP> INLINE
RO,-(R5) PC,MSGDHOOK (SP)+,R5 3$: NOP BR 3$ 000776 4$: ENDIF MOV JSR MOV 50015$: ;+ ; IF AN ERROR LOGGING CPU, CALL THE LOG ROUTINE 001024' 001024' 001032' 001034' 001042' 001044' 001044' 001044' 001046' 001050' 001054' 001056' 001056' IF #PD?60 SETIN DT.CFO(RO) OR #PDP70 SETIN DT.CF0(RO) iHEN 032760 004000 000014 010000 000014 :O~004 032760 001405 #PDP60,DT.CFO(RO 50016$ #PDP70,DT.CFO(RO 50017$ MOV MOV JSR MOV R5,-(SP) RO,-(R5) PC,ERRLOG (SP)+,R5 SUB #5, Rl 50016$: CALL ERRLOG IN 010546 010045 004767 012605 BIT B"JE BIT BEQ OOOOOOG ENDIF 50017$: ;+ ; BACK UP R1 TO POINT TO MODULE HEADER ADDRESS 001056' 001056' LET Rl 162701 . - Rl - #5 000005 ;+ ; IF ERROR CAUSED BY OPTION MODULE AND LIMIT REACHED, DROP THE MODULE ,' 001062' 001062' 001066' 001070' 001076' 001100' 001100' 001102' 001104' 001106' 001112' 001114' 001114' IF BE.OFPC NE #0 AND SYSCNT(Rl) HIS BE.MAX THEN 005767 001412 026167 i03406 010546 010145 010045 004767 012605 176724 000052 176730 CALL DRPMOD IN TST BEQ CMP BLO BE.OFPC 50020$ SYSCNT(R1),BE.MA 50020$ MOV R5,-(SP) R1,-(R5) RO,-(R5) PC,DRPMOD (SP)+,R5 rv.CJV MOV JSR I't.OV OOOOOOG ENDIF 50020$: BESRV -BUSS ERROR ROUTINE 14-SEP-7811:16 BESRV.MAC 930 931 932 933 934 935 933 (3) 937 938 939 (3) (3) (2) MACY11 20-SEP-7B BUSERR ROUTINE 30~(1052) 17:29 PAGE 19-12 SEQ 01vO ;+ ; RESTORE REGISTERS ., 001114 001114 1 001120 001120 001120 001120 1 1 CALL RESREG 004767 JSR PC,RESREG RTS PC ENDRTN 50000$: 50001$: 1 1 1 OOOOOOG 000207 CESRV -BUSS ERROR ROUTI~E BESRV.MAC 14-SEP-7811:16 941 942 MACV11 30A(1052) 20-SEP-78 17:29 PAGE 19-13 MODCHK GET OPTION MODULE HEADER ADDRESS AND OFFSET .SBTTL MODCHK GET OPTION MODULE HEADER ADDRESS AND OFFSET .IDENT /VO.O/ 9~3 344 945 943 347 348 949 950 951 952 353 954 955 356 FUNCTIONAL DESCRIPTION: THIS ROUTINE IS ENTERED TO DETERMINE THE OPTION MODULE WHICH CONTAINS THE ADDRESS AT WHICH A BUS ERROR OR RESERVED INSTRUCTION OCC~RRED. IT WILL RETURN THE HEADER ADDRESS OF THE OPTION MODULE, INCREMENT THE SVS ERROR COUNT FOR THE MODULE AND IF TOO MANY SVS ERRORS HAVE OCCURRED,DROP THE MODULE FROM AN EXERCISER. IT WILL ALSO RETURN THE ADDRESS AT WHICH THE SVS ERROR OCCURRED AS AN OFFSET INTO THE MODULE. THIS OFFSET IS ALSO KNOWN AS THE ASSEMBLED PC OR APC. SEQ 0101 BESRV -BUSS ERROR ROUTINE 14-SEP-78 11 : 16 BESRV.MAC 958 959 960 (2 ) 861 962 963 964 965 966 967 (4 ) 968 (4 ) 969 970 971 972 973 974 975 976 977 978 979 980 981 (4) 982 (4) ( 6) (9) 983 (6 ) ( 9) 984 (6) (9 ) 985 (4 ) 986 (4 ) 987 (4 ) 988 (2 ) 989 (4 ) (3 ) 990 991 992 993 994 995 996 MACY11 30A(1052) 20-SEP-78 MODCHK ROUTINE .SBTTl 17:29 PAGE 19-14 MODCHK ROUTINE ROUTINE MODCHK 001122 1 001122 1 SEQ 0102 MODCHK: ;+ ; GET ADDRESS OF OPTION MODULE LIST,PUT IN R2 ; GET ADDRESS AT WHICH SYS ERROR OCCURRED INTO R3 001122 1 001122 1 016002 001126 1 001126 1 016003 LET R2 .- DT.MLST(RO) 000032 lET R3 '- DT.PC(RO) 000002 MOV DT.MLST(RO),R2 MOV DT.PC(RO),R3 CLR R1 TST BEQ (R2) 50003$ CMP BHI (R2),R3 50004$ CMP BlOS (R2),R1 50005$ MOV (R2),R1 TST (R2)+ BR 50002$ ;+ ; INITIALIZATION COMPLETE ;+ ; FIND THE SMALLEST ADDRESS THAT DOES NOT EXCEED THE ; ADDRESS OF SYS ERROR lET Rl 001132' 00~132' 001134' 001134' 001134' 001136' 001140' 001140' 001142' 001144' 001144' 001146' 001150' 001150' 001152' 001152' OQ1152' 001152' 001152 1 001152 1 001154 1 001154 1 001156' := #0 005001 WHILE (R2) NE #0 DO 50002$: 005712 001407 IF (R2) lOS R3 THEN 021203 101003 IF (R2) HI Rl THEN 02120'1 10140'1 LET R1 011201 := (R2) ENDIF 50005$: ENDIF INLINE 005722 ENDDO 000767 50003$: ;+ ; CALCULATE THE OFFSET ADDRESS ;- BESRV -BUSS ERf'OR ROUTINE 8ESRV.MAC 14-SEP-78 1 1 : 16 997 (4 ) (6 ) 998 999 1,)00 1001 1002 0011=:6' 001156' 001162' '~O3 001166' 001166' ( 6) 1 :)04 1005 1006 1,)07 '008 '009 1010 (3) (3 ) (2) 1 0' 1 20-SEP-78 MACY11 30A(1052) MODCHK ROUTINE LET BE.OFPC : = R3 - 010367 160167 17:29 PAGE 19-15 SEQ 0103 R1 176630 176624 MOV SUB R3,BE.OFPC Rl,BE.OFPC It-JC SYSCNT(Rl) RTS PC ;+ ; ADD ONE TO OPTION MODULE'S SYS ERROR COUNT , LET SYSCNT(Rl} 005261 001172' 001172' 001172 1 001172' 000207 000001 := SYSCNT(R1) + #1 000052 ENDRTN 50000$: 50001$: . END 6ESrtV -BUSS ERROR ROUTINE 14-SEP-78 11 : 16 6ESRV. ~.1AC 000102 ACSR ACTSIT= 004000 ADD~22= 001000 ADR 00C006 APTFE~= 000004 APTPRE= 000200 ASB 000106 ASS~M9= 000010 ASTAT = 000104 AUTO 000010 AUTQST-= 0200~0 A\I}AS 000110 bDACNV= ****** G BE.AEX 000212R BE.AMJ 000226R EE.AOF 000234R t3E.APP COO160R SE.APS COO172R BE.AST 000202R BE.ATVI 000222R BE. AVE OOC140R BE.AVP OC0150R f3E. EA 000004P. St..MAX 000C26R BE.MCN 000022RG BE.MX2 0OO020R 3E. i\1X3 000024R OOO:)12R SE.DFP >3E. PA 00OO02R 3E.PSI'/ 00OCl14R :3E.SEM 0OOO30R 000016R l3E.STK i3E.VA OOOOOGR BE. VEe 00OO10R 3E.VPC 00OO06R 31TO 000001 31TOO 000001 81101 000002 BI102 000J04 000') 1 0 BI103 8IT04 000020 000040 BIT05 81106 000100 BIT07 000200 BIT08 000400 OO~OOO 81109 BITl 000002 002000 BIT 10 8IT11 004800 BIT 12 010000 81T13 020000 040000 BIT 1 4 BIT15 100000 20-SEP-78 MACY11 30A(1052) SYMBOL TABLE 17:29 DT.MTI= DT.OFF= DT.PAS= DT.PC = DT.PFL= DT.PSW= DT.PTA= DT.RCS= DT.R!::L= DT.SCT= DT.SMX= DT.SP = D1.SSI= DT.STO= DT.ST1= DT. SItJR= DT.SYP= DT .I;JBU= DT.IA1H!..= DT.WLL= DVID1 = ECCMEM= ECCSTA= ENBEOP= EN BNU L= ENDLST= EOPBIT= ERRLOG= ERRTYP= EVNTBE= EVNTHD= EVNTKT= EVNTPE= EVNTRE= FATERR= GPA HRDCNT= HRDPAS= ICONT = ICOUNT= IDNUM = IE INDPAR= INHDRP= INHEPR= INHREL= INHRRE= INIT INTR IOMOD IOMODP= IOMODR= IOMODX= 000110 000070 000074 BIT2 BIT3 BIT4 BIT5 BIT6 BIT7 BIT8 BIT9 BKDEF BKMOD BKMODE= Bfi<**** G 000014 000042 000100 000076 000034 000014 000016 000020 000044 000000 000060 000037 000036 000104 OC0024 000026 000022 000030 000032 PAGE 20 SEQ 0104 000O~2 000062 000004 000064 000102 00004~ 000066 000106 000006 000046 000010 000012 000056 000072 000050 000054 000052 000014 000100 000010 010000 000001 000000 OOGOOl ****** G 000103 000200 000200 000203 000202 000201 100000 ****** G 000044 000050 000036 000040 000122 0001CO 000040 040000 020000 001000 000400 000030 000120 100000 102000 112000 110000 JACK KIPARO= KIPAR1= KIPAR2= KIPAR3= KIPAR4= KIPAR5= KIPAR6= K1PAR7= KIPDRO= KIPDR1= KIPDR2= KIPDR3= KIPDR4= K1PDR5= KIPDR6= K1PDR7= KTERRO= KTPRES= KTSTAT= KTXTND= LF LPSTAT= MAPSTA= MED MEfv'lPAS= MODCHK MODEXH= MODHOL= MODSEL= MSGCKD= MSGCKS= MSGDER= MSGDHO= MSGDRP= MSGECH= MSGEOP= MSGHDR= MSGH1'>!G= MSGHRD= MSGMAP= MSG~UL= 035060 172340 171342 172344 172346 NBKMOD= NCPUOP= NOAPTY= NULL OWEN 17L350 P.~ERR 172352 172354 172356 172300 172302 172304 172306 172310 172312 172314 172316 000040 000400 000020 040000 000012 000001 000200 076600 04JOOO 001122R 004000 002000 001000 000010 000011 000005 PARPRE= PARSTA= PASCNT= PDPLSI= PDP60 PDP70 PRIO ****** G 000017 177777 00:)013 000004 COO022 000007 000021 177775 000002 177776 000001 000006 000003 000015 000014 000016 MSGPGP= MSGPRM= MSGRES= MSGSFT= MSGSKE= MSGSMB= MSGSMH= MSGSMS= MSGSTD= oooeoo MSGSYS= 000012 MSGVEC= 000020 P~Il PRI4 PRI5 PRI6 PRI7 PRO PR4 PR5 PR6 PR7 PS PSW RA~NUM= RBUFEA= RBUFPA= RBUFSZ= RBUFVA= RDSERV= RJWHMI= RELERR= REU/.OD= REL TIM= RESREG= RESl RES2 RICHAR= RPTDAT= RSTRCY= RSTRT = RUBOUT= RUN:V:OD= RSVALU= SAM SAV~EG= SBADR = SBK:V:OD= SBKSEL= SC. A.DR= SC . .ALC= SC.APC= 001000 000020 000002 000000 024020 000010 002000 000100 000034 020000 004000 010000 000000 000040 000200 00024::> 00030:) 000340 000000 000200 000240 000300 000340 177776 177776 000054 000130 000126 000132 000124 000101 000022 000020 020000 010000 *"'**** G 000056 000060 031060 002000 ****** G 000112 000177 100000 001740 075464 ****** G 000102 000000 OiOOOO 000006 000014 000016 GES~V 8ES:~V. -BUSS ERROR ROUTINE :\1AC 14-SE P-78 11: 16 000002 00G004 000000 000010 000012 177777 000042 000046 000040 000032 002200 Si~O 177572 SR1 177574 Si~2 177576 Si~3 172516 STAT 000026 STATSI= C64757 STAT1 = 00(;027 SUSPND= OOOGOl SVRO 000062 SIiRl 000064 SVR2 000066 S\/R3 00C070 SVR4 000072 S\/R5 000074 000000 001174 17:29 WBUFPA= WBUFRQ= WBUFSZ= WDFR WDTO WTINRE= WHJHMI = XFLAG = XOFF XON $BGNLE= $ERFLG= $F$ANO= $F$BAO= $F$BLA= $F$CAS= $F$Or::C= $F$OO = $F$FAL= $F$GOO= $F$IF = $F$INC= $F$LOO= $F$NAM= $F$NO = 000134 000140 000142 000116 000114 000352 000222 000005 000023 00002; 177777 000400 000310 000401 000170 000150 000220 000340 000405 000400 000110 000210 000200 000160 000403 SVR6 SVSCNT= SYSERR= TABADR= TMPIO = TQOV F = UIPARO= UIPAR1= UIPAR2= UIPAR3= UIPAR4= UIPAR5= U!PAR6= UIPAR7= UIPDRO= UIPDR1= UIPDR2= UIPDR3= UIPDR4= UIPOR5= UIPDR6= UIPDR7= WASADR= vJBSTAT= WBUFEA= SC.CKL= SC.CKP= SC.CLG= SC.HLD= SC.SCA= SEN;)LS= SOFCNT= SOFPAS= S~)hCE = SiJOINT= SPVALU= ABS. MACV11 30A(1052) 20-SEP-78 SYMBOL TABLE 000076 000052 000100 oooeoo 000002 000002 177640 177642 177644 177646 177650 177652 177654 177656 177600 177602 177604 177606 177610 177612 177614 177616 000104 000040 000136 000 001 ERRORS DEiECTED: 0 DEFAULT GLOBALS GENERATED: 0 OSKZ:8ESRV,OSKZ:BESRV=SPMAC/ML,EQUATE,BESRV RUN-TIME: 20 10 .4 SECONDS RUN-TI~E RATIO: 54/32=1.7 CORE USED: 14K (27 PAGES) PAGE 20-1 SEQ 0105 $F$OR = $F$RTI= $F$RTN= $F$SEL= $F$THE= $F$TRU= $F$UNT= $F$WHI= $F$VES= $IFLEV= $ISKO = $ I SK 1 = $LOCTA= $LSTIN= $LSTTA= $NESTL= $NSKO $NSK 1 = $NSr<2 :.:: $NSK3 = $SAVLE= $SSKO = $TAGLE= $TAGNU= $TEMP = 000320 000350 000300 000140 000330 000404 000130 000120 000402 177777 000001 000001 177777 000001 000001 177777 000300 000120 000110 000110 177777 050003 177777 050006 000300 $TSKO $TSK1 $TSK2 $TSK3 $$ARGC= $$ BYT E·= $$CASE= $$DST = $$ELOC= $:liERFL= $$ F LAG= $SFROM= $$ LOC = $$LOCN= $$REG = $$RETU= $$C(-:-N1= $$RTN2= $$SRC $$TGSV= $$TGS1= $$TGS2= $$TO $$$TAG= = 050002 050003 050004 050005 000000 000403 000000 000000 000402 000000 000001 000000 001146R 000000 177777 000000 050000 050001 000000 000000 000000 000000 000000 050000 001174R .MAIN. MACY11 30A(1052) 20-SEP-78 EQUATE.MAC 13-SEP-78 16:13 3 531 534 599 642 675 733 17:30 TABLE OF CONTENTS COM~ON EQUATE MODULE CCMMON DEFINITIONS AND REFERENCES 000000' .PRINT IERRLO INITIALIZE '1/60 ERROR LOG INITIALIZE 11/60 ERROR LOG ROUTINE ERRLOG '1/60 ERROR LOGGING ROUTINE ERRLOG '1/60 ERROR LOG ROUTINE ;SPMAC: VERSION 1.1 SEQ 0106 BLOG60 BINDER FOR 11/60 ERROR LOG ROUTINES MACY11 30A(1052) BLOG60.MAC 05-JUL-78 08:58 COMMON EQUATE MODULE 508 .TITLE 20-SEP-78 17:30 PAGE 19 SEQ 0107 BLOG60 BINDER FOR 11/60 ERROR LOG ROUTINES 509 510 .IDENT /VO.O/ 511 512 513 514 515 S16 517 518 519 520 521 522 523 524 525 526 527 ;++ MODULE PACKAGE NAME: BLOG60 FUNCTIONAL DESCRIPTION: THIS IS A BINDER TG KEEP 11/60 ERROR LOG MODULES PACKAGED TOGETHER. CONTAINS THE FOLLOWING MODULES: IERRLO - INITIALIZE 11/60 ERROR LOG ERRLOG - 11/60 ERROR LOG VERSION: 0.0 EDIT ;-- DATE BY REASON BLOG60 BINDER FOR 11/60 ERROR LOG ROUTINES MACY11 30A(1052) BL0360.MAC 05-JUL-78 08:58 COMMON EQUATE MODULE 523 53,) 531 532 533 534 (1) 535 533 :337 538 533 540 541 :342 543 544 545 545 547 548 549 55') 551 552 553 554 555 555 557 558 559 560 561 562 553 564 56S 566 567 563 569 570 571 572 573 574 575 576 577 578 579 580 20-SEP-78 17:30 PAGE 19-1 .SBTTL COMMON DEFINITIONS AND REFERENCES .MCALL 5TRUCT STRUCT .PRINT ;SPMAC: VERSION 1.1 $L5TIN = 1 $LSTTAG = 1 COOOOO' 000000' 000001 000001 ;**************** ; REFERENCED BY OTHER MODULES .GLOBL .GLOBL ;MODULE ENTRY POINT ;MODULE ENTRY POINT IERRLO ERR LOG ;******~********* ; GLOBAL REFERENCES , .GLOBL .GLOBL .GLOBL .GLOBL ;SAVE REGISTER ROUTINE ;BINARY TO OCTAL ASCII CuNVERSION (16 BIT) ;MESSAGE HOOK ROUTINE ;RESTORE REGISTERS SAVREG BOA16 MSGDHOOK RESREG ;**************** ; LOCAL EQUATES , L6.0FF L6.ENB L6.STO 000100 100001 000010 ;OFFSET INTO ERROR LOG REGISTERS ;ENABLE AND FREEZE ON FIRST ERROR ;SIZE OF LOG BUFFER 100 100001 AD<8> ;**************** ; LOCAL STORAGE 000000' 000020' 0.J0022 ' 000024' 000026' 000030' 000032' 000034' 000036' 000010 000036' L 6 • BU F : • B L K 1'-1 L6. TAB: .WORD .WORD .WORD .WORD .WORD .WORD .IJJORD .WORD 0OO1(Q' 000122' 000140' 000163' 000203' 000223' 000246' ;LOG BUFFER FOR 11/60 ERROR LOG ;TABLE POINTING TO LOCAL STORAGE FOR ;MESSAGE L6.STO L6.JAM L6.SRV L6.PBA L6.CUA L6.FLG L6.WHA L6.CDA L6.CTA ;**************** ; LOCAL MESSAGES , 000040' 000040' 000046' 000054' 000J61' Oc-0066' 000074' 000102' L6.MSG: 030445 042440 046040 112 000006 020040 020057 027461 051122 043517 046501 030066 051117 045 020057 L6.JAM: 051440 053122 .ASCII '%11/60 ERROR LOG%' . ASC II .BLKB .ASCII 'JAM/ I "'D<6> SRV/ , SEQ 0108 20-SEP-78 MACY 11 30A(1052) bLOG60 BINDER FOR 11/60 ERROR lOG ROUTINES COMMON DEFINITIONS AND REFERENCES 05-JL:~-78 08:58 t,LOG€O. MAC 581 582 583 584 585 586 587 583 58'.3 590 591 592 593 594 595 000104 1 000112 1 000120 1 000122 1 000130 1 000136 1 000140 1 000146 1 000154 1 000162 1 000163 1 000171 1 000176 1 000203 1 000211 1 000216' 000223 1 000006 020040 020057 000006 020040 020057 000006 020045 026507 040 040502 041440 040525 020040 047111 046106 027524 040 046501 000006 040 052101 000006 020040 027511 044127 040 020040 027501 042103 040 I 040 000236' 000244 1 000246 1 000254 1 043501 020057 000006 000045 020040 041455 052103 052520 D00231 .BlKB .ASCII ~D<6> .BlKB . ASC II ~D<6> .BlKB .ASCII ~D<6> .BlKB .ASCII AD<6> WHAMI/ ~I)HA: • BlKS .ASCII -D<3> 1 CDATA/ l6.CDA: .BlKB .ASCI! "D<6> 1 CTAG-CPU/ .BlKB .ASCIZ .EVEN AD<6> l6.SRV: 050040 l6.PBA: l6.CUA: l6.FlG: DOOO06 l6. L6.CTA: PBA/ CUA/ 1% 1%1 I 1 FlG-INT/ 1 1 1 17:30 PAGE 19-2 SEQ 0109 BLOG50 BINbER FOR 11/60 ERROR LOG ROUTINES MACY11 30A(1052) 20-SEP-78 BLOG60.MAC 05-JUL-78 08:58 COMMON DEFINITIONS AND REFERENCES 597 598 17:30 GOO .SBTTL IERRLO INITIALIZE 11/60 ERROR LOG .IDENT IVO.O/ 601 302 ;++ 599 603 604 605 606 G07 608 609 610 611 612 613 314 615 616 617 PAGE 19-3 SEQ 0110 MODULE NAME: IERRLO FUNCTIONAL DESCRIPTION: THIS MODULE WILL INITIALIZE THE 11/60 ERROR LOG TO THE ENABLE AND FREEZE ON FIRST ERROR STATES. INPUTS: NONE U.'1PLICIT INPUTS: NONE OUTPUTS: NONE 61e 6'9 620 621 62L 623 624 625 626 IMPLICIT OUTPUTS: NONE PATHOLOGICAL CONNECTIONS: NONE SUBORDINATE ROUTINES CALLED: NONE 627 628 629 630 631 632 633 634 635 636 637 638 FUNCTIONAL SIDE EFFECTS: NONE CALLING SEQUENCE: CALL IERRLO VERSION: 0.0 EDIT DATE BY REASON BLOG60 BINDER FOR 11/60 ERROR LOG ROUTINES MACY11 30A(1052) 20-SEP-78 BLOG60.MAC 05-JUL-78 08:58 IERRLO INITIALIZE 11/60 ERROR LOG 640 641 642 643 644 (2) 645 646 647 S43 649 650 651 (2) 652 653 654 :355 656 657 658 659 660 661 (6) 662 663 664 665 666 667 668 669 670 (2) 671 672 (3) (3) (2) 17:30 PAGE 19-4 SEQ 0111 .SBTTL INITIALIZE 11/60 ERROR LOG ROUTINE ROUTINE IERRLO 000256' 000256 1 IERRLO: ;+ ; SAVE REGISTER RO, WHEN EXECUTING A "MED" INSTRUCTION RO IS ; USED TO TRANSFER DATA TOO AND FROM WHAMI REGISTER. PUSH RO 000256 000256 1 010046 1 MOV RO,-(SP) BIS #L6.ENB,RO MOV (SP)+,RO RTS PC j+ ; READ WHAMI REGISTER THEN SET THE ENABLE BIT INTO ; RO AND THEN WRITE BACK TO WHAMI REGISTER 000260 000262 1 000264 000264 1 000270 000272 1 LET RO .- RO SET.BY #L6.ENB 1 052700 1 076600 000222 1 MED RDWHMI 076600 000022 100001 MED WTWHMI ;+ j RESTORE REGISTER AND RETURN 000274' 000274 1 012600 POP RO 000276 1 000276 1 000276 1 000276 1 000207 ENDRTN 50000$: 50001$: BLOG60 BINDER FOR 11/60 ERROR LOG ROUTINES MACY11 30A(1052) ~C-SEP-78 6LOG60.MAC OS-JUL-78 08:58 INITIALIZE 11/60 ERROR LUG ~OUTINE 17:30 PAGE 19-5 SEQ 0112 674 675 676 677 678 G79 580 .SBTTL ERRLOG 11/60 ERROR LOGGING ROUTINE .IDENT /VO.O/ ;++ MODULE NAME: ERRLOG G81 682 G83 684 385 685 687 G83 683 69) 691 592 693 694 695 693 697 693 699 700 701 702 703 704 FUNCTIONAL DESCRIPTION: THIS MODULE WILL READ THE 11/60 PROCESSOR ERROR LOG SCRATCHPAD AND TRANSFER THE ERROR LOG TO PHYSICAL CORE AND THEN GENERATE A MESSAGE THAT WILL CUT?UT 8 OF THE SCRATCHPAD REGISTERS (100-107). THESE REGISTERS AqE IDENTIFIED AS FOLLOWS: JAM - JAM REGISTER STATUS SRV - SERVICE REGISTER OF STATUS PBA - PHYSICAL BUS ADDRESS REGISTER (BIT 17,16) CUA - MICROPROGRAM ADDRESS FLG/INT - FLAG REQUEST REGIsrER OF STATUS/LAST VECTOR SERVICED WHAMI - VARIETY OF PROCESSOR OPTION STATUS BITS, PROCESSOR OPTION STATUS CDATA - CACHE DATA CTAG/CPU- CACHE TAG DATA/HIT REGISTER INPUTS: DTABLE IMPLICIT INPUTS: NONE OUTPUTS: NONE 7C5 70S 707 IMPLICIT OUTPUTS: NONE 70S 709 710 711 712 PATHOLOGICAL CONNECTIONS: NONE 716 SUBORDINATE RO~TINES CALLED: SAVREG - SAVE REGISTERS BOA16 - BINARY TO OCTAL ASCII CONVERSION (16 aITS) MSGDHOOK - MESSAGE HOOK ROUTINE RESREG - RESTORE REGIST~RS 717 718 719 FUNCTIONAL SIDE EFFECTS: NONE 713 714 715 720 721 722 723 724 725 726 727 728 729 CALLING SEQUENCE: CALL ERRLOG IN A .. ADDRESS OF DT ABLE V~RSION: 0.0 EDIT CATE BY REASO~ BLOG60 BINDER FOR 11/60 ERROR LOG ROUTINES MACY11 30A(1052) 20-SEP-78 5L0360.MAC 05-JUL-78 08:58 ERRLOG 11/60 ERROR LOGGINS ROUTINE 731 732 733 734 735 (2) 733 737 738 739 740 741 742 743 (3) 744 (4 ) 745 (4 ) 746 747 748 749 750 751 752 (4) (6 ) ( 9) 753 754 (4 ) 755 (2 ) 755 (2 ) 764 (6) 765 7G6 (4) (3) 767 7G8 769 770 771 772 SEQ 0'13 ROUTINE ERRLOG 000300' 000300' ERRLOG: ;+ ; SAVE REGISTERS AND GET ADDRESS OF LOG BUFFER ALONG WITH INITIALIZING ; LOG COMMAND AND ADDRESS TO ERROR LOG REGISTER 100 ;- C00300' (00300' 000304' 000304' 000310' 000310; CALL SAVREG 004767 012701 012702 OOOOOOG LET R1 .- # L6. BUF LET R2 .- #L6.0FF 000000' 000100 JSR PC,SAVREG MOV #L6.BUF,R1 MOV NL6.0FF,R2 C\I1P BGE R2,#L6.0FF+NL6.S 50003$ MOV R2, 1 $ ;+ ; NOW READ ERROR LOG wORD AND LOAD IT INTO LOG BUFFER UNTIL ; ERROR LOG IS SAVED. ;- 000314' 000314' 000314' 020227 000320' 002007 000322' C00322' 010267 000326' 000326' 076600 000330' 000330' ooooco WHILE R2 LT NL6.0FF+#L6.STO DO 50002$: 000110 LET 1$ .- R2 000002 IN LI NE MED INLINE <1$: .WORD 0> ,$: .WORD MOV RO,(R1)+ INC R2 8R 50002$ 0 ;+ ; LOAD RO (DATA FROM LOG) INTO LOG BUFFER AND POINT LOG BUFFER ; TO NEXT ENTRY AND R2 TO NEXT COMMAND AND ADDRESS 760 ('n PAGE 19-6 .SBTTL ERRLOG 11/60 ERROR LOG ROUTINE 757 758 759 761 762 763 17:30 000332' 000332' 000334' 000334' 000336' 000336' 00J340' LET (R1)+ '- RO 01002" LET R2 := R2 + #1 005202 ENDDO 000766 50003$: ;+ ; POINT TO "FP.LOG JAM" EN;RY IN LOG BUFFER AND POINT TO INDEX TABLE, CONVERT TO OCTAL ; ASCII AND LOAD MESSAGE ALSO DO THE SAME TO FOLLOWING 7 ENTRIES IN LOG BUFFER. GlOu60 BINDER FOR 11/60 ERROR LOG ROUTINES MACY11 30A(1052) 20-SEP-78 BLOG60.MAC C5-JUL-78 08:58 ERRLOG 11/60 ERROR LOG ROUTINE 773 (4 ) 774 (4 ) 775 (4 ) 776 (4 ) (6) ( 9) 777 (3) (5) (4 ) (3 ) (3 ) 778 (2 ) 779 (4) (3 ) 780 781 782 783 784 785 (4 ) 786 (3 (7 (6 (5 (4 (3 (3 ) ) ) ) ) ) ) 787 (2) 783 (2) 789 790 791 792 793 794 (2) 795 (3) 796 797 (3) (3) (2) 798 000340' 000340' 0003421 000342' 0:)0346' 000346' 000352' OOC352' C00352' 000356' 000360' 000360' 000362' 000364' 000366' 000372 1 000374' 000374 1 000376 1 000376 1 000400' 17:30 PAGE 19-7 SEQ 0114 LET R2 .- #0 005002 LET RO .- #L6.BUF 012700 000000' LET R1 012701 .- #L6.TAB 000020' CLR R2 MOV #L6.BUF,RO MOV #L6.TAB,R1 CMP BEQ R2,#L6.STO 50005$ MOV 11.10 v MJV JSR MOV R5,-(SP) ( R 1 ) + , - ( R5 ) (RO)+,-(R5) PC,BO.\16 (SP)+,R5 WHILE R2 NE #L6.STO DO 50004$: 020227 001410 000010 CALL BOA16 IN «RO)+,(R1)+> 0105413 012145 012045 004767 012605 OOOOOOG INLINE TSTB (R2)+ 105722 ENODO 000765 BR 50004$ MJV DTABLE(R5),RO MOV MOV MJV MGV MOV JSR MOV R5,-(SP) #3$,-(R5) #L6.MSG,-(R5) hMSGPOP,-(R5) RO,-(R5) PC,MSGDHOOK (SP)+,R5 2$: NOP BR 2$ 50005$: ;+ ; DUTPUT MESSAGE ;- 000400 1 000400' 000404' 000404' 000406' 000412' 000416' 000422 1 000424' 000430 1 000432' 000432 1 000434 1 000434 1 LET RO .- DTABLE(R5) 016500 000000 CALL MSGDHOOK IN 010545 012745 012745 012745 01004:3 004767 01260:3 000436' 000040' 000002 OOOOOOG INLINE <2$: NOP> INLINE
000240 000776 ;+ ; RESTORE REGISTERS AND RETURN , .000436' 000436' 000436 1 000436' 004767 000442' 000442 1 000442' 000442' 000207 OOOOO~ INLINE <3$:> 3.$: CALL RESREG OOOOOOG JSR PC,RESREG RTS PC ENDRTN 50000$: 50001$: .END MACY11 30A(1052) BLOG60 BINDER FOR 11/60 ERROR LOG ROUTINES SYMbOL TABLE 05-JUL-78 08:58 BLOG60.MAC ACSR 000102 ACTBIT= 004000 ADD~22= 001000 ADR 000006 ArT;--ER= 000004 APT?RE= 000200 t.SS 00O~06 ASS:::MB= OC0010 ASTAT = 00C104 AUTO 000010 AUTOST= 020000 AlvAS 000110 00C001 BITO GITOO 000001 8IT01 000002 BIT02 000004 BIT03 000010 81i04 000020 BIT05 000040 BIT06 000100 BIT07 000200 BIT08 000400 RIT09 001000 81i1 000002 BIT10 002000 BIT 1 1 004000 3IT 12 010000 81T13 020000 B1T14 040000 81T15 100000 81T2 000004 81-;-3 000010 81T4 OC0020 8175 000J40 OJ0100 BITG BIT7 000200 000':;00 BITS BIT9 001000 BKDEF 000002 i3KiV,OD 000020 SKl\iODE= 040000 SKSLSH= 000134 BOA16 = ***>1'** G CAPRES= 000004 CASTAT= 00C004 CDtRCT= 000146 CDviDCT = 000144 CKTIM = 100000 CLKPRE= 000001 CONFIC1= 000056 CQOVF 000001 000015 CR CSRA 000100 CSRC CTRLC CTRLO CTRLU DCEVNT= DEFRTN= DlAG-MC= DROPMO= DSEVNT= DTA8LE= DT.ADD= DT.AP = DT.APK= DT.BLS= DT.CFO= DT.CF1= DT.ERR= DT.ESl= DT.EVN= DT.EXS= DT.FCH= DT.FCN= DT.HMX= DT.KSE= DT.KBP= DT.KBR= DT.KBU= DT.MLS= DT.MTI= DT.QFF= DT.PAS= DT.?C = DT.PFL= DT.PSW= DT.PTA= DT.RCS= DT.REL= DT.SCT= DT.SMX= DT.SP = DT.SS1= DT.STO= DT.ST1= DT.SWR= DT.SYP= DT.WBU= DT.WHL= DT.WLL= DVID1 = ECCMEM= ECCSTA= ENBEOP= ENBNUL= 000102 000003 000017 000025 000011 000400 000000 100000 000014 000000 000042 000100 000076 000034 000014 000016 000020 000044 000000 000060 000037 000036 000104 000024 000026 000022 000030 000032 000110 000070 000074 000002 000062 000004 000064 000102 000040 000066 000106 000006 000046 000010 000012 000056 000072 000050 000054 000052 000014 000100 000010 010000 000001 ENDLST= EOPBIT= ERRLOG ERRTYP= EVNTBE= EVNTHD= EVNTKT= EVNTPE= EVNTRE= FATERR= HRDCNT= HRDPAS= ICONT = lCOUNT= IDNUM = IE lERRLO lNDPAR= lNHDRP= INHEPR= INHREL= lNHRRE= INIT INTR lOMOD IOMODP= lOMODR= IOMODX= JACK KlPARO= KIPAR1= KIPAR2= KlPAR3= KIPAR4= KIPAR5= KIPAR6= KIPAR7= KIPDRO= KlPDR1= KIPDR2= KIPDR3= KIPDR4= KIPDR5= KIPDR6= KIPDR7= KTERRO= KTPRES= KTSTAT= KTXTND= LF LPSTAT= L6.BUF L6.CDA ~0-SEP-78 000000 000001 0OO300RG 000105 000200 000200 000203 000202 000201 100000 000044 000050 000036 000040 000122 000100 000256RG 000040 040000 020000 001000 000400 000030 000~20 100000 102000 112000 110000 035060 172340 1723£;2 172344 172346 172350 172352 172354 172356 172300 172302 172304 17L306 172310 172312 172314 172316 000040 000400 0000:0 040000 000012 000001 OOOOOOR 000223R 17:30 PAGE 20 SEQ 0115 L6.CTA L6.CUA L6. ENB= L6. F LG L6.JAM L6.MSG L6.0FF= L6.PBA L6.SRV L6.SiO= L6.TAB L6.WHA MAPSTA= MED MEMPAS= MODEXH= MODHOL= MODSEL= MSGCKD= MSGCKS= MSGDER= MSGDHO= MSGDRP= MSGECH= MSGEOP= MSGHDR= MSGHNG= MSGHRD= MSGf't.AP= MSGNUL= MSGPOP= MSGPRM= MSGRES= MSGSFT= MSGSKE= MSGSMB= MSGSMH= MSGSMS= MSGSTD= MSGSYS= MSGVEC= N8KMOD= NCPUOP= NOAPTY= NULL OItJEN PAERR PARPRE= PARSTA= PASCNT= PDPLSI= PDP60 PDP70 = 000246R 000140R 100001 000163R 000066R 000040R 000100 000122R 000104R 000010 000020R 000203R 000200 076600 040000 OO·~OOO 002000 001000 000010 000011 000005 ****** G 000017 177777 000013 000004 000022 00·)007 000021 177775 000002 177776 000001 00)006 000003 000015 00')014 000016 000000 000012 000020 001000 000020 000002 000000 0240LO 000010 002000 000100 000034 020000 004000 010000 PRIO PR 11 PRI4 PRI5 PRI6 PRI7 PRO PR4 P~5 PR6 P<:<7 PS PSW RANNU:v!= RBUFEA= RBUFPA= RSL! FSZ= RBUFVA= R::JSERV= RDWHMI= RELERR= RELMOD= RELTIM= RESREG= RES1 RES2 RICHAR= RPTDAT= RSTRT = RU80UT= RUNMQD= R5VALU= SAM SAVREG= S9ADR = SBKr,10D= SBKSEL= SC.ADR= SC.ALC= SC.APC= SC.CKL= SC.CKP= SC.CLO= SC.HLD= SC.SCA= SENDLS= SOFCNT= SOF;JAS= SPACE = SPOINT= SPVALU= SRO SR1 OOCOOO 00C040 000200 000240 000300 000340 000000 000200 000240 000300 000340 1777713 177776 000054 000130 000126 000132 000124 000101 000022 000020 020000 010000 ****** G 000056 000060 031060 002000 000112 000177 100000 001740 075464 ****** 000102 000000 010000 000006 000014 000016 000002 000004 000000 000010 000012 177777 000042 000046 000040 000032 002200 177572 177574 G MAC'( 11 30A(1052) BL.OG60 BINDER FOR 11/60 ERROR lOG ROUTINES SYMBOL TABLE 05-JUl-78 08:58 BLOG60.MAC SR2 SR3 STAT STATBI= STAT1 = SUSPND= SVRO SVR1 SVR2 SVR3 SVR4 SVR5 SVR3 SYSCNT= SYSERR= HIIPIO :: TQOVF = UIP.6.RO= UIPAR1= LJIPA.R2= UIPAR3= ASS. UIPAR4= UIPAR5= UIPAR6= UIPAR7= UIPDRO= UIPDR1= UIPDR2= UIPDR3= UIPDR4= UIPDR5= UIPDR6= UIPDR7= WASADR= WBSTAT= WBUFEA= WBUFPA= W8UFRQ= WBUFSZ= 177650 177652 177654 177656 177600 177602 177604 177606 177610 177612 177614 177616 000104 000040 000136 000134 000140 000142 \~DFR 000116 000114 WOrD WTINRE= 000352 177576 172516 000026 06C,757 000027 000001 0:)0062 000064 000066 000070 000072 (100074 oe0076 00C052 000100 000002 000002 177640 177642 177644 177646 000000 000444 000 OOi ERRORS DETECTED: 0 DEFAULT GLOSALS GENERATED: 0 DSKZ:BLOG60,DSKZ:BLOG60=SPMAC/ML,EQUATE,BLOG60 RUN-TIME: 13 3 .3 SECONDS RUN-TIME RATIO: 36/16=2.1 CORE USED: 14K (27 PAGES) WTWHMI= XFlAG = XOFF XON $BGN LE= $ERFLG= $F$AND= $F$BAD= $F$SLA= $F$CAS= $F$DEC= $F$DO = $F$FAL= $F$GOO= $F$IF = $F$INC= $FSLOO= $F$NAM= $F$NO = $F$OR = $F$RTI= 000222 00,)005 000023 000021 177777 OOO~OO 000310 000401 000170 000150 000220 000340 000405 000400 000110 OC0210 000200 000160 000403 000320 000350 20-SEP-78 17:30 PAGE 20-1 $F$RTN= $F$SEL= $F$THE= $F$TRU= $F$UNT= $F$WHI= $F$YES= $IFLEV= $LOCTA= $LSTIN= $LSTTA= $NESTL= $NSKO = $NSK1 = $SAVLE= $SSKO = $TAGlE= STAGNU= $TEMP $TSKO $TSK1 = 000300 000140 000330 000404 000130 000120 000402 177777 177777 000001 000001 177777 000300 000120 177777 050005 177777 050006 000300 050004 050005 SEQ 0116 $$ARGC= $$8,(TE= $$CASE= $$D5T = $ $E LOC: $$ERFl= $$FLAG= $$FROM= $$LOC : $$LOCN= $$REG = $$RETU= $$R7N1= $$RiN2= $$SRC = $$TGSV= $$TGS1= $$TGS2= $$TO $$$TAG= 000002 000403 000000 000000 000000 000000 000340 000000 0OO3:,6R 000000 177777 000000 050000 050001 000000 OOOOO~ 000000 000000 000000 050000 000444R .MAIN. WoACY11 30A(1052) 20-SEP-78 [QUATE.MAC 13-SEP-78 16:13 3 530 S33 575 G22 642 G90 17:31 TABLE OF CONTENTS COMMON EOU~TE MODULE COMMON DEFINITIONS AND REFERENCES 000000' .PRINT ;SPMAC: VERSION 1.1 IERRLO INITIALIZE 11/70 REGISTERS AND ERROR LOG INITIALIZE 11/70 REGISTERS ROUTINE ERRLOG 11/70 ERROR LOGGING 11/70 ERROR LOG ROUTINE SEQ 0117 BLOG70 BINDER FOR ERR LOG MODULES BLOG70.MAC 06-SEP-78 15:53 508 509 510 511 512 513 514 515 :516 517 518 ~19 520 521 522 523 524 525 526 MACY11 30A(1052) 20-SEP-78 COMMON EQUATE MODULE 17:31 PAGE 19 SEQ 0118 .TITLE BLOG70 BINDER FOR ERRLOG MODULES .IDENT JVO.Oj j++ MODULE PACKAGE NAME: SLOG70 FUNCTIONAL DESCRIPTION: THIS IS A BINDER TO KEEP ERRLOG MODULE TOGETHER. CONTAINS FOLLOWING MODULES: IERRLO - INITIALIZE 11j70 ERROR LOG ERRLOG - 11/70 ERROR LOG VERSION: 0.0 EDIT CATE BY REASON MACY11 30A(1052) 20-SEP-7e COMMON EQUATE MODULE BLOG70 BINDER FOR ERRLOG MODULES BLOG70.MAC 06-SEP-78 15:53 528 529 530 531 532 533 ( 1) 534 535 536 537 538 539 540 541 542 543 544 545 346 547 548 549 550 551 552 553 554 55S 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 17:31 PAGE 19-1 SEQ 0119 .SBTTL COMMON DEFINITIONS AND REFERENCES .MCALL STRUCT STRUCT .PRINT ;SPMAC: VERSION 1.1 $LSTIN = 1 $LSTTAG = 1 000000 1 000000 1 000001 000001 ;****************** ; REFERENCED BY OTHER MODULES .GLOBL .GLOBL ;MODULE ENTRY POINT ;MODULE ENNTRY POIJNT IERRLO ERR LOG ;**************** ; GLOBAL REFERENCES .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GL03L .GLOBL .GLOBL .GLOBL ;CONVERT TO OCTAL ASCII (16 BITS) ;CONVERT TO OCiAL ASCII (22 BITS) ;MESSAGE HOOK ROUTINE ;CONTROL REGISTE~ (CACHE) ;TEMP STORAGE FOR CACHE OPERATION ;LOW ERROR ADDRESS REGISTER ;HIGH ERROR ADDRESS REGISTER ;MEMORY SYSTEM ERROR REGISTER ;MAINTENANCE REGISTER ;CPU ERROR REGISTER BOA16 BOAC MSGDHOOK CCNTRL KONTRL CPULAR CPUHAR CPUMER CPUMNT CPUCPE ;******w*****¥*** ; LOCAL MESSAGES 000000 1 000000 1 000006 1 000014 1 OJ0020 1 000026 1 000033 1 000041 I 000046'1 000054 1 000056 1 0000641 L7.MSG: 030445 042440 OL; 604 J 046445 042522 000003 04J 04:2525 020057 027461 051122 043517 04G505 027507 030067 051117 . ASCII 1%11/70 ERROR LOG ' 0511C5 040 .ASCII '%MEMERREG/ L7.MED: 050103 043505 .BLKB .ASCII ~D<6> 020040 051122 L7.CED: .BLKB .ASCIZ ooooe6 000045 00C066 1 042101 000074 1 000010 000104 1 000045 051104 020057 L 7. MS 1 : L7.ADR: .ASCII .BLKB .ASCIZ .EVEN I CPUERREG/ 1 . . D<6> /%/ 'ADDR/ . . D<8> /%/ I SLOG70 BINDER FOR ERR LOG MODULES BLOG70.MAC OG-SEP-78 15:53 574 575 576 577 573 579 580 581 582 583 584 585 583 587 5Ba 583 590 591 592 593 594 595 596 597 593 599 500 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 MACY11 30A(1052) 20-SEP-78 17:31 caM~ON DEFINITIONS AND REFERENCES PAGE 19-2 SEQ 0120 .SBTTL IERRLO INITIALIZE 11/70 REGISTERS AND ERROR LOG .IDENT JVO.Oj ;++ MODULE NAME: IERRLO FUNCTIONAL DESCRIPTION: THIS ROUTINE WILL INITIALIZE THE FOLLG~ING REGISTERS: MEMORY SYSTEM ERROR REGISTER CPU EhROR REGISTER LOW ERROR ADJRESS REGISTER HIGH ERROR ADDRESS REGISTER MAINTENANCE REGISTER CONTROL REGISTER (CACHE) INPUTS: NONE IMPLICIT INPUTS: NONE OUTPUTS: NONE IMPLICIT OUTPUTS: NONE PATHOLOGICAL CONNECTIONS: NONE SUBORDINATE ROUTINES CALLED: NONE FUNCTIONAL SIDE EFFECTS: NONE CALLING SEQUENCE: CALL IERRLO VERSION: 0.0 EDIT DATE BY REASON 5L0870 BINDER FOR ERR LOG MODULES BLOG70.MAC 06-SEP-78 15:53 621 622 623 624 (2) G25 626 627 628 629 MACYll 30A(1052) 20-SEP-78 17:31 PAGE 19-3 IERRLO INITIALIZE 11/70 REGISTERS AND ERROR LOG .SBTTL INITIALIZE 11/70 REGISTERS ROUTINE 000106 000106 1 ROUTINE IERRLO IERRLO: 1 ;+ ; INITIALIZE THE 11/70 REGISTERS; MEMORY SYSTEM ERROR, ; HIGH ADDRESS, CONTROL, MAINTENANCE AND CPU ERROR (530 G31 (4 ) 632 (4) 633 (4 ) 634 (4) 635 (4 ) 335 (4 ) 637 633 (3 ) (3 ) (2 ) 639 SEQ 0121 000106' OC0106' 000114 1 000114' 000120' C00120 1 000124' 000124' 000132 1 000132' 000136' 00C13f)' 000142 000142 000142 000142 017777 005077 005077 ·- @CPUMER LET @CP~LAR ·- #0 LET @lCPUHAR ·- #0 OOOOOOG OOOOOOG LET @CCNTRL 016777 OOOOOOG OOOOOOG LET @CPUCPE 005077 OOOOOOG LET @CPUMNT 005077 1 ···- ER~OR ADDRESS, MOV @CP.Ul\,lER ,@CPUMER CLR @lCPULAR CLR @lCPUHAR MOV f~ONTRL,@CCNTRi. CLR @CPUCPE CLR @lCFUMNT RTS PC KONTRL #0 #0 OOOOOOG ENDRTN 1 50000$: 50001$: 1 1 LET @CPUMER OOOOOOG OOOOOOG LOW 000207 BLOG70 BINDER FOR ERR~OG MODULES BLOG70.MAC 06-SEP-78 15:53 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 563 664 665 666 667 668 669 670 671 672 673 674 675 67E 677 678 679 680 681 682 683 684 685 686 687 MACY11 30A(1052) 20-SEP-78 17:31 INITIALIZE 11/70 REGISTERS ROUTINE .SBTTL ERRLOG .IDENT IVO.O/ PAGE 19-4 SEQ 0122 11/70 ERROR LOGGING ;++ MODULE NAME: ERRLOG FUNCTIONAL DESCRIPTION: THIS MODULE WILL OUTPUT THE CONTENTS OF ~HE MEMORY SYSTEM ERROR REGISTER(17777744) AND THE CPU ERROR REGISTER(17777766). IF A PARITY ERROR OCCURRED THEN A 22 BIT ADDRESS IS ALSO OUTPUTTED, THE ADDRESS IS GE~ERATED FROM THE LOW ERROR ADDRESS REGISTER (17777740) AND THE HIGH ERROR ADDRESS REGISTER (17777742) INPUTS: DTABLE IMPLICIT INPUTS: DT.EVNT - EVENT WORD OF DTABLE OUTPUTS: NONE IMPLICIT OUTPUTS: NONE PATHOLOGICAL CONNECTIONS: NONE SUBORDINATE ROUTINES CALLED: BOA16 - OCTAL TO ASCII CONVERSION (16 BITS) BOAC - OCTAL TO ASCII CONVERSION (22 BITS) MSGDHOOK- MESSAGE HOOK ROUTINE FUNCTIONAL SIDE EFFECTS: NONE CALLING SEQUENCE: CALL ERRLOG IN
A --ADDRESS OF DTABLE VERSION: 0.0 EDIT DATE BY REASON BLOG70 BINDER FOR ERR LOG MODULES 06-SEP-78 15:53 BLOG70.MAC 689 690 691 692 (2 ) 693 694 595 693 697 698 699 (2 ) (3) 700 701 (4) 702 (4) 703 704 705 706 707 703 709 ( 3) ( 5) (4 ) (3 ) (3 ) 710 711 712 713 714 715 716 (3 ) (5 ) (4 ) (3 ) (3 ) 717 718 719 720 721 722 (3 ) (7 ) (6) (5 ) (4) (3 ) (3 ) MACY11 30A(1052) 20-SEP-78 ERRLOG 11/70 ERROR LOGGING 17:31 PAGE 19-5 SEQ 0123 .SSTTL 11/70 ERROR LOG ROUTINE ROUTINE ERRLOG 000144 1 000144 1 ERRLOG: ;+ ; SAVE REGISTERS, GET DTABLE AND EVENT CODE PUSH RO,R1 000144' 000144' 0100·Q6 000146 1 010146 000150' 000150' 016500 000154 1 000154' 016001 LET RO .- DTABLE(R5) 000000 LET R1 .- DT.EVNT(RO) 000000 MOV 1\10V RO,-(SP) R1 , - ( S P ) MOV DTABLE(R5),RO MOV DT.EVNT(RO),R1 ;+ ; CONVERT MEMORY SYSTEM ERROR REGISTER CONTENTS TO OCTAL ASCII AND ; LOAD INTO MESSAGE 000160' 000160' 000162' 000166' 000172' 000176 1 CALL BOA16 IN <@CPUMER,#L7.MED> 010546 012745 017745 004767 012605 000033 1 OOOOOOG OOOOOOG MOV MOV MOV JSR MOV R5,-(SP) #L7.MED,-(R5) @CPUMER,-(R5) PC,BOA16 (SP)+,R5 MOV MOV MOV JSR MOV R5,-(SP) #L7.CED,-(R5) @CPUCPE,-(R5) PC,BOA16 (SP)+,R5 MOV MOV WOV MOV MOV JSR MOV R5,-(SP) #2$,-(R5) #L7.MSG,-(R5) #MSGPOP,-(R5) RO,-(R5) PC,MSGDHOOK (SP)+,R5 ;+ ; CONVERT CPU ERROR REGISTER CONTENTS TO OCTAL ASCII AND LOAD ; I NTO MESSAGE 000200' 000200' 000202' 000206 1 000212' 000216 1 CALL BOA16 IN 010546 012745 017745 004767 012605 <@CP~CPE,#L7.CED> 000056' OOOOOOG OOOOOOG ;+ ; OUTPUT MESSAGE 000220 1 000220' 000222' 000226' 000232' 00,J236 1 000240' 000244 1 CALL MSGDHOOK IN 010546 012745 012745 012745 010045 004767 012605 000252 000000 000002 1 1 OOOOOOG SLOG70 BINDER FOR ERR:"'OG MODULES 06-SEP-78 15:53 BLOG70 .MA.C 723 (2 ) 724 (2 ) 725 726 727 728 729 000246' 000246' 00024,) 000250' 000230' 000776 MACY11 30A(1052) 20-SEP-7e 11/70 ERROR LOG ROUTINE INLINE <1$: Nap> INLINE
17:31 PAGE 19-6 SEQ 0124 1$: NOP BR 1$ ;+ ; DETERMINE IF PARITY ERROR OCCURED, IF SO, CONVERT THE 22 BIT ADDRESS CONTAINED ; IN LOW AND HIGH ERROR ADDRESS REGISTERS TO OCTAL ASCII AND OUTPUT MESSAGE 730 731 (2 ) 732 (6 ) (9 ) 733 (3) ( 7) (6) (5) (4 ) (3 ) (3 ) 734 735 ( 3) (7 ) (6) (5) (4 ) ( 3) (3 ) 736 (2 ) 737 (2 ) 738 739 (4) 740 741 742 743 744 745 (2 ) 746 (2 ) (3 ) 747 748 (3 ) (3 ) 000252' OC0252' C'00252 ' C00252' 000256' COCr260' 000260' 000262' 000266' 000272' 000276' 000300' 000304' 000306' 000306' 000310' 000314' 000320' 000324' 000326' CC0332' 000334' 000334' 000336' 000336' INLINE <2$:> 2$: IF #EVNTPE EO R1 THEN 022701 001030 010546 01274::; 01774::; 01774::; 010045 004767 012605 000202 #EVNTPE,R1 50002$ MOV R5,-(SP) #L7.ADR,-(R5) @;CPUHAR.-(R5) @CPULAR,-(R5) RO,-(R5) PC,BOAC (SP)+,R5 CALL BOAC IN MOV MOV MOV MOV JSR MOV 000074' OOOOOOG OOOOOQG OOOOOOG CALL MSGDHOOK IN 010546 012745 012745 012745 010045 004767 012605 CMP BNE MClV MOV MCJV JSR MOV R5,-(SP) #4$,-(R5) #L7.MS1.-(R5) #MSGPOP,-(R5) RO,-(R5) PC,MSGDHOOK (SP)+,R5 3$: NOP MOV MOV 000340' 000066' 000002 OOOOOOG INLINE <3$: NOP> INLINE < BR 000240 ~$> BR 000776 ENDIF 000340' 000340' 50002$: ;+ ; RESTORE REGISTERS AND RETURN INLINE <4$:> 000340' 000340' 00C340' 000340' 012601 000342' 012600 POP R 1 ,RO 000344' ENDRTN 000344' (2 ) 000344' 000344' 00C207 749 750 00000·1 . END 4$: Mev MOV ( 5 P ) + , R1 (SP)+,RO RTS PC 50000$: 50001$: 3$ MACY11 30A(1052) SYMSOL TABLE CL0370 BINDER FOR ERR_OG MODULES 06-SEP-78 15:53 BLOG70.MAC ACS.~ 00010L ;:'CTBIT= 004000 ADD~22= 001000 ADR 000006 APTFER= 000004 APT ,:lRE= 000200 ASB 000106 /\SSEM8= COO010 ASTAT = 000104 t.UT J 000010 :'UTOST= 020000 AlvAS 000110 GITO GOOOOl 000001 BITOO BITOl 000002 81T02 000004 [31,03 000010 BlT04 000020 8 ITO 5 .= 000040 [3 IT06 000100 3IT07 000200 BIT08 000400 BIT09 001000 BIT1 000002 BIT10 002000 :3 IT 11 004000 [3IT12 01COOO 020000 13 I T 13 81T14 04:JOOO [31T15 100000 3IT2 000004 [3 I T 3 000010 :31T4 000020 000040 '31 T5 SIT6 000100 SIT7 000200 000400 3ITB (J0100C 3:T9 3r\DEF 00000~ 3r(rv;OD 000:')20 Gi':I:ODE = o~oooo t3KSLSH= 000134 80l\C ****** BOA16 = *"''"'*** CAPRES= 000004 CASTA,= 000004 CCNTRL= ****** CDERCT= 000146 cm'-lDCT= 000144 CKTIM = 100000 CLKPRE= 000001 COI\FIG= 000056 CPLJCPE= ****** G G G G CPUHAK= CPULAR= CPUMER= CPUMNT= CQOVF CR CSRA CSRC CTRlC CTRLO CTRLU DCEVNT= DEFRTN= DI AG:v~C == DROPMO= DSEVNT= DTABLE= DT.ADD= DT.A.P = DT.APK= DT.BLS= DT.CFO= DT.CF1= DT.ERR= DT.ESI= DT.EVN= DT.EXS= DT.FCH= DT. FCt-.J= DT.HMX= DT.KBE= DT.K3P= DT.KBR= DT.KBLJ= DT.MLS= DT.MTI= DT.OFF= DT.PAS= DT.PC =: DT.PFL= DT.PSW= DT. PT A= DT.RCS= DT.REL= DT.SCT= DT.SMX= DT.SP = DT.SSI= DT.STO= DT.ST1= DT.SWR= DT.SYP= DT.WBU= ****** ****** ****** ****** OCOO01 000015 000100 000102 000003 000017 000025 00001 1 000400 000000 100000 000014 000000 000042 000100 000076 000034 000014 000016 000020 000044 000000 000060 000037 000036 000104 000024 000026 000022 000030 000032 OC0110 000070 000074 00C002 000062 000004 000064 000102 000040 000066 000106 000006 000046 000010 000012 000056 000072 000050 G G G G 20-SEP-n: DT.WHL= DT.WLl= DVID1 = ECCMEM= ECCSTA= ENBEOP= ENBNUL= ENDLST= EOPBIT= ERRLOG ERRTYP= EVNTBE= EVNTHD= EVNTKT= EVNTPE= EVNTRE= FATERR= HRDCNT= HRDPAS= ICONT = ICOUNT= IDNUM = IE IERRlO INDPAR= INHDRP= INHEPR= INHREL= INHRRE= INIi INTR rOMOD IOMODP= IOMODR= IOMODX= JACK KIPARO= KIPAR1= KIPAR2= KIPAR3== KIPAR4= KIPAR5== KIPAR6= KIPAR7= KIPDRO= KIPDR1= KIPDt<2= KIPDR3= KIPDR4= KIPDR5= KIPDR6= KIPDR7= KONTRL= 17: 31 PAGE 20 SEQ 0125 000054 000032 000014 000100 000010 010000 000001 000000 000001 000144RG 000106 000200 000200 000203 000202 000201 "100000 000044 000050 000036 000040 000122 000100 000106RG 000040 040000 020000 001000 000400 000030 000120 100000 102000 1120(;0 110000 0350fO 1723--10 172342 172344 172346 172350 172352 172354 172356 172300 172302 172304 172306 172310 172312 172314 172316 ****** G KTERRO= KTPRES= KTSTAT= KTXTND= IF LPSTAT= l7.ADR L7.CED l7.MED L7.MSG L7.MSl MAPSTA= MED MEMP,l.S= MODEXH= MODHOL= MODSEL= MSGCKD= MSGCKS= MSGDER= MSGDHO= MSGDRP= MSGECH= MSGEOP= MSGHDR= MSGHNG= MSGHRD= MSGMAP= MSGNUL= MSGPCP= MSGPRM= MSGRES-= MSGSFT= MSGSKE= MSGSM8= MSGSri1H== MSGS1V:S= MSGSTD= MSGSYS= MS::;VEC= NBKMOD= NCPLJOP= NOAPTY= NULL OWEN PAERR PARPRE= PARSTA= PASCNT= PDPlSI= PDP60 PDP70 PRIO PRI1 PRI4 PRI5 PRI6 PRI7 PRO PR4 PR5 PR6 PR7 000040 000400 000020 040000 000012 000001 00OO74R 000056R 000033R OOOOOOR 000066R 000200 07i)600 040000 004000 002000 001000 000010 00)011 000005 **'i<'~** 000017 177777 000013 000004 000022 000007 000021 177775 000002 177776 000001 000006 000003 000015 000014 000016 000000 000012 000020 001000 000020 000002 000000 024020 000010 002000 000100 000034 02JOOO 004000 010000 000000 PS G PSW RANNUM= RBLJFEA= R3UFPA= RaGFSZ= RBUFVA= RDSERV= RDi'lhMI= RELERR= RELMOD= RElTIM= RES1 RES2 RICHAR= RPTDAT= RSTRT = RUBOUT= RUNr,~OD= RSVALU= SAM SBACR = S ~Krv'OD= S3r.:SEL= SC.ADR= SC.ALC= SC.APC= SC.CKL= SC.CKP:.: SC.ClO= SC.HLD= SC.SCA= SENDLS= SGFCNT= SOF?AS= SPACE = SPOINT= SPVALU= SRO SR1 SR2 SR8 STAT 000040 000200 000240 000300 000340 000000 000200 00024) 000300 000340 177776 177776 000054 000130 000126 000132 000124 000101 000022 000020 020000 010000 000056 000060 031060 002000 000112 000177 100000 001740 075464 000102 000000 010000 000006 000014 000016 000002 000004 000000 000010 000012 177777 000042 000046 000040 000032 002200 177572 177574 177576 172516 000026 5LOG70 BINDER FOR ERRLOG MODULES BLOG70.MAC 06-SEP-78 15:53 STATBI= STAT1 = SUSPND= SVR() SVR1 SVR2 SVR3 S\/R4 SVR5 SVRG S 'is·::;NT = SYSERR= 1 r.1p 10 = TQOVF == UIPARJ= UIPAR1= LlIPAR2= UIPAR3= 064757 000027 000001 000062 000064 000066 000070 000072 00C074 000076 00(052 000100 000002 000002 177640 177642 177644 177646 JIPAR~= 177650 UIPAR5= 177652 UIPAR6= 177654 ASS. 000000 000346 UIPAR7= UIPDR()= UIPDR1= UIPDR2= UIPDR3= UIPDR4= UIPDR5= UIPDRG= UIPDR7= ~JASADR= vJBSTAT= WCUFEA= WBUFPA== WBUFRQ= wBUFSZ= WDFR vJDTO vlTINRE= WTWH~1I1 XFLAG XOFF = 177656 177600 177602 177604 177606 177610 177612 177614 177616 000104 000040 000136 000134 000140 000142 000116 000114 000352 000222 000005 000023 000 001 ERRORS DETECTED: 0 GLOBALS GENERATED: DEFA~LT MACY 11 30A(1052) SYMBOL TABLE 0 DSKZ:BLOG70,DSKZ:BLOG70=SPMAC/ML,EQUATE,SLOG70 RUN-TI~E: 12 2 .4 SECONDS RUN-TIME RATIO: 39/16=2.3 CORE USED: 14K (27 PAGES) 20-SEP-78 XON $BGNLE= $ERFLG= $F$AND= $F$BAD= $F$BLA= $F$CAS= $F$DEC= $F$DO = $F$FAL= $F$GOO= $F$IF = $F$INC= $F$LOO= $F$NAM= $F$NO = $F$OR = $F$RTI= $F$RTN= $F$SEL= $F$THE= 17:31 PAGE 20-1 SEQ 0126 000021 177777 000400 000310 000401 000170 000150 000220 000340 000405 000400 000110 000210 000200 000160 000403 000320 000350 000300 000140 000330 $F$TRU= $F$UNT= $F$'v.'HI= $F$YES= $IFLEV= $ISKO = $LOCTA= $LSTIN= $LSTTA= $NESTL= $NSKO = $NSK1 = $SAVLE== $TAGLE= $TAGNU= $TEMP = $TSKO = $$ARGC= $$BYTE= $$CASE= $$DST = 000404 000130 000120 000402 177777 000001 177777 000001 000001 177777 000300 000110 177777 177777 050003 000300 05J002 000002 000403 000000 000000 $$ELOC= $$ERFL= $$F LAG= $$FROM= $$LOC = $$LOCN= $$REG = $$RETU= $$RTN1= $$RTN2= $$SRC = $$TGSV= $$TGS1= $$TGS2= $$TO $$$TAG= 000402 000000 000001 000000 000256R 000000 177777 OOQOOO 050000 050001 000000 000000 000000 000000 000004 05000J 000346R .MAIN. MACV11 30A(1052) 20-SEP-78 EQUATE.MAC 13-SEP-78 16:13 3 563 566 584 CCMMON EQUATE MODULE GPA (COMMON DEFINITICNS 000000' GPA (CODE) 17:31 TABLE OF CONTENTS & REFERENCES) .PRINT ;SPMAC: VERSION 1.1 SEQ 0127 GPA (GET PHySICAL ADDRESS) GPA.MAC :28-JUL-78 09:08 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 53S 540 541 54~ 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 MACY11 30A(1052) 20-SEP-78 17:31 COMMON EQUATE MODULE PAGE 19 SEQ 0128 .TITLE GPA (GET PHYSICAL ACDRESS) .IDENT IVO.Oj ;++ MODULE NAME: GPA FUNCTIONAL DESCRIPTION: THIS MODULE DETERMINES THE 16-BIT, 18-BIT OR 22-BIT PHYSICAL ADDRESS FROM THE 16-BIT VIRTUAL ADDRESS GIVEN. IF 18-BIT ADDRESS, THE TOP :2 BITS ARE ALLIGNED TO POSITIONS 4 & 5 OF THE EA WORD. IF 22-BIT ADDRESS SYSTEM, THE TOP 6 BITS ARE RIGHT JUSTIFIED IN THE EA WORD. INPUTS: 1. DTABlE 2. TABLE ADDRESS CONTAINING VA,PA,EA WORDS VIRTUAL ADDRESS WHERE VA PHYSICAL ADDRESS PA EXTEI\:DED ADDRESS EA IMPLICIT INPUTS: 1. DT.CFO 2. DT.STO OUTPUTS: NONE IMPLICIT OUTPUTS: 1. PHYSICAL ADDRESS WORD 2. EXTENDED ADDRESS BITS WORD PATHOLOGICAL CONNECTIONS: NONE SUBORDINATE ROUTINES CALLED: SAVREG RESREG FUNCTIONAL SIDE EFFECTS: NONE CALLING SEQUENCE: CALL GPA IN WHERE DT DTABLE ADDRESS TBl = TABLE ADDRESS (CONTAINS VA,PA,EA WORDS) VERSION: 0.0 EDIT DATE BY REASON GPA (GET PHYSICAL ADDRESS) GPA.MAC 28-JUL-73 09:08 .SBTTL GPA (COMMON DEFIN1TIONS & REFERENCES) 563 564 565 5E6 ( 1) 567 568 MACY11 30A(1052} 2C-SEP-78 17:31 PAGE 19-1 GPA (COMMON DEFINITIONS & ~EFERENCES) 000000' 000000' 000001 000001 .MCALL STRUCT STRUCT .PRINT ;SPMAC: VERSION 1.1 $LSTIN=1 $LSTTAG=1 569 570 571 572 ;**~************* ; REFERENCED BY OTHER MODULES 573 574 .GLOBL GPA 575 ;**************** 576 577 ; GLOBAL REFERENCES: 578 579 580 581 582 .GLOSL .GLOBL SAVRi:G RESREG ;MODULE ENTRY POINT SEQ 0129 GPA (GET PHYSICAL ADDRESS) 28-JUL-78 09:08 GPA.MAC 584 585 586 (2 ) 587 588 589 590 591 592 (3 ) 593 (4 ) 594 (4 ) 595 596 597 598 599 600 601 602 (4 ) 603 604 605 506 607 608 (6 ) ( 9) 609 (4 ) 610 611 (4 ) (3 ) 612 613 614 615 616 617 618 619 (6 ) 620 (7 ) ( 7) (7 ) (7 ) 621 (6 ) 622 (6) 20-SEP-78 MACY11 30A(10S2) GPA (CODE) 17:31 PAGE 19-2 SEQ 0130 .S8TTL GPA (CODE) 000000 1 000000 1 ROUTINE GPA GPA: ;+ ; SAVE REGS, GET DTABLE ADDRESS AND TABLE ADDRESS ., 000000 1 000000 1 004767 0000041 000004' 016500 000010 1 000010' 016501 CALL SAVREG OOOOOOG LET RO .- DT(R5) LET Rl .- TBl(R5) 000000 000002 JSR PC,SAVREG MOV DT (R5) ,RO MOV TBL(RS) ,Rl ;+ ; FETCH VIRTUAL ADDRESS FROM FIRST WORD OF USER SUPPLIED TABLE ; AND lOAD INTO THE PHYSICAL ADDRESS WORD (2ND WORD OF USER SUPPLIED ; TABLE) . , lET ( R1) 0000141 000014' 012111 .- (R 1 ) + MOV (Rl}+,(Rl) BIT BNE #KTSTAT,DT.STO(R 50002$ CLR 2 (R 1 ) BR 50003$ SWAB ( R1 ) ASR ASR ASR ASR (R 1 ) ( R1 ) ( R1 ) (R 1 ) BIC #177761,(R1} ADD #KIPARO,(R1) ;+ ; IF KT IS NOT ON, CLEAR EA WORD AND RETURN , 000016' 000016' 000024' 0()0026' 000026' IF #KTSTAT NOTSETIN DT.STO(RO} iHEN 032760 001003 000020 005061 000002 000010 LET 2(Rl} := #0 ELSE 000032' 000032 1 000454 000034' 50002$: ;+ ; KT IS ON. GENERATE 18 OR 22 BIT ADDRESS. ; BRI:-.JG PAGE BITS 13-15 OF PA IN POS.1-3, ADD TO KIPARO ; ADDRESS, AND GET THE CONTENTS OF THE FORMED KIPAR REG. , 000034' 000034' 000036' 000036' 000040' 000042' 000044' 000046' 000046' 000052' 000052 1 LET ( R1 ) ·- S'I!AP ( P. 1 ) LET (R 1 ) ·- ( R1 ) SHIFT -4 LET ( R1 ) ·- ( R1 ) CLR.BY #177761 LET ( R1 ) .- ( R1 ) + #KIPARO 000311 006211 006211 006211 006211 042711 06271 1 177761 172340 CPA (GET PHYSICAL ADDRESS) 28-JUL-78 09:08 GPA.MAC 623 {4 ) 624 625 526 627 628 (6 ) (6 ) 629 (4 ) (7 ) (7 ) 630 '331 632 633 634 635 636 637 (7 ) (7 ) (7 ) (7 ) (7 ) (7 ) 638 (4 ) (6 ) 639 (2) 640 000056' 000056' 017111 (6 ) 005511 641 642 643 644 645 646 647 (6 ) (9 ) 648 (6 ) 649 (4 ) (3 ) 650 (6 ) 651 (7 ) (7 ) ( 7) ( 7) 652 20-SEP-78 MACY11 30A(10S2) GPA (CODE) .- LET ( R1) 17:31 PAGE 19-3 SEQ 0131 @( R1 ) 000000 MOV @(R1),(R1) MOV S\'JAB (R1),R2 R2 MOV ASR A5R R2,2(R1) 2 ( R1 ) 2 (R 1 ) ;+ ; BITS 15-10 ARE EA BITS. BRING THEM IN POSITION 5-0 ; AND STORE IN EA WORO. , '- 000062' 000062' 000064' 000066 ' 000066 ' 000072 ' 000076' LET R2 01 1102 0003C2 010261 006261 006261 .- LET 2 (R 1 ) SWAP ( R1) '- R2 SHIFT -2 000002 000002 000002 ;+ SHIFT THE CONTENTS OF PAR ; 6 PLACES TO THE LEFT.ADD LOW 12 B!TS OF V.A. ; RESULT IS STORED IN PA ; AND ANY CARRY IS ADDED TO THE EA WORD TO GET THE FINAL EA WORD. , C00102' 000102' 000104 ' 000106 ' 000110' 000112' 000114 ' 000116 ' 000116' 000122' 000126' 000126' 000130' 000130" LET (R 1 ) 006311 006311 006311 OC 6311 006311 00631 1 016102 042702 .- ( R1 ) SHIFT 6 ASL ASL ASL ASL ASL ASL ( R~ ) (R 1 ) (R1 ) (R 1 ) (R 1 ) (R 1 ) MOV BIC -2(R1),R2 #160000,R2 ADD R2, (R 1 ) + ADC (R 1 ) BIT SEQ #AODR22,DT.CFO(R 50004$ BIC #171700,(R1) BR 50005$ SIC #177774,(R1) ASL ASL ASL ASL (R 1 ) (R 1 ) ( R1) (R 1 ) LET R2 := -2(R1) CLR.BY #160000 177776 160000 INLINE ( R1 ) + CARRY ;+ ; NOW CHECK IF 22-BIT ADDRESS SYSTEM. IF IT IS, GENERATE A ; 6-BIT EA WORD RIGHT JUSTIFIED, OTHERWISE GENERATE ; A 2-BIT EA WORD AND ALLIGN THE BITS IN POSITION 5-4. , 000132' 000132' 000140 ' 000142 ' 000142 ' 000146 ' 000146 ' 000150 ' 000150 ' 000150 ' 000154 ' 000154' 000156' 000160 ' 000162' 000164' IF #ADDR22 SETIN DT.CFO(RO) THEN 032760 001403 001000 0427'1 177700 000014 LET ( R1) ·- ( R1 ) CLR.BY #177700 ELSE 000406 042711 50004$: LET (R 1) ·- ( R1 ) CLR.BY #177774 LET ( R1 ) ·- ( R1 ) SHIFT 4 177774 006311 006311 006311 006311 ENDIF GPA (GET PHYSICAL ADDRESS) GPA.MAC 28-JUL-78 09:08 (4) 653 054 (4 ) 655 656 657 658 000164 PAGE 19-4 SEQ 0132 50005$: ENDIF 000164 1 000164 1 50003$: ;+ ; RESTORE REGS AND RETURN (3 ) (3) (2 ) 660 661 000001 559 17: 31 1 000164 1 Ou0164 1 004767 000170 1 (,00170 1 000170 1 000170 1 000207 (3 ) MACY 11 30A ( 1052) 20-SEP-78 GPA (CODE) CALL RESREG OOOOOOG JSR PC,RESREG RTS PC ENDRTN 500005: 50001$: .END GPA (GET PHYSICAL ADDRESS) 28-JUL-78 09:08 GPA.MAC ACSR ACTBIT= ADDR22= ADR APTFER= APTf:RE: ASB ASSEM8= ASTAT = AUTO AUTOST= t.\ WHERE DTADR = ADDKESS OF DATA TABLE VERSION: 0.0 EDIT DATE BY REASON KTERR PROCESS MEMORY MANAGEMENT TRAPS KTERR.MAC 28-JUl-78 09:22 561 562 563 564 (1) 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 59~1 598 599 600 601 602 603 604 605 606 607 MACY11 30A(1052) 20-SEP-78 17:32 PAGE 19-1 COMMON DEFINITIONS AND REFERENCES FOR KTERR .SBTTl COMMON DEFINITIONS AND REFERENCES FOR KTERR .IV:CALl STRUCT STRUCT .PRINT jSPMAC: VERSION 1.1 000000 1 000000 1 $lSTIN=1 $lSTTAG=1 000001 000001 ;**************** , ; REFERENCED BY OTHER MODULES: .GlOBl ;MODUlE ENTRY POINT KTERR ;**************** , ; GLOBAL REFERENCES: .GLOBL .GLOBL .GLOBL .GLOBl .GLOBL .GLOBL ;ERROR ;RESET ;PRINT ;OCTAl ERRLOG RSTRCY MSGDHOOK BOA16 SAVREG RESREG LOGGING RECOVERY A MESSAGE TO ASCII CONVERSION ROUTINE ;**************** , ; lOCAL STORAGE: 000000 1 000006 1 080014' 000022' 000030' 000031 1 000036' 000044' 000C50 000056 1 0000541 000072 1 0000741 000102' 044445 C51124 05111J C53040 00:> 045 020124 02504:> C5144:3 02004:> 000006 02004:> 000006 00004'3 046114 050101 020125 052103 020056 052040 0521 13 022456 KT.BADKT: .ASCIZ 025052 051124 022452 030122 051123 045440 050101 KT.MG1: .ASCII 1%** KT TRAP **%1 .ASCII I%SRO 000104' 051445 000112 1 020040 000120 1 000006 030522 051123 I 0001L6' 020040 000130 1 000006 000136 1 000045 020040 022462 020040 022463 .BlKS KT.SSOMG: .ASCII KT.SS2MG: .ASCIZ 1 KT.MG2: I%SR1 .ASCII KT.SS1MG: .ASCII KT.SS3MG: .ASCIZ .EVEN I%ILl. TRAP THRU KT VCT.%/ SR2%1 6 1 .SlKS 6 1%1 .SlKS 1 1 .SlKS 1%1 S113%1 6 6 SEQ 0137 KTERR PROCESS MEMORY MANAGEMENT TRAPS KTERR.MAC 28-JUL-78 09:22 608 609 MACY11 30A(1052) 20-SEP-78 17:32 PAGE 19-2 COMMON DEFINITIONS AND REFERENCES FOR KTERR ;**************** SEQ 0138 KTERR PROCESS MEMORY MANAGEMENT TRAPS KTERR.MAC 28-JUL-78 09:22 611 612 613 (2) 614 615 616 617 618 619 (3) 620 (4) 621 622 523 624 625 626 627 628 (6) 629 630 631 632 633 634 635 636 (6) (9) 637 638 639 640 641 642 (6) 64::5 644 (3) (5) (4) (3) (3) 645 (3) (5) (4) (3) (3) 646 647 648 649 MACYll 30A(1052) KTERR ROUTINE .SBTTL 20-SEP-78 17:32 PAGE 19-3 KTERR ROUTINE ROUTINE KTERR 000140 1 000140' SEQ 0139 KTERR: ;+ ; INIT AND SAVE DTABLE 000140 1 000140 1 004767 000144 1 000144 1 016500 CALL SAVREG OOOOOOG LET RO := DTADR(R5) 000000 JSR PC,SAVREG MOV DTADR(R5),RO BIS #KTERROR,DT.ERR( SIT SEQ #KTSTAT,DT.STO(R 50002$ SIS #FATERR,DT.ERR(R MOV MOV R5,-(SP) #KT.SSOMG,-(R5) @#SRO,-(R5) PC,BOA16 (SP)+,R5 ;+ ; SET KT ERROR BIT IN ERROR WORD IN DTABLE 000150 000150 LET DT.ERR(RO) := DT.ERR(RO) SET.BY #KTERROR 1 1 052760 00004C 000020 ;+ ; IF KT ENABLED, SET FATAL BIT IN ERROR WORD 000156 000156 000164 IF #KTSTAT SETIN DT.STO(RO) THEN 1 1 1 032760 001535 000020 000010 ;+ ; SET FATAL BIT, GET THE CONTENTS OF SRO, SR2, CONVERT ; TO ASCII, AND ENQUEUE MESSAGE 000166' 000166' 052760 000174' 000174' 000176' 000202' 000206' 000212' 000214' 000214' 000216' 000222' 000226 1 000232' LET DT.ERR(RO) 100000 := DT.ERR(RO) SET.BY #FATERR 000020 CALL BOA16 IN <@#SRO,#KT.SSOMG> 0105'<:6 012745 013745 004767 012605 000064' 177572 OOOOOOG 010546 012745 013745 004767 012605 000074 1 177576 OOOOOOG Mev JSR MOV CAll BOA16 IN <@#SR2,#KT.SS2MG> ~/'OV MOV MOV JSR MOV + SEE IF EXTENDED KT R5,-(SP) #KT.SS2MG,-(RS) @#SR2,-(RS) PC,BOA16 (SP)+,R5 KTERR PROCESS MEMORY MANAGEMENT Tr 010546 012745 013745 004767 012605 000120' 177574 OOOOOOG CALL BOA16 IN <@#SR3,#KT.SS3MG> 010546 012745 013745 004767 012605 000130' 172516 OOOOOOG ENDIF 50003$: + RESET AND RESTORE, LOWER PRIORITY 0003041 000304' OOOOO~) 000306' 000306' 010546 000310' 010045 000312' 004767 000316' 01260~) 000320' OOJ320' 005046 000322' 000322' 012746 000326' 000326' 000002 INLINE RESET CALL RSTRCY IN OOOOOOG LET -(SP) '- #0 LET -(SP) '- #443$ 000330' MOV MOV JSR MOV R5,-(SP) RO,-(R5) PC,RSTRCY (SP)+,R5 CLR -(SP) MOV #443$,-(SP) INLINE RTI INLINE <443$:> (3 ) (3) 673 674 (2 ) 675 000356' 000356' 000240 000360' (5 ) (4 ) 17:32 + 000330' 000330' 000330' 000330' 000332' 000336: 000342' 000346' 000350' 000354' (6) 20-SEP-78 MACY11 30A(1052) KTERR ROUTINE 443$: CALL MSGDHOOK IN 010546 012745 01:2745 012745 010045 004767 012605 rr.ov MOV IViOV JSR MOV R5,-(SP) #1$,-(R5) #KT .MG1 ,-(R5) #MSGPOP,-(R5) RO,-(R5) PC,MSGDHOOK (SP)+,R5 4$: NOP MOV 000362' 000031 ' 000002 rv;ov OOOOOOG INLINE <4$: INLINE
NOP> KTERR PROCESS MEMORY MANAGEMENT TRAPS 28-JUL-78 09:22 KTERR.MAC (2 ) 676 677 (2 ) G78 679 680 (6) (9) 681 (3 ) (7 ) (6) (5 ) (4 ) (3 ) (3 ) MACY 11 30A(1052) KTERR ROUTINE 20-SEP-78 17:32 BR 4$ INLINE <1$:> 000362' 000362' 000362' 000362' 000370' 000372' 00(1372 ' 000374' 000400 1 000404 1 COO410' 000412 1 000416 1 1 $: IF HKTXTND SETIN DT.CFO(RO) THEN 032760 001415 010546 012745 012745 012745 010045 004767 012605 040000 000014 CALL MSGDHOOK IN 000424' 000104' 000002 0OO4~O' INLINE <6$: NOP> 000420 1 000240 000422' 000422' 000776 INLINE
INLINE <2$:> 000424' 000424' 000424' 000424' ENDIF (3 ) HKTXTND,DT.CFO(R 50004$ MOV MOV MOV MOV JSR MOV R5,-(SP) #2$,-(R5) #KT.MG2,-(R5) ;;'V1SGPOP,-(R5) RO,-(R5) PC,MSGDHOOK (SP)+,RG 6$: NOP BR 6$ 2$: 50004$: + DO ERROR LOGGING IF NECESSARY 690 (3 ) 698 699 700 701 (2 ) 702 BIT BEQ M:JV OOOOOOG (2 ) 683 (2 ) 684 585 (2 ) 686 (4 ) 687 688 689 (4 ) SEQ 0141 000360' 000776 1382 691 (6 ) (8) (6 ) ( 9) (6 ) 692 693 (3 ) (4 ) (3 ) (3) 694 695 (4 ) 696 697 PAGE 19-5 000424' 000424' 000432' 000434' 000442' 000444' 000444' 000444 1 000446' 000450' 000454 1 032760 001004 032760 001405 004000 000014 010000 000014 IF HPDP60 SETIN DT.CFO(RO) OR #PDP70 SETIN DT.CFO(RO) THEN BIT BNE BIT BEQ 50005$: CALL ERRLOG IN 010546 010045 OC4767 012605 OOOOOOG ENDIF 000456' 000456 1 000456 1 000456' 000427 000460 1 #PDP60,DT.CFO(RO 50005$ #PDP70,DT.CFO(RO 50006$ MOV MOV JSR MOV R5,-(SP) RO,-(R5) PC,ERRLOG (SP)+,R5 BR 50007$ 50006$: ELSt: 50002$: + RESET AND RESTORE, LmvER PRIORITY 000460' 000460' 000005 000462' 000462' 010546 IN LI NE RESET CALL RSTRCY IN Iv. 0 V RS,-(SP) hTERR PROCESS MEMORY MANAGEMENT TRAPS 28-JU L-78 09:22 v'TERR.MAC (4 ) (3 ) (3 ) 703 704 705 (4 ) 706 (4 ) 707 (2 ) 000464' 010045 000466' 004767 000472' 012605 000474' 000474' 005046 000476' 000476' 012746 00C502' 000502' 000002 MACY11 30A(1052) KTERR ROUTINE 20·-SEP-78 17:32 PAGE 19-6 SEQ 0142 OOOOOOG MOV JSR MOV RO,-(R5) PC,RSTRCY (SP)+,R5 CLR -(SP) MOV N444$,-(SP) LET -(SP) ,- NO LET -(SP) '- N444$ 000504' INLINE RTI '108 709 (2 ) 710 711 712 713 714 715 (3 ) (7 ) (6 ) (5 ) (4 ) (3 ) (3 ) 716 ( 2) 717 (2 ) 718 719 (2 ) 720 (4) 721 722 723 724 725 725 (3 ) 727 728 (3 ) (3 ) (2 ) 729 730 INLINE <444$:> 000504' 000504' 444$: + NO, KT IS NOT ENABLED, SO ENQUEUE THE BAD MESSA.GE 000504' 000504' 000506' 000512' 000516' 000522' 000524' 000530' 000532' 000532' 000534' 000534' CALL MSGDHOOK IN 010546 012745 012745 012745 010045 004767 012605 000536' 000000' 000002 OOOOOOG INLINE <8$: NOP> INLINE
000240 000776 MOV 1\10 V MOV MOV MJV JSR MOV R5,-(SP) N3$,-(R5) NKT.BADKT,-(R5) #MSGPOP,-(R5) 8$: NOP BR 8$ RO,-(~5) PC,MSGDHOOK (SP)+,R5 INLINE <3$:> 000536' 000536' 000536' 000536' 3$: ENDIF 50007$: ;+ ; CLEAN UP AND GET OUT , 000536' 000536' 004767 000542' 000542' 000542' 000542' 000207 000001 CALL RESREG OOOOOOG JSR PC,RESREG RTS PC ENDRTN 50000$: 50001$: ,END KTERR PROCESS MEMOR'{ MANAGC:MENT TRAPS 28-JUL-78 09:22 f!'***** G CAFRES= 000004 CASTAT= 000004 CDERCT= 000146 CDv.DCT= 000144 CKT1N: = 100000 CLKPRE= 000001 CONFIG= 000056 000001 CQOVF 000015 CR 000100 CSRA CSRC CTRLC CTRLO CTRLU DCEVNT= DEFRTN= DIAGMC= DROPMO= DSEVNT= DTADR = DT.ADD= DT.AP = DT.APK= DT.BLS= DT.CFO= DT.CF1= DT.ERR= DT.ESI= DT.EVN= DT.EXS= DT.FCH= DT.FCN= DT.HMX= DT.KBE= DT.KBP= DT.KBR= DT.KBU= DT.MLS= DT.MTI= DT.OFF= DT.PAS= DT.PC = DT.PFL= DT.PSIf..:= DT.PTA= DT.RCS= DT.REL= DT.SCT= DT.SMX= DT.SP = DT.SSI= DT.STO= DT.ST1= DT.SWR= DT.SYP= DT.WBU= DT.WHL= DT.WLL= DVID1 = ECCMEN!= ECCSTA= ENBEOP= ENBNUL= 000102 000003 000017 000025 000011 000400 000000 100000 000014 000000 000042 000100 000076 000034 000014 000016 000020 000044 000000 000060 000037 000036 000104 000024 000026 COO022 000030 000032 000110 000070 000074 000002 000062 000004 000064 000102 000040 000066 000106 000006 000046 000010 000012 000C56 000072 000050 000054 000052 000014 000100 000010 010000 000001 MACY11 30A(1052) SYMBOL TABLE 20-SEP-78 ENDLST= EOPBIT= ERRLOG= ERRTYP= EVNTBE= EVNTHD= EVNTKT= EVNTPE= EVNTRE= FATERR= HRDCNT= HRDPAS= ICONT = ICOUNT= IDNUM = IE INDPAR= INHDRP= INHEPR= INHREL= INHRRE= INIT INTR IOMOD IOMODP= IOMODR= IOMODX= JACK KIPARO= KIPAR1= KIPAR2= KIPAR3= KIPAR4= KIPAR5= KIPAR6= KIPAR7= KIPDRO= KIPDR1= KIPDR2= KIPDR3= KIPDR4= KIPDR5= KIPDR6= KIPDR7= KTERR KTERRO= KTPRES= KTSTAT= KTXTND= KT.BAD KT.MG1 KT.MG2 KT.SSO 17:32 PAGE 20 SEQ 0143 000000 000001 ****** G 000106 000200 000200 000203 000202 000201 100000 000044 000050 000036 000040 0001:£2 000100 000040 040000 020000 001000 000400 000030 000120 100000 102000 112000 110000 035060 172340 172342 172344 172346 172350 172352 172354 172356 172300 172302 172304 172306 172310 172312 172314 172316 000140RG 000040 OOO~OO 0000::;:0 040000 OOOOOOR 00002;1R 000104R 000064R KT.SS1 KT.SS2 KT.SS3 LF LPSTAT= MAPSTA= MED MEMPAS= MODEXH= MODHOL= MCDSEL= MSGCKD= MSGCKS= MSGDER= MSGDHO= MSGDRP= MSGECH= MSGEOP= MSGHDR= MSGHNG= MSGHRD= MSGMAP= MSGNUL= MSGPOP= MSGPRM= MSGRES= MSGSFT= MSGSKE= MSGSrVl8= MSGSMH= MSGSMS= MSGSTD= MSGSYS= MSGVEC= NBKMOD= NCPUOP= NOAPTY= NULL OWEN PAERR PAR?RE= PARSTA= PASCNT= PDPLSI= PDP60 PDP70 PRIO P R 11 PRI4 PRI5 PRI6 PRI7 PRO 000120R 000074R 000130R 000012 000001 000200 076600 040000 00:l000 002000 001000 000010 000011 000005 ****** G 000017 177777 00:)013 000C04 000022 000C07 000021 177775 000002 177776 00C001 000006 000003 000015 000014 000016 000000 000012 000020 001000 000020 000002 000000 024020 000010 002000 000100 000034 020000 004000 010000 000000 000040 000200 000240 000300 000340 000000 PR4 PR5 PR6 PR7 PS PSW RAN!\UM= RaUFEA= RSUFPA= RBUFSZ= RBUFVA= RDSERV= RDWf-1MI= R:::LERR= Ri:LMOD= REL TIM= RESREG= RES1 RES2 RICHAR= RPTDAT= RSTRCY= RSTRT = RUBOUT= RUNfvl0D= R5VALU= SM.l SAI/REG= SBADR = S BKr..,.,o 0= SBKSE L= SC.ADR= SC. ,4LC= SC.APC=SC.CKL= SC.CKP= SC.CLO= SC.HLD= SC.SCA= SENDLS= SOFCNT= SOFPAS= SPACE = SPOINT= SPVALU= SRC SRl SR2 SR3 STAT STATBI= STAT1 = SUSPND= 000200 000240 000300 000340 177776 177776 000054 000130 000126 000132 000124 000101 000022 000020 020000 010000 i<***** G 000056 000060 031060 002000 ****** G 000112 000177 100000 001740 075464 ****** 000102 000000 010000 000006 000014 000016 000002 000004 000000 000010 000012 177777 000042 000046 000040 000032 002200 177572 177574 177576 172516 000026 064757 000027 000001 G KTERR PROCESS MEMORY MANAGEMENT TRAPS KTERR.MAC 28-JUL-78 09:22 SVRO SVR1 SVR2 SVR3 SVR4 SVR5 SVRS SYSCNT= SYS:::RR= TMPIO = TQOJF = UIPARO= UIPAR1= UIPAR2= UIPAR3= UIPAR4= UIPAR5= UIPAR6= UIPAR7= UIPDRO= UIPDR1= 000052 000064 000066 000070 000072 000074 COO076 000052 000100 000002 000002 177640 177642 177644 177646 177650 177652 177654 177656 177600 177602 ABS. 000000 000544 UIPDR2= UIPDR3= UIPDR4= UIPDR5= UIPDR6= UIPDR7= WASADR= WBSTAT= WBUFEA= WBUFPA= WBUFRQ= WBUFS2= ~ A - ADDRESS OF DTABLE VERSION: 0.0 EDIT DATE BY REASON KTSET MAP MEMORY MANAGEMENT REGISTERS KTSET.MAC 28-JUL-78 09:08 555 556 557 558 559 ( 1) 560 561 562 563 564 MACY11 30A(1052) 20-SEP-78 COMMON EQUATE MODULE 17:33 PAGE 19-1 SEQ 0147 .SBTTL COMMON DEFINITIONS AND REFERENCES 000000' 000000' 000001 000001 .MCALL STRUCT STRUCT .PRINT ;SPMAC: VERSION 1.1 $LST!N 1 $LSTTAG = 1 = ;**************** ; REFERENCED BY OTHER MODULES :565 566 567 .GLOBL 568 ;**************** 569 570 571 572 573 574 575 576 577 KTSET ;MODULE ENTRY POINT ; GLOBAL REFERENCES . GLOB!.. .GLOBL S.A.VREG RESREG ;SAVE REGISTERS ;RESTORE REGISTERS ;**************** ; LOCAL EQUATES 077406 KS.PDR = 77406 ;PDR VALUE KTSET MAP MEMORY MANAGE~E~T REG!STERS KTSET.MAC 28-JUL-78 09:08 579 580 581 582 (2) 583 584 585 586 587 588 589 590 (3) 591 (4) 592 (4) 593 594 595 596 597 598 (4) 599 (3) 600 601 602 603 604 605 (4) 606 (3) 607 608 609 610 611 (3) 612 (3) (3) (2) 613 614 (2) 615 616 617 618 619 620 (4) MACY11 30A(1052) 20-SEP-78 17:33 COM~ON DEFINITIONS AND ~EFERENCES PAGE 19-2 SEQ 0148 .SBTTL KTSET ROUTINE ROUTINE KTSET 000000' 000000' KTSET: ;+ ; SAVE REGISTERS, RETRIEVE ADDRESS OF DTABLE ; INITIALIZE POINTER TO BANKO, SETUP R2 TO 77406 VALUE j- 000000' 000000' 004767 000004' 000004' 016500 000010' 000010' 012702 CALL SAVREG OOOOOOG JSR PC,SAVREG MOV DTABLE(R5),RO MOV #KS.PDR,R2 MOV #UIPDRO,R3 JSR PC,KTSETO MOV #KIPDRO,R3 JSR PC,KTSETO JSR PC,RESREG RTS PC rtOv R3,R4 LET RO .- DTABLE(R5) 000000 LET R2 .- #KS.PDR 077406 ;+ ; CALL KTSETO, PASS ADDRESS OF UIPDRO 0000i4' 000014' 012703 000020' 000020' 004767 LET R3 .- #UIPDRO 177600 CALL KTSETO 000016 ;+ ; CALL KTSETO, PASS ADDRESS OF KIPDRO 000024' 000024' 012703 000030' 000030' 004767 LET R3 .- #KIPDRO 172300 CALL KTSETO 000006 ;+ ; RESTORE REGISTERS AND RETURN OOC034' 000034' 004767 OC0040' 000040' 000040' 000040' 000207 OC0042' 000042' CALL RESREG OOOOOOG ENDRTN ROUTINE KTSETO 50000$: 50001$: KTSETO: ;+ ; LOAD APRO BY MAPPING TO BANKO, SET UP R4 TO POINT TO APR7 000042' 000042 1 010304 LET R4 .- R3 + #16 KTSET MAP KTSET.MAC (6 ) 621 (4 ) 622 623 324 625 626 627 (4) 628 (2 ) 629 1330 631 632 633 634 (4) 535 (4 ) (6) (9 ) 636 (4 ) 637 (4) 638 (2 ) 639 (6 ) 640 (4 ) (3 ) 641 642 643 644 645 646 (4 ) 647 (4 ) 648 649 650 651 652 653 ( 3) (3 ) (2 ) 654 .655 MANAGEMENT REGISTERS 28-JU L-78 09: 08 MEMO~Y 000044 1 062704 00C050 1 000050 1 010213 20-SEP-78 MACY 11 30A(1052) KTSET ROUTINE 000016 .- LET (R3) 17:33 PAGE 19-3 SEQ 0149 R2 ADD #16,R4 MOV R2,(R3) CLR 40(R3) ;+ ; LOAD PARO TO MAP TO BANK 0 , 000052 1 00C052 1 005063 000056 1 000056 1 005723 .- LET 40(R3) #0 000040 INLINE TST (R3)+ ;+ ; LOAD DT.ADDR INTO R1 AND LOAD APRO - APR6 ;- 000060 1 000060' 000064 1 0000641 0000641 COO066' 000070 1 000070' 000072 1 000072' 000076' 000076' 000100' 000100' 000104 1 000104' 000106' LET R1 016001 .- DT.ADDR(RO) 000042 MOV DT.ADDR(RO),R1 CMP BEQ R3,R4 50003$ MOV R2,(R3) MOV R1,40(R3) WHILE R3 NE R4 DO 50002$: 020304 001407 LET (R3) .- 010213 LET 40(R3) 010163 000040 .- R1 INLINE 005723 .- LET R1 062701 R2 TST (R3)+ R1 + #200 000200 ENDDO 000767 ADD #200,R1 BR 50002$ MOV R2,(R3) MOV #177600,40(R3) RTS PC 50003$: ;+ ; NOW LOAD APR7 , 000106: 0001C6' 010213 000110' 000110' 012763 LET (R3) .- LET 40(R3) 177600 000040 R2 .- #177600 ;+ ; RETURN , 000116' 000116' 000116' 000116' 000207 COOO01 ENDRTN 50000$: 50001$: . END hTSET MAP MEMORY MANAGEMENT REGISTERS 28-JUL-78 09:08 KTSfT.MAC ACSR ACTBlT= ADDR22= ADR A~TFER= APTPRE= ASB ASSEMB= ASTAT = AUTO AUTOST= A'v-JAS BITO BITOO BIT01 [31T02 BIT03 BIT04 BIT05 BIT06 BIT07 BIT08 8IT09 BIT1 BIT 1 0 BIT11 BIT12 BIT 13 BIT 14 BIT15 BIT2 BIT3 B!T4 BIT5 BIT6 BIT7 BIT8 BIT9 BKDEF BKri,OD BKMODE= BKSLSH= CAPRi:.S= CASTAT= CDERCT= CDv;DCT = CKTIM = CLKPRE= CONFIG= CQOVF CR CSRA CSRC 000102 004000 001000 000006 000004 000200 000106 000010 000104 000010 020000 000110 000001 000001 000002 000004 000010 OOOO~O 000040 000100 000200 000400 001000 000002 002000 004000 010000 020000 040000 100000 000004 000010 000020 000040 000100 000200 000400 001000 000002 000020 040000 000134 000004 000004 000146 000144 100000 000001 000056 000001 000015 = 000100 = 000102 CTRLC = CTRLO = CTRLU = DCEVNT= DEFRTN= DlAGMC= DROPf'liO= DSEVNT= DTABLE= DT.ADD= DT.AP = DT.APK= DT.BLS= DT.CFO= DT.CF1= DT.ERR= DT.ESI= DT.EVN= DT.EXS= DT.FCH= DT.FCN= DT.HMX= DT.KBE= DT.KBP= DT.KBR= DT.KBU= DT.MLS= DT.Mil= DT.OFF= DT.PAS= DT.PC = DT.PFL= DT. PSI'J= DT.PTA= DT.RCS= DT.REL= DT.SCT= DT.SMX= DT.SP = DT.SS1= DT.STO= DT.ST1= DT.SWR= DT.SYP= DT.WBU= DT.WHL.= DT.WLL= DVID1 = ECCMEM= ECCSTA= ENBEOP= ENBNUL= ENDLST= 000003 000017 000025 000011 000400 COOOOO 100000 000014 OOOGOO COO042 000100 000076 000034 000014 000016 000020 000044 000000 000060 CC0037 000036 000104 000024 000026 000022 000030 000032 000110 000070 000074 000002 000062 000004 000064 000102 000040 000066 000106 000006 000046 000010 000012 000056 000072 000050 000054 000052 000014 000100 000010 010000 000001 000000 MACY 11 30A(1052) SYMBOL TABLE 20-SEP-78 EOPSlT= ERRTYP= EVNTBE= EVNTHD= EVNTKT= EVNTPE= EVNTRE= FATERR= HRDCNT= HRDPAS= ICONT = lCOUNT= IDNUM = IE INDPAR= INHDRP= INHEPR= INHREL= INHRRE= INIT INTR lOMOD IOMODP= IOMODR= IOI\10DX= JACK KIPARO= KIPAK1= KIPAR2= KIPAR3= KIPA;:(4= KIPAR5= KIPAR6= KIPAR7= KIPDRO= KIPDR1= KIPDR2= KIPDR3= KIPDR4= KIPDR5= KIPDR6= KIPDR7= KS.PDR= KTERRO= KTPRES= KTSET KTSETO KTSTAT= KTXTND= LF LPSTAT= MAPSTA= MED 000001 000106 000200 000200 000203 000202 00C201 100000 000044 000050 00:;'036 000040 000122 000100 OC0040 040000 020000 001000 000400 0000:;0 000120 100000 102000 112000 110000 035060 1723':;0 172342 172344 172346 172350 172352 172354 172356 172300 172302 172304 172306 172310 172312 172314 172316 077406 000040 000400 OOOOOORG 000042R 000020 040000 000012 000001 000200 076600 17:33 PAGE 20 SEQ 0150 MEMPAS= MODEXH= MODHOL= MODSEL= MSGCKD= MSGCKS= MSGDER= MSGDRP= MSGECH= MSGEOP= MSGHDR= MSGHNG= MSGHRD= MSGMAP= MSGNUL= MSGPOP= MSGPRM= MSGRES= MSGSFT= MSGSKE= MSGSfv'lB= MSGSiV1H= MSGSMS= MSGSTD= MSGSYS= MSGVEC= NBKMOD= NCPUOP= NOAPTY= NULL OWEN PAERR PARPRE= PARSTA= PASCNT= PDPLSI= PDP60 PDP70 PRIO P R11 PRI4 PRI5 PRI6 PRI7 PRO PR4 PR5 PR6 PR7 PS PSW RANNUM= RBUFEA= 040000 004COO 002000 001000 000010 000011 000005 000017 177777 00J013 000004 000022 000007 000021 177775 000002 177776 00J001 000006 000003 000015 000014 000016 000000 000012 000020 001000 000020 000002 000000 024020 000010 002000 000100 00·':)034 020000 004000 010000 000000 000040 000200 000240 000300 000340 000000 000200 000240 000300 000340 177776 177776 000054 000130 R8UFPA= RSUFSZ= RBUFVA= RDSERV= RDitJHM1= RELERR= REL:v10D= RELTIM= RESREG= RES1 RES2 RICHAR= RPTDAT= RSTRT = RUBCUT= RUNMOD= R5VALU= SAM SAVREG= SBADR = S3KMOD= SBKSEL= SC.ADR= SC.ALC= SC.APC= SC.CKL= SC.CKP= SC.CLO= SC.HLD= SC.SCA= SENDLS= SGFCNT= SOFPAS= SPACE = SPOINT= SPVALU= SRO SR1 SR2 SR3 STAT STATBl= STAT1 = SUSFND= SVRO ::: SVR1 SVR2 SVR3 SVR4 SVR5 SVR6 SYSCNT= SYSERR= 000126 000132 000124 000101 000022 000020 020000 010000 ****** G 000056 000060 031060 002000 000112 000177 100000 001740 075464 ****** G. 000102 000000 010000 000006 000014 000016 000002 000004 000000 000010 000012 177777 000042 000046 000040 000032 002200 177572 177574 177576 172516 000026 064757 000027 000001 000062 000064 000C66 000070 000072 000074 000076 000052 000100 KTSET MAP MEMORY MANAGEMENT REGISTERS KTSET.MAC 28-JUL-78 09:08 TMPIO = TQOVF = UIP,\RO= UIPAR1= UIPAR2= UIPAR3= UIPAR4= UIP,~R5= UIPAR6= UI P .\R7 = UIPJRO= UIPDR1= UIP)R2= lIIPi)P3= UIPDR4= UIPDR5= UIP0R6= UIPDR7= ASS. WASADR= WBSTAT= 1..:5UFEA= VJBUF PA= WBUFRQ= WBUFSZ= toJDFR WOTO WTINRE= WTVJHM I = XFLAG = XOFF XON $BGNLE= $ERFL..G= $F$AND= $F$BAD= $F$BLA= 000002 000002 17'1640 177642 177644 177646 177650 177652 177654 177656 177600 177602 177604 177606 177610 177612 177614 177616 000000 000120 MACY11 30A(1052) SYMBOL TABLE 000104 000040 000136 000134 000140 000142 000116 000114 000352 000222 000005 000023 000021 177777 000400 000310 000401 000170 000 001 ERRORS DETECTED: 0 DEFAULT GLOBALS GE~ERATED: 0 DSKZ:KTSET,DSKZ:KTSET=SPMAC/ML,EQUATE,KTSET RU~-TIME: 12 2 .3 SECONDS RUN-TIME RATIO: 29/15=1.9 CORE USED: 14K (27 PAGES) 20-SEP-78 $F$CAS= $F$DEC= $F$DO = $F$FAL= $F$GOO= $F$IF = $F$INC= $F$LGO= $F$NAM= $F$NO = $F$OR = $F$RTI= $F$RTN= $F$SEL= $F$THE= $F$TRU= $F$UNT= $F$WHI= 000150 000220 000340 000405 000400 000110 000210 000200 000160 000403 000320 000350 000300 000140 000330 000404 000130 000120 17:33 PAGE 20-1 $F$YES= $IFLEV= $LOCTA= $LSTIN= $LSTTA= $NESTL= $NSKO = $NSK1 = $SAVLE= $SSKO = $TAGLE= $TAGNU= $TEMP = $TSKO = $TSK1 = $$ARGC= $$BYTE= $$CASE= SEQ 0151 000402 177777 177777 000C01 000001 177777 000300 000120 177777 050003 177777 050004 000300 050002 050003 oooeoo 000403 000000 $$DST = $$ELOC= $$ERFL= $$FL.AG= $$FROM= $$L.OC = $$LOCN= $$REG $$RETU= $SRTN 1 = $$RTN2= $$5RC = = $$TGS\/= $'$TGS1= $$TGS2= $$TO $$$TAG= 000000 000000 000000 000340 000000 000066R 000000 17'1777 000000 050000 050001 000000 000000 000000 000000 000000 050000 000120R .MAIN. MACY'1 30A(1052) 20-SEP-78 EQUATE.MAC 13-SEP-78 16:13 3 565 568 621 17:33 TABLE OF CONTENTS COMMON EQUATE MODULE COM~ON DEFINITIONS AND REFERENCES FOR PAR ERR 000000' .PRINT ;SPMAC: VERSION 1.1 PARERR ROUTINE SEQ 0152 ~AR~RR PROCESS PARITY ERROR TRAPS 08-SEP-78 07:43 PAR~RR.MAC 508 509 ::>10 511 512 513 514 515 516 517 513 ::; 19 520 521 522 523 524 525 526 527 328 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 55~ 553 55~ 555 556 557 558 559 5GO 56~ 562 563 MACY11 30A(1052) 20-SEP-7£ COMMON EQUATE MODULE 17:33 PAGE 19 SEQ 0153 .TITLE PARERR PROCESS PARITY ERROR TRAPS .IDENT JVO.Oj ;++ MODULE NAME: PAR ERR FUNCTIONAL DESCRIPTION: THIS MODULE PROCESSES PARITY ERROR TRAPS. WHEN ENTERED IT WILL TEST FOR PARITY ENABLED. IF NOT ENABLED, AN APPRooRIATE MESSAGE IS ENQUEUED. A CHECK IS PERFORMED TO DETERMINE WHICH PARITY CSR HAS THE ERROR BIT SET. THE CSR AND ITS CONTENTS ARE ENQUEUED IN A PARITY MESSAGE(STANDARD). INPUTS: ADDRESS OF DATA TABLE IMPLICIT INPUTS: DT.STO DT.CFO DT.PTA OUTPUTS: NONE IMPLICIT OUTPUTS: NONE PATHOLOGICAL CONNECTIONS: NONE SUBORDINATE ROUTINES CALLED: QUEUE A r.1ESSAGE ENOTQ BINARY TO OCTAL ASCII CONVERSION ROUTINE BOA16 SETUP KT REGISTERS KTSET SAVREG RESREG MSGDHOOK ERRLOG RSTRCY FUNCTIONAL SIDE EFFECTS: NONE CALLING SEQUENCE: CALL PARERR IN WHERE DTADR = ADDRESS OF DATA TABLE V£RSION: 0.0 EDIT LATE BY REASO~ PARERR PROCESS PARITY ERROR TRAPS PARERR.MAC 08-SEP-78 07:43 565 566 567 568 ( 1) 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 585 587 588 589 590 591 592 593 594 595 596 597 598 599 600 5U1 602 603 604 605 605 607 608 609 610 61 i 612 613 MACY11 30A(1052) 20-SEP-78 17:33 PAGE 19-1 COMMON DEFINITIONS AND REFERENCES FOR PARERR .SBTTL 000000 000000 COMMON DEFINITIONS AND REFERENCES FOR PARERR .MCAlL STRUCT STRUCT .PRINT ;SPMAC: VERSION 1.1 1 I $LSTIN=1 $LSTTAG=1 000001 000001 ; REFERENCED BY OTHER MODULES: .GLOBL .GLOBL , ;MODULE ENTRY POINT ;NUMBER OF PARITY ERRORS PAR ERR PA.CNT ;**************** ; GL09AL REFERENCES: .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL ;ENQUEUE A MESSAGE ;RESET RECOVERY ROUTINE ;1160, 1170 ERROR LOGGING ;CACHE CONTROL REGISTER ;SAVE REGISTERS ;RESTORE REGISTERS ;BINARY TO OCTAL ASCII CONVERSION ROUTINE ;SETUP KT APRS' MSGDHOOK RSTRCY ERRLOG CCNTRl SAVREG RESREG BOA16 KTSET ;**************** , ;**************** ; LOCAL STORAGE: 000000' 000006' 000014' 000022' 000030' 000034' 088035' 000042' 000050' 000056' 000064' 000066' 000074' 02504~3 040522 O~) 252:2 020056 025052 000 040 020040 042524 000006 020040 000006 000045 000076' 000000 000100' 000010 025052 020120 053040 030461 022452 052040 044124 041505 020064 051503 041440 052116 020122 047117 022523 PA.MSG: PA.SP: .BYTE /%*** TRAP THRU VEC. 114 ***%/ 0 .ASCII / CSR . BLKB . ASCII .BlKB .ASCIZ PA.CSR: PA.CSC: PA.CNT: PA.MAX: .EVEN .ASCII .WORD .WORD 0 10 CONTENTS%/ 6 / / 6 /%/ ;NUMBER OF PARITY ERR(;RS ;MAX NUMBER OF ALLOWABLE PARITY ERRORS ;**~************* ; LOCAL EQUATES , 170370 170372 PA.M36 170370 PA.M37 = 170372 ;MAP REGISTER 36 ADDRESS ;MAP REGISTER 36 UPPER 6 BITS SEQ 0154 PARERR PReCESS PARITY ERROR TRAPS PARERR.MAC 08-SEP-78 07:43 614 615 616 617 618 619 MACY11 30A(1052) 20-SEP-78 17:33 PAGE 19-2 COMMON DEFINITIONS AND REFERENCES FOR PAR ERR + PARITY TABLE - FILLED WITH PARITY CSR ADDRESSES SEQ 0155 PARERR PROCESS PARITY ERROR TRAPS PARERR.MAC 08-SEP-78 07:43 621 622 623 (2) 624 625 .SBTTL (2 ) 644 (3) (4) (3) (3 ) 645 (4 ) 646 (4 ) 647 (2 ) (2 ) 17:33 PAGE 19-3 SEQ 0156 PAR ERR ROUTINE PARERR: ;+ ; INITIALIZE AND SAVE DTABLE ADDRESS ., 000102 000102 000106 000106 CALL SAVRt:.G 1 1 004767 OOOOOOG 1 JSR PC,SAVREG MOV DTABLE(R5) ,RO BIS #PAERFt,DT.ERR(RO LET RO := DTABLE(R5) 1 016500 000000 ;+ ; SET ERROR BIT IN DTABLE'S ERROR WORD 000112 000112 LET DT.ERR(RO) := DT.ERR(RO) SET.BY #PAERR 1 1 052760 000010 000020 ;+ ; RESET, RECOVER FROM RESET, AND LOWER PRIORITY 000120' 000120' 000122' 000122 1 000124' 000126' 000132' 000134' 000134' 000136' 000136 1 000142' 000142' INLINE 000005 010546 010045 004767 01260!:; 000144 000144 RESET CALL RSTRCY IN OOOOOOG LET -(SP) 012746 MOV MOV dSR MOV R5,-(SP) RO,-(R5) PC,RSTRCY (SP)+,R5 CLR -(SP) MOV #443$,-(SP) LET -(SP) .- #0 005046 000144 := #443$ 1 INLINE RTI 000002 645 649 20-SEP-78 ROUTINE PARERR 000102 1 000102 1 526 627 528 629 (3) 630 (4) 631 632 633 634 635 636 (0) 637 638 639 640 641 642 643 MACY11 30A(1052) PAR ERR ROuT H.jE INLINE <443$:> 1 443$: 1 650 651 652 653 ;+ ; IS PARITY OR ECC ENABLED? 654 655 (6~ (8) (6) (9) (6) 6!::6 657 658 000144' 000144' 000152' 000154 1 000162 1 000164 1 IF #PARSTAT SETIN DT.STO(RO) OR #ECCSTAT SETIN DT.STO(RO) THEN 032760 001004 032760 001552 000100 000010 000010 000010 BIT BNE BIT BEQ 5C002$: #PARSTAT,DT.STO( 50002$ #ECCSTAT,DT.STO( 50003$ PldiERR PROCESS PARITY ERROR TRAPS 08-SEP-78 07:43 PARERR.MAC 659 660 661 662 G63 (564 (6 ) (8) (6) (9 ) (6) 665 ( 3) (4 ) (3) (3 ) S66 (4) 667 668 669 670 671 672 (4 ) + 000164' 000164' 000172' 000174' 000202' 000204' 000204' 000204' e00206' 000210' 000214' 000216' 000216' 032760 001004 032760 001405 010546 010045 004767 012605 010000 000014 004000 000014 17:33 PAGE 19-4 SEQ 0157 IF 11/60 OR 11/70, CALL ERR LOG IF #PDP70 SETIN DT.CFO(RO) OR #PDP60 SETIN DT.CFO(RO) THEN BIT BNE BIT SEQ 50004$: CALL ERR LOG IN MOV MOV JSR MOV ENDIF 50005$: OOOOOOG + 000216' 000216' 016001 20-S£P-78 MACY1 t 30A(1052) PARERI~ ROUTINE #PDP70,DT.CFO(RO 50004$ #PDP60,DT.CFO(RO 50005$ R5,-(SP) RO,-(R5) PC,ERRLOG (SP)+,R5 GET PTABLE ADDRESS LET R1 .- DT.PTA(RO) MOV 000064 DT.PTA(RO),R1 6'""-' I .... 674 675 676 677 676 (6 ) ( 9) 679 (4) 680 (4) 681 (4) 682 (4 ) 683 (4 ) 68L! (4 ) + 000222' 000222' 00023·) , 000232' 000232' 000236' 000236; 000242' 000242' 000246' 000246' 000252' 000252' 000256' 000256' IF #INDPAR SETIN DT.CFO(RO) THEN 032760 001443 COO040 017746 OOOOOOG 013746 172516 013746 170370 013746 170372 013746 172354 000262' (6) ()OO~62' 691 000270' 000270' 010546 000272' 010045 000274' 004767 (4) (3) SEQ #INDPAR,DT.CFO(R 50006$ MOV (2lCCNTRL,-(SP) MOV @#SRO,-(SP) rl.JV @#SR3,-(SP) MOV @#PA.M36,-(SP) M8V @#PA.M37,-(SP) MOV @#KIPAR6,-(SP) SIS #14,@lCCNTRL MOV f.f.OV R5,-(SP) RO,-(R5) PC,KTSET BIT 000014 LET -(SP) ·- @CCNTRL LET -(SP) ·- @!lSRO LET -(SP) ·- @l#SR3 LET -(SP) ·- @#PA.M36 LET -(SP) ··- @#PA.M37 177572 013746 685 686 687 688 689 69C (3 ) IF INDIRECT CSRS THEN SAVE APPROPRIATE REGISTERS (CACHE, KT AND MAP) LET -(SP) + Nm\l @l#KIPAR6 SETUP APPROPRIATE REGISTERS TO GO AFTER INDIRECT CSRS LET @lCCNTRL := @lCCNTRL SET.BY #14 052777 000014 OOOOOOG OOOOOOG CALL KTSET IN JSR PARERR PROCESS PARITY ERROR TRAPS 08-SEP-78 07:43 PAR~RR.MAC (3) 692 (4 ) 693 (4 ) 694 (4 ) 695 (6) 696 (6) 697 (4 ) 698 699 700 701 702 703 704 (4 ) (6) (9 ) 705 (6) (8 ) (6 ) (9 ) (6) 706 (4) 707 (3 ) (5 ) (4 ) (3 ) (3 ) 708 (3 ) (5 ) (4 ) (3 ) (3 ) 709 (4 ) 710 (3 ) (7 ) (6) (5 ) (4 ) (3 ) (3 ) 71 ~ (2 ) 712 000300' 000302' 000302' 000310' 000310' 000316' 000316' 000324' 000324' 000332' 000332' 000340' 000340' MACY 11 30A(1052) PARERR ROUTINE 012605 012737 177400 172354 012737 160000 170370 012737 000077 170372 052737 000001 177572 052737 000060 LET @#KIPAR6 ·- #177400 LET @#PA.M36 ·- #160000 LET @#PA.M37 ·- #77 LET @,.\ISRO .- @l#SRO SET.BY #BITOO LET @#SR3 .- @#SR3 SET.BY #60 SEQ 0158 MOV (SP)+,R5 MOV #177400,@#KIPAR6 MOV #1GOOOO,@#PA.M36 MOV #77,@#PA.M37 BIS #BITOO,@#SRO SIS #60,@#SR3 TST BEQ (Rl ) 50010$ BIT BNE BIT BEQ #BIT15,@l(R1 ) 50011$ IIBIT04,@(R1 ) 50012$ M.JV (R1)+,R3 M:JV MOV JSR MOV R5,-(SP) #PA.CSR,-(R5) R3,-(R5) PC,BOA16 (SP)+,R5 MClV MOV MOV JSR MOV R5,-(SP) #PA.CSC,-(R5) (R3) ,-(R5) PC,BOA16 (SP)+,R5 ENDIF 50006$: SEARCH PARITY TABLE UNTIL ERROR IS FOUND AND O/P MESSAGE ... WHILE (R 1 ) NE #0 DO 50007$: 005711 001462 032771 001004 032771 001451 IF #9IT15 SETIN @(R1) OR #9IT04 SETIN @( R1 ) THEN 100000 000000 000020 000000 LET R3 012103 0105'::0 012745 010345 C04767 012605 010546 012745 C11345 OCOL;14' 004767 000420' 012605 112767 012745 012745 010045 004767 012605 000240 50011$: (R1 ) + 000056' rt.ov OOOOOOG CALL BOA16 IN «R3) ,#PA.CSC> 000066' OOOOOOG LET PA.SP : 9= #SPACE 000040 01C546 01~745 .- CALL BOA16 IN OOO~22' 000422 1 000430 1 000430' 000432' 000436 1 000442' 000446' 000450 1 0001;54' 000456 1 000456' 000460' PAGE 19-5 17:33 172516 + 000340' 000340' 000340' 000342' 000344' 000344' 000352' 000354' 000362' 000364' 000364' 000364' 000366' 000366' 000370' 000374' 000376' 000402' 000404' 000404' 000406' 000412' 20-SEP-l8 000462 1 000000' 000002 OOOOOOG 177404 MOV9 CALL MSGDHOOK IN MClV MOV MOV MGlV MOV JSR INLINE <60$: NOP> INLINE <9R 60$> #SPACE,PA.SP r{:ov R5,-(SP) #20$,-(R5) #PA.rflSG,-(R5) #MSGPOP,-(R5) RO,-(R5) PC,MSGDHOOK (SP)+,R5 60$: NOP PARERR PROCESS PARITY ERROR TRAPS 08-SEP-78 07:43 PAR~RR.Mt.C (2 ) 713 l2 ) 714 (6) 715 (6) (9 ) 716 (6 ) 717 (4 ) 718 (2 ) 719 720 (4) 721 (4 ) (3 ) 722 (4) 723 724 725 726 727 728 729 730 731 732 733 734 (6 ) ( 9) 735 736 (4 ) 737 (3) (7 ) ( 6) ( 5) (4) (3 ) ( 3) 738 ( 2) 739 000460' 000462' 000462' 000462' 000462' 000466' 000466' 00(:474' 000476' 000476' 000504' 000504' 000504' 000504' PAGE 19-6 SEQ 0159 60$ INLINE <20$:> LET PA.CNT 005267 177410 026767 002403 177404 177404 052760 100000 000020 .- 20$: PA.CNT + #1 INC IF PA.CNT GE PA.MAX THEN LET DT.ERR(RO) ..- PA.CNT PA.CNT,PA.MAX CMP 50013$ BLT DT.ERR(RO) SET.3Y #FATERR #FATERR,DT.ERR(R BIS ENDIF 500135: INLINE BR 100$ 000424 ENDIF 50012$: ENDDO BR 50007$ BIT BNE #PDP70,DT.CFO(RO 50014$ GLRB PA.SP MOV 50010$: ENDIF 50003$: j+ NO PARITY OR EGC ENABLED SO ISSUE ERROR MSG OR NO ERROR WAS FOUND IN THE PA!;ITY CSRS. ; DO ~~OT PRINT THE MSG IF THIS IS AN 11/70 BECAUSE IT DOES NOT HAVE PARITY CSRS. IT MAY OR MAY NOT j ; HAVE ECG CSRS IN THE TABLE ., 000510' 000510' 032760 000516' 001017 (2 ) 741 742 (4) 000556' 000556' (2 ) 17:33 BR 000776 000506' 000506' 000506' 000506' 000714 000510' 000510' 000510' 00C520' 000520' 000524' 000524' 000526' 000532' 000536 ' 000542' 00C544' 000550' 000552: 000552' 000554' 000554' 000556' 000556' 740 20-SEP-78 MACY11 30A(1052) PARERR ROUTINE IF #PDP70 NOTSETIN DT.GFO(RO) THEN 010000 000014 LET PA.SP : B= #0 105067 010546 012745 012745 012745 010045 004767 012605 177310 CALL MSGDHOOK IN 000556' 000000' 000002 MOV rVlOV OOOOOOG JSR MOV R5,-(SP) #9$,-(R5) #PA.MSG,-(R5) #MSGPOP,-(R5) RO,-(R5) PC,MSGDHOOK (SP)+,R5 4$: NOP BR 4$ ft.OV rliov 000240 000776 INLINE <4$: NOP> INLINE
INLINE <9$:> ENDIF 9$: 50014$: PAR ERR PROCESS PARITY ERROR TRAPS 08-SEP-78 07:43 PAR:::RR.MAC 743 744 745 746 747 748 (2 ) 749 (6) (9 ) 750 (4 ) 751 (4) 752 (4 ) 753 (4 ) 754 (4 ) 755 (4 ) 756 757 (4 ) 758 759 760 761 762 (3 ) 763 MACY11 30A(1052) PARERR ROUTINE 20-SEP-78 17:33 PAGE 19-7 SEQ 0160 ;+ ; IF INDIRECT CSRS THEN RESTORE CACHE, KT AND MAP REGISTERS 000556' 000556' 000556' 000556' 000564' 000566' 00056e' 00057:2' 000572' 000576' C00576' 000602' 000602' 000606' 000606' 000612' 000612' INLINE <100$:> 1 ;JO$: IF #INDPAR SETIN DT.CFO(RO) THEN 032760 001414 000040 012637 172354 012637 170372 012637 170370 000014 LET @lnPA.M36 ···- LET @l#SR3 '- (SP)+ LET @#SRO .- (SP)+ LET @lIlKIPAR6 012637 172516 012637 177572 LET @kPA.M37 LET @lCCNTRL 012677 .- #INDPAR,DT.CFO(R 50015$ MOV (SP)+,@#KIPAR6 MClV (SP)+,@l#PA.M37 MOV (SP)+,@l#PA.M36 MOV (SP)+,@l#SR3 MOV (SP)+,@lIlSRO MOV ~SP)+,@lCCNTRL JSR PC,RESREG RTS PC (SP)+ (SP)+ (SP)+ (SP)+ OOOOOOG ENDIF 000616' 000616' SIT 8EQ 500155: ;+ ; RESTORE REGISTERS AND RETURN 000616' 000616' CALL RESREG 004767 OOOOOOG 764 765 (3 ) (3) (2 ) 766 000622' 000622' 000622' 000622' ENDRTN 50000$: 50001$: 000207 000001 .END MACY 1 '1 30A(1052) SYMBOl.. TABLE PARERR PROCESS PARITY ERROR TRAPS 08-SEP-78 07:43 PARERR.MAC ACS~ 000102 rlCT 31 T = 004000 ADD~22= 001000 ADR 000006 APTFER= 000004 t.PT PRE= 000200 t.SB 00C106 I\SSEMi3= 000010 ASTAT = 000104 AUTO 000010 NJTJST= 020000 f:..\>JAS 000110 [lIT) COOO01 BITOO 000001 OIT:)l 000002 BIT02 000004 BITJ3 000010 BIT~4 000020 BIT05 000040 BITOG 000100 BIT07 000200 BIT08 000400 B1T09 001000 UITl 000002 f:)IT10 002000 bIT 11 004000 BIT12 010000 f:)IT13 020000 [3 IT 14 040000 81T15 10COOO BIT2 000004 13IT3 000010 B1T4 000020 BITS 000040 8IT5 000100 SIT 7 000200 BIT8 000400 BIT9 OO~OOO BKCEF 000002 BKr:.JD 000020 BKI\~ODE = 040000 i3KSLSH= 000134 GOA16 = ****** G CAPRES= 000004 CASTAT= 000004 CCNTRL= **.,,*** G CDERCT:: 000146 CD'ADCT= 000144 C KT I ~11 = 'i 00000 CLKPRE= OOCOOl CONFIG= 000056 CQCVF 000001 000015 CR CSRA CSRC CTRLC CTRLO CTRLU DCEVNT= DEFRTN= DIAGMC= DROPMO= DSEVNT= DTABLE= DT.ADD= DT.AP = DT.APK= DT.BLS= DT.CFO= DT.CF1= DT.ERR= Di.ESI:: DT.EVN= DT.EXS= DT.FCH= DT.FCN= DT.HMX= DT.KBE= DT.KBP= DT.KSR= DT.KBU= DT.MLS= DT.MT1= DT.OFF= DT.PAS= DT.PC = CT.PFL= DT.PSW= DT.PTA:: DT.RCS= DT.REL= DT.SCT= DT.SMX= DT. SP = DT.SS1= DT.STO= DT.ST1= DT.SWR= DT.SYP= DT.WSG= DT.WHL= DT.WLL= DV1Dl = ECCMEM= ECCSTA= ENSEOP= 17:33 20-SEP-78 000100 000102 000003 000017 000025 000011 000400 000000 100000 00001-1 000000 000042 000100 000076 000034 000014 000016 000020 ENBNUL= ENDLST= EOPBIT= ERRLOG= ERRTYP= EVNTBE= EVNTHD= EVNTKT= EVNTPE= EVI'!TRE= FATERR= HRDCNT= HRDPAS= ICONT = ICOUNT= IDNUM = IE INDPAR= OOCC4~ !NHD~P= 000000 000060 000037 000036 000104 000024 000026 000022 000030 000032 000110 000070 000074 000002 000052 000004 00C064 000102 000040 OOOOl3b 000106 000006 000046 000010 000012 000056 000072 000050 000054 000052 000014 000100 000010 010000 INHEPR= INHREL= INHRRE= INIT INTR lOMOD lOiviODP= IOMODR= !OMODX= JACK KIPARO= K1PAR1= K1PAR2= KIPAR3= KIPAR4= KIPAR5= KIPAR6= KIPAR7= KIPDRO= KIPDR1= KIPDR2= KIPDR3= KIPDR4= KIPDR5= K1PDR6= KIPDR7= KTERRO= KTPRES= KTSET = KTSTAT= KTXTND= LF LPSTAT= MAPSTA= PAGE 20 SEQ 0161 000001 000000 000001 ****** G 000108 000200 000200 000203 000202 00C201 100000 COO044 000050 000036 000040 000122 000100 000040 040000 020000 001000 000400 000030 000120 100000 1020('0 112000 110000 035060 172340 172342 172344 172346 172350 172352 172354 172356 172300 1,'2302 172304 1723C6 172310 172312 172314 172316 000040 000400 **>!-*** G 000020 040000 000012 000001 000200 MED MEMPAS= MODEXH= MODHOL= MODSEL= MSGCKD= MSGCKS= MSGDER= MSGDHO= MSGDRP= MSGECH= MSGEOP= MSGHDR= MSGHNG= MSGHRD= MSGMAP= MSGNUL= MSGPOP= MSGPRM= MSGRES= MSGSFT= MSGSKE= MSGSMB= MSGSMH= MSGSMS= rv1SGSTD= MSGSYS= MSSVEC= NBKrI.OD= NCPUOP= NDAPTY= NULL OWEN PAEKR PARERR PARPRE= PARSTA= PASCNT= PA.CNT PA.CSC PA.CSR PA.MAX PA.MSG PA.M36= PA.M37= PA.SP PDPLS1= PDP60 PDP70 PRI0 PR!l PRI4 PRI5 076600 040000 004000 002000 001000 000010 000C11 000005 ***"'** G 000017 177777 000013 000004 000022 000007 000021 177775 000002 177776 000001 000006 000003 000015 000014 000016 000000 000012 000020 001000 COJ020 000002 000000 02·:1020 00J010 000102RG 002000 000100 000034 00OO76RG 000066R 00OO56R 000100R OOOOOOR 170370 170372 000034R 02,;)000 004COO 010000 000000 000040 000200 000240 PRI6 PRI7 PRO PR4 PR5 Pr16 P~7 PS PS\,>J R,:..r-iNUM= R3UFEA= RBUFPA= F~BL'FSZ= RJUFVA= RDSERV= ROWHMI= RELERR= R:::LMOD= REL TIM= RE'::.REG= RESl R:::S2 RICHAR= R?TDAT= RSTRCY= RSTRT = RJSOUT= RUNr,10D= R5VALU= SAM SAVREG= SatlDR = S3KMOD= saKSEL= SC.ADR= SC.ALC= SC.APC= SC.CKL= SC.CKP= SC.CLO= SC.HLD= SC.SCA= SENJLS= SOFCNT= SOFFAS= SPACE = SPOINT= SPVALU= SRO SRl SR2 SR3 STAT 000300 000340 000000 000200 000240 000300 000340 177776 177776 000054 000130 000126 000132 000124 000101 000022 000020 02.]000 Gl0000 ****** G 000055 000060 031060 002000 *'1'**** G 000112 000177 100000 001740 075464 ****** G 000102 000000 010000 000006 000014 000016 000002 000004 000000 000010 000012 177777 000042 000046 000040 000032 002200 177572 177574 177576 172516 000026 MACY11 30A(1052) SYMBOL iABLE PARERR PROCESS PARITY ERROR TRAPS 08-SEP-78 07:43 PARcRR.MAC STATBI= STAT1 = SUSPND= SVRO SVR1 SVR2 SVR3 SVR4 SVR5 SVR6 SYSCNT= SYSERR= H/lPIO = TQOVF = lJIPARO= UI P.~R 1 = ~IPAR2= UIPAR3= UIPAR4= UIPAR5= UIPAR6= UIPAR7= UIPDRO= ASS. UIPDR1= UIPDR2= UIPDR3= UIPDR4= UIPDR5= UIPDR6= UIPDR7= WASADR= WBSTAf= WBUrEA= WBUFPA= WSUFRQ= WBUFSZ= 064757 000027 000001 000062 000054 COO066 000070 000072 000074 000076 0:)0052 (-00100 000002 000002 177640 177G42 177644 177646 177650 177652 177654 177656 177600 000000 000624 ~\lDFR WDTO WTINRE::: WTWHMI= XFLAG ::: XOFF XON $SGNLE::: $ERFLG= $F$AND= 177602 177604 177606 177610 177612 177614 177616 000104 000040 000136 000134 000140 000142 000116 000114 000352 000222 000005 000023 000021 177777 000400 000310 000 001 ERRORS DETECTED: 0 DEFAULT GLOBALS GENERATED: 0 DSKZ:PARERR,DSKZ:PARERR=SPMAC/ML,EQUATE,PARERR RUN-TIME: 17 7 .4 SECONDS RUN-TIME RATIO: 41/25=1.6 CORE USED: 14K (27 PAGES) 20-SEP-78 $F$BAD= $F$BLA= $F$CAS= $F$DEC= $F$DO = $F$FAL= $F$GOO= $F$IF = $F$INC= $F$LOO= $F$NAM= $F$NO = $F$OR = $F$RTI= $F$RTN= $F$SEL= $F$THE= $F$TRU= $F$UNT= $F$WHI= $F$YES= $IFLEV= $ISKO ::; 000L;01 000170 000150 000220 000340 000405 000400 000110 000210 000200 000160 000403 000320 000350 000300 000140 000330 000404 000130 000120 000402 177777 000001 17:33 PAGE 20-1 SEQ 0162 $ISK1 = $ISK2 = $LOCTA= $LSTIN= $LSTTA= $~JEST L= $NSKO $NSK1 $NSK2 $NSK3 $NSK4 $SAVLE= $SSKO = $TAGLE= $TAGNU= $TEN:P $TSKO $TSK1 $TSK2 $TSK3 $TSK4 $$ARGC= $$BYTE= 000001 000001 177777 000001 000001 17'1777 000300 000 110 000120 000110 00J110 177777 050010 177777 05)016 000300 05'J015 050007 050010 050012 050013 000002 000403 $$CASE= $$DST = $SE LOC= $$ERFL= $$F LAG= $$FRON1= $$LGC = $$LOCN= $$REG = $$RETU= $$F\TN1= $$RTN2= $$SKC = $'ETGS\i= $$TGS1= $$TGS2= $'>TO $$$TAG= 000000 000000 000402 000000 000001 000000 000564R 000000 177777 000000 050000 050001 000000 000000 000000 000000 000000 050000 000624R .MAIN. ~ACY11 30A(1052) 20-SEP-78 EQUATE.MAC 13-SEP-78 16:13 3 583 5S6 634 1012 1~52 17:34 TABLE OF CONTENTS COMMON EQUATE MODULE PCDATA (COMMON DEFINITIONS AND REFERENCES) 000000' .PRINT ;SPMAC: VERSION 1.1 PCDAT~ (CODE) TOP16 SUBROUTINE TOP12 SUBROUTINE SEQ 0163 - 20-SEP-78 17:38 F~ST1CY RESET RECOVERY MACY11 30A(105:2) SYMBOL TABLE OB-SEP-78 08:17 RSTRCY.MAC lABL "TMPIO = TQOJF = UIPARO= UIPAR1= UIPAR2= UIPAR3= UIP\R4= LJIPUl5= UIPAR6= UIPAR7= UIPORO= LJIPDR1= UIPDR2= UIPDR3= UIP:)R4= UIP:)R5= UIPDR6= UIPDR7= ASS. ocooeo WASADR= WBSTAT= WBUFEA= WBUFPA= WSUFRQ= WBUFSZ= WDFR WDTO WTINRE= WT\JJHM 1= XFLAG = XOFF XON $8GN LE= $ERFLG= $F$AND= $F$BAD= $F$BLA= $F$CAS= 000002 000002 177640 177642 177644 177646 177650 177652 177654 177656 177600 177602 177604 177606 177610 177612 177614 177616 000000 000216 000104 000040 000136 000134 000140 000142 000116 000114 000352 000222 000005 000023 000021 177777 000400 000310 000401 000170 000150 000 001 0 ER~ORS DETECTED: DE;:-AULT GLOBALS GENERATED: 0 DSKZ:RSTRCY,DSKZ:RSTRCY=SPMAC/ML,EQUATE,RSTRCY RU~-TIME: 14 4 .3 SECONDS RUN-TI~E RATIO: 37/19=1.8 CORE USED: 14K (27 PAGES) $F$DEC= $F$DO = $F$FAL= $F$GOO= $F$IF = $F$INC= $F$LOO= $F$NAM= $F$NO = $F$OR = $F$fHI= $F$RTN= $F$SEL= $F$THE= $F$TRU= $F$UNT= $F$WHI= $F$YES= $IFLEV= PAGE :2C.".1 SEQ 0:243 0002:20 000340 000405 000400 000110 000210 000200 000160 000403 000320 000350 000300 000140 000330 000404 000130 000120 000402 177777 $ISKO = $ISK1 = $LOCTA= $LSTIN= $LSTTA= $NESTL= $NSKO = $NSK1 = $NSK2 = $SAVLE= $TAGLE= $TAGNU= $TEMP = $TSKO = $TSK1 = $$ARGC= $$BYTE= $$CASE= $$DST = 000001 000001 177777 000001 000001 177777 000300 000110 000110 177777 171777 05001:2 000300 050007 050011 000002 000403 000000 000000 $$ELOC= $$ERFL= $$FLAG= $$FROM= $$LOC = $$LOCN= $$REG = $$RETU= $$RTN1= $$RTN2= $$SRC = $$TGSV= $$TGS1= $$TGS2= $$TO $$$TAG= = 000402 000000 000001 000000 000172R 000000 177777 000000 050000 050001 000000 000000 000000 000000 000002 050000 000216R PCDATA (PROCESS CDATA & DATCK TRAP CALLS) MACY11 30A(1052) PCDATA.MAC 31-JUL-78 16:22 COMMON EQUATE MODULE 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 525 527 528 529 530 531 532 533 534 535 536 537 538 539 5::0 MODULE NAME: PCDATA FUNCTIONAL DESCRIPTION: THIS IS A TWO ENTRY MODULE (PCDATA & PDATCK BEING ENTRY POINTS). THIS MODULE IS CALLED AS A RESULT OF CDATA OR DATCK TRAP CALL EXECUTED BY AN OPTION MODULE, TO CHECK A BLOCK OF DATA TRANSFERRED BY A DEVICE. IF THERE ARE NO ERRORS IN THE BLOCK, CONTROL RETURNS IMMEDIATELY TO THE INSTRUCTION FOLLOWING THE TRAP CALL IN THE MODULE. IF THERE ARE ERRORS, HOWEVER, AN ERROR MESSAGE IS ENQUEUED (WITH TRAP ADDRESS FILLED AS THE MODULE'S RETURN ADDRESS), WORD COUNT AND ERROR COUNT ARE SAVED IN THE MODULE HEADER. IF 'PRINT ALL DATA ERRORS ' SWITCH IS SET, ALL ERRORS ARE ENQUEUED, OTHERWISE ONLY THE FIRST THREE ERRORS ARE ENQUEUED AND THE REST ARE LOGGED. THE SOFT ERROR COUNT IS INCREMENTED EVERY TIME AN ERROR OCCURS AND AT THE END OF THE BLOCK CHECK, A SUMMARY MESSAGE IS PRINTED FOR CDATA CALLS. SOFT ERROR WORD AND SOFT ERRORS PER PASS WORD ARE INCREMENTED IN THE MODULE'S HEADER. IF THE TRAP CALL IS DATCK, THE TOTAL NUM3ER OF ERRORS IS PASSED TO A LOCATION SPECIFIED IN THE TRAP CALL. 542 543 IM~LICIT 548 549 550 551 552 553 554 55:) 55G 557 558 559 560 561 562 563 PAGE 19 ;++ INPUTS: 1. DTABLE ADDRESS 545 546 547 17:34 .TITLE PCDATA (PROCESS CDATA & DATCK TRAP CALLS) .IDENT /VO.O/ 541 544 20-SEP-76 INPUTS: 1. DT.PC 2. DT.STO 3. DT.SWR 4. DT.EVNT OUTPUTS: NONE OUTPUTS: ,. DT.STO 2. DT.PC IM~LICIT PATHOLOGICAL CONNECTIONS: NONE SUBORDINATE ROUTINES CALLED: 1. ENOTQ ;ENQUEUES AN ERROR MESSAGE 2. UNIPA ;MAP22 ROwTINE 3. SAVREG 4. RESREG SEQ 0164 PCDATA (PROCESS CDATA & DATCK TRAP CALLS) PCDATA.MAC 31-JJL-78 16:22 COMMON 564 565 56G 567 563 569 MACY11 30A(1052) MODULE 20-SEP-78 17:34 PAGE 19-1 SEQ 0165 EQUAT~ 5. GETPSW 6. APTSER 7. DRPMOD GETS PS WORD APT SOFT ERROR ROUTINE DROP A MODULE FUNCTIONAL SIDE EFFECTS: NONE 570 571 :372 573 574 CALLING SEQUENCE: CALL PCDATA IN CALL PDATCK IN liJHERE AA 575 DTABLE ADDRESS 576 577 579 579 58C 581 VERSION: 0.0 EDIT DATE BY REASON PCDATA (PROCESS CDATA & DATCK TRAP CALLS) MACY11 30A(1052) 20-SEP-78 17:34 PCDATA.MAC 31-JUL-78 16:22 PCDATA (COMMON DEFINITIONS AND REFERENCES) 583 584 585 58G ( 1) .SBTTL PCDATA (COMMON DEFINITIONS AND REFERENCES) 000000' 000000' 587 588 589 59) 591 592 593 594 000001 000001 .MCALL STRUCT STRUCT .PRINT ;SPMAC: VERSION 1.1 $LSTIN=1 $LSTTIIG=1 ;**************** ; REFERENCED BY OTHER MODULES ;MODULE ENTRY POINT ;~ODULE ENTRY POINT .GLOBL PCDATA .GLOBL PDATCK ;*****.*********** 595 ; GLOBAL REFERENCES 596 397 .GLOSL .GLOBL .GLOBL .GLOSL .GLOSL .GLOSL .GLOBL 593 599 60:1 601 602 603 604 603 30G 607 60S 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 PAGE 19-2 ;ENQUE A MESSAGE ROUTINE ;MAP22 ROUTINE ;DROP A MODULE ENQTQ UNIPA DRPMOD SAVREG RESREG GETPSW APTSER ;GET PS WORD ROUTINE ;**************** LOCAL STORAGE ; NOTE: DO NOT DISTuRB THE ORDER OF THE NEXT 10 WORDS AS THEY FORM A TABLE. 000000' 000002' 000004' 000006' 000010' 000012' 000014' 000016' 000020' 000022' 000024' 000026' 000030' 000032' 000034' 000036' 000040' 000042' 000000 OOOOOJ 000000 000000 000000 000000 oooeoo 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 PC.RPt\: PC. REA: PC.RLO: PC.RH!: PC. Rr": PC. ',oJPA: PC.WEI\: PC.VJLO: PC. WH: : PC.WTP: 0 0 0 0 0 0 0 PC.RSl PC.TPC PC.TMP PC.DCF 0 ;REUFPA WORD ;RBUFEA '1iORD ;RBUF LO\lJER 16 BITS ;RBUF UPPER 2 BITS/6 ;RBUF TOP 12 BITS/16 ;WBUFPA '.>JORD ;WBUFEA WORD ;WBUF LO';JER 16 BITS ;WBUF UPPE.R 2 BITS/6 ;WGUF TOP 12 B1TS/16 0 0 0 0 0 0 .WORD .WORD . ~JORD .WORD 0 0 0 0 ;READ B~FFER SIZE ;PC OF CALL ;TEMP STORAGE ;DATCK FLAG ;USER MODE STACK BITS BITS BITS BITS SEQ 0166 PCDATA (PROCESS CDATA & DATCK TRAP CALLS) MACY11 30A(1052) PCDATA.MAC 31-JUL-78 16:22 PCDATA (CODE) 634 635 636 (2 ) 637 638 (4 ) 639 (2 ) 640 641 (2 ) 642 643 (4 ) 644 645 646 647 648 649 (2 ) 650 (3 ) ROUTINE PCDATA
000044' 000044' 000044' 000044' 005067 000050' 000050' 000403 659 (4) 660 661 662 663 664 (4 ) (6 ) 665 666 667 668 669 670 (4) (6) 671 672 673 674 675 676 PAGE 19-3 SEQ 0167 #0 CLR INLINE
ROUTINE PDATCK
000052' 000052' 000052' 000052' 012767 ·- LET PC.DCF PCDATA: 177762 ·- LET PC.DCF 000001 177752 PC.DCF BR COM PDATCK: #1 MOV # 1 ,PC. DCF ;+ ; SAVE REGISTERS , 000060' 000060' 000060' 000060' 004767 INLINE COM: CALL SAVREG JSR OOOOOOG PC,SAVREG ;+ ; SET RO TO DTABLE ADDRESS, R1 TO HEADER ADDRESS AND R2 TO TABLE ADDRESS ; POINTING TO RBUF PA,EA & SIZE. R3 AND R4 WILL BE POINTERS TO READ AND ; WRITE BUFFERS RESPECTIVELY. R2 ALSO SERVES AS A WHILE-DO LOOP CONTROL. , 656 657 (4 ) 17:34 .SBTTL PCDATA (CODE) 651 652 653 654 655 658 20-SEP-78 000064' 000064' 016500 000070' 000070' 017001 LET RO 000000 LET R'I ..- DT(R5) MOV DT(R5),RO MOV @DT.PC(RO),R1 rI:o v SUB DT . PC ( RO) , PC. TPC #2,PC.TPC rr.OV ADD PC.TPC,R2 #4,R2 @DT.PC(RO) 000002 ;+ ; DEVELOP RETURN ADDRESS FOR MESSAGE , 000074' 000074' 016067 000102 1 ~62767 LET PC.TPC 000002 000002 177724 177716 ·- DT.PC(RO) - #2 ;+ ; GET ADDRESS OF RBUF,PA,EA ;- 000110' 000110' 016702 000114' 062702 LET R2 := PC.TPC + #4 177712 000004 ;+ ; R3 GETS PA WORD AND SAVE ALSO IN PC.RPA 000120' LET R2 : = (R2) PCDATA (PROCESS CDATA & DATCK TRAP CALLS) MACY11 30A(1052) PCDATA.MAC 31-JUL-78 15:22 PCDATA (CODE) (4) 577 (4) 678 (4) 679 680 681 682 683 684 (4) 685 (4) 686 687 688 689 690 691 (4) 692 693 694 695 695 697 (4) 698 (4) 000120' 01'202 000122' 000122' 012203 000124' 000124' 010367 C00130' 000130' 012267 000134' 000134' 011267 000140' 000140' (3 ) 177650 713 MOV (R2)+,R3 MOV R3,PC.RPA MOV (R2)+,PC.REA 1\10V (R2),PC.RSZ MOV WBUFPA(R1),R4 MOV R4,PC.WPA MOV WBUFEA(R1),PC.WE LET PC. REA .- (R2)+ 177646 L~T PC.RSZ .- (R2) 17'1664 LET R4 := WBUFPA(R1) 016104 000134 FINALLY GET WBUFEA BITS INTO LOCAL STORAGE , 000144' 000144' 000150' 000150' 010467 016167 LET PC.WPA ·- R4 LET PC.WEA ·- WBUFEA(Rl) 177642 000136 177636 ;+ ; IF BIT15 OF WORD COUNT WORD OF MODULE HEADER IS NOT SET THEN YO~ ; ARE COMING TO THIS MODULE FOR THE FIRST TIME CLEAR THE WORD ; COUNT AND ERROR COUNT WORDS IN THE MODULE HEADER. , LET R2 016102 .- CDWDCT(R1) 000144 IFCOND PL THEN 100406 LET R2 005002 00506"1 005061 ·- LET CDWDCT(R1) := #0 LET CDERCT(R1) .- #0 000144 000146 ELSE 00042"\ MOV CDWDCT(R1),R2 BM! 50002$ CLR R2 CLR CDVJDCT(R1 ) CLR CDERCT(R1 ) BR 50003$ #0 50002$: 712 714 715 716 717 (R2),R2 ;+ 000162' 000162 000164' 000164' 000166' 000166' 000172' 000172' 000176' 000176 1 000200' (4 ) MOV LET PC.RPA := R3 ; 707 (4 ) 710 (4 ) 711 LET R:3 : = (R2)+ ;+ 0001~6' (4 ) SEQ 0168 ; GET W8UFPA INTO R4 000156' 709 PAGE 19-4 ., (4 ) (6 ) 17:34 ;+ ; SAVE EA BITS AND SIZE 699 700 701 702 703 704 705 706 702 20-SEP-78 ;+ ; ELSE YOU WERE HERE ; BEFORE FROM THE SAME TRAP MODIFY THE wORD COUNT, THE WRITE ; BUFFER AND THE READ BUFFER POINTERS ACCORDINGLY. MACY11 30A(1052) PCD,\ 1.\ (PROCESS CDATA & DATCK TRAP CALLS) PCDATA lCODE) 31-JUl..-78 16:22 PCD;\TA.MAC 718 719 (6 ) 720 (6 ) 721 722 723 724 725 726 (7) 72.7 (6 ) 728 (4 ) 729 (6 ) 730 ( 6) 731 (4) 732 733 734 735 73G 737 (6 ) 738 (6) 739 ( 6) 740 (4 ) 741 742 743 744 745 746 (7 ) 747 (4 ) 748 749 750 75i 752 (4 ) 753 754 755 756 757 758 000200' 000200' 042702 000204' 000204' 005202 LET R2 100000 LET R2 + 000206' OJ0206' 000210' OC0210' 000212' C00212' 000216' 000216' 000220' 000220' 000226' 000226' 010367 17:34 PAGE 19-5 SEQ 0169 R2 CLR.BY #31T15 LET R2 ·- R2 SHIFT ;FORM OFFSET LET R3 ·- R3 + R2 ;NEW RBUF PTR LET PC.RPA .- 177562 103003 LET PC. REA 000020 .- INC R2 ASL R2 ADD R2,R3 MOV R3,PC.RPA BCC 50004$ ADD #20,PC.REA ADD R2,R4 Bec 50005$ ADD #20,PC.WEA ASR R2 Mev R4,PC.WPA PC.REA + #':LO 177554 ENDIF 50004$: + UPDATE WRITE BUFFER POINTER AND IT'S EA BITS LET R4 000226' 000226' 060204 000230' 000230' 10300.3 0(,0232' 000232' 062767 000240' 000240' #BIT15,R2 R3 IFCOND CS THEN 062767 BIC ;UPDATE WORD COUNT R2 + #1 UPDATE READ BUFFER POINTER AND EA BITS 006302 060203 ··- ~0-SEP-78 ·- ;NEW WBUFF PTR R4 + R2 IFCOND CS THEN LET PC.WEA 000020 .- PC.WEA + #20 177554 ENDIF 50005$: ;+ ; RESTORE WORD COUNT , LET R2 000240' 000240' 006202 000242' 000242' ·- R2 SHIFT -1 ENDIF 50003$: ;+ ; NOW LOAD LOCAL STORAGE WITH WRITE BUFFER PA IN R4 , 000242' 000242' 010467 LET PC.WPA 177544 ;+ 1 ; , ·- R4 IF In IS ON THEN DETERMHIE PHYSICAL ADDRESS IN PAR FORMAT ....• MACY11 30A(1052) PCDATA (PROCESS CDATA & DATCK TRAP CALLS) PCDATA (CODE) 31-JUL-78 16:22 PCDATA.MAC 759 (6 ) (9) 760 761 762 763 764 765 (6) (9 ) 766 (3 ) (4) (3 ) (3 ) 767 (3 ) (4) ( 3) (3 ) 768 (3 ) (4 ) ( 3) (3 ) 769 (3 ) (4) (3 ) (3 ) 770 (4 ) (3 ) 771 (3 ) (4 I (3 ) (3 ) 772 (3 ) (4 ) (3 ) (3 ) 773 (4 ) 774 775 775 77;' 778 779 (4 ) 780 (4 ) 781 000246' 000246' 032760 000254' 001515 17:34 PAGE 19-6 SEQ 0170 IF #KTSTAT SETIN DT.STO(RO) THEN 000020 000010 + 000256' 000256' 000264' 000266' 000266' 000270' 000274' 000300' 000302' 000302' OJ030 Ll, ' 000310' 000314' 000316' 000316' 000320' 000324' 00033') , OC0332' 000332' 000334' 000340' 000344' 000345' 000346' 000350' 000350' 000350' 000352' 000356' 000362' 000364' 000364' 000366' 00C372' 000376' 000400' 000400' 20-SEP-78 000200 000010 CALL UNIPA IN <#PC.RPA> 010546 012745 004767 012605 000000' OOOOOOG 010546 012745 004767 012605 000012' OOOOCOG 01054<) 012745 004767 012605 000004' 000730 010546 012745 0()4767 012605 000016' 000714 #KTSTAT,DT.STO(R 50006$ BIT 8=:Q #MAPSTAT,DT.STO( 50007$ MOV MGV JSR MOV R5,-\SP) #PC.RPA,-(R5) PC,UNIPA (SP)+,R5 MOV MOV JSR MOV R5,-(SP) #PC.WPA,-(R5) PC,UNIPA (SP)+,R5 MOV MOV JSR MOV R5,-(SP) #PC.RLO,-(R5) PC,TOP16 (SP)+,R5 MOV MOV JSR MOV R5,-(SP) I;PC.h/ LO,-(R5) PC,TOP16 (SP)+,R5 BR 50010$ M::JV MOV JSR MOV R5,-(SP) #PC.RPA,-(R5) PC,TOP12 (SP)+,R5 IViOV MOV JSR MOV R5,-(SP) #PC.WPA,-(R5) PC,TOP12 (SP)+,R5 fJlOV @#KIPARO,@#UIPAR MOV PC.WTP,@#UIPAR5 IF 22 BIT ADDRESSING ENABLED, GET 22 BIT PHYSICAL ADDRESS IF #MAPSTAT SETIN DT.STO(RO} THEN 032760 001431 8IT BEQ CALL UNIPA IN <#PC.WPA> CALL TOP16 IN CALL TOP16 IN <#PC.WLO> ELSE 000414 50007$: CALL TOP12 IN <#PC.RPA> 010546 012745 004767 012605 000000' 000752 CALL TOP12 IN <#PC.WPA> 010546 012745 004767 012605 000012' 000736 ENDIF 50010$: + 000400' 000400' 013737 000406' 000406' 016737 000414' 172340 177410 LOAD PARS WITH VALUES PREVIOUSLY DETERMINED LET @#UIPARO .- @#KIPARO LET @#UIPAR5 .- PC.WTP LET @#UIPAR6 .- PC.RTP 177640 177652 MACY11 30A(1052} PCDATA (PRDCESS CDATA & DATCK TRAP CALLS) PCDA 1;\ {CODE) 31-uUL-73 16:22 PCDATA.MAC (4) 782 (4 ) 783 784 785 786 787 788 789 (6) 790 (6) 791 (6 ) 792 (6 ) 793 794 795 796 797 798 (4 ) (3 ) (4 ) 799 (6) 800 (2 ) (3 ) 801 (2 ) 802 (2 ) 803 804 805 806 807 (4 ) 80B 809 (4 ) 810 811 (2 ) 812 813 814 815 816 (4 ) (6 ) ( 9) 817 000414' 016737 000422' 000422' 012737 177370 177654 LET @#UIPAR7 177600 .- 20-SEP-78 17:34 PAGE 19-7 SEQ 0171 MOV PC.RTP,@#UIPAR6 MOV #177600,@#UIPAR7 B:C #177700,R3 SIS #140000,R3 BIC #177700,R4 BIS #120000,R4 SUB JSR MOV #1*2,R5 PC, GETPSIIJ (R5)+,PC.TMP BIS #140000,PC.TMP MOV MOV PC.TMP,-(SP) #33$,-(SP) #177600 1]7656 ;+ ; SET R3 TO SELECT PAR6 AND R4 TO SELECT PARS AND ALSO ; LOAD R3 AND R4 WITH LOWER 6 BITS OF RBUF AND WBUF ADDRESSES , 000430' 000434' 000434' 000440' 000440' 000444' 000444' R3 CLR.BY #177700 LET R3 ··- LET R4 ·- R4 CLR.BY #177700 LET R4 ·- R4 SET.BY #120000 LET R3 000430' 042703 052703 177700 140000 042704 177700 052704 120000 R3 SET.BY #1~00OO ;+ ; GET THE PSW AND GO TO USER MODE , 000450' 000450' 162705 000454' 004767 000460' 01~567 000464' 000464' C52767 000472' 000472' 016746 OOO~76' 012746 000502' 000502' 000002 000504' 000504' CALL GETPSW OUT 000002 OOOOOOG 177344 LET PC.TMP 140000 .- PC.TMP SET.BY #140000 177336 PUSH PC.TMP,#33$ 177332 000504' INLINE RTI INl..INE <33$:> 33$: + SET UP USER MODE STACK 000504' 000504' 012706 LET SP := #PCDATA MOV 000044' 000510' 000510' ENDIF 000510' 000510' INLINE <1$:> #PCDATA,SP 50006$: 1 $: ;+ ; NOW WE ARE READY TO COMPARE DATA WORDS , 000510' 000510' 000510' 020267 000514' 002113 000516' WHILE R2 LT PC.RSZ DO LET R2 .- 50011$: CMP BGE 177310 R2 + #1 R2,PC.RSZ 50012$ PC DATA (PROCESS CDATA & DATCK TRAP CALLS) MACY11 30A(1052) PCDATA.MAC 31-JUL-78 16:22 PCDATA (CODE) (6) 818 (6) (9) 819 820 821 822 823 824 825 (6) 826 (6) (8 ) (6) (9) (6) 827 (4) 828 (4) 829 (6) ( 9) 830 (6) 831 832 833 834 835 836 837 838 839 840 (4) 841 (4 ) 842 843 844 845 846 847 848 (4 ) 849 (4 ) 000:516 1 005202 000520 1 000520 1 021314 000!::>221 001461 20-SEP-78 17:34 PAGE 19-8 SEQ 0172 R2 crl1P (R3),{R4) 50013$ BEQ ;+ ; WORDS DID NOT COMPARE .... UPDATE ERROR COUNTS AND SEE IF ; MESSAGE SHOULD BE OUTPUTTED. 000524 1 000524 1 000530 1 000530 1 000536 1 000540 1 000546 1 000550 1 000550' 000550' 000554' 00C554' 000560 1 000560' 000566 1 000570 1 000570' LET CDERCT(Rl) 005264 CDERCT (Rl ) IF CDERCT(R1) 026127 003404 032760 001446 .- CDERCT(R1) + #1 000146 000146 LE #3 OR #BIT10 SETIN DT.SWR(RO) THEN 000003 CMP BIT BEQ CDERCT(Rl),#3 50014$ Ir'BIT10,DT .SWR(RO 50015$ MOV (R3),PC.WPA MOV (R4),PC.WEA BIT BEQ #KTSTAT,DT.STO(R 50016$ Brc #140000,PC.TMP BlE 002000 000056 500145: LET PC.WPA .- (R3) 011367 177236 LET PC.WEA .- (R4) 011467 177234 IF #KTSTAT SETIN DT.STO(RO) THEN 032760 001406 000020 000010 042767 140000 177232 LET PC.TMP '- PC.TMP CLR.BY #140000 ;+ ***************************************************************~ NOTE!!!!! DIRECT REFERENCE TO PSW FOLLOWS !!! I! IN AN LSI MACHINE WITH KT ( SHOULD THIS EVER EXIST ), DIRECT ACCESS TO PSW MAY NOT BE ALLOWED !!! THE USE OF SOME TRAP MAY BE NECESSARY TO SWITCH TO KERNEL!!I! ******************************¥********************************* 000576' 000576' 016737 0006041 000604 1 LET @#PSW .- PC.TMP 177226 177776 MOV PC.TMP,@#PSW ENDIF 50016$: ;+ ; LOAD EXPECTED DATA WORO AND SHOULD BE DATA WORD IN MODULE HEADER, SET ; BIT15 IN WORD COUNT WORD IN MODULE HEADER AND ENQUE THE ERROR MESSAGE. 000604 1 000604' 016761 000612 1 000612 1 016761 850 851 852 858 LET AS B ( R1) 177204 LET AWAS(Rl) 177174 : = PC. \.~ EA 000106 000110 + LOAD THE "BEEN HERE BEFORE ON THIS TRAP FLAG" 000620' Mev PC. MOV PC. WP A , A\.1/ AS ( R1 ) ~'E A , AS B ( R 1 ) .- PC.WPA 85~ 855 INC IF (R3) NE (R4) THEN LET CDWDCT(R1) '- R2 SET.BY #BIT15 MACY11 30A(1052) PCD~TA (PROCESS CDATA & DA1CK TRAP CALLS) PCDATA (CODE) 31-JUL-78 16:22 PCDATA.MAC (4) (6) 856 (3 ) (8) (7 ) (6) (5 ) (4) (3 ) (3 ) 857 (2 ) 858 (4 ) 359 (4 ) (3 ) 860 861 862 863 864 86S 866 ( 2) 867 ( 2) 868 ( 6) (9) 869 (6 ) ( 9) 870 (4 ) 871 ( 6) 872 (4 ) 873 (G) (9) 874 (4 ) 875 (6 ) 87E (4 ) 877 (4) 878 (4 ) 879 (4 ) (:3 ) 000620' 000624' 000'332' 000632' 000634' 000640' 000642' 000646' 000552' 00C654' 000660' 000662' 000662' 000664' 000664' 000664 ' 000f)641 000666 ' 010261 052761 010546 016745 010145 016745 012745 010045 004767 012605 000144 100000 20-SEP-78 17:34 PAGE 19-9 SEO Q173 000144 CALL ENQTQ IN MOV BIS R2, CD\~JDCT (R 1 ) #BIT15,CDWDCT(R1 MOV R5,-(SP) PC.TPC,-(R5) Rl,-(R5) oC.TPC,-(R5) #MSGCKD,-(R5) RO,-(R5) PC,ENQTQ (SP)+,R5 MO\/ 177166 MOV MOV MOV MOV JSR MOV 177160 000010 OOOOOCG INLINE
BR 3$ 000530 ENDIF 5001:;$: ELSE BR 000426 50017$ 500135: ;+ ; NO ERROR IN DATA WORDS, INCREMENT POINTERS. ; UPDATE PAR REGISTERS IF NECESSARY , 000666' 000666' 00(;670' 000670' 000672' 000672' 000700 ' 000702' 000702' 000706' 000710' 000710' 000714' 000714' 000722' 000722' 000722' 000722' 000726' 000730' 000730' 000734' 000734' 000742' 000742' 000742' 000742' 000742' 000742' 000742' 000742' 000744' INLINE TST (R3)+ 005723 INLINE 005724 TST (R4)+ IF #KTSTAT SETIN DT.STO(RO) THEN 032760 001420 000020 020327 001005 160000 012703 140000 062737 000200 000010 BIT Bt::Q #KTSTAT,DT.STO(R 50020$ OP.P 8~E R3,#160000 50021$ MOV #140000,R3 I\DD #200,@l#UIPAR6 CMP I3NE R4,#140000 50022$ MOV #120000,R4 ADD #200,@l#UIPAR5 SR 50011$ IF R3 EO #160000 THEN LET R3 .- #140000 LET @l#UIPAR6 .- @#UIPAR6 + #200 177654 ENDIF 50021$: IF R4 EQ #140000 THEN 020427 001005 140000 012704 120000 062737 000200 LET R4 .- #120000 LET @l#UIPAR5 .- @#UIPAR5 + #200 177652 ENDIF 50022$: ENDIF 5C0201: E.NDIF 50017$: ENDDO 000662 500121: PCDATA (PROCESS CDATA & DATCK TRAP CALLS) MACY11 30A(1052) r:OATA.MAC 31-JUL-78 16:22 PCDATA (CODE) ~O-SEP-78 17:34 PAGE 19-10 SEQ 0174 880 881 ;+ 882 883 88-+ 885 886 887 (6) (9) 888 NOW YOU GO TO KERNEL MODE, FOR SURE. CHECK IF THERE WERE ANY ERRORS. IF NONE, UPDATE DT.PC FOR PROPER RETURN AND CLEAR THE DEFERRED SERVICE ; BIT IN DT.STO, AND THATIS IT !!! (6) 889 890 891 892 893 894 895 896 897 898 (4 ) 899 (4 ) 900 901 902 903 904 905 906 ( 6) (9) 907 (6) 908 (6) i 000744 1 000744 1 032760 000752 1 001406 0007541 000754 1 042767 IF #KTSTAT SETIN DT.STO(RO) THEN 000020 000010 (6 ) (9 ) 914 (3 ) (4 ; (3 ) ( 3) 915 (4 ) (3 ) 916 917 918 BIT #KTSTAT,DT.STO(R 50023$ SIC #140000,PC.TMP LET PC.TMP .- PC.TMP CLR.8Y #140000 140000 177046 i+ ***************************************************************. NOTE. !!!!! DIRECT REFER£NCE TO PSW FOLLOWS !!!! I IN AN LSI MACHINE WITH KT ( SHOULD THIS EVER EXIST ), DIRECT ACCESS TO PSW MAY NOT BE ALLOWED!!I THE USE OF SOME TRAP MAY BE NECESSARY TO SWITCH TO KERNEL!!!! **************************************************************** 00C762 1 000762 1 016737 000770 1 000770 1 LET @#PSW '- PC.TMP 177042 177776 PC.TMP,@#PSW TST BEQ CDERCT(R1 ) 50024$ INC SOFCNT(R1 ) INC SDFPAS(R1) BIT BEQ #APTPRES,DT.CFO( 50025$ rt:ov MOV R5,-(SP) RO,-(R5) PC,APTSER (SP)+,R5 BR 50026$ 50023$: ;+ ; IF ERRORS, UPDATE ERRORS COUNTS AND DO APT 000770 1 000770 1 0007741 000776 1 000776 1 001002 1 001002 1 MOV ENDIF STU~F IF NECESSARY IF CDERCT{R1) NE #0 THEN 005761 001447 000146 005261 000042 005261 LET SOFCNT(Rl) '- SOFCNT(R1) + #1 LET SOFPAS(R1) '- SOFPAS(R1) + #1 000046 ;+ ; IF UNDER APT, CALL APT SOFT ERROR ROUTINE 909 910 911 912 913 8EQ 001006 1 001006 1 001014 1 001016 1 001016 1 001020 1 001022 1 001026 1 001030 1 001030 1 001032 1 IF NAPTPRES SETIN DT.CFO(RO) THEN 032760 001406 000200 000014 CALL APTSER IN 01C546 010045 004767 012605 M:JV JSR OOOOOOG ELSE 000431 50025$: ;+ ; NOT APT . . . . . SEE IF TOO MANY ERRORS PCDATA (FROCESS CDATA & DATCK TRAP CALLS) MACY11 30A(1052) PCDATA.MAC 31-JUl-78 16:22 PCDhTA (CODE) 919 920 921 922 923 924 925 926 927 (6) (9) 928 (3) (5) (4) (3) (3) 929 (4) (3) 930 (6) (9) (6) (9) 931 (3) (5) (4) (3) (3) 932 (4) 933 (4) 934 (4) 935 936 (4) 937 938 939 940 941 (6) 942 943 944 945 946 947 (6) (9) 948 (6) ~O-SEP-78 17:34 PAGE 19-11 SEQ 0175 ;+ ; IF aIT 15 SET IN SWITCH REGISTER ... OR IF TOO MANY SOFT ERRORS AND ; BIT 14 SETIN SWITCH. REGISTER ... ALSO DUMP MODULE .... OOi032' 001032' 001040' 001042' 001042' 001044' 001046' 001050' 001054' 001056 ' 001056' 001::160' 001060' 001060' 001066 ' 001070; 001076' 001100 ' 001100 ' 001102 ' 001104' 001106' 001112 ' 001114' 001114' 001114 ' 001114' 00' 1 14' 001114 ' IF #BIT15 SETIN DT.SWR(RO) THEN 032760 001407 100000 000056 CALL DRPMOD IN 010545 010145 010045 004767 012605 OOOOOOG BIT BEQ #BIT15,DT.SWR(RO 50027$ MOV MOV MOV JSR MOV R5,-(SP) R1,-(R5) RO,-(R5) PC,DRPMOD (SP)+,R5 ELSE BR 50030$ 50027$: IF SOFCNT(R1) HI DT.SMX(RO) AND #BIT14 NOTSETIN DT.SWR(RO) THEN CMP SOFCNT(R1 ),DT.SM BLOS 50031$ BIT #BIT14,DT.SWR(RO BNE 50031$ CALL DRPMOD IN MOV R5,-(SP) MOV R1,-(R5) MOV RO,-(R5) JSR PC,DRPMOD MOV (SP)"T,R5 ENDIF 50031$: 000415 026160 101412 032760 001003 010545 010145 010045 004767 012605 000042 000100 040000 000056 OOOOOOG ENDIF 50030$: ENDIF 500265: ENDIF 001114' 001114' 50024$: ;+ ; UPDATE RETURN P.C. 001114 I 001114' 062760 LET DT.PC(RO) .- DT.PC(RO) + #6 000006 000002 ADD #6,DT.PC(RO) TST SEQ PC.DCF 50032$ ADD #2,DT.PC(RO) + IF DATACK, UPDATE AGAIN 001122 ' 001122' 005767 001,26' 001403 001130' 001130 ' 062760 IF PC.DCF NE #0 THEN 176704 LET DT . PC ( R0 ) . - Di' • PC ( R0) + # 2 000002 000002 PCDATA (PROCESS CDATA & DATCK TRAP CALLS) MACY11 30A(1052) PCDATA.MAC 31-JUL-78 16:22 PCDATA (CODE) 949 (4) 950 951 952 :353 954 955 (6) 956 957 958 959 960 961 962 963 :364 965 966 (2) 967 (6) (9) 968 (6) (9) 969 970 971 972 973 974 97S 976 (4) 977 (4) (6) 975 979 980 981 982 (6) (9) 98:.;; (3) (8) (7) (6) (5) (4) (3) (3) 984 20~SEP-78 17:34 PAGE 19-12 SEQ 0176 Ef'IJDI F 001136' 001136' 50032$: ;+ ; MARK IT AS DEFFERRED RETURN 001136' 001136' LET DT.STO(RO) 042760 000400 .- DT.STO(RO) CLR.BY #DEFRTN BIC 000010 #DEFRTN,DT.STO(R ;+ IF THERE ARE SOME ERRORS, IF COUNT IS DONE, CHECK IF THE TRAP CALL WAS A CDATA CALL. IF SO, ENQuE THE ERROR SUMMARY MESSAGE AND CHANGE THE RETURN ADDRESS TO LOCATION IN THE TRAP CALL. FOR DATCK TRAP, CLEAR THE DEFERRED SERVICE BIT IN DT.STO AND LOAD ERROR COUNT INTO LOCATION IN THE TRAP CALL. IN CASE YOU FORGOT R2 CONTAINED WORD COUNT SO FAR. ;- 001144' 001144' 001144' 001,44' 001150' 001152' 001152' 001156' INLINE <3$:> 3$: IF CDERCT(R1) NE #0 THEN 005761 001440 000146 020267 002435 176646 TST BEQ CDERCT(R1 ) 50033$ CMP BLT ;~2, PC. RSZ 50034$ MOV R2,CDWDCT(R1) MOV ADD PC.TPC,R2 #6,R2 TST BNE PC.DCF 50035$ MOV MGV R5,-(SP) (R2),-(R5) R1,-(R5) PC.TPC,-(R5) #MSGCKS,-(R5) RO,-(R5) PC,ENQTQ (SP)+,R5 IF R2 GE PC.RSZ THEN + 001160' 001160' 010261 001164\ 001164' 016702 001170' 062702 UPDATE WORD COUNT AND SET R2 TO RETURN ADDRESS LET CDWDCT(R1) 000144 .- R2 LET R2 .- PC.TPC + #6 176636 000006 + IF CDATA, ENQUEUE SUMMARY MESSAGE 001174' 001174' 001200 001202 001202' 001204' 001206' 001210' 001214' 001220' 001222' 001226 1 001230' IF PC.DCF EQ #0 THEN 005767 001014 176632 CALL ENQTQ IN 1 TOP16: 1 ;+ THIS ROUTINE COMBINES THE 6 EA BITS WITH THE TOP 10 BITS OF THE PA WORD AND RETURNS THE RESULT IN PC.RTP/PC.WTP WORD. AA IS THE TABLE ADDRESS AND THE TABLE IS OF THE FORM: LO LOWER 16 BITS FROM MAP22 HI UPPER 6 BITS FROM MAP22 RESULT GOES HERE ( ) 001260 ' 001260 ' 004767 CALL SAVREG JSR OOOOOOG PC,SAVREG ;+ ; SET RO TO TABLE ADDRESS, R2 GETS 16-8IT PA AND Rl GETS 6-8IT ; EA. SHIFT PA 6 PLACES TO THE RIGHT AND BRING EA BITS IN POSITION ; 15-10. ADD EA AND PA TO GET TOP 16-BIT WORD. RETURN THE ; RESULT. 001264' 001264 ' 001270 ' 001270 ' 001272 ' 001272 ' 001274' 001274 1 001276 1 001300 1 001302 1 001304 ' 001306 ' 001310 ' 001310 1 0013141 0013141 LET RO '- AA(R5) 016500 000000 LET R2 . - 012002 LET R1 MOV AA(R5),RO MOV (RO)+,R2 MOV (RO)+,R1 ASR ASR ASR ASR ASR ASR R2 R2 R2 R2 R2 R2 BIC #176000,R2 SWAB R1 ASL ASL Rl R1 MOV ADD R2, (RO) R1,(RO) dSR PC,RESREG .- (RO)+ 01200 '! LET R2 '- R2 SHIFT -6 006202 006202 006202 006202 006202 006202 LET R2 .- R2 CLR.BY #176006 0427C2 176000 LET R1 . - SWAP R1 LET Rl .- R1 000301 00~316' 001316 1 001320 ' 0013221 001322 1 0013241 (RO) + SHIFT 2 00630' 006301 LET (RO) := R2 + R1 010210 060110 ;+ ; RESTORE REGISTERS 001326 ' 001326 1 004767 001332 ' CALL RESREG OOOOOOG ENDRTN PCDATA (PROCESS CDATA & DATCK TRAP CALLS) PCDATA.MAC 31-JUL-78 16:22 TOPi6 (3 ) (3 ) ( 2) 1050 001332' 001332' 001332' 000207 MACY11 30A(1052) ~v-SEP-78 17:34 PAGE 19-15 SUBROUTI~E SEQ 0179 50000$: 50001$: RTS PC PCDATA (PROCESS CDATA & DATCK TRAP CALLS) MACY11 30A(1052) PCDATA.MAC 31-JUL-78 16:22 TOP12 SUBROUTINE 1052 1053 1054 (2 ) 20-SEP-78 17:34 PAGE 19-16 SEQ 0180 .SBTTL TOP12 SUBROUTINE ROUTINE TOP12 001334' 001334' TOP12: 1~55 1056 1057 10!::>8 1059 1060 1061 1062 1063 1064 1065 1066 1067 (3 ) 1063 1069 1070 1071 1072 1073 1074 1075 1076 (4 ) 1077 (4) 1078 (4) 1079 (7 ) (7 ) (7 ) ( 7) (7 ) (7 ) 1080 (7 ) (7 ) (7 ) (7 ) (7 } (7 ) 1081 (6 ) 1082 (4 ) (6 ) 1083 1084 (3 ) 108:' 1086 ;+ THIS ROUTINE COMBINES THE 2 EA BITS WITH THE TOP 10 BITS OF THE PA WORD AND RETURNS THE RESULT INTO LOCATION PC.RTP/~C.WTP. BB IS THE TABLE ADDRESS AND THE TABLE IS OF THE FORM: PA EA LO HI ( RESULT GOES HERE 001334' 001334' CALL SAVREG 004767 OOOOOOG JSR PC,SAVREG MOV BI3(R5),RO MOV (RO)+,R2 MOV (RO)+,R1 ASL ASL ASL ASL ASL ASL R1 R1 R1 R1 R1 R1 ASR ASR ASR ASR ASR ASR R2 R2 R2 R2 R2 R2 BIC #176000,R2 MOV ADD R2,4(RO) R1,4(RO) JSR PC,RESREG ;+ SET RO TO TABLE ADDRESS. R2 GETS PA AND R1 GETS EA. ; BRING EA BITS IN POSITION 9-10 AND SHIFT PA 6 PLACES ADD EA AND PA WORDS TO GET TOP 12 BIT WORD. ; TO THE RIGHT. ; RETURN THE RESULT. 001340' 001340' 001344' 001344' LET RO .- BB(R5) 016500 000000 LET R2 .- (RO)+ 012002 001346' 001346' 001350' 001350' 001352' 001354' 001356' 001360' 001362' 001364' 001364' 001366' 001370' 001372' 001374' 001376' 0014CO' 001400' 001404' 001404' 001410' 001414' 001414' 001420' LET R1 .- (RO)+ LET R1 .- R1 SHIFT 6 012001 006301 005301 006301 00(3301 006301 006301 LET R2 .- R2 SHIFT -6 006202 006202 006202 006202 006202 006202 LET R2 := R2 CLR.BY #176000 042702 176000 010260 060160 000004 000004 004767 OOOOOOG LET 4(RO) '- R2 + R1 CALL RESREG ENDRTN PCDATA (PROCESS CDATA & DATCK TRAP CALLS) MACY11 30A(1052) PCDATA.MAC 31-JUL-78 16:22 TOP12 SUBROUTINE (2 ) 001420' 001420' 001420' 000207 1087 1083 000001 (3 ) (3) 20-SEP-78 17:34 PAGE 19-17 SEQ 0181 50000$: 50001$: RTS .END PC MACY11 30A(1052) PCDATA (PROCESS CDATA & DATCK TRAP CALLS) SYMBOL TABLE 31-JUL-78 16:22 PCDATA.MAC AA ACSR ACTSIT= ADDR22= ADR APTFER= APTPRE= APTSER= ASB ASSEMB= ASTAT = AUTO AUTOST= A'IJAS BB BITO BITOO BITOl B1T02 BIT03 BIT04 BIT05 BIT06 BIT07 BIT08 B1T09 BIT1 61T10 BIT 11 BIT 12 B1T13 BIT14 BIT 15 B1T2 BIT3 31T4 BITS BIT6 BIT7 BIT8 B1T9 BKDEF BKI\~OD 8Kr,~ODE= BKSLSH= CAPRES= CASTAT= CDERCT= CDv..DCT= CKTWI = CLKPRE= COM CONFIG= 000000 000102 004000 001000 000006 000004 000200 ****** G 000106 000010 000104 000010 020000 000110 000000 000001 000001 000002 000004 000010 000020 000040 000100 000200 000400 001000 000002 002000 004000 01COOO 020000 040000 100000 000004 000010 000020 000040 000100 000200 000400 001COO 000002 000020 040000 000134 000004 00)004 000146 000144 100000 000001 000060R 000056 CQOVF CR CSRA CSRC CTRLC CTRLO CTRLU DCEVNT= DEFRTN= DIAGMC= DROPMO= DRPMOD= DSEVNT= DT DT.ADD= DT.AP = DT.APK= DT.8LS= DT.CFO= DT.CF1= DT.ERR= DT.ESl= DT.EVN= DT.EXS= DT.FCH= DT.FCN= DT.HMX= DT.KBE= DT.KBP= DT.KBR= DT.KBU= DT.MLS= DT.MTl= DT.OFF= DT.PAS= DT.PC = DT.PFL= DT.PSW= DT.PTA= DT.Res= DT.REL= DT.SCT= DT.SMX= DT.SP = DT.SS1= DT.STO= DT.ST1= DT.SWR= DT.SYP= DT.WBU= DT.WHL= DT.WLL= DVID1 = 000001 000015 000100 000102 000003 000017 000025 000011 000400 000000 100000 ****** G 000014 000000 000042 000100 000076 000034 000014 000016 000020 000044 000000 000060 000037 000036 000104 000024 000026 000022 000030 000032 000110 000070 000074 000002 000062 000004 000064 000102 000040 000066 000106 000006 000046 000010 000012 000056 000072 000050 000054 000052 000014 ECCMEM= ECCSTA= ENBEOP= ENBNUI..= ENDLST= ENQTO = EOPBIT= ERRTYP= EVNTBE= EVNTHD= EVNTKT= EVNTPE= EVNTRE= FATERR= GETPSW= HRDCNT= HRDPAS= ICONT = ICOUNT= IDNUM = IE INDPAR= It-.JHDRP= INHEPR= INHREL= INHRRE= INIT INTR 10MOD IOiJIODP= IOMODR= I Grl1ODX= JACK KIPARO= K1PAR1= K1PAR2= KIPAR3::;: 000100 000010 010000 000001 000000 KIPA~4= 172350 172352 KIPAR5= K1PAR6= KIPAR7= KIPDRO= KIPDR1= KIPDR2= KIPDR3= KIPDR4= KIPDt:<5= KIPDR6= K1PDR7= KTERRO= KTPRES= KTSTAT= KTXTND= 20-SEP-78 ****** G 000001 000106 000200 000200 000203 000~02 000201 100000 ****** G 000044 000050 000036 OC0040 000122 000100 000040 040000 020000 001000 000400 000030 000120 100000 102000 112000 110000 035060 172340 172342 172344 1723Ll6 17~354 172356 172300 172302 172304 172306 172310 172312 172314 172316 OOOO~O 000400 000020 040000 17:34 PAGE 20 SEQ 0182 LF LPSTAT= MAPSTA= MED MEMPAS= MODEXH= MODHOL= MODSEL= MSGCKD= MSGCKS= MSGDER= MSGDRP= MSGECH= MSGEOP= MSGHDR= MSGHNG= MSGHRD= MSGMAP= MSGNUL= MSGPOP= MSGPRM= MSGRES= MSGSFT= MSGSKE= MSGSMB= MSGSMH= MSGSMS= IViSGSTD= MSGSYS= IViSGVEC= NBKMOD= NCPUOP= NOAPTY= NULL OWEN PAERR PARPRE= rARSTA= PASCNT= PCDATA PC.DCF PC. REA PC.RHI PC.RLO PC.RPA PC.RSZ PC.RTP PC.TMP PC.TPC PC.WEA PC.WHI PC.WLO PC.WPA 000012 000001 000200 076600 040000 004000 002000 001000 000010 000011 00·J005 000017 177777 000013 000004 000022 000007 000021 177775 000002 177776 000001 000006 000003 000015 000014 000016 000000 000012 000020 001000 000020 000002 000000 024020 000010 002000 000100 000034 000044RG 000032R 00OO02R 000006R 00OO04R OOOOOOR 00OO24R 00OO10R 000030R 00OO26R 0OOO14R 000020R OCOO16R 00OO12R PC.WTP PDATCK PDPLSI= PDP60 PDP70 PRIO PRI1 PRI4 PRI5 PRI6 PRI7 PRO PR4 PR5 PR6 PR7 PS PS,,\f RANNUM= RBUFEA= RBUFPA= RBUFSZ= RBUFVA= RDSt:RV= RD~mM I = RELERR= RELr,10D= REL TIM= RESF1EG= RES1 RES2 RICHAR= RPTc)AT= RST~T = RUBOUT= RUNrWD= R5VALU= SAI\~ SAVREG= SBADR SBKr,'OD= SBKSEL= SC.ADR= SC.ALC= SC.APC= SC.CKL= SC.CKP= SC.CLO= SC.HLD= SC.SCA= SENDLS= SOFCNT= SOFPAS= 000022R 000052RG 020000 004000 010000 000000 000040 000200 000240 000300 000340 000000 000200 000240 000300 000340 177776 177776 000054 000130 000126 000132 000124 000101 000022 000020 020000 010000 ****** G 000056 000060 031060 002000 000112 000177 100000 001740 075464 ****** G 000102 000000 010000 000006 000014 000016 000002 000004 000000 000010 000012 177777 000042 000046 MACY11 30A(1052) PCDATA (PROCESS CDATA & DATCK TRAP CALLS) SYMBOL TABLE 31-JU:"-78 16:22 PCDATA.MAC SPACE = SPOINT= SPVALU= SRO SR1 SR2 SR3 STAT STATBI= ST AT1 = SUS.:JND= SVRO SVR1 SVR2 SVR3 SVR4 SVR5 S'JR6 SYSCNT= SYSERR= TMPIO TOP12 TOP16 TQOVF UIPARO= ASS. UIPAR1= UIPAR2= UIPAR3= UIPAR4= UIPAR5= UIPAR6= UIPAR7= UIPDRO= UIPDR1= UIPDR2= UIPDR3= UIPDR4= UIPDR5= UIPDR6= UIPDR7= UNIPA = WASADR= WBSTAT= WBUFEA= WBUFPA= WBUFRQ= WBUFSZ= wDFR WDTO WTINRE= 000040 000032 002200 177572 177574 177576 172516 000026 06~757 000027 000001 (:00062 000064 000066 000070 000072 000074 000076 000052 000100 000002 001334R 001260R 000002 177640 000000 001422 177642 177644 177646 177650 177652 177654 177656 177600 177602 177604 177606 177610 177612 177614 177616 ****** G 000104 000040 000136 000134 000140 000142 000116 000114 000352 000 001 0 ERRORS DETECTED: DEFAULT GLOEAL.S GENERATED: 0 DSKZ:PCDATA,DSKZ:PCDATA=SPMAC/ML,EQUATE,PCDATA RUN-TIME: 28 19 .4 SECONDS RUN-TIME RATIO: 67/47=1.4 CORE USED: 14K (27 PAGES) WTWHMI= XFLAG = XOFF XON $BGNLE= $ERFLG= $F$AND= $F$BAD= $F$BLA= $F$CAS= $F$DEC= $F5DO = $F$FAL= $F$GOO= $F$IF = $F$INC= $F$LOU= $F$NAM= $F$NO = $F$OR = $F$RTI= $F$RTN= $F$SEL= $F$THE= $F$TRU= 000222 000005 000023 000021 177777 000400 000310 000401 000170 000150 000220 000340 000405 000400 000110 000210 000200 000i60 000403 000320 000350 000:;00 000140 000330 000404 20-SEP-78 17:34 PAGE 20-1 SEQ 0183 $F$UNT= $F$\tJH I = $F$YES= $IFLEV= $ISKO $ISK1 = $ISK2 = $ISK3 = $LOCTA= $LSTIN= $LSTTA= $NESTL= $NSKO $NSK1 $NSK2 $NSK3 $NSK4 $hlSK5 SSAVLE= $SSKO = $TAGlE= $TAGNU= $TEMP $TSKO $TSK1 000130 000120 000402 177777 000001 000001 000001 000001 177777 000001 000001 000000 000300 000300 000110 000110 000110 000110 177777 050012 177777 050002 000300 050033 050034 $TSK2 = $TSK3 = $TSi<4 = $$ARGC= S:3BYTE= $$U. SE= $$DST = S$E LOC= $:';E~FL= $$FLAG= $$F~OM= $$LCJC = $$LOCN= $$R::G = $$RETU= S$h:iN1= S$RTN2= $$SRC = $$TGSV= $$TGS1= $$TGS2= $$TO $$$TAG= 050036 050031 050022 000002 000403 000000 000000 000402 000000 000001 000000 001200R 000000 177777 000000 050000 050001 000000 000000 000000 000000 000000 050000 001422R .MAIN. MACY11 30A(1052) 20-SEP-78 EQUATE.MAC 13-SEP-78 16:13 3 555 558 591 17:35 TABLE OF CONTENTS COMMON EQUATE MODULE COMMON DEFINITIONS AND REFERENCES 000000 1 .PRINT PCTRLC ROUTINE ;SPMAC: VERSION 1.1 SEQ 0184 .MAIN. MACY11 30A(1052) 20-SEP-78 (QUATE.MAC 13-SEP-78 16:13 3 558 563 601 17:40 TABLE OF CONTENTS COMMON EQUATE MODULE COM~ON DEFINITIONS AND REFERENCES 000000' .PRINT ;SPMAC: VERSION 1.1 ACTIVATE BACKGROUND MODULE ROUTINE SEQ 0264 FCTRLC - PROCESS CTRL C MACY'1 30A(1052) 20-SEP-78 17:35 PAGE 19 28-JUL-78 09:09 COMMON EQUATE MODULE SEQ 0185 PCTRLC.M~C 503 S09 51C :31 1 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 54? 543 544 545 54b 547 548 549 550 551 552 553 .TITLE PCTRLC - PROCESS CTRL C .IDENT JVO.Oj ;++ MODULE NAME: PCTRLC FUNCTIONAL DESCRIPTION: CONT~OLS THE PROCESSING OF A CTRL C COMMAND FROM THE OPERATOR. INPUTS: DATA TABLE ADDRESS I iJl P LI CIT I NPUT S : DT.ADDR, DT.STO, DT.CFO OUTPUTS: NONE IMPLICIT OUTPUTS: DT.STO PATOLOGICAL CONNECTIONS: NONE SUBORDINATE MODULES CALLED: MSGDHOOK PRRLOC WBFLIM UNIMAP RSTRCY ;HOOK MESSAGE TO PROPER DRIVER ;PROCESS RELOCATION ;DETERMINE WRITE BUFFER LIMITS ;LOAD UNiBUS MAP ;RECOVER FROM RESET FUNCTIONAL SIDE EFFECTS: NONE CALLING SEQUENCE: CALL PCTRLC IN
A=DATA TABLE ADDRESS VERSION: 0.0 EDIT BY DATE REASON PCTRLC - PROCESS CTRL C MACY11 30A(1052) 2C-SEP-78 17:35 PAGE 19-1 PCTRLC.MAC 28-JUL-78 09:09 COMMON DEFINITIONS AND REFERENCES 555 556 557 558 ( ') 559 560 361 562 563 564 565 56S 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 SEQ 0186 .SBTTL COMMON DEFINITIONS AND REFERENCES .MCALL STRUCT STRUCT .PRINT ;SPMAC: VERSION 1.1 $LSTIN=l $LSTTAG=l 000000 ' 000000 I 000001 000001 ;**************** ; REFERENCED BY OTHER MODULES .GLOBL PCTRLC ;MODULE ENTRY POINT ;**************** ; GLOBAL REFERENCES .GLOBL .GLOBL. .GLOBL .GLOBl .GLOBL .GLOBl .GLOBL MSGDHOOK PRRLOC WBFLIM UNIMAP RSTRCY DX.RSTRT XCSR ;**************** ; LOCAL STORAGE 000000 ' 041536 000045 PC.MSG: .ASCIZ /RC%/ .EVEN **************** ;HOOK MESSAGE TO PROPER DRIVER ;PROCESS RELOCATION ;DETERMINE WRITE BUFFER LIMITS ; LOAD UNIBUS rJlAP ;RECOVER FROM RESET ;MONITOR RESTART ADDRESS ;KEYBOARD PRINTER CSR PCTRLC - PROCESS CTRL C MACY11 30A(1052) 20-SEP-78 17:35 PCTRLC.MAC 28-JUL-78 09:09 PCTRL: ROUTINE 591 592 593 594 (2) 595 596 597 598 5S9 600 601 (2) 602 603 604 605 606 607 608 (4) 609 610 61 1 612 613 614 615 (2) 616 617 618 619 620 621 622 (4) 623 (4) 624 (2) 625 626 (2) 627 628 629 630 631 632 633 (3) (4) (3) (3) 634 PAGE 19-2 SEQ 0187 .SBTTL PCTRLC ROUTINE 000004 1 000004 1 ROUTINE PCTRLC PCTRLC: ;+ ; SAVE REGISTERS 000004 1 000004 1 010046 PUSH RO MOV RO,-(SP) MOV TASL(R5),RO ;+ ; SET RO TO THE START OF THE DATA TABLE 000006 1 000006 1 016500 LET RO := TABL(R5) 000000 ;+ ; RESET THE UNIBUS 000012 1 000012 1 000005 INLINE ;+ ; CLEAR THE PSW. 000014 1 0000141 005046 000016' 000016' 012746 000022' 000022' 000002 000024 1 LET -(SP) '- #0 LE.T -(SP) .- #1$ RESET (LOWER THE PRIORITY) INLINE -(SP) MOV #1$,-(SP) RTI INLINE <1$:> 000024' 000024' 1$ : ;+ ; RESTORE THE PROCESSOR 000024' 000024' 0105~6 000026' 010045 000030' 004767 000034' 012605 CLR CALL RSTRCY IN ~ARDWARE TO THE STATE IT WAS IN BEFORE THE RESET. MOV rv:ov OOOOOOG dSR MOV R5,-(SP) RO,-(R5) PC,RSTRCY (SP)+,R5 PCTRLC - PROCESS CTRL C MACY11 30A(1052) 20-SEP-78 17:35 PCTRLC.MAC 28-JUL-78 09:09 PCTRLC ROUTINE PAGE 19-3 SEQ 0188 635 ;+ 636 637 633 639 640 (3 ) (7 ) (6 ) ( 5) (4 ) (3) ( 3) 641 (2 ) 642 (2 ) 643 54~ (2 ) 645 646 647 348 649 650 651 652 ( 6) ( 9) 653 ( 3) (5 ) (4) (3 ) (3 ) 654 (3 ) (4 ) (3 ) (3 ) 655 (6 ) (9 ) 656 (3 ) (4 ) (3 ) (3 ) 657 ... (" )\ 658 (4) 659 660 661 ; OUTPUT 000036' 000036' COO040' 000044' 0)0050' 000054' 000056' 000062' 000864' COO064' 000065' 000066' Ii~CIi. CALL MSGDHOOK IN 010546 012745 012745 0127~5 010045 004767 012605 000070 000000 000002 MOV MOV MOV 1 1 M~V MOV JSR OOOOOOG r.~ov INLINE <2$: NOP> 2$: NOP 000240 INLINE
BR 2$ 000776 INLINE <3$:> 000070' 000070' R5,-(SP) #3$,-(R5) #PC.MSG,-(R5) #MSGPOP,-(R5) RO,-(R5) PC,MSGDHOOK (SP)+,R5 3$: ;+ ; IF THE EXERCISER IS NOT IN LOWEST MEMORY MOVE IT THERE, THEN RESET THE WRITE ; BUFFER LIMITS, AND RELOAD THE UNIBUS MAP IF IT EXISTS. ;- 000070' 000070' 000076' 000100' 000100' 000102' 000106' 000110' 000114' 000116' 000116' 000120' OOG122' 000125' 000130' 000130' 000136' 000140' 000140' 000142' 000144' 000130' 000152' 000152 ' 000152 1 000152' IF DT.ADDR(RO) NE #200 THEN 026027 001425 000042 000200 CALL PRRLOC IN 010~4(3 012745 01004::; 004767 012605 010546 010045 004737 012605 032760 000200 OOOOOOG CALL WBFLIM IN DT.ADDR(RO),#200 50002$ MOV MClV MOV JSR MOV R5,-(SP) 1;200,-(R5) RO,-(R5) PC,PRRLOC (SP)+,R5 rJlov JSR MOV RS,-(SP) RO,-(R5) PC,WBFLIM (SP)+,R5 BIT BEQ #ADDR22,DT.CFO(R 50003$ MOV MOV JSR MOV RS,-(SP) RO,-(R5) PC,UNIMAP (SP)+,R5 Me\! OOOCOOG IF #ADDR22 SETIN DT.CFO(RO) THEN 001000 000014 001405 010546 010045 004767 012605 CMP BEQ CALL UNIMAP IN OOOOOOG ENDIF 50003$: ENDIF ;+ 50002$: PCT~LC - 662 863 664 665 ~6) CTRL C MACY11 30A(1C52) 20-SEP-78 17:35 28-JUL-78 09:09 PCTRLC ROUTINE ?~OC~SS PCT~LC.MAC PAGE 19-4 SEQ 0189 ; CLEAR THE RUN MODE INDICATOR AND THE RELOCATION TIME INDICATOR. 000152 1 000152 1 042760 LET DT.STO(RO) := DT.STO(RO) CLR.BY #RUNMODE!RELTIME 110000 000010 S6G 667 668 ;+ 363 ; RESTORE REGISTERS BIC HRUNMODEIRELTIME MOV (SP)+,RO 370 571 672 (2) 673 374 375 675 677 000160 1 000160 1 012600 POP RO ;+ ; RESTART THE MONITOR 378 679 (2 ) C001621 000162 1 000167 INLINE JMP DX.RSTRT OOOOOOG 68:) 681 6fl2 (3 ) (3) (2 ) 683 000166 1 000163 1 000166 1 000166 1 000207 000001 ENDRTN 50000S: 50001$: RTS . END PC PCTRLC PCTr~LC - PROCESS CTRL C r"IACY 11 30A(1052) 2C-SCP-78 17:35 SYMBO ... TABLE 28-JUL-78 09:09 .MAC ACSR ACTBIT= ADDR22= ADR APTFER= APTPRE= ASB ASSEM8= P,STAT = AUTO AUTOST= A~-JAS BITO BITOO BIT01 [3IT02 6IT03 BIT04 BIT05 BIT06 BIT07 BIT08 GIT09 BIT1 l3IT10 B1T11 BIT12 B1T13 BIT14 BIT15 B1T2 BIT3 BIT4 BIT5 BIT6 BIT7 BIT8 81T9 BKDEF BKrt.OD BKMODE= BKSLSH= CAFRES= CASTAT= CDERCT= CDl'JDCT = CKTIM = CLKPRE= CONFIG= CQOVF CR CSRA CSRC 000102 004000 001000 000006 000004 000200 000106 000010 000104 000010 020000 000110 000001 000001 000002 000004 000010 000020 000040 OOO~OO 000200 000400 001000 000002 C02000 00";000 010000 020000 040000 100000 000004 000010 000020 000040 000100 000200 0004CO O'J 1000 000002 000020 040000 000134 000004 000004 000146 000144 100000 000001 000056 000001 000015 000100 000102 000003 000017 000025 000011 OC0400 000000 100000 OC0014 000042 000100 000076 000034 000014 000016 000020 000044 000000 000060 000037 000036 000104 000024 000026 000022 000030 000032 000110 000070 000074 000002 000062 000004 000064 000102 000040 000066 000106 OaCOO6 000046 000010 000012 000056 000072 000050 000054 DT.~IJLL= 000052 DVID1 = 000014 DX.RST= ****** G ECCMEM= 000100 ECCSTA= 000010 ENBEOP= 010000 ENBNUL= 000001 ENDLST= 000000 CTRLC = CTRLO = CTRLU = DCEVNT= DEFRTN= DIAGMC= DROPMO= DSEVNT= DT.ADD::: DT.AP = DT.APK= DT.BLS= DT.CFO= DT.CF1= DT.ERR= DT.ESI= DT.EVN= DT.EXS= DT.FCH= DT.FCN= DT.HMX= DT.KBE= DT.KBP= DT.KBR= DT.KBU= DT.MLS= DT.MTl= DT.OFF= DT.PAS= DT.PC = DT.PFL= DT. PSI.J= DT. PT A= DT.RCS= DT.REL= DT.SCT= DT.SMX= DT.SP = DT.SSI:.: DT.STO= DT.ST1= DT.SWR= DT.SYP= DT.WBU= DT . vJH L= PAGE 20 EOPBIT= 000001 ERRTYP= 000106 EVNTBE= 000200 EVNTHD= 000200 EVNTKT::: 000203 EVNTPE= 000202 EVNTRE= 000201 FATERR= 100000 HRDCNT= 000044 HRDPAS= 000050 ICONT = 000036 ICOUNT= ,000040 IDNUM = 000122 000100 IE INDPAR= 000040 INHDRP= 040000 INHEPR= 020000 INHREL= 001000 INHRRE= 000400 INIT 000030 INTR 000120 IOMOD 100000 IOMODP= 102000 IOMODR= 112000 IOMODX= 110000 JACK 035060 KIPARO= 172340 KIPAR1= 172342 KIPAR2= 172344 KIPAR3= 172346 KIPAR4= 172350 KIPAR5= 172352 KIPAR6= 172354 KIPAR7= 172356 KIPDRO= 172300 KIPDR1= 172302 KIPDR2= 172304 KIPDR3= 172306 KIPDR4= 172310 KIPDR5= 172312 KIPDR6= 172314 KIPDR7= 172316 KTERRO= 000040 KTPRES= 000400 KTSTAT= 000020 KTXTND= 0.q0000 000012 LF LPSTAT= 000001 MAPSTA= 000200 076600 MED MEMPAS= 040000 MODEXH= 004000 MODHOL= 002000 SEQ 0190 MODSEL= MSGCKD= MSGCKS= MSGDER= MSGDHO= MSGDRP= MSGECH= MSGEOP= MSGHDR= MSGHNG= MSGHRD= MSGMAP= MSGNUL= MSGPOP= MSGPRM= MSGRES= MSGSFT= MSGSKE= MSGSMB= MSGSMH= MSGSMS= MSGSTD= MSGSYS= MSGVEC= N8KMOD= NCPUOP= NOAPTY= NULL OWEN PAERR PARPRE= PARSTA= PASCNT= PCTRLC PC.MSG PDPLSI= PDP60 PDP70 PRIO PRI1 PRI4 PRI5 PRI6 PRI7 PRRLOC= PRO PR4 PR5 PR6 PR7 PS PSi'" RANNUM= 001000 000010 000011 000005 ****** G 000017 177777 uOOO13 000004 000022 000007 000021 177775 000002 177776 000001 000006 000003 000015 000014 000016 000000 000012 000020 001000 000020 000002 000000 024020 000010 002000 000100 000034 000004RG OOJaOOR 020000 004000 010000 000000 000040 000200 000240 000300 00'')340 ***-1<** G 000000 000200 000240 000300 000340 177776 177776 000054 RBUFEA= R3JFPA= RBUFSZ= RBJFVA= RDSERV= RD'wHM I = RELERR= REU,10D= REL TIM= RES1 RES2 RICHAR= RPTCAT= RSTRCY= RSTRT = R'.JBDUT= RJNi\10D= R5VALU= SAM S8ADR = SgKMOD= S:3KSEL= SC.ADR= SC.ALC= SC.APC= SC.CKL= SC.CKP= SC.CLO= SC.HLD= SC.SCA= SENDLS= SOFCNT= SOFPAS= SPACE = SPO~NT= SPVALU= SRO SR1 SR2 SR3 STAT STATB!= STAT1 = SUSPND= SVRO SVR1 SVR2 SVR3 SVR4 SVR5 SVK6 SYSCNT= SYSERR= 000130 000126 000132 000124 000101 000022 000020 020000 010000 000056 000060 031060 002000 ****** G 000112 000177 100000 001740 075464 000102 000000 010000 000006 000014 000016 000002 000004 000000 000010 000012 177777 000042 000046 000040 000032 002200 177572 177574 177576 172516 000026 064757 000027 000001 000062 000064 000066 000070 000072 000074 000076 000052 000100 PCTRLC - PROCESS CTRL C IViACY1, 28-JUL-78 09:09 PCTRLC.MAC TABi... HIIPIO :: TQOVF :: UIPARO= UIPAR1= UIPAR2= UIPAR3= UIPAR4= UIPAR5= UIPAR6= UIPAR7= UIPORO= UIPDR1= UIPDR2= UIPDR3= UIPDR4= UIPORS= UIPDR6= UIPDR7= UNIMAP= 000000 000002 000002 177640 177642 177644 ABS. 000000 000170 30A(1052) WASAOR= WBFLIM:: WBSTAT= WBUFEA:: WBUFPA= IIJBUFRQ= WBUFSZ= WOFR WOTO WTINRE= WTWHMI= XCSR XFLAG = XOFF XON SBGNLE= $ERFLG= 1776~6 177650 177652 177654 177656 177600 177602 177604 177606 177610 177612 177614 177616 20-SEP-78 17:35 SYMBOL TABLE 000104 ****** G 000040 000136 000134 000140 000142 000116 000114 000352 000222 *Oi<**** G oeOO05 000023 000021 177777 000400 $F$A~D= 000310 $F$BAO= 000401 $F$BLA= 000170 ****** G 000 001 0 ERRORS DETECTED: L:>EFAULT GLOBALS GEN~RATED: 0 OSKZ:PCTRLC,DSKZ:PCTRLC=SPMAC/ML,EQUATE,PCTRLC RGN-TIME: 12 2 .4 SECONDS RuN-TIME RATIO: 29/15=1.9 CORE USED: 14K (27 PAGES) $F$CAS= $F$OEC:: $F$DO = $F$FAL= $F$GOO= $F$IF = $F$INC= $F$LOO= $F$NAM= $r=$NO = $F$OR = $F$RTI= $F$RTN= $F$SEL= $F$THE= $F$TRU= $F$UNT= $F$WHI= $F$YES= $IFLEV= PAGE 20-1 000150 000220 000340 000405 000400 000110 000210 000200 000160 000403 000320 000350 000300 000140 000330 000404 000130 000120 000402 177777 SEQ 0191 $ISKO :: $ISKl :: $LOCTA:: $LSTIN= $LSTTA= $NESTL= $NSKO = $NSK1 = $NSK2 = $SAVLE= $TAGLE= $TAGNU= $TEMP = $TSKO = $TSKl = $$ARGC= $$BYTE= $$CASE= $$OST = $$ELOC= 000001 000001 177777 000001 000001 177777 000300 000110 000110 177777 177777 050004 000300 050002 050003 000002 000403 000000 000000 000402 $$ERFL:: $$FLAG:: $$FROf\1:: $$LOC = $$LCCN= $$Rt:G = $$RETU= $$RTN1= $$RTN2= $$SRC = $$TGSV= $$TGS1:: $$TGS2= $$TO $$$TAG= 000000 000001 000000 000136R 000000 177777 000000 050000 050001 00·)000 000000 00,:)000 008000 000001 050000 000170R · r" AIN. MAC Y1 1 3 CA( ~ 052 ) 20 - S EP-7 8 EQU.HE.MAC 1';'-$cP-7816:13 1 7 : 36 TABLE OF CONTENTS 3 CGMMON EQUATE MODULE 575 PFAIL (COMMON DEFINITIONS AND REFERENCES) 57a' 000000 1 .PRIN~: ;SPMAC: VERSION 1.1 606 PFAIL (CODE) SEQ 0192 .MAIN. M~CY11 38A(1052) 20-SEP-78 EQUATE.MAC 13-SEP-78 16:13 3 563 566 601 17:41 TABLE OF CONTENTS COMMON EQUATE MODULE COMMON DEFINITIONS AND REFERENCES 000000 1 .PRINT BADMEM ROUTINE ;SPMAC: VERSION 1.1 SEQ 0272 PFAIL (PROCESS POWER FAIL/POWER UP) PFA:L.MAC 22-AUG-78 08:29 MA~Y11 30A(1052) 2:-SEP-78 17:36 PAGE 19 COMMON EQUATE MODULE 508 509 .TITLE PFAIL (PROCESS POWER FAIL/POWER UP) .IDENT /VO.O/ 511) 511 ;++ ~3 12 513 514 515 S1G MODULE NAME: PFAIL FUNCTIONAL DESCRIPTION: THIS MODULE CONTAINS THE FOLLOWING TWO ROUTINES: 517 518 ;HANDLES POWER DOWN SEQUENCE. ;HANDLES POWER UP SEQUENCE. 1. PWRDOWN 2. PWRUP 519 52,) 321 522 523 524 525 526 527 :528 529 ON POWER FAIL, IF THE SYSTEM CLOCK IS AVAILABLE IT IS TURNED OFF, POWER-UP VECTOR IS SET UP, AND THE CPU HALTS. ON POWER UP, THE FOLLOWING IS DONE: 1. SET UP POWER-DOWN VECTOR. 2. REINITIALIZE STACKS (R5 AND R6). 3. INCREMENT POWER FAIL COUNT IN DTABLE. 4. INITIALIZE APARS IF REQUIRED. 5. T~RN KT ON IF IT WAS ON BEFORE POWER FAIL. 6. TURN SYSTEM CLOCK ON IF AVAILA9LE. 7. PRINT POWER FAIL MESSAGE. 8. JU~P TO BOXOO (DX.RSTRT). 530 531 532 533 534 533 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 55E: 5::'7 558 559 560 561 562 563 INPUTS: NONE If'l1PLICIT INPUTS: 1 • DT . STO 2. DT.CFO 3. DT.PFL ;STATUS WORD #0 ;CONFIGURATION WORD #0 ;POWER FAIL COUNT WORD OUTPUTS: NONE IMPLICIT OUTPUTS: 1. DT.STO 2. DT.PFL PATHOLOGICAL CONNECTIONS: 1. DTABLE ADDRESS SUBORDINATE ROUTINES CALL.ED: ;CLOCK ON ROUTINE 1. CLKON ;CLOCK OFF ROUTINE 2. CLKOFF ;OUTPUTS A MESSAGE 3. MSGDHOOK ;STUFfS THE KERNEL & USER MODE APARS 4. KTSET ;RESET RECOVERY ROUTINE 5. RSTRCY FUNCTIONAL SIDE EFFECTS: NONE SEQ 0193 PFAIL (PROCESS POWER FAIL/POWER UP) PFAIL.MAC 22-AUG-78 08:29 564 565 566 567 S63 569 MACY11 30A(1052) 20-SEP-78 COMMON EQUATE MODULE 17:36 PAGE 19-1 SEQ 0.94 CALLING SEQUENCE: THE MODULES ARE ENTERED DIRECTLY AS A POWER UP. R~SULT OF POWER FAIL/ VERSION: 0.0 570 571 572 573 EDIT DATE BY REASON PFAIL (PROCESS PJWER FAIL/POWER UP) PFAIL.MAC 22-AUG-78 08:29 575 MACY11 30A(1052) 20-SEP-78 17:36 PAGE 19-2 PFAIL (COMMON DEFINITIONS AND REFERENCES) .SBTTL PFAIL (COMMON DEFINITIONS AND REFERENCES) 576 577 578 (1) 579 580 581 582 583 584 .MCAU.. STRUCT STRUCT .PRINT ;SPMAC: VERSION 1.1 000000 1 000000 1 $LSTIN=1 $LSTTAG=1 000001 000001 ;**************** ; GLOBAL REFERENCES 585 .GLOBL PWRFL . GLOBl PWRDO\oJN .GLOB~ PWRUP .GLOBL RSTRCY .GLOB. KTSET .GLOBl CLKON .GLOBL CLKOFF .GLOBl MSGDHOOK .GLOBL DX.RSTRT .GLOB~ DTABLE 586 587 588 589 590 591 592 593 594 595 596 597 ;**************** 598 599 600 601 602 603 604 000000 1 0000021 000010 1 000016' 000024 1 OOOOOOG 050045 043040 041517 042105 053517 044501 052503 000045 051105 020114 051122 ;FOWER FAIL VECTOR - LOC. 24 ;PGWER FAIL ENTRY POINT ;POWER UP ENTRY POINT ;RESET RECOVERY ROUTINE ;STUFF APARS ;TURN SYSTEM CLOCK ON ;T~RN SYSTEM CLOCK OFF ;TYPE A MESSAGE ROUTINE ;JUMP TO BOXOO ;DATA TABLE ; LOCAL STORAGE , PF.EXT: #DX.RSTRT ;RESTART ROUTINE PF.MSG: .ASCIZ /%POWER FAIL OCCURRED%/ .EVEN SEQ 0195 PFAIL (PROCESS POW~R FAIL/POWER UP) PFAIL.MAC 22-AUG-78 08:29 (4) 620 (4 ) 621 (4) 622 (4 ) 623 (6) (9 ) 624 (3) (4 ) (3 ) (3 ) 625 (4 ) 626 (2 ) 627 17:36 PAGE 19-3 SEQ 0196 ;+ ; POWER DOWN ROUTINE 509 613 20-SEP-7S .SBTTL PFAIL (CODE) 60S G07 608 610 611 612 (2) 613 614 515 016 617 018 MACY11 30A(1052) PFAIL (CODE) 000030 1 000030 1 IN LINE PWRDOWN: ;+ ; SET RO TO DTABLE ADDRESS. SET UP POWER-UP VECTOR, THEN HALT. ; AND TURN OFF SYSTEM CLOCK IF AVAILABLE. , 000030 1 000030 1 000034 1 0000341 000040 1 000040 1 000044 1 0000441 000052 1 00OC52 1 000060 1 000062 1 LET R5 ··- #R5VALUE LET RO ·- #DTABLE LET SP 012706 012705 012700 012767 002200 001740 OOOOOOG 000076 1 OOOOOOG LET PWRFL #SPVALUE .- MOV #SPVALUE,SP MCJV #R5VALUE,R5 MOV #DTABLE,RO MOV #P'}}RUP, PWRFL BIT BEQ #CLKPRES,DT.CFO( 50000$ MOV MOV JSR MOV R5,-(SP) RO,-(R5) PC,CLKOFF (SP)+,R5 #PWRUP IF #CLKPRES SETIN DT.CFO(RO) THEN 032760 001405 010546 000064 1 010045 1 000066 004767 000072 1 012605 000074 1 0000741 0000741 0000741 000000 000001 000014 CALL CLKOFF IN 000062' OOOOOOG ENDIF 50000$: INLlNE HALT PFAIl (PROCESS POWER FAIL/POWER UP) PFAIl.~AC 22-AUG-78 08:29 529 630 631 632 633 1334 (2) 635 635 537 633 639 640 641 642 ;+ ; SET UP POWER-DOWN VECTOR, INITIALIZE STACKS ; , seT RO TO DTABlE ADDRESS, AND INCREMENT ; POWER-FAIL COUNT WORD IN DTABlE. ;- lET PWRFL '- #PWRDOWN (4) 000116' 012700 000122' 000122' 005260 647 ( 6) 648 649 650 651 652 653 (6) (9) 654 (3) (4) (3) (3) 655 (3) (4) (3) (.3) 656 (4) 012767 (6) (9) 663 (3) MJV 000030' OOOOOOG #PWRDOWN,PWRFL INLINE RESET 000005 LET SP .- #SPVALUE 012706 002200 LET R5 .- #R5VALUE 012705 001740 LET RO .- #DTABLE OOOOOOG LET DT.PFL(RO) MOV #SPVALUE,SP MOV #R5VALUE,R5 MOV #DTABLE,RO INC DT.PFL(RO) '- DT.PFL(RO) + #1 000062 ;+ ; IF KT PRESENT THEN MAP APRS AND RESTORE HARDWARE TO PRE-POWER FAIL STATUS 000126 1 000126' 000134' 000136' 000136' 000140' 000142' 000146' 000150' 000150' 000152 000154' COO 160' 000162' 000162" 1 IF HKTPRES SETIN DT.CFO(RO) THEN 032760 001412 000400 000014 CALL KTSET IN 010546 010045 004757 012605 C~Ll 010546 010045 004767 012605 BIT SEQ #KTPRES,DT.CFO(R 50001$ MOV PIlOV R5,-(SP) RO,-(R5) PC,KTSET (SP)+,R5 JSR MOV OOOOOOG RSTRCY IN ENDIF JSR MOV R5,-(SP) RO,-(R5) PC,RSTRCY (SP)+,R5 SIT SEQ 50002$ MOV RS,-(SP) r::8V MOV OOOOOOG 6 t;:.., -'I 658 659 660 661 66~ SEQ 0197 P'NRUP: 0001~6' (4 ) 645 PAGE 19-4 INLINE 000076' 000076' (4) (2 ) 644 17:36 ,' - 646 643 20-SEP-78 ;+ ; POWER UP ROUTINE 000076' 000076' (;00104' 000104' 000106' 000106' 000112' 000112' (4) MACV11 30A(1052) PFAIl (CODE) 50001$: ;+ ; IF SYSTEM CLOCK AVAILABLE, TURN IT ON ;- 000162' 000162' 032750 000170' 001405 000172' 000172' 010546 IF #CLKPRES SETIN DT.CFO(RO) THEN 000001 000014 CALL CLKON IN #CLKPRES,DT.CFO( PFAIL (PROCESS POWER FAIL/POWER UP) 22-AUG-78 08:29 PFAIL.MAC (4) (3) (3) G64 (4 ) 665 G6G 667 G6B 669 670 (4 ) 671 (4) ( 6) (9) 672 (4 ) 673 (4 ) ( 6) ( 9) 674 (6) 675 (4 ) (3 ) 676 (6 ) 677 (4) (3 ) 678 679 680 681 000174 1 010045 000176 1 004767 000202 1 012605 000204' 000204' (2 ) 692 (3 ) (7 ) (6 ) (5 ) (4 ) 17:36 PAGE 19-5 SEQ 0198 OOOOOOG MOV JSR MOV RO,-(R5) PC,CLKON (SP)+,R5 MOV II-D<10>,R2 TST SEQ R2 50004S MOV 11-1,R1 TST SEQ R1 50006$ DEC R1 SR 50005$ DEC R2 SR 50003$ CLR -(SP) MOV 111$,-(SP) ENDIF 50002$: ;+ ; DO A TIMING LOOP TO LET EVERYBODY SETTLE DOWN ;- C00204' 000204 1 000210 1 000210' C00210' 000212' 000214' C'00214' 000220' 000220' 000220' 000222' LET R:2 := 11-0<10> 012702 000012 WHILE R2 NE 110 DO 50003$: 005702 001410 LET R1 012701 := 11-1 177777 WHI LE R1 NE 110 DO 50005$: 005701 001402 LET R1 000224' 000224' 000226' 000226' 000230' 000230' 000230 1 000232 1 000232 1 000234' := R1 - 111 005301 ENDDO 000774 LET R2 .- 50006$: R2 - 111 005302 ENDDO 000766 50004$: ;+ ; NOW LOWER PROIRITY TO 0 , 68~ 683 (4 ) 684 (4 ) 685 (2 ) 686 687 658 689 690 691 20-SEP-78 MACY11 30A(1052) PFAIL (CODE) 000234 1 000234 1 005046 000236 1 000236 1 012746 000242' 000242' 000002 LET -(SP) LET -(SP) 000244 ..- #0 111$ 1 INLINE RTI ;+ ; PRINT THE POWER FAIL MESSAGE AND JUMP TO DX.RSTRT. ,'000244' 000244' 000244' 000244 1 000246' 000252' 000256' 000262 1 INLINE <1$:> CALL MSGDHOOK IN 010546 012745 012745 012745 010045 000276 000002 000002 1 1 1 $: MOV MDV MOV MOV MOV RS,-(SP) 113$,-(R5) IIPF.MSG,-(RS) IIMSGPOP,-(RS) RO,-(RS) PFAIL (PF;OCESS POWE::\ FAI :"/POV~ER UP) PFAIL.MAC 22-;\UG-'i8 08:29 (3 ) (3 ) 693 (2 ) 694 (2 ) 695 (2 ) 696 (2 ) 697 (2 ) 69a 699 000264' 000270' 000272' C00272' 000272' 000272' 000274' 000274' 000276' 000276' 000276' 000276' 004767 MACY11 30A(1052) PFAI L (CODE) 20-SEP-78 OOOOOOG 17:36 PAGE 19-6 SEQ 0199 JSR MOV 012605 PC,MSGDHOOK (SP)+,R5 INLINE <2$:> 2$: INLINE NOP 000240 INLINE
BR 2$ 000776 INLINE <3$:> 3$: INLINE 000177 000001 JMP @PF.EXT 177476 . END PFAIL (PROCESS PJVJER FAr L/POi'JER UP) 22-AUG-78 08:29 PFAIL.MAC ACSR ACTBIT= ADDR22= ADR APTFER= APTPRE= ASB ASSEMB= ASTAT = AUTO AUTOST= !\':.JA S BITO SITOO BITOl f3ITJ2 BIT03 BIT04 BIT05 GIT06 E3IT07 alTOS BIT09 BIT, BIT10 BIT 11 E3IT12 BIT 13 [3IT14 BIT15 3lT2 BIT3 BIT4 BITS BIT6 8IT7 8ITS BlT9 BKDEF BK[,1OD BKr,10DE= BKSLSH= CAPRES= CASTAT= CDERCT= CD\..I,DCT= CKTIM = CLKOFF= CLKON = CLkPRE= CONFIG= CQOVF CR 000102 OOL-OOO 001000 000006 000004 000200 000106 COO010 000104 000010 C20000 000110 000001 000001 000002 000004 000010 000020 000040 000100 000200 000400 081000 000002 002000 004000 010000 020000 040000 100000 00(004 000010 000020 000040 000100 000200 000400 001000 000002 OOOO?O 040000 000134 000004 000004 000146 000144 100000 **>i'*** G ****** G 000001 000056 000001 000015 CSRA CSRC CTRLC CTRLO CTRLU DCEVNT= DEFRTN= DIAGMC= DROPMO= DSEVNT= DT,o\8LE= DT.ADD= OT.AP = DT.APK= DT.8LS= DT.CFO= DT.CF1= DT.ERR= DT.ESI= DT.EVN= DT.EXS= DT.FCH= DT.FCN= CT.HMX= DT.KBE= DT.KBP= DT.KBR= DT.KBU= DT.MLS= DT.MTI= DT.OFF= DT.PAS= DT.PC = DT.PFL= DT.PSW= DT. PT A= DT.RCS= DT.REL= DT.SCT= DT.SMX= DT.SP = DT.SSI= DT.STO= DT.ST1= DT.SWR= DT.SYP= DT.wBU= DT.WHL= DT.WLL= DVIDl = DX.RST= ECCMEM= ECCSTA= MACY ~1 30A(1052) Syrt.BOl TABLE 000100 000102 000003 000017 000025 000011 000400 000000 100000 000014 ****** G 000042 000100 000076 000034 000014 000016 000020 000044 000000 000060 000037 000036 000104 000024 000026 000022 000030 000032 000110 000070 000074 000002 000062 000004 000064 000102 000040 000066 000106 000006 000046 000010 000012 000056 000072 000050 000054 000052 000014 ****** G 000100 000010 17:36 20-SEP-78 ENBEOP= ENBNUL= ENDLST= EOPBIT= ERRTYP= EVNTBE= EVNTHD= EVNTKT= EVNTPE= EVNTRE= FATERR= HRDCNT= HRDPAS= ICONT = ICOUNT= lDNUM = IE INDPAR= INHDRP= INHEPR= INHREL= lNHRRE= INIT INTR IOMOD IOMODP= IOMODR= IOMODX= JACK KIPARO= KIPAR1= KIPAR2= KIPAR3= KIPAR4= KIPARS= KlPAR6= KIPAR7= KIPDRO= KIPDR1= KIPDR2= KIPDR3= KIPDR4= KIPDR5= KIPDR6= KIPDR7= KTERRO= KTPRES= KTSET = KTSTAT= KTXTND= LF LPSTAT= MAPSTA= PAGE 20 SEQ 0200 010000 000001 oocooo 000001 000103 000200 000200 000203 000202 000201 1eoooo 000044 000050 000035 0000 4 0 000122 000100 000040 040000 020000 001000 000400 000030 000120 100000 102000 112000 110000 035060 172340 172342 172344 172346 172350 172352 172354 172356 172300 172302 172304 172306 172310 ~72312 172314 172316 000040 000400 **,.*** OOGO~O 040000 000012 000001 000200 G MED MEMPAS= MODEXH= MODHOL= MODSEL= MSGCKD= MSGCKS= MSGDER= MSGDHO= MSGDRP= MSGECH= MSGEOP= MSGHDR= MSGHNG= MSGHRD= MSGMAP= I\1SGNUL= MSGPOP= MSGPRrJl= MSGRES= MSGSFT= MSGSKE= MSGSM8= MSGSMH= MSGSMS= MSGSTD= MSGSYS= MSGVEC= NBKMOD= NCPUOP= NOAPTY= NULL OWEN PAERR PARPRE= PARSTA= PASCNT= PDPLSI= PDP60 = PDP70 = PF.EXT P F . MSG PRIO P RI 1 PRI4 PRI5 PRI6 PRI7 PRO PR4 PR5 PR6 PR7 076600 040000 004000 002000 001000 000010 000011 000005 ****** G 000017 177777 000013 000004 000022 000007 000021 177775 000002 177776 000001 000006 000003 000015 000014 000016 000000 000012 000020 001000 000020 000002 000000 02~O20 000010 002000 000100 000034 020000 004()00 010000 OOOOOOR 00OO02R 000000 000040 000200 000240 000300 000340 000000 000200 000240 000300 000340 PS PSW PWRDOW PWRFL = P. 1 BDACNV: 1 ;+ ; SAVE REGISTERS. 501 602 (3) 1303 60L! 605 606 '007 608 609 610 (4) 000012 1 000012 1 004767 CALL SAVREG OOOOOOG JSR PC,SAVREG MOV ADR(R5),RO MOV HBD.TEN,R1 MDV ADD RO,R4 #5,R4 eMP RO,R4 50003$ ;+ ; SET RO TO THE START OF THE STORAGE AREA ; OF THE RESULT. ;- 000016 1 000016 1 016500 LET RO := ADR(R5) 000002 611 6,2 613 614 615 516 617 (4) ;+ ; SET R1 TO THE ADDRESS OF THE POWERS OF TEN TABLE. 000022 000022 LET R1 1 1 012701 000000 := #BD.TEN 1 618 619 620 621 6:2 623 624 (4) (6) 625 626 627 628 629 630 631 632 633 634 635 636 637 638 ;+ ; SET R4 TO COUNT 5 CHARACTERS. 000026 1 000026 1 010004 000030 1 062704 LET R4 := RO + #5 000005 ;+ PERFORM THE CONVERSION. 1. GET A POWER OF TCN FRCM THE TABLE. 2. SUBTRACT THIS VALUE FROM THE NUMBER WE ARE CONVERTING AS MANY TIMES AS POSSIBLE, KEEPING A COUNT OF THE NO. OF TIMES WE SUBTRACTED. 3. CONVERT THIS COUNT TO ASCII AND STORE IT IN THE STORAGE TABLE. 4. GET THE NEXT POWER OF TEN AND REPEAT. (4) (6) (9) 000034' 000034 000034 1 020004 000036 1 103016 639 640 000040 WHILE RO LO R4 DO 1 1 5000:2$: 6HIS LET R3 .- #0 PRRLOC - PROCESS RELOCATICN PRRLOC.MAC 28-JUL-78 09:09 508 509 MACY11 30A(1052) 20-SEP-78 17:36 COMMON EQUATE MODULE PAGE 19 SEQ 0203 .TITLE PRRLOC - PROCESS RELOCATION .IDENT JVO.Oj 510 51 1 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 5~9 550 551 552 553 554 555 556 557 558 ;++ MODULE NAME: PRRLOC FUNCTIONAL DESCRIPTION CONTROLS THE RELOCATING OF THE RUNTIME EXERCISER FROM ITS CURRENT LOCATION IN MEMORY TO A NEW LOCATION. INPUTS: DATA TABLE ADDRESS IMPLICIT INPUTS: DT.ADDR, DT.ERR, DT.STO, DT.SWR OUTPUTS: NONE OUTPUTS: DT.ADDR IMP~ICIT PATHOLOGICAL CONNECTIONS: NONE SUBORDINATE ROUTINES CALLED: NEWBA RELOC MSGDHOOK BOAC SAVREG RESREG ;ESTABLISH NEW BASE ADDRESS ;RELOCATE CODE ;HOOK MSG TO PROPER OUTPUT DRIVER ;BINARY TO OCTAL ASCII CONVERSION ;SAVE REGISTERS ;RESTORE REGISTERS FUNCTIONAL SIDE EFFECTS: QUEUEING MECHANISMS ARE INACTIVE DURING RELOCATION PROCESSING. CALLING SEQUENCE: CALL PRRLOC IN A=DATA TABLE ADDRESS B=NEW SASE OFFSET (IF SET TO #0, NEWBA WILL CALCULATE A NEW BASE ADDRESS.) VERSION: 0.0 EDIT BY DATE REASON PRRLOC - PROCESS RELOCATION PRRLOC.MAC 28-JUL-78 09:09 560 561 562 563 000000' ( 1) 000000 ' MACY11 30A(1052) 20-SEP-78 ~7:3a PAGE 19-1 COMMON DEFINITIONS AND REFERENCES SEQ 0204 .S8TTL COMMON DEFINITIONS AND REFERENCES 364 565 .MCALL STRUCT SHWCT .PRINT ;SPMAC: VERSION 1.1 $LSTTAG=1 $ LS TIN =1 OOOOOi 000001 566 367 568 569 ;**************** , 570 571 ; REFERENCED BY OTHER MODULES 572 573 .GLOBL. .GLOBL. 574 575 576 PRRLOC PR.RL1 577 ;**************** , 578 ; GLOBAL REFERENCES 579 580 .GLOBL. .GLOBt .GlOBL .GLOBL .GLOBL .GLOSL. 581 582 583 584 585 MSGDHOOK NEWBA RELOC BOAC SAVREG RESREG ;MODULE ENTRY POINT ;1ST RELOCATION FLAG ;HOOK MSG TO PROPER OUTPUT DRIVER ;ROUTINE TO FIND NEW BASE OFFS~T ;ROUTINE TO MO~E CODE ;BINARY TO OCTAL ASCII CONVERSION ;SAVE REGISTERS ;RESTORE REGISTERS 586 587 ;**************** , 588 ; LOCAL STORAGE 589 590 591 592 000000' 000000 593 000002' 000006' 000014' 000022' 000024' 000034' 000036' 000044' 000052' 000060' 00;)002 051045 05210' 020117 000010 OOOC4S 051045 594 595 596 597 598 599 600 601 602 05210~ 04110' 022504 000064' PR. RL1: . WORD 0 046105 042105 046105 047511 051117 041517 PR.TBL: .BLKW 2 PR.MSG: .ASCII /%RELOCATED TO / ; FIRST RELOCATImJ FLAG - PATHOLOGICA!..LY ; SET AT INITIALIZATION ;TABLE FOq BOAC ROUTINE ;RELOCATION M~SSAGE PR.NBR: ;STORAGE FOR ASCII BASE ADDRESS 052040 041517 020116 .BLKB 10 .ASCIZ /%/ PR.MS1: .ASCIZ /%RELOCATION ABORTED%/ 042524 000 • EIJ EN , ;**************** ;RELOCATION ABORTED MESSAGE PRRLOC - PROCESS RELOCATION 28-JUL-78 09:09 PRRLOC.MAC 604 605 606 601 (2) 608 603 610 1311 612 613 614 (3) 615 516 617 318 619 620 521 (4) 622 623 624 625 626 627 628 (4) 5~9 630 631 632 633 634 63S 63E.. 637 638 (4 (3 (6 (5 (4 (3 (3 (4 ) ) ) ) ) ) ) ) 639 (6 ) ( 9) 640 (4 ) 641 (4 ) 642 6~3 MACY11 30A(1052) 20-SE?-78 PRRLOC ROUTINE 17:36 PAGE 19-2 SEQ 0205 .SBTTL PRRLOC ROUTINE ROUTINE PRRLOC 000064 ' 000064 ' PRRLOC: ;+ ; SAVE REGISTERS 000064 ' 000064 ' 004767 CALL SAVREG OOOOOOG JSR PC, St\VREG MOV TABL(R5),RO MOV DT.ADDR(RO),R3 ;+ ; SET RO TO START OF DATA TABLE 000070 ' 000070 ' 016500 LET RO := TABL(RS) 000000 ;+ ; GET THE CURRENT BASE ADDRESS OFFSET 000074 ' 000074 ' 016003 LET R3 := DT.ADDR(RO) 000042 ;+ ; CALL NEWBA TO GENERATE A NEW BASE OFFSET. (THIS MUST BE DONE, EVEN IF A NEW ; BASE WAS PASSED TO THIS MODULE, TO ASSURE THAT NE~BA IS PROPERLY ; INITIALIZED.) AFTER CALLING NEWBA, IF A NEW SASE ADDRESS WAS PASSED ; TO THE MODULE, USE IT INSTEAD OF THE ONE NEWBA CALCULATED. 000100' 000100 ' 000104 ' 000106 ' 000112 ' 000114' 000116' 000122 ' 000124' 000126' OJ0126' 000132' 000134 ' 000134' 000140' 000140' CALL NEWBA IN OUT 162705 1')10546 016745 010345 010045 004767 0126C5 012504 000002 005765 001402 000002 016504 00000.2 MOV MOV #1*2,R5 R5,-(SP) PR.RL1,-(R5) R3,-(R5) RO,-(R5) PC,NE'.I:BA (SP)+,R5 (R5)+,R4 TST SEQ BASE(R5) 50002$ MO\} BASE(R5),R4 SUB MOV MeV 177666 MOV MOV JSR OOOOOOG IF 8ASE(R5) NE #0 THEN LET R4 .- 8ASE(RS) ENDIF 50002$: PRRLOC - PROCESS RE~OCATION PRRLOC.MAC 28-JUL-78 09:09 644 645 646 647 643 000140' (3). 000140' 010546 (7 ) 000142' 016745 (6) 000146' 010445 (5 ) 000150' 010345 (4 ) 000152' 010045 (3 ) 000154' 004767 (3 ) 000160' 012605 649 650 551 552 MACY11 30A(1052) 20-SEP-78 PRRLOC ROUTINE (9) 670 (6) (9} 671 672 673 674 675 676 677 678 (4) (7) (7) (7) (7) (7) 000162' 000162' 032760 000170' 001401 000172' 000172' 010304 000174' 000174' PAGE 19-3 SEQ 0206 ;+ ; CALL THE ROUTINE WHICH WILL MOVE THE CODE CALL RELOC IN MOV MOV JSR MOV R5,-(SP) PR.RL1,-(R5) R4,-(R5) R3,-(RS) RO,-(R5) PC,RELOC (SP)+,R5 BIT BEQ #RELERR,DT.ERR(R 50003$ MOV R3,R4 MOil MOV MOV 177632 OOOOOOG ;+ ; IF THERE WAS A RELOCATIO~ ERROR, THE EXERCISER WAS RETURNED ; TO ITS STARTING POINT, SO THE NEW BASE EQUALS THE OLD. 653 654 655 656 657 (6) (9) 65:3 (4) 659 (4) 660 661 662 663 664 665 666 667 668 669 (6) 17:36 IF #RELERR SETIN DT.ERR(RO) THEN 000020 000020 LET R4 0- R3 ENDIF 50003$: ;+ ; IF THE RELOCATION ERROR BIT IS NOT SET ; IN THE ERROR WORD OF THE DATA TABLE, WE HAD A SUCCESSFUL ; RELOCATION, SO FORM AND OUTPUT A MESSAGE, UNLE3S INHIBITTED BY THE ; SOFTWARE SWITCH REGISTER. OTHERWISE, OUTPUT AN ERROR MESSAGE. 000174' 000174' 000202' 000204' 000204' 000212' IF #RELERR NOTSETIN 032760 001061 000020 000020 032760 001054 001000 000056 IF #INHREL DT.ERR(RO) THEN NOTSETI~ BIT 8NE #RELERR,DT.ERR(R 50004$ BIT BNE #INHREL,DT.SWR(R 50005$ r.r.OV R4,Rl Rl R1 R1 Rl Rl DT.SWR(RO) THEN ;+ ; CONVERT THE NEW BASE OFFSET TO A PHYSICAL ADDRESS AND PUT IT ; IN THE PROPER FORMAT FOR BOAC TO USE. 000214' 000214' 010401 000216' 006301 000220' 006301 000222' 006301 000224' 006301 000226' 006301 LET Rl .- R4 SHIFT #+6 ASL ASL ASL ASL ASL PRRLOC - PROCESS RELOCATION 28-JUL-78 09:09 PRRLOC.MAC (7 ) 679 (6 ) (6 ) 680 681 G82 683 684 585 686 (6) (9) 687 (7 ) (7 ) 688 (6) 689 (4) (3 ) 690 ( 7) (7 ) 691 (6 ) 692 (4 ) 693 694 (3 ) (7 ) (G) ( 5) (4 ) (3 ) (3 ) 695 (3 ) (7 ) (6 ) (5 ) (4 ) (3 ) (3 ) 696 (2 ) 697 (2 ) 698 6 00 -' -' (2 ) 700 (4) 701 702 20-SEP-7B MACY11 30A(10:>2) PRRLOC ROUTINE 000230' 006301 000232' 000232 1 010402 000234 1 000302 17:36 LET R2 .- PAGE 19-4 SEQ 0207 ASL R1 MOV SWAB R4,R2 R2 SWAP R4 ;+ ; IF THE UNIBUS MAP IS ENABLED, SET UP FOR 22-BIT ADDRESS CALCULATION, ; OTHERWISE SET UP FOR 18-CIT CALCULATION. , 0- IF #MAPSTAT SETIN DT.STO(RO) THEN 1 000236 000236 1 000244' 000246 1 000246' 000250 1 000252' 000252 1 000256' 000256 1 000260 1 000260' 000260' 000262' 000264' 000264' 000270' 000270' 000270' 000270' 000272' 000276' 000300' 000302' 000304' 000310' 000312' 000312 000314" 000320' 000324' 000330' OOC332' 000336' 000340' 000340' 000342' 000342' 0003441 OC0344' 000344' 000344 1 032760 001405 000010 000200 LET R2 006202 006202 LET R2 042702 177400 ·- R2 SHIFT #-2 ·- R2 CLR.BY #177400 BIT SEQ #MAPSTAT,DT.STO( 50006$ ASR ASR R2 R2 SIC #177400,R2 BR 50007$ ASL ASL R2 R2 BIC #177717,R2 MOV MJV r/!JV MOV MOV JSR MOV R5,-(SP) #PR.NBR,-(R5) R2,-(R5) R1,-(R5) RO,-(R5) PC,80AC (SP)+,R5 MOV M.JV MOV MOV R5,-(SP) #2$,-(R5) #PR.MSG,-(RS) #MSGPOP,-(R5) RO,-(R5) PC,MSGDHOOK (SP)+,RS ELSE 000404 LET R2 006302 006302 042702 LET R2 177717 50006$: ·- R2 SHIFT #+2 ·- R2 CLR.BY #177717 ENDIF 50007$: CALL BOAC IN 010546 012745 010245 010145 010045 004767 012605 010546 012745 012745 012745 010045 004767 012605 000024 1 OOOOOOG CALL MSGDHOOK IN OU0344' 000006 1 000002 Mev JSR OOOOOOG MOV INLINE< 1 $: NOP> 000240 1 $ : NOP INLINE< ER 1$> BR 1$ 000776 INLINE <2$:> 2$: ENDIF 50005$: ;+ F'RRLOC - PROCESS RELOCATION 28-JUL-78 09:09 PRRLOC.MAC 703 704 705 706 (4) (3) 707 708 (3 ) (7 ) (6) (5) (4 ) (3 ) (3) 709 710 {2) 711 (2 ) 712 (2 ) 713 714 (4) 715 716 717 718 719 720 721 (4) 722 723 724 725 726 727 728 ( 3) 729 730 731 (3 ) (3 ) MACY 11 20-SEP-78 PRRLOC ROUTINE 30A(10~)2) 17:36 PAGE 19-5 SEQ 0208 j OUTi)UT AN ERROR MESSAGE. , ELSE 000344' 000344' 000415 000346' 000346' 000346' 000350' 000354' 000360' 000364' 000366' 000372' BR 50010$ IV;OV R5,-(SP) #10$,-(R5) #PR.MS1,-(R5) #MSGPOP,-(R5) 50004$: CALL MSGDHOOK IN 010546 012745 012745 012745 010045 004767 012605 MOV MOV 000400' 000036' 000002 M::JV 1'v10V OOOOOOG 000374' 000374' 000240 000376' 000376' 000776 000400' 000400' INLINE<9$ : NOP> INLINE
INLINE <10$:> PC,MSGDHOOK (SP)+,R5 9$: NOP BR 9$ 10$: ENDIF 000400' 000400' RO,-(~5) JSR MOV 50010$: j+ ; CLEAR THE FIRST RELOCATION FLAG , 000400' 000400' 005067 LET PR.RLl 177374 .- #0 CLR PR. RL1 JSR PC,RESREG RTS PC ;+ ; RESTORE REGISTERS , 000404' 000404' CALL RESREG 004767 (:.2 ) 000410' 00041C' 000410' 000410' 000207 732 733 000001 OOOOOOG ENDRTN 50000$: 50001$: .END PRRLOC - PROCESS RELOCATION 28-JUL-78 09:09 PRRLOC.MAC ACSR 000102 ACTa1T= 004000 ADD~22= 001000 ADR 000006 I,\PTFER= 000004 APTPRE= 0:)0200 ASB 000106 ASSEMS= 000010 ASTH = 000104 AUTO 000010 AUT8ST= 020000 A:.>.JAS 000110 000002 BASE BITO 000001 BITOO 000001 BIT01 000002 [HT02 000004 BIT03 000010 BIT04 000020 OOOOt;O HIT05 000100 BIT06 BIT07 000200 SIT08 000400 OO~OOO BIT09 8IT1 000002 002000 BIT10 BIT11 004000 [3 IT 12 010000 020.)00 61T13 81114 040000 100000 BIT 15 000004 31T2 000010 JIT3 BIT4 000020 BIT5 000040 000100 BIT6 3IT7 000200 000400 3118 001000 BIT9 Bf{DEF 000002 00(1020 BKrliOD BKr,;ODE = 040000 I3KSLSH= 000134 BOAC ****** G CAPRES= 000004 CASTAT= 08C004 C8ERCT= 000146 CDWDCT= 000144 CKllNi = 100000 CLKPRE= 000001 CONFlG= 000056 CQOVF 000001 000015 CR 20-SEP-78 MACY11 30A( 10:>2) SYMBOL TABLE 17:36 ENDLST= EOPBIT= ERRTYP= EVNTBE= EVNTHD= EVNTKT= EVNTPE= EVNTRE= FATERR= HRDCNT= HRDPAS= ICONT = ICOUNT= lDNUM = IE INDPAR= INHDRP= lNHEPR= IiJHREL.= INHRRE= INlT INTR lOMOD lOMODP= IOMODR= lOMODX= JACK KIPARO= KIPAR1= K1PAR2= KIPAR3= KIPAR4= KIPAR5= KIPAR6= KIPAR7= KIPDRO= KIPDR1= KIPDR2= KIPDR3= KIPDR4= KIPDR5= KIPDR6= KIPDR7= KTERRO= KTPRES= KTSTAT= KTXTND= LF LPSTAT= MAPSTA= MED MEMPAS= MODEXH= 000000 000001 000106 000200 000200 000203 000202 000201 100000 000044 000050 000036 000040 000122 000100 000040 040000 020000 C01000 000400 000030 000120 100000 102000 1120CO 110000 035060 172340 172342 172344 172346 172350 172352 172354 172356 172300 172302 172304 172306 172310 1723i2 172314 172316 000040 000400 000020 040000 000012 000001 000200 076600 040000 004000 CSRA CSRC CTRLC CTRLO CTRLU DCEVNT= DEFRTN= DIAGMC= DRGPf/l0= DSEVNT= DT.ADD= DT.AP = DT.APK= DT.BLS= DT.CFO= DT.CF1= DT.ERR= DT.ES1= DT.EVN-= DT.EXS= DT.FCH= DT.FCN= DT.HMX= DT.KBE= DT.KBP= DT.KSt:<= DT.KBU= DT.MLS= DT.Mil= DT.OFF= DT.PAS= DT.PC = DT.PFL= DT.PSW= DT.PTA= DT.RCS= DT.REL= DT.SCT= DT.SMX= DT.SP = DT.SSl= DT.STO= DT.ST1= DT.SWR= DT.SYP= DT.WBU= DT.WHL= DT.WLL= DVID1 = ECCMEM= ECCSTA= ENBEOP= ENBNUL= 000100 000102 000003 000017 000025 000011 000400 000000 100000 000014 000042 000100 000076 000034 000014 000016 000020 000044 cceooo 000060 000037 000036 000104 000024 000026 000022 000030 000032 000110 000070 000074 000002 000062 000004 000064 000102 000040 000066 000106 000006 000046 000010 000012 000056 000072 000050 000054 000052 000014 000100 000010 010000 000001 PAGE 20 SEQ 0209 MODHOL= MODSEL= MSGCKD= MSGCKS= MSGDER= MSGDHO= MSGDRP= MSGECH::.: MSGEOP= MSGHDR= MSGHNG= MSGHRD= MSGMAP= MSGNUL= MSGPOP= MSGPRM= MSGRES= MSGSFT= MSGSKE= MSGSMB= MSGSrv1H= MSGSMS= MSGSTD= MSGSYS= MSGVEC= NSKMOD= NCPUOP= NEIN'BA = NOAPTY= NULL OWEN PAERR PARPRE= PARSTA= PASOH= PDPLSI= PL)P60 PDP70 P~IO PR 11 PRI4 PRI5 PRI6 PRI7 PRRLOC PR.MSG PR.MS1 PR.NBR PR.RL1 PR.TBL PRO PR4 PR5 002000 001000 000010 000011 000005 **~'*** G 000017 177777 000013 000004 000022 00 1)007 000021 177775 000002 177776 000001 000300 000340 177776 RA~~JU:Yl= 000054 000130 000126 000132 000124 000101 000022 RBLFEA= R3UFPA= R6UFSZ= RBU FVA= RuS~RV= Rm"''-1M 1= RELERR= REUI"OD= RELJC = REL TIM= RESREG= RES1 RC:S2 R1CHAR= RPTDAT= RST~T = R:.JBOUT= 000006 000003 000015 000014 000016 OOJOOO 000012 000020 001000 000020 ****** PR6 PR7 PS PSW G 000002 00)800 024020 00:)010 002000 000100 000034 020000 004000 010000 000000 000040 000200 000240 000300 000340 000064RG 00J006R 000C36R 0OOO24R OOOOOORG 000002R 000000 000200 000240 ~77776 00002'J 020000 ****** G 010000 ****** G 000055 OOOOGO 031060 002000 000112 000177 RLNr~OD= 100000 R5VALU= 001740 S,:\iV1 075464 SAVREG= ****** G S8ADR = 000102 S8K~,10D= 000000 S8KSEL= 010000 SC.~DR= 000006 SC.ALC= 000014 SC.APC= 000016 SC.CKL= 000002 SC.CKP= 000004 SC.CLO= 000000 SC.HLD= 000010 SC.SCA= 000012 SEN;)LS= 177777 SO~CNT= 000042 SOFPAS:. 000046 SPACE = 000040 SPOINT= 000032 SPVALU= 002200 177572 SRO 177574 SR1 177576 SR2 172516 SR3 000026 STAT STATSl= 064757 STAT1 = 000027 SUSPND= 000001 000062 SVRO 000064 SVR1 priR LOC - PROCESS RELOCATION 28-JUL-78 09:09 PRR:"OC.MAC SVR2 SVR3 SVR4 SVR:5 SVR3 SYSCNT= SYSERR= TABl TMPIO = TQOVF = UI P,L\RO= UIPAR1= UIPAR2= UIPAR3= UIPAR4= UIPAR5= UIPAR6= UIPAF<7= UIPDRO= UIPDR1= UIPDR2= 000066 000070 000072 000074 000076 000052 000100 000000 000002 000002 177640 177642 177644 177646 177650 1 7~'652 177654 177656 177600 177602 177604 ABS. 000000 000412 20-SEP-78 MACY 11 30A(10!52) SYMBOL TABLE 17:36 $F$BAD= $F$BLA= $F$CAS= $F$DEC= $F$DO = $F$FAL= $F$GOO= $F$IF = $F$INC= $F$LOO= $F$NAM= $F$NO = $F$OR = $F$RTI= $F$RTN= $F$SEL= $F$THE= $F$TRU= $F$UNT= $F$WHI= $F$YES= 0C.C401 000170 000150 000220 000340 000405 000400 000110 000210 000200 000160 000403 000320 000350 000300 000140 000330 000404 000130 000120 000402 UIPDR3= UIPDR4= UIPDR5= UIPDR6= UIPDR7= WASADR= WBSTAT= ~'w'BUFEA= w'BUFPA= WBUFRQ= ',,",SUFSZ= vJDFR WDTO \'w'TINRE= WTWHMI= XFLAG = XOFF XON $BGNLE= $ERFLG= $F$AND= 177606 177610 177612 177614 177616 000104 000040 000136 000134 000140 000142 000116 000114 000352 000222 000005 000023 000021 177777 000400 000310 000 001 ERRORS DETECTED: 0 DEFAL'LT GLOBALS GENERATED: 0 DSKZ:PRRLOC,DSKZ:PRRLOC=SPMAC/ML,EQUATE,PRRLOC RUN-TIME: 14 4 .4 SECONDS RUN-TIME RATIO: 37/20=1.8 CeRE USED: 14K (27 PAGES) PAGE 20-1 SEQ 0210 $IFLEV= $ISKO = $ISKl = $ISK2 = $LOCTA= $LSTIN= $LSTTA= SNESTL= $NSKO $NSK1 = $NSK2 = $NSK3 = $SAVLE= $TAGLE= $TAGNU= $TEMP $TSKO = $TSK1 = $TSK2 = $$ARGC= $$BYTE= 177777 000001 000001 000001 177777 000001 000001 17'1777 000300 000110 000110 000110 177777 177777 050011 000300 050010 050005 050007 000004 000403 $$CASE= $$DST = $$ELOC= $$ERFL= $$FLAG= $$FROM= $$LOC = $$LOCN= $$REG = $:'!l!;ETU= $$RT:-J1= $'SRT:-J2= $1SRC = $;j)TGSV= $$TGS1= $$TGS2= $$TO $$$TAG= 000000 000000 000402 000000 000001 000000 000244R 000000 177777 000000 050000 050001 000000 000000 OOOOOJ 000000 000000 050000 000412R .MAIN. MACV11 30~(1052) 20-SEP-78 EOUATE.W,AC 13-SE?-78 16:13 3 561 565 605 780 838 904 17:37 TABLE OF CONTENTS COMMON EQUATE MODULE COMMON DEFINITIONS AND REFERENCES onoooo' .PRINT ;SPMAC: VERSION 1.1 RELOC ROUTINE ROUTINE RL.UP - MOVE CODE UP ROUTINE RL.DN - MOVE CODE DOWN ROUTINE RL.GOBACK - RETURN CODE TO ORIGINAL LOCATiON SEQ 0211 BDVSRV SERVICE INTERRUPTS THROUGH INCORRECT VECTORS BDVSRV.MAC 28-JUL-78 09:11 BADVEC ROUTINE MACV11 30A(i052) 20-SEP-78 17:42 PAGE 19-4 SEQ 0291 .SBTTL 8ADVEC ROUTINE 632 633 634 635 636 637 538 539 ;+ EXECUTE EMT INSTRUCTION TO INVOKE ROUTINE TO DEiERMINE A BAD VECTOR ; THE EMT WILL ALSO PUSH THE PSW ONTO THE STACK SO IT ; CAN CE READ. BADVC1 IS FOR VECTORS LESS THAN 400, ; BADVEC IS FOR VECTORS 400 AND UP. , 640 641 ( 2) 642 (2 ) 643 (3 ) (3 ) (2 ) 644 645 (2 ) 646 (2 ) 647 (3 ) (3) (2) 648 649 650 651 000014 1 000014 1 000014 1 000014 1 104000 000016 1 000016 1 000016 1 000016 1 000002 000020 1 000020' 000020 1 000020 1 104000 000022 1 OC0022 1 000022 1 000022 1 000002 IROUTINE BADVCl BADVC1: INLINE EMT ENORTI 50000$: 50001$: Ron IROUTINE BAOVEC BADVEC: INL.INE EMT ENORTI 50000$: 50001$: RTI RELOC - RELOCATE CODE MACY11 30A(1052) 20-SEP-78 17:37 PAGE 19 RELOC.MAC 28-JUL-78 09:09 COMMON EQUATE MODULE 508 509 51J 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 53;) 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 549 549 550 551 552 553 554 555 556 557 558 559 SEQ 0212 .TITLE RELOC - RELOCATE CODE .IDEN'- JVO.Oj ;++ MODULE NAME: RELOC FUNCTIONAL DESCRIPTION: THIS ROUTINE RELOCATES THE MOVABLE PORTION OF THE RUNTIME EXERCISER FROM ITS CURRENT LOCATION IN MEMORY TO A NEW AREA. IF A BAD MEMORY LOCATION IS ENCOUNTERED DURING THE MOVE, THE EXERCISER IS RETURNED TO THE CURRENT LOCATION AND AN ERROR INDICATOR IS SET. INPUTS: DATA TABLE ADDRESS, OLD ADDRESS OFFSET, NEW ADDRESS OFFSET, FIRST RELOCATION FLAG IMPLICIT INPUTS: DT.ADDR,DT.ESIZ,Di.ERR OUTPUTS: NONE IMPLICIT OUTPUTS: DT.ERR PATHOLOGICAL CONNECTIONS: NONE SUBORDINATE ROUTINES CALLED: SAVREG RESREG BADMEM GPA ;REPORT BAD MEMORY TRANSFER ;GET PHYSICAL ADDRESS FUNCTIONAL SIDE EFFECTS: CURRENT COpy OF CODE MAY BE OVERLAYED CALLING SEQUENCE: CALL RELOC IN A=ADDRESS OF DATA TABLE B=OLD ADDRESS OFFSET C=NEW ADDRESS OFFSET D=FIRST RELOCATION FLAG VERSION: 0.0 EDIT ;-- BY DATE REASON PELOC - RELOCATE CODE MACY11 30A(1052) 20-SEP-78 17:37 PAGE 16-1 RELOC.MAC 28-JUL-78 09:09 CGi;liviOiJ CEFINITICmS AND REFERENCES 561 562 563 S64 565 ( 1) 563 567 563 559 j70 :371 572 573 574 575 576 577 578 579 580 581 582 583 584 585 585 587 588 589 590 591 592 593 594 59S 596 597 598 599 600 601 602 603 SEQ 0213 .SBTTL COMMON DEFINITIONS AND REFERENCES 000000' 000000' 000001 000001 .MCALL STRUCT STRUCT .PRINT ;SPMAC: VERSION 1.1 $LSTIN=1 $LSTTAG=1 ; REFERENCED BY OTHER MODULES .GLOBt. RELOC ;MODULE ENTRY POINT ;**************** , ; GLOBAL REFERENCES , .GLOBt. GPA .GLOSt. SAVREG .GLOB!. RESREG .GLOBt. BADMEM ;ROUTINE TO GET A PHYSICAL ADDRESS ;REPORT BAD MEMORY TR~NSFER ;**************** 000000' 000000 ; LOCAL STORAGE , RL.REG: .WORD 0 000002' 000000 RL.PAF(: 000004' 000000 RL.ERRCHK: .WORD 0 RL.RVAL: .WORD COOO06' 000010' 000016' 000020' 000000 000003 000000 000000 R L. T 6 ~: .WORD 0 • B LKI.~ 3 RL.DBD: .WORD RL.DG(): .WORD a a VALUE NEEDED TO POINT ; TO TOP OF EXERCISER ;PAR VAL~~ NEEDED TO POINT ; TO TOP OF EXERCISER ;ERROR-SERVICI~G FLAG. WHEN SET, : SERVICE MOVE ERRORS. WHEN NOT SET, ; IGNORE ER~ORS. SET AT BE3INNING ; OF ROUTINE, CLEARED AFTER 1ST ERROR ;TEMPORA~Y STOQAGE FO~ RL.DN SUBROUTINE ;STORAGE FOR GPA ROUTINE ;BAD DATA OF FAILING LOCATION ;GOOD DATA OF FAILING LOCATION ;REGISTE~ a RELOC - RELOCATE CODE MACY11 30A(10S2) 20-SEP-78 17:37 RELOC.MAC 28-JUL-78 09:09 RELOC ROUTINE 605 606 607 603 G09 (2) 1310 611 612 613 614 615 616 (3) 617 613 619 620 621 622 623 (~) 624 625 626 627 628 629 630 (2) 631 (2) 632 (2) 633 634 (2) 635 636 637 638 639 (6) (9) 640 641 642 643 644 645 646 647 648 649 (4) 650 PAGE 19-2 SEQ 0214 .SBTTL RELOC ROUTINE ROUTINE RELOC 000022' 000022' RELOC: ;+ ; SAVE REGISTERS 000022' 000022' 004767 CALL SAVREG OOOOOOG JSR PC,SAVREG MOV TABL(R5),RO MOV #PRI7,-(SP) MOV #10$,-(SP) ;+ ; SET RO TO THE START OF THE DATA TABLE ;- 000026' 000026' 016500 LET RO := TABL(RS) 000000 ;+ ; RAISE THE PROCESSOR'S PRIORITY TO 7. 000032' 000032' 000036' 000036' 000042' 000042' PUSH #PRI7 012746 012746 000340 PUSH ~I 10$ 000044' INLINE RTI 000002 INLINE <10$:> 000044' 000044' 10$: ;+ ; IS THiS THE FIRST RELOCATION? 000044' 000044' 026527 000052' 001031 IF RL1 (R5) EQ #1 THEN 000006 000001 CMP BNE RL1 (R5) ,#1 50002$ ;+ ; ; ; ; 000054' 000054' 016003 000060 1 YES. FIND THE REGISTER ~ND PAR VALUES USED AS OFFSETS TO POINT TO THE TOP OF THE EXERCISER. THE REGISTER VALUE (RL.REG) IS BITS 0-12 OF THE EXERCISER SIZE (DT.ESIZ). THE PAR VALUE (RL.PAR) IS 200 MULTIPLIED BY ONE LESS THAN THE VALUE IN BITS 13-15 OF DT.ESIZ. LET R3 := DT.ESIZ(RO) MOV 000044 LET RL.REG := R3 CLR.BY #160000 DT.ESIZ(RO),R3 - PAGE 19-3 MACY11 30A(1052) 20-SEP-78 17:37 RELOCATE CODE RElOC RELOC ROUTINE 28-JUl-78 09:09 RElOC.MAC (4 ) ( 6) 651 652 (6 ) 653 (7 ) (7 ) (7 ) (7 ) (7 ) 654 (6 ) 655 (4 ) 656 (6 ) 557 (4 ) (6) (9) 658 (6 ) 659 ( 6) 660 (4 ) (3 ) 661 (4 ) 662 663 664 665 666 667 668 (4 ) 669 670 671 672 673 674 675 (6 ) (9 ) 676 677 678 679 6ec 681 682 683 684 000060' 010367 000064' 042767 000072' OOJ072' 000074' 000074' 000076' 000100' 000102' 000104' 000106' e00106' 000112 ' 000112' C001 16' 000116' 000120' 000120' 000120' 000122' 000124' 000124' 000132' 000132' 000134' 000134' 000136' 000136' 000136' 177714 160000 177706 LET R3 000303 ·- LET R3 .- LET R3 ·- 006203 006203 006203 006203 006203 042703 177770 SWAP R3 177664 LET R3 005303 ·- MOV 8IC R3,RL.REG #160000,RL.REG SWAB. R3 ASR ASR ASR ASR ASR R3 R3 R3 R3 R3 BIC #177770,R3 ClR RL. PAR DEC R3 TST BlE R3 50004$ ADD #200,RL.PAR DEC R3 BR 50003$ MOV #1,RL.ERRCHK CMP BlOS NEWPAR(R5),OLDPA 50005$ R3 SHIFT #-5 R3 ClR.8Y #177770 LET RL.PAR 005067 SEQ 0215 "- #0 R3 - #1 WHILE R3 GT #0 DO 500035: 005703 003405 062767 .- LET RL. PAR 000200 177650 LET R3 " - RL. PAR + #200 R3 - #1 005303 ENDDO 000771 500045: ENDIF 50002$: ;+ ; SET THE ERROR-SERVICING FLAG , 000136' 000136' 012767 LET Rl.ERRCHK 000001 .- #1 177640 ;+ ; ARE WE MOVING UP OR DOWN? , 000144' 000144' 026565 000152' 101427 IF NE!AlPAR (R5) HI OLDPAR(R5) THEN 000004 000002 ;+ ; MOVING UP , ;+ ; SET THE OLD ADDRESS POINTER TO THE TOP ADDRESS OF THE OLD AREA+2 20-SEP-78 17:37 MACY11 30A(10S2) RELOC - RELOCATE CODE RELOC ROUT!NE ~a-uUL-78 09:09 RELOC.MAC 685 686 687 (4) (6) 688 689 (4) (6) PAGE 18-4 SEQ 0216 , 000154 0001S4 000160 000164 000164 000172 LET R1 1 1 1 016701 062701 177620 020002 016537 066737 000002 177604 1 RL.REG + #20002 LET @ltKIPAR1 1 1 ·- : = OLCPAR(RS) MOV ADD P-L.REG,R1 #20002,R1 MOV ADD OLDPAR(RS),@ltKIP RL. PAR,@#KIPAR1 + RL.PAR 172342 172342 69,) 591 692 693 694 693 693 (4) (6 ) 697 (4 ) (6 ) 693 (3) 699 700 701 (4) (3 ) 702 703 704 705 706 707 708 709 710 711 712 (4 ) 713 (4 ) 714 715 716 717 718 719 720 (4 ) 721 (4) 722 (3) 723 (4) ;+ ; SET THE NEW ADDRESS POINTER TO THE TOP ADDRESS OF THE NEW AREA+2 ;- 000200 1 C00200 1 000204 1 OQ0210' 000210' (;00216' 000224' 000224' LET R2 016702 062702 177574 040002 0~6537 066737 000004 177560 004767 000146 ·- RL.REG + #40002 LET @A'KIPAR2 ·- RL.REG,R2 #40002,R2 MOV ADD NEWPAR(R5),@IIKIP RL.PAR,@f.KIPAR2 J5R PC,RL.UP BR 50006$ MOV #20000,R1 MOV OLDPAR(RS),@#KIP MOV #40000,R2 MOV NEWPAR(R5),@l#KIP JSR PC,RL.DN NEWPAR(R5) + RL.PAR 172344 172344 CALL RL.UP ELSE 000230' 000230' 000414 000232 1 MOV ADD SOO05$: ;+ ; MOVING DOWN , ;+ ; , 000232 1 000232' 012701 000236 1 000236 1 016537 SET THE OLD ADDRESS POINTER TO THE BOTTOfv1 OF THE OLD AREA LET R1 020000 000002 ·- #20000 LET @ltKIPAR1 ·- OLDPAR(R5) 172342 ;+ ; SET THE NEW ADDRESS POINTER TO THE BOTTOM OF THE NEW AREA , 000244 1 000244 1 012702 000250 1 000250 1 016537 000256 1 000256 1 004767 000262 1 000262 1 LET R2 040000 ·- #40000 LET @#KIPAR2 000004 ·- NE\'JPAR (R5) 172344 CALL RL.DN 000224 ENDIF SOO06$: RELOC - RELOCATE CODE MACY11 30A(1052) 20-SEP-78 17:37 RELOC.MAC 28-JUL-78 09:09 RELOC ROUTINE 724 725 726 727 728 729 730 731 732 733 (4 ) 734 (4 ) 735 (4 ) 736 (3 ) 737 (6 ) 736 (4 ) 739 (6 ) 740 {3 ) (6) 741 742 743 744 745 740 747 (4 ) 748 749 750 751 752 753 754 (2) 755 (2) 756 (2) 757 758 (2) 759 760 PAGE 19-5 SEQ 0217 ;+ ; NOW RELOAD THE MEMORY MANAGEMENT PARIS SO THE EXERCISER PARO IS NOT CHANGED SINCE IT POINTS ; CALL RUN OUT OF THE NEW AREA. , TO THE LOWEST 4K OF THE EXERCISER, WHICH ALWAYS STAYS IN LOWEST MEMORY. , 000262 1 000262 1 00026G I 000266 1 000272 1 000272 1 000276' 000276' 000276 1 000276 1 000300' 000300 1 COO302' 000302' 000306 1 000306' 000310 1 012701 016502 012703 LET R·I ·- #KIPAR1 LET R:~ ·- NEWPAR(R5) LET R:3 ·- #6 172342 000004 000006 NKIPAR1,R1 MOV NEWPAR (R5) ,R2 MOV N6,R3 DEC R3 MOV R2, (R1)+ A:lD #200,R2 TST BNE R3 50007$ MOV NEWPAR(R5),DT.AD MOV NPRIO,-(SP) MOV #20$,-(SP) REPEA or .- R3 - #1 LET (R 1 ) + '- R2 LET R3 005303 010221 LET R2 062702 MOV .- 50007$: R2 + N200 000200 UNTIL R3 EO #0 005703 001372 ;+ ; UPDATE THE CURRENT BASE ADDRESS. , 000312' 000312 1 016560 LET DT.ADDR(RO) := NEWPAR(R5) 000042 000004 ;+ ; LOWER THE PROCESSORIS PRIORITY. 000320' 000320' 012746 000324' 000324' 012746 000330 1 000330 1 000002 000332 000332 1 PUSH #PRIO 000000 PUSH #20$ 000332 1 INUNE RTI INLINI~ <20$:> 20$: 1 76~ ;+ 762 763 76 ... 765 ; IF THE RELOCATION WAS UNSUCCESSFUL eECAUSE OF A BAD MEMORY ; LOCATION, OUTPUT A MESSAGE INDICATING THAT LOCATION. MACY 11 30A(1052) 20-SEP-78 17:37 RELOC - RELOCATE CODE RELOC ROUTINE 28-JUL-78 09:09 RELOC.MAC 766 (6) (9 ) 767 (3) (7 ) (6) (5) (4 ) (3 ) (3 ) 763 (4) 769 770 771 772 7"7I'" 774 (3 ) 775 776 ( 3) (3) ( 2) 777 778 000332' 000332' 000340' 000342' 000342' 000344' 000350' 000354' 000360' 000362' 000366' 000370' 000370' PAGE 19-6 SEQ 0218 IF #RELERR SETIN DT.ERR(RO) THEN 032760 001413 010546 016745 016745 012745 010045 004767 012605 000020 000020 CALL SADMEM IN 177450 177442 000012' OOOOOOG ENDIF BIT BEQ #RELERR,DT.ERR(R 50010$ MOV MOV MOV MOV MOV JSR MOV R5,-(SP) RL.DGD,-(R5) RL.DBD,-(R5) #RL. TB1+2,-(R5) RO,-(R5) PC,BADMEM (SP)+,R5 JSR PC,RESREG RTS PC 50010$: ;+ ; RESTORE REGISTERS AND RETURN , 000370' 000370' 004767 000374' 000374' 000374' 000374' 000207 CALL FlESREG OOOOOOG ENDRTN 50000$: 50001$: RELOC - RELOCATE CODE MACY11 30A(1052) 20-SEP-78 17:37 PAGE 19-7 RELOC.MAC 28-JJL-78 09:09 ROUTINE RL.UP - MOVE CODE UP 780 781 782 783 784 785 786 787 788 789 (2) 79':) 791 792 (4) (6) (9) 793 (4) (6) (9) 794 795 796 797 798 799 800 (4) 801 .SBTTL SEQ 0219 ROUTINE RL.UP - MOVE CODE UP ;+ THIS SUBROUTINE MOVES CODE TO AN AREA HIGHER IN MEMORY THAN THE CURRENT ; AREA. THE MOVE BEGINS WITH THE HIGHEST ADDRESS TO BE RELOCATED AND WORKS ; DOWNWARD TO THE LOWEST ADDRESS. EACH TIME THE PAR'S ARE ADJUSTED TO THE ; NEXT LOWEST 4K 'AREA, THE REGISTERS ARE SET TO THE TOP OF THE 4K AREA. 000376' 000376' ROUT rr~E R L. UP 000376' 000376' 000376' 023765 C00404' 103437 C00406' 000406' 000406' 020127 000412' 003421 WHILE @#KIPAR1 HIS OLDPAR(R5) DO RL. UP: 50002$: 172342 000002 @#KIPAR1,OlDPAR( 50003$ CMP BlE R1 ,#20000 50005$ MOV -(R1),-(R2) WHILE R1 GT #20000 DO 50004$: 020000 ;+ ; DECREMENT THE POINTERS AND MOVE A 000414' 000414' CNlP BlO LET -(R2) ~ORD := -(R1) 014142 ao~ 803 804 805 806 807 808 809 810 811 812 (6 ) ( 9) 813 (6 ) (9 ) 814 (3 ) 815 (6 ) 8i6 (6 ) 817 (3 ) 818 (4 ) ;+ COMPARE THE CONTENTS OF THE OLD AND NEW ADDRESSES. IF THEY MATCH, KEEP GOING. IF THEY DON'T MATCH, THEN SEE IF THE ERROR-SERVICING FLAG IS SET. IT IS, CALL THE ERROR ROUTINE AND THEN MOVE THE CODE BACK TO WHERE IT WAS AND RETURN TO THE CALLER. IF THE ERROR-SERVICING FLAG IS NOT SET, THEN WE HAVE ALREADY DETECTED AN ERROR AND DO NOT WISH TO CHECK FOR ANY MORE, SO JUST CONTINUE MOVING CODE. IF , 000415' 000416' 000420' 000422' 000422' 000430' 000432' 000432' 000436' 000436' 000442' 000442' 000446' 000446' 00OLl52' 000452' IF ( R 1 ) NE (R2) THEN 021112 001415 CMP SEQ (R1),(R2) 50006$ CMP SNE RL.ERRCHK,#1 50007$ JSR PC,RL.G08ACK ADD #2,R1 ADD #2,R2 JSR PC,RL.DN BR 50000$ IF RL.ERRCHK EQ #1 THEN 026727 00'011 177356 004767 000210 000001 CALL RL.GOBACK 062701 062702 LET R1 .- R1 + #2 LET R2 .- R2 + #2 000002 000002 CALL RL.DN 004767 000034 RETURN 000414 RELOC - RELOCATE CODE MACY11 30A(1052) 20-SEP-78 17:37 PAGE 19-8 RELOC.MAC 28-JUL-78 09:09 ROUTINE RL.UP - MOVE COD~ UP 319 (4) 820 (4) 821 (4) (3) 322 823 824 825 825 827 823 (4) 829 (4) 830 (6) 831 (6) 832 (4) (3) 833 (3) (3) (2) 834 835 836 SEQ 0220 ENDIF 000454' 000454' 000454' 000454' 000454' 000454' 000754 000456' 50007$: END!F 50006$: ENDDO BR 50004$ MLlV #40000,R1 MOV #60000,R2 SUB #200,@#KIPAR1 SUB #200,@#KIPAR2 BR 50002$ RTS PC 50005$: ;+ ; POSITION THE POINTERS TO THE TOP OF THE NEXT LOWER 4K PIECE. C00456' 000456' 012701 000462' 000462' 012702 000466' 000466' 162737 C00474' 000474' 162737 000502' 000502' 000735 000504' 000504' 000504' 000504' 000504' 000207 LET R1 . - #40000 040000 LET R2 .- #60000 060000 LET @#KIPAR1 000200 . - @#,KIPAR1 - #200 172342 LET @#KIPAR2 '- @#KIPAR2 - #200 000200 172344 ENDDO 50003$: ENDRTN 50000$: 50001$: RELOC - RELOCATE CODE MACY11 30A(1052) 20-SEP-78 17:37 PAGE 19-9 RELOC.MAC 28-JUL-78 09:09 ROUTINE RL.DN - MOVE CODE DOWN 838 839 840 .S8TTL ROUTINE RL.DN - MOVE CODE DOWN ;+ THIS SUBROUTINE MOVES CODE TO AN AREA LOWER IN MEMORY THAN THE CURRENT AREA. THE MOVE 8EGINS WITH THE LOWEST ADDRESS TO BE RELOCATED ANQ WORKS UPWARD TO THE HIGHEST ADDRESS. EACH TIME THE PAR'S ARE ADJUSTED TO POINT TO THE NEXT HIGHER 4K AREA OF MEMORY, THE REGISTERS ARE SET TO POINT TO THE BOTTOM OF THE 4K AREA. AND ARE INCREMENTED UNTIL THEY POINT TO THE TOP ADDRESS OF THAT 4K AREA. WHEN THE HIGHEST 4K SEGMENT OF THE EXERCISER IS REACHED, HOWEVER, THE REGISTERS MUST BE INCREMENTED ONLY TO THE HIGHEST EXERCISER ADDRESS AND NOT TO THE TOP OF THE 4K AREA. 841 342 843 844 845 846 847 348 849 850 351 852 (2) 853 8::34 855 (4) (6) 856 (4) (6) (9) 857 (6) (9) 856 (4) 859 (4) (3) 860 (4) (6) 86' (4) 862 (4) (6) (9) 863 SEQ 0221 ROUTINE RL.DN 000506' 000506' G0050S' (100506' 000512' 000516' 000516' 000516' 000522' 000524' 000524 1 000530 1 000532 1 0005321 0)0540 1 0)0540 1 000542 1 000542' 000542 1 000550' 000556 I 000556' 000556 1 000556' 000556' 000562' RL.DN: LET R3 := OLDPAR(R5) + RL.PAR 016503 066703 000002 177264 WHILE @NKIPAR1 MOV ADD OLDPAR(R5),R3 RL.PAR,R3 CMP BHI @l#KIPAR1,R3 50003$ CMP BHIS @#KIPAR1 ,R3 50004$ MOV #37776,RL.RVAL BR 50005$ MOV ADD RL.REG,RL.RVAL #20000,RL.RVAL CM? BHI R1,RL.RVAL 50007$ MOV (R1),(R2) LOS R3 DO 50002$: 023703 101050 172342 023703 103004 172342 012767 037776 IF @#KIPAR1 LO R3 THEN LET RL.RVAL := #37776 177246 ELSE 000406 LET RL.RVAL := RL.REG + #20000 016767 062767 177232 020000 50004$: 177236 177230 ENDIF 50005$: ~HIL~ R1 LOS RL.RVML DO 50006$: 020167 101015 177224 86Ll 865 866 867 868 869 (4) 870 871 872 873 874 875 MOVE A WORD 000564' 000564' LET (R2) 011112 .- (R1) ;+ COMPARE THE CONTENTS OF THE OLD AND NEW ADDRESSES AND THEN INCREMENT ; THE POINTERS. IF THE CONTENTS MATCH, KEEP GCING. IF THEY DONIT MATCH, ; SEE IF THE ERROR-SERVICING FLAG IS SET. IF IT IS, RELOC - RELOCATE CODE MACY'1 30A(1052) 20-SEP-78 17:37 PAGE 19-10 RElOC.MAC 28-JUL-78 09:09 ROUTINE RL.DN - MOVE CODE DOWN ; ; ; ; 876 877 878 879 880 :381 882 (6) (9) 883 (6) (9) 884 (3) 885 (3 ) 886 (4) 887 (4) 88B (4) 889 (4) (3) 890 891 892 893 894 895 896 (4) 897 (4) 898 (6) 899 (6) 900 (4) (3) 901 (3) (3) (2) 902 000566 1 000566' 000570' 000572' 000572 1 000600' 000602' 000602' 000606 1 0 0 0606 1 000612 1 00D612' 0006141 C00614' 0006141 000514 1 0006141 000614 1 000616 1 CALL THE ERROR ROUTINE, THEN MOVE THE CODE BACK TO WHERE IT WAS AND RETURN TO THE CALLER. IF THE ERROR-SERVICING FLAG IS NOT SET, THEN WE HAVE ALREADY ENCOUNTERED AN ERROR AND DO NOT WISH TO CHECK FOR ANY MORE, SO JUST CONTINUE MOVING CODE. IF (R1)+ NE (R2)+ THEN CIVlP 022122 001411 SEQ IF RL.ERRCHK EO #1 026727 001005 177206 004767 000040 00 476 7 1 77564 (R1 )+, (R2)+ 50010$ THE~ SNE RL.ERRCHK,#1 50011$ JSR PC,RL.GOBACK JSR PC,RL.UP BR 50000$ SR 50006$ MOV #20000,R1 MOV #40000,R2 ADD #200,@l#KIPAR1 ADD #200,@l#KIPAR2 BR 50002$ RTS PC CMP 000001 CALL RL.GOBACK CALL RL.UP RETURN 000414 ENDIF 50011$: ENDIF 50010$: ENDDO 000760 50007$: + 000616 1 000616 1 000622 1 000622' 000626 1 000626' 0006341 000634' 000642' 0006421 000644' 000644' 000644 1 0006441 000644' SEQ 0222 POSITION THE POINTERS TO THE BOTTOM OF THE NEXT 4K SEGMENT. LET R1 . - #20000 012701 020000 LET R2 .- #40000 012702 040000 LET @#KIPAR1 062737 000200 172342 06L737 000200 172344 '- @#KIPAR1 + #200 LET @#KIPAR2 '- @#KIPAR2 + #200 ENDDO 000725 50003$: ENDRTN 50000$: 50001$: 000207 RELOC - RELOCATE CODE MACY11 30A(10S2) 20-SEP-78 17:37 RELOC.MAC 28-JUL-78 09:09 ROUTINE RL.GOBACK 904 905 90G 907 908 909 910 91 1 912 913 914 915 916 917 918 919 920 921 922 923 (2 ) 924 925 926 (4 ) 927 (4 ) 928 (4 ) 929 (3) (5 ) (4 ) (3 ) ( 3) 930 931 (4 ) 932 (6 ) 933 934 935 (4 ) 936 (4 ) 937 (4 ) 938 939 (4 ) 9·'10 (4 ) 941 (4 ) 942 .SBTTL PAGE 19-11 RETURN CODE TO ORIGINAL LOCATION ROUTINE RL.GOSACK - SEQ 0223 RETURN CODE TO ORIGINAL LOCATION ;+ THIS SUBROUTINE IS CALLED UPON THE DETECTION OF A RELOCATION ERROR. IT PERFORMS THE FOLLOWING FUNCTIONS: (1) SAVES THE ADDRESS OF THE FAILING LOCATION, ALONG WITH ITS ACTUAL AND SHOULD-BE CONTENTS. (2) CLEARS THE ERROR-SERVICING FLAG. (3) SETS THE RELOCATION ERROR BIT OF THE ERROR WORD IN THE DATA TABLE. (4) REVERSES THE POINTERS. I.E., MOVES THE CONTENTS OF THE OLD ADDRESS POINTER INTO T~E NEW ADC~ESS POINTER, AND VICE VERSA, SO WE CAN MOVE THE CODE BACK. (5) REVERSES THE VALUES IN OLDPAR AND NEWPAR. THIS ALSO IS NECESSARY FOR MOVING THE CODE BACK. , 000646 1 000646 1 000646 1 000646 1 000652 1 000652 1 000656 1 000656' 000562' 000662' COO(364 ' 000670' 000672' (,00676 ' ROUTINE RL.GOBACK RL.GOBACK: 010267 011267 011167 LET RL. TB1 ·- R2 LET RL.DBD ·- (R2) LET R L. DGD ·- (R 1 ) 177136 177140 177136 CALL GPA IN 010546 012745 010045 004767 012605 000700 " C00700' 005067 000704' 000704' 052760 C00712' 000712' 013704 000716 1 000716' 013737 000724' 000724 1 010437 000730' 000730 1 016504 000734' 000734 1 016555 0007421 000742' 010455 000746 1 000010 1 OOOOOOG .- LET RL.ERRCHK 177100 LET DT.ERR(RO) 000020 000020 LET R4 .- ·- @#KIPAR2 LET @ltKIPAR2 .- R4 172342 172344 LET NEWPAR(R5) 000004 LET OLDPAR(R5) 000002 ENDRTN MLJV (R1),RL.DGD MOV MOV MOV JSR MOV R5,-(SP) #RL.T31,-(R5) RO,-(R5) PC,GPA (SP)+,R5 CLR RL.ERRCHK BIS #RELERR,DT.ERR(R MOV @#KIPAR1,R4 MOV @#KIPAR2,@#KIPAR rllOv R4,@#KIPAR2 MOV NEWPAR(R5),R4 rkJV OLDPAR(R5),NEWPA MOV R4,OLDPAR(RS) NEWPAR(R5) 000004 000002 (R2),RL.DBD DT.ERR(RO) SET.BY tlRELERR .- .- MOV #0 LET @#KIPAR1 LET R4 R2,RL.TB1 @#KIPAR1 172342 172344 MOV ··- OLDPAR(R5) R4 RELOC - RELOCATE CODE MACY11 30A(1052) 20-SEP-78 17:37 RELOC.MAC 28-JUL-78 09:09 ROUTINE RL.GOBACK (3) (3) (2) 943 000746' 000746' 000746' 000207 000001 PAGE 19-12 RETURN CODE TO ORIGINAL LOCATION SEQ 0224 50000$: 50001$: RTS .END PC 17:37 20-SEP-78 MACY 11 30A(1052) RELOC - RELOCATE CODE SYMBOL TABLE 28-JUL-78 09:09 RE LOC .!'viAC ACSR 000102 ACTBIT= 004000 ADD~22= 001000 ADR 000006 APTFER= 000004 APTPRE= 000200 I\SB 000106 ASS~MB= 000010 ASTAT = 000104 AUTJ 000010 AUTOST= 020000 000110 AWAS BAD:',IlEM= ****** G eITa 000001 8ITOO 000001 GITOl 000002 8IT02 000004 BIT03 000010 000020 8IT04 BIT05 000040 BIT06 000100 GIT07 000200 GIT08 000400 BIT09 001000 000002 1:3 IT 1 8IT10 002000 13IT11 004000 BIT 12 010000 020000 BIT 13 BIT 14 040000 100000 GIT15 000004 BIT2 000010 3IT3 BIT4 000020 000040 SIT5 000100 BIT6 BIT7 000200 000400 E3 IT 8 B1T9 001000 BKDEF 000002 BKIV:OD 000020 BKlV,ODE = C40000 BKSLSH= 000134 CAPRES= 000004 CASTAT= 000004 CDERCT= 000146 CD'v.;DCT = 000144 Cr01M = 100000 CLKPRE= 000001 CONFIG= 000056 CQOVF 000001 CR 000015 CSRA 000100 CSRC CTRLC CTRLO CTRLU OCEVNT= DEFRTN= DIAGMC= DROPMO= DSEVNT= DT. ADD= DT.AP = DT.APK: DT.BLS= D1.CFO= D1.CF1= DT.ERR= DT.ESI= DT.EVN= DT.EXS= DT.FCH= DT.FCN= DT.HMX= DT.K6E= DT.KBP= DT.KBR= DT.KBU= DT.MLS= DT.MTl= DT.OFF= DT.PAS= DT.PC = DT.PFL= DT.PSW= DT.PTA= DT.RCS= DT.REL= DT.SCT= DT.SMX= D1. SP = DT.SS!= D1.STO= O1.ST1= DT . SI\lR= DT.SYP= DT.WBU= DT.WHL= DT.WLL= DVID1 = ECCMEM= ECCSTA= ENBEOP= ENBNUL= ENDLST= 000102 000003 000017 000025 000011 000400 000000 100000 000014 000042 000100 000076 000034 000014 000016 000020 000044 000000 000060 000037 000036 000104 000024 OC0026 000022 000030 000032 000110 000070 000074 000002 000062 000004 000064 000102 000040 000066 000106 000006 000046 000010 000012 000056 000072 000050 000054 000052 000014 000100 000010 010000 000001 :)00000 EOPBIT= ERRTYP;::: E\/NTBE;::: EVNTHD= EVNTKT= EVNTPE= EVNTRE"'" FATERR= GPA HRDCNT= HRDPAS= ICONT = ICOUNT= IDNUM = IE INDPAR= INHDRP= INHEPR= INHR::L= INHRRE= INIT INTR IOMOO !OMODP= I Ofv10DR= IOMODX= JACK K1PARO= KIPAR1= KIPAR2= KIPAR3= KIPAR4= KIPAR5= KIPAR6= KlPAR7= KIPDRO= KIPOR1= KIPDR2= K1PDR3= KIPDR4= KIPDR5= KIPDR6= KlPDR7= KTERRO= KTPRES= KTSTAT= KTXTND= LF LPSTAT= MAPSTA= MED MEMPAS= MIJDEXH= PAGE 20 SEQ 0225 000001 000106 000200 000200 000203 000202 000201 100000 ****** G 000044 000050 000030 000040 000122 000100 000040 040000 020000 001000 000400 000030 000120 100000 102000 112000 110000 035060 172340 172342 172344 172346 172350 172352 172354 172356 172300 172302 172304 172306 172310 172312 172314 172316 000040 000400 000020 040000 000012 000001 000200 076600 040000 004000 MODHOL= MODSEL= MSGCKD= MSGCKS= MSGDER:.: MSGDRP= MSGECH= MSGEOP= MSGHDR= MSGHNG= MSGHRD= MSGMAP= MSGNUL= MSGPOP= MSGPRM= MSGRES= MSGSFT= MSGSKE= MSGSMB= MSGSMH= MSGSMS= MSGSTD= MSGSYS= MSGVEC= NBKfIlOO= NCPUOP= NEWPAR= NOAPTY= NULL OLDPAR= OW::N Pt>.ERR = PARPRE= PARSTA= PASCNT= PDPLSI= PDP60 PDP70 PRIO PRll PRI4 PRI5 PRI6 PRI7 PRO PR4 PR5 PR6 PR7 PS PSI'" RANNUM= RBUFEA= 00:2000 001000 000010 000011 000005 000017 177777 000013 00()004 JOOO22 000001 00')021 177775 000002 177776 000001 000006 000003 000015 000014 000016 oooeoo 000012 000020 001000 000020 000004 000002 000000 000002 024020 000010 002000 000100 000034 020000 004000 010000 000000 000040 000200 000240 00;)300 000340 000000 000200 000240 000300 000340 177776 177776 000054 000130 RBUFPA= RBUFSZ;::: R3Li FVA= ROSERV= RDWHMI= RELERR= RELMOD;::: RELCC RELTIM= PESREG= RESl RES2 R!CHAR= R:".DBD RL. DGD F:l... DN R L . !:RR RL. GOB Ri... PAR RL.REG R L. RVA RL.TBl RL.UP RL1 RPTDAT= RSTRT = RUBOUT= RUN rll0D= R5VALU= SAM SAVREG= SSt..DR = SBf\r,;OD= Si3KSEL= SC . .!.DR= SC.ALC= SC.APC= Sc. CK L= SC.CKP= SC.CLO= SC.HLD= SC.SCA= SENDLS= SOf=CNT= SOF;::AS= SPACE = SFOINT= SPVALU= SRO SRl SR2 SR3 STAT 000126 000132 000124 000101 000022 000020 020000 0OO022RG 010000 ****** G 000056 000060 031060 000G16R 000020R 000506R 000004R 000646R 000002R OOOOOJR 000006R 00OO10R 00037t3R 000006 002000 000112 000177 100000 001740 075464 *"'**** G 000102 000000 010000 000006 000014 000016 000002 000004 000000 000010 000012 177777 000042 000046 000040 000032 002200 177572 177574 177576 172516 000026 RELOC - RELOCATE CODE MACY11 30A(1052) 20-SEP-78 17:37 RELOC.MAC 28-JUL-78 09:09 SYM80L TABLE STATBl= STAT1 = SUSPND= SVRO SVR1 SVR2 SVR3 SVR4 SVR5 SVRG SYSCNT= SYSERR= T ,'\BL TMPIO = TQO'JF = UIPARO= UIPAR1= UIPAR2= UIPAR3= UIPAR4= UIPAR5= UIPAR6= UIPAR7= 064757 000027 000001 000062 000064 000066 000070 000072 000074 000076 000052 000100 000000 000002 000002 177640 177642 177644 177646 177650 177652 177654 177656 ABS. 000000 000750 UIPDRO= UIPDR1= UIPDR2= UIPDR3= UIPDR4= UIPDR5= UIPDR6= UIPDR7= WASADR= WBSTAT= WBUFEA= WBUFPA= WBUFRQ= W6UFSZ= WDFR WDTO WTINRE= WTWHMI= XFLAG = XOFF XON $BGNLE= $ERFLG= 177600 177602 177604 177606 177610 177612 177614 177616 000104 000040 000136 000134 000140 000142 000116 000114 000352 000222 000005 000023 000021 177777 000400 000 001 ERRORS DETECTED: 0 DEFAULT GLOBALS GENEKATED: C DSKZ:RELOC.DSKZ:RELOC=SPMAC/ML,EQUATE,RELOC RUN-TIME: 22 12 .4 SECONDS RUN-TIME RATIO: 57/35=1.6 CORE USED: 14K (27 PAGES) $F$AND= $F$BAD= $F$BLA= $F$CAS= $F$DEC= $F$DO = $F$FAL= $F$GOO= $F$IF = $F$INC= $F$LOO= $F$NAM= $F$NO = $F$OR = $F$RTI= $F$RTN= $F$5EL= $F$THE= $F$TRU= $F$UNT= $F$WHI= $F$YES= $IFLEV= PAGE 20-1 SEQ 0226 000310 000401 000170 000150 000220 000340 000405 000400 000110 000210 000200 000160 000403 000320 000350 000300 000140 000330 000404 000130 000120 000402 177777 $ISKO = $ISK1 = $LOCTA= $LSTlN= $LSTTA= $~~ESTL= $NSKO $~SK1 $N5K2 $NSK3 $NSK4 $SAVLE= $SSKO = $TAGLE= $TAGNU= $TEMP $TSKO $TSK1 $TSK2 $TSK3 $TSK4 $TSK5 $$ARGC= 000001 000001 177777 000001 000001 177777 000300 00C120 000120 000110 000110 177777 050003 177777 050002 000300 050002 050003 050006 050007 050010 050011 000000 $$3YTE= 000403 000000 $$05T = 000000 $$ELOC= 000402 $$Er:FL= 000000 $SF LAG= 000001 $$FROM= 000000 $$LOC = OOOGOOR $$LCCN= 000000 $$REG = 177777 $$RETU= 000000 $$RTN1= 050000 $,~RTN2= 050001 $$SRC = 000000 $$TGSV= 000000 $5£T-3S1= 000000 $$TGS2= 000000 $$TO 000002 $$$TAG= 050000 000750R $$C~SE= .MAIN. ~ACY11 3CA(1052) 20-SEP-78 EQUATE.MAC ,13-SEP-78 16:13 3 560 563 597 17:38 TABLE OF CONTENTS COM~ON EQUATE MODULE COMMON DEFINITIONS & REFERENCES 000000 1 .PRINT RPIRQ (CODE) ;SPMAC: VERSION 1.1 SEQ 0227 PPIRQ (PIRQ SERVICE ROUTINE) RPIRQ.MAC 28-JUL-78 09:10 MACY11 30A(1052) 20-SEP-78 17:38 COMMON EQUATE MODULE PAGE 19 :308 509 510 .TITLE RPIRQ (PIRQ SERVICE ROUTINE) .IDENT JVO.Oj 51 1 512 j++ 513 514 515 516 517 513 319 520 521 522 523 524 525 523 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 54E 547 543 549 550 551 552 553 MODULE NAME: RPIRQ FUNCTIONAL DESCRIPTION: THIS MODULE SERVI:ES THE PIRQ TRAP CALL (WHICH IS AN lOT). IT ENQUEUES HEADER ADDR. AND RETURN PC OF THE MODULE INTO THE CONTROL QUEUE, UPDATES THE SYSTEM STACK AND RETURNS TO T~E INTERRUPTED ROUTINE. TO ENSURE THAT THE ENQUEUEING ROUTINE IS NOT INTERRUPTED, THIS MODULE IS HANDLtD AT PRIORITY 7. IF A BACKGROUND MODULE IS THE INTERRUPTED MODULE, IT WILL BE TAKEN OFF THE AIR. INPUTS: NONE IMPLICIT INPUTS: NONE OUTPUTS: NONE IMPLICIT OUTPUTS: NONE PATHOLOGICAL CONNECTIONS: DATA TABLE ADDRESS BACKGROUND HEADER STORAGE SUBORDINATE ROUTINES CALLED: ENOCO jPUT ITEMS ON THE CONTROL QUEUE. ERREC ;ERROR RECOVERY ROUTINE RSTRCY ;RESTORE STATUS ROUTINE FUNCTIONAL SIDE EFFECTS: NONE CALLING SEQUENCE: THIS ROUTINE IS ENTERED BY EXECUTING A 'PIRQ' INSTRUCTION. VERSION: 0.0 EDIT 554 555 556 55? 558 SEQ 0228 ;-- DATE BY REASON RPIRQ (PIRQ SERVICE ROUTINE) RPIRQ.~AC 28-JUL-78 09:10 560 561 562 563 (1) 564 565 566 567 568 MACY11 30A(1052) 20-SEP-78 17:38 PAGE 19-1 COMMON DEFINITIONS & REFERENCES .S8TTL COMMON DEFINITIONS & REFERENCES 000000' 000000' 000001 000001 .MCALL STRUCT STRUCT .PRINT ;SPMAC: VERSION 1.1 $LSTIN=1 $L5TTAG=1 ;**************** ; REFERENCED BY OTHER MODULES: 363 , 570 571 572 573 574 375 576 577 578 579 580 581 582 583 584 58.3 .GLOBL ;MODULE ENTRY PO:NT ;**************** ; GL08AL REFERENCES ; .GLOBL ENQCQ .GLOSL ERREC .GLOSL RSTRCY ;ROUTINE TO ENQUE ITEMS ON CONTROL QUEUE ;ERROR RECOVERY ROUTINE ;RESTORE STATUS ROUTINE .GLOBL .GLOBL .GLOBL .GLOBL ;SYSTEM DATA TABLE ;SYSTEM LINK REGISTER ;SYSTEM STACK ;RET ADDR IN BOXQO DTABLE DX.RS DX.SP DX.OEQ .GLOBL SA.HDR .GLOBL BA.RET .GLOBL BA.STAT 586 587 58S 589 590 591 592 593 594 S95 RPIRQ ; 000000' OOOOOOG OOOOOS 000014' ;BKMOD HEADER ADDRESS ;BKMOD RETURN ADDRESS ;BKMOD STATUS WORD LOCAL STORAGE RP.EXT: DX.DEQ .REPT .WORD .ENDR RP.RSS: "'D 0 ;GOTO ADDRESS IF INTERRUPTED MODULE IS A BK ;RS STORAGE ;RS STACK ALLOCATION rOR THIS MODULE SEQ 0229 RPIRQ (PIRQ SERVICE ROUTINE) 28-JUL-78 09:10 RPIRQ.MAC 597 598 599 600 601 602 603 (2) 604 605 606 607 608 609 (2) 610 (4) 611 612 613 614 615 616 (2) 617 (4) 618 619 620 621 622 623 (3) (6) (5) (4) (3) (3) 624 625 626 627 628 629 (6) 630 (2) 631 632 633 634 635 636 637 (4) 638 MACY11 30A(1052) 20-SEP-78 RPIRQ (CODE) 17:38 PAGE 19-2 SEQ 0230 .SBTTL RPIRQ (CODE) ;**************** ; PIRQ SERVICE ROUTINE STARTS HERE INLINE 000014' 000014 ' RPIRQ: ;+ ; SAVE R1 AND LOAD IT WITH MODULE'S BEGIN ADDRESS 000014' 000014' 010146 000016 ' 000016 ' 016601 PUSH R1 LET R1 := 2(SP) 000002 MOV R1,-(SP) MOV 2(SP),Rl MOV R5,-(SP) MOV #RP.R5S,R5 MQV JSR MOV R5,-(SP) 2(R1) ,-(R5) (Rl) ,-(R5) #DTABLE,-(R5) PC,ENQCQ (SP)+,R5 BCS 50000$ MOV (SP)+,R5 MOV #DTABLE,Rl ;+ ; SAVE R5 AND ALLOCATE LO:AL R5 STACK 000022 ' 000822 ' 010546 000024' 000024' 012705 PUSH R5 LET R5 := #RP.R5S 000014 ' ;+ ; ENQUEUE THE MODULE INTO THE CONTROL QUEUE 000030' 000030 ' 000032 1 000036 ' 000040' 000044' 000050 ' CALL ENQCQ IN <#DTABLE,(R1),2(R1» 010546 016145 011145 012745 004767 012605 MOV 000002 Mev rkJV OOOOOOG OOOOOOG ;+ ; IF NO ERROR RESTORE R5 STACK IF.NO.ERROR THEN 000052' 000052 103500 000054 ' 000054' 012605 1 POP R5 ;+ ; I~OW GET ADDRESS OF DTABLE AND DETERMINE IF ; MODULE WAS INTERRUPTED. BAC~GROUND ;- 000056 ' 000056' 012701 000062 ' LET R1 OOOOOOG : = #DT ABLE IF #BKMODE SETIN DT.STO(R1) THEN RPIRQ (PIRQ SERVICE ROUTINE) 28-~~L-78 09:10 RPIRQ.MAC (6) (9) 639 640 641 G42 643 644 645 646 547 (6) (~) 000062 000070 1 1 032761 001464 000072 000072 C00100 1 (2 ) 677 (2 J 6'18 (4 ) 679 (4) 680 (4 ) #BKMODE,DT.STO(R 50001$ IF #8IT07!BIT06!BIT05 NOTSETIN 10(SP) THEN 032766 001060 000104 1 000104' 016700 671 672 673 674 675 676 BIT SEQ 1 1 658 ( 6) 000010 TRY TO DETERMINE IF INTERRUPTED MODULE WAS TRULY A BACKGROUND MODULE, THIS IS DONE BY CHECKING THE STACK TO SEE IF THE INTERRUPTED MODULE ; HAS A PRIORITY "0". 000102 665 ( 6) 666 667 668 669 670 SEQ 0231 i OOUl 02 I 01004G (4) PAGE 19-3 i************************************************************* (2) (4 ) 17:38 ;+ 648 649 G50 651 652 653 654 655 656 657 659 660 661 662 663 6G4 040000 MACY11 30A(1052) 20-SEP-78 RPIRQ (CODE) 000340 000010 BIT BNE #8IT07!BIT06IBIT 50002$ ;************************************************************** ;+ IF IT WAS A BACKGROUND MODULE THEN GET ITIS HEADER ADDRESS FROM "8A.HDR" WHICH CONTAINS THE HEADER ADDRESS OF CURRENT RUNNING BACKGROUND MODULE. ; j 1 PUSH RO MOV RO,-(SP) MOV BA.HDR,RO M:JVB i2(SP) ,STAT(RO) BIS #BKMOD,STAT(RO) BIC #ACTBIT,STAT(RO) I'v"OV (SP)+,SVRO(RO) MOV (SP)+,SVRl (RO) LET RO .- BA.HDR OOOOOOG + BE SURE TO SAVE THE BKMODIS COND CODES IN ITIS STAT WORD 000110 1 000110 1 116660 000116' 000116' 052760 000012 000020 LET STAT(RO) :B= 12(SP) LET STAT(RO) .- STAT(RO) SET.BY #BKMOJ 000026 000026 + NOW TAKE MODULE OFF THE AIR BY CLEARING ACTBIT. 000124' 000124' LET STAT(RO) 042760 004000 '- STAT(RO) CLR.BY #ACTSIT 000026 + NOW START SAVING MODULES REGISTERS 000132' 000132 1 000136' 000136' 000142' 000142' 000146' 000146' 000152' 000152' POP SVRO(RO} 012660 000062 POP SVR1(RO) 012660 010260 010360 010460 000064 LET SVR2(RO) .- R2 LET SVR3(RO) '- R3 LET SVR4(RO) .- R4 R2,SVR2(RO) 000066 000070 000072 r~~ov R3,SVR3(RO) MOV R4,SVR4(RO) RPIRQ (PIRQ SERVICE ROUTINE) RPI~Q.MAC 28-JUL-78 09:10 681 (4) 382 683 684 685 686 687 (6) 688 689 690 691 692 693 694 (2) 695 (4) (6) 696 697 698 699 70:; 701 702 (6) 703 (6) 704 705 706 707 708 709 (4) 710 711 712 713 714 715 (4) 716 (4) 717 718 719 720 721 722 (4) 723 (4) 724 000156' 000156' 010560 MACY11 30A(1052) 20-SEP-78 RPIRQ (CODE) 17:38 PAGE 19-4 LET SVR5 ( RO) SEQ 0232 . - RS 000074. MOV RS,SVR5(RO) ADD #4,SP MOV (SP)+,BA.RET MOV ADD SP,SVR6(RO) #2,SVR6(RO) ;+ ; UPDATE STACK TO LOOK AT INTERRUPTED MODULE 000162' 000162' 062706 LET SP .- SP + #4 000004 ;+ ; BEFORE SAVING R6 DETERMINE RETURN ADDRESS OF BACKGROUND ; MODULE BY LOOKING AT STACK POP BA.RET C00166' oae 166' 012567 000172' 000172' 010660 000176' 062760 OOOOOOG 000076 000002 LET SVR6(RO) .- SP + #2 000076 ;+ ; IT IS NOW TIME TO SET THE BACKGROUND SUSPEND BIT IN "BA.STAT ; AND ALSO CLEAR OUT THE "BI(MODE" BIT IN DT .STO. 000204' 000204' 052767 000212' 000212' 042761 LET BA.STAT '- BA.STAT SET.BY #SUSPND 000001 OOOOOOG 040000 000010 LET DT.STO(R1) BIS '- DT.STO(R1) CLR.BY #BKMODE BIC #SUSPND,BA.STAT #BKMODE,DT.STO(R ;+ ; GET THE INTERRUPTED MODULE PSW INTO RO LC- RO 000220' 000220' 012600 '- (SP)+ MOV (SP)+,RO MOV DX.R5,RS MOV DX.SP,SP ;+ ; NOW SETUP MONITOR RS AND R6 STACKS 000222' 000222' 016705 000226' 000226' 016706 LET RS .- DX.RS OOOOOOG L E "I SP • - DX • S P OOOCOOG ;+ ; LOAD UP PSW ON NEW R6 STACK AND A RETURN ADQRESS AND DO AN RTI TO THAT ADDRESS ,' 000232' 000222' 010046 000234' 000234' 016746 000240' 177540 LET -(SP) .- RO LET -(SP) .- RP.EXT INLINE MOV RO,-(SP) MOV RP.EXT,-(SP) RPIRQ (PIRQ SERVICE ROUTINE) RPIRQ.MAC 28-JUL-78 09:10 (2) 725 (4) 726 (4) 727 728 729 730 731 732 733 (2) 734 (6) 735 (2) 736 737 (4) (3) 738 739 740 741 742 743 (2) 744 (4) 745 (4) 746 (3) (4) (3) (3) 747 748 749 750 751 75: (3) (4) (3) (3) 753 (4) 754 000240' 000242' 000242' 000242' 000242' MACY11 30A(1052) 20-SEP-78 RPIRQ (CODE) 17:38 PAGE 19-5 SEQ 0233 RTI 000002 ENDIF 50002$: ENDIF 50001$: ;+ ; WAS NOT BACKGROUND MODULE THEN RESTORE R1 AND ADJUST THE STACK ; AND RETURN TO INTERRUPTED MODULE. 000242' 000242' 012601 000244' 000244' 062706 000250' 000250' 000002 POP R1 MOV (SP)+,R1 AwD #4,SP LET SP '- SP + #4 000004 INLINE RTI ELSE 000252' 000252' 000421 000254' BR 50003$ 50000$: + ERROR, CONTROL QUEUE OVERFLOW DO A RESET AND SET UP R5 AND R6 STACKS. 000254' 000254' 000256' 000256' 000262' 000262' 000266' 000266' 000270' 000274' 000300' INLINE RESET 000005 LET R5 .- DX.RS 016705 OOOOOOG LET SP .- DX.SP 016706 OOOOOOG MOV DX.RS,R5 M,]V DX.SP,SP M:::lV MOV JSR rJlOV R5,-(SP) #DTA8LE,-(R5) PC,RSTRCY (SP)+,RS MOV fJlOV JSR MOV R5,-(SP) ItDT.A.BLE,-(RS} PC,ERREC (SP)+,RS CALL RSTRCY IN 010546 012745 004767 012605 OOOOOOG OOOOOOG + NOW CALL ERROR RECOVERY ROUTINE 000302' 000302' 010546 000304' 012745 000310' 004767 000314' 012605 000316' 000316' 000001 CALL ERREC IN <#DTABLE> OOOOOOG OOOOOOG ENDIF 50003$: .END RPIRQ (PIRQ SERVICE RJUTINE) 28-JU L-78 09:10 RPIRQ.MAC ACSR 000102 ACTBIT= 004~OO ADD~22= 001COO ADR 000006 APTFER= 000004 APTPRE= 000200 ASB 00C106 ASS~M3= 000010 ASTAT = 000104 AUTO COO010 AUTJST= 020000 A~>JAS 000110 CA.HDR= **"'*** G E3A.RET= **"'*** G E3A.STA= **"'*** G t)I TO 000001 CITOO 000001 BIT01 000002 BIT02 000004 BIT03 GOO010 BIT04 000020 BIT05 000040 BIT06 000100 BIT07 000200 BIT08 000400 OO~OOO B1T09 E31T1 000002 B1T10 002000 E31T11 004000 B1T12 010000 BIT 1 3 020000 BIT 14 O~OOOO B1T15 '100000 B1T2 000004 000010 t3IT3 BIT4 000020 BITS 000040 000100 BIT6 BIT7 000200 BIT8 OOO~OO BIT9 001000 BKDEF 000002 BKrv':OD 000020 BKP/;ODE = 040000 BKSLSH= 000134 CAPRES= 000004 CASTAT= 000004 CDERCT= 000146 CDv..:DCT= 000144 CKTIM = 100000 CLKPRE= 000001 CONFIG= 000056 CQOVF = 000001 20-SEP-78 fvlACY 11 30A(1052) SYMBOL TABLE CR CSRA CSRC CTRLC CTRLO CTRLU DCEVNT= DEFRHJ= DIAGMC= DROPMO= DSEVNT= DTABLE= DT.ADD= DT.AP = DT.APK= DT.BLS= DT.CFO= DT.CF1= DT.ERR= DT.ESI= DT.EVN= DT.EXS= DT.FCH= DT.FCN= DT.HMX= DT.KBE= DT.KBP= DT.KBR= DT.KBU= DT.MLS= DT.MTI= DT.OFF= DT.PAS= DT.PC = DT.PFL= DT.PSW= DT.PTA= DT.RCS= DT.REL= DT.SCT= DT.SMX= DT.SP = DT.SSI= DT.STO= DT.ST1= DT.SWR= DT.SYP= DT.W8U= DT . Ii;HL= DT.WLL= DVID1 = DX.DEQ= DX.R5 = 000015 000100 000102 000003 000017 000025 000011 000400 000000 100000 000014 ****** G 000042 000100 000076 000034 000014 000016 000020 000044 000000 000060 000037 000036 000104 000024 000026 000022 000030 000032 000110 000070 000074 000002 000062 000004 000064 000102 000040 000066 000106 000006 000046 000010 000012 000056 000072 000050 000054 000052 000014 ****** G ****** G DX.SP = ECC:ilEM= ECCSTA= ENBEOP= ENBNUL= ENDLST= ENQCQ = EOPBIT= ERREC = ERRTYP= EVNTBE= EVNTHD= EVNTKT= EVNTPE= EVNTRE= FATERR= HRDCNT= hRD?AS= ICONT = ICOUNT= IDNUM = IE INDPAR= INHDRP= INHEPR= INHREL= INHRRE= INIT INTR lOMOD IOMODP= IOMODR= IOMODX= JACK KIPARO= KIPAR1= KIPAR2= KIPAR3= KIPAR4= KIPAR5= KIPAR6= KIPAR7= KIPDRO= KIPDR1= KIPDR2= KIPDR3= KIPDR4= KIPDR5= KIPDR6= KIPDR7= KTERRO= KTPRES= KTSTAT= PAG:: 20 17:38 ****** G 000100 000010 010000 000001 000000 *****¥ G 000001 ****** G 000106 000200 000200 000203 000202 000201 100000 000044 000050 000036 000040 000122 000100 000040 040000 020000 001000 000400 000030 000120 100000 102000 112000 110000 035060 172340 172342 172344 172346 172350 172352 172354 172356 172300 172302 172304 172306 172310 172312 172314 172316 COO040 000400 000020 SEQ 0234 KTXTND= LF LPSTAT= MAPSTA= MED MEMPAS= MODEXH= MODHOL= MODSEL= MSGCKD= MSGCKS= MSGDER= MSGDRP= MSGECH= MSGEOP= MSGHDR= MSGHNG= MSGHR8= MSGi\iA?= MSGNUL= MSGPOP= MSGPRM= MSGRES= MSGSFT= MSGSKE= MSGSMB= MSGSMH= MSGSfv1S= MSGSTD= MSGSYS= MSGVEC= NBKMOD= NCPUOP= NOAPTY= NULL OWEN PAERR PARPRE= PARSTA= PASCNT= PDPLSI= PDP60 PDP70 PRIO P R11 PRl4 PRI5 PRI6 PRI7 PRO PR4 PR5 PR6 040000 000012 000001 000200 076600 040000 004000 002000 00 1 000 000010 000011 000005 000017 177777 000013 00J004 000022 000007 000021 177775 000002 177776 000001 000006 000003 000015 000014 000016 000000 000012 000020 001000 000020 000)002 000000 024020 0000010 002000 000100 000034 020000 004000 010000 000000 000040 000200 000240 000300 000340 000000 000200 000240 000300 PR7 PS PSW R.ll.NNUM= RBJFEA= R3UFPA= R8UFSZ= RSUFVA= RJSERV= RD\tJHMI = Ri:.LERR= RcLi',10D= R:::L TIM= R::Sl RC<::;') RICHAR= RPIRQ RPTDAT= RP.EXT RP.R5S RSTRCY= RSTkT = RUBOUT= RUN:'I'10D= R5VALU= SAM SSADR = S8V!\i'OD= S3KSE L= SC.ADR= SC.ALC= SC.APC= SC.CKL= SC.CKP= SC.CLO= SC.HLD= SC.SCA= SEN0LS= SGFCNT= SOFPAS= SPACE = SPOINT= SPVALU= SRO SRl SR2 SR3 STAT STATBI= STAT1 = SUSPND= SVRO SVRl 000340 177776 177776 000054 000130 000126 000132 000124 000101 000022 000020 020000 010000 000056 000060 031060 000014RG 002000 OOOOOOR 0OOO14R ****"'* G 000112 000177 100000 001740 075464 000102 000000 010000 000006 000014 000016 000002 000004 000000 000010 000012 177777 000042 000046 000040 000032 002200 177572 177574 177576 172516 000026 064757 000027 000001 000062 000064 RPIRQ (PIRQ SERVICE ROUTINE) 28-JUL-78 09:10 MACY11 30A(1052) 20-SEP-78 SYMBOL TABLE RPI~Q.MAC SVR2 SVQ3 SVR4 SVR5 SVR5 SYSCNT= SYSERR= TMPIO = TQOVF = UIPARO= UIPAR1= UIPAR2= UIPAR3= UIPAR4= UIPAR5= UIPAR6= UIPAR7= UIPDRO= UIPDR1'-" UIPDR2= UIPDR3= 000066 000070 000072 000074 000076 000052 000100 000002 000002 177640 177642 177644 177646 177650 177652 177654 177656 177600 177602 177604 177606 ABS. 000000 000316 LJIPDR4= UIPDR5= UIPDR6= UIPDR7= WASADR= WBSTAT= WBUFEA= \,I;SUFPA= WBUFRQ= WBUFSZ= WDFR WDTO WTINRE= WTWHMI= XFLAG = XOFF XON $BGNLE= $ERFLG= $F$AND= $F$BAD= 177610 177612 177614 177616 000104 000040 000136 000134 000140 000142 000116 000114 000352 000222 000005 000023 000021 177777 000400 000310 000401 000 001 ERRORS DETECT~D: 0 DEFAULT GLOBALS GENERATED: 0 DSKZ:RPIRQ.DSKZ:RPIRQ=SPMAC/ML,EQUATE,RPIRQ RUN-TIME: 14 4 .3 SECONDS RUN-TIME RATIO: 39/19=1.9 CORE USED: 14K (27 PAGES) $F$BLA= $F$CAS= $F$DEC= $F$DO = $F$FAL= $F$GOO= $F$IF = $F$INC= $F$LOO= $F$NAM= $F$NO = $F$OR = $F$RTI= $F$RTN= $F$SEL= $F$THE= $F$TRU= $F$UNT= $F$\,IJHI= $F$YES= $IFLEV= 17:38 PAGE 20-1 SEQ 0235 000170 000150 000~20 000340 000405 000400 000110 000210 000200 000160 000403 0003~0 000350 000300 000140 000330 000404 000130 000120 000402 177777 $ISKO = ~ISK1 = $ISK2 = $LOCTA= $LSTIN= $LSTTA= $NESTL= $NSKO = $NSK1 = $NSK2 = $SAVLE= $TAGLE= $TAGNU= $TEMP $TSKO = $TSK1 = $T5K2 = $$ARGC= $$BYTE= $$CA5E= $$D5T = 000001 000001 000001 177777 000001 000001 177777 000110 000110 000110 177777 177777 050004 050003 050003 050001 050002 000000 000403 000000 000000 $$ELOC= $$ERFL= $$ F LAG= $$FROM= $$LOC = $$LOCN= $$REG = S$iiETU= $SRTN1= $SRTN2= $$SRC = $ST::;SV= $$TGS1= $$TGS2= $:;TO $$$TAG= 000402 000000 000001 000000 000100R 000000 177777 000000 000000 000000 000000 000000 000000 000000 000001 050000 000316R .MAIN. MACY11 30A(1052) 20-SEP-78 EQUATE.MAC 13-SEP-78 16:13 3 553 556 582 17:38 TABLE OF CONTENTS COMMON EQUATE MODULE COMMON DEFINITIONS AND REFERENCES 000000' .PRINT RSTRCY ROUTINE ;SPMAC: VERSION 1.1 SEQ 0236 RSTRCY - RESET RECOVERY MACY11 30A(1052) 20-SE?-78 i7:33 P~~E 1S RSTRCY.MAC 08-SEP-78 08:17 COMMON EQUATE MODULE 508 509 510 511 512 513 514 315 516 517 518 519 520 521 S22 523 524 525 S28 527 528 529 530 531 532 S33 534 535 536 537 .TITLE RSTRCY - RESET RECQV£RY .IDENT IVO.O/ ;++ r'JlODU LE NAME: RSTRCY FUNCTIONAL DESCRIPTION: RESTORES PROCESSOR HARDWARE OPTIONS TO THE STATES THEY WERE IN BEFORE THE IIRESET" WAS ISSUED. INPUTS: DATA TABLE ADDRESS IMPLICIT INPUTS: DT.STO DT.CFO DT.PTA OUTPUTS: NONE IMPLICIT OUTPUTS: NONE PATHOLOGICAL CONNECTIONS: DT.KBRSP SUBORDINATE MODULES CALLED: KPON - PARITY ON ROUTINE 538 539 540 541 542 543 544 545 546 547 548 549 550 551 SEQ C237 FUNCTION~L SIDE EFFECTS: NONE CALLING SEQUENCE: CALL RSTRCY IN
A=DATA TABLE ADDRESS VERSION: 0.0 EDIT BY DATE REASON RSTRCY - RESET RECOVERY MACY11 30A(1052) 20-SEP-78 17:38 PAGE 19-1 RSTRCY.MAC 08-SEP-78 08:17 COMMON DEFINITIONS AND RE~ERENCES 553 554 555 556 (1) 557 558 559 SEQ 0238 .SBTTL COMMON DEFINITIONS AND REFERENCES 000000 1 000000 1 000001 000001 560 561 .MCALL STRUCT STRUCT .PRINT ;SPMAC: VERSION 1.1 $LSTIN=1 $LSTTAG=1 562 ;**************** , 563 ; REFERENCED BY OTHER MODULES 564 565 .GLOBL RSTRCY ;MODULE ENTRY POINT 566 567 ;**************** 568 569 570 ; GLOBAL REFERENCES 571 572 573 .GLOBL .GLOBL .GLOBL 574 575 ;**************** 57c 577 KONTRL CCNTRL KPON ;BUFFER TO CACHE REGISTER ;CACHE REGISTER ;PARITY ON ROUTINE ; LOCAL STORAGE 578 379 580 000000 1 000002 1 000002 1 000015 RST.PTR: .WORD RST.BUF RST.BUF: .WORD ;FAKE BUFFER POINTER ;FAKE BUFFER RSTRCY - RESET RECOVERY MACY11 30A(1052) 2C-SEP-78 17:38 RSTRCY ROUTINE 08-SEP-78 08: 17 RSTRCY.MAC 582 583 584 585 (2 ) 586 587 588 589 590 591 592 ( 2) (3 ) 593 594 595 596 597 598 599 (4) 600 601 602 603 604 605 (6 ) 609 (6 ) (9 ) 610 (6 ) 611 (4 ) 612 (4 ) 613 614 615 616 617 618 619 620 ( 6) ( 9) 621 (6 ) 622 SEQ 02'39 .SBTTL RSTRCY ROUTINE ROUTINE RSTRCY 000004' 000004' RSTRCY: ;+ ; SAVE REGISTERS ;- PUSH RO,R1 000004' 000004' 010046 000006' 010146 MOV MOV RO,-(SP) Rl,-(SP) MOV TABL(~5),RO BIT B~Q #KTSTAT,DT.STO(R 50002$ BIS #001001,@#SRO BIT BEQ #ADDR22,DT.CFO(R 50003$ BIS #BIT04,@#SR3 BIT BEQ #MAPSTAT,DT.STO( 50004$ 8IS #BIT05,@#SR3 ;+ ; SET RO TO THE START OF THE DATA TABLE ., 000010' 000010' 016500 LET RO ...... , ' ; ; , 000014' 000014' 000022' 000024' 000024' 000032' 000032' OSO()40' 000042' 000042' ooeS50' 000050' 000050' 000050' .- TABL(R5) 000000 1306 607 (6 ) ( 9) 608 FAGE 19-2 IF MEMORY MANAGEMENT WAS ENABLED, RE-ENABlE IT, INCLUDING 22-BIT ADDRESSING IF IT EXISTS. IF #KTSTAT SETIN DT.STO(RO) THEN 032760 001412 000020 000010 052737 001001 177572 032760 001403 001000 000014 052737 000020 172516 LET @#SRO := @#SRO SET.BY #001001 IF #ADDR22 SETIN DT.CFO(RO) THEN LET @#SR3 .- @#SR3 SET.BY #BIT04 ENDIF 50003$: ENDIF 50002$: ;+ ; IF THE UNIBUS MAP HAD BEEN ENABLED, RE-ENABLE IT. ;- 000050' 000050' 032760 000056' 001403 000060' 000060' 052737 000066' IF IIMAPSTAT SETIN DT.STO(RO) THEN 000200 000010 000040 172516 LET @#SR3 ENDIF ~= @#SR3 SET.BY #BIT05 RSTRCY - RESET ~~COVERY MACY11 30A(1C52) 2C-SEP-78 17:38 RSTKCY.MAC 08-SEP-78 08:17 RSTRCY ROUTINE (4) 623 G24 625 626 527 628 62:3 630 631 632 (6) (8) (6) (9) (S) 633 (3) (5) (4) (3) (3) 634 (4) 635 (4) PAGE 19-3 SEQ 0240 50004$: 000066 1 ;+ , ; ; ; C00066' 000066' 000074 1 000076' 000104' 000106' 000106 1 e00106' 000110' 000114' C00116 1 000122' 000124' oeo 124 I 000130 1 000130 1 63S 637 638 639 640 641 642 543 644 (6) (9) 645 (6) (9) 646 (6) 647 (4) 648 000130' 000130' 000136' 000140' 000140' 000146' 000150' 000150' 000156' 000156' 000164' IF PARITY OR ECC HAD SEEN ENABLED, RE-LOAD THE PARITY REGISTERS. BY CALLING KPON ROUTINE AND PASSING THE ADDRESS OF FAKE BUFFER. THEN CLEAR OUT KEYBOARD RESPONSE LOACATION IN DTABLE TO ELIMINATE OUTPUTTING MESSAGE. IF #PARSTAT SETIN 032760 001004 032760 001411 000100 000010 000010 000010 DT.~TO(RO) OR #ECCSTAT SETIN DT.STO(RO) THEN BIT 8NE BIT SEQ #PARSTAT,DT.STO( 50005$ #ECCSTAT,DT.STO( 50006$ MOV MOV MOV JSR MOV R5,-(SP) #RST.PTR,-(R5) RO,-(R5) PC,KPON (SP)+,R5 CLR DT.KBRSP(RO) 50005$: CALL KPON IN 010546 G1274~) 000000 010045 004767 012605 OOOOOOG 00506e 000022 1 LET DT.KBRSP(RO) .- #0 ENDIF 50006$: ;+ ; SEE IF CACHE MEMORY IS PRESE~T. IF IT IS, AND IF IT HAD BEEN ; DISABLED, THEN RE-DISABLE IT. ALSO, IF CACHE IS PRESENT AND IF ; PARITY HAD BEEN DISABLED, THEN CACHE PARITY MUST BE RE-DISA8LED. ;- (4) 000164' 649 (6) (9) 650 (6) 651 (4) 652 (4) 000~64' 000164' 000172' 000174' 000174' 000202' 000202' 000210' 000210' 653 000210' IF #CAPRES SETIN DT.CFO(RO) THEN 032760 001424 000004 000014 032760 001006 000004 000010 052767 000014 OOOOOOG BIT SEQ #CAPRES,DT.CFO(R 50007$ BIT BNE #CASTAT,DT.STO(R 50010$ BIS #14,KONTRL MOV KONTRL,@CCNTRL BIT 8NE #PARSTAT,DT.STO( BIS #202,KONTRL MOV KONTRL,@CCNTRL IF #CASTAT NOTSETIN DT.STO\RO) THEN LET KONTRL .- KONTRL SET.BY #14 LET @CCNTRL := KONTRL 016777 OOOOOOG OOOOOOG ENDIF 50010$: IF #PARSTAT NOTSETIN DT.STO(RO) THEN 032760 001006 000100 000010 50011$ LET KONTRL .- KuNTRL SET.BY #203 052767 000203 OOOOOOG LET @CCNTRL .- KONTRL 016777 OOOOOOG OOOOOOG ENDIF 50011$: ENDIF RSTRCY - RESET RECOVERY MACY', 30A(1052) 20-SE?-78 17:3B RSTRCY.MAC 08-SEP-78 08:'7 RSTRCY ROUTINE (4) PAGE 19-4 SEQ 0:241 50007$: 000210' 654 655 656 657 ;+ ; RESTORE REGISTERS AND RETURN. ;- 358 659 660 (2 ) POP R1 , RO (3 ) 000210' 000210' 01260'1 000212' 012500 661 662 (3 ) (3) ( 2) 663 000214' 000214' 000214' 000214' 000207 000001 ENDRTN MOV MOV (SP)+,R1 (SP)+,RO RTS PC 50000$: 50001$: .END RSTRCY - RESET RECOVERY MACY11 08-SEP-78 08:'7 RSTRCY.MAC ACSR ACTBlT= t-DDR22= ADR APT>=EK= APTPRE= ASB ASSEM3= t-STAT = I\UTO AUTOST= A\oJAS BITO BITOO BIT01 BIT02 81T03 81T04 GITOS BIT06 BIT07 BIT08 BIT09 SITl BIT10 BIT 11 r>I T12 BIT 13 8IT14 BIT 15 [31 T2 f3IT3 l3IT4 BITS BIT6 BIT7 BIT8 BIT9 BKDEF BKrv'iOD m·\r¥iODE = E3r\S LSH= CAPRES= CASTAT= CCNTRL= CDERCT= CD'.I;DCT = CKTIM = CLKPRE= CONFIG= CQOVF CR CSRA 000102 004000 001000 000006 000004 000200 000106 000010 000104 000010 020000 000 110 000001 000001 000002 COOO04 000010 000020 000040 000100 000200 000400 001000 000002 002000 004000 010000 020000 040000 100000 000004 000010 000020 000040 000100 000200 000400 001000 000002 000020 040000 000134 000004 000004 ***"'** G 000146 000144 100000 000001 000056 000001 000015 000100 30A(1052) CSRC CTRLC CTRLO CTRLU DCEVNT= DEFRTN= DIAGMC= DRO?MO= DSEVNT= DT.ADD= DT.AP = DT.APK= DT.BLS= DT.CFO= DT.CF1= DT.ERR= DT.ESI= DT.EVN= DT.EXS= DT.FCH= DT.FC!\:= DT.Hrl:X= DT.KBE= DT.KBP= DT.KBR= DT.KBU= DT.MLS= DT.MTI= DT.OFF= DT.PAS= DT.PC = DT.PFL= DT.PSW= DT. PT A= DT.RCS= DT.REL= DT.SCT= DT.SrvlX= DT.SP = DT.SSI= DT.STO= DT.ST1= DT . S'vJR= DT.SYP= DT.WBU= DT.WHL= DT .WLL= DVID1 = ECCMEM= ECCSTA= ENBEOP= ENBNUL= ENDLST= 000102 000003 000017 000025 000011 000400 000000 100000 000014 000042 000100 00C076 000034 000014 000016 000020 000044 000000 000060 000037 000036 000104 000024 000026 000022 000030 000032 000110 000070 000074 000002 000062 000004 000064 000~02 000040 OC0066 000106 000006 000046 000010 000012 000056 000072 000050 000054 000052 000014 000100 000010 010000 000001 000000 20-$EP-78 17:38 SYMBOL TABLE EOPBIT= ERRTYP= EVNTBE= EVNTHD= EVNTKT= EVNTPE= EVNTRE= FATERR= HRDCNT= HRDPAS= lCONT = ICOUNT= IDNUM = IE INDPAR= INHDRP= INHEPR= INHREL= INHRRE= INIT INTR lOMClD IOMODP= IOMODR= IOMODX= JACK KIPARO= KIPAR1= KlPAR2= KIPAR3= KIPAR4= KIPAR5= KIPAR6= KIPAR7= KIPDRO= KIPDR1= KIPDR2= KIPDR3= KIPDrt4= KIPDR5= KIPDRG= KIPDR7= KONTRL= KPON KTERRO= KTPRES= KTSTAT= KTXTND= LF LPSTAT= MAPSTA= MED MEMPAS= PAGE 20 000001 000106 0002CO 000200 000203 000202 000201 100000 000044 000050 000036 000040 000122 000100 000040 040000 020000 001000 000400 000030 000120 100000 102000 112000 l1JOOO 035050 172340 172342 172344 172346 172350 172352 172354 172356 172300 172302 172304 172306 172310 172312 172314 172316 **'1'*** G ***"'** G 000040 OOO~CO 000020 040000 000012 000001 0002CO 076600 040000 SEQ 0242 MODEXH= r.l0DHOL= MODSEL= MSGCKD= MSGCKS= MSGDER= MSGDRP= MSGECH= MSGEOP= MSGHDR= MSGH~,G= MSGHRD= MSGfI,A?= MSGNUL= MSGPOP= MSGPR;'vl= MSGRES= MSGSFT= MSGSKE= tI.SGSfv'lB= MSGSfJlH= MSGSrf.S= MSGSTD= MSGSYS= l\1SGVEC= NBKIV10!)= NCPUOP= NOAPTY= NULL OWEN PAERR PARPRE= PARSTt-= PASCNT= PDPLSI= PDP60 PDP70 PRIO PRI1 PRI4 PRI5 PRI6 PRI7 PRO PR4 PR5 PRG PR7 PS PSV-J RANNUM= RBUFEA= RBUFPA= 004000 002000 001000 000010 000011 000005 000017 177777 000013 000004 000022 000007 000021 177775 000002 177776 000001 000006 000003 000015 000014 000016 000000 000012 000020 001000 000020 000002 000000 024020 000010 002000 000100 000034 020000 004:)00 010000 000000 000040 000200 000240 000300 000340 000000 000200 000240 000300 000340 177776 177776 000054 000130 000126 RBUFSZ= RBUFVA= RDSERV= RDiNH[Vl I = RELERR= RELMGD= RELTIM= R:::S1 RES2 RICHAR= RPTDAT= RSTRCY RSTRT = RST. BU RST.PT RUBOUT= RUNMOD= R5VALU= SA:Vl S9"DR = SBKiViOD= SBKSEL= SC.ADR= SC.ALC= SC.APC= SC.CKL= SC.CKP= SC.CLO= SC.HLD= SC.SCA= SENDLS= SOFCNT= SOFPAS= SPt-CE = SPOINT= SPVALU= SRO SRl SR2 SQ3 STAT STATBl= ST ATl = SUSPND= SVRO SVR1 SVR2 SVR3 SVR4 SVR5 SVR6 SYSCNT= SYSERR= 000132 000124 000101 000022 000020 020000 010000 000056 000060 031060 002000 000004RG 000112 000002R OOOOOOR 000177 100000 001740 075464 000102 000000 010000 000006 000014 000016 000002 000004 000000 000010 000012 177777 000042 000046 000040 000032 002200 177572 177574 177576 172516 000026 064757 000027 000001 000062 000064 000066 000070 000072 000074 000076 000052 000100 .MAIN. MACY11 30A(1052) 20-SEP-78 EQUATE.MAC 13-SEP-78 16:13 3 566 570 630 763 17:39 TABLE OF CONTENTS COMMON EQUATE MODULE COMMON DEFINITIONS AND REFERENCES 000000' .PRINT ;SPMAC: VERSION 1.1 ACTIVATE ROUTINE SET UP FOR THE NEXT PASS THRU MODULE LIST SEQ 0244 ACTIV - ACTIVATE NEXT OPTION MODULE ACTIV.MAC 13-SEP-78 16:25 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 MACY11 30A(1052) 20-SEP-7e COMMON EQUATE MODULE .TITLE .IDENT SEQ 0245 ACTIV - ACTIVATE NEXT OPTION MODULE JVO.Oj MODULE NAME: ACTIV FUNCTIONAL DESCRIPTION: THIS ROUTINE FETCHES FROM THE MODULE QUEUE LIST SUPPLIED BY THE CONFIGURATOR LINKER PROGRAM THE ADDRESS OF THE NEXT OPTION MODULE TO BE ACTIVATED, AND ACTIVATES IT BY MAKING AN ENTRY FOR IT IN THE CONTROL QUEUE INPUTS: 1. ADDRESS OF DATA TABLE IMPLICIT INPUTS: 1. DT.STO 2. DT .ST1 OUTPUTS: NONE 531 532 IMPLICIT OUTPUTS: 1. DT.STO 533 534 535 PATHOLOGICAL CONNECTIONS: NONE 536 537 SUBORDINATE ROUTINES CALLED: 1. ENQCQ 2. SAVREG 3. RESREG 538 539 540 541 542 MAKE ENTRY IN CONTROL QUEUE FUNCTIONAL SIDE EFFECTS: 1. THIS ROUTINE IS RESPONSIBLE FOR SETTING TH~ FOLLOWING BITS IN THE SYSTEM'S STATUS INDICATOR WORD: SET TO INDICATE THAT A SBK OR NBK MODULE ~JlODHOLD IS PRESENTLY RUNNING SET TO INDICATE THAT ALL OF THE EXERCISER'S MODEXH OPTION MODULES HAVE BEEN ACTIVATED SET IF BKMOD IS DOING A O~E TMPIO ONE ITERATION PASS, BKMOD WILL TAKE AN APPEARANCE OF AN IOMOD. 543 544 545 546 547 54~ 549 550 551 552 553 CALLING SEQUENCE: CALL ACTIV IN 554 555 556 DTABLE 557 558 = ADDRESS OF DATA TABLE VERSION: 0.0 559 560 561 562 PAGE 19 ;++ 530 563 17:39 , '- EDIT BY DATE REASON ACTIV - ACTIVATE NEXT OPTION MODULE ACTIV.MAC 13-SEP-78 16:25 564 MACV11 30A(1052) 20-SEP-78 COMMON EQUATE MODULE 17:39 PAGE 19-1 SEQ 0246 ACTIV - ACTIVATE NEXT OPTION MODULE 13-SEP-78 16:25 ACTIV.MAC 566 567 568 569 570 (1) S71 572 573 574 575 576 577 578 579 000000' 000000' PAGE 20 .SBTTL COMMON DEFINITIONS AND REFERENCES .PRINT .MCALL STRUCT STRUCT ;SPMAC: VERSION 1.1 $LSTIN = 1 $LSTTAG = 1 000001 000001 , ;**************** , ; REFERENCED BY OTHER MODULES , 580 .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 595 599 , ;MODULE'S ENTRY POINT ACTIV AC.TPTR AC.TYPE AC.MPTR AC.MODQ MODO STATBITS SENDLST ;**************** , .GLOBL .GLOBL .GLOBL RESREG SAVREG ENQCQ ;RESTORE REGISTERS ROUTINE ;SAVE REGISTERS ROUTINE ;CONTROL QUEUE EN-QUEUE MODULE ;**************** LOCAL EQUATES , 001777 060757 177777 60C 601 602 603 604 60S 606 60', 608 609 610 611 612 613 614 615 616 617 618 619 620 MACY11 30A(1052) 20-SEP-78 17:39 COMMON DEFINITIONS AND REFERENCES NON32K = 001777 STATBITS = 060757 SENDLST = 177777 , ;NON-32K BOUNDARY ;MODULE'S STATUS WORD ;SPECIAL END OF LIST INDICATOR ; LOCAL STORAGE - PROGRAM IMPURE STORAGE o 000122' 000000 AC.MPTR: .WORD AC.MODQ: MODQ: .REPT .NLIST .WORD . LIST .ENDR .WORD o ;END OF LIST iNDICATOR 000124' 000126' 000130' 000132' 000134' AC.TPTR: .WORD AC. TYPE: . WORD .WORD .WORD .WORD SBKMOD SBKMOD NBKMGD BKMOD IOMOD ;MODULE-TYPE-LIST POINTER (ASSEMBLED TO SBKMOD) ;SPECIAL MODULE TYPE ;NON-BACKGROUND ; BACKGROUND ;1/0 MODULE - INTERRUPT DRIVEN 000000' 000000 000002' uOOOO2' 00005C 000000 OOCOOO 001000 000020 100000 ;MODULE-QUEUE-LIST POINTER "D<40> o SEQ 0247 ACTIV - ACTIVATE NEXT OPTION MODULE hCTIV.MAC 13-SEP-78 16:25 -.321 000'136 1 110000 622 000140 000142 523 624 625 626 627 628 1 1 102000 112000 000144 1 177777 MACY1' 30A(1052) 20-SEP-78 17:39 COMMON DEFINITIONS AND REFERENCES .WORD .WORD .WORD .WORD IOMODX IOMODP IOMODR SENDLST **************** PAGE 20-1 ;1/0 MODULE - NPR DRIVEN ;1/0 MODULE - RUNS ONLY ON 32K BOUNDARIES ;1/0 MODULE - RUNS ONLY AT LOWEST MEMORY BANK ;SPECIAL END-OF-LIST INDICATOR SEQ 0248 ACTIV - ACTIVATE NEXT OPTION MODULE ACTIV.MAC 13-SEP-78 16:25 630 631 632 (2) 633 534 635 636 637 635 (3) 639 (4) 640 641 642 643 644 645 646 (6) (9) 647 (4) (6) 645 (4) 649 (6) 650 (4) 651 652 653 654 655 656 (4) (6) (9) 657 658 659 660 661 662 (4) 663 664 665 666 667 668 (4) (6) (9) W,ACY1' 30A(1052) ACTIVATE ROUTINE .SBTTL 000146 1 000146 1 ~0-SEP-7c 17:39 PAGE 21 SEQ 0249 ACTIVATE ROUTINE ROUTINE ACTIV ACTIV: ;+ ; SAVE REGISTERS AND PUT THE DATA TABLE ADDRESS IN RO. , '- 000146 1 000146 1 004767 CALL SAVREG OOOOOOG LET RO .- DTABLE(R5) 000152~ 000152 1 016500 000000 JSR PC,SAIIREG MOV DTABLE(R5),RO ;+ ; IF WE1VE BEEN THROUGH THE TY~E LIST ALREADY, RESET THE POINTERS TO ; IOMOD AND TO START OF MODQ LIST, THEN CLEAR THE MODSEL AND MODEXH ; BITS INSTATUS WORD O. ;- 000156 1 000156 1 000164 1 000166 1 000166 1 000174 1 000202 1 000202 I 000210 1 000210 000216 000216 1 1 IF #MODEXH SETIN DT.STO(RO) THEN 032760 001414 004000 012767 062767 000126 1 177730 000006 177722 012767 000002 1 177570 042760 005000 #MODEXH,DT.STO(R 50002$ MOV ADD #AC.TYPE,AC.TPTR #6,AC.TPTR MOV LET DT.STO(RO) .- DT.STO(RO) CLR.BY #MODSEL!MODEXH BIC #AC.MODQ,AC.MPTR LET AC.TPTR .- #AC.TYPE + #6 LET AC.MPTR .- #AC.MODQ 000010 ENDIF 1 + 000216 1 000216 000216 027727 0.002241 001563 BIT BEQ 000010 50002$: SEARCH UNTIL THE MODULE-TYPE-LIST IS EXHAUSTED WHILE @AC.TPTR NE #SENDLST DO 50003$: 1 1 #MODSEL!MOD2XH,D 177702 177777 CMP SEQ @AC.TPTR,#SENDLS 50004$ MOV @AC.TPTR,R3 TST SEQ @AC.rY:PTR 50006$ ;+ ; SAVE THE POINTER IN R3. ,' 000226 1 000226 1 017703 LET R3 "- @AC.TPTR 177672 ;+ ; SEARCH THE MODULE-QUEUE-LIST FOR A MODULE OF THE CURRENT TYPE 000232 1 000232 1 000232 1 005777 000236 1 001515 WHILE @AC.MPTR NE #0 DO 50005$: 177542 ACTIV - ACTIVATE NEXT OPTION MODULE 13'-S:;:p-7e 16:25 ACTIV.MAC 669 (4 ) 370 (4 ) 671 672 373 :374 675 576 (4) 577 (4) (6 ) 678 67S 680 681 682 683 684 (6) (9) 685 (6 ) ( 9) (6 ) (9) 686 687 688 689 590 691 (4) 692 693 694 69S 696 69, 698 699 (6 ) (9) 700 (4 ) 701 (4 ) (3 ) 702 (4 ) 703 (4 ) 704 705 (,00240' 000240' 017701 000244' 000244' 010104 MACY11 30A(1052) ACTIVATE ROUTINE 17:33 20-SEP-78 SEQ 0250 LET R1 ·- @lAC.MPTR LET R4 ·- R1 177534 PAGE 21-1 MOV @lAC.MPTR,R1 MOV R1,R4 ;+ ; CLEAR OUT ALL BUT THE MODULE TYPE BITS IN THE MODULE'S STATUS WORD. ., 000246' 000246' 016101 000252' 000252' 010102 000254' 042702 LET R1 ·- STAT(R1 ) LET R2 ·- R1 CLR.BY #STATBITS 000026 060757 MOV STAT(R1), R1 MOV BIC R1 ,R2 #STATBITS,R2 ;+ ; IF ONE IS FOUND MAKE SURE IT IS SELECTED AND THAT IT HAS NOT ; BEEN DROPPED AND IS NOT ACTIVE. ;- 000260' 000260' 000262' 000264' 000264' 000270' 000272' 000276' IF R2 EQ R3 THEN R2,R3 CMP B;\JE 50007$ IF #8IT14 SETIN R1 AND #BIT13!ACTBIT NOTSETIN R1 THEN #BIT14,Rl BIT 50010$ BEQ #BIT13!ACTBIT,R1 BIT 50010$ BNE 020203 001077 032701 00147·1 032701 001071 040000 024000 ;+ ; SAVE THE MODULE LIST POINTER. ;- 000300' 000300' LET R1 017701 .- @lAC.MPTR MOV 177474 @AC.MPTR,R1 ;+ ; IF THE OPTION MODULE'S PhSS COUNT IS NOT 0, THEN SAVE ITS RESTART ADDRESS. ; OTHERWISE, SAVE THE START ADDRESS AS THIS IS THE FIRST PASS. .r 000304' 000304' 005764 000310' 001403 000312' 000312' 016104 000316' 000316' 000402 000320' 000320' 000320' 016104 000324' OC0324' IF PASCNT(R4) NE #0 THEN 000034 LET R4 .- TST BEQ PASCNT(R4) 50011$ MOV RSTRT(R1) ,R4 8R 50012$ MOV INIT(R1),R4 RSTRT(R1) 000112 ELSE LET R4 000030 .- 50011$: INIT(R1 ) ENDIF 5001~$: ;+ ACTIV - ACTIVATE NEXT OPTION MODULE ACTIV.MAC 13-SEP-78 16:25 706 707 708 709 710 (4) 711 (3) (6) (5) (4) (3) (3) 712 713 714 715 716 717 (6) 718 719 720 721 722 723 724 (6 } (8 ) (6) (8) (6) ( 9) (6) 725 (6) 726 (4 ) 727 (6) (9) 728 (6 ) 729 (4 ) 730 731 73:: 733 734 735 736 737 738 (6) (9) MACY11 30A(1052) ACTIVATE ROUTINE 20-SEP-78 17:39 PAGE 21-2 SEQ 0251 ; BEFORE WE EN-QUEUE THE MODULE MAKE SURE ITS STACK WILL BE SETUP PROPERLY ; THEN EN-QUEUE THE MODULE IN THE CONTROL QUEUE ;000324' 000324' 000332' 000332' 000334' 000336' 000340' 000342' 000346' LET SVR6(R1) := SPOINT(R1) 016161 000032 000076 MOV SPOINT(R1),SVR6( MOV MOV MOV MOV JSR MOV R5,-(SP) R4,-(R5) R1,-(R5) RO,-(R5) PC,ENQCQ (SP)+,R5 BIS #ACTBIT,STAT(R1) CALL ENQCQ IN 010546 010445 010145 010045 004767 012605 OOOOOOG ;+ ; MARK THE OPTION MODULE AS BEING ACTIVE 000350' 000350' 052761 LET STAT(R1) := STAT(R1) SET.BY #ACTBIT 004000 000026 ;+ ; IF THIS MODULE IS OF THE SBK OR NBK TYPE SET THE MODULE-HOLD-FLAG ; WHICH WILL ALLOW THE MODULE TO RUN BY ITSELF ;000356' (J00356' 000362' 000364' 000370' OC0372' 000376' 000400' 000400' 000400' 000406' 000406' 000406' 000406' 000412' 000414' 000414' 000422' 000422' 020227 001406 020227 001403 020227 001003 IF R2 EQ #5BKMOD OR R2 EO #NBKMOD OR R2 EO #BKMOD THEN R2,ltSBKMOD CMP 50013$ BEQ R2,#NBKMOD CMP 50013$ BEQ R2,#3KMOD CMP 50014$ 8NE 50013$: - DT.STO(RO) SET.BY #MODHOLD LET DT.STO(RO) #MODHOLD,DT.STO( BIS ENDIF 50014$: IF R2 EQ #SBKMOD THEN R2,#SBKMOD CMP 50015$ BNE - DT.ST1(RO) SET.BY #SBKSEL LET DT.ST1(RO) #SBKSEL,DT.ST1(R BIS ENDIF 50015$: 000000 001000 000020 . 052760 002000 020227 001003 000000 052760 010000 000010 . 000012 ;+ IF MODULE IS A BKMOD THEN IT IS NECESSARY TO DO A ONE ITERATION ; PASS. THIS IS ACCOMPLISHED BY SETTING THE TMPIO BIT AND CHANGING THE ; BKMOD STAT TO THAT OF AN IOMOD. PRENDIT WILL CHANGE THE MODE ; BACK AT END-OF-PASS TIME. ;- 000422' 000422' 020227 000426' 001011 IF R2 EQ #BKMOD THEN 000020 CMP BNE R2,#8KMOD 50016$ ACTIV - ACTIVATE NEXT OPTION MODULE ACTIV.MAC 13-SEP-78 16:25 739 (6) 740 (6) 741 (6) 742 (4) 74-3 744 745 746 747 748 749 (6) 750 (2) 751 (4) 752 753 754 755 756 757 758 759 (4) 760 (6) 761 (4) (3) 000430 1 000430 1 052760 000436 1 000436' 042761 000444 1 000444 1 052761 000452' 000452 1 MACY11 30A(1052) ACTIVATE ROUTINE 20-SEP-78 17:39 PAGE 21-3 SEQ 0252 LET DT.STO(RO) 000002 000010 000020 000026 100000 000026 LET STAT(R1) LET STAT(R1) '- DT.STO(RO) SET.BY #TMPIO SIS #TMPIO,DT.STO(RO '- STAT(R1) CLR.BY #SKMOD BIC #BKMOD,STAT(R1) '- STAT(R1) SET.BY #IOMOD BIS #IOMOD,STAT(R1) ENDIF 50016$: ;+ ; ADVANCE THE MODULE-QUEUE-LIST POINTER, THEN RESTORE THE ; REGISTERS AND DO A RETURN ;- 000452' 000452' 062767 000460 1 000460 1 000450 000462 1 000462 1 LET AC.MPTR '- AC.MPTR + #2 000002 177320 INLINE
ENDIF 5.001 OS: ;+ ; THE MODULE IS NOT OF THE CURRENT TYPE OR IF IT IS, IT IS ; PRESENTLY DESELECTED OR DROPPED, SO UPDATE THE MODULE-QUEUE-LIST ; POINTER AND KEEP SEARCHING ,' - 0004621 000462 1 000462 1 000462 1 062767 000470 1 000470' 000660 000472 1 ENDIF 50007$: LET AC.MPTR '- AC.MPTR + #2 000002 177310 ADD #2,AC.MPTR BR 50005$ ENDDO 50006$: ACTIV - ACTIVATE NEXT OPTION MODULE ACTIV.MAC 13~SEP-78 16:25 763 764 765 766 767 768 769 770 771 772 (4) 773 (6) 774 775 776 777 778 779 780 (6) (9) (6) (9) (6) (9) 781 (6) 782 (4) 783 784 785 786 78, 788 (6) (9) (6) (9) 789 (6) 790 (4) 791 (4) (3) 792 793 794 795 796 797 798 799 (6) MACY11 30A(1052) 20-SEP-78 17:39 PAGE 22 SET UP FOR THE NEXT PASS THRU MODULE LIST .S8TTL SEQ 0253 SET UP FOR THE NEXT PASS THRU MODULE LIST ;+ ; THE MODULE-QUEUE-LIST HAS BEEN EXHAUSTED SO SET THE POINTER BACK TO THE ; BEGINNING OF IT AND UPDATE THE MODULE-TYPE-LIST POINTER 000472' 000472' 012767 000500' 000500' 062767 LET AC.MPTR '- #4C.MODQ 000002' 177300 000002 LET AC.TPTR '- AC.TPTR + #2 177416 MOV #AC.MODQ,AC.MPTR ADD N2,AC.TPTR ;+ ; IF THE NEW CURRENT TYPE IS THAT OF IOMODP MAKE SURE THE IOMODP ; MODULES CAN RUN AT THIS 4DDRESS ;- 000506' 000506' 080514' 000516' 000524' 000526' 000534' 000536' 000536' 000544' 000544' 027727 001013 026027 OCl1407 032760 001403 177412 102000 000042 000200 001777 000042 062767 000002 177360 IF @AC.TPTR EQ #IOMODP AND DT.ADDR(RO) NE #200 AND #NON32K SETIN DT.ADDR(RO) CMP @AC.TPTR,#IOMODP BNE 50017$ CMP DT.ADDR(RO),#200 BEQ 50017$ BrT #NON32K,DT.ADDR( SEQ 50017$ LET AC.TPTR .- AC.TPTR + #2 ADD #2,AC.TPTR ENDIF 50017$: + 000544' 000544' 000552' 000554' 000562' 000564' 000564' 000572' 000572' 000572' 000572' 000574' IF ITS AN IOMODR TYPE MAKE SURE IT CAN RUN AT THIS ADDRESS IF @AC.TPTR EQ #IOMODR AND DT.ADDR(RO) NE #200 THEN 027727 001007 026827 001403 177354 112000 000042 000200 OOOOO~ 177332 CMP SNE CMP BEQ @AC.TPTR,#IOMODR 50020$ DT.ADDR(RO),#200 50020$ ADD #2,AC.TPTR BR 50003$ LET AC.TPTR '- AC.TPTR + #2 062767 ENDIF 50020$: ENDDO 000611 50004$: ;+ ; THE MQDULE-TYPE-LIST HAS BEEN EXHAUSTED, SO SET THE MODULE-QUEUE-LIST ; EXHAUSTED INDICATOR WHICH SAYS THAT ALL OF THE OPTION MCDULES HAVE ; SEEN ACTIVATED ,' 000574' 000574' 052760 LET DT.STO(RO) 004000 000010 "- DT.STO(RO) SET.BY #MODEXH SIS #MODEXH,DT.STO(R ~CTIV - ACTIVATE NEXT OPTION MODULE ACTIV.MAC 13-SEP-78 16:25 800 801 802 803 804 305 (2) 803 (3) 807 (3) (3) (2) 908 809 MACY11 30A(1052) 20-SEP-78 17:39 PAGE 22-1 SET UP FOR THE NEXT PASS THRU MODULE LIST SEQ 0254 ;+ ; RETURN TO CALLER 000602' 000602' 000602' 000602' 004767 000606' 000606' 000606' 000606' 000207 000001 INLINE <1$:> 1 $: CALL RESREG OOOOOOG J5R PC,RESREG RTS PC ENDRTN 50000$: 50001$: .END ACTIV - ACTIVATE NEXT OPTION MODULE ,'\CTIV.MAC 13-SEP-78 16:25 ACSR ACTaIT= ACTlV AC.MOD AC. ;J\PT AC.TPT AC.TVP ADDR22= ADR APTFER= APTPRE= ASB ASSEMB= ASTAT = ,'UTO l\UTOS1= A'oIJAS 81TO BITOO BIT01 81T02 3IT03 81T04 BIT05 BIT06 8IT07 BITOB 8IT09 [31 T 1 BIT10 l3 IT 11 B1T12 [31T13 BIT 14 3IT15 BIT2 BIT3 3IT4 BITS BIT6 BIT7 BITB B1T9 BKDEF BKJv.OD BKfV:ODE= 8KSLSH= CAPRES= CASTAT= CDE.RCT:: CDWDCT= CKTIM = CLKPRE= 000102 004000 000146RG 000002RG OOOOOORG 000124RG 000126RG 001000 000006 000004 000200 000106 000010 000104 000010 020000 000110 000001 000001 000002 000004 000010 000020 000040 000100 000200 000400 001000 000002 002000 004000 010000 020000 040000 100000 000004 OC0010 000020 000040 000100 000200 000400 001000 000002 000020 040000 000134 000004 000004 000146 000144 100000 000001 CONFIG= CQOVF CR CSRA CSRC CTRLC CTRLO CTRLU DCEVNT= DEFRTN= DIAGr,1C= DRopr.lO= DSEVNT= DTABLE= DT.ADD= DT.AP = DT.APK= DT.SLS= DT.CFO= DT.CF1= DT.ERR= DT.ESI= DT.EVN= DT.EXS= DT.FCH= DT.FCN= DT.HMX= DT.KBE= DT.KBP= DT.KBR= DT.KBU= DT.MLS= DT.MTI:: DT.OFF= DT.PAS= DT.PC = DT.PFL= DT.PSW= DT. PT A= DT.RCS= DT.REL= DT.SCT= DT.SMX= DT. SP = DT.SS1= DT.STO= DT.ST1:: DT.SWR= DT.SVP= DT.WBU:: DT.WHL= DT.WLL= DVID1 = 000056 000001 000015 000100 000102 000003 000017 000025 000011 000400 000000 100000 000014 000000 000042 000100 000076 000034 000014 000016 000020 000044 000000 000060 000037 000036 000104 000024 000026 000022 OC0030 000032 000110 000070 000074 000002 000062 000004 000064 000102 000040 000066 000106 000006 000046 000010 000012 000056 000072 000050 000054 000052 000014 MACV11 30A(1C52} SYMBOL TABLE 2C-SEP-78 ECCMEM= ECCSTA= ENBEOP::. ENBNUL= ENDLST= ENQCQ = EOPBIT= ERRTYP= EVNTBE= EVNTHD= EVNTKT= EVNTPE= EVNTRE= FATERR= HRDCNT= HRDPAS= ICONT = I COUI~T= IDNUM = IE INDPAR= INHDRP= INHEPR= INHREL= INHRRE= INIT 1NTR 10MOD IOMODP= IOMODR= IOMODX= JACK KIPARO= K1P.A.R1:: KIPAR2= KIPAR3= KIPAR4= KIPAR5= KIPAR6= K1PAR7:: KI PDRe.= KIPDR1= KIPDR2= KIPDR3= KIPDR4= KIPDR5= KIPDR6= KIPDR7= KTERRO= KTPRES= KTSTAT= KTXTND= LF 000100 000010 010000 000001 OOOJOO ****** G 000001 000106 000200 000200 000203 000202 000201 100000 000044 000050 000036 000040 000122 000100 000040 040000 020000 001000 000400 000030 000120 100000 102000 112000 110000 0350E'0 172340 172342 172344 172346 172350 172352 172354 ~72356 172300 172302 172304 172306 172310 172312 172314 172316 000040 000400 000020 040000 0000~2 17:39 PAGE 23 LPSTAT= MAPSTA= MED MEIV1PAS= MODEXH= MODHOL= MODQ MODSEL= MSGCKD= MSGCKS= MSGDER= MSGDRP= MSGECH= MSGEOP= MSGHDR= MSGHNG= MSGHRD= MSGrJiAP= MSGNUL= MSGPOP= MSGPRM= MSGRES= MSGSFT= MSGSKE= MSGSflt.B= MSGSMH= MSGSMS= MSGSTD= MSGSYS= MSGVEC:: NBKMOD= NCPUOP= NOAPTY= NON32K= NULL OWEN PAERR PARPRE= PARSTA= PASCNT= PDPLS1= PDP60 PDP70 PRIO PR 11 PR14 PRI5 = PRI6 PRI7 PRO PR4 PR5 PR6 = SEQ 0255 000001 000200 076GOO 040000 OO·~OOO 002000 00OO02RG 001000 000010 000011 000005 000017 177777 000013 000004 000022 000007 000021 177775 000002 177776 000001 000006 000003 000015 000014 000016 000000 000012 000020 001000 000020 001)002 001777 000000 02-~020 000010 002000 000100 000034 020000 004000 010000 000000 000040 000200 000240 000300 000340 000000 000200 000240 000300 PR7 PS PSW RANNUM= R3UFEA= RSUFPA= RBUFSZ= RBUFVA= RDSERV= RDWHMI= RELERR= RELMOD= RELTlM= RESREG= RES1 RES2 RICHAR= RPTDAT= RSTRT = RUBCUT= 000340 177776 177776 000054 000 1.30 000126 000132 000124 000101 000022 000020 020000 010000 ****** G 000056 000060 031060 002000 000112 000177 RUNl\~OD= 100000 R5VALU= 001740 0'15464 SAM SAVREG= ****** G SBADR = 000102 SBKfVlOD= 000000 SBKSEL= 010000 SC.ADR:= 000006 SC.ALC= 000014 SC.APC= 000016 SC.CKL= 000002 SC.CKP= 000004 SC.CLO= 000000 SC.HLD= 000010 SC.SCA= 000012 SENDLS= 177777 G SOFCNT= 000042 SOFPAS= 000046 SPACE = 000040 SP01NT= 000032 SPVALU= 002200 177572 SRO 177574 SR1 177576 SR2 172516 SR3 000026 STAT STATB·I= 060757 G STAT1 = 000027 SUSPND= 000001 000062 SVRO 000064 SVR1 000066 SVR2 000070 SVR3 ACTIV - ACTIVATE NEXT OPTION MODULE ;\CTIV.MAC 13-SEP-78 16:25 SVR4 SVR5 SVR6 SYSCNT= SYSERR= Tft,P.IO = TQOVF = UIPARO= UIPAR1= UIPAR2= UIPAR3= UIPAR4= UIPAR5= UIPAR6= UIPAR7= UIPDRO= UIPDR1= UIPDR2= UIPDR3= UIPDR4= UIPDR5= UIPDR6= 000072 000074 000076 000052 000100 000002 000002 177640 177642 177644 177646 177650 177652 177654 177656 177600 177602 177604 177606 177610 177612 177614 ASS. 000000 000510 UIPDR7= WASADR= WBSTAT= WBUFEA= WBUFPA= WBUFRQ= WBUFSZ= WDFR WDTO WTINRE= WTWHMI= XFLAG = XOFF XON $BGNLE= $ERFLG= $F$AND= $F$BAD= $F$BLA= $F$CAS= $F$DEC= $F$DO = MACY11 30A(1052) SYMBOL TABLE 177616 000104 000040 000136 000134 000140 000142 000116 000114 000352 000222 000005 000023 000021 177777 000400 000310 000401 000170 000150 000220 000340 000 001 ERRORS DETECTED: 0 DEFAULT GLOBALS GENERATED: 0 DSKZ:ACTIV,DSKZ:ACTIV=SPMAC/ML,EQUATE,ACTIV RUN-TIME: 19 9 .4 SECONDS RUN-TIME RATIO: 49/28=1.7 CORE USED: 14K (27 PAGES) 20-SEP-78 $F$FAL= $F$GOO= $F$IF = $F$INC= $F$LOO= $F$NAM= $F$NO = $F$OR = $F$RTI= $F$RTN= $F$SEL= $F$THE= $F$TRU= $F$UNT= $F$WHI= $F$YES= $IFLEV= $ISKO = $ISK1 = $ISK2 = $LOCTA= $LSTIN= 17:39 PAGE 23-1 SEQ 0256 000405 000400 000110 000210 000200 000160 000403 000320 000350 000300 000140 000330 000404 000130 000120 000402 177777 000001 000001 000001 177777 000001 $LSTTA= $NESTL= $NSKO $hlSK 1 $NSK2 $NSK3 $NSK4 $NSK5 $SAVLE= $SSKO = $TAGLE= $TAGNU= $TEMP $TSKO 000001 177777 000300 000120 000110 000110 000110 000110 177777 050004 177777 050021 000300 050003 050004 $TS~1 050020 $TSK2 $TSK3 050006 $TSK4 050007 $TSK5 050010 050016 $TSK6 $$ARGC= 000002 $$BYTE= 000403 $$CASE= $$D5T = $$ELOC= $$ERFL= $$F LAG= $SFROM= $$LOC = $$LOCN= $$REG = $$RETU= $$RTN1= $$RTN2= $$SRC = $$TGSV= $$TGS1= $$TGS2= $$TO $$$TAG= 000000 000000 000402 000000 000001 000000 000562R 000000 177777 000000 050000 050001 000000 000000 000000 000000 000000 050000 000610R .MAIN. N;ACYl130A(1052) 20-SEP-78 13-SEP-78 16:13 EQUAT~.MAC 3 558 561 576 17:40 TABLE OF CONTENTS COMMON EQUATE MODULE COMMON DEFINITIONS AND REFERENCES FOR ARGCHK OOCOOO' .PRINT ;SPMAC: VERSION 1.1 ARGCHK ROUTINE SEQ 0257 ARGCHK CHECK A KEY68A~D COMMAND ARGUMENT MACY11 30A(1052) ARGCHK.MAC 28-JUL-7B 09:10 COMMON EQUATE MODULE 50B 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 324 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 20-SEP-7B 17:40 PAGE 19 SEQ 0258 .TITLE ARGCHK CHECK A KEyBOARD COMMAND ARGUMENT .IDENT JVO.Oj j++ MODULE NAME: ARGCHK FUNCTIONAL DESCRIPTION: THIS ROUTINE IS USED TO VERIFY THE EXISTENCE OF A KEYBOARD COMMAND ARGUMENT. IT IS GIVEN THE DECODE BUFFER POINTER. IT WILL SEARCH FOR THE FIRST NON SPACE CHARACTER. IF IT IS A A RETURN WITH ERROR OCCURS. IN EITHER CASE, THE UPDATED COMMAND DECODE BUFFER PTR IS RETURNED POINTING TO THE FIRST NON SPACE CHARACTER. INPUTS: 1. COMMAND DECODE BUFFER POINTER IMPLICIT INPUTS: NONE OUTPUTS: UPDATED COMMAND DECODE BUFFER POINTER ERROR INDICATION IMPLICIT OUTPUTS: NONE PATHOLOGICAL CONNECTIONS: NONE SUBORDINATE ROUTINES CALLED: NONE FUNCTIONAL SIDE EFFECTS: NONE CALLING SEQUENCE: CALL ARGCHK IN OUT WHERE PTR = CURRENT COMMAND DECODE BUFFER POINTER NEWPTR = UPDATED COMMAND DECODE BUFFER POINTER VERSION: 0.0 , '-- EDIT DATE BY REASON ARGCHK CHECK A KEYBOARD COMMAND ARGUMENT MACY11 30A(1052) 20-SEP-78 17:40 PAGE 19-1 hRGCHK.MAC 28-JUL-78 09:10 COMMON DEFINITIONS AND REFERENCES FOR ARGCHK .SB1TL 558 559 560 561 (1) 562 363 564 000000' 000000' 000001 000001 COMMON DEFINITIONS AND REFERENCES FOR ARGCHK .MCALL STRUCT STRUCT .PRINT ;SPMAC: VERSION 1.1 $LSTIN=1 $LSTTAG=1 565 56G 567 568 569 570 371 572 573 574 ;**************** ; REFERENCED BY OTHER MODULES: , .GLOBL ARGCHK ;**************** ;MODULE ENTRY POINT SEQ 0259 MACY11 30A(1052) ARGCHK CHECK A KEYBOARD COMMAND ARGUMENT ARGCHK ROUTINE 28-JUL-78 09:10 ARGCHK.MAC 576 577 578 (2) 579 3BO 581 582 583 584 585 (2 ) 586 (4) 587 588 389 590 591 592 (4) (6 ) (9) 593 (6) 594 (4 ) (3 ) 595 596 597 5g8 599 600 60, 602 (4 ) 603 604 (6) (9 ) 605 (2 ) 606 (2 ) (4 ) 607 608 (3 ) 6C9 610 (2 ) 611 (4 ) 612 613 .SBTTL 000000 1 000000 1 20-SEP-78 17:40 PAGE 19-2 SEQ 0260 ARGCHK ROUTINE ROUTINE ARGCHK ARGCHK: ;+ ; INITIALIZE AND SAVE CURRENT DECODE BUFFER POINTER , 000000 1 000000 1 010046 0000021 000002 1 01650C PUSH RO LET RO .- MOV RO,-(SP) MOV PTR(R5) ,RO CMPB BNE (RO) ,#SPACE 50003$ INC RO Bq 50002$ MOV RO,NEWPTR(R5) CMPB BNE (RO),#CR 50004$ r.rov (SP)+,RO SEC BR 50001$ MOV (SP)+,RO 8R 50000$ PTR(R5) 000000 ;+ ; WHILE SPACE, ADVANCE TO NEXT CHARACTER ', - 000006 1 000006 1 000006 1 000012 1 000014 1 0000141 000016 1 000016 1 000020 1 WHILEB (RO) EQ #SPACE DO 50002$: 121027 001002 000040 LET RO .- RO + #1 005200 ENDDO 000773 50003$: ;+ ; UPDATE THE CMD DECODE BUFFER POINTER ; AND IF A RETURN WITH ERROR. IF NOT A RETURN ; NO ERROR , 000020 1 000020 1 010065 000:)24 1 000024 1 000030 1 0000321 000032 1 000034 1 000034 1 000036 1 LET NEWPTR(R5) RO IFB (RO) EO NCR THEN 121027 001003 000015 POP RO 012600 RETURN ERROR 000261 000403 000040 1 000040' ELSE 50004$: 000040 1 000040 1 012600 000042 1 000042 1 000400 000044 1 .- 000002 POP RO RETURN NO. ERROR ENDIF ARGCHK CHECK A KEY8JARD COMMAND ARGCHK.MAC 28-JUL-78 09:10 (4 ) 614 615 (3 ) (2 ) (3 ) (2 ) 616 617 000044 ARG~MENT MACY11 30A(1052) ARGCHK ROUTINE 20-SEP-78 17:40 PAGE 19-3 SEQ 0261 50005$: 1 000044 1 000044 1 000044 1 000241 000046' 000046' 000207 000001 ENDRTN 50000$: CLC 50001~: RTS .END PC MACY11 3C1A(1052} ARGCHK CHECK .A. KEYSO':'RD CDrJlMAND ARGUM!::I\:T SYMBOL TA9LE 28-JUL-78 09:~0 ARGCHK.MAC ACSR ACT3IT= ADDR22= ADR APTFER= APTPRE= ARGCHK ASB hSSEMB= ASTAT = AUTO AUTOST= AWAS BITO BITOO GI T;)1 8IT02 BIT03 BIT04 B I -r 05 BIT06 BIT07 BIT08 BIT09 BIT1 8IT10 8IT11 8IT12 8IT13 8IT14 3IT15 BIT2 BIT3 B1T4 BIT5 BIT6 L31 T7 BIT8 BIT9 BKDEF SKrJlOD B,\MODE= BKSLSH= CAPRES= CASTAT= CDERCT= CDWDCT= CKTIM = CLKPRE= CONFIG= CQOVF CR -:SRA 000102 004000 001000 000006 000004 000200 OOGOOORG 000106 000010 000104 000010 020000 000110 000001 COOO01 000002 000004 000010 000020 000040 000100 000200 000400 001000 000002 002000 004000 010000 020000 040000 100000 000004 000010 000020 000040 000100 000200 000400 001000 000002 000020 040000 000134 000004 000004 000146 000144. 100000 000001 000056 000001 000015 000100 CSRC CTRLC CTRLO CTRLU DC£VNT= DEFRTN= DlAGMC= DROPMO= DSEVNT= DT.ADD= DT.AP = DT.APK= DT.BLS= DT.CFO= DT.CF1= DT.ERR= DT.ESI= DT.EVN= DT.EXS= DT.FCH= DT.FCN= DT.HMX= DT.KBE= DT.KBP= DT.KBR= DT.KBU= DT.MLS= DT.MTI= DT.OFF= DT.PAS= DT.PC = DT.PFL= DT.PSW= DT.PTA= DT.RCS= DT.REL= DT.SCT= DT . sr.~x = DT.SP = DT.SSI= DT.STO= DT.ST1= DT.SWR= DT.SYP= DT . tJHI= $F$YES= $IFLEV= $ISKO = 000405 000400 000110 000210 000200 000160 000403 000320 000350 000300 000140 000330 000404 000130 000120 000402 177777 000001 20-SEP-78 17:40 PAGE 20-1 SEQ $LOCTA= $LSTIN= $LSTTA= $NESTL= $NSKO = $NSK1 = $SAVLE= $SSKO = $TAGLE= $TAGNU= $TEMP = $TSKO = $TSK1 = $$ARGC= $$BYTE= $$CASE= $$DST = $$ELOC= 177777 000001 000001 177777 000300 000110 177777 050003 177777 OS0006 000300 OSOO05 OSOO03 000004 000402 000000 000000 000402 $$ERFL= $$F LAG= $$FROM= $$LOC = $$LOCN= $$REG = $$RETU= $$RTN1= $$RTN2= $$SRC = $$TGSV= $$TGS1= $$TGS2= $$TO $$$TAG= 000000 000001 000000 000030R 000000 177777 000001 050000 050001 000000 000000 000000 000000 000000 050000 000050R 0~63 8ACTIV - ACTIVATE NEXT BACKGROUND MODULE MACY11 30A(1052) BACTIV.MAC 28-JUL-78 09:10 COMMON EQUATE MODULE 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 :530 531 532 533 534 53:, 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 55:; 554 555 556 .TITLE .IDENT 20-SEP-78 17:40 PAGE 19 SEQ 0265 BACTIV - ACTIVATE NEXT BACKGROUND MODULE IVO.OI ;++ MODULE NAME: BACTIV FUNCTIONAL DESCRIPTION: THIS ROUTINE FETCHES THE ADDRESS OF THE NEXT BACKGROUND OPTION MODULE TO BE ACTIVATED F~OM THE BACKGROUND JOB LIST CONTAINED WITHIN THE MODULE LIST, AND ACTIVATES THE BACKGROUND MODULE BY PLACING IT IN THE MONITOR'S NEXT-TO-EXECUTE S~OT INPUTS: 1. ADDRESS OF DATA TABLE IMPLICIT INPUTS: 1. DT.BLST 2. MODULE'S STATUS WORD (STAT) 3. MODUL~'S START ADDRESS (INIT) OUTPUTS: NONE IMPLICIT OUTPUTS: 1. ERRORINO E~ROR INDICATOR WHERE ERROR NO ERROR - NO BKGRD MODULE TO ACTIVATE BKGRD MOJULE HAS BEEN ACTIVATED PATHOLOGICAL CONNECTIONS: 1. DX.HDR 2. DX.RET SUBORDINATE ROUTINES CALLED: SAVREG - SAVE REGI3TERS RESREG - RESTORE REGISTERS FUNCTIONAL NONE SID~ EFFECTS: CALLING SEQUENCE: CALL BACTIV IN VERSION: 0.0 EDIT ;-- BY DATE REASON BACTIV - ACTIV~TE NEXT BACKGROUND MODULE MACY11 30A(lC52) 20-SEP-78 BACTIV.MAC 28-JUL-78 09:10 COMMON DEFINITIONS AND REFERENCES 558 17:40 .S8TTL COMMON DEFINITIONS AND REFERENCES .PRINT .MCALL STRUCT STRUCi ;SPMAC: VERSION 1.1 $LSTIN = 1 $LSTTAG = 1 PAGE 20 553 560 561 562 563 (1) 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 000000 1 000000 1 000001 000001 ;**************** ; REFERENCED BY OTHER MODULES .GLOBL .GLOBL .GLOBL .GLOBl .GLOBL ;MODULE'S ENTRY POINT ;MODULE1S BKGRD lIST POINTER ;SUSPENDED BKGRD MODULE1S HEADER ADDRESS ;SUSPENDED BKGRD MODULE'S RETURN ADDRESS ;MODULE'S STATUS WORD ;**************** 580 581 582 583 584 58:: 586 587 588 589 590 591 592 593 594 595 596 597 598 599 BACTIV BA.MPTP BA.HDR BA.RET BA.STAT ; GLOBAL REFERENCES .GLOBL .GLOBL .GLOBL .GLOBL DX.HDR DX.RET SAVREG RESREG ;MONITOR'S NEXT-TO-EXECUTE SLOT ;SAVE REGISTERS ;RESTORE REGISTERS ; GLOBAL STORAGE 1 000000 000002 1 0000041 000006 1 000000 000000 000000 000000 BA.MPTR: BA.HDR: BA.RET: BA.STAT: .WORD .WORD .WORD .WORD 0 a 0 0 **:~************* ;BACKGROUND-JOB-LIST POINTER ;STORAGE FOR SUSPENDE~ MODULE'S HEADER ADDRESS ;STORAGE FOR SUSPENDED MODULE'S RESUME ADDRESS ;BACKGROUND LIST STATUS WORD SEQ 0266 BACTIV - ACTIVATE NEXT BACKGROUND MODULE MACY11 30A(1052) ~0-SEP-78 BACTIV.MAC 28-JUL-78 09:10 ACTIVATE BACKGROUND MODULE ROUTINE 601 502 603 604 (2) GOS 606 607 .SBTTL 000010 1 000010 1 (9) 612 (~ ) (4 ) 613 (4 ) 614 615 616 617 618 619 (3 ) 620 (4 ) 621 322 623 624 625 626 (6) (9 ) 627 (4 ) 628 (4 ) 629 (4 ) 630 (6) 63, (2 ) 632 (4 ) SEQ 0267 ROUTINE BACTIV: ;+ ; IS THERE A BACKGROUND MODULE CURRENTLY WORKING ITIS WAY THRU ; THE QuEUING MECHANISM? 000010 1 000010 1 000016 1 000020 1 000020 1 0000221 0000241 000024 1 IF #BKDEF SETIN BA.STAT THEN 032767 001402 000002 177770 BIT SEQ #BKDEF,BA.STAT 50002$ SEC BR 50001$ JSR PC,SAVREG MOV DTABLE(R5),RO RETURN ERROR 000261 000513 ENDIF 50002$: ;+ ; DO THE NECESSARY SET UP STUFF 000024 1 000024 1 004767 000030 I 000030 1 016500 CALL SAVREG OOOOOOG LET RO : = DTABLE (R5) 000000 ;+ ; IS THERE A BACKGROUND MODULE WAITING IN A SUSPEND STATE? I~ SO, ACTIVATE IT BY ; ENTERING IT INTO THE MONITOR'S NEXT-TO-EXECUTE SLOT AND RETURN TO CALLER 000034 1 000034 1 000042 1 0000441 0000441 000050 1 000050 1 000054 1 000054 1 000062 1 000062 1 000070 1 000070 1 000072 1 0000721 IF #SUSPND SETIN BA.STATUS THEN 03L757 001413 000001 016701 177732 177744 LET R1 BIT BEQ #SUSPND,BA.STATU 50003$ MOV BA.HDR,R1 MOV R1,DX.HDR MOV BA.RET,DX.RET BIC #SUSPND,BA.STATU BR 1$ : = BA. HDR LET DX.HDR .- R1 010167 OOOOOOG 016767 177724 042767 000001 LET DX.RET .- BA.RET OOOOOOG LET BA.STATUS := SA. STATUS CLR.BY #SUSPND 177716 INLINE
000461 ENDIF 50003$: 633 634 ;+ ; OTHERWISE SEARCH THE BACKGROUND LIST LOOKING FOR A BACKGROUND MODULE TO ; ACTIVATE 63~) 636 637 638 639 (6) PAGE 21 ROUTINE BACTIV 60S 609 610 611 (6) ACTIVATE BACKGROUND MODULE 17:40 ., 000072 1 000072 1 027727 IF @BA.MPTR EQ #ENDLST THEN 177702 000000 CMP @BA.MPTR,#ENDLST 8ACTIV - ACTIVATE NEXT 5ACKGRGUND MODULE MACV11 30A(1052) 20-SEP-78 BACTIV.MAC 28-JUL-78 09:10 ACTIVATE BACKGROUND MODULE ROUTINE (9) 640 641 642 643 644 645 (4) 646 (4) 647 (4) 648 649 650 651 652 653 654 (3) 655 (4) 656 657 653 S59 660 661 (4) 662 (6) (9) (6) (9) 663 664 66::' 666 667 668 669 670 (4) 671 (4) 672 (4) 673 (4) 674 (6) 675 (2) 676 (4) 677 17:40 PAGE 21-1 SEQ 0268 000100' 001003 BNE 50004$ MOV DT.BLST(RO),BA.M MOV BA.MPTR,R3 MOV (P)BA.MPTR,Rl MOV STAT(rtl),R2 BIT BEQ BIT BNE #BIT14,R2 50006$ #BIT13!ACTBIT,R2 50006$ ;+ ; IF THE LIST ENTRY IS A ZERO, RESET IT TO THE TOP OF LIST 000102 1 000102' 016067 000110 1 000110 1 000110 1 000110 1 016703 LET BA.MPTR '- DT.BLST(RO) 000034 177670 ENDIF 50004$: LET R3 .- BA.MPTR 177664 ;+ ; SEARCH LIST UNTIL WE WIND UP BACK WHERE WE STARTED, OR UNTIL ; WE FIND A MODULE THAT CAN BE ACTIVATED ;- 000114 1 000114 1 000114 1 000114 1 017701 REPEAT 50005$: LET R1 '- @BA.MPTR 177660 ;+ ; ONE HAS BEEN FOUND, NOW MAKE SURE THAT IT IS ELIGIBLE TO RUN 000120 1 000120 1 000124 1 000124' 000130 1 000132 1 000136' LET R2 .- STAT(R1) 016102 000026 IF #BIT14 SETIN R2 AND #BIT13!ACTBIT NOTSETIN R2 THEN 032702 001421 032702 001016 040000 024000 ;+ ; IF IT IS ELIGIBLE, ENTER IT INTO THE MONITOR1S NEXT-TO-EXECUTE SLOT, SET ITS ; ACTIVE BIT, AND UPDATE THE ; BACKGROUND LIST POINTER, AND RETURN TO THE CALLER ;- 00014C' 000140' 000144 1 000144 1 000150 1 000150' 000156' 000156' 000164 1 000164 1 000172 1 000172 1 000174 1 000174' LET DX.HDR .- Rl 010167 OOOOOOG MOV Rl,DX.HDR fl10V R1,BA.HDR rfrOV I NIT ( R1 ) • DX. RET rv"ov SPOINT(Rl) ,SVR6( ADD #2,BA.MPTR ER 1$ LET BA.HDR '- Rl 010167 177632 LET DX.RET '- INIT(Rl) 016167 000030 OOOOOCG LET SVR6(Rl) 016161 062767 000032 000076 000002 177606 .- SPOINT(Rl) LET BA.MPTR .- BA.MPTR + #2 INLINE
000420 ENDIF 50006$: GACTIV - ACTIVATE NEXT BACKGROUND MODULE MACY11 30A(1052) ~0-SEP-78 BACTIV.MAC 28-JUL-78 09:10 ACTIVATE BACKGROUND MODULE ROUTINE 678 679 580 681 (6) 582 683 684 685 686 687 (6) (9) 688 (4) 689 (4) 690 (3) (6) 691 692 693 694 695 696 697 (3) 698 (2) (4) 699 700 701 702 703 704 (2) 705 (6) 706 707 (3) 708 (4) 709 (3) (2) (3) (2) 710 711 17:40 PAGE 21-2 SEQ 0269 ;+ ; UPDATE THE LIST POINTER AND CONTINUE SEARCHING 000174' 000174' 062767 LET BA.MPTR .- BA.MPTR + #2 000002 177576 ADD #2,BA.MPTR TST BNE @lBA.MPTR 50007$ MOV DT.BLST(RO),BA.M CMP BNE BA.MPTR,R3 50005$ JSR PC,RESREG ;+ ; IF ENTRY IS ZERO, RESET TO TOP OF LIST 000202' 000202' 000206' 000210' 000210' 000216' 000216' 000216' 000216' 000222' IF @BA.MPTR EO #0 THEN 005777 001003 177572 016067 000034 LET BA.MPTR '- DT.BLST(RO) 177562 ENDIF 50007$: UNTIL SA.MPTR EO R3 026703 001334 177556 ;+ ; DO THE NECESSARY CLEAN-UP AND RETURN 000224' 000224' 004767 000230' 000230' 000261 000232' 000407 CALL RESREG OOOOOOG RETURN ERROR SEC Bf< 50001$ ;+ ; SET THE ACT8IT AND RETURN 000234' 000234' 000234' 000234' 000242' 000242' 000246' 000246' 000250' 000250 000250' 000252' 000252' INLlNE <1$:> 1 $: LEI STAT(R1) .- STAr(R1) SET.BY #ACTBIT 052761 004000 004767 OOOOOOG 000026 CAL.L RESREG BIS #ACTBIT,STAT(R1) JSR PC,RESREG 8R 50000$ RETURN NO. ERROR 000400 ENDRTN 50000$: i CLC 000241 50001$: RTS 000207 000001 .END PC MACY11. 30A(1052) BACTIV - ACTIVATE NEXT BACKGROUND MODULE SYMBOL TABLE 28-JUL-78 09:10 BACTlV.MAC ACSR ACTB1T= ADD:122= ADR APTFER= hPTPRE= ASB ASS c:r~'8 = ASTAT = AUTJ AUTOST= A\aJAS !3ACTIV 3A.HDR BA.lIJIPT E3A.RET t31\. STA BITO 131TOO BIT01 81T02 E31T03 8IT04 BIT05 BIT06 GIT07 BIT08 B1T09 BITl BIT10 8 IT 11 B1T12 BIT 13 BIT 14 BIT15 BIT2 B1T3 BIT4 BITS BIT6 B117 BIT8 B1T9 BKDEF BKrv,OD BKiV,ODE= BKSLSH= CA~RES= CASTAT= CDERCT:: CD'.'.DCi= CKT1M = CLKPRE= 000102 004000 001000 000006 000004 000200 000106 000010 000104 000010 020000 000110 00OO10RG 00OO02RG COCoOORG 000004RG 000006RG 000001 000001 OOC002 000004 000010 000020 000040 000100 000200 000400 001000 000002 002000 004000 010000 020000 040000 100000 000004 000010 000020 000040 000100 000200 000400 001000 000002 000020 040000 000134 000004 000004 0001.l6 000144 100000 000001 CONFlG= CQOVF CR CSRA CSRC CTRLC CTRLO CTRLU DCEVNT= DEFRTN= DIAGrYlC= DROPMO= DSEVNT= DTABLE= DT.ADD= DT.AP = DT.APK= DT.BLS= DT.CFO= DT.CF1= DT.ERR= DT.E5I= DT.EVN= DT.EXS= DT.FCH= DT.FCN:: DT.HMX= DT.KBE= DT.KBP= DT.KBR= DT.KBU= DT.MLS= DT.MTI= DT.OFF= DT.PAS= DT.PC = DT.PFL= DT.PSW= DT.PTA= DT.RCS= DT.REL= DT.SCT= DT.SMX= DT.SP = DT.SSI= DT.STO= DT.ST1= DT . S~IiR= DT.SYP= DT.WBU= DT.WHL= DT.WLL= DVID1 = 000056 000001 000015 000100 000102 COOO03 000017 000025 000011 000400 000000 100000 000014 000000 000042 000100 000076 00C034 000014 000016 000020 000044 000000 000060 000037 000036 000104 000024 000026 000022 000030 000032 000110 000070 000074 000002 000062 000004 000064 000102 000040 000066 000106 000006 000046 000010 000012 000056 000072 000050 000054 000052 000014 DX.HDR= DX.RET= ECCMEM= ECCSTA= ENBEOP= ENBNUL= ENDLST= EOPBIT= ERRTYP= EVNTBE= EVNTHD= EVNTKT= EVNTPE= EVNTRE= FATERR= HRDCNT= HRDPAS= ICONT = ICOUNT= lDNUM = IE INDPAR= INHDRP= INHEPR= INHREL= INHRRE= INIT lNTR IOMOD 10MODP= IOMODR= IOMODX= JACK KIPARO= KIPAR1= KIPAR2= KIPAR3= KIPAR4:: KIPAR5= KIPAR6= KIPAR7= KIPDRO= K1PDR1= KlPDR2= KIPDR3= KIPDR4= KlPDR5= KlPDRG= KIPDR7= KTERRO= KTPRES= KTSTAT= KTXTND= 20-SEP-78 ****** G ****** G 000100 000010 010000 000001 000000 000001 000106 000200 000200 OOO~03 000202 000201 100000 000044 000050 000036 000040 000122 000100 000040 040000 020000 001000 000400 000030 000120 100000 102000 112000 110000 035060 172340 172342 172344 172346 172350 172352 172354 172356 172300 172302 172304 172306 172310 172312 172314 172316 000040 000400 000020 040000 17:40 PAGE 22 SEQ 0270 LF LPSTAT= MAPSTA= MED ME[,1PAS= MODEXH= MODHOL= r.1ODSEL= MSGCKD= MSGCKS= MSGDER= MSGDRP= ~~SGECH= MSGEOP= MSGHDR= MSGHNG= MSGHRD= MSGMAP= MSGNUL= MSGP:JP= MSGPRM= MSGRES= MSGSFT= MSGSKE= MSGSM8= MSGSrviH= MSGSMS= MSGSTD= MSGSYS= MSGVEC= NBKMOD= NCPUOP= NOAPTY= NULL OWEN PAERR PARPRE= PARSTA= PASCNT= PDPLSI= PDP60 PDP70 PRIO PR I 1 PRI4 PRl5 PRI6 PRI7 PRO PR4 PR5 PR6 PR7 000012 000001 000200 076600 040000 00·-+000 002000 OOiOOO 000010 00J011 000005 000017 177777 000013 000004 000022 000007 000021 177775 000002 177776 000001 000006 000003 000015 000014 000016 000000 000012 000020 001000 000020 000002 OOJOOO 024020 000010 002000 000100 000034 020000 004000 010000 000000 000040 000200 000240 00)300 000340 000000 000200 000240 00J300 000340 PS PSW RANNUM= RBUFEA= RBGFPA= RBUFSZ= RBUFVt-.= RDSERV= RDllli-iMI= RELERR= RELMOD= REL TIM= RESREG= RES1 P-ES2 RICHAR= RPTDAT= R5TRT = RUBOUT= RUNMOD= R5VALU= SAM SAVREG= SBADR = SBr\I.~OD= S8KSEL= SC.ADR= SC.AlC= SC.APC= SC.CKL= SC.CKP= Sc. CLO= SC.HLD= SC.SCA= SENDLS= SOFCNT= SOFPAS= SPACE = SPOINT= SDVALU= SRO SR1 SR2 SR3 STAT STATBl= STAT1 = St.,;S~ND= SVRO SVR1 SVR2 SVR3 SVR4 177776 177776 000054 000130 000126 000132 000124 000101 000022 000020 020000 01000,) ***.~;,,* G 000056 000060 031060 002000 000112 000177 100000 001740 075464 ****** G 000102 000000 010000 000006 000014 000016 000002 000004 000000 000010 000012 177777 000042 000046 000040 000032 002200 177572 177574 177576 172516 000026 064757 000027 OOOCOl 000062 000064 000066 000070 000072 BACTIV - ACTIVATE ~~EXT B:..CKGROUND MODULE SYMBOL 8ACTIV.MAC 28-JUL-78 09:10 SVR5 SVR6 SYSCNT= SYSERR= TMPIO = TQOVF = UIPARO= UIPAR1= JIPAR2= JIPAR3= UIPAR4= UIPl\R5= UIPAR6= UIPAR7= JIPJRO= UIPDR1= UIPDR2= UIPDR3= UIPDR4= 000074 000076 000052 000100 000002 000002 177640 177642 177644 177646 177650 177652 177654 177656 177600 177602 177604 177606 177610 ASS. 000000 000254 UIPDR5= UIPDR6= UIPDR7= WASADR= W8STAT= WBUFEA= WBUFPA= WBUFRQ= WBUFSZ= WDFR VJDTO WTINRE= WTWHMI= XFLAG = XOFF XON $BGNLE= $ERFLG= $F$AND= 177612 177614 177616 000104 000040 000136 000134 000140 000142 000116 000114 000352 000222 000005 000023 000021 177777 000000 000310 000 001 ERRORS DETECTED: 0 DEFAULT GLOBALS GE0JERATED: 0 DSKZ:BACTIV,DSKZ:BACTIV=SPMAC/ML,EQUATE,BACTIV RUN-TIME: 14 4 .3 SECONDS RUN-TIME RATIO: 35/19=1.8 CQRE USED: 14K (27 PAGES) MACY 11 30A(1052) 20-SEP-78 17:40 PAGE 22-1 SEQ 0271 TAAL~ $F$BAD= $F$BLA= $F$CAS= $F$DEC= $F$DO = $F$FAL= $F$GOO= $F$IF = $F$INC= $F$LOO= $F$NAM= $F$NO = $F$OR $F$RTI= $F$RTN= $F$SEL= $F$THE= $F$TRU= $F$UNT= 000401 000170 000150 000220 000340 000405 000400 000110 000210 000200 000160 000403 000320 000350 000300 000140 000330 000404 000130 $F$WHI= $F$YES= $IFLEV= $ISKO = $LOCTA= $LSTIN= $LSTTA-= $NESTL= $NSKO = $NSKl = $NSK2 = $SAVLE= $TAGLE= $TAGNU= $TEMP = $TSKO = $TSKl = $$ARGC= $$BYTE= 000120 000402 177777 000001 177777 000001 000001 177777 000300 000130 000110 177777 177777 050010 000300 050005 050007 000002 000403 $$CASE= $$:';ST = $$ELOC= $$::RFL= $$FLAG= $$FROM= $$LOC = $$LOCN= $$REG = $$RETU= $SRTN1= $$RTN2= $$SRC = $$TGSV= $5T(,;S1= $$TGS2= $$TO $$$TAG= 000000 000000 000403 000000 000001 000000 000222R 000000 177777 000001 050000 050001 000000 000000 000000 000000 000000 050000 000254R RADMEM - REPORT BAD MEMORY TRANSFER BADMEM.MAC 28-JUL-78 09:11 508 509 510 511 512 513 314 515 516 517 518 519 520 521 522 523 524 525 526 :327 528 529 530 531 532 533 534 535 536 S37 535 539 540 541 542 54:; 544 545 54€. 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 MACY11 30A(1052) 20-SEP-78 COMMON EQUATE MODULE 17:41 PAGE 19 SEQ 0273 .TITLE 8ADMEM - REPORT BAD MEMORY TRANSFER .IDENT IVO.Oj ;++ MODULE NAME: BADMEM FUNCTIONAL DESCRIPTION: THIS MODULE IS USED TO REPORT A BAD ME~ORY TRANSFER. IT IS PASSED THE ADDRESS A TABLE CONTAINING THE FAILING ADDRESS, ALONG WITH THE ACTUAL AND SHOULD-BE CONTENTS FOR THAT ADDRESS. THE ROUTINE CONVERTS THESE VALUES TO ASCII AND OUTPUTS THEM. INPUTS: DATA TABLE ADDRESS ADDRESS OF TABLE CONTAINING LOW-ORDER AND HIGH-ORDER BITS OF PA ACTUAL CONTENTS SHOULD-BE CONTENTS IMPLICIT INPUTS: NONE OUTPUTS: NONE IMPLICIT OUTPUTS: NONE PATHOLOGICAL CONNECTIONS: NONE SUBORDINATE MODULES CALLED: BOAC BOA16 MSGDHOOK SAVREG RES REG ;BINARY TO OCTAL-ASCII CONVERSION ;16-BIT BINARY TO OCTAL-ASCII CONVERSION ;HOOK MESSAGE TO PROPER DRIVER FUNCTIONAL SIDE EFFECTS: NONE CALLING SEQUENCE: CALL BADMEM IN A=ADDRESS OF DATA TABLE B=ADDRESS OF LOW ORDER 16 BITS OF PA C=ACTUAL CONTENTS D=SHOULD-BE CONTENTS VERSION: 0.0 EDIT BY DATE REASO!'-J SADMEM - REPORT gAD MEMORY TRANSFER 28-JUL-78 09:11 BADME~.MAC 563 56,i 565 56G ( 1) 000000 000000 59~ 595 596 597 598 599 SEQ 0274 .MCALL STRUCT STRUCT .PRINT ;SPMAC: VERSION 1.1 $LSTIN=1 $LSTTAG=1 1 1 000001 000001 , i**************** , ; REFERENCED BY OTHER MODULES .GLOBL BADMEM ;**************** , ; G~08A~ .GL08L .GLOBL .GLOBL .GLOSl .GLOBL , REFERENCES BOAC BOA16 MSGDHOOK SAVREG RESREG BINARY TO OCTAL-ASCII CONVERSION 16-BIT BINARY TO OCTAL ASCII CONVERSION HOOK MESSAGE TO PROPER DRIVER ;**************** ; LOCAL STORAGE , 59~ 592 593 PAGE 19-1 .SBTTL COMMON DEFINITIONS AND REFERENCES 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 384 585 586 587 588 589 591 MACY11 30A(1052) 20-SEP-7G 17:41 COMMON DEFINITIONS AND REFERENCES 000000 1 000006 1 000014' 000022 1 000030' 000033 1 000043 1 OO()O50 1 000056 1 000060 1 000066' 000074 1 000102 1 000104 1 000112 1 041045 046505 05112~ 051105 035122 000010 040 052116 020072 000006 020040 0~6125 020072 000006 000045 042101 051117 047101 040445 040 046440 020131 043123 042104 020040 047105 047503 051524 051440 020104 047510 042502 BM.MSG: .ASCII /%BAD MEMORY TRANSFER%ADDR: / BM.ADR: .BlKB 10 .ASCII / CONTENTS: / . B l KB 6 .ASCII / SHOULD 8E: / BM . B D: BM . GD : .EVEN . B l KB 6 .ASCIZ /%/ BADMEM - REPORT BAD MEMORY TRANSFER 28-JUL-73 09:11 SADMEM.MAC 601 602 603 (2 ) 604 605 606 607 608 609 {3 ) 510 511 612 613 614 615 616 617 (4) 618 (4 ) 619 (4) 620 (4) 621 622 623 624 625 626 627 ( 3) ( 7) (6) (5 ) (4 ) (3) (3 ) 628 629 630 631 63:: 633 634 (3) (5 ) (4) (3 ) (3 ) 635 (3 ) (5 ) (4) MACV11 30A(1052) BADMEM ROUTINE 20-SEP-78 17:41 PAGE 19-2 SEQ 0275 .SBTTL BADMEM ROUTINE ROUTINE BADMEM 000114' 000114' BADMEM: ;+ ; SAVE REGISTERS 000114' 000114' 004767 CALL SAVREG OOOOOOG JSR PC,SAVREG ;+ ; SET RO TO THE START OF THE DATA TABLE, R1 TO THE ADDRESS OF THE PA TABLE, ; R2 TO THE ACTUAL CONTENTS, AND R3 TO THE SHOuLD-BE CONTENTS. 000120' 000120' 000124' 000124' 000130' 000130' 000134' 000134' 016500 016501 LET RO ·- TABL(R5) LET R1 ···- PA(R5) 000000 000002 LET R2 016502 000004 LET R3 016503 000006 BD(R5) GD(R5) MOV TABL(R5),RO MOV PA(R5),R1 MOV BD(R5),R2 MOV GD(R5),R3 MGV MOV MJV MOV MOV JSR MOV R5,-(SP) fBM.ADR,-(R5) 2 (R 1 ) ,- (R5) (R1) ,-(R5) RO,-(R5) PC,BOAC (SP)+,R5 MOV MOV MOV JSR MOV R5,-(SP) #BM.BD,-(R5) R2,-(R5) PC,BOA16 (SP)+,R5 MOV MOV MOV RS,-(SP) NBM.GD,-(R5) R3,-(R5) ;+ ; CONVERT THE PA TO ASCII. , 000140' 000140' 000142' 000146' 000152' 000154' 000156' 000162' CAL.L BOAC IN 010546 0127 4 5 016145 011145 010045 004767 012605 000033' 000002 OOOOOOG ;+ ; CONVERT THE ACTUAL AND SHOULD-BE DATA TO ASCII. 000164' 000164' 000166' 000172.' 000174' 000200' 000202' 000202' 000204' 000210' CALL BOA16 IN 010546 012745 010245 004767 012605 010546 012745 010345 000060' OOOOOOG CALL BOA16 IN 000104' BADMEM - REPORT BAD MEMORY TRANSFER 28-JUL-78 09:11 BADiAEM. MAC ( 3) (3 ) 636 637 638 639 640 341 642 (3) ( 7) (6 ) (5 ) (4 ) ( 3) (3 ) 643 (2 ) 644 (2) 645 ( 2) 646 647 648 649 650 651 652 (3 ) 653 654 (3 ) (3 ) (2 ) 655 000212 000216 1 004767 1 012605 MACY11 30A(1052) BADrvlEM ROUTINE 20-SEP-78 17: 41 PAGE 19-3 SEQ 0276 OOOOOOG JSR MOV PC,BOA16 (SP)+,R5 MOV MOV MOV MJV MOV JSR MOV R5,-(SP) #2$,-(R5) #BM.MSG,-(R5) #MSGPOP,-(R5) RO,-(R5) PC,MSGDHOOK (SP)+,R5 1 $: NOP BR 1$ ;+ ; OUTPUT THE MESSAGE. , 000220 1 000220 1 000222 1 C00226 1 000232 1 000236 1 000240 1 000244 1 000246 1 000246 1 000250 1 000250 1 000252 1 000252 1 CALL MSGDHOOK IN 010546 012745 012745 01 274~, 010045 004767 012605 000252 000000 000002 1 1 OOOOOOG INLINE <1$: NOP> INLlNE
000240 000776 INLINE <2$:> 2$: ;+ ; RESTORE REGISTERS AND RETURN. , 000252 000252 1 000256 000256 000256 000256 1 1 CALL RESREG 004767 OOOOOOG PC,RESREG RTS PC ENDRTN 50000$: 50001$: 1 1 1 JSR 000207 000001 .END BADr,1EM et,DMEr\~. ACSR ACTBIT= ADDR22= ADR APTFER= APTPRE= ASB ASSEMS= ASTAT = ,\UTO AUTOST= AloJAS BADfViEM GO BITO F31 TOO BIT01 lHT02 31T03 81T04 f:3ITOS aIT06 3IT07 3IT08 81T09 ~3 I T 1 :3 IT 1 a ~n T 11 aIT 12 61T13 JIT14 JIT15 :31 T 2 d1T3 31T4 B1T5 BIT6 81T7 3IT8 3IT9 BI,DEF SKMOO :3kMOOE = 3KSLSH::: 3M.ADR 3'\11. SD 8M.GO 3M.MSG SOAC SOA16 = CAPRES= CASTAT= CDERCT= - REPORT BAD MEMORY TRANSFER MAC 28-JUL-78 09: 11 000102 004000 001000 000006 000004 000200 000106 000010 000104 000010 02)000 000110 0OOl14RG 008004 000001 000001 000002 000004 000010 000020 000040 000100 ['00200 000400 001000 000002 002000 ()C4000 010000 020000 040000 100000 000004 000010 000020 000040 000100 000200 000400 001000 000002 000020 040000 000134 008033R 00OO60R 000104R OOOOOOR **"'*** G **"'*** G 000004 000004 000146 CDWDCT= CKTIM = CLKPRE= CONFIG= CQOVF CR CSf\A CSRC CTRLC CTRLO CTRLU DCEVNT= DEFRTN= DIAGMC= DROPMO= DSEVNT= DT.ADD= DT.AP = DT.APK= DT.BLS= DT.CFO::: DT.CF1= DT.ERR::; DT.ESI'" DT.EVN::: DT.EXS= DT.FCH= DT.FCN= DT.HMX= DT.KBE:: DT.KBP= DT.KBR= DT.KBU::: DT.MLS= DT.MTI= DT.OFF= DT.PAS= DT.PC = DT.PFL= DT.PSW= DT.PT,l,= DT.RCS= DT.REL= DT.SCT= DT.SMX= DT. SP = DT.SSI= DT.STO= DT.ST1= DT.SWR= DT.SYP= DT.WBU= DT.WHL= 000144 100000 000001 000056 000001 000015 000100 000102 000003 00C017 000025 000011 000400 000000 100000 000014 000042 000100 000076 000034 000014 000016 000020 000044 000000 000060 000037 000036 000104 000024 000026 000022 000030 000032 000110 000070 000074 000002 000062 000004 000C'64 000102 000040 000066 000106 000006 000046 000010 000012 000056 000072 000050 000054 MACY11 30A(1052) SYMBOL TABLE 20-SEP-78 DT.WLL= DVID1 = ECCMEM= ECCSTA= ENBEOP= ENBNUL= ENDLST= EOPBIT= ERRTYP= EVNTBE= EVNTHD= EVNTKT= EVNTPE= EVNTRE= FATERR= GO HRDCNT= HRDPAS= ICONT = ICOUNT= IDNUM = IE INDPAR= INHDRP= INHEPR= INHREL= INHRRE= INIT INTR IOMOD IOMODP::: IOMODR::: IOMODX= JACK KIPARO= KIPAR1= KIPAR2= KIPAR3= KIPAR4= KIPAR5= KIPAR6= KIPAR7= KIPDRO= KIPDR1= KIPDR2= KIPDR3= KIPDR4= KIPDR5= KIPDR6= KIPDR7= KTERRO= KTPRES= KTSTAT= 17:41 PAGE 20 SEQ 0277 000052 000014 000100 000010 010000 000001 000D00 000001 000106 000200 000200 000203 000202 000201 100000 000006 00()044 000050 000036 000040 000122 000100 000040 040000 020000 001000 000400 000030 000120 100000 102000 112000 110000 035060 172340 172342 172344 172346 172350 172352 172354 172356 172300 172302 172304 172306 172310 172312 172314 172316 000040 000400 000020 KTXTND= LF LPSTAT= MAPSTA= MED MEMPAS= MODEXH= MODHOL= 1\1ODSE L= MSGCKD= MSGCKS= MSGDER= MSGDHO= MSGDRP= MSGECH= MSGEOP= MSGHDR= MSGHNG= MSGHRD::: MSGMAP= MSGNUL= MSGPOP= MSGPRM= MSGRES= MSGSFT= MSGSKE= MSGSM8= rJlSGSMH= MSGSMS= MSGSTD= MSGSYS= MSGVEC= NBKMOD= NCPUOP= NOAPTY= NULL Oi'.iEN PA PAERR PARPRE= PARSTA= PASCNT::: PDPLSI= PDP60 PDP70 PRIO PRIl PRI4 PRI5 PRI6 PRI7 PRO PR4 040000 000012 000001 000200 076600 040000 004000 002000 001000 000010 000011 000005 **""'** 000017 177777 000013 000004 000022 000007 000021 177775 000002 177776 000001 000006 000003 000015 00,)014 000016 000000 000012 000020 001000 000020 000002 000000 024020 000002 000010 002000 000100 000034 020000 004000 010000 000000 000040 000200 000240 000300 OC0340 000000 000200 G PR5 PR6 PR7 PS PSW RAr',jNUM= RSUFEA= RBUFPA= RBUFSZ= RBUFVA= ROSERV= ROWHiVlI = RELERR= RcLMOD= REL iIM= RESREG= RES1 RES2 RICHAR= RPTDAT= RSTRT = RUBOUT= RUNMOD= R5V,l,LU= SAM SAVREG= SBADR = SaKMOD= SBKSEL= SC.ADR= SC.ALC= SC.APC= SC.CKL= SC.CKP= SC.CLO= SC.HLD= SC.SCA= SENDLS= SGFCNT= SOFPAS= SPACE = SPOINT= SPVALU= SRO SR1 SR2 SR3 STAT SlATSl= ST AT1 = SUSPND= SVRC SVRl 000240 000300 000340 177776 177776 000054 000130 000126 000132 000124 000101 000022 000020 020000 010000 ****** G 000056 000060 031060 002000 000112 000177 100000 001740 075464 ****** 000102 000000 010000 000006 000014 000016 000002 000004 000000 000010 000012 177777 000042 000046 000040 000032 002200 177572 177574 177576 172516 000026 064757 000027 000001 000062 000064 ,.. \,;l E:1AD:v!EM - REPORT BAD MEMORY TRANSFER BADMEM.MAC 28-JUL-78 09: 11 SVR2 SVR3 SVR4 SVR5 SVR6 SYSCNT= SYSERR= TABL Trv1P 10 = TQOIIF = UIPARO= UIPAR1= LJIPAR2= UIPAR3= UIPAR4= UIPAR5= UIPAR6= UIPAR7= UI~DRO= ABS. UIPDR1::: UIPOR2= UIPDR3= UIPDR4= UIPDR5= UIPDR6= UIPCR7= WASADR= WBSTAT= WBUFEA= WSUFPA= WBUFRQ= WBUFSZ= WOFR WDTO WTINRE= WTWHMI= XFLAG XOFF 000066 000070 000072 000074 000076 000052 000100 000800 000002 000002 177640 177642 177644 177646 177650 177652 177654 177656 1776CO 000000 000260 MACY11 30A(1052) SYMBOL TABLE 177602 177604 177606 177610 177612 177614 177616 000104 000040 000136 000134 000140 000142 000116 000114 000352 000222 000005 00C023 ooe 001 ERRORS DE:ECTED: 0 DEFAULT GLOBALS GENERATED: 0 ~SKZ:BADMEM.DSKZ:6ADMEM=SPMAC/ML.EQUATE.8ADMEM RUN-T llViE: 11 1 .3 SECONDS RUN-TIME RATIO: 28/14=2.0 ceRE USED: 14K (27 PAGES) 20-SEP-78 XON $BGNLE= $ERFLG= $F$AND= $F$BAD= $F$BLA= $F$CAS= $F$DEC= $F$DO = $F$FAL= $F$GOO= $F$IF = $F$INC= $F$LOO= $F$NAM= $F$NO = $F$OR = $F$RTI= $F$RTN= 17:41 PAGE 20-1 SEQ 0278 000021 177777 000400 000310 000401 000170 000150 000220 000340 000405 000400 000110 000210 000200 000160 000403 000320 000350 000300 $F$SEL= $F$THE= $F$TRU= $F$UNT= $F$WHI= $F$YES= $IFLEV= $LOCTA= $LSTIN= $LSTTA= $NESTL= $NSKO = $SAVLE= $TAGLE= $TAGNU= $TEMP = $$ARGC= $$BYTE= $$CASE= 000140 00J330 000";04 000130 000120 000402 177777 177777 000001 000001 177777 000300 177777 177777 050002 000300 000010 000000 000000 $$OST ::: $5ELOC= $$ERFL= $$F LAG= $$FROM= $$LOC ::: $$LOCN= $$REG = $~RETU= $$RTN1= $$RTN2= $$SRC = $$TGSV= $$TGS1= $$TGS2= $$TO $$$TAG= 000000 000000 000000 000000 00')000 000000 000000 177777 000000 050000 050001 000000 000000 000000 000000 000000 050000 000260R .MAIN. MACY11 30A(1052) 20-SEP-78 EQUATE.MAC 13-SEP-78 16:13 3 558 564 594 17:41 TA8LE OF CONTENTS COMMON EQUATE MODULE COMMON DEFINITIONS AND REFERENCES 000000· .PRINT ;SPMAC: VERSION 1.1 BDACNV ROUTINE SEQ 0279 BDACNV BINARY TO DECIMAL-ASCII CONVERSION ROUTINE MACY11 30A(1052) BDACNV.MAC 28-JUL-78 09:11 COMMON EQUATE MODULE 508 509 510 511 512 513 314 515 516 517 518 519 520 521 522 523 524 525 523 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 .TITLE .IDENT 17:41 PAGE 19 BINARY TO DECIMAL-ASCII CONVERSION ROUTINE ;++ MODULE NAME: BDACNV FUNCTIONAL DESCRIPTION: THIS ROUTINE CONVERTS A 16-BIT UNSIGNED BINARY NUM8ER TO A 5-DIGIT DECIMAL-ASCII NUMBER. THE TECHNIQUE USED IS THAT OF REPEATED DIVISION BY POWERS OF 10 (10), WITH THE REMAINDERS, WHICH COMPOSE THE DECIMAL NUMBER, BEING CONVERTED TO ASCII. INPUTS: 1. 16-8IT BINARY N~MBER THAT IS TO BE CONVERTED 2. ADDRESS AT WHICH THE RESULT IS TO BE STORED IMPLICIT INPUTS: NONE OUTPUTS: NONE IMPLICIT OUTPUTS: 1. 5-CHARACTER DECIMAL-ASCII RESULT PATHOLOGICAL CONNECTIONS: NONE SUBORDINATE MODULES CALLED: 1. SAVREG 2. RESREG SAVE REGISTERS RESTORE REGISTERS FUNCTIONAL SIDE EFFECTS: NONE CALLING SEQUENCE: CALL BDACNV IN NUMBER 16-8IT BINARY NUMBER TO BE CONVERTED ADDRESS = ADDRESS TO STORE 5-CHAR RESULT VERSION: 0.0 554 555 556 BDACNV JVO.Oj 20-SEP-78 EDIT ;-- BY DATE REASON SEQ 0280 BDACNV BINARY TO DECIMAL-ASCII CONVERSION ROUTINE MACY11 30A(1052) 20-SEP-78 BDACNV.MAC 28-JUL-78 09:11 COMMON DEFINITIONS AND REFERENCES 558 559 560 561 .SBTTL COMMON DEFINITIONS AND .PRINT .MCALL STRUCT STRUCT ;SPMAC: VERSION 1.1 $LSTIN = 1 $LSTTAG = 1 17:41 PAGE 20 REF~RENCES 562 563 S64 ( 1) 565 S6G 567 568 569 570 571 572 573 574 575 576 577 578 579 580 000000 000000 1 1 000001 000001 ;**************** ; REFERENCED BY OTHER MODULES .GLOBL BDACNV ;MODULE'S ENTRY POINT ;**************** 581 ; GLOBAL REFERENCES 582 582 .GLOBL .GLOBL 584 585 586 587 ;**************** , 588 589 590 591 592 SAVREG RESREG ; LOCAL STORAGE 000000 1 023420 000006 1 000012 001750 000001 000144 ;SAVE REGISTERS ;RESTORE REGISTERS SEQ 0281 BDACNV BINARY TO DECIMAL-ASCII CONVERSION ROUTINE BDACNV ROUTINE 2B-JUL-78 09:11 BDACNV.MAC (4 ) 641 642 (4) (6) (9) 643 (6) 644 (6 ) 645 (4 ) (3 ) 646 647 (6) 648 (4 ) 849 850 (6) 651 (4) (3 ) 652 653 MACY11 30A(1052) 20-SEP-78 17: 41 PAGE 20-2 SEQ 0283 000040 1 005003 000042 1 OClO042 1 0000421 026511 000046 1 103404 000050 1 000050 1 161165 000054' 000054' 005203 000056 1 000056 1 000771 000060 1 000060 1 000060 1 062703 000064 1 000064 1 110320 000066 1 000066 1 062701 000072 1 0000721 000760 000074 1 CLR R3 CMP BlO NWJ1(R5), (R1) 50005$ SUB (R1) ,NUM(R5) INC R3 BR 50004$ ADD #60,R3 MOVB R3,(RO)+ AJD #2,R1 BR 50002$ JSR PC,RESREG RTS PC WHILE NUM(R5) HIS ( R1 ) DO 50004$: 000000 LET NUM(R5) 000000 LET R3 .- .- NUM(R5) - ( R1 ) R3 + #1 ENDDO 50005$: LET R3 .- R3 + #60 000060 lET (RO)+ : B= R3 LET R1 .- R1 + #2 000002 ENDDO 50003$: 65~ 655 655 657 658 659 (3) 660 661 662 ( 3) (3) (2 ) 663 664 ;+ ; RESTORE REGISTERS AND RETURN. , 000074 1 000074 1 004767 000100 000100 000100 000100 1 1 1 1 000207 000001 CALL RESREG OOOOOOG ENDRTN 50000~: 50001$: .END BINARY TO DECIMAL-ASCII CONVERSION ROUTINE !:3DACNV SYMBOL TABLE 28-JUL-78 09:11 BDACNV.MAC ACSR ACTSlT= ADDR22= ADR APTFER= APTPRE= ASB ASSEMB= t\STAT = AUTO i\UTJST= AI>JAS GDACNV GO. TEN GITO BITOO SITOl :3IT02 GITJ3 8IT04 DIT05 BIT06 BIT07 I) IT 08 :31 T 09 131T1 BIT10 BIT11 !3IT 12 81T13 B1T14 BIT 15 BIT2 81T3 81T4 !3IT5 BIT6 3IT7 BITB B1T9 8KDEF BKIVOD BKrv'ODE= SKSLSH= CAPRES= CASTAT= CDE.ReT= CDI\'DC7= CKTIM = CLKP"E= CONF1G= CQOVF CR 000102 004000 001000 000002 000004 000200 000106 000010 000104 000010 020000 000110 000012RG OOOOOOR 000001 000001 000002 000004 000010 000020 000040 000100 000200 000400 001000 000002 002000 004000 0100CO 020000 040000 iOOOOO 000004 000010 000020 000040 000100 000200 000400 001000 000002 000020 040000 000134 000004 000004 000146 000144 100000 000001 000056 000001 000015 CSRA CSRC CTRLC CTRLO CTRLU DCEVNT= DEFRTN= DIAGMC= DROPMO= DSEVNT= DT.ADD= DT.AP = DT.APK= DT.BLS= DT.CFO= DT.CF1= DT.ERR= DT.ESI= DT.EVN= DT.EXS= DT.FCH= DT.FCN= DT . HI\~X= DT.KBE= DT.KBP= DT.KBR= DT.KBU= DT.MLS= DT.r.t.TI= DT.OFF= DT.PAS= DT.PC = DT.PFL= DT.PSW= DT.PTA= DT.RCS= DT.REL= DT.SCT= DT.SMX= DT.SP = DT.SS1= DT.STO= DT.5Tl= DT.SWR= DT.SYP= DT.WBU= DT.WHL= DT.WlL= DVID1 = ECCMEM= ECCSTA= ENBEOP= ENBNUL= 000100 000102 000003 000017 000025 000011 000400 000000 100000 000014 000042 000100 000076 000034 000014 000016 000020 000044 000080 000060 000037 000036 000104 000024 000026 000022 000030 000032 000110 000070 000074 000002 000062 000004 000064 000102 000040 000066 000106 000006 000046 000010 000012 000056 000072 000050 000054 000052 000014 000100 000010 010000 000001 MACY11 30A( OJ 052) ENDLST= EOPBIT= ERRTYP= EVNTBE= EVNTHD= EVNTKT= EVNTPE= EVNTRE= FATERR= HRDCNT= HRDPAS= ICONT = ICOUNT= IDNUM = IE INDPAR= INHDRP= INHEPR= H!HREL= INHRRE= INIT INTR IOMOD IOMODP= 10MODR= 10MODX= JACK KIPARO= KIPAR1= KIPAR2= KIPAR3= KIPAR4= KIPAR5= K1PAR6= KIPAR7= KIPDRO= K1PDR1= KIPDR2= KIPDR3= KIPDR4= KIPDR5= KIPDR6= K1PDR7= KTERRO= KTPRES= KTSTAT= KTXTND= LF LPSTAT= MAPSTA= MED MEMPAS= MODEXH= 20-SEP-78 17:41 PAGE 21 SEQ 0284 000000 000001 000~06 000200 000200 000203 000202 000201 100000 000044 000050 000036 000040 000122 000100 000040 O~OOOO 020000 001000 000400 000030 000120 100000 102000 112000 110000 035060 172340 172342 172344 172346 1723::0 172352 172354 172356 172300 172302 172304 '\72306 172310 172312 172314 172316 000040 000400 OOU020 040000 000012 000001 000200 076600 040000 004000 MODHOL= MCDSEL= MSGCKD= MSGCKS= MSGDER= MSGDRP= MSGECH= MSGEOP= MSGHDR= MSGHNG= MSGHRD= MSGMAP= MSGNUL= MSGPOP= MSGPRI\~= MSGRES= MSGSFT= MSGSKE= MSGSfJlB= MSGSMH= MSGSMS= MSGSTD= MSGSYS= MSGVEC= NBKMOD= NCPUO?= NOAPTY= NULL NUM OWEN PAERR PARPRE= PARSTA= PASCNT= PDPLSI= PDPoO PDP70 PRIO PRI1 PRI4 PRI5 PRI6 PRI7 PRO PR4 PR5 PR6 PR7 PS PSW RANNUM= RBUFEA= RBUFPA= 002000 001000 000010 000011 000005 000017 177777 000013 000004 000022 000007 000021 177775 000002 177776 000001 000006 000003 000015 000014 000016 000000 000012 000020 001000 000020 000002 000000 000000 024020 000010 002000 000100 000034 020000 004000 010000 000000 000040 000200 000240 000300 000340 000000 000200 000240 000300 000340 177776 177776 000054 000130 000126 Rl3UFSZ= R8UFVA= RDSERV= RDWHMI= RELERR= RElMOD= REL TIM= RESREG= RES1 RES2 RICHAR= RPTDAT= RSTRT = RUBOUT= RUt\I\IiO 0= R5VALU= SAM SAVREG= SBADR = SBKIV10D= SBKSEL= SC.t-DR= SC.ALC= SC.APC= Sc. CKL= SC.CKP= SC.CLO= SC.HLD= SC ° SCA= SEN~LS= SOFCNT= SOFPAS= SPACE = SPOINT= S?VALU= SRO SR1 SR2 SR3 STAT STATB1= STAT1 = SUSPND= SVRO SVR1 SVR2 SVR3 SVR4 SVR5 SVR6 SYSCNT= SYSERR= TM1='1O = 000132 000124 000101 000022 000020 020000 010000 *****-+: G 000056 000060 031060 002000 000112 000177 100000 001740 075464 ****** 000102 000000 010000 000006 000014 000016 000002 000004 000000 000010 000012 177777 000042 000046 000040 000032 002200 177572 177574 177576 172516 000026 064757 uOO027 000001 000062 000064 000066 000070 000072 000074 000076 000052 000100 000002 G 8DACNV BINARY TO DECIMAL-ASCII CONVERSION ROIJTINE SYMBOL TABLE 28-JUL-78 09:11 BOACNV.MAC TQOVF = UIPARO= LJIPAR1= UIPAR2= UIPAR3= UIPAR4= UIPAR5= UIPAR6= LJIPAR7= UIPJRO= UIPDR1= UIPi)R2= UIPDR3= LJIPDR4= UIP~R5= UIPDR6= UIPDR7= \~ASADR = ~~8S TAT = ABS. WBUFEA= WBUFPA= WBUFRQ= WBUFSZ= WOFR WOTO WTINRE= WTWHMI= XFLAG ::: XOFF XON $BClNLE= $ERFLG:.:: $F$AND= $F$SAO= $F$BLA= $F$CAS= $F$OEC= $F$OO ::: 000002 177640 177642 177644 177646 177650 177652 177654 177656 177600 177602 177604 177606 177610 177612 177614 177616 000104 000040 000000 000102 000': 36 000134 000140 000142 000116 000114 000352 000222 000005 000023 000021 177777 000400 000310 000401 000170 000150 000220 000340 000 001 a E~RO"S DETECTED: DEFAULT GLOSALS GENERATED: 0 DSKZ:BDACNV,DSKZ:BDACNV=SPMAC/ML,EQUATE,BOACNV RUN-TIME: 12 2 .4 SECONDS RUN-TIME RATIO: 30/15=1.9 CORE USED: 14K (27 PAGES) MACY11 30A(1052) $F$FAL= $F$GOO= $F$IF = $F$INC= $F$LOO= $F$NAM= $F$NO = $F$OR = $F$RTI= $F$RTN= $F$SEL= $F$THE= $F$TRU= $F$UNT::: $F$WHI= $F$YES= $IFLEV= $LOCTA= $LSTIN= 000405 000400 000110 000210 000200 000160 000403 000320 000350 000300 000140 000330 000404 000130 000120 000402 177777 177777 000001 20-SEP-78 17: ·l1 PAGE 21-1 SEQ 0285 $LSTTA= $NESTL= $~JSKO = $NSK1 = $NSK2 = $SAVLE= $SSKO = $TAGLE= $TAGNU= $TEMP $TSKO $TSK1 = $TSK2 = $TSK3 = $$ARGC= $$BYTE= $$CASE= $$OST = $$ELOC= 000001 t77777 000300 000120 000120 177777 050003 177777 050006 000300 050002 050003 050004 050005 000004 000:;03 000000 000000 000000 $$ERFL= $$FLAG= $$FROM= $$LOC = $$LOCN= $$REG = $$RETU= $$RTN1= $SRTN2= $$SRC = $$TGSV= $$TGS1= $$TGS2= $$TO $$$TAG= 000000 000340 000000 000046R 000000 177777 000000 050000 050001 000000 000000 000000 000000 000000 050000 000102R .rMIN. MACY11.30A(1052) 20-SEP-78 EQUATE.MAC 13-SEP-78 16:13 3 530 533 572 632 653 701 764 al0 17:42 TABLE OF CONTENTS COMMON EQUATE MODULE cm,lMON DEFINITIONS AND STORAGE .PRINT ;SPMAC: VERSION 1.1 000000' BADVEC FIELD AN INTERRUPT THROUGH AN INCORRECT VECTOR BADVEC ROUTIh!E PBDVEC PROCESS EMTS(& INTERRUPTS THRU UNEXPECTED VECTORS) PBD'JEC ROUT I hiE SETVEC INITIALIZE ALL UNUSED VECTOR LOCATIONS (0-774) SETVEC ROUTINE SEQ 0:286 BDVSRV SERVICE INTERRUPTS THROUGH INCORRECT VECTORS MACY11 30A(1052) BDVSRV.MAC 28-JUL-78 09:11 COMMON EQUATE MODULE 508 509 .TITLE .IDENT BDVSRV 20-SEP-7B 17:42 PAGE 19 SEQ 0287 SERVICE INTERRUPTS THROUGH INCORRECT VECTORS JVO.Oj 510 511 512 513 ;++ MODULE PACKAGE NAME: BDVSRV 514 515 516 517 518 519 FUNCTIONAL DESCRIPTION: THIS PACKAGE CONSISTS OF THE FOLLOWING ROUTINES: 1. BADVEC - ISSUES AN EMT INSTRUCTION 2. PBDVEC - FORMS BAD VECTOR MESSAGE 3. SETVEC - SETS UP VECTORS 520 521 522 523 524 525 526 527 VERSION: 0.0 EDIT DATE BY REASmJ SDVSRV SERVICE INTERRUPTS THROUGH INCORRECT VECTORS MACV11 30A(1052) BDVSRV.MAC 26-JUL-78 09:11 CCMMON EQUATE MODULE 529 530 531 532 533 (1 ) 534 535 .SBTTL 537 538 539 540 541 542 543 544 545 546 547 548 545 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 56B 569 17:42 PAGE 19-1 COMMON DEFINITIONS AND STORAGE .MCALL STRUCT STRUCT .PRINT ;SPMAC: VERSION 1 . 1 000000' 000000' 000001 000001 536 20-SEP-78 $LSTIN=l $LSTTAG=l ;REFERENCED BY OTHER MODULES: , .GLOBL .GLOBL .GLOBL .GLOBL BADVEC BADVC1 PBDVEC SETVEC ;MODULE ;MGDULE ;MODULE ;MGDULE ENTRY ENTRY ENTRY ENTRY POINT POINT POINT POINT ;**¥***~********* ;**************** ; GLOBAL REFERENCES .GLCl3L .GLOBL .GLOBL .GLOBL ENOTO DTABLE SAVREG RESREG ;MESSAGE ENQUEUER ;ADDRESS OF DTABLE ;SAVE REGISTERS ;RESTORE REGISTERS ; ;**************** ; 000000' 0000021 OCOO041 OCOO06 1 0000.10 1 000012' 0000141 oooooe 000000 oooooe 000000 000000 000000 :"OCAL STORAGE BD.VCT: . t>JORD 0 .WORD 0 .WORD 0 .WORD 0 .WORD 0 0 .WORD SVR5S: ;HIGH/LOW VECTOR FLAG ;SAVE R5 STUFF HERE , Nor IN INTERRUPTED MODULE SEQ 0288 BDVSRV SERVICE INTERRUPTS THROUGH INCORRECT VECTORS MACY11 30A(1052) BDVSRV.MAC 28-JUL-78 09:11 COM~ON DEFINITIONS AND STORAGE 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 596 599 600 MODULE NAME: BADVEC FUNCTIONAL DESCRIPTION: THIS ROUTINE IS ENTERED AS A RESULT OF AN INTERRUPT THROUGH AN INCORRECT VECTOR. BY ISSUING AN EMT INSTRUCTION,THE PSW IS PUSHED ONTO THE STACK. THE PSW WILL CONTAIN THE LOCATION OF THE BAD VECTOR. THE ROUTINE INVOKED BY THE EMT DETERMINES THE BAD VECTOR AND QUEUES A BAD VECTOR MESSAGE. CONTROL IS RETURNED TO THIS ROUTINE AND A RETURN TO THE INTERRUPTED ROUTINE THEN OCCURS. INPUTS: NONE IMPLICIT INPUTS: NONE OUTPUTS: NONE IMPLICIT OUTPUTS: NONE 602 603 604 SUBORDINATE ROUTINES CALLED: NONE 608 609 610 611 612 613 614 615 616 FUNCTIONAL SIDE EFFECTS: SINCE THE HARDWARE HAS INTERRUPTED ITIS INTERRUPT ROUTINE WILL NOT BE THE DECX OPTION MODULE CONTROLLING HARDWARE WHICH INTERRUPTED THROUGH ADDRESS WILL BECOME SUSPENDED. VERSION: 0.0 EDIT 619 621 622 THROUGH THE WRONG VECTOR EXECUTED. THE THE WRONG VECTOR CALLING SEQUENCE: CALLED BY A HARDWARE INTERRUPT THROUGH AN INCORRECT VECTOR 617 618 620 PAGE 19-2 ;++ PATHOLOGICAL CONNECTIONS: NONE 606 60'1 17:42 .SBTTL BADVEC FIELD AN INTERRUPT THROUGH AN INCORRECT VECTOR .IDENT JVO.Oj 601 605 20-SEP-78 ;-- DATE By REASON SEQ 0289 BDVSRV SERVICE INT~RRUPTS THROUGH INCORRECT VECTORS MACY11 30A(1052) 2C-SEP-78 17:~2 PAGE 19-3 BDVSRV.MAC 28-JUL-78 09:11 BADVEC fIELD AN INTERRUPT THROUGH AN INCORRECT VECTOR 624 625 626 627 528 6~9 630 SEQ 0290 BDVSRV SERVICE INTERRUPTS THROUGH INCORRECT VECTORS BDVSRV.MAC 28-JUL-78 09:'1 PBDVEC PROCESS 653 654 555 656 657 658 S59 G60 661 662 663 664 665 666 667 668 669 670 MACY'1 30A(1052) 20-SEP-78 17:42 PAGE 19-5 INTERRUPTS THRU UNEXPECTED VECTORS) E~TS(& .SBTTL PBDVEC PROCESS EMTS(& INTERRUPTS THRU UNEXPECTED VECTORS) .IDENT IVO. 01 ;++ MODULE NAME: PBDVEC FUNCTIONAL DESCRIPTION: IF THE SYSTEM HARDWARE INTERRUPTS THRU AN UNEXPECTED VECTOR, AN EMT INSTRUCTION IS EXECUTED WHICH PUSHES THE PSW AND PC ONTO THE STACK AND THIS ROUTINE IS ENTERED. THIS PSW ON THE STACK CONTAINS THE UNEXPECTED VECTOR ADDRESS. A MESSAGE CONTAINING THE UNEXPECTED VECTOR IS QUEUED AND A RETURN TO THE ROUTINE WHICH ISSUED THE EMT TAKES PLACE. INPUTS: NONE 671 672 673 IMPLICIT INPUTS: NONE 674 675 676 OUTPUTS: NONE 677 IMPLICIT OUTPUTS: NONE 678 679 580 681 682 683 684 685 686 687 688 689 690 PATHOLOGICAL CONNECTIONS: ADDRESS OF DATA TASLE SUBORDINATE ROUTINES CALLED: ENQTQ MESSAGE ENQUEUER FUNCTIONAL SIDE EFFECTS: NONE CALLING SEQUENCE: ISSUE AN EMT INSTRUCTION 591 692 693 694 695 596 697 698 699 VERSION: 0.0 EDIT DATE BY REASON SEQ 0292 BDVSRV SERVICE INTERRUPTS THROUGH INCORRECT VECTORS BDVSRV.MAC 28-JUL-78 09:11 P8DVEC ROUTINE 701 702 703 (2) 704 705 706 707 708 709 (2) (3 ) (4) 710 711 712 713 714 (4) 20-SEP-78 17:42 PAGE 19-6 SEQ 0293 .SBTTL PBDVEC ROUTINE IROUTINE PBDVEC 000024' 000024' PBDVEC: ;+ ; INITIALIZATION - SAVE RO,Rl AND SAVE R5 HERE PUSH RO,Rl ,R5 000024' 000024' 010046 0000 26' 0 1-0 1 46 000030' 010546 MOV MOV M'JV RO,-(SP) R1,-(SP) R5,-(SP) MOV #SVR5S,R5 MOV 10(SP) ,RO MOV 10(SP),R1 BIC #177760,R1 BIC #177417.RO ASL R1 BIS R1 ,RO ;+ ; INIT THE NEW R5 STACK 000032' 000032' 012705 LET R5 := #SVR5S 000014' 715 716 717 718 ;+ GET THE UNEXPECTED VECTOR CODE FROM THE STACK SAVE IT IN RO,R1. CLEAR OUT ALL BUT BITS 0-3 IN R1 AND ALL BUT BITS 4-7 IN RO. SHIFT R1 TO LEFT. AND COMBINE THE TwO WORDS INTO RO. THIS IS DONE TO CONVERT THE SPECIAL VECTOR CODE BACK INTO THE ACTUAL VECTOR IT REPRESENTS. 7~9 720 721 722 723 724 725 726 727 (4) 728 (4) 729 (6) 730 (6) 731 (7) 732 (6) 733 734 735 736 737 738 (6) (9) (6) (9) 739 (6) 740 MACV11 30A(~052) 000036' 000036' 000042' 000042' 000046' 000046' 000052' 000052' 000056' 000056' 000060' 000060' LET RO .- 10(SP) 016600 016601 042701 000010 LET R1 .- 10(SP) LET Rl .- R1 CLR.BY #177760 000010 177760 LET RO .- RO CLR.BY #177417 042700 177417 LET Rl .- R1 SHIFT +1 006301 LET RO .- RO SET.BY R1 050100 ;+ ; IF INTERRUPT VECTOR GREATER THEN 374 THEN ADD 400- TO BAD VECTOR 000(62' 000062' 026627 00~C70' 101406 000072' 026627 000100' 1C3002 000102 i 000102' 062700 000106' IF 6(SP} HI #BADVC1 AND 6(SP) LO #BADVEC THEN 000006 000014' 000006 000020' CMP eLOS CMP BHIS 6(SP) ,#BADVC1 50002$ 6( SP) ,lfBADVEC 50002$ ADD #400,RO LET RO .- RO + '400 000400 ENDIF MACY11 BDVSRV SERVICE INTERRUPTS THROUGH INCORRECT VECTORS PBDVEC ROUTINE 28-JUL-78 09: 1 1 ElDVSRV.MAC (4 ) 741 742 743 744 745 746 (3 ) (8) (7 ) (6) (5 ) (4 ) ( 3) (3 ) 747 748 000106 (3 ) (4 ) 756 757 758 759 760 (3 ) (3 ) (2) 761 762 20-SEP-78 17:42 PAGE 19-7 SEQ 0294 500025: 1 ;+ ; ENQUEUE THE MESSAGE ;- 000106 1 000106' 000110' OC0114' 000120 1 000122 1 000126' 000132 i 000136' CALL ENQTQ IN <#DTABLE,#MSGVEC,RO,#O,#O> 012745 012745 01004=, 012745 012745 004767 JSR MOV R5,-(SP) #0,-(R5) #0,-(R5) RO,-(R5) hMSGVEC,-(R5) #DTABLE,-(R5) PC,ENQTQ (SP)+,R5 CLR SD.VCT MOV MOV MOV (SP)+,R5 (SP)+,R1 (SP)+,RO MOV MOV MOV MOV MOV 010546 000000 000000 000020 OOOOOOG OOOOOOG MeW 012605 ;+ ; CLEAN UP 743 750 751 752 (4) 753 754 755 (2 ) 30A(~052) , 000140' 000140' 005067 000144' 000144' 012605 000146' 012601 000150' 012600 LET SD.VCT .- #0 177634 POP R5,R1,RO ;+ ; RETURN ., 000152 1 000152 1 000152' 000152' 000002 ENDRTI 50000$: 5000~$: RTI BDVSRV SERVICE INTERRUPTS THROUGH INCORRECT VECTORS MACY11 30A(1052) 20-SEP-78 17:42 PAGE 19-8 BDVSRV.MAC 28-JUL-78 09:11 SET~EC INITIALIZE ALL UNUSED VECTOR LOCATIONS (0-774) 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 .SBTTL SETVEC INITIALIZE ALL UNUSED VECTOR LOCATIONS (0-774) .IDENT IVO.O/ ;++ MODULE NAME: SETVEC FUNCTIONAL DESCRIPTION: THIS ROUTINE WILL LOAD THE ADDRESS OF THE INCORRECT VECTOR ROUTINE IN ALL UNUSED VECTOR LOCATIONS FROM 0 TO 774. IT WILL PLACE A UNIQUE CODE IN ALL VECTOR + 2 LOCATIONS. THE CODE REPRESENTS THE VECTOR LOCATION . INPUTS: NONE IMPLICIT INPUTS: NONE OUTPUTS: NONE 785 786 787 788 789 790 791 792 79~ IMPLICIT OUTPUTS: NONE PATHOLOGICAL CONNECTIONS: NONE SUBORDINATE ROUTINES CALLED: NONE 794 795 796 797 798 799 80C 801 802 803 804 805 806 807 FUNCTIONAL SIDE EFFECTS: NONE CALLING SEQUENCE: CALL VERSION: 0.0 EDIT DATE 8Y REASON SEQ 0295 SDVSRV SERVICE INTERRUPTS THROUGH INCORRECT VECTORS MACV11 30A(1052) 20-SEP-78 17:42 PAGE 19-9 BDVSRV.MAC 28-JUL-78 09:11 SETVEC INITIALIZE ALL UNUSED VECTOR LOCATIONS (0-774) 809 810 811 (2 ) 812 813 814 815 a16 817 (3 ) 818 (4 ) 319 820 821 822 823 824 (4 ) 825 (4 ) .S8TTL SETVEC ROUTINE ROUTINE SETVEC 000154' 000154' SETVEC: ;+ ; SAVE REGISTERS AND FLAG TO LOW VECTORS , 000154' 000154' 004767 000160' 000160' 005067 CALL SAVREG OOOOOOG (4) 833 (4 ) 83Ll 835 836 837 838 839 (4 ) 840 841 842 843 844 845 (4 ) (6) ( 9) 846 (6 ) ( 9) ( 6) ( 9) (6) ( 9) 847 .- LET BD.VCT JSR PC,SAVREG CLR BD.VCT MOV #BADVEC,@I/O CLR @1/2 #0 177614 ;+ ; , 000164' 000164' 012737 000172' 000172' 005037 LOAD LOC. o WITH BADVEC AND LOC. 2 WITH CODE LET @#o .- #BADVEC LET @#2 .- #0 000020' 000000 000002 826 827 828 829 830 831 832 SEO 0:296 ;+ ; LOAD TRACE TRAP VECTOR WITH BADVEC, AND TRACE TRAP'S PSW WITH CODE , 000176' 000176' 012737 000204' 000204 1 012737 ..- LET @#14 000020' 000014 LET @#16 000006 #BADVEC MOV #BADVEC,@1/14 MOV #6,@#16 M:JV #70,RO CMP SEQ RO,#1000 50003$ RO,1I114 50004$ RO,#200 50004$ RO,Il250 50004$ #6 000016 ;+ ; START AT LOC. , 000212' 000212 1 LET RO 01~700 000070 ;+ ; , 000216 1 000216 1 000216' 000222 1 000224' 000224' 000230' 000232 1 000236 1 000240' 000244 1 .- 70 AND START LOADING CODES 1/70 LOAD CODE UP TO LOCATION 1000 (WILL NOT LOAD 114,200 OR 250) WHILE RO NE #1000 DO 50002$: 020027 001446 001000 020027 001441 020027 001436 020027 001433 000114 CMP SEQ 000200 C:\1P IF RO NE #114 AND RO NE 1/200 AND RO NE 1/250 TrlEN 000250 SEQ CMP aEQ BDVSRV SERVICE INTERRUPTS THROUGH INCORRECT VECTORS SETVEC ROUTINE 2~l-JUL-78 09:11 BDVSRV.MAC 848 849 850 851 852 (6 ) ( 9) 853 (4 ) 854 (4) ( 3) .a55 (4) 85S 857 858 859 8GO 861 ( 6) (9) 862 (4) 863 (4) 864 (4) 1'1:42 20-SEP-78 MACV11 30A(1052) PAGE 19-10 SEQ 0297 ;+ ; DETERMINE WHETHER WORKING VECTORS 0-376 OR 400-776 , 000245 ' 000246 ' 000252 ' 00(;254 ' 000254' 000260' 000260 ' 000262' 000262 ' 000262 ' IF BD.VCT NE #0 THEN 005767 001403 177526 012710 000014 ' .- LET (RO) BD.VCT 50005$ MOV #BADVC1,(RO) BR 50006$ MOV #BADVEC,(RO) CMP BNE RO,#374 50007$ MOV #1,BD.VCT MOV BIC RO,R1 #BIT08,R1 #BADVC1 ELSE 000410 .- LET (RO) 012710 TST BEQ 50005$: #BADVEC 000020' ;+ ; IF AT VECTOR 374 THEN SET FLAG TO HIGH VECTORS , 000266' 0002£6' 020027 000272' 001003 000274' 000274 ' 012767 000302 ' 000302 ' 000302 ' 000302' IF RO EQ 1;374 THEN 000374 LET BD.VCT 000001 .- #1 177476 ENDIF 50007$: ENDIF 50006$: 865 8GG 867 868 869 870 (4 ) (6 ) 871 ( 2) 872 873 874 875 876 877 (4 ) (7) 878 (6 ) 879 880 ;+ ; STRIP OFF BIT 08 FOR CONVERSION ,'- 0003C2' 000302' 010001 000304' 042701 000310' 000310 ' 005720 LET R1 RO CLR.BY #BIT08 000400 INLINE TST (RO)+ ;+ ; SHIFT RIGHT ONCE (DIVIDE BY 2) AND ONLY SAVE LOWER 4 BITS ;- 000312' 000312' 010102 000314' 006202 000316 ' 000316 ' 042702 LET R2 LET R2 177760 ·- R1 SHIFT -1 ·- R2 CLR.BY #177760 fv"OV ASR R1 ,R2 R2 EIC #177760,R2 BIC #177037,R1 ;+ ; NOW STRIP UNWANTED BITS FROM R1 ;- 88~ 882 883 884 (6 ) 885 ·- 000322 ' 000322' 042701 000326 ' AND "OR" TOGETHER R1 AND R2 LET R1 ·- R1 CLR.BY #177037 LET R1 ·- R1 SET.BY R2 177037 MACY11 30A(1052) 8DVSRV SERVICE INTERRU?TS THROUGH INCORRECT VECTORS SETVEC ROUTINE 28-JUL-78 09:11 BDVSRV.MAC ~6) 886 887 888 889 890 891 (4) 892 (4 ) (3 ) 893 894 395 896 897 898 (2 ) 899 (4 ) 900 (4) (3 ) 901 902 903 904 905 90E (4 ) 907 (3 ) '308 ( 3) (3) (2 ) 908 20-SEP-78 17:42 PAGE 19-11 000326 1 050201 ;+ ; , SEQ 0298 SIS R2,R1 MOV R1,(RO)+ 8R 50010$ LOAD CODE INTO PSW WORD OF VECTOR 0- 000330 1 000330 1 010120 000332' 000332 1 000401 0003341 LET (RO)+ 0_ R1 ELSE 50004$: ;+ ; UPDATE RO SY 4 , INLINE C00334 1 000334 1 022020 000336 1 000336 1 000336 1 000336 1 000727 000340 1 ENDIF CMP (RO)+,(RO)+ 50010$: ENDDO SF! 50002$ CLR SD.VCT JSR PC,RESREG RTS PC 50003$: ;+ ; CLEAN UP , 000340 1 000340 1 005067 0003441 0003441 0047C7 000350 1 000350 1 000350 1 000350 1 000207 000001 LET SD.VCT 0_ #0 177434 CALL RESREG OOOOOOG ENDRTN .END 50000$: 50001S: BDVSRV SERVICE INTERRUPTS THROUGH INCORRECT VECTORS SYMBOL TABLE 28-JUL-78 09: 11 BDVSRV.MAC ACSR ACT81T= ADDR22= ADR APTFER= APTPRE= AS8 ASSErJlB= ASTAT = AUTO AUTJST= A~I)AS BADVCl BADVEC BD.VCT 8ITO 8ITOO 8ITOl 81T02 8IT03 8IT04 iJ I T05 81T06 8IT07 BITOB BIT 09 [31 T 1 BIT10 i) I T 1 1 8IT12 [31T13 BIT14 [31T15 B1T2 ~31 T 3 B1T4 BIT5 BIT6 BIT7 BIT8 3IT9 BKDEF [3KMOD BKMODE= BKSLSH= CAPRES= CASTAT= CDERCT= CDwDCT= CKTIM = CLKPRE= CONFIG= CQOVF = 000102 004000 001000 000006 000004 000200 000106 000010 000104 COC010 020000 000110 000014RCi 000020RG OOaOOOR 000001 000001 000002 000004 000010 000020 000040 000100 000200 000400 001000 000002 002000 004000 010000 020000 040000 100JOO 000J04 000010 000020 000040 000100 000200 000400 001000 000002 000020 040000 000134 000004 000004 000146 000144 100000 000001 000056 000001 CR CSRA CSRC CTRLC CTRLO CTRLU DCEVNT= DEFRTN= 01 AG~'1C= DROPMO= DSEVNT= DTABLE= DT.ADD= DT.AP = DT.APK= DT.BLS= DT.CFO= DT.CF1= DT.ERR= DT.ESI= DT.EVN= DT.EXS= DT.FCH= DT.FCN= DT.HMX:-: DT.KBE= DT . .KBP= DT.KBR= DT.K6U= DT.MLS= DT.MTl= DT.OFF= DT.PAS= DT.PC = DT.PFL= DT.PSW= DT.PTA= DT.RCS= DT.REL= DT.SCT= DT.SMX= DT.SP = DT.SSI= DT.ST0= DT.ST1= DT.SWR= DT.SYP= DT.WBU= DT.WHL= DT . ~lLL= DVIDl = ECCMEM= ECCSTA= 000015 000100 000102 000003 000017 000025 000011 000400 000000 100000 000014 ****** G 000042 000100 000076 000034 000014 000016 000020 000044 000000 000060 000037 000036 000104 000024 000026 000022 000030 000032 000110 000070 00007:4 000002 000062 000004 0:)0064 000102 000040 000066 000106 000006 000046 000010 000012 000056 000072 000050 000054 000052 000014 000100 000010 MACYll 30A(1052) ENBEOP= ENBNUL= ENDLST= ENQTQ = EOPBIT= ERRTYP= EVNTBE= EVNTHD= EVNTKT= EVNTPE= EVNTRE= FATERR= HRDCNT= HRDPAS= ICONT = ICOUNT= IDNUM = IE INDPAR= lNHDRP= INHEPR= INHREL= INHRRE= INIT lNTR 10MOD IOMODP= IOMODR= IOMODX= JACK KIPARO= KIPAR1= KIPAR2= KIPAR3= KIPAR4= KIPAR5= KIPAR6= KIPAR7= KIPDRO= KIPDR1= KIPDR2= KIPDR3= KIPDR4= KIPDR5= KIPDR6= KIPDR7= KTERRO= K,PRES= KTSTAT= KTXTND= 010000 000001 oooooa ****** G 000001 000106 000200 000200 000203 000202 000201 100000 000044 000050 000036 000040 000122 000100 000040 040000 020000 001000 000400 000030 000120 100000 102000 112000 110000 035060 172340 172342 172344 172346 172350 172352 172354 172356 1'72300 172302 172304 172306 172310 172312 172314 172316 000040 000400 000020 040000 LF OOOC12 LPSTAT= 000001 MAPSTA= 00C200 20-SEP-78 17:42 PAGE 20 SEQ 0299 MED MEMPAS= MODEXH= MODHOL= MODSEL= MSGCKD= MSGCKS= MSGDER= MSGDRP= MSGECH= MSGEOP= MSGHDR= MSGHNG= MSGHRD= MSGMAP= MSGNUL= MSGPOP= MSGPRM= IVlSGRES= MSGSFT= MSGSKE= MSGSMB= MSGSMH= MSGSMS= MSGSTD= MSGSYS= rJlSGVEC= NBKMOD= NCPUOP= NOAPTY= NULL Qt;JEN PAERR PARPRE= PARSTA= PASCNT= PBDVEC PDPLSl= PDP60 PDP70 PRIO PRI1 PRI4 PRI5 PRI6 PRI7 PRO PR4 PR5 PR6 PR7 PS PSW 076600 040000 004000 002000 001000 000010 000011 000005 000017 177777 000013 000004 000022 000007 000021 177775 000002 177776 000001 000006 000003 000015 000014 000016 00:)000 000012 008020 001000 000020 000002 000000 024020 000010 002000 000100 000034 000024RG 020000 004000 010000 000000 000040 000200 000240 000300 000340 000000 000200 000240 OC0300 000340 177776 177776 RANNUM= RBUFEA= RBUFPA= R8UFSZ= RBUFVA= RDSERV= RD\'\:HMI= RELERR= RELMOD= RELTIM= R=:SREG= RESl RES2 RICHAR= RPTDAT= RSTRT = RU60UT= RUt.,,10D= R5VALU= SAM SAVREG= SS:'-DR = SBKMOD= SBKSEL= SC.ADR= SC.ALC= SC.APC= SC.CKL= SC.CKP= SC.CLO= SC.HLD= SC.SCA= SENJLS= SETVEC SGFCNT= SOFPAS= SPACE = SPOINT= SPVALU= SRO SR1 000054 000130 000126 000132 000124 000101 000022 000020 020000 010000 ****** G 000056 000060 031060 002000 000112 000177 100000 001740 075464 ****** G 000102 000000 010000 000006 000014 000016 000002 000004 000000 000010 000012 177777 000154RG 000042 000046 000040 000032 002200 177572 177574 S~2 177576 SR3 172516 000026 STAT STATBl= 064757 5T AT1 = 000027 SUSPND= 000001 000062 SVRO S\/R 1 000064 000066 SVR2 000070 SVR3 SVR4 000072 000074 SVR5 ~:;OV SRV SERVICE INTERRUPTS THROUGH INCORRECT VECTORS SYMBOL TABLE 28-JUL.-78 09: 11 MACY11 30A (I 052) 20-SEP-78 17:42 PAGE 20-1 SEQ 0300 g~VSRV.MAC SVR5S SVR6 SYSCNT= SYS::RR= TMPIO = "1"001/ F = UIP~RO= UIPAR1= UIPAR2= ~IPAR3= UIPAR4= JIPAR5= UIPAR6= lJIPAR7= UIPORO= lJIPJR1= UIPDR2= UIPJR3= UIPDR4:; LJIPDR5= UIPDR6= ASS. UIPDR7= WASADR= WBSTAT= WBUFEA= WBUFPA= WBUFRQ= WBUFSZ= WDFR WDTO WTINRE= WTWHMI= XFLAG = XOFF XON $BGN LE= $ERFLG= $F$AND= $F$8AD= $F$8LA= $F$CAS= $F$DEC= 000014R 000076 000052 000100 000002 000002 177640 177642 177644 177646 177650 177652 177654 177656 177600 177602 177604 177606 177610 177612 177614 000000 000352 177616 000104 000040 000136 000134 000140 (;00142 000116 000114 000352 000222 OGOO05 000023 000021 177777 000400 000310 000401 OC0170 000150 000220 000 001 ERRORS DETECTED: 0 DEFAULT GLOBALS GENERATEC: 0 DSKZ:SDVSRV,DSKZ:6DVSRV=SPMAC/ML,EQUATE,SDVSRV RUN-TIME: 16 6 .4 SECONDS RUN-TIW:E RATIO: 40/23=1.7 CORE USED: 14K (27 PAGES) $F$DO = $F$FAL= $FSGOO= $FSIF = $F$INC= $F$LOO= $F$NAM= $F$NO = $F$OR = $F$RTI= $F$RTN= $F$SEL= $F$THE= $F$TRU= $F$UNT= $F$~vHI = $F$YES= $IFLEV= $ISKO $ISK1 $ISK2 000340 000405 000400 000110 000210 000200 000160 000403 000320 000350 000300 000140 000330 000404 000130 000120 000402 177777 000001 000001 000001 $LOCTA= $LSTIN= SLSTTA= $NESTL= $NSKO $NSKl $NSK2 = $NSK3 = $NSK4 = $SAVLE= $SSKO = $TAGLE= $TAGNU:: $TEMP $TSKO $TSK1 $TSK2 $TSK3 $TSK4 $$ARGC= $$BYTE= 177777 000001 000001 177777 000300 000120 000110 000110 000110 177777 050003 177777 050011 000300 050002 050003 05J010 050006 050007 000000 000403 $$CASE= $5DST = $$ELOC= $$ERFL= $$ F LAG= $$FROM= $~LOC = $$LOCN= $$REG = $$FlETU= $$RTN1= $$RTN2= $$SRC = $$TGSV= $$TGS1= $$TGS2= $$TO $$$iAG= 000000 000000 000402 000000 000001 000000 000272R 000000 177777 000000 050000 050001 000000 000000 000000 000000 000000 050000 000352R .MAIN. MACY11 30A(1052) 20-SEP-78 EQUATE.MAC 13-SEP-78 16:13 3 582 585 606 682 17:43 TABLE OF CONTENTS COMMON EQUATE MODULE COMMON DEFINITIONS AND REFERENCES FOR BOAC 000000 1 .PRINT ;SPMAC: VERSION 1.1 BOAC ROUTINE 22 BIT ADDRESSING CONVERSION SEQ 0301 BOAC BINARY TO OCTAL ASCII CONVERSION FOR 18 & 22 BIT NUMBERS BOAC.MAC 08-AUG-78 12:17 COMMON EQUATE MODULE MACY11 30A(1052) 20-SEP-78 17:43 PAGE 19 SEQ 0302 508 509 510 511 .TITLE BOAC BINARY TO OCTAL ASCII CONVERSION FOR 18 & 22 BIT NUMBERS .IDENT JVO.Oj 512 ;++ 513 514 515 516 517 518 519 MODULE NAME: BOAC FUNCTIONAL DESCRIPTION: THIS ROUTINE WILL CONVERT AN 18 OR 22 BIT BINARY NUMBER TO A 8 CHARACTER OCTAL ASCII STRING STORED AT THE CALLER SPECIFIED ADDRESS. 520 521 522 523 524 525 526 527 INPUTS: 1. ADDRESS OF DATA TABLE. 2. BITS 0 THRU 15 OF T~E NUMBER TO BE CONVERTED 3. BITS 16 & 17 OR BITS 16-21 OF THE NUMBER TO BE CONVERTED (SEE CALLING SEQUENCE BELOW) 4. STARTING ADDRESS OF THE 8 BYTE STORAGE AREA WHERE THE OCTAL ASCII CHARACTERS ARE TO BE STORED. 528 529 530 IMPLICIT INPUTS: NONE 531 532 533 OUTPUTS: NONE 53L: 535 536 IMPLICIT OUTPUTS: OCTAL ASCII CHARACTERS 537 538 539 540 541 PATHOLOGICAL CONNECTIONS: NONE 544 SUBORDINATE ROUTINES CALLED: BOA16 16 BIT BINARY TO OCTAL ASCII CONVERT ROUTINE SAVREG RESREG 545 546 547 FUNCTIONAL SIDE EFFECTS: NONE 542 543 548 549 550 551 552 553 554 555 556 CALLING SEQUENCE: CALL BO~C IN WHERE DTADR ADDRESS OF DTABLE NUM1 = BITS 0-15 OF THE OCTAL NUMBER TO BE CONVERTED FOR NUM2 557 558 559 560 561 562 563 BIT S BITS 16 & 17 OF THE OCTAL NLMBER TO BE CONVERTED ( BIrs 16 & 17 MUST BE LINED UP IN BIT POSITIONS 4 AND 5 I.E. 0 000 000 000 XYC 000 ~HERE X BIT 17 AND Y = BIT 16 ) FOR NUM2 1 8 2 2 BIT S BITS 16 - 21 OF THE # TO BE CONVERTED. BOAC BINARY TO OCTAL ASCII CONVERSION FOR 18 & 22 8IT NUMBERS BOAC.MAC 08-AUG-78 12:17 COMMON EQUATE MODULE 564 MACY11 30A(1052) 20-SEP-78 17:43 PAGE 19-1 SEQ 030J (NUM2 MUST SE IN THE FOLLOWING FORMAT: o 000 000 000 FED CSA BIT 21 WHERE F BIT 20 E BIT 19 D BIT 18 C BIT 17 B BIT 16 A 565 566 567 568 569 570 571 572 ADDR 573 574 575 576 577 THE START ADDRESS OF THE 8 BYTE STORAGE AREA WHERE THE OCTAL ASCII CHARACTERS ARE TO BE STORED. VERSION: 0.0 578 579 580 ,. __. EDIT DATE BY REASON BOAC 3INARY TO OCTAL ASCII CONVERSION FOR 18 & 22 BIT NUMBERS MACY1i 30A(1052) 20-SEP-78 BOAC.MAC 08-AUG-78 12:17 COMMON DEFINITIONS AND REFERENCES FOR BOAC 582 583 .SBTTL 590 591 592 000000' 000000 ' 000001 000001 COMMON DEFINITIONS AND REFERENCES FOR BOAC $LSTIN=1 $LSTTAG=1 ;*************** , ;REFERENCED BY OTHER MODULES 593 , 594 595 596 597 .GLOBL 598 PAGE 19-2 .MCALL STRUCT STRUCT .PRINT ;SPMAC: VERSION 1.1 584 585 ( 1) 586 587 588 589 17:43 BOAC ;MODULE ENTRY POINT ;**************** ;GLOBAL REFERENCES 599 600 601 602 603 604 .GLCBL .GLOBL .GLOBL BOA16 SAVREG RESREG ;CAllED TO CONVERT BITS 0-15 TO ASCII SEQ 0304 50AC BINARY TO OCTAL ASCII CONVERSION FOR 18 & 22 BIT NUMBERS BOAC.MAC 08-AUG-78 12:17 BOAC ROUTINE 606 607 608 (2) 609 610 611 612 613 614 615 (3) 616 617 618 619 620 621 (4) 622 623 624 625 626 627 628 (4) 629 (4) 630 (4) 631 632 633 634 635 636 637 (6) (9) 638 629 640 641 .SBTTL 000000 1 000000 1 20-SEP-78 17:43 PAGE 19-3 SEQ 0305 BOAC ROUTINE ROUTINE BOAC BOAC: ;+ ;SAVE REGISTERS 000000 1 000000 1 004767 CALL SAVREG OOOOOOG JSR PC,SAVREG MOV DTADR(R5),R4 MOV NUMB1(R5),RO MOV NUMB2(R5),R3 MOV ADDR(R5),R1 BIT BNE #MAPSTAT,DT.STO( 50002$ IV.OVB #60,(R1)+ MOVe #60,(R1)+ ;+ ;GET DTABLE ADDRESS TO RO 000004 1 0000041 016504 LET R4 .- DTADR(R5) 000000 ;+ ; PUT THE LOW ORDER BITS IN RO, THE HIGH ORDER BITS IN R3, AND ; THE ADDRESS OF THESTORAGE AREA IN R1. 000010 1 000010 1 016500 000014 1 000014 1 016503 000020 1 000020 1 016501 LET RO .- NUMB1(R5) 000002 LET R3 .- NUMB2(R5) 000004 LET R1 .- ADDR(R5) 000006 ;+ ; IF NOT 18-BIT ADDRESSING GO TO 22-BIT SECTION. 000024' 000024 1 032764 000032' 001023 IF HMAPSTAT NOTSETIN DT.STO(R4) THEN 000200 000010 ;+ ;SINCE ONLY 18 BITS REQUIRED, ZERO THE UPPER 2 MOST SIGNIFICANT ;ASCII LOCATIONS AND UPDATE TABLE ADDRESS ;- 64L 643 644 645 (4) 646 (4) 647 648 649 650 651 MACY11 30A(1052) 000034' 0000341 112721 000040 1 000040 1 112721 LET (R1)+ :B= #60 000060 LET (R1)+ :9= #60 000060 ;+ ;CONVERT BITS 0-15 TO ASCII BOAC BINARY TO OCTAL ASCII CONVE~SION FOR 18 & 22 SIT NUMEERS BOAC.MAC 08-AUG-78 12:17 BOAC ROUTINE 652 653 654 (3) (5) (4) (3) (3) 355 656 557 658 659 660 661 662 (6) 663 664 665 666 667 668 (7) (7) (7) 669 670 671 672 67 3 674 675 (4 ) 676 (6 ) 677 (4 ) 678 679 (4 ) (3 ) 680 000044 ' 000044 ' 000046 ' 000050 ' 000052 ' 000056 ' CALL BOA16 010546 010145 010045 004761 012605 ~ACY11 30A(1052) 20-SEP-78 17:43 PAGE 19-4 SEQ 0306 IN OOOOOOG MOV MOV MOV J3R MOV R5,-(SP) R1,-(R5) RO,-(R5) PC,BOA16 (SP)+,R5 SIC #177717,R3 ASR ASR ASR R3 R3 R3 ;+ ;CLEAR OUT ANY UNNEEDED BITS IF ANY ARE ACCIDENTALLY SET ;IN EXTENDED ADDRESS WORD 000060 ' 000060 ' 042703 LET R3 := R3 CLR.BY #177717 177717 ;+ ;SHIFT EXTENDED ADDRESS BliS FROM POSITION 4 & 5 TO 1 & 2 ;- LET R3 := R3 SHIFT -3 000054' 000064 ' 006203 000066 ' 006203 000070; 006203 ;+ ;ADD EA BITS TO FIRST ASCII CHARACTER(MOST SIGNIFICANT CHARACTER) ;THE SEQUENCE SHOWN IS TO HANDLE TABLES STARTING ON ODD BOUNDARIES LET RO :B= (R 1 ) 000072 ' 000072 ' 1 1 , 100 000074' 000074' 060300 000076' 000076' 1100' 1 000100' 000100 ' 000443 000102 ' LET RO .- MOVB (R1),RO ADD R3,RO MOVB RO,(R1) BR 50003$ RO + R3 LET ( R1 ) : B= RO ELSE 50002$: BOAC BINARY TO OCTAL ASCII CONVERSION FOR 18 & 22 BIT NUMBERS MACY11 30A(1052) BOAC.MAC 08-AUG-78 12:17 22 BIT ADDRESSING CONVERSION 682 683 684 685 686 687 688 689 690 691 692 693 694 695 (6) 396 (6) 697 698 699 700 701 702 703 704 (3) (5) (4) (3) (3) 705 706 707 708 709 710 711 712 713 (7) 714 (4) 715 716 717 718 719 720 721 722 723 724 725 (6) 726 (4) .SBTTL ;+ 20-SEP-78 17:43 PAGE 19-5 St;Q 0307 22 BIT ADDRESSING CONVERSION 2 2 BIT ADD RES SIN G ;- ;+ ;INITIALIZE AND SAVE ADDRESS + 2 OF ASCII STORAGE AREA ;TO CONVERT LOWER BITS(0-15) TO OCTAL ASCII ;ALSO CLEAN UP ANY UNWANTED BITS FROM BITS 16-21 000102' 000102' 062701 C00106' 000106' 042703 LET R1 .- R1 + #2 000002 ADD #2,R1 BIC #177700,R3 MOV MOV MJV JSR MOV R5,-(SP) R1,-(R5) RO,-(R5) PC,BOA16 (SP)+,R5 ASL R3 MOV R3,RO LET R3 .- R3 CLR.BY #177700 177700 ;+ ;SAVE BITS 0-15 AND CONVERT TO OCTAL ASCII 000112' 000112' 010546 000114' 010145 000116' 010045 000120' 004767 000124' 012605 CALL BOA16 IN OOOOOOG ;+ ;SHIFT BITS 16-21 LEFT ONE TIME ;AND SAVE TO ALIGN BITS 16,17 WITH BITS 1,2 , '- 000126' 000126' 000130' 000130' LET R3 .- R3 SHIFT +1 006303 LET RO .- R3 010300 ;+ ;MASK OFF ALL BUT BITS 0-2 IN REG AND ADD TO MOST ;SIGNIFICANT OCTAL ASCII CHARACTER ;THE SEQUENCE SHOWN IS FOR HANDLING ODD ADDRESSES AS WELL AS EVEN ;000132' 000132' 000136' 000136' LET RO .- RO CLR.BY #177770 042700 177770 8IC #177770,RO MOVB (R1),R2 LET R2 :B= (R1) 111102 BOAC BINARY TO OCTAL ASCII CONVERSION FOR 18 & 22 BIT NUMBERS MACY11 30A(1052) BOAC.MAC 08-AUG-78 12:17 22 BIT ADDRESSING CONVERSION 727 (6) 728 (4) 729 730 731 732 733 734 (7) (7) (7) 735 736 737 736 73S 740 741 (4) 742 743 744 745 74€, 747 74E. 749 750 (4) (6) (9) 751 752 753 754 755 (4) 756 757 758 759 760 000140' 000140' 060002 000142' 000142' 110211 761 000164' (6) 762 (6) 763 764 765 766 767 768 (4) 769 000164' 042700 000170' 000170' 062700 20-SEP-78 17:43 PAGE 19-6 LET R2 .- R2 + RO LET (R1) SEQ 0308 ADD RO,R2 MOVB R2, ASR ASR ASR R3 R3 R3 MOV #2,R2 TST BEQ R2 50005$ MOV R3,RO SIC #177770,RO ADD #60,RO MOVB RO,-(R1 ) :B= R2 (R 1 ) ;+ ;SHIFT BITS 16-21 3 TIMES TO RIGHT LET R3 .- R3 SHIFT -3 000144' 000144' 006203 000146' 006203 000150' 006203 ;+ ;SET UP COUNTER 000152' 000152' 012702 LET R2 .- #2 000002 ;+ ° ;WHILE COUNTER NOT = ,SAVE BITS 18-21 IN RO,MASK OFF ALL ;BUT BITS 0-2 IN RO,ADD #60 TO RO, STORE RO IN ASCII AREA ;SHIFT BITS 18-21 3 TIMES TO RIGHi AND DECREMENT COUNTER ;WHILE R2 NE #0 DO 000156 1 000156' 000156' 005702 000160' 001413 50004$: + SAVE BITS 18-21 LET RO .- R3 000162 1 000162' 010300 + MASK OFF uNNEEDED BITS AND ADD # 60 LET RO .- RO CLR.BY #177770 177770 LET RO '- RO + #60 000060 + STORE IN ASCII AREA, SHIFT BITS AND DECREMENT COUNTER 000174' 000174' 110041 000176' LET -(R1) :B= RO LET R3 .- R3 SHIFT -3 BOAC BINARY TO OCTAL ASCII CONVERSICN FOR 18 8. 22 81 T NW~BERS ':I:ACY11 30A(1052) 08-AUG-78 12: 17 E:lOAC .IViAC 22 BIT ADDRESSING CONVERSIGN (7 ) ( 7) (7 ) '170 (6) 771 '772 (4 ) ( 3) 773 774 775 776 777 778 (4 ) 779 780 781 782 783 784 (3 ) 785 78€ (3 ) ( 3) (2 ) 787 000176 1 000200 1 COO202 1 000204 1 000204 1 006203 006203 006203 LET R2 005302 17:43 PAGE 19-7 SEQ 0309 ASR ASR ASR R3 R3 R3 DEC R2 BR 50004$ JSR PC,RESREG RTS PC R2 - #1 ENDDO 000206 1 000206 1 000763 000210 1 000210 000210 .- 20-SEP-78 50005$: ENDIF 1 1 50003$: ;+ ; RESTORE REGISTERS , 000210 000210 000214 000214 000214 000214 1 1 CALL RESREG 004767 OOOOOOG ENDRTN 1 1 50000$: 50001$: 1 1 000207 000001 .END BOAC BINARY TO OCTAL ASCII CONVERSION FOR 18 & 22 8IT NUr,1BERS SYMBOL TABLE E,OAC. fllAC 08-AUG-78 , 2: 17 ACSR ACTBIT= ADDR ,D,DDR22= ADR APTFER= APTPRE= ASB ASSEM5= ASTAT = ;;UTO AUTOST= AItJAS BITO GITOO (3IT01 CIT02 8IT03 B1T04 BIT05 3IT06 BIT07 BIT08 B1T09 8IT1 8IT10 8 IT 11 B1T12 iJIT13 3IT14 8IT15 8IT2 ~3 IT 3 BIT1 8IT5 SIT6 BIT7 3IT8 3IT9 3KDEF 3KMOD i3KIViODE.= 3KSLSH= '30AC :30A16 = CAFRES= CASTAT= CDERCT= CDWDCT= CKTIM = CLKPRE= CONF1G= CQOVF = 000102 004000 000006 001000 000006 000004 000200 000106 000010 000104 000010 020000 C00110 000001 000001 00ClO02 000004 000010 000020 000040 000100 000200 000400 001000 000002 OO~OOO 004000 010000 020000 040000 100000 OCOCl04 000010 000020 000040 000100 000200 000400 001000 000002 000020 040000 000134 OClOOOORG ,< * '" * * * G 000004 000004 000146 000144 100000 000001 000056 000001 CR CSRA CSRC CTRLC CTRLO CTRLU DCEVNT= DEFRTN= DIAGMC= DROPMO= DSEVtH= DTADR :: DT.ADD= DT.A? = DT.APK= DT.BLS= DT.CFO= DT.CF1= DT.ERR= DT.ESI= DT.EVN= DT.EXS= DT.FCH= DT.FCN= DT.HMX= DT.KBE= DT.KBP= DT.KBR= DT.KBU= DT.MLS= DT.MT1= DT.OFF= DT.PAS= DT.PC = DT.PFL= DT.PSW= DT.PTA= DT.RCS= DT.REL= DT.SCT= DT.SMX= DT.SP DT.SSI= DT.STO= DT.ST1= DT.SWR= DT.SYP= DT.WBU= DT.WHL= DT.WLL= DVID1 = ECCMEM= ECCSTA= 000015 000100 000102 000003 000017 000U25 000011 000400 000000 100000 000014 000000 000042 000100 000076 000034 000014 000016 000020 000044 000000 000060 000037 000036 000104 000024 OC0026 000022 000030 000032 000110 000070 000074 000002 000062 000004 000064 000102 000040 000066 000~06 000006 000046 OC0010 000012 000056 000072 000050 000054 000052 000014 000100 000010 ENBEOP= ENBNUL= ENDLST= EO?BIT= ERRTYP= EVNTBE= EVNTrlD= EVNTKT= EVNTPE= EVNTRE= F,\TERR= HRDCNT= HRDPAS= ICONT = ICOUNT= !DNUM = IE INDPAR= INHDRP= INHEPR= H~HREL= INHRRE= INlT INTR 10MOD ICMODP= IOMODR= IOMODX= JACK KIPARO= KIPAR1= KIPAR2= KIPAR3= KIPAR4= KIPAR5= KIPAR6= KIPAR7= KIPDRO= KIPDR1= KIPDR2= KIPDR3= KIPDR4= KIPDR5= KIPDR6= KIPDR7= KTERRO= KTPRES= KTSTAT= KTXTND= LF LPSTAT= M:\PST A= MED ~v1AC Y11 010000 000001 000000 000001 000106 000200 000200 000203 000202 000201 100000 000044 000050 000036 000040 000122 000100 000040 040000 020000 001000 000400 000030 000120 100000 102000 112000 110000 035060 172340 172342 172344 172346 172~50 172352 172354 172356 172JOO 172302 172304 172306 172310 172312 172314 172316 000040 000400 000020 040000 000012 000001 000200 076600 30A(1052) 20-SEP-78 17:43 PAGE 20 SEQ 0310 MEMPAS= MODEXH= MODHOL= I\IODSE L= MSGCKD= MSGCKS= MSGDER= MSGDRP= MSGECH= MSGEOP= MSGHDR= MSGH~~G= MSGHRD= MSGMAP= MSGNUL= MSGPOP= MSGPRf.1= MSGRES= MSGSFT= MSGSKE= MSGSI\18= MSGSMH= MSGSMS= MSGSTD= MSGSYS= MSGVEC= NBk.MOD= NCPUOP= NOAPTY= NULL NGiJ!B1 NUMB2 OWEN PAERR PAR?RE= PARSTA= PASCNT= PDPLSI= PDP60 PDP70 PRIO PR 11 PRI4 PRI5 PRI6 PRI7 PRO PR4 PR5 PR6 PR7 PS PSW 040000 004000 002000 001000 000010 000011 000005 000017 177777 000013 000004 000022 000007 000021 177775 000002 177776 000001 00UC06 000003 000015 000014 000016 000000 000012 00()O20 001000 000020 000002 000000 000002 000004 024020 000010 002000 00 J 100 000034 020000 OO~OOO 01:)000 000000 000040 00~)200 000240 000300 000340 000000 000200 000240 000300 000340 177776 177776 RANNUM= RBU::EA= RBUFPA= RBUFSZ= RBUFVA= RDSERV= RD',r.irlrIlI= RELERR= RELMOD= REL TIM= RESREG= RES1 RES2 RICrlAR= RPTDAT= RSTRT = PU80UT= R'JN[,10D= R5'Jt-LU= SAM SAVREG= SBA::)R = SBK~P,OD= SSKSEL= SC.ADR= SC.ALC= SC.APC= SC.CKL= SC.CKP= SC.CLO= SC.HLD= SC.SCA= SENDLS= SOFCNT= SCFPAS= SPACE = SPOINT= S?VALU= SRO SR1 SR2 Sf'(3 STAT 5 T,l\ TB I = 5T AT1 = SL'SPND= SVRO SVRl SVR2 SVR3 SVR4 SVR5 SVR6 000054 000130 000126 000132 000124 000101 000022 000020 020000 010000 **:" *** G 000056 000060 031060 002000 000112 000177 100000 001740 075464 ****** G 000102 000000 010000 000006 000014 000016 000002 000004 008000 000010 000012 177777 000042 000046 000040 000032 002200 177572 177574 177576 172516 000026 064757 000027 000C01 000062 000064 000066 000070 000072 000074 000076 BOAC BINARY TO OCTAL ASCII CONVERSION FOR 18 & 22 BIT NUMBERS 08-AUG-78 12:17 SYMBOL TABLE ~ACY11 30A(1052) 20-SEP-78 17:43 PAGE 20-1 80AC.~AC SYSCNT= SYSERR= TMPIO = TQO') F = UIPA.RO= LJIPAR1= UIPAR2= UIP~R3= LJIPAR4= UIPAR5= UIPAR6= UIPAR7= UIPDRO= UIPDR1= UIPDR2= UIPDR3= UIPDR4= UIPDR5= UIPDR6= ABS. 000052 000100 000002 000002 177640 177642 177644 177646 177650 177652 177654 177656 177600 177602 177604 177606 177610 177612 177614 000000 000216 UIPDR7= WASADR= WBSTAT= VJ6UFEA= WBUFPA= WBUFRQ= IvBUFSZ= WDFR WDTO WTINRE= WnJHMI = XFLAG = XOFF XON $BGNLE= $ERFLG= $F$AND= $FSBAD= $F$BLA= 177616 000104 000040 000136 000134 000140 000142 000116 000114 000352 000222 000005 000023 000021 177777 000400 000310 000401 000170 000 001 ERRORS DETECTED: a DEFAULT GLOBALS GENERATED: 0 DSKZ:BOAC,DSKZ:BOAC=SPMAC/ML,EQUATE,BOAC RUN-TI!Y.E: 14 4 .4 SECONDS RUN-TIME RATIO:: 36/20=1.7 CORE USED: 14K (27 PAGES) $F$CAS= $F$DEC= $F$DO = $F$FAL= $F$GOO= $F$IF = $F$INC= $F$LOO= $F$NAM= $F$NO = $F$OR = $F$RTI= $F$RTN= $F$SEL= $F$THE= $F$TRU= $F$UNT= $F$WHI= $F$YES= 000150 000220 000340 000405 000400 000110 000210 000200 000160 000403 000320 000350 000300 000140 000330 000404 000130 000120 000402 SEQ 0311 $IFLEV= $ISKO = $LOCTA= $LSTIN= $LSTTA= $NESTL= $NSKO = $NSK1 = $NSK2 = $SAVLE= $SSKO = $TAGLE= $TAGNU= $TEMP $TSKO = $TSK1 = $TSK2 = $$ARGC= $$BYTE= 17'1777 000001 177777 000001 000001 177777 000300 000110 000120 177777 050005 177777 050006 000300 050003 050004 050005 000010 000403 $$CASE= $$OST = $$ELOC= $SERFL= $SF LAG= $$FROM= $$LOC = $$LOCN= $SREG = $$RETU= $$RTN1= $$RTN2= $~SRC = $$TGSV= $$TGS1= $$TGS2= $$TO $$$TAG= 000000 000000 000402 000000 000·001 000000 000160R 000000 177777 000000 050000 050001 000000 000000 000000 000000 000000 050000 000216R .MAIN. MACY11 30~(1052) 20-SEP-79 EQUATE.MAC 13-SEP-78 16:13 3 559 562 578 17:43 TABLE OF CONTENTS COMMON EQUATE MODULE COMMON DEFINITIONS AND REFERENCES FOR BOA16 000000' .PRINT jSPMAC: VERSION 1.1 BOA16 ROUTINE SEQ 0312 BOA16 OCTAL TO ASCII CONVERSION ROUTINE ~OR 16 BIT NUMBERS BOA16.MAC 28-JUL-78 09:11 COMMON EQUATE MODULE 5()8 ;:S09 510 ~ MACY11 30A(1C52) 20-SEP-7B 17:43 PAGE 19 .TITLE BOA16 OCTAL TO ASCII CONVERSION ROUTINE FOR 16 BIT NUMBERS .IDENT /VO.O/ 11 512 513 514 515 516 517 518 519 520 521 522 523 524 525 326 527 528 529 53~ 531 532 533 534 535 536 537 536 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 ;++ MODULE NAME: BOA16 FUNCTIONAL DESCRIPTION: THIS ROUTINE WILL COI..JVERT A SIX CHARACTER (SIXTEEN BIT) OCTAL NUMBE~ TO A SIX CHARACTER ASCII STRING STORED AT THE CALLER SPECIFIED ADDRESS. INPUTS: 1. NUMBER TO BE CONVERTED. 2. START ADDRESS OF 6 BYTE STORAGE AREA WHERE ASCII CHARACTERS ARE TO BE STORED. IMPLICIT INPUTS: NONE OUTPUTS: NONE IMPLICIT OUTPUTS: NONE PATHOLOGICAL CONNECTIONS: NONE SUBORDINATE ROUTINES CALLED: SAVREG - SAVE GPRS RESREG - RESTORE GPRS FUNCTIONAL SIDE EFFECTS: NONE CALLING SEQUENCE: CALL BOA16 IN WHERE A NUMBER TO BE CONVERTED B = START ADDRESS OF 6 BYTE STORAGE AREA WHERE ASCII CHARACTERS ARE TO BE STORED EDIT DATE BY REAsm~ SEQ 0313 BOA16 OCTAL TO ASCII CONVERSION ROUTINE FOR 16 BIT NU~BER$ M~CY11 30A(1052) 20-SEP-78 BOAI6.MAC 28-JUL-78 09:11 COMMON DEFINITIONS AND REFERENCES FOR BOA16 559 560 561 362 (1) 563 564 565 566 567 568 569 570 571 572 573 574 575 .SBTTL COMMON DEFINITIONS AND REFERENCES FOR BOA16 000000 000000 1 1 000001 000001 .MCALL STRUCT STRUCT .PRINT ;SPMAC: VERSION 1.1 $LSTTAG=1 $LSTIN=l **************** ; REFERENCED BY OTHER MODULES: .GLOBL BOA16 , ;ENTRY POINT FOR THIS MODULE ; **************** ; GLOBAL REFERENCES .GLOBL .GLOBL SAVREG RESREG ;SAVE GPRS ROUTINE ;RESTORE GPRS ROUTINE 17:43 PAGE 19-1 SEQ 0314 BOA16 OCTAL TO ASCII CONVERSION ROUTINE FOR 16 BIT NUMBERS MACY11 30A(1052) 20-SEP-78 BOA16.MAC 28-JUL-78 09:11 COMMON DEFINITIONS AND REFERENCES FOR BOA16 577 S78 579 (2 ) 580 581 582 583 584 585 (3 ) 586 587 588 589 590 591 (4) (6) 592 ( 4) 593 (4 ) 594 595 59E 597 598 599 600 601 (4 ) (6 ) (9) 602 (4 ) 603 (6 ) 604 (6) 605 (4 ) 606 (6) 607 (7 ) ( 7) (7 ) 608 (6) 6e9 (4) (3 ) 610 611 612 17:43 .SBTTL BOA16 ROUTINE ROUTINE BOA16 000000' 000000' PAGE 19-2 SEQ 0315 BOA16: :+ ; SAVE REGISTERS , 000000' 000000' 004767 CAl.L SAVREG OOOOOOG JSR PC,SAVREG MOV ADD ADRESS{R5),RO #6,RO MOV #6,R1 MOV NUM(R5) ,R3 ;+ ; GET 6 BYTE STORAGE ADDRESS + 6 AND SET CHARACTER COUNT , 000004' 000004' 000010' 000014' 000014' 000020' 000020' 016500 062700 000002 000006 012701 000006 016503 LET RO ·- ADRESS(R5) + #6 LET R1 ·- #6 LET R3 ·- NUM(R5) 000000 ;+ ; v,'HI LE R1 IS NOT = O,GET THE OCTAL #,CLEAR OUT ALL SUT LSB 0-2, ; ADD 60 (CONVERT TO ASCII), STORE THE ASCII ,UPDATE POINTER,CLEAR ; OUT 3 BITS JUST CONVERTED, SHIFT NEXT 3 BITS, DECREMENT COUNTER , 000024' 000024' 000024' 000026' 000:)30' 000030' 000032' 00003:4' 000036' 000036' 000042' 000042' 000044' 000044' 000050' 000050' 000052' 000054' ooce56' 000056' 000060' 000060 1 000062' WHILE Rl NE #0 DO 005701 001415 LET R2 010302 LET R2 042702 177770 LET R2 062702 000060 ···- LET -(RO) 110240 042703 R3 R2 CLR.BY #177770 R2 + #60 : B= R2 LET R3 ·- R3 CLR.BY #7 LET R3 ·- R3 ROTATE -3 LET R1 ·- Rl - 000007 006003 006003 006003 50002$: #1 005301 ENDDO 000761 50003$: ;+ TST SEQ Rl 50003$ MOV R3,R2 BIC #177770,R2 ADD #60,R2 MOVB R2,-(RO) BIC #7,R3 ROR ROR ROR R3 R3 R3 DEC R1 3R 50002$ bOA16 OCTAL TO ASCII CONVERS~ON ROUTINE FOR 16 SIT NUMBERS 80A16.MAC 28-JUL-78 09:11 BOA16 ROUTINE 613 614 615 616 (3 ) 617 318 (3 ) (3 ) (2 ) 619 MACY11 30A(1052) 20-SEP-78 17:43 PAGE 19-3 SEQ 0316 ; CLEAN UP , 000062 ' 000062 ' 004767 OC0066' 000066 ' 000066 ' 000066 ' 000207 000001 CALL RESREG OOOOOOG JSR PC,RESREG RTS PC ENDRTN 50000$: 50001$: .END DOA16 OCTAL TO ASCII CONVERSION ROUTINE FOR 16 BiT NUMBERS SYMBOL TABLE 28-JUL-78 09: 11 BOA16.MAC ACSR ACT3!T= ADDR22= ADR ADRESS= APTFER= APTPRE= IISB ASSEMB= ASTAT = AUTO AUTOST= AWAS [31TO [HTOO G1TOl [11T02 BITC3 B1T04 BIT05 BIT06 BIT07 B1T08 BIT09 B1T1 81T10 [11 T 11 B1T12 3IT13 B1T14 BIT 15 81T2 BIT3 BIT4 BIT5 BIT6 BIT7 BIT8 BIT9 BKDEF BKIV:OD BKrv'lODE= BKSLSH= 30A16 (::APRES= CASTAT= CDERCT= CDWDCT= CKTIM = CLKPRE= CONFIG= CQOVF CR 000102 004000 001000 000006 000002 000004 000200 e00106 000010 000104 000010 020000 000110 000001 000001 000002 COOO04 000010 000020 000040 000100 000200 000400 001000 000002 002000 004000 010000 020:)00 040000 100000 000004 000010 000020 000040 000100 000200 000400 001000 000002 000020 040000 000134 OOOOOORG 000004 000004 000146 000144 100000 000001 000056 000001 000015 CSRA CSRC CTRLC CTRLO CTRLU DCEVNT= DEFRTN= DIAGMC= DROPMO= DSEVNT= DT.ADD= DT.AP ::;: DT.APK= DT.BLS= DT.CFO= DT.CF1= DT.ERR= DT.ESI= DT.EVN= DT.EXS= DT.FCH= DT.FCN: DT.HMX= DT.KB::= DT.KBP= DT.KBR= DT.KBU= DT.MLS= DT.MTI= DT.OFF= DT.PAS= DT.PC DT.PFL= DT.PSW= DT. PT A= DT.RCS= DT.REL= DT.SCT= DT.SMX= DT.SP = DT.SSI= DT.STO= DT.ST1= DT . S~IJR= DT.SYP= DT.WBU= DT.WHL= DT.WLL= DVID1 = ECCMEM= ECCSTA= ENBEOP= ENBNUL= 000100 000102 000003 000017 000025 000011 000400 000000 100000 000014 000042 000100 000076 000034 000014 000016 000020 000044 000000 000060 000037 000036 000104 000024 000026 (;00022 000030 000032 000110 000070 000074 000002 000062 000004 000064 000102 000040 0000G6 000i06 000006 000046 000010 000012 000056 000072 000050 000054 000052 000014 000100 000010 010000 000001 ENDLST= EOPBIT= ERRTYP= EVNTBE= EVNTHD= EVNTKT= EVNTPE= EVNTRE= FATERR= HRDCNT: HRDPAS= ICONT = ICOUNT= IDNUM = IE INDPAR= INHDRP= Ir-.;HEPR= INHREL= INHRRE= INIT INTR IOMOD IOMODP= 1OMODR= IOMODX= JACK K1PARO= KIPAR1= KIPAR2= KIPAR3= K1PAR4= KIPAR5= KIPAR6= KIPAR7= KIPDRO= KIPDR1= KIPDR2= KIPDR3= KIPDR4= KIPDR5= KIPDR6= KIPDR7= KTERRO= KTPRES= KTSTAT= KTXTND= LF LPSTAT= MAPSTA= MED MEMPAS= MODEXH= MACY11 30A(1C52) 000000 000001 000106 000200 000200 000203 000202 000201 100000 000044 000050 COO036 000040 000122 000100 000040 040000 020000 001000 000400 000030 000120 100COO 102000 112000 110000 035060 172340 172342 172344 172346 172350 172352 172354 172356 1'72300 172302 172304 172306 172310 172312 1723i4 172316 000040 000400 000020 040000 000012 000001 000200 0766CO 040000 004000 20-SEP-78 002000 001000 000010 000011 000005 000017 177777 00001"3 000004 000022 000007 000021 177775 000002 177'176 008001 JOJ006 000003 000015 OOc)C14 000016 000000 000012 000020 001000 000020 000002 000000 000000 024020 OOOOiO 002000 000100 000034 020000 004000 010000 000000 000040 000200 000240 000300 000340 000000 000200 00J240 PF~5 PR6 000300 PR7 00J340 177776 PS 177776 PSW RANNUM= 000054 RBUFEA= 000130 RBUFPA= 000126 MODHOL= 1'v1ODSE L= MSGCKD= MSGCKS= MSGDER= MSGDRP= MSGECH= MSGEOP= MSGHDR= MSGHNG= MSGHRD= MSG:V:AP= MSGNuL= MSGPOP= MSGPRM= MSGRES= MSGSFT= MSGSKE= MSGSMB= MSGSi,1H= MSGSMS= MSGSTD= MSGSYS= MSGVEC= NBKMOD= NCPUOP= NOAPTY= NULL NUM DIvEN PAERR PARPRE= PARSTA= PASCNT= PDPLSI= PDP60 PDP70 PRI0 P R11 PRI4 PRI5 PRI6 PRI7 PRO PR4 17:43 PAGE 20 SEQ 0317 RBUFSZ= RSUFVA= RDSERV= RD!JJHMI = RELERR= REU,10D= REL TIM= RESREG= Rt:S1 RES2 RICHAR= RPTDAT= RSTRT = RUBOUT= RUW:'OD= R5VALU= SAM SAVREG= SBADR = SBKMOD= SBKSEL= SC.ADR= SC. A.LC= SC.APC= SC.CKL= Sr::.CKP= SC.CLO= SC.hLD= SC.SCA= SENDLS= SOFCNT= SOFPAS= SPt.CE = SPO!NT= SPVALU= SRO SR1 SR2 SR3 STAT STATBI= STAT1 = SUSPND= SVRO SVR1 SVR2 SVR3 SVR4 SVK5 SVR6 SYSCNT= SYSERR= IMPIO = 000132 000124 000101 000022 000020 020000 010000 ****** G ****"'* G 000056 000060 031060 002000 000112 000177 100000 001740 075464 000102 000000 010000 000006 000014 000016 000002 000004 000000 000010 000012 177777 000042 000046 000040 000032 002200 177572 177574 177=76 172516 000026 064757 000027 000001 000062 000064 000066 00C070 000072 000074 000076 000052 000100 000002 JOA16 eCTAL Te ASCII CONVERSION ROUTINE FOR 16 BIT NUMBERS BOA16.MAC 28-JUL-78 09:11 SYMBOL TABLE TQOVF = UIPARO= UIPAR1= UI P,\R2= UIPAR3= UIP~R4= UIP~R5= UIPAR6= UIPAR7= JIPC>RO= UIP)R1= UIP:)R2= UIPDR3= UIPDR4= UIPDR5= UIPDR6= UIP;)R7= WASADR= ASS. 000002 177640 177642 177644 177646 177650 177652 177654 177656 177600 177602 177604 177606 177610 177612 177614 177516 000104 000000 000070 WBSTAT= WBUFEA= WBUFPA= WBUFRQ= WBUFSZ= WDFR WDTO WTINR~= WTWHMI= XFLAG = XOFF XON $BGNLE= $ERFLG= $F$AND= $F$BAD= $F$BLA= $F$CAS= 000040 000136 000134 000140 000142 000116 000114 000352 000222 000005 000023 000021 177777 000400 000310 000401 000170 000150 000 001 ERRORS DETECTED: 0 DEFAULT GLOSA LS GENERATED: a DSKZ:BOA16,DSKZ:BOA16=SPMAC/ML,EQUATE,BOA16 RUN-TIME: 12 2 .4 SECONDS RUN-TIME RATIO: 30/15=2.0 CORE USED: 14K (27 PAGES) $FSDEC= $F$DO = $F$FAL= $F$GOO= $F$IF = $ FS It~C= $F$LOO= $F$NAM= $F$NO = $F$OR = $F$RTI= $F$RTN= $F$SEL= $F$THE= $F$TRU= $F$UNT= $F$WHI= $F$Y~S= MACY11 30A(1052) 20-SEP-78 17:43 PAGE 20-1 SEQ 0318 000220 000340 000405 000400 000110 000210 000200 000160 000403 000320 000350 000300 000140 000330 0004C4 000130 000120 000402 $IFLEV= $LOCTA= $LSTIN= $LSTTA= $NESTL= $NSKO = $NSK1 = $SAVLE= $SSKO = $TAGLE= $TAGNU= $TEMP = $TSKO = $TSK1 = $$ARGC= $$8YTE= $$CASE= $$DST = 177777 177777 000001 000001 177777 000300 000120 177777 J50003 177777 050004 00'J300 050002 050003 000004 00')403 000000 000000 $$ELOC= $SERFL= $$FLAG= $$FRO'VI= $$LCC = $SLCCN= $SREG = $SRETU= $SRTN1= $$RTN2= $$SRC = $$TGSV= $$TGS1= $$TGS2= $$TO $$$TAG= 000000 000000 000340 000000 00002t3R 000000 177777 000000 050000 050001 000000 000000 000000 000000 000000 050000 00~070R .MAIN. MACY11 30A(1052) 20-SEP-78 EQUATE.MAC 13-5EP-78 16:13 3 552 554 572 17:44 TABLE OF CONTENTS COMMON EQUATE MODULE COMMON DEFINITIONS AND REFERENCES 000000 1 .PRINT CLREOP ROUTINE jSPMAC: VERSION 1.1 SEQ 0319 CLREOP - CLEAR END-OF-PASS INDICATORS CLREOP.MAC 28-JUL-78 09:12 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 54B 549 550 MACY11 30A(1052) 20-SEP-76 COMMON EQUATE MODULE 17:44 PAGE 19 SEQ 0320 .TITLE CLREOP - CLEAR END-OF-PASS INDICATORS .IDENT /VO.O/ ;++ MODULE NAME: CLREOP FUNCTIONAL DESCRIPTION: CLEARS THE 1ST-END-OF-PASS INDICATOR IN EACH OPTION MODULE OF THE RUNTIME EXERCISER INPUTS: DATA TABLE ADDRESS IMPLICIT INPUTS: DT.MLST OUTPUTS: NONE IMPLICIT OUTPUTS: MODULES' 1ST-EOP INDICATOR, LOCATED IN MODULE'S HEADER WORD, XFLAG PATHOLOGICAL CONNECTICNS: NONE SUBORDINATE MODULES CALLED: SAVREG - SAVE REGISTERS RESREG - RESTORE REGISTERS FUNCTIONAL SIDE EFFECTS: NONE CALLING SEQUENCE: CALL CLREOP IN
A=DATA TABLE ADDRESS VERSION: 0.0 EDIT BY DATE REASON CLREOP - CLEAR END-OF-PASS INDICATORS CLREOP.MAC 28-JUL-78 09:12 552 553 554 (1) 555 S56 557 558 559 000000' 000000' 000001 000001 MACY11 30A(1052) 20-SEP-76 17:44 COMMON DEFINITIONS AND REFERENCES , ;**************** ; 561 562 ; REFERENCED BY OTHER MODULES: 563 564 .GLOBL 565 ;**************** 567 SEQ 0321 .SBTTL COMMON DEFINITIONS AND REFERENCES .MCALL STRUCT STRUCT .PRINT ;5PMAC: VEr-SION 1.1 $LSTIN=1 $LSTTAG=1 560 566 PAGE 19-1 CLREOP ;MODULE ~NTRY ; ; GLOBAL REFERENCES 568 569 570 .GL08L .GLOBL SAVREG RESREG ;SAVE GPrt'S ;RESTORE GPR'S POINT CLREOP - CLEArt ;::~~D-O:=-? ;.SS INDICATORS 28-JUL-78 09:12 CLREOP.MAC 572 573 574 (2 ) 575 576 577 573 579 580 581 (3 ) 582 583 584 585 586 587 588 (4 ) 589 590 591 592 593 594 595 (4) 596 597 598 599 600 601 602 (4) (6) ( 9) 603 (4 ) 604 ( 6) 605 (4 ) (;3 ) 606 607 608 609 610 611 612 (3 ) 613 614 (3) MACY 1 1 30A(1052) CLREOP ROUTINE 20-SEP-76 17:44 PAGE 19-2 SEQ 0322 .SBTTL CLREOP ROUTINE ROUTINE CLREOP 000000' 000000' CLREOP: ;+ ; SAVE REGISTERS , 000000' 000000' 004767 CALL SAVREG OOOOOOG JSR PC,SAVREG MOV TABL(R5),RO MOV DT .MLST(RO) ,R1 CMP SEQ (R1 ) ,#ENDLST 50003$ MOV (R1)+,R2 BICB #EOPBIT,XFLAG(R2 BR 50002$ JSR PC,RESREG ;+ ; SET RO TO THE START OF THE DATA TABLE , 000004' 000004' 016500 LET RO 000000 .- TA8L(R5) ;+ ; GET THE MODULE LIST , 000010' 000010' 016001 LET R1 .- DT.MLST(RO) 000032 ;+ i CLEAR EOPBIT IN XFLAG IN EACH MODULE HEADER , 000014' 000014' 000014' 021127 000020' 00140~ 000022' 000022' 012102 000024' 000024' 142762 000032' 000032' 000770 000034' WHILE (R 1 ) NE #ENDLST DO 50002$: 000000 LET R2 .- (R1 ) + LET XFLAG(R2) 000001 : B= XFLAG(R2) CLR.BY #EOPBIT 000005 ENDDO 50003$: ;+ ; , 000034! 000034' 004767 000040' 000040' RESTORE REGISTERS AND RETURN CALL RESREG OOOOOOG Ei'lDRTN 50000$: CLREOP - CLEAR END-OF-PASS INDICATORS CLREOP.MAC 28-JUL-78 09:12 (3) (2) 615 616 000040 000040 MACY11 30A(1052) CLREOP ROUTINE 17:44 PAGE 19-3 SEQ 0323 50001$: 1 1 20-SEP-76 000207 000001 RTS .END PC CLRcOP - CLEAR END-OF-PASS INDICATORS 28-JUL-78 09: 12 CLREOP .MA.C ACSK ACTSlT= ADDR22= ..\DR APTFER= t\PT?RE= ASB ASSEM3= ASTAT = ;AUTO ;,UTOST = A....JA3 BITO 8ITOO :.n Tal :31 T02 BIT03 dlT04 BIT05 t3ITOG SIT07 BIT08 3IT09 (3 IT 1 81T10 BIT 11 BIT12 SIT13 SIT 14 BIT 15 3IT2 31T3 JIT4 3IT5 SIT6 3IT7 3IT8 81T9 BKOEF 3KrWD BKMODE= 3KSLSH= CAPRES= CASTAT= CDERCT= COt>..DCT= CKTIM = :LKPRE= Cl.REOP CONFIG= CQOVF CR CSRA 000102 004000 001000 000006 000004 000200 000106 ooeOl0 000104 000010 020000 000110 000001 000001 000002 000004 000010 000020 000040 000100 000200 000400 001000 000002 002000 004000 010000 020000 040000 100000 000004 000010 000020 000040 000100 000200 000400 001000 000002 000020 040000 000134 000004 000004 000146 000144 100000 000001 OOOOOORG 000056 000001 000015 000100 CSRC CTRLC CTRLO CTRLU DCEVNT= DEFRTN= DIAGMC= DROPMO= DSEVNT= DT.ADD= DT.AP = DT.APK= DT.BLS= DT.CFO= DT.CF1= DT.ERR= DT.ESI= DT.EVN= DT.EXS= DT.FCH= DT.FeN= DT . Hr·J1X= DT.KBE= DT.KBP= DT.KBR= DT.KBU= DT.MLS= DT.MTI= DT.OFF= DT.PAS= DT.PC = DT.PFL= DT.PSW= DT.PTA= DT.Res= DT.REL= DT.SCT= DT.sr·,1X= DT.SP = DT.SSI= DT.STO= DT.ST1= DT.SWR= DT.SYP= DT.WBU= DT.WHL= DT.WLL= DVIDl = ECCMEM= ECCSTA= ENBEOP= ENBNUL= ENDLST= 000102 000003 000017 000025 000011 000400 000000 100000 000014 000042 000100 000076 000034 000014 000016 000020 000044 000000 000060 000037 000036 000104 000024 000026 000022 000030 000032 000'10 000070 000074 000002 000062 000004 000064 000102 000040 000066 000106 000006 000046 000010 000012 000056 000072 000050 000054 000052 000014 000100 000010 010000 000001 000000 MACY11 30A(1052) SYMBOL TABLE 20-SEP-78 EOPBIT:;: ERRTYP= EVNTBE:;: EVNTHD= EVNTKT= EVNTPE:;: EVNTRE= FATERR= HRDCNT= HRDPAS= ICONT = ICOUNT= IDNUM = IE INDPAR= INHDRP= INHEPR= INHREL= INHRRE:;: INIT INTR IOMOD IOMODP= IOi\1ODR= IOi.1ODX= JACK KIPARO= KIPA:<1= KIPAR2= KIPAR3= KIPAR4= KIPAR5= KIPAR6:;: KIPAR7= KIPDRO= KIPDR1= KIPDR2= KIPDR3= KIPDR4:;: KIPDR5= KIPDR6= KIPDR7= KTERRO= KTPRES= KTSTAT:;: KTXTND= LF LPSTAT= MAPSTA:;: MED MEMPAS= MODEXH= MODHOL= 000001 000106 000200 000200 000203 000202 000201 100000 000044 000050. 000036 OOOOdO 000122 000100 000040 040000 020000 001000 000400 000030 000120 100000 102000 112000 1 10000 035060 172340 172342 172344 172345 172350 172352 172354 172356 172300 172302 172304 172306 172310 172312 172314 172316 000040 000400 000020 040000 000012 000001 000200 07E600 040000 0040C,0 002000 17:44 PAGE 20 SEQ 0324 MODSEL:;: MSGCKD= MSGCKS= MSGDER= MSGDRP= MSGECH= MSGEOP:;: MSGHDR= MSGHNG= MSGHRD= . MSGMAP= MSGNUL= MSGPOP= MSGPRM= MSGRES= MSGSFT= MSGSKE= MSGSMB= MSGSMH= MSGSMS= MSGSTD= MSGSYS= MSGVEC= N6KMOD= NCPUOP= NOAPTY:;: NULL Ot>JEN PAERR PARPRE= PARSTA= PASCNT= PDPLSI= POP60 PDP70 PRIO PR 11 PRI4 = ?RI5 PRI6 PRI7 PRO PR4 PR5 PR6 PR7 PS PSW RANNUM= RBUFEA= RBUFPA= RBUFSZ:;: RBUFVA= 001000 000010 000011 000005 000017 177777 000013 000004 000022 000007 000021 177775 000002 177776 000001 00')006 00;)003 000015 000014 00J016 000000 000012 000020 001000 000020 000002 000000 024020 000C10 002000 000100 000034 020000 004000 010:)00 000000 000040 000200 000240 000300 000340 000000 000200 000240 000300 000340 177776 177776 000054 000130 000126 000132 000124 RDSERV= RDWHMI = RELERR= RELI\10D= REL TIM:;: RES REG:;: RESl RES2 RICHAR= RPTDAT= RSTRT = RU80UT= RJN:\<10D= RSVALU= SAM SAVREG= S3AOR = SBKlVOD= SBKSEL= SC.ADR= SC.ALC= SC.APC= SC.CKL= SC.CKP= SC.CLO= SC.HLD= SC.SCA= SENDLS= SOFCNT= SOFPAS= SPACE = SPOINT:;: S?VALU= SRO SR1 SR2 SR3 STAT STATBl= STAT1 = SUSPND= SVRO SVR1 SVR2 SVR3 SVR4 SVR5 SVR6 SYSCNT= SYSERR= TABL TMPIO TQOVF 000101 000022 000020 020000 010000 ****** G 000056 000060 031060 002000 000112 000177 100000 001740 075464 ****** 000102 000000 010000 000006 000014 000016 000002 000004 000000 000010 000012 177777 000042 000046 000040 000032 002200 177572 177574 177576 172516 000026 064757 000027 000001 000062 000064 000066 000070 000072 000074 00007E 000052 000100 000000 000002 000002 G CLRcQP - CLEAR END-OF-PASS INDICATORS 28-JL!L-78 09: 12 CLR~OP.MAC UIPARO= UIPAR1= UIPAR2= UIPAR3= UIPAR4= UIPAR5= UIPAR6= UIPAR7= LJIPDRO= UIPDR1= LJIP)R2= LJIPDR3= UIPDR4= UIPDR5= UIPDR6= UIPl)R7= \.oJASADR= WBSTAT= 177640 177642 177644 177646 177650 177652 177654 177656 177600 177602 177604 177606 177610 177612 177614 177616 000104 000040 ABS. oooooe 000042 WBUFEA= WBUFPA= WBUFRQ= WBUFSZ= WDFR WDTO WTINRE= WTWHMI= XFLAG = XOFF )(:IN $BGNLE= $ERFLG= $F$AND= $F$BAD= $F$BLA= $F$CAS= $F$DEC= MACY11 30A(1052) SYMBOL TABLE 000136 000134 000140 000142 000116 000114 000352 000222 oeOO05 000023 000021 177777 000400 000310 000401 000170 000150 000220 000 001 ERRORS DETECTED: 0 DEFAULT GLOB;.\LS GENERATED: 0 DSKZ:CLREOP,DSKZ:CLREOP=SPMAC/ML,EQUATE,CLREOP RUN-T IME: 11 1 .4 SECONDS RUN-TIME RATIO: 31/13=2.2 CORE USED: 14K (27 PAGES) 20-SEP-78 $F$DO $F$FAL= $F$GOO= $F$IF = $F$INC= $F$LOO= $F$NAM= $F$NO = $F$OR = $F$RTI= $F$RTN= $F$SEL= $F$THE= $F$TRU= $F$UNT= $F$'wHI= $F$YES= $IFLEV= 17:44 PAGE 20-1 SEQ 0325 00034:) 000405 000400 000110 000210 000200 000160 000403 000320 000350 000300 000140 000330 000404 000130 000120 000402 177777 $LOCTA= $LSTIN= $LSTTA= $NESTL= $NSKO = $NSK1 = $SAVLE= $SSKO = $TAGLE= $TAG~JU= $TEMP = $TSKO = $TSK1 = $$ARGC= $$BYTE= $$CASE= $$DST = $$ELOC= 177777 JOOO01 000C01 177777 000300 000120 177777 050003 177777 050004 00()300 050002 05;)003 000002 000403 000000 000000 000000 $$ERFL= $$FLAG= $$FROM= $$LOC = $$LOCN= $$REG = $$RETU= $$RTN1= $SRTN2= $$SRC = $$TGSV= $$TGS1= $:;iTGS2= $$TO $$$TAG= 000000 000340 000000 000020R 000000 177777 000000 050000 050001 000000 000000 000000 000000 000000 050000 000042R .MAIN. MACY11 30A(1052) 20-SEP-78 EQUATE.MAC 13-SEP-78 16:13 3 552 557 584 17:44 TABLE OF CONTENTS COMMON EQUATE MODULE COMMON DEFINITIONS AND REFERENCES 000000' .PRINT CMDCPY ROUTINE ;SPMAC: VERSION ,., SEQ 0326 CMDCPY - COMMAND COpy MACY1, 30A(1052) 20-SEP-78 17:44 PAGE 19 CMDCPY.MAC 28-JUL-78 09:12 COMMON EQUATE MODULE 508 509 510 511 512 513 514 515 516 517 519 519 320 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 SEQ 0327 .TITLE CMDCPY - COMMAND COpy .IDENi IVO.O/ ;++ MODULE NAME: CMDCPY FUNCTIONAL DESCRIPTION: COPIES A COMMAND FROM THE INPUT BUFFER TO THE DECODE BUFFER, EXCLUDING RUBBED OUT CHARACTERS INPUTS: DATA TABLE ADDRESS, DECODE BUFFER ADDRESS IMPLICIT INPUTS: DT.KBUF OUTPUTS: ABORT FLAG IMPLICIT OUTPUTS: NONE PATHOLOGICAL CGNNECTIONS: OV.HIKB SUBORDINATE MODULES CALLED: SAVREG RESREG FUNCTIONAL SIDE EFFECTS: NONE CALLING SEQUENCE: CALL CMDCPY IN OUT A=DATA TABLE ADDRESS B=DECODE BUFFER ADDRESS C=ABORT FLAG VERSION: 0.0 ._, EDIT BY DATE REASON CMDCPY - COMMAND COpy MACY1, 30A(1052) 20-SEP-78 17:44 PAGE 19-1 CMDCPY.MAC 28-JUL-78 09:12 COMMON DEFINITIONS AND REFERENCES 552 553 554 555 556 557 (1) 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 SEQ 0328 .SBTTL COMMON DEFINITIONS AND REFERENCES 000000· 000000· 000001 000001 .MCALL STRUCT STRUCT .PRINT ;SPMAC: VERSION 1.1 $LSTIN=1 $LSTTAG=1 ;**************** ; REFERENCED BY OTHER MODULES , .GLOBL , CMDCPY ;MODULE ENTRY POINT ;**************** , ; GLOBAL REFERENCES .GLOBL .GLOGL .GLOBL SAVREG RESREG OV.HIKS iKB BUF HIGH ADDR i**************** ; LOCAL STORAGE: 000000· OOOOOOG CM.KSIZ: OV.HIKB ;KB HIGH LIMIT 20-SEP-78 17:44 MACY11 30A(10S2) CMDCPY - COMMAND COpy CMDCPY ROUTINE 28-JUL-78 09: 12 CMDCPY.MAC 584 585 (2 ) 586 587 588 589 590 591 (3 ) 592 593 594 595 596 597 (4) 598 599 600 601 602 603 (4) 604 605 606 607 608 608 (4) 610 611 612 613 614 615 (4 ) 616 617 618 619 620 621 622 (6 ) (8) (6) ( 9) ( 6) 623 624 (4) 625 626 (4) PAGE 19-2 SEQ 0329 .SBTTL CMDCPY ROUTINE ROUTINE CMDCPY 000002' 000002 ' CMDCPY: ;+ ;SAVE REGISTERS ;- 000002 ' 000002 ' 004767 CALL SAVREG OOOOOOG JSR PC,SAVREG MOV TABL(RS),RO CLR ABORT(R5) MOV DT.KBUF(RO),R1 MOV DECSUF(R5),R2 CMPB SEQ CMPB BNE (R1) ,I;CR 50002$ (R1),#RUBOUT 50003$ MOV # 1 , ABORT ( R5) BR 50004$ ;+ ;SET RO TO START OF DTABLE , 000006 ' 000006 ' 016500 LET RO 000000 ·- TABL(R5) ;+ ;CLEAR THE ABORT FLAG ,' 000012' 000012 ' 005065 LET ABORT(R5) .- #0 000004 ;+ ; INITIALIZE INPUT BUFFER POINTER , 000016 ' 000016' 016001 LET R1 000030 ·- DT.KBUF(RO) ;+ ; INITALIZE DECODE BUFFER POINTER , 000022 ' 000022 ' 016502 LET R2 000002 ·- DECBUF(R5) ;+ ; IF FIRST CHARACTER IS OR , SET ;ABORT FLAG , 000(;26 ' 000026' 121127 000032; 001403 000034' 121127 000040 ' 001004 000042' 000042' 000042' IFB ( R1) EQ #C~ ORB ( R1 ) EO #RUBOUT THEN 000015 000177 50002$: LET ABORT(R5) 012765 00C050 ' 000050 ' 000441 000001 000004 ELSE .- #1 MACY11 30A(1052) 2.0-SE?-78 17:44 CMDCPY - COMMAND COPY CMDCPY FiOUTINE 28-JUL-78 09: 12. CMDCPY.MAC (3 ) 627 628 529 630 (4 ) (6 ) (9 ) 633 034 635 636 637 638 (6 ) (9) 639 (4 ) 640 (2 ) 641 (4 ) ( 3) 642 643 644 645 646 647 648 (6) ( 9) 649 (6 ) 650 (4 ) (6) (9 ) 651 (6 ) 652 (6) 653 (4) (3 ) 654 655 (4 ) (3) 65G 657 658 659 660 SEQ 0330 50003$: 000052' ;+ ;ELSE GO THROUGH INPUT STRING UNTIL END , 631 632 PAGE 1S-3 000052' 000052' 000052' 020167 000056' 103026 WHILE R1 LO CM.KSIZ DO 50005$: CMP BHIS 177722 R1,CM.KSIZ 50003$ ;-i- ; I F CHARACTER IS ~U, SET ABORT FLAG, RESTORE REGISTERS, AND RETURN , 000060' 000060' 000064' 000066' 000066' 000074' 000074' 000076' 000076' 000100' IFB ( R1) EQ #CTRLU THEN 121127 001005 000025 012765 000001 LET A60RT(R5) 00C004 INLINE
000427 ELSE 000415 50007$: ;+ ;ELSE IF CHARACTER IS , LOOK FOR NEXT RU30UT AND ;5ACK UP DECODE BUFFER POHITER AS FAR AS NECESSARY ;000100' 00:)100' 000104' 000106' 000106' 000110' OCCi10' 000110' 000114' 000116 ' 000116' 000120' 000120' 000122' 000122' 000124' IFB ( R1) EO #RUBOUT THEN 121127 001010 000177 LET R1 005201 121127 001403 .- R1 + #1 WHILEB t R1) NE #RUBOUT DO 50012$: 000177 005302 005201 LET R2 .- R2 - #1 LET R1 .- R1 + #1 ENDDO 000772 50013$: ELSE 000124' 000124' 000401 000126 1 50011$: ;+ ;ELSE COpy CHARACTER FROM INPUT BUFFER TO DECODE BUFFER AND ;INCREiv:ENT DECODE BUFFER POINTER ;- (;MDCPY - COMMAND COpy MACY11 30A(1052) 20-SEP-78 17:44 CMDCPY ROUTINE 28-JUL-78 09: 12 CMDCPY.MAC 661 662 (4 ) G63 (4 ) 664 665 66'3 667 668 669 (6 ) 670 671 (4 ) 672 (4) (3) 673 674 675 676 677 678 679 680 681 682 (6 ) 683 (6) ( 9) 684 (4 ) 685 (4 ) 686 687 688 (4 ) 689 690 691 692 693 (2 ) 694 (3 ) 69S 696 ( 3) (3 ) (2 ) 697 000126' 000126' 000130' 000130' PAGE 19-4 SEQ 0331 LET (R2)+ : B= (R 1 ) 1 1 1 122 MOVB (R1),(R2)+ INC R1 BR 50005$ SUB #2,R2 CM? BriI R2,DECBUF(R5) 50015$ MOV #1,ABORT(R5) ENDIF 50014$: ;+ ;GET NEXT INPUT SUFFER CHARACTER , OC0130' 000130' LET R1 .- R1 + #1 005201 ENDIF 000132' 000132' 000132' 000132' 000747 000134' 50010$: ENDDO 50006$: ;+ ; IF THE ENTIRE INPUT STRING WAS RUBBED OlIT, SET THE ABORT FLAG ;(FIRST, BACK UP THE DECODE BUFFER POINTER TO ALLOW ;FOR THE CR AND LF, THEN SEE IF THE POINTER IS AT THE ;BEGINNING OF THE BUFFER.) , C00134' 000134' 162702 000140' 000140' 020265 000144' 101003 000146' 000146' 012765 000154' 000154' LET R2 000002 .- R2 - #2 IF R2 LOS DECSUF(R5) THEN 000002 LET ABORT(R5) 000001 .- #1 000004 ENDIF 5001S$: ENDIF 000154' 000154' 50004$: ;+ ;RESTORE REGISTERS AND RETURN , 000154' 000154' 000154' 000154' 004767 000160' 000160' 000160' 000160' 000207 000001 INLINE <1$:> 1 $: CALL RESREG OOOOOOG JSR PC,RESREG RTS PC ENDRTN 50000$: 50001$: . END - 20-SEP-78 17:44 MACY 11 30A(1052) CMDCPY COMMAND COpy SYMBOL TABLE 28-JUL-78 09: 12 CMDCPY.MAC ABORT = 000004 ACS~ 000102 ACTSlT= 004000 !\DDR22 = 001000 ADR 000006 APTFER= 000004 APTPRE= 000200 ASB 000106 f,SSEMB= 000010 I\STAT = 000104 ,;UTO 000010 ,\UTJST= 020000 J\~;JAS 000110 l1I T J 000001 ~n TOO 000001 UIT01 000002 F3I T02 000004 :31T03 000010 8ITJ4 000020 :3IT05 OC0040 [3IT06 OC0100 BIT07 OC0200 [3 IT 08 000400 :31 T 09 001000 8IT1 000002 i3IT 1 0 002000 aIT11 OC4000 [3 IT 12 010000 :3 I T 13 020000 3IT14 040000 :3IT15 100000 3IT2 000004 31T3 000010 !3I T4 000020 3115 000040 000,00 SIT6 3117 000200 000400 3IT8 8IT9 001000 :3KDEF 000002 SKrliOD 000020 BKMODE= 040000 :3KS LSH= 000134 CAPRES= 000004 ':::ASTAT= 000004 CDERCT= 000146 CD"'~DCT = 000144 CKTIM = 10~000 CLKPRE= 000001 CMDCPY 0OOO02RCi CM.KSI OOOOOOR CONFIG= 000056 CQOVF = 000001 CR CSRA CSRC CTRLC CTRLO CTRLU DCEVNT= DECBUF= DEFRTN= DI AGr.1C = DROPMO= DSEVNT= DT.ADD= DT.A? = DT.APK= DT.BLS= DT.CFO= DT.CF1= DT.ERK= DT.ESI= DT.EVN= DT.EXS:: DT.FCH= DT.FCN= DT.HMX= DT.KBE= DT.KBP= DT.KBR= DT.KBU= DT.MLS= DT.MT1= DT.OFF= DT.PAS= DT.PC = DT.PFL= DT.PSW= DT.PTA= DT.RCS= DT.REL= DT.SCT= DT.SMX= DT.SP = DT.SS1= DT.STO= DT.ST1= DT . SvJR= DT.SYP= DT.WBU= DT.WHL= DT.WLL= DVID1 = ECCMEM= ECCSTA= 000015 000100 000102 000003 000017 000025 000011 000002 000400 000000 100000 000014 000042 000100 000076 000034 000014 000016 000020 000044 000000 000060 000037 000036 000104 000024 000026 000022 000030 000032 000110 000070 000074 000002 000062 000004 000064 000102 000040 000066 000106 000006 000046 000010 000012 000056 000072 000050 000054 000052 000014 000100 000010 ENBEOP= ENBNUL= ENDLST= EOPBIT= ERRTYP= EVNTBE= EVNTHD= EVNTKT= EVNTPE= EVNTRE= FATERR= HRDCNT= HRDPAS= ICONT = ICOUNT= IDNUM = IE INDPAR= INH8RP= INHEPR= INHREL= INHRRE= INIT INTR IOMOD IOMODP= IOMODR= IOMODX= JACK KIPARO= KIPAR1= KIPAR2:; KIPAR3= KIPAR4= KIPAR5= KIPAR6= KIPAR7= KIPDRO= KIPDR1= KIPDR2= KIPDR3= KIPDR4= KIPDR5= KIPDR6= KIPDR7= KTERRO= KTPRES= KTSTAT= KTXTND= LF LPSTAT= MAPSTA= MED PAGE 20 SEQ 0332 010000 000001 000000 000001 000106 000200 000200 000203 000202 000201 100000 000044 000050 000036 000040 000122 000100 000040 OLlOOOO 020000 001000 000400 000030 000120 100000 102000 112000 110000 035060 172340 172342 172344 172346 172350 172352 172354 172356 172300 1723(.2 172304 172306 172310 172312 172314 172316 000040 000400 000020 040000 0000-,2 000001 000200 076600 MEMPAS= MODEXH= MODHOL= MODSEL= MSGCKD= MSGCKS= MSGDER= MSGDRP= MSGECH= MSGEOP= MSGHDR= MSGHNG= MSGHRD= MSGMAP= MSGNUL= MSGPOP= MSGPRM= MSGRES= MSGSFT= MSGSKE= MSGSMi3= MSGS:\1H= MSGSMS= MSGSTD= MSGSYS= MSGVEC= NBKMOD= NCPUOP= NOAPTY= NULL OV.HIK= OWEN PAERR = PARPRE= PARSTA= PASCNT= PDPLSI= PDP60 PDP70 PRIO PR11 PRI4 PRI5 PRI6 PRI7 PRO PR4 PR5 PR6 PR7 PS PSW RANNUM= 040000 OO·-lOOO 002000 001000 000010 000011 000005 000017 177777 000013 000004 000022 000007 00J021 177775 000002 177776 000001 000006 000003 00')015 000014 000016 000000 00J012 00,)020 001000 00')020 000002 000000 ****** G 024020 000010 00:2000 000100 000034 020000 004000 010000 000000 000040 000200 000240 000300 000340 000000 000200 000240 00J300 000340 177776 177776 000054 RBLlFEA= RBUFPA= RSUFSZ= RSUFVA= RDSERV= RD',vHJ11 = RELERR= RELMOD= REL TIM= RESREG= RES, R::S2 RICHAR= RPTDAT= RSTRT = RLJBOUT= RUN~,iOD= F15V ALU= SAN: SAVREG= SBADR = SBKMOD= SBKSEL= SC.ADR= SC.ALC= SC.APC= SC.CKL= SC.CKP= SC.CLO= SC.HLD= SC.SCA= SENDLS= SOFCNT= SDFiJAS= SPACE = SPOINT= SPVALU= SRO SRl SR2 SR3 STAT STATBI= STATl = SUSPND= SVRC SVR1 SVR2 SVR3 SVR4 SVR5 SVR6 SYSCNT= 000130 000126 000132 000124 000101 000022 000020 020000 010000 ****** 000056 G 000060 031060 002000 000112 000177 100000 001740 075464 *****-1< G 000102 000000 010000 000006 000014 0000 oj 6 000002 000004 000000 000010 000012 177777 000042 000046 000040 000032 002200 177572 177574 177576 172516 000026 064757 000027 000001 000062 000064 000066 000070 000072 000074 000076 000052 Cf\''lD~: PY - COMMAND COpy 20-SEP-78 MACY 11 30A(1052) 17:44 SYMBOL TABLE CMDCPY.MAC 28-JUL-78 09: 12 SYSERr-= TAB:'" ~MPIO = TOO'JF = LJIPARO= UIP.l.R1= UIPAR2= UIPAR3= UIPAR4= UIPAR5= lJIPAR6= LJIPAR7= lJIPDRC= UIPDR1= UIPDR2= UIPJR3= UIPJR4= UIPDR5= lJIPDR6= UIPDR7= WASADR= 000100 000000 000002 000002 177640 177642 177644 177646 177650 177652 177654 177656 177600 177602 177604 177606 177610 177612 177614 177616 000104 A.BS. 000000 000162 WBSTAT= WBUFEA= WBUFPA= WBUFRQ= vJBUFSZ= WDFR WDTO WTINRE= WTWHMI= XFLAG = XOFF XON $BGNLE= $ERFLG= $F$A~D= $F$BAD= $F$BLA= $F$CAS= $F$DEC= $F$DO = !SF$FAL= 000040 000136 000134 000140 000142 000116 000114 000352 000222 000005 000023 000021 177777 000400 000310 000401 000170 000150 000220 000340 000405 000 001 ERRORS DETECTED: 0 DEFAULT GLOBALS GENERATED: 0 DSKZ:CMDCPY,DSKZ:CMDCPY=SPMAC/ML,EQUATE,CMDCPY RUN-TIME: 14 4 .4 SECONDS RUN-TIME RATIO: 39/19=1.9 CORE USED: 14K (27 PAGES) $F$GOO= $F$IF = $F$INC= $F$LOO= $F$NAM= $F$NO ;:: $F$OR = $F$RTI= $F$R1N= $F$SEL= $F$THE= $F$TRU= $F$UNT= $F$~ OUT A=DECODE BUFFER ADDRESS B=UPDATED DECODE BUFFER POINTER C=COMMAND CODE VERSION: 0.0 EDIT BY DATE REASON CMD~CD - DECODE COMMAND MACY11 30A(1052) 20-SEP-78 17:45 PAGE 19-1 CMDDCD.MAC 28-JU~-78 09:12 COMMON DEFINITIONS AND REFERENCES 554 555 556 '357 558 559 (1) 560 561 SEQ 0336 .SBTTl COMMON DEFINITIONS AND REFERENCES 000000 000000 1 1 000001 000001 .MCAll STRUCT STRUCT .PRINT ;SPMAC: VERSION 1.1 $lSTIN=l $lSTTAG=1 562 563 564 :365 563 567 563 569 570 571 572 ;******~********* ; REFERENCED BY OTHER MODULES .GLOBl CMDDCP ;MODULE ENTRY POINT ;*****~********** , 573 574 575 ; GLOBAL REFERENCES 57£ .GLOBl 577 578 579 ;**************** , CM.TBl ;VAlID COMMAND TABLE CMDDCD - DECODE COMMAND MACY1, 30A(1052) 20-SEP-78 17:45 CMDDCD.MAC 28-JUl-78 09:12 CMDGCD ROUTINE 581 582 583 584 (2) 585 586 587 588 :389 590 591 (2) (3) 592 593 S94 595 596 597 (4) 596 599 600 601 602 603 (4) PAGE 19-2 SEQ 0337 .SBTTL CMDDCD ROUTINE .EVEN ROUTINE CMDDCD 000000' 000000' CMDDCD: ;+ ;SAVE REGISTERS PUSH R1,R2 000000' 000000' 010146 000002' 010246 ;+ ;LET R1 000004' 000004' 012701 LET R1 MOV MOV R1,-(SP) R2,-(SP) MOV #CM.TBL,R1 CLR CDCODE(R5) MOV DECBUF(R5) tR2 CMPB BNE (R2) ,#SPACE 50004$ INC R2 BE THE POINTER FOR THE VALID COMMAND TABLE .- #CM.rBL OOOOOOG ;+ ;SET THE COMMAND CODE TO 0 000010' 000010 1 005065 LET CDCODE(R5) '- #0 000004 6004 60S ;+ ;GO THROUGH THE VALID COMMAND TABLE UNTIL THE END 506 607 608 609 610 (3) 611 612 613 614 615 616 (4) 617 618 619 620 REPEAT 000014' 000014' 50002$: ;+ ;LET R2 BE THE DECODE BCFFER PCINTER 000014' 000014' 016502 LET R2 .- DECBUF(R5) 000000 ;+ ;FIND THE FIRST CHARACTER IN THE DECODE BUFFER THAT ;IS NOT A SPACE 62~ 62~ 623 (4) (6) (9; 624 (6) 625 000020' 000020' 000020' 121227 000e24' 001002 000026' 000026' 005202 000030' WHILEB (R2) EO #SPACE DO 50003$: 000040 LET R2 .- R2 + #1 ENDDO 20-SEP-78 17:45 CMD)CD - DECODE COMMM"D MACY 11 30A(1052) CMDDCD ROUTINE OfoD)CD _MAC 28-JUL-78 09: 12 (4) (3 ) 626 627 628 629 630 631 632 (4 ) (6) ( 9) 633 000030 ' 000773 000032 ' (6) 005201 (3 ) 000O~4' 636 63/' 638 539 640 641 642 643 (6) ( 9) 644 645 (6 ) (8) (6) (9) ( 6) 646 ( 2) 647 (4 ) 648 649 (4 ) 650 651 652 653 654 655 656 (4 ) (6 ) ( 9) 657 (6) 658 BK 50003$ CMPB BNE (P.1), (R2) 50006$ INC R1 It~C R2 BR 50005$ TSTB BNE ( R1 ) 50007$ CMPB BEO CMPB BNE (R2),#SPACE 50010$ (R2),#CR 50011$ BR 1$ TSTB SEQ (R 1 ) 50013$ INC R1 50004$: , 635 (4) (6) SEO 0338 ;+ ;COMPARE CHARACTERS OF VA LI D COMr~lAND TO CHARACTERS IN ;DECODE BUFFER UNTIL A MISMATCH IS FOUND 000032' 000032' 000032' 000034' 000036' 000036' 000040' 000040 ' 000042 ' 000042' 63~ PAGE 19·-3 WHILEB ( R1) EO (R2) DO 121112 001003 LET R1 LET R2 ··- 50005$: R1 + #1 R2 + #1 005202 ENDDO 000773 50006$: ;+ THEN CHECK IF AT IF YES, ;END OF DECODE COMMAND. ;SAVE DECODE BUFFER POINTER; SAVE REGISTERS, AND RETURN , ; IF AT THE END OF A VALID COMMAND, IFB ( R1 ) EO #0 THEN 000044 ' 000044' 105711 OC,0046 ' 001007 000050' 000050' 121227 000054' 001403 OC0056' 121227 000062' 001001 000064' 000064' 000064' 000415 000066' 000066' IFB (R2) EO #SPACE ORB (R2) EO #CR THEN 000040 000015 50010$: INLINE
ENDIF 50011$: ENDIF 000066! 000066' 50007$: ;+ ;ELSE THE COMMANDS DID NOT MATCH, SO INCREMENT THE COMMAND CO)E ;AND GET THE NEXT VALID CO~MAND FROM THE TABLE , 000066' 000066' OC0066' 105711 000:)70' 001402 000072' 000072' 005201 000074' WHILES ( R1 ) NE #0 LET R1 ENDDO ·- no 50012$: R1 + #1 PAGE 19-4 (MDDCD - DECODE COMMAND MACY11 30A(1052) 20-SEP-78 17:45 CMDDCD ROUTINE 28-JLJ~-78 09: 12 CMDDCD.MAC (4 ) ( 3) 659 660 661 (6) 662 363 (6) 664 665 666 667 368 669 (3 ) (6) 670 671 672 673 674 675 676 (4 ) 677 678 679 680 681 682 (2 ) 683 (4) 684 685 686 687 688 689 690 ( 2) (3 ) 691 69~ (3 ) (3) (2 ) 693 694 695 696 697 698 699 000074 000076 1 000774 BR 50012$ INC CDCODE(R5) INC R1 CMPB BNE (R1),#-1 50002$ MOV #-1,CDCODE(RS) 50013$: 1 00C076 1 000076 1 005265 SEQ 0339 LET CDCODE(R5) 000004 LET R1 000102 1 000102 1 005201 ·- .- CDCODE(R5) + #1 R1 + #1 ;+ ;END OF TABLE YET? , 000104 000104 000110 UNTILB ( R1) EQ #-1 1 1 1 121127 001341 177777 ;+ ILLEGAL COMMAND ;YES ;SET COMMAND CODE TO -1 - , 000112 000112 LET CDCODE(R5) 1 1 012765 177777 000004 ·- #-1 ;+ ;SAVE THE DECODE BUFFER POINTER , 000120' 000120' 000120' 000120' 010265 INLINE <1$:> 1 $: LET DSFPTR(R5) 000002 ·- R2 MOV R2,DBFPTR(R5) MOV MOV (SP)+,R2 (SP)+,R1 RTS PC ;+ ;SAVE REGISTERS AND RETURN , 000124' 000124' 012602 000126' 012601 POP R2,R1 000130' 000130' 000130' 000130' 000207 ENDRTN ;+ ;VALID COMMAND TABLE , 000001 . END 50000Jj: 50001$: - :;:'0-SEP-78 17:45 CMDOCD D~CODE COMMAND MACY 11 30A(1052) SYMBOL TABLE CMDOCD.MAC 28-JUl-78 09: 12 ACSrt ACTBIT= ADDR22= ADR APTFER= APTPRE= ASB ;"SSEMB= ASTAT = AUTO AUTOST= {:,I'iAS BITO BITOO BIT01 BIT02 81T03 3IT04 GIT05 BIT06 BIT07 :3IT08 GIT09 BIT1 BIT10 8IT11 81T12 8IT13 3IT14 SIT15 81T2 8IT3 GIT4 BITS ~3 IT 6 f3 I T7 JITS BIT9 BI\DEF 8KMOD 3KMODE= BKSLSH= CAPRES= CASTAT= CDCODE= CDERCT= CDwDCT= CKTIM = CLKPRE= CMDDCD CM.TBL= CONFIG= 'CQOVF = 000i02 004000 001000 000006 000004 000200 000106 000010 000104 000010 020000 000110 000001 000001 000002 000004 000010 000020 000040 000100 000200 000,100 001000 000002 002000 004000 010000 020000 040000 100000 000004 000010 000020 000040 000100 000200 000400 001000 000002 000020 040000 000134 000004 000004 000004 000146 000144 100000 000001 OOOOOORG ****** G 000056 000001 CR CSRA CSRC CTRLC eTRlO CTRLU DBFPTR= DCEVNT= DECBUF= DEFRTN= DIAGMC= DROPMO= DSEVNT= DT.ADD= DT.AP = DT.APK= DT.BLS= DT.CFO= DT.CF1= DT.ERR= DT.ESI= DT.EVN= DT.EXS= OT.FCH:.: DT.FCN= DT.HMX= DT.KBE= DT.KBP= DT.KBR= DT.KBU= DT.MLS= DT.MTI= DT.OFF= DT.PAS= DT.PC = DT.PFL= DT.PSW= DT. PT A= DT.Res= DT.REL= DT.SCT= DT.SMX= DT.SP = DT.SS1= D1.STO= DT.ST1= DT.SWR= OT.SYP= DT.WBU= DT.WHL= DT.WLl= DVID1 = ECCMEM= 000015 000100 000102 000003 000017 000025 000002 000011 000000 000400 000000 100000 000014 000042 000100 000076 000034 000014 000016 000020 000044 000000 000060 000037 000036 000104 000024 000026 000022 000030 000032 000110 000070 000074 000002 000062 000004 000064 000102 000040 000066 000106 000006 000046 000C10 000012 000056 000072 000050 000054 000052 000014 000100 ECCSTA= ENBEOP= ENBNUL= ENDLST= EOPBIT= ERRTYP= EVNTBE= EVNTHD= EVNTKT= EVNTPE= EVNTRE= FATERR= HRDCNT= HRDPAS= IeONT = IeOUNT= IDNUM = IE INDPAR= INHDRP= H~HEPR= INHREL= INHRRE= INIT INTR 10MOD 10MODP= IOMODR= IOMODX= JACK KIPARO= KIPAR1= KIPAR2= KIPAR3= KIPAR4= KIPAR5= KIPAR6= KIPAR7= PAGE 20 000010 010000 000001 000000 000001 000106 000200 000200 000203 000202 000201 100000 000044 000050 000036 000040 000122 000100 000040 040000 020000 001000 000400 000030 000120 100000 102000 112000 110000 035060 172340 172342 172344 172346 172350 172352 172354 172356 ~~IPD~O= ~72300 KIPDR1= KIPDR2= KIPDR3= KIPDR4= KIPDR5= KIPDR6= KIPDR7= KTERRO= KTPRES= KTSTAT= KTXTND= LF LPSTAT= MAPSTA= 172302 172304 172306 172310 172312 172314 172316 000040 000400 000,)20 040000 000012 000001 000200 SEQ 0340 MED MEMPAS= MODEXH= MODHOL= MODSEL= MSGCKD= MSGCKS= MSGDER= MSGDRP= MSGECH= MSGEOP= MSGHDR= MSGH;\JG= MSGHRD= MSGMAP= MSGNUL= MSGPOP= MSGPRM= MSGRES= MSGSFT= MSGSKE= MSGSrvlB= MSGSMH= MSGSIV1S= MSGSTD= MSGSYS= MSGVEC= NBKMOO= NCPUOP= NOAPTY= NULL OvJEN PAERR PARPRE= PARSTA= pt.,seNT= PDPLSI= PDP60 PDP70 PRIO PRI1 PRI4 PRI5 PRI6 PRI7 PRO PR4 PR5 PR6 PR7 PS PSW RANNUM= 07G600 040000 004000 002000 001000 000010 000011 00C005 000017 177777 00C013 000004 000022 000007 000021 177775 000002 177776 00nC01 000006 000003 000015 000014 000016 000000 000,)12 000020 001000 000020 000002 000000 024020 000G10 002000 000100 000034 020000 004000 010000 000000 000040 000200 000:240 000300 00·:)340 000000 000200 000240 000300 000340 177776 177776 OOQ054 RBUFEA= RBUFPA= RBUFSZ= RBUFVA= RDSERV= RCo'/! Hf'll I = RELERR= RELI\10D= REL TIM= RES1 RES2 RICHAR= RPTDAT= RSTRT = RUSOUT= R:.JNMOD= R5VALU= SAM SBADR = S BK~~;OD= SBKSE L= SC.ADR= SC.ALC= SC.A.PC= SC.CKL= S:.CKP= SC.CLO= SC.HLD= SC.SCA= SENDLS= SOFCNT= SClFPAS= S?ACE = S?OINT= S?VALU= SRO SR1 SR2 SR3 STAT STAiBl= ST AT1 = SUSPND= S\JRO S\lRI SVR2 SVR3 SVR4 SVRS SVR6 SYSCNT= SYSERR= TMPIO = 000130 000126 000132 000124 000101 000022 000020 020000 010000 000056 000060 031060 002000 000112 000177 100000 00174) 075464 000102 000000 010000 000006 00JO'i4 000016 000002 000004 000000 000010 000012 177777 000042 000046 000040 000032 002200 177572 177574 177576 172516 000026 064757 000027 000001 000062 000064 000066 000070 000072 000074 000076 000052 000100 000002 CMDDCD - DECODE COMMAND MACY1, 2H-JUL-78 09: 12 CMDJCD.MAC TQO'JF = UIPARO= UIPAR1= LJ1 D AR2= ulPAR3= UIP~R4= UIPAR5= UIPAR5= UIPAR7= UIP:lRO= UIP)R1= UIP0R2= LJIPJR3= UIPDR4= LJIPJR5= UIPDRE= LJIPDR7= \'JASADR = vj8STAT= ABS. WBUFEA= WBUFPA= WBUFRQ= WBUFSZ= WDFR WDTO WTINRE= WTWHMI= XFLAG = XOFF XON $BGNLE= $ERFLG= $F$AND= $F$BAD= $F$BLA= $F$CAS= $F$DEC= $F$DO = 000002 177640 177642 177644 177646 177650 177652 177654 177656 177600 177602 177604 177606 177610 177612 177614 177616 000104 000040 000000 000132 30A(1052) 20-SEP-78 17:45 SYMBOL TABLE 000136 000134 000140 000142 000116 000114 000352 000222 000005 000023 000021 177777 000400 000310 000401 000170 000150 000220 000340 000 001 ERKORS DETECTED: 0 DEFAULT GLOBALS GEt'OERATED: 0 DSKZ:CMDDCD,DSKZ:CMDDCD=SPMAC/ML,EQUATE,CMDDCD RUN-TIWE: 14 4 .4 SECONDS RUN-TIIY.E RATIO: 37/18=1.9 ceRE USED: 14K (27 PAGES) $F$FAL= $F$GOO= $F$IF = $F$INC= $F$LOO= $F$NAM= $F$NO = $F$OR = $F$RTI= $F$RTN= $F$SEL= $F$THE= $F$TRU= $F$UNT= $F$WHI= $F$YES= $IFLE'.J= $ISKO = $ISKl = PAGE 20-1 SEQ 0341 00C405 000400 000110 000210 000200 000160 000403 000320 000350 000300 000140 000330 000404 000130 000120 000402 177777 000001 000001 $LOCTA== $LSTIN= $LSTTA= $NESTL= $NSKO $r~SK 1 = $NSK2 = $NSK3 = $SAVLE= $SSKO = $TAGLE= $TAGNU= $TEMP $TSKO = $TSK1 = $TSK2 = $$ARGC= $$BYTE= $$CASE= 177777 000001 000001 177777 000300 000130 000120 000110 177777 050013 177777 050014 000300 05,')002 050012 050013 000006 000402 000000 $$i)ST == $$ELOC= $$ERFL= $SFLAG= $$F~OM= $$LOC = $$LOCN= $$REG = $Sr::ETU= $$RTN1= $SRTN2= $$SRC = $$TGSV= $iTGS1= $$TGS2= $$TO $$$TAG= 000000 000402 000000 000340 000000 000110R 000000 177777 000000 050000 050001 000000 000000 000000 000000 000000 050000 000132R .MAIN. MACY11 30A(1052) 20-SEP-78 13-SEP-78 16:13 EQUAT~.MAC 3 553 558 622 17:46 TABLE OF CONTENTS COMMON EQUATE MODULE COMMON DEFINITIONS AND REFERENCES 000000 1 .PRINT CMDPRC ROUTINE ;SPMAC: VERSION 1.1 SEQ 0342 CMDPRC - PROCESS KEYBOARD COMMAND CMDPRC.MAC 06-SEP-78 14:32 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 54::> 541 MACY11 30A(1052) 2C-SEP-78 COMMON EQUATE MODULE 17:46 PAGE 19 SEQ 0343 .TITLE CMDPRC - PROCESS KEYBOARD COMMAND .IDENT JVO.Oj ;++ MODULE NAME: CMDPRC FUNCTIONAL DESCRIPTION: CONTROLS THE DECODING AND PROCESSING OF KEYBOARD COMMANDS BY IDENTIFYING THE COMMAND AND THEN CALLING THE PROPER SERVICE ROUTINE INPUTS: DATA TABLE ADDRESS IMPLICIT INPUTS: NONE OUTPUTS: NONE IMPLICIT OUTPUTS: NONE PATHOLOGICAL CONNECTIONS: NONE SUBORDINATE MODULES CALLED: CMDCPY, CMDDCD, CMDRST, ALL COMMAND SERVICE ROUTINES SAVRES RESREG FUNCTIONAL SIDE EFFECTS: NONE 54L 543 544 545 546 547 548 549 550 551 CALLING SEQUENCE: CALL CMDPRC IN
A=ADDRESS OF DATA TABLE VERSION: 0.0 EDIT BY DATE REASON CMDPRC - PROCESS KEYBOARD COMMAND CMDPRC.MAC 06-SEP-78 14:32 553 554 555 556 557 558 ( 1) 559 560 MACY11 30A(1052) 20-SEP-78 17:46 COMMON DEFINITIONS AND REFERENCES PAGE 19-1 SEQ 0344 .SBTTL COMMON DEFINITIONS AND REFERENCES .MCALL STRUCT STRUCT .PRINT ;SPMAC: VERSION 1.1 $LSTIN=1 $LSTTAG=1 000000' 000000' 000001 000001 561 562 563 564 565 566 ;**************** ; REFERENCED BY OTHER MODULES 567 568 569 .GLGBl .GL08l .GL08l .GLDBl .GLOBl .GlOBL .GLOBl .GlOBL 570 571 572 573 57.:i 575 576 CMDPRC CM.BADNAME CM.ARG CM.NUM CM.ODD CM.RUN CM.ADR CM.NBAD ;MODULE ENTRY POINT - MESSAGES 577 ;**************** 578 579 380 581 582 ; GLOBAL REFERENCES .GL08L .GLOBl .GLUBl .GlGBl .GL08l .Gl..OBL 583 584 585 586 587 58E: 589 ;COMMAND ;COMMAND ;COMMAND ;COMMAND CMDCPY CMDDCD CMDR5T CM.DIS SAVREG RESREG COpy MODULE ENTRY POINT DECODE MODULE ENTRY POINT RESET MODULE ENTRY POINT DISPATCH TABLE ;**************** 590 591 .;**************** 592 ; LOCAL EQUATES: 593 59'-1 ;BUFFER SIZE 82 (10) BYTES ;MUST ALWAYS=KEYBD. aUF SIZE CM.BUFSIZ=~D<82> 000122 595 596 597 598 599 ;**************** 600 . ; lOCAL STORAGE: 601 602 603 604 605 606 000000 1 000002' 000004' 000006 1 000014' 000000 oooeoe 000000 047111 020104 040526 047515 044514 052504 CM.ABORT: CM.CDCODE: CM.DBFPTR: CM.BADNAME: .WORD 0 ;ABORT FLAG .WORD 0 ;COMMAND CODE .WOr-D 0 ;DECODE BUFFER POINTER .ASCIZ /INVAlID MODULE NAME%/ ; - MESSAGES MACY'1 30A(1052) 20-SEP-78 17:46 COMMON DEFINITIONS AND REFERENCES CMDPRC - PROCESS KEYBOARD COMMAND CMDPRC.MhC OG-SE?-78 14:32 607 609 609 610 611 6~3 614 615 616 617 618 619 620 000022' 042514 000030' 022505 111 000033' 042111 OOOO'~O' 000046' 044515 000054' 020107 000062' 042515 OOO,}70' 052516 000076' 052040 OC0104' 051101 000112 ' 052515 000120' 020105 000126' 040440 000134' 051523 000140' 047111 020104 C001~6' OCOI54' 047101 000162' 051040 000170' 042117 1 11 000175' 000202' 042111 000210' 042522 000216' 047516 000224' 047440 000232' 0·17040 000240' 022522 111 000243' 0(0250' 0421 11 000256' 0~()515 040 000264' 000265' 000122 000 000407' 000 000410' 000412' 047040 000 053116 047440 051523 051101 052116 041115 047517 042507 052123 053105 042104 UOO045 040526 047503 020104 047125 022505 053116 040440 051523 020124 052103 046525 000 053116 041440 042116 PAGE 19-2 SEQ 0345 046501 046101 020122 0471 1 1 052507 000045 051105 046040 000045 041040 047105 042522 CM.ARG: .ASCIZ /INVALID OR MISSING ARGUMENT%/ CM.NUM: .ASCIZ /NUMBER TOO LARGE%/ CM.ODD: .ASCIZ /MUST BE EVEN ADDRESS%/ 044514 046515 0471 11 046440 CM.RUN: .ASCIZ /INVALID COMMAND IN RUN MODE%/ 046101 042104 000045 047101 046101 042502 CM.ADR: .ASCIZ /INVALID ADDRESS%/ CM.NBAD: .ASCIZ /NOT AN OCTAL NUMBER%/ 046101 046517 026440 CM. HNCMD: .ASCII /INVALID COMMAND - / CM.DECBUF: .BYTE 0 .BYTE 0 .EVEN .BLKB CM.BUFSIZ ;KEYBOARD COMMAND DECODE BUFFER ;GUARANTEE 0 TERMINATION ceo ;**************** ***NOTE - ASCII INSTEAD OF ASCIZ - CMD;JRC PROCESS KEYBOARD COMMAND CMD,JRC. MAC 06-$EP-78 14:32 622 623 (2 ) 624 625 ,326 527 628 (3 ) 629 630 631 632 633 (4 ) 634 635 036 637 638 639 540 (4) 641 (4 ) (6) 642 (4) (6 ) (9 ) 643 (4 ) 644 (4 ) ( 3) 645 (4 ) 646 (4 ) 647 (4 ) 648 649 650 651 652 653 (4 ) (3 ) (5 ) (4 ) (3 ) (3 ) (4 ) 654 655 MACYll 30A(1052) CiVlLlPRC ROUTINE 20-SEP-78 17:46 PAGE 19-3 SEQ 0346 .SBTTL CMDPRC ROUTINE ROUTINE CMDPRC 000412' 000412' CMDPRC: ;+ ;SAVE REGISTERS , 000412' 000412' CALL SAVREG 004767 OOOOOOG JSR PC,SAVREG MOV TABL(R5),RO MOV # C[VI . DE. C BUF , R 1 MOV ADD Rl ,R2 #C:vI.BUFSIZ,R2 CMPS BEQ Rl , R2 50003$ CLRS (R1 )+ BR 50002$ CLR CM.ABORT CLR CM.CDCODE CLR CM.DBFPTR SUB MOV #1>1-2,R5 R5,-(SP) #CM.DECBUF,-(RS) RO,-(R5) PC,CtJlDCPY (SP)+,R5 (R5)+,CM.ABORT ;+ ;SET RO TO START OF DTABLE 000416' 000416' 016500 , LET RO 000000 ·- TABL(R5) ;+ ;CLEAR THE DECODE BUFFER AND LOCAL STORAGE WORDS , 000422' 000422' 012701 000426' 000426' 010102 000430' 062702 000434' C()0434' 000434' 120102 000436' 001402 000440' 000440' 105021 000442' 000442' 000774 C00444' 000444' 000444' 005067 000450' 0()0450' 005067 000454' 000454' 005067 LET Rl 000265' LET R2 ··- #CM.DECBUF R1 + #CM.BUFSIZ 000122 WHILES Rl NE R2 DO 50002$: LET (R 1 ) + :B= #0 ENDDO . - #0 CM.CDCODE .- #0 CM.DBFPTR .- #0 LET CM.ABORT 177330 LET 177326 LET 177324 50003$: ;+ ; COpy INPUT BUFFER INTO DECODE SUFFER , 000460' 0(';0460 ' 000464' OOO·~66 ' OC0472' 000474' 000500' 000502' CALL CMDCPY IN OUT 16270:; 010546 01274::; 010045 OJ4767 000002 r;~ov 000265' Mev JSR OOOOOOG M'JV M0V 01~605 012567 177272 ;+ CMD?RC - PROCESS KEYBOARD COMMAND CMDPRC.MAC 06-SEP-78 14:32 656 657 658 659 (6) (9) 660 661 :362 663 (4) (3) (4) (3) (3) (4) (4) 664 665 666 667 668 669 670 671 (6) (9) 672 673 (4) 674 675 (4) (3) 676 (4) (7) 677 (3) (5) (4) (3) (3) 678 (4) 679 (4) 680 681 682 683 684 685 686 687 (3) MACY11 30A(1052) CMDPRC ROUTINE .20-SEP-78 17:46 PAGE 19-4 SEQ 0347 ; IF ABORT FLAG NOT SET, DECODE COMMAND 000505' 000506' 026727 000514' 001436 000516' 000516' 000522' 000524' 000530' 000534' 000536' 000542' IF CM.A80RT NE #1 THEN 177266 000001 CMP BEQ CM.ABORT,#1 50004$ SUB MOV MJV JSR MJV MOV MOV #2~2,R5 CALL CMDDCD IN <#CM.DECBUF> OUT 162705 010546 012745 004767 012605 012567 012567 000004 000265' OOOOOOG 177242 177234 R5,-(SP) #C:'.1 . DEC BU F ,- (R5) ?C,CMDDCD (SP)+,R5 {R5)+,CM.DBFPTR (R5)+,CM.CDCODE ;+ , IF THERE WAS AN ERROR (CM.CDCODE=-1), THEN OUTPUT THE DECODE BUFFER ;ALONG WITH AN ERROR MESSAGE. IF THE COMMAND ;WAS VALID, DISPATCH CONTROL TO THE PROPER ROUTINE. IF CM.CDCODE EQ #-1 THEN 000546' 000546' 026727 000554' 001004 177230 000556' 000556' 012760 000243' 00002.2 000564' 000564' 000566' 000566' 000566 I 000572' 000574' 000574' 000576' 000502' 000604' 000510' 000612' 000612' 000612' 000612' 177777 LET DT .KBRSP(RO) CMP BNE CM.CDCODE,#-1 50005$ MOV #CM.INVCMD,DT.KB BR 50006$ MOV ASL CM.CDCODE,R1 R1 MOV MOV MOV JSR MOV R5,-(SP) CM.DBFPTR,-(R5) RO,-(R5) PC, @CM. 0 IS ( R 1 ) (SP)+,R5 MOV R5,-(SP) . - #CM.INVCMD ELSE 000412 50005$: LET R1 016701 006301 010546 016745 010045 004771 012605 := CM.CDCDDE SHIFT #+1 '77.210 CALL @CM.DIS(R1) IN 177.20.2 OOOOOOG ENDIF 50006$: ENDIF 50004$: ;+ ; CALL COMMAND RESET MODULE WHICH WILL OUTPUT PROMPT 000612' 000612' 010546 CALL CMDRST IN - CMDPRC PROCESS KEYBOARD COMMAND C(S-SEP-78 14:32 CMDPRC.MAC (4 ) (3 ) (3 ) 688 689 590 691 692 693 (3 ) 694 695 696 697 698 699 (3) (3 ) (2 ) 700 000614' 010045 000616' 004767 000622' 012605 MACY11 30A(1052) CMDPRC ROUTINE 20-SEP-76 17:46 PAGE 19-5 SEQ 0348 OOOOOOG MOV JSR MOV RO,-(R5) PC,CMDRST (SP)+,R5 JSR PC,RESREG RTS PC ;+ ;RESTORE REGISTERS , 000624' 000624' 004767 CALL RESREG OOOOOOG ;+ ;RETURN ;- 000630' 000630' 000630' 000630' 000207 000001 ENDRTN 50000S: 50001$: .END - O!,OPRC PROCESS KEYBOARD COMMAND 06-SEP-78 14:3:2 CMDPRC.MAC ACSR ACTBIT= ADDR2.2= ADR APTFER= APTPRE= ASB ASSEMB= ASTAT = t\UTO f\UTOST= {,V·JAS GITO f3ITOO f3ITOl GIT02 E3IT03 BIT04 BIT05 BIT06 BIT07 BIT08 BIT09 E3IT1 E3ITl0 UIT11 BlT12 B1T13 BIT14 GIT15 f3IT2 E3IT3 BIT4 BIT5 GlT6 131T7 tlITS 8IT9 6KDEF [)f\MOD B"MODE= BKSLSH= CAPRES= CASTAT= CDERCT= 000102 004000 001000 000006 000004 000200 000106 000010 000104 COO010 020000 000110 000001 000001 000002 000004 000010 000020 000040 000100 000200 000400 001000 000002 002000 004000 010000 020000 040000 100000 000004 000010 000020 000040 000100 000200 000400 001000 OCC002 000020 040000 000134 000004 000'J04 000146 CD~:DCT= 000144 CforM = 100000 CLKPRE= 000001 CMDCPY:: **"'*** G CMDDCD= >~***** G CMDPRC 000412RG CMCRST= ****** G CM.ABO OOOOOOR CM.ADR CM.ARG CM.BAD CM.BUF= CM.CDC CM.DBF CM.DEC CM.DIS= CM.INV CM.NBA CM.NUM CM.ODD CM.RUN CONFIG= CQOVF CR CSRA CSRC CTRLC CTRLO CTRLU DCEVNT= DEFRTN= DIAGMC= DROPMO= DSEVNT= DT.ADD= DT.AP = DT.APK= DT.BLS= DT.CFO= DT.CF1= DT.ERR= DT.ESI= DT.EVN= DT.EXS= DT.FCH= DT.FCN= DT.H~X= DT.KBE= DT.KBP= DT.KBR= DT.KBU= DT.MLS= DT.l\1TI= DT.OFF= DT.PAS= DT.PC = DT.PFL= DT.PSW= DT.PTA= DT.RCS= DT.REL= MACY 11 30A(1052) SYMBOL TABL.E 000175RG 000033RG 000006RG 000122 000OO2R 000004R 000265R ****** G 000243R 000216RG 00OO70RG 000112RG 000140RG 000056 000001 000015 000100 000102 000003 000017 000025 000011 000400 000000 100000 000014 000042 000100 000076 000034 000014 000016 000020 000044 000000 000060 000037 000036 000104 000024 000026 000022 000030 000032 000110 000070 000074 000002 000062 000004 000064 000102 000040 20-SEP-78 DT.SCT= DT.SMX= DT.SP = DT.SSI= DT.STO= DT.ST1= DT.SWR= DT.SYP= DT.WBU= DT.WHL= DT.WLL= DVIDl = ECCMEM= ECCSTA= ENBEOP= ENBNUL= ENDLST= EOPBIT= E::RRTYP= EVNTBE= EVNTHD= EVNTKT= EVNTPE= EVNTRE= FATERR= HRDCNT= HRDPAS= ICONT = ICOUNT= IDNUM = IE INDPAR= INHDRP= INHEPR= INHREL= INHRRE= INIT INTR TOMOD IOMODP= IOMODR= IOMODX= JACK KIPARO= KIPAR1= KIPAR2= KIPAR3= KIPAR4= KIPAR5= KIPAR6= KIPAR7= KIPDRO= KIPDR1= 000066 000106 000006 000046 000010 000012 000056 000072 000050 000054 000052 000014 000100 000010 010000 000001 000000 000001 000106 000200 000200 000203 000202 000201 100000 000044 000050 000036 00C040 000122 000100 000040 040000 020000 001000 COO400 000030 000120 100000 102000 112000 1 10000 035060 172340 17:2342 172344 1723'::6 172350 17235·2 172'354 172356 172300 172302 17:46 PAGE 20 KIPDR2= KIPDR3= KIPDR4= KIPDR5= KIPDR6= KIPDR7= KTERRO= KTPRES= KTSTAT= KTXTND= LF LPSTAT= MAPSTA= MED MEMPAS= MODEXrl= MODHOL= MODSEL= MSGCKD= MSGCKS= MSGDER= MSGDRP= MSGECH= MSGEOP= MSGHDR= rv'ISGHNG= MSGHRD= MSGMAP= MSGNUL= MSGPOP= MSGPEM= MSGRES= MSGSFT= MSGSKE= MSGSM8= MSc.;SfVlH= MSGSfJlS= MSGSTD= MSGSYS= MSGVEC= NBKMOD= ~~CPUCP= NOAPTY= NULL mIJEN PAERR PARPRE= PARSTA= PASCNT= PDPLSI= PDP60 PDP70 PRIO SEQ 0349 172304 172306 172310 17~312 172314 172316 000040 000400 000020 040000 000012 000001 000200 076600 040000 004000 002000 001COO 000010 000011 000005 000017 177777 000013 000004 000022 000007 000021 177775 000002 177776 000001 000006 000003 00:)015 000014 000016 OO·)COO 000012 000020 001eoo 000020 000002 000800 02·;020 000010 002000 000100 000034 020000 004000 010000 000000 PRI1 PRI4 PRI5 PRIG PRI7 PRO PR4 PR5 PR6 PR7 PS PSW R~.I\;NUM= RBUFEA= RBUFPA= R9UFSZ= RBUFVA= RDSERV= RDlIIHM 1= RELERR= RELMOD= REL TIM= RESREG= RES1 RES2 RICHAR= R?TDAT= RSTRT = RUBOUT= RUNMOD= R5VALU= SAM SAVREG= SBADR = SBKr"OD= SB!- 000200 000;60 000403 000320 000350 000300 000140 000330 17:46 PAGE 20-1 SEQ 0350 $F$TRU= $F$UNT= $F$WHI= $F$YES= $IFLEV= $ISKO = $ISK1 = $LOCTA= $LSTIN= $LSTTA= $t~EST L= $NSKO = $NSK1 = $NSK2 = $S.t.VLE= $SSKO = $TAGLE= $TAGNU= $TEIVP = $TSKO = $TSK1 = $$ARGC= 000404 000130 000120 000402 177777 000001 000001 177777 000001 000001 177777 000300 000110 000110 177777 05;)003 177777 05 Je07 000300 050004 05;)006 000002 $$8YTE= $$C4SE= $$CST = $SE LOC= $SERFL= $$FLAG= $$FROM= $$LOC = $$LOCN= $$REG = $$RETU= S;SRTN1= $$RTN2= $$SRC = $$TGSV= $$TGS1= $$TGS2= $$TO $$$TAG= 000403 000000 000000 000402 000000 000001 000000 000554R 000000 177777 000000 050000 050001 000000 000000 000000 000000 000000 050000 000632R .MAIN. MACY11 30A(1052) 20-SEP-78 13-SEP-78 16:13 EQU~TE.MAC 3 549 554 576 17;46 TABLE OF CONTENTS COMMON EQUATE MODULE COMMON DEFINITIONS AND REFERENCES 000000 1 .PRINT ;SPMAC: VERSION 1.1 CMDRST ROUTINE SEQ 0351 CMDRST - KEYBOARD RESET MACY11 30A(1052) 20-SEP-78 17:46 PAGE 19 CMDRST.MAC 08-SEP-78 09:13 COMMON EQUATE MODULE 508 5C9 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 .TITLE CMDRST - KEYBOARD RESET .IDENT JVO.Oj ;++ MODULE NAME: CMDRST FUNCTIONAL DESCRIPTION: OUTPUTS A PROMPT TO THE KEYBOARD INPUTS: ADDRESS OF DATA TABLE IMPLICIT INPUTS: Dr. STO OUTPUTS: NONE 527 528 IMPLICIT OUTPUTS: DT.KBPRM 529 530 531 PATHOLOGICAL CONNECTIONS: NONE 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 SEQ 0352 SUBORDINATE MODULES CALLED: KBINI FUNCTIONAL SIDE EFFECTS: NONE CALLING SEQUENCE: CALL CMDRST IN A=ADDRESS OF DATA TABLE VERSION: 0.0 ._, EDIT BY DATE REASON CMDRST - KEYBOARD RESET MACY11 30A(1052) 20-SEP-78 17:46 PAGE 19-1 CMDRST.MAC 08-SEP-78 09:13 COMMON DEFINITIONS AND REFERENCES 549 550 551 552 553 554 (1) 555 556 557 558 559 560 561 562 563 564 565 :366 567 568 569 570 571 572 573 574 .SBTTL SEQ 0353 COMMON DEFINITIONS AND REFERENCES .MCALL STRUCT STRUCT .PRINT ;SPMAC: VERSION 1.1 $LSTIN::1 $LSTTAG=1 000000 1 000000' 000001 000001 .;**************** ; REFERENCED BY OTHER MODULES .GLOBL CMDRST ;MODULE ENTRY POINT ;**************** ; LOCAL STORAGE 000000' 051502 000005 1 103 037131 042115 000 000076 CM.RUNMSG: CM.CMDMSG: .ASCIZ /BSY>/ .ASCIZ /CMD>/ **************** ;RUN MODE PROMPT ;COMMAND MODE PROMPT CMDKST - KEYBOARD RESET MAC Y11 30A(1052) 20-5E;:'-7B 17:46 CMDRST ROUTINE 08-SEP-78 09: 13 CMDRST.MAC 576 577 573 (2 ) 573 58) 581 582 583 584 (2 ) 585 586 (4 ) 587 583 589 590 591 592 (6 ) ( 9) 593 (4 ) 594 595 596 597 598 :39S 600 (4 ) ( 3) 601 (4 ) 602 (4 ) 603 604 605 (2 ) 606 607 (3 ) (3 ) PAGE 19-2 SEQ 0354 .SBTTL CMDRST ROUTINE 000012 000012 ROUTINE CMDRST 1 CMDRST: 1 ;+ ;SET RO TO START OF DATA TABLE , PUSH RO 000012' 000012' 010046000014' 000014' 016500 LET RO .- MOV RO,-(SP) MOV TA9L(R5),RO BIT BEQ #RUNMOD,DT.STO(R 50002$ MOV #CM.RUNMSG,DT.KB B~ 50003$ MOV #CM.CMDMSG,DT.KB rllDV (SP)+,RO RTS PC TA9L~R5) 000000 ;+ ; IF IN RUN MODE, OUTPUT RUN PROMPT , 000020' 000020' 032760 000026' 001404 000030' 000030' 012760 IF #RUNMOD SETIN DT.STO(RO) THEN 100000 000010 LET DT.KBPRM(RO) .- #CM.RUNMSG 000000' 000026 ;+ ;ELSE OUTPUT COMMAND MODE PROMPT , 000036 1 000036 1 000403 000040' 000040 1 000040 1 012760 000046 1 000046 1 ELSE LET DT.KBPRM(RO) .- 50002$: #CM.CMDMSG 000005' 000026 ENDIF 50003$: 000046 1 000046 1 012600 POP RO ENDRTN (2 ) 000050' 000050' 000050 1 000050' 000207 608 609 610 00000 1 50000$: 50001$: .END 20-SEP-78 17:46 CMDRST - KcYBOAFW R:::SET MACY11 30fl.(1052) SYMBOL TABLE 08-SEP-78 09: 13 CMDRST.MAC ACSR ACT3IT= ADD;:(22= I\DR ~PTFER= APT?RE= ASB A.SSEMB= ASTAT = j,UTO AUT;]ST= A~AS 00:)102 004000 001000 000006 000004 000200 000106 000010 000104 000010 020000 000110 000001 000001 000002 000004 000010 000020 000040 000100 000200 000400 001000 000002 002000 004000 010000 0200CO 040000 100000 000004 000010 000020 000040 000100 000200 000400 001000 000002 000020 040000 81TO BITOO BITOl 81T02 f3IT03 3IT04 3IT05 BIT06 BIT07 B1T08 31T09 BIT1 BIT10 31T11 31T12 81T13 31T14 BIT 15 BIT2 :31T3 BIT4 BIT5 BIT6 BIT7 BIT8 BIT9 BKDEF BKrtOO BKMODE= i3KSLSH= OC01~4 CAPRES= 000004 CASTAi= 000004 CDERC1= 000146 CDv~OCT= 000144 Cf\TIM = 100000 CLKPRE= 000001 C!\1[,RST OO:)012RG CM.CMD 00OO05R CM.RUN OOOOOOR COf\;FIG= 000056 CQOVF = 000001 CR CSRA CSRC CTRLC CTRLO CTRLU DCEVNT= OEFRTN= OI.AGMC= DROPMO= DSEVNT= DT.AOD= DT.AP = OT.APK= DT.BLS= OT.CFO= 0T.CF1= OT.ERR= DT.ESI= OT.EVN= OT.EXS= DT.FCH= DT.FCN= DT.HMX= DT.KBE= OT.KBP= OT.KBR= OT.KBU= OT.I'vlLS= OT.MT1= OT.OFF= OT.PAS= OT.PC = DT.PFL= OT.PSW= OT.PTA= OT.RCS= DT.REL::: OT.SCT= DT.SMX= DT.SP = OT.SSI= DT.STO= DT.ST1= DT.SWR= OT.SYP:.: DT.WBU= OT.WHL= OT.WLL= OVID1 = ECCMEM= ECCSTA= ENBEOP= 000015 000100 000102 000003 000017 000025 000011 000400 000000 100000 000014 000042 000100 000076 000034 000014 000016 000020 000044 000000 000060 000037 000036 000104 000024 000026 000022 000030 000032 000110 000070 000074 000002 000062 000004 000064 000102 000040 OC0066 000106 000006 000046 000010 000012 000056 000072 000050 000054 000052 000014 000100 0(,0010 010000 ENBNUL= ENDL.ST= EOPBIT= ERRTYP= EVNTBE= EVNTHD= EVNTKT= EVNTPE= EVNTRE= FATERR= HROCNT= HROPAS= ICONT = ICOUNT= IONUM = IE aWPAR= INHORP= INHEPR= INHREL= INHRRE= INIT INTR IOMOO IOMOOP= IOMODR= IO[v'100X= JACK KIPARO= KIPAR1= KIPAR2= KIPAR3= KIPAR4= KIPAR5= KIPAR6= KIPAR7= KIPORO= KIPDR1= KIPOR2= KIPDR3= KIPOR4= KIPOR5= KIPOR6= KIPDR7= KTERRO= KTPRES= KTSTAT= KTXTND= LF LPSTAT= iVlAPSTA= MED MEMPAS= PAGE 20 000001 000000 000001 000106 000200 000200 000203 000202 000201 100000 000044 000050 000036 000040 000122 000100 000040 040000 020.000 001000 000400 000030 000120 100000 102000 112000 110000 035060 172340 172342 172344 172346 172350 172352 172354 172356 172300 172302 172304 172306 172310 172312 172314 172316 000040 000400 000020 040000 000012 000001 OOO~OO 076500 040000 SEQ 0355 MODEXH= MDDHOL= MGDSEL= MSGCKO= MSGCKS= MSGOER= MSGDRP= MSGECH= MSGEOP= MSGHOR= MSGHNG= MSGHRD= MSGI\1AP= MSGNUL= MSGPOP= MSGPRM= MSGRES= MSGSFT= MSGSKE= MSGSfVlB= MSGSrvlH= MSGSfv1S= MSGSTD= MSGSYS= MSGVEC= NBKMOO= NCPUOP= NOAPTY= NULL OWEN PAERR PARPRE= PARSTA= PASCNT= POPLSI= P')P60 POP70 PRIO PRll PRI4 PRI5 PRI6 PRI7 PRO PR4 PR5 PR6 PR7 PS PSW RANNu:'JI= R8UFEA= RBUFPA= 004000 002000 001000 000010 000011 000005 000017 177777 000013 000004 000022 OJOO07 000021 177775 000002 177776 000001 000006 000003 000015 000014 000016 000000 000012 000020 001000 000020 000002 000000 024020 000)10 002000 000100 00J034 020000 004000 010000 000000 000040 000200 00')240 000300 00)340 000000 000200 000240 000300 000340 177776 177776 000054 000130 000126 RBUFSZ= R6:.JFVA= RDSERV= RDWHMI= RELERR= RELMO:)= REL TIM= RES1 RES2 R:CHAR= RPTOAT= RSTRT = RUBOUT= RIJNiV100= RSVALU= SAM SBAOR = SaKMOD= SBKSEL= SC.AOR= SC.ALC= SC.APC= SC.CKL= SC.CKP= SC.CLO= SC.HLO= SC.SCA= SENOLS= SOFCNT= SOFPAS= SPACE = SPOINT= SPVALU= S~O SR1 SR2 S.~3 STAT STATB1= ST ATl = SUSPNO= SVRO SVR1 SVR2 SVR3 SVR4 SVR5 SVR6 SYSCNT= SYSERR= TABL TMPIO TQOVF 000132 000124 000101 000022 000020 020000 010000 000056 000060 031060 002000 000112 000177 100000 001740 075464 000102 000000 010000 000006 000014 000016 000002 000004 000000 000010 000012 177777 000042 000046 00004J 000032 002200 177572 177574 177576 172516 000026 064757 000027 000001 000062 000C64 000066 000C70 000072 000074 000076 000052 000100 000000 000002 0~0002 CMDRST - KEYBOARD RESET MACY" CMDf(S T . MAC 08-SEP-78 09: '3 WEUFEA= WBUFPA= WBUFRQ= WBUFSZ= WDFR WDTO WTINRE= WTWHMI= XFLAG = XOFF XON $8GNLE= $ERFLG= $F$AND= $F$BAD= $F$BLA= $F$CAS= $F$DEC= UIPARO= 177640 UIP.~Rl= 177642 UIPAR2= 177644 UIPAR3= 177646 UIPAR4= 177650 UIPAR5= 177652 UIPAR6= 177654 UIPAR7= 177656 UIPJRO= 177600 UIPI)Rl= 177602 UIPOR2= 177604 UIPJR3= 177606 LJIPJR4= 177610 UIPDR5= 177612 UIP)R6= 177614 UIPDR7= 177616 VJASADR= 000104 WBSTAT= 000040 ABS. COOOOO 000052 30A(1052) 20-SEP-78 17:46 SYMBOL TABLE 000136 000134 000140 000142 000116 000114 000352 000222 000005 000023 oe0021 177777 000400 000310 000401 000170 000150 000220 000 001 ERRORS DETECTED: 0 DEFAULT GLOBALS GENERATED: 0 OSKZ:CMDRST,DSKZ:CMDRST=SPMAC/ML,EQUATE,CMDRST RUN-T IME: 11 1 .3 SECONDS RUN-TIME RATIO: 30/13=2.2 CORE USED: 14K (27 PAGES) $F$DO = $F$FAL= $F$GOO= $F$IF = $F$INC= $F$LOO= $F$NAM= $F$NO = $F$OR = $F$RTI= $F$RTN= $F$SEL= $F$THE= $F$TRU= $F$UNT= $F$WHI= $F$YES= $IFLEV= PAGE 20-1 SEQ 0356 000340 000405 OG0400 000110 000210 000200 000160 000403 000320 000350 000300 000140 000330 000404 000130 000120 000402 177777 $ISKO = $LOCTA= $LSTIN= $LSTTA= $NESTL= $NSKO = $NSKl = $SAVLE= $TAGLE= $TAGNU= $TEMP = $TSKO = $$ARGC= $$BYTE= $$CASE= $$DST = $$ELOC= $$ERFL= 000001 177777 000001 000001 177777 000300 000110 177777 177777 050004 00')300 050003 000002 00O'W3 000000 000000 000402 000000 $$FLAG= $$FROM= $$LOC = $$LOCN= $$REG = $$RETU= $$RTN1= $$RT~2= $SSRC = $$TGSV= $$T:3S 1 = $STGS2= $$TO $$$TAG= 000001 000000 000026R 000000 177777 000000 050000 050001 000000 000000 000000 000000 000000 050000 000052R .MAIN. MACY11 30A(1052) 20-SEP-78 EQUATE.MAC 13-SE?-78 16:13 3 COMMON EQUATE MODULE 17:47 TABLE OF CONTENTS SEQ 0357 eMDTS1 - COMMAND TABLE 1 CMDTB1.MAC 28-JUL-78 09:13 508 509 MACY11 30A(1052) 20-SEP-78 17:47 COMMON EQUATE MODULE PAGE 19 SEQ 0358 .TITLE CMDTB1 - COMMAND TABLE 1 .IDENT JVO.Oj 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 ;++ MODULE NAME: CMDTB1 FUNCTIONAL DESCRIPTION: CONTAINS THE COMPLETE VALID COMMAND AND COMMAND DISPATCH TABLES VERSION: 0.0 EDIT BY DATE REASON CMDTB1 - COMMAND TABLE 1 CMDTB1.MAC 28-JUL-78 09:13 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 58, MACY11 30A(1052). 20-SEP-78 17:47 COMMON EQUATE MODULE PAGE 19-1 ;**************** ; REFERENCED BY OTHER MODULES .GLOBL .GLOBL CM.DIS CM.TBL ;**************** , ; GLOBAL REFERENCES , .GLOBL .GLOBL .GLOSL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GL08L .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL :CACHE OFF ROUTINE :CACHE ON ROUTINE ;DESELECT ROUTINE ;E.XAM ROUTINE ;FILL ROUTINE : KT OFF ROUTH~E ;KT ON ROUTINE ;LP OFF ROUTINE ;LP ON ROUTINE ;MAP ROUTINE ;MODIFY ROUTINE ;UNIBUS MAP OFF ROUTINE ;UNIBUS MAP ON ROUTINE ;PARITY OFF ROUTINE ;PARITY ON ROUTINE ;WRITE BUFFER ROTATION OFF ROUTINE :WRITE BUFFER ROTATION ON ROUTINE ;RUN ROUTINE ;RUN LOCKED ROUTINE ;SELECT ROUTINE ;SUMMARY ROUTINE ;MODIFY SWITCH REGISTER ROUTINE KCOFF KCON KDES KEXAM KFILL KKTOFF KKTON KLPOFF KLPON KMAP KMOD KMOFF KMON KPOFF KPON KROTOF KROTON KRUN KRUNL KSEL KSUM KSWR ;**************** 000000 1 000000' 000002 1 000004 1 000006' 000010 1 000012' 000014' 000016' 000020 1 000022' 000024' 000026 1 00C030; 000032 1 000034' 000036' ;COMMAND DISPATCH TABLE CM.DIS: OOOOOOG OOOOOOG OOOOOGG OOOOOOG OOOOOOG 0OO000G OOOOOOG OOOOCOG OOOOOOG OOOOOOG OOOOOOG OOOOOOG OOOOOOG OOOOOOG OOOCOOG OOOOOOG .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD KCOFF KCON KDES KEXAM KFILL KKTOFF KKTON KLPOFF KLPON KMAP KMO:) KMOFF KMON KPOFF KPON KROTOF SEQ 0359 CMDTS1 - COMIVIAND TABLE 1 28-JUL-78 09:13 CMDTS1.MAC 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 000040' 000042' 000044' 000046' 000050 1 000052 1 OOOOOOG OOOOOOG OOOOOOG OOOOOOG OOOOOOG OOOOOOG 000054' 0000541 000061 ' 000065' C00071 ' 000076' 000103' 000110' 000111 ' 000116 ' 000124' 000131 I 000135' 000141 ' 000146' 000152' 000157' 000163' 000170' ('00172' 000200' 000204' 000211 ' 000215' 000221 ' 000225' 047503 103 104 10::, 044506 113 000 1 13 050"4 050114 115 115 115 047515 04752(' 12C 1 ") ') 000106 047522 052522 052522 123 123 123 377 MACV11 20-SEP-78 17:47 30A(1052} COMMON EQUATE MODULE .WORD .WORD .WORD . ~t.JORD .WORD .WORD KROTON KRUN KRUNL KSEL KSUM KSWR ;VAlID COMMAND TABLE CM. T8l: 043106 047117 051505 040530 046114 047524 000 000 000 000115 000 043106 .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ /COFF/ /CON/ /DES/ /EXAM/ / F I LL/ /KTOFF/ 047524 043117 047117 050101 042117 043117 000116 043106 047117 052117 000116 000106 000 000 000 000106 .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ /KTON/ /LPOFF/ /LPON/ /MAP/ /MOD/ /MOFF / /MON/ /POFF/ /PON/ /ROTOFF/ 047524 000116 046116 046105 046525 051127 000116 .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .BYTE /ROTON/ /RUN/ /RUNL/ /SEL/ /SUM/ /SWR/ 000 000 043117 000 000 000 000 .EVEN 000001 .END PAGE 19-2 -1 SEQ 0360 (MOTS1 - COMMAND TA8LE 1 28-JUL-78 09:13 CMDTS1.MAC ACSR ACT8IT= ADDR22= ADR APTFER= APTPRE= ;\SB ASTAT = ,\UTO PIUTClST= AWAS BliO [:lITOO GIT)1 13IT02 E3IT03 f.3IT04 3IT05 BIT06 BIT07 BIT08 GIT09 l3I T 1 BIT10 6 IT 11 f31 T 12 l3IT13 6IT14 BIT15 [3IT2 [3 IT 3 f3 I T 4 BIT5 13 I To BIT7 [3 IT 8 [3 IT 9 t3KDEF BKI'I.OD 8!\MODE= BKSLSH= CAPRES= CASTAT= CDERCT= CDwDCT= CKTlNi = CLKPRE= CM.DIS eM.TBL CO!\FIG= CQOVF CR CSRA 000102 004000 001000 000006 000004 000200 000106 COO104 COO010 C20000 000110 OCOO01 000001 000002 000004 000010 000020 000040 000100 000201) 00Cl400 001000 000002 002000 004000 010000 020000 040000 100000 000004 000010 000020 000040 0001CO 000200 000400 001000 000002 000020 04:)000 000134 000004 000004 000146 000144 100000 000001 OOOOOCRG 000054RG 000056 000001 000015 000100 2C-SEP-78 rviACY 11 30A(1052) SYMBOL TABLE 17:47 ERRTYP= EVNTBE= EVNTHD= EV"lTKT= EVNTPE:: EVNTRE= FATERR= HRDCNT= HRDPAS= ICONT = ICOUNT= IDNUM = IE INDPAR= INHDRP= INHEPR= If\;HREL= INHRRE= INIT INTR lOMOD IO:v10DP= IOMODR= IOMODX= JACK KCOFF KCON KDES KEXAM KFILL KIPARO= KIPAR1= KIPAR2= KIPAR3= KIPAR4= KIPAR5= KIPAR6= KIP.A.R7= KIPDRO= KIPDR1= KIPDR2= KIPDR3= KIPDR4= KIPDR5= KIPDR6= KIPDR7= KKTOFF= KKTON = KLPOFF= KLPON KMAP KMOD K[I..10FF 000106 000200 000200 000203 000202 000201 100000 000044 000050 000036 000040 000122 000100 000040 040000 020000 001000 000400 000030 000120 100000 102000 112000 110000 035060 CSRC CTRLC CTRLO CTRLU DCEVNT= DEFRTN= DROPMO= DSEVNT= DT.ADD= DT.AP = DT.APK= DT.BLS= DT.CFO= DT.CF1= DT.ERR= DT.ES!= DT .. EVN= DT.EXS= DT.FCH= DT.FCN= DT . H~JlX= DT.KBE= DT.KBP= DT.KBR= DT.KBU= DT.MLS= DT.MTI= DT.OFF:: DT.PAS= DT.PC = DT.PFL= DT.PSW= DT.PTA= DT.RCS= DT.REL= DT.SCT= DT.SMX= DT.SP = DT.SSI= DT.STO= DT.ST1= DT.SWR:: DT.SYP= DT.WBU= DT.WHL= DT.WLL= D'JID1 = ECCTvlEM= ECCSTA= ENBEOP= ENBNUL= ENDLST= EOPB!T::.; 000102 000003 OCOC17 000025 000011 000400 100000 000014 000042 000100 000076 000034 000014 000016 000020 000044 000000 000060 000037 000036 000104 000024 000026 000022 000030 000032 000110 000070 000074 000002 000062 000004 000064 000102 000040 000066 000106 00C006 000046 000010 000012 000056 000072 000050 000054 000052 000014 000100 000010 010000 000001 000000 000001 = ****** ****** ****** ****** ****** PAG~ SEQ 0361 G G G G G 172340 172342 172344 172346 172350 172352 172354 172356 172300 172302 172304 172306 172310 172312 172314 172316 ****"'* ****,;,* ***""** ****** ****** ****** ****** 20 G G G G G G G KMON KPOFF KPON KROTOF= KROTON= KRUN KRUNL KSEL KSUM KS\>JR KTERRO= KTPRES= KTSTAT= KTXTND= LF LPSTAT= MAPSTA= MED MEMPAS= MODEXH= MODHOL= MODSEL= MSGCKD= rJlSGCKS= MSGDER= MSGDRP= MSG~CH= MSGEOP= MSGHDR= MSGHNG= MSGHRD= r'IISGMA?= MSGNUL= MSGPOP= MSGPRM= MSGRES= MSGSFT= MSGSKE= MSGSM8= MSGSMH= MSGSMS= MSGSTD= MSGSYS= I'vlSGVEC= NBKMOD= NCPUOP= NOAPTy= NULL Q\vEN PAERR PARPRE= PARSTA= PASCNT= ****** G ****** **<*** ****** ****** ****** ****** ****** -f'* '" "'* * ****** 000040 000400 000020 040000 000012 000001 00:)200 073600 040000 004000 002000 001000 000010 000011 000005 000017 177777 000013 000004 000022 000C07 000021 177775 000002 177776 008001 OCOO06 000003 000015 000014 000016 00,)000 00OC12 0C!O'j20 001eoo 00,)020 000002 000000 024J20 000010 002000 OOOiOO 000034 G G G G G G G G G PDPLS!= PDP60 PDP70 PRIO PRI1 PRI4 PRI5 PRI6 PRI7 PRO PR4 P:i5 PR6 PR7 PS PSW RAN~JUM= R3UFEA= RBUFPA= RBUFSZ= R3UFVA= RDSERV= RDwf-l.:vl I:: RELERR= R~ L:\~OD= RELTlM= RES1 RES2 RICrlAR= RPTDAT= RSFH = RU80UT= RJ~-1r~10D= R5VALU= SAM SB.l\DR = SBfr**** ****** ****** ****** ***"'** 000040 000400 000020 040000 000012 G G G G G LPSTAT= MAPSTA= MED MEMPAS= MODEXH= MODrlOL= MODSEL= MSGCKD= MSGCKS= MSGDER= MSGDRP= MSGECH= MSGEOP= MSGHDR= MSGHNG= MSGHRO= MSGMAP= MSGNUL= MSGPOP= MSGPRr,1;:: MSGRES= MSGSFT= MSGSKE= MSGSMB= MSGSMH= MSGSMS= MSGSTD= f'I1SGSYS= MSGVEC= NBKi\1DD= NCPUOP= NOAPTY= NULL OWEN PAERR PARPRE= PARSTA= PASCNT= PDPLSI= POP60 PDP70 PRIO PRI1 PRI4 PRI5 PRI6 PRI7 PRO PR4 PR5 PR6 PR7 PS 000001 000200 076600 040000 OO·~COO 002000 001000 000010 000011 000005 000017 177777 000013 000004 000022 000007 000021 177775 000002 177775 000001 000006 000003 000015 00-) 014 000016 000000 000012 000020 001000 000J20 000002 000000 024020 000010 002000 000100 000034 020000 004JOO 010000 000000 000040 000200 000240 000300 000340 00;)000 000200 000240 000300 000340 177776 PSW RANNUM= R3UFEA= R'3UFPA= R3UFSZ= R3U FVA= ROSERV'= RChJHMI = RELERR= R::: L!'ViOD= REL iHI!= R:::Sl RES2 R:CHAR= RPTDAT= RSTRT = RUBOUT= RUNfll0D= R5VALU= SAM SBADR = SBKMOD= SBKSEL= SC.ADR= SC.ALC= SC.APC= Sc. CK L= SC.CKP= SC.CLO= SC.HLD= SC.SCA= SENDLS= SOFCNT= SOFiJAS= S~ACE = SPOINT= SPVALU= SRO SR1 SR2 SR3 STAT STATBI= STAT1 = SUSPND= SVRO SVR1 SVR2 SVR3 SVR4 SVR5 SVR6 SYSCNT= 177776 000054 000130 000126 000132 000124 000101 000022 000020 020000 010000 000055 000060 031060 002000 000112 000177 100000 001740 075464 000102 000000 010000 OOOOOS 000014 000'J15 000002 000004 000000 000010 000012 177777 000042 000046 000040 000032 002200 177572 177574 177576 172516 000026 064757 000027 000001 000062 000064 000066 000070 000C72 000074 000076 000052 MACV11 30A(1052) 20-SEP-78 SYMBOL TABLE CMDTB2 - COMMAND TABLE 2 CMDTB2.MAC 28-JUL-78 09:13 SYSERR= TMPIO = TQOVF = UIPARO= UIPAR1= UIPAR2= UIPAR3= OC0100 000002 000002 177640 177642 177644 177646 ASS. 000000 000054 UIPAR4= UIPAR5= UIPAR6= UIPAR7= UIPDRO= UIPDR1= UIPDR2= 177650 177652 177654 177656 177600 177602 177604 000 001 ERRO~S DETECTED: 0 DEFAULT GLOBALS GENERATED: 0 DSKZ:CMDTB2,DSKZ:CMDTB2=SPMAC/ML,EQUATE,CMDTB2 RUN-TIME: .6 .6 .3 SECONDS RUN-TIME RATIO: 4/1=2.5 CORE USED: 14K (27 PAGES) UIPDR3= UIPDR4= UIPDR5:.: UIPDR6= UIPDR7= WASADR= WBSTAT= 17:47 PAGE 20-1 SEQ 0367 177605 177610 177612 177614 177616 000104 000040 WBUFEA= WBUFPA= W8UFRQ= WBUFSZ= WDFR WDTO WTINRE= 000136 000134 000140 000142 000116 000114 000352 WTWHMI= XFLAG XOFF XON 000222 000005 000023 000021 000054R .MAIN. MACY11 30A(10~2) 20-SEP-78 EQUATE.MAC 13-SEP-78 16:13 3 COMMON EQUATE MODULE 17:47 TABLE OF CONTENTS SEQ 0368 CMDTB3 - CaM~AND TA8~E 2 CMDTB3.MAC 28-JUL-78 09:13 508 509 510 511 512 513 514 515 516 517 518 519 520 521 MACY11 30A(1052) 20-SEP-78 17:47 COMMON EQUATE MODULE PAGE 19 SEQ 0369 .TITLE CMDTB3 - COMMAND TABLE 3 .IDENT JVO.Oj ;++ MODULE NAME: CMDTB3 FUNCTIONAL DESCRIPiION: CONTAINS THE VALID COMMAND AND COMMAND DISPATCH TABLES EXCEPT: CON, COFF, KTON, KTOFF, MON, MOFF, RUNL VERSION: 0.0 522 523 524 525 EDtT BY DATE REASOI~ CMDTB3 - COMMAND TABLE 3 CMDTB3.MAC 28-JUL-78 09:13 MACY11 30A(1052) 20-SE~-78 COMMON EQUATE MODULE 527 528 329 ~7:47 PAGE 19-1 I ;**************** 530 I ; REFERENCED BY OTHER MODULES :531 532 , .GLOBL .GLOBL 533 53~ CM.DIS CM.TBl 535 536 S37 ;**************** , 538 539 ; ; GLOBAL REFERENCES .GLOBL .GLOBL .GLOBl .GLOBL .GLOBL .GLCBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL 540 541 542 543 544 545 546 547 548 549 550 551 S52 553 554 ;DESELECT ROUTINE ;EXhIViINE ROUTI"JE ;FILL ROUTINE ;LP OFF ROUTINE ; LP Ot~ ROUT INE ;MAP ROUTINE ;MODIFY ROUTINE ;PARITY OFF ROUTINE ;PARITY ON ROUTINE ;WRITE BUFFER ROTATION ROUTINE ;WRITE BUFFER ROTATION ON ROUTINE ;RUN ROUTINE ;SELECT ROUTINE ;SUMMARY ROUTINE ;MODIFY SWITCH REGISTER ROUTINE KDES KEXAM KFILL KLPOFF KLPON KMAP KI\WD KPOFF KPON KROTOF KROTON KRUN KSEL KSUM KSWR 555 ;**************** 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 OCOOOO' 000000' 000002' 000004' 000006' 000010' 000012' 000014' 000016' 000020' 000022' 000024' 000026' 000030' 000032' 000034' ;COMMAND DISPATCH TABLE CM.DIS: .WORD · "'JORD .WORD · ~"'ORD · \>JORD · \,AJORD .WORD .WORD .WORD .WORD .WORD .vJORD .WORD .WORD · ~~ORD OOOOOOG OOOOOOG OOOOOOG OOOOOOG OOOCOOG OOOOOOG OOOOOOG OOOOOOG OOOOO·:)G OOOOOOG 00000(;.3 000008G OOOOCOG OOOOOOG O:)OOOOG KDES KEXAM KFILL KLPOFF KLPON KMAP KMOD KPOi=F KPON KROTOF KROTON KRLJN KSEL KSUM KSWR 575 576 577 578 579 580 581 582 000036' 000036' 000042' 000047' 000054' 000062' ;VALID COMMAND TABLE CM. TBL: 042504 054105 106 050114 050114 000123 046501 046111 043117 047117 000 000114 000106 000 .ASCIZ .Ascrz .ASCIZ .ASCIZ .ASCIZ /DES/ /EXAM/ /FILl/ /LPOFF/ /LPON/ SEQ 0370 CMDTB3 - CO~\~M.A.ND T A8 LE 3 CMDTB3.MAC 28-JUL-78 09:13 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 000067' 115 000073' 115 000077' 120 000104' 047520 000110' 047522 000116' 000 000117' 122 000124' 000 000125' 122 123 000131 ' 000135' 123 123 000141 ' 000145' 377 MACY11 30A(1052) 20-SEP-78 17:47 COMMON EQUATE MUUULE 050101 042117 043117 000116 047524 000 000 000106 043106 .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ 052117 047117 .ASCIZ /ROTON/ 047125 046105 046525 051127 000 000 000 000 .ASCIZ .ASCIZ .ASCIZ .ASCIZ .BYTE .EVEN 000001 .END /MAP/ /MOD/ /POFF/ /PON/ /ROTOFF/ /RUN/ /SEL/ /SUM/ /SWR/ -1 PAGE 19-2 SEQ 0371 CMDT83 - COMMAND TABLE 3 28-JUL-78 09: 13 CMDTB3.MAC ACSR ACTBIT= ADDR22= ADR /\PT;:ER= /,PTPRE= i'.SB /\S T AT = /\UTJ AUTJST= f:,~~A5 31TO En TOO FH T 01 [.31T02 BIT03 i3I T 04 8IT05 BIT06 [31 T07 BITOS t31TJ9 BIT1 61T10 8 IT 11 !31 T 12 81T13 81T14 31T15 t3 I T 2 31 T3 BIT4 BITS SIT6 aIT7 8IT8 BIT9 BKDEF i3KfV:OD BKf'v'ODE = BKS LSH= CAPRES= CASTAi= CDERCT= CDi'iDCT= CKTllVi = (;LKPRE= CM.DIS CM.TBL CONF1G= CQOVF CR C:S~A 000102 004000 001000 000006 000004 000200 000106 000104 COO010 020000 C00110 COOO01 COOO01 000002 000004 000010 000020 000040 000100 000200 000400 OC1000 000002 002000 004000 010000 020000 040000 100000 000004 000010 000020 000040 000100 000200 000400 001000 000002 000020 040000 000134 000004 000004 000146 000144 100000 000001 OOOOOORO 000036RG 000056 000001 000015 000100 20-SEP-78 MACYll 30A(10S2) SYMBOL TABLE 17:47 ERRTYP= EVNTBE= EVNTHD= EVNTKT= EVNTPE= EVNTRE= FATERR= HRDCNT= HRDPAS= ICDNT = ICOUNT= IDNUM = IE INDPAR= INHDRP= INHEPR= INHREL= INHRRE= INIT INTR, = IOMOD = IOMODP= IOMODR= IOMODX= JACK KDES KEXAM KFILL KIPARO= KIPAR1= KIPAR2= KIPAR3= KIPAR4= KIPAR5= KIPAR6= KIPAR7= KIPDRO= KIPDR1-= KIPDR2= KIPDR3= KIPDR4= KIPDR5= KIPDR6= KIPDR7= KLPOFF= KLPON KMAP KMOD KPOFF KPON KROTOF= KROTON= KRUN 000106 000200 000200 000203 000202 000201 100000 000044 000050 000036 000040 000122 000100 000040 040000 020000 001000 000400 000030 OC0120 100000 102000 112000 110000 035060 CSRC CTRLC CTRLO CTRLU DCEVNT= DEFRTN= DROPMO= DSEVNT= DT.ADD= DT.AP = DT.APK= DT.BLS= DT.CFO= DT.CF1= DT.ERR= DT.ESl= DT.EVN= DT.EXS= DT.FCH= DT.FCN= DT. H:\~X= DT.KBE= DT.KBP= DT.KBR= DT.KBU= DT. MLS= DT.MTI= DT.OFF= DT.PAS= DT.PC = DT.PFL= DT. PSI"'= DT.PTA= DT.RCS= DT.REL= DT.SCT= DT.Si'/:X= DT.5P = DT.SSI= DT.STi)= DT.ST1= DT.SWR= DT.SYP= DT.WBU= Di.WHL= DT.WLL= DVID1 :: ECCMEM= ECCSTA= ENBEOP= ENBNUL= ENDLST= EOPBIT= 000102 000003 000017 000025 000011 C')0400 1000,)0 000014 000042 000100 000076 000034 000014 000016 000020 000044 COOOOO 000060 OOC037 000036 000104 000024 000026 000022 000030 000032 000110 000070 000074 000002 000062 000004 000064 000102 000040 000066 000106 000006 000046 000010 000012 000056 000072 000050 000054 000052 000014 000100 000010 010000 000001 000000 000001 = PAGE 20 SEQ 0372 ****** G ****** G ****** G 172340 172342 172344 172346 172350 172352 172354 172356 172300 172302 172304 1723C6 172310 172312 172314 172316 ***"'** ****** ****** *"'**** ****** ****** ****>1'* ****** ****** G G G G G G G G G KSEL KSUM KSi'JR KTERRD= KTPRES= KTSTAT= KTXTND= LF LPSTAT= MAPSTA= MED MEMPAS= MODEXH= MODHOL= MODSEL= MSGCKD= MSGCKS= MSGDER= MSGDRP= MSGECH= MSGEGP= MSGHDR= MSGHNG= MSGHRD= MSGMAP= MSGNUL= MSGPOP= MSGPRM= MSGRES= MSGSFT= MSGSKE= MSGSr'f.B= MSGSrlr,H= MSGSfI1S= iVlSGSTD= MSGSYS= MSGVEC= NBf<;MOD= NCPUOP= NOAPTY= NUL.L m'iEN PAERR = PARPRE= PARSTA= PIISCNT= PDPLSI= PDP60 PDP70 PRIO P R 11 PRI4 PRI5 ****** G ****** G ***",**'G 000040 000400 000020 040000 000012 ')00001 00:>200 076600 040000 004000 002000 001000 000010 000011 000005 000017 177777 00C013 000004 000022 000007 00')021 177775 000002 177776 000001 000006 000003 000015 000014 000016 000000 000012 00)020 001000 000020 000002 000000 024020 000010 002COO 000100 000034 02JOOO 004000 010000 000000 000040 000200 OC0240 PRI6 PRI7 PRO PR4 PR5 PR6 PR7 PS PSW RA~NUM= RBUFEA= R3UFPA= RBUFSZ= FI3UFVA= ROSERV= RD1'.'H:''v1I = RELERR= RELMOD= REL TIM= RES1 RES2 RICHAR= RPTDAT= RSTRT = RU30UT= RUNMOD= F~5VALU= SAM SB'::'DR = S 8f·<;iV10 D= SBr{SE L= SC.,t.,DR= SC.ALC= S2.APC= SC.CKL= SC.CKP= SC.CLO= SC.HLD= SC.SCA= SENDLS= SOFCNT= SOFPAS= SPACE = SPOINT= SPVALU= SRO SR1 SR2 SR3 STAT STATS!= STATl = SUSPND= 000300 000340 000000 000200 000240 000300 000340 177776 177776 000054 000130 000126 000132 000124 000101 000022 000020 020000 010000 000056 000060 031060 00200a 000112 000177 100000 001740 073464 000102 000000 010000 000006 000014 000016 000002 000004 000000 000010 000012 177777 000042 000046 000040 000032 002200 177572 177574 177576 172516 000026 064757 000027 000001 MACY11 30A(1052) 20-SEP-78 SYMBOL TABLE CMDTB3 - COMMA~D TABLE 3 CMDTB3.MAC 28-JUL-78 09:13 SVRO SVR1 SVR2 SVR3 SVR4 SVR5 SVR13 SYSCNT= SYS:::RR= 000062 000064 000066 000070 000072 000074 000076 000052 000100 A3S. 000:)00 000146 TM?IO TQOVF UIPARO= UIPAR1= UIPAR2= UIPAR3= UI?AR4= UIPAR5= UIPAR6= 000002 000002 177640 177642 177644 177646 177650 177652 177654 000 001 ERRORS DETECTED: 0 DEFAULT GLOBALS GE~ERATED: 0 DSKZ:CMOTB3,DSKZ:CMJTB3=SFMAC/ML,EQUATE,CMDTB3 RU~-T IME: .7 .6 .3 SECONDS RUN-TIME RATIO: 4/1=2.5 CORE USED: 14K (27 PAGES) UIPAR7= UIPDRO= UIPDR1= UIPDR2= UIPDR3= UIPDR4= UIPDR5= UIPDR6= UIPDR7= 17:47 PAGE 20-1 SEQ 0373 177653 177600 177602 177604 177606 177610 177612 177614 177616 ~IlASADR= WBSTAT= ~oJ3U FEA= WBUFPA= WBUFRQ= WBUFSZ= WDFR WDiO WTINRE= 000104 000040 000 136 000134 000140 000142 000116 000114 000352 \IJT'.oJHMI = XFLAG XOFF XON 000222 000005 000023 00002"1 000146R .MAIN. MACY11 30A(1C52) 20-SEP-78 EQUATE.MAC 13-SEP-78 16:13 3 537 S40 573 616 633 683 748 797 17:47 TABLE OF CONTENTS COMMON EQUATE MODULE COMMON D~FINITIONS & REFERENCES 000000 1 .PRINT COINI (FUNCTIONAL DESCRIPTION) COINI (CODE) ENOCQ (FUNCTIONAL DESCRIPTION) ENQCQ (CODE) DEQCO (FUNCTIONAL DESCRIPTION) DEOCQ (CODE) ;SPMAC: VERSION 1.1 SEQ 0374 CTLQUE (CONTROL QUEUE MODULES) CTLQUE.MAC 28-JUL-78 09:13 508 509 510 511 512 513 514 515 516 517 518 519 520 MACY11 30A(1052) 20-SEP-78 17:47 COMMON EQUATE MODULE PAGE 19 SEQ 0375 .TITLE CTLQUE (CONTROL QUEUE MODULES) .IDENT JVO.Oj ;++ MODULE PACKAGE NAME: CTLQUE FUNCTIONAL DESCRIPTION: THIS MODULE CONTAINS THREE MODULES. THE ~IRST ONE INITIALIZES THE CONTROL QUEUE AND THE NE~T TWO ACTUALLY DO THE ENQUEING AND DEQUEING OF ITEMS FROM THE CONTROL QUEUE. THE DESCRIPTION IS GIVEN UNDER THE RESPECTIVE MODULES. THESE MODULES ARE: 521 1. CQIN! - INITIALIZES THE CONTROL QJEUE. 2. ENQCQ - ENQUES ITEMS ON THE CONTROL QUEUE. 3. DEQCQ - DEQUES ITEMS FROM THE CONTROL QUEUE. 522 523 524 525 526 527 THE CONTROL QUEUE AND THE QUEUE POINTERS ARE CONTAINED IN THIS MODULE FOR USE BY THE ABOVE-NAMED MODULES LOCALLY. 528 529 530 531 532 533 534 535 VERSION: 0.0 EDIT DATE BY REASON CTLOUE (CONTROL QUEUE MODULES) CTLOUE.MAC 2B-JUL-78 09:13 .SBTTL COMMON DEFINITIONS & REFERENCES 537 538 539 540 ( 1) S41 542 MACY1130A(1052) 20-SEP-78 17:47 PAGE 19-1 COMMON DEFINITIONS & REFERENCES 000000' 000000 ' 000001 000001 .MCALL STRUCT STRUCT .PRINT ;SPMAC: VERSION 1.1 $LSTIN=1 $LSTTAG=1 543 544 545 546 547 548 549 550 551 552 ;**************** ; REFERENCED BY OTHER MODULES: , .GLOSL CQINI .GL08L ENQCQ .GL08L DEQCQ **************** 553 554 555 556 557 558 , 553 560 561 562 GL08AL REFERENCES: .GL08L GETPSvJ ;GET CALLER'S PS WORD ROUTINE .GL08L OV.CQ .GLOBL OV.HICQ .GLOBL OV.CQSIZ ;CONTROL QUEUE BuFFER ;**************** ; LOCAL STORAGE 563 564 565 566 567 568 569 570 571 ;INITIALIZE CONTROL QUEUE ;ENQUE ITEMS ON THE CONTROL QUEUE ;DEQUE ITEMS F~OM THE CONTROL QUEUE 000000' 000002' 000004' 000006' 000010 1 000012' 000014' 000000 OOOOOGG OOOOOUG 000000 OOOOOOG OOOOOOG OOOOOOG CQ.PSW: CQ. I NP: CQ.OTP: CQ.CT: CO. HI: CQ.MAX: cQ.reQ: o OV.CQ OV.CQ o OV.HICQ OV.CQSIZ Ov.CQ ;LOC. TO SAVE CALLER'S PS WORD ;ENQUE POINTER ;DEQUE POINTER ;CURRENT ENTRY CJUNT ;QUEUE'S HIGH ADDR ;MAX NO. OF ENTRIES ALLOWED ;START OF CQ SEQ 0376 CTLQUE (CONTROL QUEUE MODULES) CTLQUE.MAC 28-JUL-78 09:13 573 574 575 576 577 578 579 :380 581 582 583 584 585 586 587 588 589 590 591 592 593 59~ 595 596 597 595 599 60C 601 602 603 60C, 605 606 607 605 609 610 611 612 613 614 MACY~1 30A(1052) 20-SEP-78 17:47 PAGE 19-2 CQINI (FUNCTIONAL DESCRIPTION) SEQ 0377 .SBTTL CQINI (FUNCTIONAL DESCRIPTION) ;++ MODULE NAME: CQINI FUNCTIONAL DESCRIPTION: THIS MODULE INITIALIZES THE CONTROL QUEUE. IT RESETS THE ENQUE AND DEQUE POINTERS TO THE START OF THE QUEUE, AND SETS THE COUNT TO ZERO. INPUTS: NONE IMPLICIT INPUTS: NONE OUTPUTS: NONE IMPLICIT OUTPUTS: NONE PATHOLOGICAL CONNECTIONS: NONE SUOORDINATE ROUTINES CALLED: NONE FUNCTIONAL SIDE EFFECTS: NONE CALLING SEQUENCE: CALL CQINI VERSION: 0.0 EDIT ., __ . DATE BY REASON CTLQUE (CONTROL QUEUE MODULES) CTLQUE.MAC 28-JUL-78 09:13 MACY11 30A(1052) 20-SEP-78 CQINI (CODE) 17:47 PAGE 19-3 SEQ 0378 .SBTTL CQINI (CODE) 616 617 618 619 520 621 622 623 524 ;**************** ; ROUTINE TO INITIALIZE CONTROL OUEUE ;+ ; INIT INPUT,OUTPUT AND COUNT 625 626 (2 ) 627 (4 ) 328 (4) 029 (4 ) 530 (3) (3 ) (2) 631 000016 1 000016 1 000016 1 oeOO16 1 OC0024 1 000024 1 000032 1 000032 1 000036 1 CCOO36 1 000036 1 000036 1 ROUTINE COINI COINI: LET CQ.INP .- CO.ICQ 016767 177772 177756 M~V CQ. ICQ,CQ. INP I\1JV CQ.ICQ,CQ.OTP CLR CQ.CT RTS PC LET CQ.OTP .- CQ.ICQ 016767 177764 177752 LET CQ.CT := #0 005067 177750 ENDRTN 50000S: 500015: 000207 CTLQUE (CONTROL QUEUE MODULES) CTLQUE.MAC 28-JUL-78 09:13 633 634 635 636 637 638 639 640 541 642 643 544 645 546 647 648 >349 650 651 552 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 MACY11 30A(1052) 20-SEP-78 17:47 PAGE 19-4 ENQCQ (FUNCTIONAL DESCRIPTION) SEQ 0379 .SBTTL ENQCQ (FUNCTIONAL DESCRIPTION) ;++ MODULE NAME: ENQCQ FUNCTIONAL DESCRIPTION: THIS MODULE HANDLES QUEUEING OF ITEMS ON THE CONTROL QUEUE. INPUTS: 1. DATA TABLE ADDRESS 2. MODULE'S HEADER ADDRESS 3. RETURN ADDRESS IMPLICIT INPUTS: NONE OUTPUTS: NONE IMPLICIT OUTPUTS: DT.ERR PATHOLOGICAL CONNECTIONS: NONE SUBORDINATE ROUTINES CALLED: GETPSW ;GET CALLER'S PS WORD FUNCTIONAL SIDE EFFECTS: ENQUEING IS DONE AT PRIORITY LEVEL 7 WHICH SERVES AS A LOCK MECHANISM. CALLING SEQUENCE: CALL ENQCQ IN WHERE DTADR = DATA TABLE ADDRESS HDRADR HEADER ADDRESS RETADR = RETURN ADDRESS 670 671 672 673 674 675 VERSION: 0.0 676 677 678 679 680 681 EDIT DATE BY REASON CTLQUE (CeNTROL QUEUE MODULES) CTLQUE.MAC 28-JUL-78 09:13 683 684 685 (2) 686 687 688 689 690 391 (2) 692 693 694 595 696 697 698 599 (5) (9) 700 (4) 701 (6) 702 (2) 703 (2) (4) 704 (4) 705 706 707 708 709 710 711 (4 ) (3) (4 ) 712 (2 ) 713 (2 ) 714 (2 ) 715 716 717 718 719 720 721 722 MACY11 30A(1052) 20-SEP-78 ENQCQ (CODE) 17:47 PAGE 19-5 SEQ 0380 .SBTTL ENQCQ (CODE) 000040 1 000040 1 ROUTINE ENQCQ ENQCQ: ;+ ; SAVE RO PUSH RO 000040 I 000040' 010046 MOV RO,-(SP) CrAP SLT CQ.CT,CQ.MAX 50002$ MOV DT(R5),RO BIS #CQOVF!FATERR,DT MOV (SP)+,RO SEC BR 50001$ SUB JSR MOV #1*2,R5 PC, GETPS'.II (R5)+,CQ.PSW IV: 0 V #PR7,-(SP) MOV #1$,-(SP) ;+ ; IF THE COUNT IS EQUAL TO MAXIMUM, THE ; QUEUE IS FULL. SET ERROR FLAG IN THE ; STATUS INDICATOR AND RETURN WITH ERROR. ;- 000042 1 000042 I 000050 1 0000521 000052 1 000056' 000055' 000064 1 000064 1 IF CQ.CT GE CQ.MAX THEN 026767 002410 177740 016500 000000 177742 LET RO := DT(R5) 05:2760 100001 LET DT.ERR(RO) 0- DT.ERR(RO) SET.BY #CQOVF!FATERR 000020 POP RO 012600 RETURN ERROR OOO~66' 000066 1 000261 000070' 000443 000072' 0000721 ENDIF 50002$: ;+ ; SAVE CALLERIS PS WORD AND CHANGE ; PRIORITY LEVEL TO 7 000072 1 0000721 000076 1 000102 1 000106 1 000106 1 000112' 000112 1 000116 1 000116 1 000120' CALL GETPSW OUT 162705 004767 012567 000002 OOOOOOG 177672 012746 000340 PUSH #PR7 PUSH #1$ 012746 000120' INLINE RTI 000002 ;+ ; IF THE ENQUE POINTER IS AT HIGH ; ADDRESS, RE-INITIALIZE IT TO THE ; START ADDRESS OF THE QUEUE. ;INLlNE <1$:> CTLQUE (CONTROL QUEUE MODULES) 2B-JUL-78 09:13 CTLQUE.MAC 000120' 000120' 000120' 026767 000126' 00 Hl03 C00130' 000130' 016767 000136' 000136' 016700 177640 ( 4) 016520 000002 (3 ) (.2 ) 17:47 PAGE 19-6 SEO 0381 1:$ : (2 ) 723 (6 ) (9 ) 724 (4 ) 725 (4 ) 726 727 728 729 730 731 (4) 732 733 (4 ) 734 (4 ) 735 (6 ) 736 737 738 739 740 741 (2) 742 (2 ) 743 (2 ) 744 (2 ) 745 (2 ) 746 (3 ) (2 ) 20-SEP-78 MACY11 30A(1052) ENQCQ (CODE) IF CQ.INP EQ CQ.HI THEN 177656 177662 177660 177644 LET CO.INP ::: CO. rCQ CMP BNE CQ.INP,CQ.HI 50003$ MOV CQ. lCQ,CQ. INP MOV CQ.INP,RO MOV HD~(R5), MOV RET(R5) ,(RO)+ MOV RO,CQ.INP INC CQ.CT MOV CQ.PSW,-(SP) MOV #.2$,-(SP) ENDIF 50003$: ;+ ; I\: OW ENQUE THE ENTRY. , 000136' 000136' 000142' 000142' 000146' 000146' 000152' 000152' 000156' 000156' LET RO .- LET (RO)+ LET (RO)+ 016520 CQ.INP ..- 000004 LET CQ. I NP 010067 177624 005267 177624 .- HDR(R5) RET(R5) (RO)+ RO LET CQ.CT := CQ.CT + #1 ;+ ; RESTORE CALLER'S PS WORD AND RETURN , 000162' 000162' 000166' 000166' 000172' 000172' 000174' 000174' 000174' 000174' 000176' 000176' 000176' 000200' 000200' PUSH CQ.PSW 016746 177612 012746 000174' 000002 PUSH #2$ INLINE RTI INLINE <2$:> 2$: POP RO MOV 0125:)0 ENDRTN OJ0241 000207 (SP)+,RO 50000$: CLC 50001$: RTS PC CTLQUE (CONTROL QUEUE MODULES) CTLOUE.MAC 28-JUL-78 09:13 748 MACY11 30A(1052) 20-SEP-78 17:47 PAGE 19-7 DEQCQ (FUNCTIONAL DESCRIPTION) SEQ 0382 .SBTTl DEQCQ (FUNCTIONAL DESCRIPTION) 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 773 780 781 782 783 ;++ MODULE NAME: DEQCQ FUNCTIONAL DESCRIPTION: THIS MODULE HANDLES DEQUEUEING OF ITEMS FROM THE CONTROL QUEUE. INPUTS: NONE IMPLICIT INPUTS: NONE OUTPUTS: 1. MODULE'S HEADER ADDRESS 2. RETURN ADDRESS IMPLICIT OUTPUTS: ERROR RETURN INDICATES QUEUE UNDERFLOW. PATHOLOGICAL CONNECTIONS: NONE SU80RDINATE ROUTINES CALLED: GETPSW FUNCTIONAL SIDE EFFECTS: DEQUEING IS DONE AT PRIORiTY LEVEL 7 WHICH SERVES AS A LOCK MECHANISM. CALLING SEQUENCE: CALL DEQCQ OUT 784 786 787 788 789 790 791 792 793 794 795 HEADER ADDRESS !;ETURN ADDRESS WHERE HDRADR RETADR 785 VERSION: 0.0 EDIT DATE 8Y REASON CTLQUE (CONTROL QUEUE MODULES) 28-JUL-78 09: 13 CTLQUE.MAC 797 798 799 (2 ) 800 801 802 803 804 905 806 (6) (9) 807 (2 ) (4 ) 808 (4) 809 810 811 812 313 814 815 (4 ) ( 3) (4 ) 816 ( 2) 817 (2 ) 818 (2 ) 819 820 821 822 823 824 825 826 (2 ) 827 (6) ( 9) 828 (4 ) 829 (4 ) 830 831 832 833 884 835 MACY11 30A(1052) 20-SEP-78 DEQCQ (CODE) 17:47 PAGE 19-8 SEQ 0383 .SBTTL DEQCQ (CODE) ROUTINE DEQCQ 000202' 000202' DEQCQ: ;+ ; IF COUNT 15 EQUAL TO ZERO, THE QUEUE ; 15 EMPTY. RETURN WITH ERROR. ;- 000202' 00'J202' 000206 1 000210' 000210' 000212' 000214' OC0214' IF CQ.CT LE #0 THEN 005767 003002 177600 RETURN ERROR 000261 000444 TST BGT CQ.CT 50002$ SEC BR 50001$ SUB JSR MOV #1*2,R5 PC,GETPSW (R5)+,CQ.PSW MOV #PR7,-(SP) MOV #3$,-(SP) ENDIF 50002$: ;+ ; SAVE CALLER'S PS WORD AND ; CHANGE PRIORITY LEVEL TO 7 , 000214' 000214' 000220' 000224 1 000230' 000230' 000234' OC0234' 000240' 000240' CALL GETPSW OUT 162705 004767 012567 000002 OOOOOOG 177550 012746 000340 012746 000242' PUSH NPR7 PUSH #3$ INLINE RTI 000002 ;+ ; IF DEQUE POINTER IS AT HIGH ADDRESS, ; RE-INITIALIZE IT TO THE QUEUE'S ; START ADDRESS. , 000242 1 000242 1 000242 1 000242' 026767 000250 1 001003 000252' 000252' 012767 000260' 000260' INLINE. <3$:> 177536 177540 CMP ENE CQ.OTP,CQ.HI 50003$ IVOV #OV.CQ,CQ.OTP LET CQ.OTP := #OV.CQ OOOOOOG 177524 ENDIF 50003$: ;+ ; NOW DEQUEUE THE ENTRY. ;- 000260' 3$: IF CQ.OTP EQ CQ.HI THEN PUSH RO CTLQUE (CONTROL QUEUE MODULES) 28-JUL-7.s 09: 13 CTLQUE.MAC (2 ) 836 (4 ) 837 (4 ) 838 (4 ) 839 (4 ) 840 ( 6) 841 842 843 844 845 846 ( 2) 847 (2 ) 848 (2 ) 849 (2 ) 850 (2 ) 851 (3 ) (2 ) (3 ) (2) 852 000260' 000262' 000262' 000266' 000266' 000272' 000272' 000276' 000276' 000302' 000302' 010046 MACY11 30A(10S2) 20-SEP-78 DEQCQ (CODE) 17:47 PAGE 19-9 SEQ 0384 LET RO := CQ.OTP 016700 177516 012065 000000 012065 000002 010067 177502 005367 177500 LET HDR(R5) := (RO)+ LET RET(R5) .- (RO)+ LET CQ.OTP := RO LET CQ.CT := CQ.CT - #1 MOV RO,-(SP) MOV CQ.OTP,RO MOV (RO)+,HDR(RS) MOV (RO)+,RET(R5) MOV RO,CQ.OTP DEC CQ.CT MOV CQ.PSW,-(SP) MOV #4$,-(SP) ;+ ; RESTORE CALLER'S PS WORD AND RETURN , 000306' 000306' 000312' 000312' 000316' (;00316: 000320' 000320' 000320' 000320' 000322' 000322' 000322' 000324' 000324' PUSH CQ.PSW 016746 177466 012746 000320' 000002 PUSH #4$ INLINE RTI INLINE <4$:> 4$: POP RO MOV 012600 ENDRTN 50000$: CLC 000241 000207 000001 (SP)+,RO 50001$: RTS .END PC CTLQUE (COI\TROL QUEUE MODULES) 28-JUL-78 09:13 CTLQUE.MAC AC$R ACTBIT= ADDf<22 = ADR APTFER= APTPRE= ASB ASSEM3= ASTl\T = AUTO AUTOST= A\~AS BITO BITOO BITOl BIT02 BIT03 8IT04 BIT05 BIT06 BIT07 eIT08 81T09 BIT1 BIT10 GITll BIT 12 31T13 BIT 14 BIT15 81T2 BIT3 BIT4 BITS BIT6 BIT7 131 T8 B1T9 BKDEF 13 Krf:OD SKlY.ODE= BKSLSH= CAPRES= CASTAT= CDERCT= CDwDCT= CKTIM = CLKPRE= CONFIG= CQINI CQCVF CQ.CT CQ.HI 000102 004000 001000 OCOO06 000004 000200 000106 000010 000104 000010 020000 000110 OOCOOl 000001 000002 000004 000010 OC082Cl 000040 000100 000200 000400 001000 000002 002000 004000 010000 020000 040000 100000 000004 000010 000020 000040 000100 (100200 000400 001000 000002 000020 040000 000134 000004 000004 000146 000144 100000 000001 000056 000016RG 000001 00OO06R 00OC10R 20-SEP-78 MACY 11 30A(1052) SyMBOL TABLE CQ.lCQ CQ.INP CQ.MAX CQ.OTP CQ.PSW CR CSRA CSRC CTRLC CTRLO CTRLU DCEVNT= DEFRTN= DEQCQ DIAGMC= DROPMO= DSEVNT= DT DT.ADD= DT.AP = DT.APK= DT.BLS= DT.CFO= DT.CF1= DT.ERR= DT.ESI= DT.EVN= DT.EXS= DT.FCH= DT.FCN= DT.HMX= DT.KBE= DT.KBP= DT.KBR= DT.KBU= DT.MLS= DT.MTI= DT.OFF= DT.PAS= DT.PC = DT.PFL= DT. PS\v= DT. PT A= DT.RCS= DT.REL= DT.SCT= DT.SMX= DT.SP = DT.SSI= DT.STO= DT.ST1= DT.SWR= DT.SYP= 000014R OCOO02R 0OO012R 000004R OOOOOOR 000015 000100 000102 000003 000017 000025 000011 000400 000202RG 000000 100000 000014 000000 000042 000100 000076 000034 000014 000016 000020 000044 000000 000060 000037 000036 000104 000024 000026 000022 000030 000032 000110 000070 000074 000002 000062 000004 000064 000102 000040 000066 000106 000006 000046 000010 000012 000056 000072 DT.WBU= DT.WHL= DT.WLL= DVID1 = ECCMEM= ECCSTA= ENBEOP= ENBNUL= ENDLST= ENQCQ EOPBIT= ERRTYP= EVNTBE= EVNTHD= EVNTKT= EVNTPE= EVNTRE= FATERR= GETPSW= HDR HRDCNT= HRDPAS= ICONT = ICOUNT= IDNUM = IE INDPAR= INHDRP= INHEPR= INHREL= INHRRE= INIT INTR lOMOD lOfv1ODP= IorJlODR= IOMODX= JACK K1PARO= KIPAR1= KIPAR2= KIPAR3= KIPAR4= KIPAR5= KIPAR6= KIPAR7= KIPDRO= KIPDR1= KIPDR2= KIPDR3= KIPDR4= KIPDR5= KIPDR6= 17:47 PAGE 20 000050 000054 000052 000014 000100 000010 010000 000001 000000 0OO040RG 000001 000106 000200 000200 000203 000:202 000201 100000 ****** G 000000 000044 000050 000036 000040 000122 000100 000040 040000 020000 001000 000400 000030 000120 100000 102000 112000 1100CO 035060 172340 172342 172344 172346 172350 172352 172354 172356 172300 172302 172304 172306 172310 172312 172314 SEQ 0385 KIPDR7= KTERRO= KTPRES= KTSTAT= KTXTND= LF LPSTAT= MAPSTA= MED MEMPAS= MODEXH= MODHOL= IVIODSEL= MSGCKD= MSGCKS= MSGDER= MSGDRP= MSGECH= MSGEOP= MSGHDR= MSGHNG= MSGHRD= MSGMAP= MSGNUL= MSGPOP= MSGPRM= MSGRES= MSGSFT= MSGSKE= MSGSM8= MSGSMH= MSGSMS= MSGSTD= MSGSYS= MSGVEC= NBKMOD= NCPUOP= NOAPTY= NULL OV.CQ = OV.CQS= OV.HIC= OWEN PAERR = PARPRE= PARSTA= PASCNT= PDPLSI= PDP60 PDP70 PRIO PR 11 PRI4 PRI5 PRI6 PRI7 PRO PR4 PR5 PR6 PR7 PS PSW RANNUM= R3UFEA= RBUFPA= RBUFSZ= RBUFVA= 172316 000040 000400 000020 040000 000012 000001 000200 076600 040000 004000 002000 001000 000010 000011 000005 000017 177777 000013 000004 000022 000007 000021 177775 000002 177776 000001 00C006 000003 000015 000014 000016 000000 000012 000020 001000 000020 000002 000000 **,~*** RDS~RV= G ****** G ****** G 024020 000010 002000 000100 000034 020000 004000 010000 000000 000040 000200 RDWHMI= RELERR= R!::LMOD= REL TIM= RES1 RES2 RET RICHAR= RPTDAT= RSTRT = RUBOUT= RUNMOD= R5VALL'= SAM SBADR = SBKMOD= S3KSE L= SC.ADR= SC.ALC= SC.APC= SC.CKL= SC.CKP= SC.CLO= SC.HLD= SC.SCA= SENDLS= SCFCNT= SOFPAS= SPACE = SPOINT= SPVALU= SRO SR1 SR2 SR3 STAT STATSI= 000240 000300 000340 000000 000200 000240 000300 000340 177776 177776 000054 000130 000126 000132 000124 000101 000022 000020 020000 010000 000056 000060 000002 031060 002000 000112 000177 100000 001740 075464 000102 000000 010000 000006 000014 000016 000002 000004 000000 000010 000012 177777 000042 000046 000040 000032 002200 177572 177574 177576 172516 000026 064757 CTLQUE (CONTROL QUEUE MODULES) 28-JUL-78 09: 13 CTL~UE.MAC STATl = SUSPND= SVRO SVRl SVR2 SVR3 SVR4 SVRS SVR5 SYSCNT= SYS::'RR= TI'v1PIO = TQOVF = UIP<\RO= UIPAR1= UIPAR2= UIPAR3= UIPAR4= UIPAR5= UIPARE;= 000027 000001 000062 000064 000066 000070 000072 000074 000076 000052 000100 000002 000002 177640 177642 177644 177646 177650 177652 177654 A3S. 000000 000326 20-SEP-78 MACY11 30A(1052) SYMBOL TABLE 17:47 XOFF XGN $BGNLE= $ERFLG= $F$AND= $F$B,\D= $F$BLA= $F$CAS= $F$DEC= $F$DO = $F$FAL= $F$GOO= $F$IF = $F$INC= $F$LOO= $F$NAM= $F$NO = $F$OR = $F$RTI= $F$RTN= 0000.23 0000.21 177777 000400 000310 000401 000170 000150 000220 000340 000405 (.00400 000110 000210 000200 000160 000403 000320 000350 000300 UIPAR7= UIPDRO= UIPDR1= UIPDR.2= UIPDR3= UIPDR4= UIPDR5= UIPDR6= UIPDR7= WASADR= WBSTAT= WBUFEA= WBUFPA= WBUFRQ= WBUFSZ= WDFR WDTO WTINRE=. ~H~\lHMI = XFLAG = 177656 177600 177602 177604 177606 177610 177612 177614 177616 000104 000040 000136 000134 000140 000142 000116 000114 000352 000222 000005 000 001 t:RRORS DETECTED: 0 DEFAULT GLOBALS GENERATED: 0 DSKZ:CTLQUE,DSKZ:CTLOUE=SPMAC/ML,EQUATE,CTLQUE RUN-TIME: 14 4 .4 SECONDS RUN-TIME RATIO: 40/19=2.0 CORE USED: 14K (27 PAGES) PAGE 20-1 SEQ 0386 $F$SEL= $F$THE= $F$TRU= $F$UNT= $F$WHI= $F$YES= $IFLEV= $ISKO = $LOCTA= $LSTIN= $LSTTA= $NESTL== $NSKO = $NSKl == $SAVLE= $TAGLE= $TAGNU= $TEMP = $TSKO = $$ARGC= 000140 000330 000404 000130 000120 000402 177?77 000001 177777 000001 000001 17'1777 000300 000110 177777 177777 050004 000300 050003 000004 $.$BYTE= $$CASE= $$DST = $$EL.OC= $$ERFL= $SFLAG= $$FROM= $$lllC == $$LOCN= $$REG = $$RETU= $SR~N1= $$RTN2= $$SRC = $$TGSV= $$TGS1= $$TGS2= $$TO $$$TAG= 000403 000000 000000 000402 000000 000001 000001 000250R 000000 177777 000001 050000 050001 000000 000000 000000 000000 000000 050000 000326R .MAIN. MACY11 30A(1052) 20-SEP-78 EQUATE.MAC 13-SE?-7B 16:13 3 531 534 577 629 722 772 17:48 TABLE OF CONTENTS COMMON EQUATE MODULE COMMON DEFINITIONS AND REFERENCES FOR CONOF 000000 1 .PRINT ;SPMAC: VERSION 1.1 KCON PROCESS THE ICON I (CACHE ON) KEYBOARD COMMAND KCON ROUTINE KCOFF PROCESS THE ICOFF I KEYBOARD COMMAND KCOFF PROCESS THE KEYBOARD COMMANDS ICOFF I SEQ 0387 CONOF PROCESS THE ICON I AND ICOFF I KEYBOARD COMMAND MACY'1 30A(10S:) CONQF.MAC 08-AUG-78 12:21 COM~ON EQUATE MODULE 508 509 510 511 512 513 514 515 516 517 513 519 520 .TITLE .IDENT CONOF JVO.Oj 20-SEP-78 17:48 P~GE SEQ 0388 PROCESS THE ICON I AND ICOFF I KEYBOARD COMMAND ;++ MODULE PACKAGE NAME: CONOF FUNCTIONAL DESCRIPTION: THIS MODULE PACKAGE CONTAINS: 1. KCON - PROCESS THE ICON I KEYBOARD COM~AND 2. KCOFF - PROCESS THE ICOFF I KEYBOARD COMMAND 521 522 VERSION: 523 524 525 526 527 528 529 0.0 EDIT 19 BY DATE REASON CONOF PROCESS THE 'CON' AND 'COFF' KEYBOARD COMMAND MACY11 30A(1052) 20-SEP-78 CONOF.MAC 08-AUG-78 12:21 COMMON DEFINITIONS AND REFERENCES FOR CONOF 531 532 533 534 (1) 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 55S 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 000000' oooono' 17:4B .SBTTL COMMON DEFINITIONS AND REFERENCES FOR CmJOF .MCALL STRUCT .PRINT STRUCT ;SPMAC: VERSION i • 1 $LSTTAG=1 $LSTIN=1 000001 000001 ;**************** ; REFERENCED BY OTHER MODuLES: .GLOBL .GLOBL ;KCON MODULE ENTRY POINT ;KCOFF MODULE ENTRY POINT KCON KCOFF ; GLOBAL REFERENCES: .GLOBL .GLOBL .GLOBL .GLOSL .GLOBL .GL08L ;CONTROL ItJORD FOR CACHE REG. ;SAVE REGISTERS ;RESTORE REGISTERS ;CHECK AN ARGUMENT ;'INVALID ARGUMENT' MESSAGE ;CONTROL WORD CCNTRL SAVREG RESREG ARGCHK CM.ARG KONTRL i**************** ;**************** ;**************** ; LOCAL EQUATES: ;FLUSH 11/60 CACHE CFLUSH=352 000352 ;**************** ; 000000' 000006' 000014' 000022' 000030' 000036' 000044' 000050' 000056' 000062' 000070 1 041445 042440 026440 052047 020116 040503 047117 047516 042510 040503 043117 000076' 041501 051122 053440 052040 047117 044103 000045 041440 000045 044103 022506 LOCAL STORAGE: 042510 051117 0471 17 051125 000045 020105 CO. BAD: .ASCIZ /%CACHE ERROR - WON'T TURN ON%/ CO. ON: .ASCIZ /CACHE ON%/ 041501 CO. NUN: .ASCIZ /NO CACHE%/ 020105 000 CO.OFF: .ASCIZ /CACHE OFF%/ .EVEN PAGE 19-1 SEQ 0389 CONOF PROCESS THE ICON I AND ICOFF I KEYBOARD COMMAND MACV11 30A(1C52) 20-SEP-78 17:48 CONOF.MAC 08-AUG-76 12:21 KeeN PROCESS THE 'CONI (C~CHE ON) KEYBOARD COMMAND PAGE 19-2 SEQ 0390 577 578 579 . SBTT L KCON PROCESS hiE I CON I (CACHE ON) KEYBOARD COMMAND .IDENT /VO.O/ :.380 ;++ S81 582 MODULE NAME: KCON 583 584 585 585 587 -385 S89 590 FUNCTIONAL DESCRIPTION: THIS ROUTINE PROCESSES THE ICON I (CACHE ON) KEYBOARD COMMAND. IT WILL FIRST CHECK FOR THE PRESENCE OF ILLEGAL ARGUMENTS. IF ANY, AN ERROR MESSAGE IS OUTPUTTED AND IF NOT, AND ITIS AN 11/60, THE CACHE IS FIRST CLEARED. IF NO CACHE, AN ERROR MESSAGE IS STUFFED. 591 592 INPUTS: 593 1. 594 595 596 597 598 2. DECODE BUFFER PTR 599 600 601 602 603 604 605 606 607 608 609 ADDRESS OF DATA TABLE IMPLICIT INPUTS: DT.CFO OUTPUTS: NONE IMPLICIT OUTPUTS: DT.KBRSP PATHOLOGICAL CONNECTIONS: NONE 611 SUBORDINATE ROUTINES CALLED: 1. 4RGCHK - CHECK AN ARGUMENT 2. SAVREG - SAVE REGISTERS 3. RESREG - RESTORE REGISTERS 612 613 614 FUNCTIONAL SIDE EFFECTS: NONE 610 615 616 617 618 619 CALLING SEQUENCE: CALL KCON IN WHERE DTADR = ADDRESS OF DATA TABLE BUFPTR = DECODE BUFFER POINTER 620 621 622 623 624 625 626 627 VERSION: 0.0 EDIT DATE BY REASON CONOF PROCESS THE 'CON' AND 'COFF' CONOF.MAC 08-AUG-78 12:21 629 630 631 (2 ) 632 633 634 635 636 637 (3 ) 638 (4 ) 639 (4 ) 640 641 642 643 644 645 (4 ) ( 3) (4 ) (3 ) (3) (4 ) 646 647 (6) 548 649 650 651 KEYBOARD COMMAND KCON ROUTINE .SBTTL (9) 661 662 663 664 665 666 667 668 (4) 20-SEP-78 11:48 PAGE 19-3 SEQ 0391 KCON ROUTINE ROUTINE KCON 000076' 000076' KCON: ;+ ; , 000076 ' 000076 ' 004767 000102 ' 000102 ' 016501 000106' 000106 ' 016502 INIT AND SAVE DTABLE,BUFPTR CALL SAVREG OOOOOOG LET R1 000000 LET R2 ..- DTADR(R5) JSR PC,SAVREG MOV DTADR(R5),R1 MOV BUFPTR(R5),R2 SUB MOV MOV JSR MOV MOV #i*2,R5 R5,-(SP) R2,-(R5) PC,ARGCHK (SP)+,R5 (R5)+,R2 BCC 50002$ BIT BEQ #CAPRES,DT.CFO(R 50003$ BIT BEQ #PDP60,DT.CFO(R1 50004$ BUFPTR(R5) 000002 ;+ ; CHECK FOR JUNK ARGUMENTS , CALL ARGCHK IN OUT 000112 ' 000112' 000116 ' 000120 ' 000122' 000126' 000130 ' 16~705 000002 010546 010245 004767 012605 012502 OOOOOOG 000132 ' 000132 ' 103045 IF. ERROR THEN ;+ NO JUNK ARGS ... CONT I NUE ... SEE IF CACHE EXISTS AT A:"L , 65~ 653 654 (6) ( 9) 655 656 657 658 659 660 (6) MACY11 30A(1052) 000134 ' 000134 ' 032761 000142' 001435 IF NCAPRES SETIN DT.CFO(R1) THEN 000004 000014 ;+ ; THERE IS CACHE. .. SEE \II/HAT FLAVOR ..• PDP 11/60 OR OTHER , 000144 ' 000144 ' 032761 000152 ' 001404 IF #PDP60 SETIN DT .CFO(R1) THEN 004000 000014 ;+ ; IT'S AN 11/60 SO, US li~G THE 'MED' INSTRUCTION FEATURE OF IT, DO A ; CACHE SWEEP. CODE OF 200 TO RO,352 TRAILING TO GET INIT REG( INTERNAL ; MICROCODE), CLEAR THE FORCE MISS BI TS, ... ,' 000154 ' 000154 ' 012700 LET RO 000200 .- #200 MOV #200,RO CONOF PROCESS THE 'CON' AND 'COFF' KEYBOARD COMMAND CONOF.MAC 08-AUG-78 12:21 KCON ROUTINE 669 (2) 670 (2) 671 (4) 672 (6) 673 (4) 674 675 576 677 678 679 580 681 682 (6) ( 9) 683 (4 ) 684 ( 4) (3 ) 691 (G) 692 693 (4 ) 694 (4 ) (3 ) PAGE 19-4 MED INLINE <#CFLUSH> #CFLUSH ENDIF 000164' 000164' 000164' 000164' 042767 000172' 000172' 016777 50004$: LET KONTRL := KONTRL CLR.BY #14 000014 OOOOOOG BIC #14,KONTRL MOV KONTRL,@CCNTRL BIT BEQ #14,@CCNTRL 50005$ MOV #CO.BAD,DT.KBRSP BR 50006$ LET @CCNTRL '- KONTRL OOOOOOG OOOOOOG + SEE IF IT REALLY DID ENABLE ... IF NOT STUFF ERROR MSG ... IF #14 SETIN @CCNTRL THEN 032777 001404 000014 OOCOOOG 012761 000000' 000022 LET DT.KBRSP(R1) '- #CO.BAD ELSE 000406 50005$: ;+ ; NOW STUFF THE CACHE ON MSG, SET THE CACHE ENABLE BIT IN STATUS WORD ... 687 (4 ) 17:48 IN LI NE 076600 000162' 000162' 000352 000200' 000200' 000206' 000210' 000210' 000216' 000216' 000220' 20-SEP-78 SEQ 0392 000160' 000160' 685 586 688 689 690 MACY11 30A(1052) 000220' 000220' 012761 000226' 000226' 052761 LET DT.KBRSP(R1) 000004 .- #CO.ON MOV 000036' 000022 LET DT.STO(R1) #CO.ON,DT.KBRSP( := DT.STO(R1) SET.BY #CASTAT 000010 BIS #CASTAT,DT.STO(R BR 50007$ ENDIF 000234' 000234' 000234; 000234 1 000403 C00236' 50006$: ELSE 50003$: 695 ;+ 696 697 ; THERE IS NO CACHE .•. TELL OPERATOR - STUFF THE NO CACHE ERROR MSG 698 ;- 699 700 (4) 701 (4) 702 703 704 705 706 (4) 000236' 000236' 012761 000244' 000244' 000244' 000244' 000403 LET DT .KBRSP(R1) .- #CO.\JUN 000050' 000022 MOV #CO.NUN,DT.KBRSP ER 50010$ ENDIF ::50007$: ELSE CONOF PROCESS THE 'CON' AND 'COFF' KEYBOARD COMMAND CONOF.MAC C8-AUG-78 12:21 KCON ROUTINE (3) 707 708 709 710 711 712 713 (4) 714 71~ (4) 716 717 (3 ) MACY11 30A(1052) 20-SEP-78 000246' 17:48 PAGE 19-5 SEQ 0393 50002$: ;+ ; THERE WAS A JUNK ARGUMENT ; DON'T HONOR COMMAND ...• STUFF ERROR MSG 'f - 000246 ' 000246 ' 012761 LET DT.KBRSP(R1) := #CM.ARG OOOOOOG 000022 #CM.ARG,DT.KBRSP JSR PC,RESREG RTS PC ENDIF 000254 ' C00254 ' 000254 ' 000254 ' 004767 IVIOV 50010S: CALL R£SREG OOOOOOG 718 719 (3 ) (3) ( 2) 720 000260 ' 000260 ' 000260 ' 000260' 000207 ENDRTN 50000$: 50001$: CONOF PROCESS THE 'CON ' AND 'COFF' KEYBOARD COMMAND MACY11 30~(1052) 20-SEP-78 CONOF.MAC 08-AUG-78 12:21 KCOF~ PROCESS THE 'COFF' KEYBOA~D COMMAND 722 723 17:48 PAGE 19-6 .SBTTL KCOFF PROCESS THE 'COFF' KEYBOARD COMMAND .IDENT /VO.Oj 724 725 726 727 728 729 '130 731 732 733 734 735 736 737 738 739 ;++ MODULE NAME: KCOFF FUNCTIONAL DESCRIPTION: THIS ROUTINE PROCESSES THE 'COFF' (CACHE OFF) KEYBOARD COMMAND. IT WILL FIRST CHECK FOR THE PRESENCE OF ILLEGAL ARGUMENTS. IF ANY, AN ERROR MESSAGE IS OUTPUTTED AND IF NOT THE FORCE MISS BITS IN THE CONTROL REGISTER ARE SET. IF NO CACHE AN ERROR MESSAGE IS STUFFED. INPUTS: 1. ADDRESS OF DATA TABLE 2. DECODE BUFFER PTR 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 75f 757 IMPLICIT INPUTS: DT.CFO OUTPUTS: NONE IMPLICIT OUTPUTS: 1. DT.KBRSP PATHOLOGICAL CONNECTIONS: NONE SUBORDINATE ROUTINES CALLED: 1. ARGCHK - CHECK AN ARGUMENT FUNCTIONAL SIDE EFFECTS: NONE 758 759 760 761 762 76::' 764 765 76£ 767 768 769 770 CALLING SEQUENCE: CALL KCOFF IN WHERE DTADR = ADDRESS OF DATA TABLE BUFPTR = DECODE BUFFER POINTER VERSION: 0.0 EDIT DATE BY REASON SEQ 0394 CONOF PROCESS THE 'CON' AND 'COFF' KEYBOARD COMMAND CONOF.MAC 08-AUG-78 12:21 KCOFF PROCESS 772 773 774 (2 ) 7""r:. loJ 776 777 778 779 780 (2 ) (3 ) 781 (4) 782 (4 ) 783 784 785 786 787 788 (4) ( 3) (4 ) (3 ) (3 ) (4 ) 789 790 (6 ) 791 792 792 794 795 796 797 (6 ) (9) 798 799 800 801 802 803 804 (6 ) 805 (4) 806 (4) 807 (6 ) 808 809 .SBTTL MACY11 30A(1052) 20-SEP-78 KEYBOARD COMMANDS 'COFF' 17:48 PAGE 19-7 SEQ 0395 TH~ KCOFF PROCESS THE KEYBOARD COMMANDS 'COFF' ROUTINE KCOFF 000262' 000262' KCOFF: ;+ INITIALIZE AND SAVE DATA TABLE ADDRESS AND BUFPTR ; , 000262' 000262' 010046 000264' 010146 000266' 000266' 016500 PUSH RO,R1 LET RO 000000 LET RI 000272' 000272' 016501 ..- M:JV MOV RO,-(SP) R1,-(SP) MOV DTADR(R5),RO MOV BUFPTR(R5) ,R1 SUB MOV MOV JSR MOV MOV #1*2,R5 R5,-(SP) RI,-(R5) PC,ARGCHK (SP)+,R5 (R5)+,Rl BCC 50002$ BIT BEQ #CAPRES,DT.CFO(R 50003$ BIS #14,KONTRL MOV KONTRL,@CCNTRL MOV #CO.OFF,DT.KBRSP SIC #CASTAT,DT.STO(R DTADR(R5) BUFPTR(R5) 000002 ;+ SEE IF ANY JUNK ARGUMENTS , CALL ARGCHK IN OUT 000276' 000276' 000302' 000304' 000306' 000312' 000314' 162705 010546 010145 004767 012605 012501 000316' 000316' 103025 000002 OOOOOOG IF.ERROR THEN + NO JUNK ARGUMENTS FOUND SO SEE IF CACHE EXISTS AT ALL 000320' 000320' 032760 000326' 001415 IF #CAPRES SETIN DT.CFO(RO) THEN 000004 000014 + CACHE DOES EXIST SO TURN OFF CACHE AND STUFF MSG 000330' 000330' 000336' 000336' 000344' 000344' 000352' 000352' 000360' LET KONTRL := KONTRL SET.BY #14 OOOOOOG 052767 000014 016777 OOOOOOG OOOOOOG LET @CCNiRL := KONTRL LET DT.KBRSP(RO) 012760 000062' 000022 042760 000004 LET DT.STO(RO) 000010 ELSE .- := #CO.OFF DT.STO(RO) CLR.BY #C.A.STAT CONJF PROCESS THE ICON I AND ICOFFI KEYBOARD COMMAND MACVll 30A(1052) 20-SEP-78 CONOF.MAC 08-AUG-78 12:21 KCOFF PROCESS THE KEYBOARD COMMANDS 'COFF ' (4) (3) 810 811 812 813 814 815 (4) 316 817 (4) 318 (4) (3) 819 820 821 822 823 824 (4) 825 825 (4) 827 828 829 830 831 832 (2) (3) 833 834 (3) (3) (2) 835 836 000360 000362 1 17:48 PAGE 19-8 SEQ 0396 000403 BR 50004$ MOV #CO.NUN,DT.KBRSP BR 50005$ MOV #CM.ARG,DT.KBRSP MOV MOV (SP)+,Rl (SP)+,RO RTS PC 50003$: 1 ;+ ; NO CACHE ON SYSTEM - GO INSULT OPERATOR .... ; STUFF ERROR MSG ..• 000362 1 000362 1 012760 LET DT.KBRSP(RO) 000050 1 '- #CO.NUN 000022 000370 1 C00370 ' 000370 1 000370 1 000403 000372 1 ENDIF 50004$: ELSE 50002$: ;+ ; THERE ARE JUNK ARGUMENTS - STUFF ERROR MSG AND LEAVE ,' 000372 000372 1 000400 000400 1 1 LET DT.KBRSP(RO) .- #CM.ARG 012760 OOOOOOG 000022 ENDIF 1 50005$: ;+ ; CLEAN UP AND SCRAM 000400 1 000400 I 01 2601 000402 1 012600 POP Rl,RO 000404 1 000404 1 000404 1 000404 1 000207 ENDRTN 000001 50000~: 50001$: .END CONUF PROCESS THE ICON I AND 08-AUG-78 12:21 CONOF.MAC :\CSR ACTBIT= .c.DDR22= ADR APTFER= APTPRE= ARGCHK= ASB ASS[MB= ASTAT = AUTJ AUTOST= AVJAS 81TO 81TOO 81T01 81T02 8IT03 E3IT04 [31T05 GIT06 BIT07 HIT08 t3IT09 oITl f3 IT 10 BIT 11 [3 IT 12 81T13 £31 T 14 E3 IT 15 £31 T 2 81T3 [31 T4 [3IT5 BIT6 [j I T7 UIT8 t11T9 BKDEF [3KMOD GKrWDE= [)KSLSH= E.lUFPTR= CAPRES= CASTAT= CCNTRL= COERCT= CDWDCT= CFLUSH= CKTlM = CLKPRE= CM.ARG= 000102 004000 001000 000006 OOC004 000200 ****** G 000103 000010 000104 000010 020000 oeo 110 000001 000001 000002 000004 000010 000020 000040 000100 000200 000400 001000 000002 002000 004000 010000 020000 040000 100000 000004 000010 000020 000040 000100 000200 000400 001000 000002 000020 040000 000134 000002 000C04 000004 ****** G 000146 000144 000352 100000 000C01 ****** G ICOFF I KEYBOARD COMMAND S)';'>vi80L TABLE CONFIG= CO. BAD CO.NUN CO.OFF CO.ON CQOVF CR CSRA CSRC CTRLC CTRLO CTRLU DCEVNT= DEFRTN= DIAGNlC= DROPMO= DSEVNT= DTADR = DT.ADO= DT.AP = DT.APK= DT.BLS= DT.CFO= DT.CF1= DT.ERR= DT.ES1= DT.EVN= DT.EXS= DT.FCH= DT.FCN= DT.HMX= DT.KBE= DT.KBP= DT.KBR= DT.KBU= DT.MLS= DT.MTl= DT.OFF= DT.PAS= DT.PC = DT.PFL= DT.PSW= DT.PTA= DT.RCS= DT.REL= DT.SCT:= DT.SMX= DT.SP = DT.SSI= OT.STO= DT.ST1= DT.SWR= DT. SYP= 000056 OOOOOOR 000050R 000062R 000036R 000001 000015 000100 000102 000003 000017 000025 000011 000400 000000 100000 000014 OCOOOO 000042 000100 000076 000034 000014 000016 000020 000044 000000 000060 000037 000036 000104 000024 000026 000022 000030 000032 000110 000070 000074 000002 000062 000004 000064 000102 000040 000066 000106 COOO06 000046 000010 000012 000056 000072 MACY11 DT.WBU= DT . ~'JH L= DT.WLL= DVID1 = ECCMEM= ECCSTA= ENBEOP= EN8NllL= ENDLST= EOPBIT= ERRTYP= EVNTBE= EVNTHD= EVNTKT= EVNTPE= EVNTRE= FATERR= HRDCNT= HROPAS= lCONT = lCOUNT= IDNUM = IE INDPAR= lNHDRP= INHEPR= INHREL= INHRRE= INIT INTR IOMOD IOMDDP= IOMODR= IOMODX= JACK KCOFF KeON KlPARO"'= KIPAR1= KIPAR2= KIPAR3= KIPAR4= KlPAR5= KIPAR6= KIPAR7= KIPDRO= KIPDR1= KIPDR2= KIPDR3= KIPDR4= KIPDR5= KIPDR6= KIPDR7= 30A(1052) 000050 000054 000052 000014 000101) 000010 010000 000001 000000 000001 000106 000200 000200 000203 000202 000201 10000J 000044 000050 000036 000040 000122 000100 000040 040000 020000 001000 000400 000030 000120 100000 102000 112000 110000 035060 000262RG 000076RG 172340 172342 172344 172346 172350 172352 172354 172356 1723CO 172302 172304 172306 172310 172312 172314 172316 20-SEP-78 KONTRL= KTERRO= KTPRES= KTSTAT= KTXTND= LF LPSTAT= M..\PSTA= MED MEMPAS= MODEXH= MODHOL= r.10DSE L= MSGCKO= MSGCKS= MSGDER= MSGDRP= MSGECH= MSGEOP= MSGHDR= MSGHNG= MSGHRD= MSGMAP= MSGNUL= MSGPOP= MSGPRPJI= MSGRES= MSGSFT= MSGSKE= MSGSfJlB= MSGSfv1H= MSGSrr:s= MSGSTD= MSGSYS= MSGVEC= NBKMOD= NCPUOP= NOAPTY= NULL OWEN PAERR PARPRE= PARSTA= PASCNT= PDPLSl= PDP60 PDP70 PRIO PR I 1 PRI4 PRI5 PRI6 PRI7 17:48 PAGE 20 **"':t** G 000:)40 000400 000020 040000 000012 000001 000200 0761'300 040000 004000 002000 001000 000010 000011 000005 000017 177777 000013 000004 00.'J022 000007 000021 177775 000002 177776 000001 000005 000003 000015 000014 000016 000000 000012 000020 001000 000020 000002 000000 024020 000010 002000 000100 000034 020000 004000 01')':;00 000000 OOC040 000200 000~40 000300 000340 SEQ 0397 RANNUM= RL3lJFEA= RB'.... ::·PA= RBuFSZ= RBUFVA= RDSERV= RJiillHM I::. RELERR= RE Uv10D= RELTIM= 000000 000200 000240 000300 000340 177776 177776 000054 000131) OC0126 000132 000124 000101 000022 000020 020000 010000 RES~EG= ****** G PRO PR4 PR5 PR6 PP'7 PS PSW R:::S1 RES2 RICHAR= RPTDAT= RSTRT = RUBCUT= 000056 000060 031060 002000 000112 000177 RUN~v~OD= 100000 R5VALU= 001740 075464 SAM SAVREG= ****** G SBADR = 000102 SBKrf.OD= 000000 SBKSE L= 010000 SC.ADR= 000006 SC.ALC= 000014 SC.APC= 000016 SC.CKL= 000002 SC.CKP= 000004 SC.CLO= 000000 SC.HLD= 000010 SC.SCA= 000012 SENDLS= 177777 SOFCNT= 00004-2 SDFPAS= 000046 SDACE = 000040 SPOINT= 000032 SPVALU= 002200 177572 SRO 177574 SR1 177576 SR2 172516 SR3 000026 STAT STATB!= 064757 STATl = 000027 SUSPND= 000001 CONOF FROCESS THE ICON I AND ICOFFI CONOF.MAC 08-AUG-78 12:21 SVRO SVR1 SVR2 SVR3 SVR4 SVR3 SVRS SYSCNT= SYSERR= TMPIO = TQOVF = UIPARO= UIPAR1= UIPAR2= UIPAR3= UIPAR4= JIPAR5= UIPAR6= UIPAR7= JIPDRO= UIPDR1= 000062 000064 000066 OC0070 000072 000074 000076 000052 000100 000002 000002 177640 177642 177644 177646 177650 177652 177654 177656 177600 177602 ASS. 000000 000406 UIPDR2= UIPDR3= UIPDR4= UIPDR5= UIPDR6= UIPDR7= WASADR== WBSTAT= WBUFEA= WBUFPA= WBUFRQ= \lJ8U F SZ == WDFR WDTO WTINRE= WTWHMI= XFLAG = XOFF XON $BGNLE= $ERFLG= KEYBOARD CCMMAND SYMCOl TABLE 177604 177606 177610 177612 177614 177616 000104 000040 000136 000134 000140 000142 000116 000114 000352 000222 000005 000023 000021 177777 000400 000 001 ERRORS DETECTED: 0 DEFAULT GLOBALS GENERATED: 0 DSKZ:CCNOF,DSKZ:CONOF=SPMACjML,EQUATE,CONOF RUN-TIME: 15 5 .4 SECONDS R~N-TIME RATIO: 42/21=2.0 CORE USED: 14K (27 PAGES) MACY11 30A(1052) $F$AND= $F$BMD= $F$BLA= $F$CAS= $F$DEC= $F$DO = $F$FAL= $F$GOO= $F$IF = $F$INC= $F$LOO= $F$NAM= $F$NO = $F$OR = $F$RTI= $F$RTN= $F$SEL= $F$THE= $F$TRU= $F$UNT= $F$WHI= 20-SEP-78 17:48 PAGE 20-1 SEQ 0398 000310 000401 000170 000150 000220 000340 000405 000400 000110 000210 000200 000160 000403 000320 000350 000300 000140 000330 000404 000130 000120 $F$YES== $IFLEV= $ISKO = $ISK1 = $ISK2 = $LOCTA= $LSTIN= $LSTTA= $NESTl= $NSKO $NSK1 = $NSK2 = $NSK3 = $SAVLE= $TAGlE= $TAGNU== $TEMP $TSKO = $TSK1 = $TSK2 = $$ARGC= 000402 177777 000001 00)001 000001 177777 000001 000001 177777 000300 000110 000110 000110 177777 177777 050006 000300 050005 050004 050006 000004 $SBYTE= $$CASE= $$DST = $$ELOC= $$ERFl= $$FLAG= $SFROII/I= $$LOC = $$LOCN= $$REG = $'~RETU= $$RTN1= $$RTN2= $$SRC = $$TGSV= $$TGS1= $$TGS2= $$iO $$$TAG= 000403 000000 000000 000402 000000 000001 000001 000326R 000000 177777 00000,) 050000 050001 000000 000000 000000 000000 000001 050000 000406R .MAIN. MACY11 30A(1052) 20-SEP-78 EQUATE.MAC 13-SEP-78 16:13 3 555 558 595 17:48 TABLE OF CONTENTS COM~ON EQUATE MODULE COMMON DEFINITIONS AND REFERENCES 000000 1 .PRINT DPEOP ROUTINE ;SPMAC: VERSION 1.1 SEO 0399 DPEOP - XXDPjACT-11 END-OF-PASS MACV11 30A(1052) 20-SEP-78 17:48 DPEOP.MAC 2S--JUL-78 09:14 COi,~r\~C:J eQUATE rr.OCL!LC 508 509 510 511 512 513 514 515 516 517 518 519 PAGE 19 SEQ 0400 .TITLE DPEOP - XXDPjACT-11 END-Of-PASS .IDENT JVO.Oj j++ MODULE NAME: DPEOP FUNCTIONAL DESCRIPTION: CONTROLS RETURN TO AND RESTART FROM XXDP!ACT-,1 INPUTS: DATA TABLE ADDRESS 520 521 522 523 524 525 526 527 528 529 530 531 53~ 533 534 535 536 537 532 539 540 541 54~ 543 544 545 546 547 548 549 550 551 552 553 IMPLICIT INPUTS: DT.ESIZ, DT.ADDR, DT.BLST, DT.SSIZ, DT.ST1 OUTPUTS: NONE IMPLICIT OUTPUTS: NONE PATHOLOGICAL CONNECTIONS: MD. COD DX.R5 DX.SP BA.MPTR ;MESSAGE CODE IN MSGDEQ ;R5 STACK POINTER ;R6 STACK POINTER ;BACKGROUND MODULE LIST POINTER SUBORDINATE MODULES CALLED: RSTRCY MSGDEQ DX.INI ;RECOVER FROM RESET ;MESSAGE DEQUEUER ;MONITOR INIT. ROUTHI~ FUNCTIONAL SIDE EFFECTS: CAUSES PROGRAM CONTROL TO LEAVE THE EXERCISER CALLING SEQUENCE: CALL DPEOP IN A=ADDRESS OF DATA TABLE VERSION: 0.0 EDIT ,'-- BY DATE REASON DPEOP - XXDPjACT-11 END-OF-PASS MACY11 30A(1052) 20-SEP-78 17:43 PAGE 19-1 DPEOP.MAC 28-JUL-78 09:14 COMMON DEFINITIONS AND REFERENCES 555 556 557 558 (1) 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 SEQ 0401 .SBTTL COMMON DEFINITIONS AND REFERENCES 000000' 000000' 000001 000001 .MCALL STRUCT STRUCT .PRINT ;SPMAC: VERSION 1.1 $LSTIN=1 $LSTTAG=1 ;**************** , ; REFERENCED BY OTHER MODULES .GLOBL .GLOBL OPEOP $ENDAD ;MOOULE ENTRY POINT ;XXOP/ACT-11 "HOOK" ;**************** ; GLOBAL REFERENCES .GLOBL .GLCBL .GLOBL .GLOBL .GL03L .GLOBL .GLOBL .GLOBL RSTRCY DX. I NI DX.SP DX.RS DX.DEQ BA.MPTR MSGOEQ MD. COD ;RECOVER FROM RESET ;MONITOR INIT. ROUTINE ;POINTER TO MONITOR'S R6 STACK ;POINTER TO MONITOR'S RS STACK ;MONITOR'S DEQUEUING ROUTINE ;BACKGROUNO MODULE LI3T POINTER ;MESSAGE OEQUEUER ;MESSAGE TYPE CODE 58L' ; LOCAL STORAGE 58~, 586 587 588 589 590 591 592 593 oooaoo' 000000 000002' 000000 000004' 000000 , OP.RO: DP. R1 : DP.R2: .WORD 0 .WORD 0 .WORD 0 RO STORAGE STORAGE R2 STORAGE R1 DPEOP - XXDP/ACT-11 END-OF-PASS MACY11 30A(1052) 20-SEP-78 DPEOP.MAC 28-JUL-78 09:14 oPEOP ROUTINE 595 595 597 (2) 598 599 600 601 602 603 604 (4) 60S 606 507 608 609 610 611 (3) 612 (3) (4) (3) (3) 613 (3) (6) 614 615 616 517 618 619 620 621 622 (6) (9) 623 (4) 624 (4) (3) 625 (4) (7) (7) (7) (7) (7) (7) 626 (4) 627 628 17:4a ~ACE 19-2 SEQ 0402 .SBTTL DPEOP ROUTINE ROUTINE DPEOP 000006' 000006 1 oPEOP: ;+ ; SET RO TO THE START OF THE DATA TABLE 000006 1 000006 1 016500 LET RO := TABL(R5) 000000 MOV TABL(R5),RO MOV MOV JSR MOV R5,-(SP) RO,-(R5) PC,MSGDEQ (SP)+,R5 CMP BNE MD.COD,#MSGNUL 50002$ ;+ ; WAIT FOR THE TYPE QUEUE TO EMPTY. ;000012' 000012' 000012' 000012' 000014' 000016' 000022' OC0024' 000024' 000032 1 RE.PEAT 50002$: CALL MSGDEQ IN 010546 010045 004767 012605 026727 001367 OOOOOOG UNTIL MD.COD EQ #MSGNUL OOOOOOG 177775 ;+ ; MOVE THE XXDP MONITOR (EVEN IF IT DOESN'T EXIST, SE:AUSE WE DON'T KNOW ; IF WE HAVE XXDP OF ACT-1~) TO THE TOP 1.5K OF MEMORY (BUT NOT HIGHER ; THAN 28K SINCE XXOP CAN1T USE KT). 000034' 000034' 0000421 0000441 000044 1 000050 1 000050 1 000052' 000052 1 000052 1 000056 1 OOC060 1 000062 000064 1 000e66 1 000070' 000072' 000072' 1 026027 103403 000046 012702 160000 001600 IF DT.SSIZ(RO) HIS #1600 THEN LET R2 := #160000 ELSE 000410 DT.SSIZ{RO) ,#160 50003$ MOV #160000,R2 BR 50004$ MOV ASL ASL ASL ASL ASL ASL oT.SSIZ(RO),R2 R2 R2 R2 50003$: LET R2 '- oT.SSIZ(RO) SHIFT #6 016002 006302 006302 006302 006302 006302 006302 CMP BLO 000046 ENDIF 50004$: R2 R2 R2 20-SEP-78 DPEOP - XXDP/ACT-11 END-Of-PASS MACY11 30A(1052) DPEOP ROUTINE 28-JUL-78 09: 14 DPEOP.MAC 629 630 631 632 633 634 635 636 (4 ) (6) 637 (4) 638 639 (4 ) (6) (9 ) 640 (4) 641 ( 6) 642 (4) (3 ) 643 644 645 646 647 648 649 (4 ) 650 (4 ) 651 (4 ) 652 653 654 655 656 657 658 659 (2 ) 660 (2 ) 661 (2 ) 662 (2 ) 663 664 665 666 667 17:48 PAGE 19-3 SEQ 0403 ;+ SET R1 TO THE 1 ST ADDRESS ABOVE THE EXERCISER, SET R3 TO 1 . 5K, AND MOVE THE CODE. ; (DON1T FORGET THAT DT.ESIZ IS THE SIZE OF THE EXERCISER PLUS THE XXDP ; MONITOR.) , 000072' 000072' 016001 000076' 062701 000102' 000102' 012703 000106' 000106' OC0106' 000110' 000112 1 000112' 000114' 000114 1 000116' 000116' 000120' LET R1 .- DT.ESIZ(RO) + #2 LET R3 .- #AD1536 000044 000002 003000 WHILE R3 NE #0 DO 005703 001403 LET -(R2) 014142 LET R3 .- MOV t.DD DT.ESIZ(RO),R1 #2,R1 MOV #AD1536,R3 TST BEQ R3 50006$ MOV -(R1) ,-(R2) DEC R3 BR 50005$ MGV RO,DP.RC MOV R1,DP.R1 MGV R2,DP.R2 50005$: .- - (R1 ) R3 - #1 005303 ENDDO 000773 50006$: ;+ ; SAVE REGISTERS FOR AFTER THE RETURN FROM XXDP. , 000120' 000120' 010067 000124' 000124 1 010167 000130' 000130 1 010267 LET DP.RO 177654 LET DP.R1 177652 LET DP.R2 ···- RO R1 R2 177650 ;+ ;**************** ; HERE IS THE ACTUAL XXDP/ACT-11 STUFF. , 000134' 000134' 000136' 000136' 000142' 000142 1 000144' 000144' INLINE < RESET> INUNE < MOV 000005 013700 RESET @#42,RO> 000042 INLINE <$ENDAD: JSR PC, (RO» 004710 INLINE < 000240 000240 .WORD NOP,NOP,NOP> 000240 ;+ ;**************** ;- MOV @#42,RO $ENDAD: JSR PC, (RO) .toJORD NOP,NOP,NO 20-SEP-78 DPEGP - XXDP/ACT-11 END-OF-PASS MACV11 30A(1052) DPEOP ROUTINE 28-JUL-78 09: 14 DPEGP.MAC G68 669 670 671 672 (4 ) 573 (4) 674 \4) 675 576 677 578 679 680 681 (4) 582 (4 ) (6) (9) 683 (4 ) 684 (6) 685 (4 ) (3 ) 686 687 688 689 690 691 692 (4 ) 693 (4 ) 694 (4) 695 (4 ) 6S6 697 698 699 700 70i 702 (4 ) 703 704 705 706 707 17:48 PAGE 19-4 SEQ 0404 ;+ ; , 000152' 000152' 016700 000156' 000156' 016701 000162' 000162' 016702 RESTORE THE REGISTERS WE WERE USING. LET RO ·- DP.RO LET R1 ·- DP.R1 LET R2 ·- DP.R2 177622 177620 177616 MOV DP.RO,RO MClV DP.R1,R1 MOV DP.R2,R2 MOV #~D1536,R3 TST BEQ R3 50010$ MOV (R2)+, (R1)+ DEC R3 B:~ 50007$ MOV #SPVALUE,SP MOV SP,DX.SP MOV #R5VALUE,R5 MOV RS,DX.R5 MOV DT.BLST(RO),BA.M ;+ ; NOW MOVE THE XXDP MONITOR BACK TO THE TOP OF THE EXERCISER. , 000166' 000166' OC0172' 000172' 000172' OC0174' 000176' 000176' OC0200' 000200' 000202' 000202' 000204' LET R3 012703 , - #"D1536 003000 WHILE R3 NE #0 DO 50007$: 005703 001403 LET (R 1 ) + ' - (R2)+ 012221 LET R3 '- R3 - #1 005303 ENDDO 000773 50010$: ;+ ; , OC0204' 0(0204' 0(;0210' 000210' 000214' 000214' 000220' 000220' RE-INITIALlZE THE STACKS. LET SP 012706 002200 ·- LET DX.SP 010667 OOOOOOG LET R5 012705 001740 · .- SP - #R5VALUE LET DX.R5 010567 #SPVALUE .- R5 OOOOOOG ;+ ; RE-INITIALIZE THE BACKGROUND LIST POINTER ;- 000224' 000224' 016067 LET BA.MPTR 000034 .- DT.BLST(RO) OOOOOOG ;+ SINCE ACT-11 REQUIRES AT LEAST 2CO MILLISECONDS BETWEEN RESETS, ; GO INTO A WAIT LOOP. DPEOP - XXDP/ACT-11 END-OF-PASS MACY11 30A(1052) 20-SEP-78 DPEOP.MAC 28-JUL-78 09:14 DPEOP ROUTINE 708 709 710 (4) 711 (4) (6) (9) 712 (4) 713 (4) (o) (9) 714 (6) 715 (4) (3) 716 (6) 717 (4) {J} 718 719 720 721 722 723 724 (2) 725 726 727 728 725 730 731 732 (3) (4) (3) (3) 733 734 73S 736 737 738 739 (6) 740 741 742 743 000232 1 000232 1 000236 000236 1 000236 1 000240 1 000242 1 000242 1 000246 1 000246 1 000246 1 000250 1 000252 1 000252 OOOL54 1 C00254 1 000256 1 000256 1 000256 1 000260' 000260 1 000262 1 PAGE 19-5 SEQ 0405 LET R4 . - # 10 012704 000010 WHILE R4 GT #0 DO 1 1 17:48 005704 003410 012703 LET R3 .- #177777 005703 001402 T5T BlE R4 50012$ MOV #177777,R3 1 ST Bi:Q R3 50014$ DEC R3 BR 50013$ DEC R4 BR 50011$ 50013$: LET R3 .- R3 - #1 005303 ENDDO 000774 #10,R4 50011$: 177777 WHILE R3 NE #0 DO MOV 50014$: LET R4 '- R4 - #1 005304 ENDDO 000766 50012$: ;+ ; NOW WE CAN DO A RESET. 000262 000262 INLINE 1 1 RESET 000005 ;+ ; RESTORE ALL PROCESSOR OPTIONS TO THE STATE THEY WERE IN BEFORE ; WE BEGAN THIS NONSENSE. 000264 1 000264 1 000266 1 000270 1 000274 1 CALL RSTRCY IN 010546 01C045 004767 012605 MOV R5,-(SP) RO,-(r;.5) PC,RSTRCY (SP)+,R5 BIC #MEMPAS,DT.ST1(R MOV MOV JSR OOOOOOG ;+ ; CLEAR MEMPAS. 000276 1 000276 1 042760 LET DT.ST1(RO) 040000 '- DT.ST1(RO) elR.BY IIMEMPAS 000012 ;+ ; RE-INITALIZE THE MONITOR. DPEOP - XXDP/ACT-11 END-OF-PASS MACY11 30A(1052) 20-SEP-78 DPEOP.MAC 28-JUL-78 09:14 DPEOP ROUTINE 744 745 746 (3) 747 748 749 750 751 752 753 754 (2) 755 756 757 (3) (3) (2) 758 0003041 000304 1 004767 17:48 PAGE 19-6 SEQ 0406 CALL OX..INI OOOOOOG JSR PC,DX.INI ;+ ; ~OW ~E CAN CONTINUE WHERE WE LEFT OFF BY RETURNING TO THE MONITOR1S ; DE-QUEUEING MECHANISM. 000310 1 000310 1 000137 0003141 INLINE OOOOOOG JMP @#OX.OEQ ENDRTN 000314~ 000314 1 000314 1 000207 000001 50000$: 50001$: RTS .END PC 20-SEP-78 DPEGP - XXDP/ACT-11 END-OF-PASS MACY11 30A(1052) SYMBOL TABLE 28-JUL-78 09: 14 DPEOP.MAC ACSR ACTt3IT= ADDR22= ADR APTFER= APTPRE= ASB !\SSEMB= ASTAT = AUTO AUTOST= AWAS 8A. rY1PT= glTO BITOO 31TO~ lJIT02 81T03 UIT04 81T05 BIT06 BIT07 S1T08 B1T09 i3 IT 1 lJIT10 BIT11 81T12 81T13 a1T14 81T15 alT2 !:31T3 a1T4 BITS BIT6 8IT7 81T8 B1T9 BKDEF BKMOD JKPI":OCE= BKSLSH= CAPRES= CASTAT= CDERCT= CDv!DCT = CKTIM = CLKPRE= COl\iF1G= CQOVF CR CSRA 000102 004:)00 001000 000006 000004 000200 e00106 000010 000104 000010 020000 000110 ****** G 000001 000001 000002 000004 000010 000020 000040 000100 000200 000400 001000 000002 002000 004000 010000 020000 040000 100000 000004 000010 000020 000040 000100 000200 000400 001000 000002 000020 OLlOOOO 000134 00000"; OOOOO~ 000146 000144 100000 000001 000056 000001 000015 000100 CSRC CTRLC CTRLO CTRLU DCEVNT= DEFRTN= DIAGMC= DPEOP DP.RO DP.R1 DP.R2 DROPMO= DSEVNT= DT.ADD= DT.AP = DT.APK= DT.BLS= DT.CFO= DT.CF1= DT.ERR= DT.ESI= DT.EVN= DT.EXS= DT.FCH= DT.FCN= DT.HMX= DT.Kt3E= DT.KBP= DT.KBR= DT.KBU= DT.MLS= DT.MTI= DT.OFF= DT.PAS= DT.PC = DT.PFL= DT.PSW= OT.PTA= DT.RCS= DT.REL= DT.SCT= DT.SMX= DT.SP = DT.SSI= DT.STO= D1.ST1= DT . S~"R= DT.SYP= DT.WBU= DT.WHL= D1.WLL= DVID1 = DX.DEQ= 000102 000003 000017 00002S 000011 000400 000000 000006RG OOOOOOR 000002R 000C04R 100000 000014 000042 000100 000076 OQC'l034 000014 000016 000020 000044 000000 000060 000037 000036 000104 000024 000026 000022 000030 000032 000110 000070 000074 000002 000062 000004 000064 000102 000040 000066 000106 000006 000046 000010 000012 000056 000C72 000050 0000S4 0000S2 000014 ****** G DX.INI= DX.RS = DX.SP = ECCMEM= ECCSTA= ENBEOP= ENBNUL= ENDLST= EOPBIT= ERRTYP= EVNTBE= EVNTHD= EVNTKT= EVNTPE= EVNTRE= FATERR= HRDCNT= HRDPAS= ICONT = ICOUNT= IDNUM = IE INDPt,R= INHDRP= INHEPR= INHREL= INHRRE= INIT INTR IOMOD IOMODP= IOMODR= IOMODX= JACK KIPARO= KIPAR1= KIPAR2= K1PAR3= KIPAR4= KIPAR5= KIPAR6= KIPAR7= KIPDRO= KIPDRI= KIPDR2= KIPDR3= KIPDR4= KIPDRS= KIPDR6= KIPDR7= KTERRO= KTPRES= KTSTAT= 17:48 PAGE 20 ****** G ****** G ****** G 000100 00.0010 010000 000001 000000 000001 000106 000200 000200 000203 000202 000201 100000 000044 000050 000036 000040 000122 000100 000040 040000 020000 001000 000400 000030 000120 100000 102000 112000 110000 035060 172340 172342 172344 172346 172350 172352 172354 172356 172300 172302 1723C4 172306 172310 172312 172314 172316 000040 000400 000020 SEQ 0407 KTXTND= LF LPSTAT= MAPSTA= MD.COD= MED MEMPAS= MODEXH= MODHOL= MODSEL= MSGCKD= MSGCKS= MSGDEQ= MSGDER= MSGDRP= MSGECH= MSGEOP= MSGHDR= MSGHNG= MSGHRD= MSGMAP= MSGNUL= MSGPOP= MSGPRM= MSGRES= MSGSFT= MSGSKE= MSGSr,13= MSGSMH= MSGSMS= MSGSTD= MSGSYS= MSGVEC= N5KMOD= NCPUOP= NOAPTY= NULL OWEN PAERR PARPRE= PARSTA= 040000 000012 000001 000200 **"'*** G 076600 040000 004000 002000 001000 000010 000011 ****** G 000005 000017 177777 000013 000004 000022 000007 000021 17777S 000002 177776 000001 000006 000003 000015 000014 000016 000000 000012 000020 001000 000020 000002 OOJOOO 024020 000010 002000 000100 PASC~H= 000034 PDPLSI= 020000 004000 PDP60 010000 PDP70 000000 PRI0 000040 PRI1 000200 PRI4 000240 PRIS 000300 PRI6 000340 PRI7 000000 PRO 000200 PR4 PRS PR6 PR7 PS PSW RANNUM= RBUFEA= R3UFPA= RBUFSZ= RBI.JFVA= ROSERV= ROv-HMI= RELERR= REU.,18D= REL TIM= R:::S1 RES2 RICHAR= RPTDAT= RSTRCY= RSTRT = RUBOUT= RU~;rJlOD= R5VALU= SAM SBADR = SBKrv10D= SBKSEL= SC.ADR= SC.ALC= SC.APC= SC.CKL= SC.CKP= SC.CLO= SC.HLD= SC.SCA= SENDLS= SOFCNT= SOFPAS= SF-ACE = SPOINT= SPVALU= SRO SR1 SR2 SR3 STAT STATB!= STAT1 = SUSPND= SVRO SVR1 SVR2 000240 000300 000340 177776 177776 000054 000130 000126 000132 000124 000101 000022 000020 020000 010000 0000S3 000060 031060 002000 ****** G 000112 000177 100000 001740 075464 000102 000000 010000 000006 000014 000016 000002 000004 000000 000010 000012 177777 000042 000046 000040 000032 002200 177572 177574 177576 172516 000026 064757 000027 000001 000062 000064 000066 DPEOP - XXDP/ACT-11 END-OF-PASS MACY11 30A(1052) 20-SEP-78 DPEOP.MAC 28-JUL-78 09:14 SYMBOL TABLE 17:48 $F$BAD= $F$BLA= $F$CAS= $F$DEC= $F$DO = $F$FAL= $F$GOO= $F$IF = $F$INC= $F$LOO= $F$NAM= $F$NO = $F$OR = $F$RTI= $F$RTN= $F$SEL= $F$THE= $F$TRU= $F$UNT= $F$WHI= $F$YES= 000401 000170 000150 00022Cl 000340 000405 000400 000110 000210 000200 000160 000403 000320 000350 000300 000140 000330 000404 000130 000120 000402 SVR3 000070 S V R ·1 0 0 0 0 72 SVR5 SVRS SYSCNT= SYSERR= TABL TMPIO = lQO\lF = UIPARO= LJIPAR1= UIPAR2= UIPAR3= UIPAR4= lJIPAR5= UIPt..R6= UIPAR7= UIPDRO= UIPDR1= UIPDR2= UIPOR3= 000074 000076 00('052 000100 OOCOOO 000002 000002 177640 177642 177644 ABS. oooooe UIPDR4= UIPDR5= UIPDR6= UIPDR7= WASADR= WBSTAT= WBUFEA= WBUFPA= WBUFRQ= WBUFSZ= ~>JOFR WOTO WTINRE= WTWHl\lI = XFLAG XOFF XON $BGNLE= $ENDAD $ERFLG= $F$AND= 1T/646 177650 177652 177654 177656 177600 177602 177604 177606 000316 177610 177612 177614 177616 000104 000040 000136 000134 000140 000142 000116 000114 000352 000222 000005 000023 000021 177777 000142RG 000400 000310 000 001 ERRORS DETECTED: 0 DEFAULT GLOBALS GE~ERATED: 0 DSKZ:DPEOP.DS~Z:DPEOP=SPMAC/ML,EQUATE,DPEOP RUN-TIME: 16 5 .4 SECONDS RUN-TIME RATIO: 45/22=2.0 CORE USED: 14K (27 PAGES) PAGE 20-1 SEQ 0408 $IFLEV= $ISKO = $LOCTA= $LSTIN= $LSTTA= $NESTL= $NSKO = $NSKI = $NSK2 = $SAVLE= $SSKO = $TAGLE= $TAGNU= $TEMP $TSKO $TSK1 = $TSK2 = $TSK3 = $$ARGC= $$BYTE= $$CASE= 177777 00J001 177777 000001 000001 177777 000300 000120 00012:) 177777 050012 177777 050015 000300 050011 050012 050013 050014 000002 000403 000000 $$OST = $$ELOC= $$ERFL= $$FLAG= $$F~OiVI= $$LOC = $$LOCN= $$REG = $$RETU= $$RTN1= $$RTN2= $SStiC = $$TGSV= $$TGS1= $$TGS2= $$TO $$$TAG= 000000 000402 000000 000340 000000 000250R 000000 177777 000000 050000 050001 000000 000000 000000 000000 000000 050000 000316R .MAIN. MACYll 30A(1052) 20-SEP-78 EQUATE.MAC 13-SEP-78 16:13 3 552 555 578 17:49 TABLE OF CONTENTS COMMON EQUATE MODULE COMMON DEFINITIONS AND REFERENCES 000000' .PRINT DPSTRT ROUTINE ;SPMAC: VERSION 1.1 SEQ 0409 DPSTRT - XXDP/ACT-11 START-UP DPSTRT.MAC 28-J~L-78 09:14 508 509 510 511 512 5"13 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 535 539 540 541 542 543 544 545 MACY11 30A(105~) 20-SEP-78 SEQ 0410 ;++ MODULE NAME: DPSTRT FUNCTIONAL DESCRIPTION: MOV ES XXDP MON I TO~ AND FAKES A II RUN II COMf,lAND INPUTS: DATA TABLE ADDRESS IMPLICIT INPUTS: DT.ESIZ,DT.SSIZ,DT.REL OUTPUTS: NONE IMPLICIT OUTPUTS: DT.ESIZ,DT.REL PATHOLOGICAL CONNECTIO~S: NONE SUBORDINATE MODULES CALLED: SAVREG .RESREG KRUN SAVE REGISTERS RESTORE REGISTERS PROCESS RUN Cm;iMAND FUNCTIONAL SIDE EFFECTS: STARTS THE EXERCISING OF THE II I, SYSTE~ CALLING SEQUENCE: CALL DPSTRT IN A=DATA TABLE ADDRESS \/!:RSION: 0.0 547 EDIT 549 550 PAGE 19 .TITLE OPSTRT - XXDP/ACT-l1 START-UP .IDF-NT /VO.O/ 54(; 548 17:49 COMMON EQUATE MODULE BY DATE REASOi-J DPSTRT - XXDP/ACT-11 START-UP 28-JUL-78 09:14 DPSTRT.MAC 552 553 554 555 (1) 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 MACY11 SOA(1052) 20-SEP-78 17:49 PAGE 19-1 COMMON DEFINITIONS AND RE~ERENCES SEQ 0411 .SBTTL COMMON DEFINITIONS AND REFERENCES 000000' 000000' 000001 000001 .MCALL STRUCT STRUCT .PRINT ;SPMAC: VERSION 1.1 $LSTIN=1 $LSTTAG=1 ;**************** , ; REFERENCED BY OTHER MODULES .GLOBL DPSTRT ;MODULE ENTRY POINT ;**************** , ; GLOBAL REFERENCES .GLOBL .GLOBL .Gl.OBL SAVREG RESREG KRUN ;*************** SAVE REGISTERS RESTORE REGISTERS PROCESS "RUNII COMMAND DPSTRT - XXDPjACT-11 START-UP DPSTRT.MAC 28-JUL-78 09:14 578 579 580 (2) 581 582 583 584 585 586 587 (3) 588 589 590 591 592 593 594 (4) 595 596 597 598 599 600 601 602 603 MACY11 30A(1052) 20-SEP-78 DPSTRT ROUTINE 17:49 PAGE 19-2 SEQ 0412 .SBTTL DPSTRT ROUTINE ROUTINE DPSTRT 000000' 000000' DPSTRT: ;+ ; SAVE REGISTERS 000000' 000000' 004767 CALL SAVREG OOOOOOG JSR PC,SAVREG MOV TABL(R5),RO :+ ; SET RO TO THE START OF THE DATA TABLE. 000004' 000004' 016500 LET RO := TABL(R5) 000000 ;+ ; ; ; ; MOVE THE XXDP MONITOR (EVEN IF IT DOESN'T EXIST, SINCE WE DON'T KNOW IF WE'RE UNDER XXDP OR ACT-1l) FROM ITS LOAD AREA (HIGHEST NON-KT ADDRESSABLE MEMORY IN THE SYSTEM) TO JUST ABOV~ THE EXERCISER. (R1 IS INITIALIZED TO THE 1ST FREE ADDRESS ABOVE THE EXERCISER, AND R2 IS INITIALIZED TO THE lOWEST ADDRESS OF XXDP.) 60L; IF DT.SSIZ(RO) HIS #1600 THEN 60S (6) (9) 606 (4) 607 (4) (3) 608 (4) (7) (7) (7) (7) (7) (7) 609 000010' 000010' 000016' 000020 ' 000020' 000024 ' 000024' 000026' 000026' 000026' 000032' 000034' 000036' 000040' 000042' 000044' 000046' (4) 0000,~6' 610 (4) 000046' 000046' 010302 000J50' 162702 (6) 61 i 612 (4) (6) 613 026027 103403 000046 012703 160000 001600 CMP BlO DT.SSIZ(RO),#160 50002$ MOV #160000,R3 B.~ 50003$ rllov ASL ASL ASL ASL ASL ASL DT.SSIZ(RO),R3 R3 R3 R3 R3 R3 R3 MOV SUS R3,R2 #-D3074,R2 MOV DT.ESIZ(RO),R1 #2,R1 LET R3 := #160000 ELSE 000410 50002$: LET R3 .- OT.SSIZ(RO) SHIFT #+6 016003 006303 006303 006303 006303 006303 006303 000054' 000054' 016001 000060' 062701 000064' 000046 ENDIF 50003$: lET R2 "- R3 - #-03074 006002 LET R1 := DT.ESIZ(RO) + #2 000044 000002 ~.DD WHILE R2 LO R3 DO - DPSTRT XXDP/ACT-11 START-UP 2B-JUL-78 09:14 DPSTRT.MAC (4 ) (6) (9 ) 614 (4) 015 (4) (3 ) 616 617 618 000064 1 0000641 00006G 1 000070 1 000070 1 0000721 0000721 000074 1 (5 ) (4 ) (3 ) (3 ) 637 638 63S 640 641 642 643 (3 ) 644 645 (3 ) (3 ) (2 ) 646 647 SEQ 0413 .- LET (R1 ) + CM? BHIS R2,R3 50005$ MOV (R2)+, (R1)+ BR 50004$ M'JV SUB R1,DT.ESIZ(RO) #2,DT.ESIZ(RO) MQV #1600,DT.REL(RO) M8'.J MOV R5,-(SP) #O,-(R5) RO,-(R5) PC,KRUN (SP)+,R5 JSR PC,RESREG RTS PC (R2)+ 012221 ENDDO 000774 50005$: ;+ ; ADJUST THE EXERCISER SIZE TO INCLUDE THE XXDP MONITOR. ', - 0000741 0000741 010160 000100 1 162760 LET DT.ESIZ(RO) 000044 000002 .- R1 - #2 000044 ;+ ; , 000106 1 000106 1 012760 INCREASE THE RELOCATION CONSTANT TO 28K. LET DT.REL(RO) 001600 , 000114 1 000114 1 000116 1 000122 1 000124 1 000130 1 .- #1600 000040 ;+ ; NOW PRETEND A 63Li 635 636 (3 ) PAGE 19-3 50004$: 020203 103002 619 620 621 622 (4) ( 6) 623 624 625 626 627 628 629 (4 ) 630 631 632 633 17:49 20-SEP-7s MACY11 30A(1052) DPSTRT ROUTINE II RUNII COMMAND HAS BEEN TYPED. CALL KRUN IN 010546 012745 010045 004767 012605 MJV 000000 MOV JSR OOOOOOG ;+ ; RESTORE REGISTERS AND RETURN. , 000132 1 000132 1 004767 000136 1 000136 1 000136' 000136 1 000207 000001 CALL RESREG OOOOOOG ENDRTN 50000$: 50001$: .END DPSTRT - XXDP/ACT-~1 START-UP 2B-JUL-78 09: 14 DPSTRT.MAC hCSR ACT8IT= ADDR22= ADR t-f)TFER= APTPRE= ASB ASSEMB= ASTAT = AUTO i",UTOST = t\WAS E3 ITO BITOO 8IT01 B1T02 BIT03 81T04 BIT05 8IT06 BIT07 :31 T 08 31T09 GIT1 BIT10 BIT11 ~3 IT' 2 ~3IT13 ~3IT'4 3 IT 1 5 3IT2 !3IT3 BIT4 BIT5 BIT6 ,3 IT 7 f3I T8 31T9 BKDEF 3KMOD 3Krl.ODE = 3KSLSH= CAPRES= CASTAT= CDERCT= CDWDC1= CKTIM = CLKPRE= CONFIG= CQOVF CR CSRA CSRC C00102 004000 001000 000006 000004 000200 000106 000010 000104 COO010 C20000 000 i 10 000001 000001 000002 000004 000010 000020 000040 000100 000200 000400 001000 000002 002000 004000 010000 020000 040000 100000 000004 000010 000020 000040 000100 000200 000400 001000 000002 000020 040000 000134 000004 000004 000146 000144 100000 000001 OC0056 000001 000015 000100 000102 20-SEP-78 MACY11 20A( 1 0~,2) SYMBOL. TABLE 17:49 EOPB:T= ERRTYP= EVNTBE= EVNTHD= EVNTKT= EVNTPE= EVNTRE= FATERR= HRDCNT= HRDPAS= ICONT = ICOUNT= IDNUM = IE INDPAR= INHDRP= INHEPR= HJHREL= INHRRE= INIT lNTR lOMOD IOMODP= IOMODR= IOMODX= JACK KIPARO= KIPAR1= KIPAR2= KIPAR3= KIPAR4= KIPAR5= KIPAR6= KIPAR7= KIPDRO= KIPDR1= KIPDR2= KIPDR3= KIPDR4= KIPDR5= KIPDR6= KIPDR7= KRUN KTERRO= KTPRES= KTSTAT= KTXTND= LF LPSTAT= MAPSTA= MED = MEMPAS= MODEXH= 000001 000106 000200 000200 000203 000202 000201 100000 000044 000050 000036 000040 000122 000100 000040 040000 020000 001000 000400 000030 000120 100000 102000 112000 1 10000 035060 172340 172342 172344 172346 172350 172352 172354 172356 172300 172302 172304 172306 172310 172312 172314 172316 CTRLC CTRLO CTRLU DCEVNT= DEFRTN= DIAGMC= DPSTRT DROPM:l= DSEVNT= DT.ADD= DT.AP = DT.APK= DT.BLS= DT.CFO= DT.CF1= DT.ERR= DT.ESI= DT.Ev'!,\...: DT.EXS= DT.FCH= DT.FCN= DT.HMX= DT.KBE= DT.KBP= DT.KBR= DT.KBU= DT.MLS= DT.MTI= DT.OFF= DT.PAS= DT.PC = DT.PFL= DT. PS'N= DT.PTA= DT.RCS::: DT.REL= DT.SCT= DT.SMX= DT.SP = DT.SSI= DT.STO= DT.ST1= OT.SWR= DT.SYP= DT.WBU= DT.WHL= DT.WLL= DVID1 = ECCMEM= ECCSTA= ENBEOP= ENBNUL= ENDLST= 000003 000017 000025 000011 000400 000000 OOOCOORG 100000 000014 OGOO42 000100 000076 000034 000014 000016 000020 000044 OCC800 000060 000037 000036 000104 000024 000026 000022 000030 000032 000110 000070 000074 000002 000062 0(;0004 000064 000102 000040 000066 000106 000006 000046 000010 000012 000056 000072 000050 000054 000052 000014 000100 080010 010000 000001 000000 PAGE 20 SEQ 0414 ****** G 000040 000400 000020 040000 000012 000001 000200 076600 040000 004000 MODHOL= 002000 MODS!:L= 001000 MSGCKD= 00J010 MSGC~R5= UIPDR6= UIPDR7= WASADR= 000002 177640 177642 177644 177646 177650 177652 177654 177656 177600 177602 177604 177606 177610 177612 177614 177616 000104 ASS. 000000 000140 20-SE?-76 MACYll 30A(1052) SYMBOL TABLE WBSTAT= WBUFEA= WBUFPA= WBUFRQ= WBUFSZ= WDFR WDTO WTINRE= WTWHMI= XFLAG = XOFF XON $BGNLE= $ERFLG= $F$AND= $F$BAD= $F$BLA= $F$CAS= 000040 000136 000134 000140 000142 000116 000114 000352 000222 000005 000023 000021 177777 000400 000310 000401 000170 000150 OCO 001 ERRORS DETECTED: 0 DEFACLT GLOBALS GENERATED: 0 DSKZ:DPSTRT,DSKZ:DPSTRT=SPMAC/ML,EQUATE,DPSTRT RUN-TIME: 13 2 .3 SECONDS RUN-TIME RATIO~ 34/16=2.1 CORE USED: 14K (27 PAGES) $F$DEC= $F$DO = $F$FAL= $F$GOO= $F$IF = $F$INC= $F$LOO= $F$NAM= $F$NO = $F$OR = $F$RTI= $F$RTN= $F$SEL= $F$THE= $F$TRU= $F$UNT= $F$WHI= $F$YES= .7:49 PACE 20-1 SEQ 0415 000220 000340 000405 000400 000110 000210 000200 000160 000403 000320 000350 0003CO 000140 000330 000404 000130 000120 000402 $IFLEV:: $ISKO = $LOCTA= $LSTIN= $LSTTA= $t~ESTL= $NSKO = $NSK1 = $SAVLE= $SSKO = $TAGLE= $TAGr"U= $TEMP = $TSKO = $TSK1 = $$ARGC:: $SBYTE= $$CASE= 177777 000001 177777 000001 000001 177777 000300 000120 177777 050005 177777 050006 ;)00300 050004 050005 000002 000403 000000 $$05T = $$E LOC= $:iERFL= $$ F LAG= $$FROfv1= $:!;LOC = $SLOCN= $$REG :: $$RETU= $:5RTN1= $$RTN2= $$SQC :: $$TGSV= $$TGS1= $$TGS2= $$TO $$$TAG= 000000 000401 000000 000340 000000 000066R 000000 177777 000000 050000 050001 000000 000000 000000 000000 000000 050000 000140R .MAIN. MACY11 30A(1052) 20-SEP-78 EQUATE.MAC 13-SEP-78 16:13 3 572 575 599 17:50 TABLE OF CONTENTS COMMON EQUATE MODULE COMMON DEFINITIONS AND REFERENCES FOR DRPMOD 000000' .PRINT iSPMAC: VERSION 1.1 DRPMOD ROUTINE SEQ 0416 ORPMOD DROP A MODULE FROM AN EXERCISER DRPMOD.MAC 28-JUL-78 09:14 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 MACY11 30A(1052) 20-SEP-7b COMMON EQUATE MODULE 17:50 PAGE 19 .TITLE DRPMOD DROP A MODULE FROM AN EXERCISER .IDENT IVO.Oj ;++ MODULE NAME: DRPMOD FUNCTIONAL DESCRIPTION: THIS ROUTINE WILL DROP A MODULE FROM AN EXERCISER. IT WILL FIRST INSURE THAT THE MODULE BEING DROPP~D HAS NOT ALREADY BEEN DROPPED. IF THE MODULE IS AN S8K OR NBK, IT WILL CLEAR THE MODHOLD BIT IN THE STATUS INDICATOR. THEN CLEAR THE MODULES ACTIVE BIT IN THE STA1US WORD ANJ SET THE DROPPED BIT IN THE MODULE'S STATUS WORD. THEN, SET THE CKTiM BIT. IF THE MODULE BEING DROPPED IS THE SYSTEM CLOCK MODULE, THE CLOCK PRESENT BIT IN THE CONFIGURATION WJRD WILL BE CLEARED AND THE LOCATION SC.CLO WILL BE CLEARED. INPUTS: 1. DATA TABLE ADDRESS 2. MODULE HEADER ADDRESS IMPLICIT INPUTS: DT.STO DT.ST1 DT.PC DT.ADDR DT.SCT DT.CFO DT.MLST OUTPUTS: NONE IMPLICIT OUTPUTS: 1. DT.MACT - NUMBER OF MODULES ACTIVE 2. DT.STO - STATUS INDICATOR 3. DT.MEOP - MODULES END OF PASS COUNT 4. DT.CFO - CONFIGURATION WORD 0 5. DT.ST1 - STATUS INDICATOR 1 PATHOLOGICAL CONNECTIONS: NONE SUBORDINATE ROUTINES CALLED: 1. SAVREG 2. RESREG FUNCTIONAL SIDE EFFECTS: NONE CALLING SEQUENCE: CALL DRPMOD IN WHERE 1. OTADR = ADDRESS OF DATA TABLE 2. MODHDR - MODULE BEING DROPPED HEADER ADDRESS SEQ 0417 DRPMOO DROP A MODULE F~OM AN EXERCISER DRPMOD.MAC 28-JUL-78 09:14 564 565 566 567 568 569 570 MACY11 30A(1052) 20-SEP-78 COMMON EQUATE MODULE 17:50 PAGE 19-1 SEQ 0418 VERSION: 0.0 EDIT DATE BY REASON DRPMOD DROP A MODULE FROM AN EXERCISER DRPMOD.MAC 28-JUL-78 09:14 572 573 574 575 ( 1) MACY11 30A(1052) 20-SEP-78 17:50 PAGE~19-2 COMMON DEFINITIONS AND REFERENCES FOR DRPMOD .S8TTL COMMON DEFINITIONS AND REFERENCES FOR DRPMOD .MCALL STRUCT STRUCT .PRINT ;SPMAC: VERSION 1.1 000000 1 000000 I 576 577 578 579 580 581 000001 000001 $LSTTAG=1 $LST IN= 1 ;**************** , 582 583 ; REFERENCED BY OTHER MODULES: 584 .GLOBL DRPMOD ;MODULE ENTRY POINT 585 586 ;**************** 587 , 588 ; GLOBAL REFERENCES: 589 590 591 592 593 594 t .GLOBL .GLOBL .GLOBL .GLOBl ENQTQ DUNCHK SAVREG RESREG 595 ;***~************ 596 597 ;**************** ;ENQUEUE A MESSAGE ;SEE IF ANY OTHER MODULES CAN RUN ;SAVE THE RECISTERS ;RESTORE THE REGISTERS SEQ 0419 DRPMOD DROP A MODULE FROM AN EXERCISER DRPMOD.MAC 28-JUL-78 09:14 599 600 601 (2) 602 603 604 605 506 607 (3) 608 (4) 609 (4) 610 611 612 613 614 615 616 617 618 (6) MACY11 30A(1052) DRPMOD ROUTINE .SBTTL 20-SEP-78 17:50 PAGE 19-3 SEQ 0420 DRPMOD ROUTINE ROUTINE DRPMOD 000000 I 000000 1 DRPMOD: ;+ ; INIT AND SAVE DATA TABLE ADDRESS AND MODULE HEADER ADDRESS ;- 000000 1 OOOOOOJ 004767 0000041 000004 1 016500 000010 1 000010 1 016501 CALL SAVREG JSR PC,SAVREG MOV DTADR(R5),RO MOV MODHDR(R5),R1 SIS #CKTJM,DT .S11 (RO SIC #ACTSIT,STAT{R1) SIS #SIT13,STAT(R1} MOV STAT(R1),R2 SIC #STATSITS,R2 000000 CiVlP 001000 CMP BNE R2,#SSKMOD 50002$ R2,#NBKMOD 50003$ SIC #MODHOLD,DT.STO( OOOOOOG LET RO .- DTADR(R5) 000000 LET R1 • - MODHDR ( R5) 000002 ;+ ; SET CKTIM BIT TO INDICATE THAT MODULE HAS BEEN ; DROPPED. SET DROPPED BIT IN MODULE STAT WORD ;- 000014 1 000014 1 052760 LET DT.ST1(RO) := DT.ST1~RO) SET.BY #CKTIM 100000 000012 004000 000026 619 620 621 (6) 622 (6) 623 624 625 626 627 628 (4) 629 (6) 630 631 632 (6) (8) (6) (9) (6) 633 634 635 636 637 638 639 (6) 000022 1 000022 1 042761 000030' 000030 1 052761 LET STAT(R1) .- STAT(R1) CLR.SY #ACTBIT LET STAT(R1) .- STAT(R1) SET.BY #BIT13 020000 000026 ;+ ; GET A COpy OF THE STATUS WORD AND SEE IF NBK OR SBK MOD 'f - 000036 1 000036 1 016102 000042 1 000042 1 042702 000046 1 000046 1 000052 1 0000541 000060 1 000062 1 LET R2 "- STAT(R1) 000026 LET R2 .- R2 CLR.BY #STATBITS 064757 IF R2 EQ #SBKMOD OR R2 EO #NBKMOD THEN 020227 001403 020227 001003 SEQ 50002$: ;+ ; IT I 5 AN SBK OR NBK SO CLEAR THE MODHOLD BIT IN DT.STO ;- 000062 1 000062 1 042760 LET DT.STO(RO} := DT.STO(RO) CLR.BY #MODHOLD 002000 000010 DRPMOD DRO? A MODULE FROM AN EXERCISER DRPMOD.MAC 28-JUL-78 09:14 640 641 (4) 642 643 644 64S 646 647 648 (4) 649 650 651 652 653 654 6SS 6S6 {6} (9) 000070 1 000070' 20-SEP-78 17:50 PAGE 19-4 ENDIF SEQ 0421 50003$: ;+ ; GET ADDRESS OF SYS CLOCK TABLE ;- 000070' 000070' 016002 LET R2 := DT.SCT(RO) 000066 MOV DT.SCT(RO),R2 CMP BNE R1,SC.SCA(R2) 50004$ ;+ ; IF SYS CLOCK IS THE ONE BEING DROPPED - CLEAR OUT SC.CLO ; AND CLOCK PRESENT BIT IN DT.CFO ;- 000074' 0000741 020162 000100' 001005 IF R1 EO SC.SCA(R2) THEN 000012 657 658 659 660 661 MACY11 30A(10S2) DRPMOD ROUTINE 000102 ;+ ; YUP - ITIS THE SYS CLOCK ;LET SC.CLO(R2) '- #0 1 (4) 000102' 662 000106' (6) 000106' 663 664 000114' (4) 000114' 665 666 667 668 669 670 671000114' (3) 000114' (5) 000116' (4) 000120' (3) 000122' (3) 000126' 672 673 674 675 676 677 000130' (4) 000130' (6) 000134' 678 000140' (3) 000140' (8) 000142' (7) 000146' 005062 000000 042760 000001 CLR LET DT.CFO(RO} .- DT.CFO(RO) CLR.BY #CLKPRES BIC 000014 #CLKPRES,DT.CFO( ENDIF 50004$: ;+ ; SEE IF ANY MORE MODULES CAN RUN CALL DUNCHK IN 010546 010145 010045 004767 012605 OOOOOOG MOV MOV MOV JSR MOV R5,-(SP) R 1 ,- (R5) RO,-(R5) PC,DUNCHK (SP)+,R5 ;+ ; ENQUE THE MESSAGE ;- LET R3 := DT.PC(RO) - #2 016003 162703 000002 000002 CALL ENQTO IN 010546 012745 010145 000000 MOV SUB DT.PC(RO),R3 #2,R3 MOV MOV MOV R5,-(SP) #O,-(R5) R1,-(R5) DRPMOD DROP A MODULE FROM AN EXErtCISER DRP:\o10D.MAC 28-JUL-78 09:14 (6) (5) (4) (3) (3) 679 680 681 682 683 684 685 (3) 086 687 (3) (3) (2) 688 689 690 000150' 000152 1 000156 1 000160' 000164 1 010345 012745 010045 004767 012605 ""'\1 ... I 1 30A(1C52) DRPMOD ROUTINE II f' • ,.1,,",,1.., ~ 20-S~P-78 17:50 PAGE 19-5 SEQ 0422 000017 OOOOOOG MOV MOV MOV JSR MOV R3,-(R5) #MSGDRP,-(R5) RO,-(R5) PC,ENQTQ (SP)+,R5 J:5R PC,RESREG RTS PC ~+ ; CLEAN UP ;- 000166' 000166 1 004767 000172 1 000172' 000172 1 000172' 000207 000001 CALL RESREG OOOOOOG ENDRTN 50000S: 50001$: .END DRPMOD DROP A MODULE FROM AN EXERCISER 28-JUL-78 09:14 DRPMOD.MAC ACSR ACTSIT= ADDR22= ADR APTFER= APTPRE= ASB ASSEMB= ASTAT = AUTO AUTOST= AWAS BITO BITOO BIT01 BIT02 BIT03 BIT04 BIT05 BIT06 BIT07 BIT08 BIT09 BIT1 BIT10 8IT11 BI112 81T13 BIT14 8IT15 BIT2 BIT3 BIT4 BITS SIT6 BIT7 BIT8 BIT9 BKDEF BKMOD BKMODE= BKSLSH= CAPRES= CASTAT= CDERCT= CDWDCT= CKTIM = CLKPRE= CONFIG= CQOVF CR CSRA CSRC 000102 004000 001000 000006 000004 000200 000106 000010 000104 000010 020000 000110 000001 000001 000002 000004 000010 000020 000040 000100 000200 000400 001000 000002 002000 004000 010000 020000 040000 100000 000004 000010 000020 000040 000100 000200 000400 001000 000002 000020 040000 000134 000004 000004 000146 000144 100000 000001 000056 000001 000015 000100 000102 CTRlC = CTRlO = CTRLU = DCEVNT= DEFRTN= DIAGrv1C= DROPMO= DRPMOD DSEVNT= DTADR = DT.ADD= DT.AP DT.APK= D1. BLS= DT.CFO= DT.CF1= DT.ERR= D1.ESI= DT.EVN= DT.EXS= DT.FCH= DT.FCN= DT.HMX= DT.KBE= DT.KBP= DT.KBR= D1. KBU= DT.MLS= DT.MTl= DT.OFF= DT.PAS= DT.PC = DT.PFL= DT.PSW= DT.PTA= DT.RCS= DT.REL= DT.SCT= DT.SMX= DT.SP = DT.SSI= DT.STO= DT.ST1= DT.SWR= DT.SYP= D1. WBU= DT.WHL= D1.WLL= DUNCHK= DVID1 = ECCMEM= ECCSTA= ENBEOP= MACY11 30A(1052) SYMBOL TABLE 000003 000017 000025 000011 000400 caoooo 100000 OOOOOORG 000014 000000 000042 000100 000076 000034 000014 000016 000020 000044 000000 000060 000037 000036 000104 000024 000026 000022 000030 000032 000110 000070 000074 000002 000062 000004 000064 000102 000040 000066 000106 000006 000046 000010 000012 000056 000072 000050 000054 000052 ****** G 000014 000100 000010 010000 20-SEP-78 ENBNUl= ENDlST= ENQTQ = EOPSlT= ERRTYP= EVNTBE= EVNTHD= EVNTKT= EVNTPE= EVNTRE= FATERR= HRDCNT= HRDPAS= ICONT = ICOUNT= IDNUM = IE INDPAR= INHDRP= INHEPR= INHREL= INHRRE= INIT INTR IOMOD 000001 000000 ****** G 000001 000106 .000200 000200 000403 000202 000201 100000 000044 000050 000036 000040 000122 000100 000040 040000 020000 001000 000400 000030 000120 100000 IOl\10DP~ 102000· 10MODR= 112000 lOMODX= 110000 035060 JACK KIPARO= 17234.0 KIPAR1= 172342 KIPAR2= 172344 KlPAR3= 172346 KIPAR4= 172350 KIPAR5= 172352 KIPAR6= 172354 KIPAR7= 172356 KIPDRO= 172300 KIPDR1= 172302 KlPDR2= 172304 KIPDR3= 172306 KIPDR4= 172310 KIPDR5= 172312 KlPDR6= 172314 KIPDR7= 172316 KTERRO= 000040 KTPRES= 000400 KTSTAT= 000020 KTXTND= 040000 000012 LF LPSTAT= 000001 MAPSTA= 000200 MED = 076600 17:50 PAGE 20 MEMPAS= MODEXH= MODHDR= MODHOL= MODSEl= MSGCKD= MSGCKS= MSGDER= MSGDRP= MSGECH= MSGEOP= MSGHDR= MSGHNG= MSGHRD= MSGMAP= MSGNUL= MSGPOP= MSGPRM= MSGRES= MSGSFT= MSGSKE= MSGSr.JrB= MSGSMH= MSGSMS= MSGSTD= MSGSYS= iviSGiiEC= NBKMOD= NCPUOP= NOAPTY= NULL OWEN PAERR PARPRE= PARSTA= PASCNT= PDPLSI= PDP60 PDP70 PRIO PR 11 PRl4 PRl5 PR16 PRI7 PRO PR4 PR5 PR5 PR7 PS PSW RANNUM= SEQ 0423 040000 004000 000002 002000 001000 000010 000011 000005 000017 177777 000013 000004 000022 000007 000021 177775 000002 177776 000001' 000006 000003 00001:5 000014 000016 000000 000012 RSUFEA= RBUFPA= R3UFSZ= R3UFVA= RDSERV= RDWHMI= RElERR= RELMOD= REL TIM= RESREG= RES1 RES2 RlCHAR= RPTDAT= RSTRT = RUBOUT= RUNMOD= R5VALU= SAM SAVREG= SBADR = SSKry10D= SBKSEl= SC.ADR= SC.ALC= SC.APC= 00002.0 SC.CKL= 001000 000020 000002 000000 024020 000010 002000 000100 000034 020000 004000 010000 000000 000040 000200 000240 000300 000340 000000 000200 000240 000300 000340 177776 177776 OC0054 SC.CKP= SC.CLO= SC.HlD= SC.SCA= SENDLS= SOFCNT= SOFPAS= SPACE = SPOINT= SOVALU= SRO SRi SR2 SR3 STAT STATBl= STAT1 = SUSPND= SVRO SVR1 = SVR2 SVR3 SVR4 SVR5 SVR6 SYSCNT= 000130 000126 000132 OG0124 000101 000022 000020 020000 010000 ****** G 000056 000060 031060 002000 000112 000177 100000 001740 075464 ****** G 000102 000000 010000 000006 000014 000016 000002 000004 000000 000010 000012 177777 000042 000046 000040 000032 002200 177572 177574 177576 172516 000026 064757 000027 000001 000062 000064 000066 000070 000072 000074 000076 000052 DRPMOD DROP A MODULE FROM AN EXERCISER DRPMOD.MAC 28-JUL-78 09:14 SYS~RR= TMPIO = TQO'JF = UIPARO= UIPAR1= UIPAR2= UIPAR3= UIPAR4= UIPAR5= UIPAR6= UIPAR7= UIPDRO= UIP::>R1= UIPDR2= UIPDR3= UIPDR4= UIPDR5= UIPDR6= ASS. 000100 000002 000002 177640 177642 ... ..,.., C" .... J'I I/IO'-t'-t 177646 177650 177652 177654 177656 177600 177602 177604 177606 177610 177612 177614 000000 000174 UIPDR7= WASADR= WBSTAT= WBUFEA= WBUFPA= 177616 000104 000040 000136 000134 ~'J8UFRQ= 000140 WBUFSZ= WDFR WDTO WTINRE= 000142 000116 000114 000352 000222 000005 000023 000021 177777 000400 000310 000401 Wn~HMI= XFLAG = XOFF XON $BGNLE= $ERFLG= $F$AND= $F$BAD= MACY11 30A(1052) SYMBOL TABLE 000 001 ERRORS DETECTED: 0 DEFAULT GLOSALS GENERATED: 0 DSKZ:DRPMOD,DSKZ:DRPMOD=SPMAC/ML,EQUATE,DRPMOD RUN-TIME: 13 3 .4 SECONDS RUN-TIME RATIO: 38/17=2.1 CORE USED: 14K (27 PAGES) 20-SEP-78 $F$BLA= $F$CAS= $F$DEC= $F$DO = $F$FAL= $FSGOO= $FSIF = $F$INC= $F$LOO= $F$NAM= $F$NO = $F$OR = SF$RTI= $F$RTN= $F$SEl= $F$THE= $F$TRU= $F$UNT= 17:50 PAGE 20-1 SEQ 0424 000170 000150 000220 000340 000405 000400 000110 000210 000200 000160 000403 000320 000350 000300 000140 000330 000404 000130 $F$I.NHI= $F$YES= $IFLEV= $ISKO = $LOCTA= SLSTIN= SLSTTA= $NESTL= $NSKO = $NSKl = $SAVLE= $TAGLE= $TAGNU= $TEMP = $TSKO = $$ARGC= $$BYTE= $$CASE= 000120 000402 177777 000001 177777 000001 000001 177777 000300 000110 177777 177777 050005 000300 050004 000004 000403 000000 = 000000 1$DST $$ELOC= $$ERFL= $$FLAG= $SFROM= $$LOC = $$LCCN= S$REG = $$RETU= $$RTN1= $$RTN2= $$SRC = $$TGSV= $$TGS1= $$TGS2= $$TO $$$TAG= 000402 000000 000001 000000 000100R 000000 177777 000000 050000 050001 000000 000000 000000 000000 000000 050000 000174R .MAIN. MACY11 30A(1052) 20-S~P-78 EQUATE.MAC 13-SEP-78 16:13 3 563 566 17:51 TABLE OF CONTENTS COMMON EQUATE MODULE COMMON DEFINITIONS AND REFERENCES FOR DUNCHK 000000 1 .PRINT ;SPMAC: VERSION 1.1 SEQ 0425 DUNCHK - SEE IF ANY MORE MODULES CAN RUN MACY11 30A(1052) DUNCHK.MAC 28-JUL-78 09:14 COMMON EQUATE MODULE .20-SEP-78 17:51 PAGE 19 509 .TITLE DUNCHK - SEE IF ANY MORE MODULES CAN RUN .IDENT JVO.Oj 510 511 ;++ 508 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 MODULE NAME: DUNCHK FUNCTIONAL DESCRIPTION: THIS ROUTINE CHECKS ALL OPTION MODULES TO SEE IF ANY OPTION MODULE CAN POSSIBLY RUN. IF NOT, AND THE EXERCISER IS RELOCATED, A RELOCATION BACK TO LOWEST MEMORY OCCURS AND A RETURN TO CMD MODE TAKES PLACE. A MESSAGE INDICATING THAT THE RUN IS OVER AND THE LAST MODULE IS DROPPED IS OUTPUTTED. IF MORE MODULES CAN RUN, A RETURN SIMPLY OCCURS. INPUTS: 1. DTABLE 2. MODULE HEADER ADDRESS (OF MODULE BEING DROPPED) IMPLICIT INPUTS: 1.0T.MLST 2. DT.ADDR 532 OUTPUTS: NONE 533 534 535 IMPLICIT OUTPUTS: 1. DT.STO 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 PATHOLOGICAL CONNECTIONS: NONE SUBORDINATE ROUTINES CALLED: 1. PRRLOC 2. SAVREG 3. RESREG 4. MSGDHOOK 5. APTKIL 6. APTDED FUNCTIONAL SIDE EFFECTS: NONE CALLING SEQUENCE: CALL DUNCHK IN WHERE DT AND AD = MODULE HEADER ADDRESS. 0.0 EDIT 558 560 561 DATA TABLE ADDRESS VERSION: 556 557 559 SEQ 0426 ;- DATE BY REASON DUNCHK - SEE IF ANY MORE ~ODULES CAN RUN MACY11 30A(1052) 2C-SEP-78 17:51 PAGE 19-1 DUNCHK.MAC 28-JUL-78 09:14 COMMON DEFINITIONS AND REFERENCES FOR DUNCHK 563 564 565 566 (1) .SBTTL .MCALL STRUCT STRUCT' .PRINT ;SPMAC: VERSION 1.1 $LSTTAG=1 $LSTIN=1 000000' 000000 1 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 COMMON DEFINITIONS AND REFERENCES FOR DUNCHK 000001 000001 ;**************** , ; REFERENCED BY OTHER MODULES: .GLOBL DUNCHK , ;**************** , ; GLOBAL REFERENCES: .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL SAVREG RESREG PRRLOC MSGDHOOK DX.RSTRT APTDED APTKIL ;RELOCATE CODE ;O/P A MES$AGE ;RESTART ADDRESS ;PUT APT IN THE COFFIN ;KILL APT FATALLY :'88 589 ;**************** 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 60S ;***"'*********** ; LOCAL STORAGE: 000000 1 000001 I 000006 1 000014 1 000016 1 000024 1 000032 1 000040 1 000046 1 000054 1 000062 1 045 000005 042040 042105 020445 020116 026440 046440 051505 050120 022441 000066 1 047522 050120 020041 053117 040440 042117 042040 042105 000 052522 051105 046114 046125 047522 020440 DR. WOW: .ASCII DR.NAM: .BlKB .ASCII .ASCIZ .EVEN /%/ 5 / DROPPED/ /%1 ! RUN OVER - All MODULES DROPPED ! !%/ SEQ C4~7 DUNCHK - SEE IF ANY MORE MODULES CAN RUN MACY11 30A(1052) 20-SEP-78 17:51 PAGE 19-2 DUNCHK.MAC 28-JUL-78 09:14 COMMON DEFINITIONS AND REFERENCES FOR DUNCHK 607 (2) 608 (3) 609 (4) 610 (4) 611 612 613 614 615 616 617 000066 1 000066' 000066 1 000066 1 004767 000072' 000072' 016500 000076' 000076' 016501 SEQ 0428 ROUTINE DUNCHK DUNCHK: CALL SAVREG OOOOOOG JSR PC,SAVREG MOV DTB(R5) ,RO LET RO '- DTB(R5) 000000 LET R1 .- MOD(R5) MOV ;+ ; IF UNDER APT AND WE GOT HERE (TO DUNCHK) IT WAS PROBABLY THE CLOCK ; THAT DID IT - SO CALL THE APTDED ROUTINE WHICH WILL PUT THE ; DROPPED MODULE NAME INTO APT MAILBOX ..•. THEN CALL APTKIL, ; WHICH WILL HALT THE EXERCISER FATALLy •.•... ;- 000002 MOD (R5) ,R 1 618 619 (6) (9) 620 (3) (5) (4) {3} (3) 621 (3) (4) (3) (3) 000102 1 000102' 000110 1 000112 1 000112' 000114' 000116 1 000120' 000124 1 000126 1 OOOi26' 000130' 000132 1 000136' 000140' 000140' IF #APTPRES SETIN DT.CFO(RO) THEN 032760 001413 000200 000014 CALL APTDED IN 010546 010145 010045 004767 012605 BIT SEQ #APTPRES,DT.CFO{ 50002$ MJV R5,-(SP) R 1 ,- (R5) RO,-(R5) PC,APTDEO (SP)+,R5 M~V MOV JSR OOOOOOG MOV CALL APTKIL IN 010546 010045 004767 012605 622 (4) 623 624 . 625 626 627 628 000140' (4) 000140' 016002 629 000144' (4) 000144 1 005004 630 000146' (4) 000146 1 (6) 000146' 005712 (9) 000150' 001413 000152' 631 (4) 000152 1 012203 632 000154' (6 ) 000154' 032763 (9) 000162 1 001405 (6) 000164 1 032763 (9) 000172 1 001001 633 000174 1 (6) 000174 1 005204 634 000176 1 (4) 000176' MOV JSR MGV R5 -{SP) RO,-(R5) PC,APTKIL (SP)+,R5 Mav DT.MLST(RO),R2 CLR R4 TST SEQ (R2) 50004$ M'JV OOOOOOG i ENDIF 500025: ;+ ; SEE IF THERE ARE ANY POSSIBLE MODULES LEFT TO RUN .•• 'r - LET R2 .- DT.MLST(RO) 000032 LET R4 .- #0 WHILE (R2) NE #0 DO 50003$: LET R3 . - (R2) + 040000 000026 020000 000026 WoOV IF #BIT14 SETIN STAT(R3) AND #B!T13 NOTSETIN STAT(R3) THEN BIT SEQ BIT 8NE LET R4 .- R4 + #1 INC ENDIF 50005$: (R2)+,R3 #BIT14,STAT(R3) 50005$ #BIT13,STAT(R3) 50005$ R4 DUNCHK - SEE IF ANY MORE MODULES CAN RUN MACY11 30A(1052) ~0-SEP-78 17:51 PAGE 19-3 DUNCHK.MAC 28-JUL-78 09:14 COMMON DEFINITIONS AND REFERENCES FOR DUNCHK 635 (4) (3) 636 637 638 639 640 641 542 643 644 (6) (9) 645 (4) 646 (4) 647 (4) (6) (9) 648 (4) 649 (6) 000176' 000176' 000763 000200' 650 000224: (4) 000224' 000226' 000226' 000226' 000230' 000234' 000240' 000244' 000246' 000252' 000254' 000254' 000256' 000256' 000260' 000260' (3) 651 (3) (7 ) (6) (5) (4) (3) (3) 652 (2 ) 653 (2 ) 654 (2 ) 655 656 657 658 659 660 661 (6) (9) 662 (3) (5) (4) SEQ 0429 ENDDO BR 50003$ T5T BNE R4 50006$ !\1OV #DR.NAM,R2 MOV #5,R3 TST BEQ R3 50010$ MOVS (R1 )+, (R2)+ DEC R3 BR 50007$ MOV JSR MOV R5,-(SP) #443$,-(R5) #DR.WOW,-(R5) #MSGPOP,-(R5) RO,-(R5) PC,MSGDHOOK (SP)+,R5 1$: NOP BR 1$ 50004$: ;+ ; IF NO MORE CAN RUN, GET THE MODULE NAME INTO THE ; MESSAGE THAT SAYS !! RUN OVER !! ETC, AND THEN OIP MESSAGE. ;- 000200' 000200' 000202' 000204' 000204' 000210' 000210' 000214' 000214' 000214' 000216' 000220' 000220' 000222' 000222' IF R4 EO #0 THEN 005704 001046 LET R2 '- #DR.NAM 012702 000001' 012703 000005 LET R3 '- #5 WHILE R3 NE #0 DO 50007$! 005703 001403 LET (R2)+ :8= (R1)+ 112122 LET R3 '- R3 - #1 005303 000773 50010S: CALL MSGDHOOK IN 010546 012745 012745 012745 010045 004767 012605 Mav 000260' 00.0000' 000002 ~I.'JV MOV MOV OOOOOOG 000240 000776 INLINE <1$: Nap> INLINE
INLINE <443$: > 443$: ;+ ; IF RELOCATED, RELOCATE BACK DOWN TO ZERO ;- 000260' 000260' 000266' 000270' 000270' 000272' 000276' IF DT.ADDR(RO) NE #200 THEN 026027 001407 010546 012745 010045 000042 CALL PRRLOC IN 000200 SEQ DT,ADDR(RO),h200 50011$ MOV MOV MOV RS,-(SP) #200,-(R5) RO,-(R5) CMP 000200 DUNCHK - SEE IF ANY MORE MODULES CAN RUN MACY11 3CA(1052) ~0-SEP-78 17:51 PAGE 19-4 DUNCHK.MAC 28-JUL-78 09:14 COMMON DEFINITIONS AND REFERENCES FOR DUNCHK (3 ) (3 ) 000300' 004767 000.3'04' 012605 000306' 000306' 663 (4) 664 665 . 000306' (6) 000306' 042760 666 667 000314' (2) 000314' 000167 668 669 000320' (4) 000320' 670 671 672 673 674 675 676 677 678 000320' (3) 000320' 004767 679 000324' (3) 000324' (3) 000324' (2) 000324 l 000207 680 000001 SEQ 0430 . OOOOOOG JSR MOV PC,PRRlOC (SP)+,R5 BIC #RUNMODE,DT.STO( ENDIF 50011$: LET DT.STO(RO) := DT.STO(RO) CLR.BY #RUNMODE 100000 000010 INLINE < JMP OX.RSTRT> OOOOOOG JMP DX.RSTRT ENDIF 500065: ;+ ; RESTORE REGISTERS CALL RESREG OOOOOOG JSR PC,RESREG RTS PC ENDRTN 50800$: 50001$: .END MACY11 30A(1052) DUNCHK - SEE IF ANY MORE MODULES CAN RUN SYMBOL TABLE 28-uUL-78 09:14 DUNCHK.MAC ACSR ACTSIT= ADDR22= ADR APTDED= APTFER= APTKIL= APTPRE= ASB ASSEM8= ASTAT = AUTO AUTOST= AWAS = BITO BITOO BIT01 BIT02 8IT03 BIT04 BIT05 BIT06 BIT07 BIT08 BIT09 BITl l::)ITiO BIT11 BIT12 BIT13 BIT14 = BIT15 BIT2 BIT3 8IT4 = 8IT5 = 8IT6 ::: BIT7 BIT8 BIT9 BKDEF BKMOD BKMODE= BKSLSH= CAPRES= CASTA1= CDERCT=CDWDCT= CKTIM =CLKPRE=CONFIG= CQOVF CR = 000102 004000 001000 000006 ****** G 000004 ****** G 000200 000106 000010 000104 000010 020000 000110 000001 000001 000002 000004 000010 000020 000040 000100 000200 000400 001000 000002 002000 004000 010000 020000 040'000 100000 000004 000010 000020 000040 000100 000200 000400 001000 000002 000020 040000 000134 000004 000004 000146 000144 100000 000001 000056 000001 000015 CSRA CSRC CTRLC CTRLO CTRLU DCEVNT= DEF-RTN= DIAGMC= DROPMO= OR.N.~M DR~WOW DSEVNT= DTB DT.ADD= DT.AP = DT.APK= DT. BLS= DT.CFO=DT.CF1= DT.ERR=DT.ESI= DT.EVN= DT.EXS= DT.FCH= DT.FCN= DT.HMX= DT.KBE= DT.KBP= DT.KBR= DT.KBU= DT.MLS= DT.MTI= DT.OFF= DT.PAS= DT.PC = DT.PFL= DT.PSW= DT.PTA= DT.RCS= DT.REL= DT.SCT= DT.SMX= DT.SP = DT.SSI= DT.STO=DT.ST1= DT . S~>JR= DT.SYP= DT.WBU= DT.WHL= DT.WLL= DUNCHK OVID1 = 000100 000102 000003 000017 000025 000011 000400000000 100000 000001R OOOOOOR 000014 000000 000042 000100 000076 000034 000014 000016 000020 000044 000000 000060 000037 000036 000104 000024 000026 000022 000030 000032 000110 000070 000074 000002 000062 000004 000064 000102 000040 000066 000106 000006 000046 000010 000012 000056 00_0072 000050 000054 000052 000066RG 000014 DX.RST= ECCMEM= ECCSTA= ENGEOP= ENBNUL= ENDLST= EGPBIT= ERRTYP= EVNTBE= EVNTHD= EVNTKT= EVNTPE= EVNTRE=FATERR= HRDCNT= HRDPAS=ICONT =ICOUNT= IDNWJI = IE = INDPAR= INHDRP= INHEPR= INHREL= INHRRE= INIT ****** 000100 000010 010000 000001 000000 000001 000106 000200 00'0200 000203 000202 000201 100000 000044 000050 000036 000040 000122 000100 000040 040000 020000 001000 000400 000030 20-SEP-78 17:51 PAGE 20 SEQ 0431 G LPSTAT= 000001 MAPSTA= 000200 076600MED MEMPAS= 040000 MOD 000002MODEXH= 004000 MODHOL= 002000 MODSEL= 001000 MSGCKO= 000010 MSGCKS= 000011 MSGDER= 000005 MSGDHO= ****** G MSGDRP=- 000017 MSGECH= 177777 MSGEOP= 000013 MSGHDR= 000004 MSGHNG=- 000022 MSGHRD= 000007 MSGM.A.P= 000021 MSGNUL= 177775 MSGPOP= 000002 MSGPRM= 177776 MSGRES= 000001 MSGSFT= 000006 MSGSKE= 000003 MSGSrM3= 000015 PR6 PR7 PS = PSW RANNUM= RBUFEA= RBUFPA= RBUFSZ= RBUFVA= ROSERV= RDWHMI= RELERR=RELMOD= RELTIM= RESREG= RESl RES2 RICHAR=RPTDAT= RSTRT = RUBOUT= RUNMOD= R5VALU= SAM SAVREG= SBADR = 000300 000340 177776 177776 000054 000130 000126 000132 000124 000101 000022 000020 020000 010000 ****** 075464 ****** 000102 UUUI"U nnC""....,Cf-.l'll_ Ifl...JU....}.toil- ('\('\"11"1< ,., ';'),IIn: v u.."-' v , .....,. s2!-'~r,.~OD= oooeoo IOMOD IOMODP= IOMODR= IOMOOX= JACK KIPARO= KIPAR1= 100000 102000 112000 110000 035060 172340 172342 172344 172346 172350 172352 172354 172356 172300 172302 172304 172306 172310 172312 172314 172316 000040 000400 000020 040000 000012 MSGSMS::: MSGSTD= MSGSYS= MSGVEC= NSKMOD= ,NCPUOP= NOAPTY= NULL OWEN PAERR PARPRE= PARSTA= PASCNT= PDPLSI= PDP60 =PDP70 PRIO PRll PRI4 PRI5 PRI6 PRI7 PRRLOC= PRO PR4 PR5 000016 dODOOO 000012 000020 .001000 000020 000002 000000 024020 000010 002000 000100 000034 020000 004000 010000 000000 000040 000200 000240 000300 000340 SBKSEL= SC.ADR= SC.ALC= SC.APC= SC.CKL= sc. CKP= SC.CLO= SC.HLD=SC.SCA= SENOLS= SOFCNT= SOFPAS= SPACE = SPOINT= SPVALU= SRO SR1 SR2 SR3 STAT STATBI= STAT1 =SUSPND= SVRO SVR1 SVR2 010000 000006 000014 000016 000002 000004 000000 000010 000012 177777 000042 000046 000040 000032 002200 177572 177574 177576 172516 000026 064757 000027 000001 000062 000064 000066 'T''-ITn KIPAR2~ KIPAR3= KIPAR4= KIPAR5= KIPAR6= KIPAR7= KIPDRO= KIPDR1= KIPDR2= KIPDR3= KIPDR4= KIPDR5= KIPDR6= KIPDR7= KTERRO= KTPRES= KTSTAT= KTXTND= LF 1"\.t"'\1"\,,1"\1"'\ ****** 000000 000200 000240 G G 000056 000060 031060 002000 000112 000177 100000 001740 G DUNCHK - SEE IF ANY MORE MODULES CAN RUN MACY11 30A(1052) DUNCHK.MAC 28-JUL-78 09:14 SyMBOL TABLE SVR3 SVR4 SVR5 SVR6 SYSCNT= SYSERR= TMPIO = TQOVF = UIPARO= UIPAR1= UIPAR2= UIPAR3= UIPAR4= UIPAR5= LJIPAR6= UIPAR7= UIPDRC= UIPDR1= UIPDR2= UIPDR3= 000070 000072 000074 000076 000052 000100 000002 000002 177640 177642 177644 177646 177650 177652 177654 177656 177600 177602 177604 177606 ASS. 000000 000326 UIPDR4= UIPDR5= UIPDR6= UIPDR7= WASADR= WBSTAT= WBUFEA= WBUFPA= WBUFRQ= WBUFSZ= WDFR WDTO WTINRE= Wn~HMI= XFLAG = XOFF XON $BGN LE= $ERFLG= $F$AND= 177610 177612 177614 177616 000104 COO040 000136 000134 000140 000142 000116 000114 000352 000222 000005 000023 000021 177777 000400 000310 000 001 a ERRORS DETECTED: DEFAULT GLOBALS GENERATED: 0 DSKZ:DUNCHK,DSKZ:DUNCHK=SPMAC/ML,EQUATE,DUNCHK RUN-TIME: 14 4 .4 SECONDS RUN-TIME RATIO: 41/20=2.0 14K (27 PAGES) CORE USED: $F$BAD= $F$BLA= $F$CAS= $F$DEC= $F$DO = $F$FAL= $F$GOO= $F$IF = $F$INC= $F$LOO= $F$NAM= $F$NO = $F$OR = $F$RTI= $F$RTN= $F$SEL= SF$THE= $F$TRU= $F$UNT= $F$WHI= 000401 000170 000150 000220 000340 000405 000400 000110 000210 000200 000160 000403 000320 000350 000300 000140 000330 000404 000130 000120 20-SEP-78 17:51 PAGE 20-1 $F$YES= $IFLEV= $ISKO = $ISK1 = $LOCTA= $LSTIN= SLSTTA= $NESTL= $NSKO = $NSK1 = $NSK2 = $SAVLE= SSSKO = $TAGLE= $TAGNU= $TEMP $TSKO = $TSK1 = $TSK2 = $$ARGC= 00':>402 177777 000001 000001 11'1777 000001 000001 177777 000300 000110 000110 177777 050010 177777 050012 000300 05':>006 050011 050010 000004 SEQ 0432 $$BYTE= $$CASE= $$DST $$ELOC= $SERFL= $$FLAG= 000403 000000 000000 000402 000000 00,0001 $$FRO~,1= 00'0000 $$LOC = $SLOCN= $SREG = $$RETU= $$RTN1= $$RTN2= $$SRC $$TGSV= $$TGS1= $$TGS2= SSTO $$$TAG= 000266R 000000 177777 000000 050000 050001 000000 000000 000000 000000 000000 050000 00Q326R = = .MAIN. MACV11 30A(1052) 20-SEP-78 EQUATE.MAC 13-SEP-78 16:13 3 562 565 628 17:51 TABLE OF CONTENTS COMMON EQUATE MODULE COMMON DEFINTIONS AND REFERENCES 000000' .PRINT ERREC ROUTINE ;SPMAC: VERSION 1.1 SEQ 0433 ERREC - ERROR RECOVERY MACY11 30A(1052) 20-SEP-78 17:51 PAGE 19 ERREC.MAC 01-AUG-78 09:45 COMMON EQUATE MODULE 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 .TITLE ERREC - ERROR RECOVERY .IDENT /VO.O/ ;++ MODULE NAME: ERREC FUNCTIONAL DESCRIPTION: ON FATAL ERRORS, THE CURRENT RUN OF THE EXERCISER IS ASORTED. IF THE ERROR IS NOT FATAL, THE EXERCISER IS RESTARTED. ' INPUTS: DATA TABLE ADDRESS IMPLICIT INPUTS: DT.ERR, DT.ADDR, DT.CFO OUTPUTS: NONE IMPLICIT OUTPUTS: DT.STO PATHOLGICAL CONNECTIONS: BUSY FLAG IN MSGDEQ (MD.BSY) MESSAGE CODE IN MSGDEQ SUBORDINATE MODULES CALLED: MSGDHOOK PRRLOC WBFLIM UNIMAP MSGDEQ CLKON KBINI APTKIL SAVREG RESREG CALLING SEQUENCE: CALL ERREC IN
A=DATA TABLE ADDRESS 554 555 556 VERSION: 0.0 557 558 ;HOGK MESSAGE TO PROPER D!iIVER ;PRGCESS ~ELOCATION ;DETERMINE WRITE BUFFER LIMITS ; LOAD UN I CUS !AAP ;MESSAGE DEQUEUER ;TURN ON SYSTEM CLOCK ;INITIALIZE KEYBOARD ;KILL AN APT RUN ;SAVE REGISTERS ;RESTORE REGISTERS FUNCTIONAL SIDE EFFECTS: NONE 551 552 553 559 560 SEQ 0434 .0_- EDIT BY DATE REASON ERREC - ERROR RECOVERY MACY11 30A(1052) 20-SEP-78 17:51 PAGE 19-1 ERREC.MAC 01-AUG-78 09:45 COMMON DEFINTIONS AND REFERENCES 562 563 564 565 (1) SEQ 0435 .SBTTL COMMON DEFINTIONS AND REFERENCES .MCALL STRUCT STRUCT .PRINT ;SPMAC: VERSION 1.1 $LSTIN:::1 $LSTTAG=1 000000' 000000' 000001 000001 566 567 568 569 570 ;**************** 571 t ; REFERENCED BY OTHER MODULES: 572 573 .GLOBL 574 575 576 ;MODULE ENTRY POINT ERREC ;**************** , 577 578 ; GLOBAL REFERENCES 579 t .GLOBL .GLOBL .GLOBL .GLOSL .GLOBL .GL08L .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL 580 581 582 583 584 585 586 587 58e 589 590 591 592 MSGOHOOK APTKIL PRRLOC WBFUM UNIMAP IV!SGDEQ CLKON lJ'M T .. I T I'\D.l.''tJ. DX.RSTST MD.BSY MD. COD SAVREG RESREG ;MON!TOR'S RESTART LOCATION ;MSGDEQ BUSY FLAG ;MESSA3E CODE IN MSGDEQ 593 ;**~************* 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 t ; LOCAL STORAGE ;MESSAGE ADDRESS TABLE ER.TBL: 000000' 000000' 000002' 000004' 000006' 000010' 000012' 000014' 000072' 000121' 000145' 000151' 000167' 000202' 000205' 000016' 000024 1 000032' 000040' 000045 1 000052' 000060' 000066' 043045 042440 052045 047101 040 051522 040440 042105 . \oJORD . \I;'ORD .WORD .IJJORD .WORD .WORD .WORD 052101 051122 047517 02013~ 051105 051045 047502 000045 046101 051117 046440 000 047522 047125 052122 ER. CQO ER. TQO ER.APT ER. PAR ER.REL ER.KT ER.SYS , MESSAGESER.MG1: .ASCIZ /%FATAL ERROR%TOO MANY / ER.MG2: .ASCIZ / ERRORS%RUN ABORTED%/ ERREC - ERROR RECOVERY MACY11 30A(1052) 20-SEP-78 17:51 PAGE 19-2 ERREC.MAC 01-AUG-78 09:45 COMMON DEFINTIONS AND REFERENCES 611 612 613 614 615 516 617 618 619 620 621 522 623 624 625 526 ;+ ; THE FOLLOWING MESSAGES MUST BE IN THE SAME ORDER AS THEY ARE ; IN THE ERROR WORD OF THE DATA TABLE, I. E., THE ERROR ; MESSAGE ASSOCIATED WITH BIT 0 MUST BE FIRST, THEN THE ERROR MESSAGE ; ASSOCIATED WITH BIT 1, ETC. , 000072' 000100 1 000106' 000114' 000121 1 000126' 000134 1 000142 1 000145' 000151' 000156' 000164 1 000167' 000174 1 000202' 000205 1 000212' 047503 020114 020105 046106 124 052521 053117 053517 101 120 020131 041503 122 052101 052113 123 000115 052116 052521 053117 053517 050131 052505 051105 000 052120 051101 051117 000 046105 047511 000 051531 ER.CQO: .ASCIZ /CONTROL QUEUE OVERFLOW/ ER.TQO: .ASCIZ /TYPE QUEUE OVERFLOW/ 000 052111 042440 ER.APT: ER.PAR: .ASCIZ· /APT/ .ASCIZ /PARITY OR ECC/ 041517 000116 ER.REL! .ASCIZ /RELOCATION/ ER.KT: ER.SYS: .ASCIZ /KT/ .ASCIZ /SYSTEM/ 047522 052505 051105 000 020105 020105 046106 042524 .EVEN SEQ 0436 ERREC - ERROR RECOVERY MACY11 30A(1052) 20-SEP-78 17:51 ERREC.MAC 01-AUG-78 09:45 ERREC ROUTINE 628 629 630 631 (2) 632 633 634 635 636 637 638 (3) 639 PAGE 19-3 SEQ 0437 .SBTTl ERREC ROUTINE ROUTINE ERREC 000214' 000214' ERREC: ;+ ; SAVE REGISTERS ;- 000214' 000214' 004767 CAll SAVREG OOOOOOG JSR PC,SAVREG MOV TABL(R5),RO BIT BEQ #FATERR,DT.ERRlR 50002$ 640 641 642 643 644 645 (4) 546 647 548 649 650 651 (6) (9) 652 653 654 655 656 657 658 659 ;+ ; SET RO TO THE START OF THE DATA TABLE. ;- 000220' 000220' 016500 LET RO := TA8L(R5) 000000 ;+ ; SEE IF THE ERROR WAS FATAL. '000224' 000224' 032760 000232 1 001532 IF #FATERR SETIN DT.ERR(RO) THEN 100000 ;+ ; THE ERROR WAS FATAL. ;+ DETERMINE THE TYPE OF ERROR. THIS IS DONE BY FIRST COPYING THE CONTENTS ; OF THE ERROR WORD (EXCEPT THE FATAL ERROR BIT) INTO TEMPORARY ; STORAGE (R2). THEN THE BIT NUMBER (R4) OF THE SET ERROR INDICATOR ; IS DETERMINED. 660 661 662 663 664 665 666 (4) (6) 667 (4) 668 (4) 669 (3) 670 (6) 671 (6) 000020 , 000234' 000234' 000240' 000244' 000244' 000250' 000250' 000254' 000254000254' 000254' 000256' 000256' 016002 042702 000020 100000 012703 000001 012704 177777 LET R2 .- LET R3 '- #000001 LET R4 .- #-1 DT.ERR(RO) CLR.BY #100000 MOV SIC DT • ERR (RO) , R2 #100000,R2 MOV #OOOOO1,R3 MOV #-1,R4 BIC R3,R2 INC R4 REPEAT 040302 005204 50003$: LET R2 .- R2 CLR ."BY R3 LET R4 .- R4 + #1 ERREC - ERROR RECOVERY MACY11 30A(1052) 20-SEP-78 17:51 ERREC.MAC 01-AUG-78 09:45 ERREC ROUTINE 672 (7) 673 (3) (6) 674 675 676 677 678 679 680 681 (7) 682 683 (4) (6) 684 685 (3) (7) (6) (5) (4) (3) (3) 686 (2 ) 687 (2 ) 688 (2 ) 689 (3 ) (7 ) (6) (5) (4 ) (3) (3) 690 (2 ) 691 (2 ) 692 (2) 693 (3) (7) (6) (5 ) (4) (3) (3) 694 PAGE 19-4 LET R3 := R3 SHIFT #+i 000260' 000260' 006303 000262' 000262' 005702 00C264' 001373 UNTIL R2 EQ #0 SEQ 0438 ASL R3 TST BNE R2 50003$ ;+ , NOW DOUBLE THE ERROR BIT NUMBER (R4) AND USE IT AS AN OFFSET INTO ; THE MESSAGE ADDRESS TABLE, THEN OUTPUT THE P~OPER MESSAGE. LET R4 .- R4 SHIFT #+1 000266' 000266' 006304 000270' 000270 1 012701 000274 1 060401 000276 1 000276 1 000300' 000304 1 000310 1 000314 1 000316 1 000322' 000324' 000324 1 000326' 000326 1 000330' 000330 1 000330 1 000330 1 000332 1 000336' 000340 1 000344 1 000346 1 000352' 000354 1 0003541 000356 1 000356 1 000360 1 000360 1 000360: 000360 1 000362 1 000366 1 000372 1 000376 1 000400 1 000404' 000406' LET Rl ASL R4 MOV ADD #ER.TBL,R1 R4, R1 MOV MOV MOV R5,-(SP) #2$,-(R5) #ER.MG1,-(R5) #MSGPOP,-(R5) RO,-(R5) PC,MS3DHOOK (SP)+,R5 • - #ER. TBl + R4 000000' CALL MSGDHOOK IN 010546 012745 012745 012745 010045 004767 000330' 000016 1 000002 MOV MOV JSR MOV OODeOOG INLINE <1$: NOP> 1$: Nap 000240 INLINE 000776 BR 1$ INLINE <2$:> 2$: CALL MSGDHOOK IN 010546 012745 011145 012745 010045 004767 012605 000360' MOV 000002 rJiOV JSR MOV OOOOOOG INLINE <3$: NOP> 000240 R5,-(SP) #4$,-(R5) (R 1 ) ,- (R5) #MSGPOP,-(R5) RO,-(R5) PC,MSGDHOOK (SP)+,R5 3$: NOP INLINE
SR 3$ 000776 INLINE <4$:> CALL MSGDHOOK IN 010546 012745 012745 012745 010045 004767 012605 MOV MOV MOV 000412 000045 000002 1 1 OOOOOOG I NLINE <5$: NOP> 4$: MOV MOV MOV MOV MOV JSR MOV R5,-(SP) #6$,-(R5) #ER.MG2,-(R5) #MSGPOP,-(R5) RO,-(R5) PC,MSGDHOOK (SP)+,R5 ERREC - ERROR RECOVERY MACY11 30A(1052) 20-SEP-78 17:51 ERREC.MAC 01-AUG-78 09:45 ERREC ROUTINE (2) 695 (2) 696 697 (2) 698 699 700 701 702 703 704 705 (6) (9) 706 (3) (5) (4) (3) (3) 707 (3) (4) (3) 000406 1 000240 000410 1 000410 1 000776 (3) 000450 70S (6) (9) 709 (3) (4) (3) (3) 710 (4) 711 (4) 712 713 714 715 716 717 718 (6) 719 720 721 722 723 724 725 726 727 PAGE 19-5 SEQ 0439 5$: NOP INLINE SR 5$ INLINE <6$:> 000412 1 000412 1 6$: ;+ ( I F THE EXERCI SER IS NOT AT THE LOWEST PART OF ME:"MORY, MOVE IT, RESET ; THE WRITE BUFFER, AND RELOAD THE UNIBUS MAP IF IT EXISTS. ;- 000412 1 000412 1 000420 1 000422 1 000422 1 000424' 000430 1 000432' 000436 1 000440 1 000440 1 000442 1 000444 1 1 000452 1 000452 1 000460' 000462' 000462 1 000464 1 000466 1 000472 1 000474' 000474 1 000474 1 000474 1 IF DT.ADDR(RO) NE #200 THEN 026027 001425 010546 012745 010045 004767 012605 010546 010045 004767 000042 000200 CALL PRRLOC IN 000200 OOOOOOG 010546 010045 004767 012605 DT.ADDR(RO),#200 50004$ MOV MOV MOV JSR MOV R5,-(SP) #200,-(R5) RO,-(R5) PC,PRRLOC (SP)+,R5 1\10V MOV JSR MOV RS,-(SP) RO,-(RS) PC,WBFLIM (SP)+,R5 BIT BEQ #ADDR22,DT.CFO(R 50005$ M:JV MOV R5,-(SP) RO,'""(R5) PC,UNIMAP (SP)+,R5 BIC #RUNMODE,DT.STO( CALL WBFLIM IN OOOOOOG 012605 032760 001405 CMP BEQ IF #ADDR22 SETIN DT.CFO(RO) THEN 001000 000014 -CALL UNIMAP IN MOV JSR OOOOOOG ENDIF ENDIF 50005$: 50004$: ;+ ; CLEAR THE RUN MODE BIT. ;- 000474 1 000474 1 042760 LET DT.STO(RO) '- DT.STO(RO) CLR.BY #RUNMODE 100000 000010 ;+ ; IF AN APT FATAL ERROR .• ' CALL THE APT KILL ROUTINE ;- 000502 1 IF #APTFER SETIN DT.ERR(RO) THEN ERREC - ERROR RECOVERY MACY11 30A(1052) 20-SEP-78 17: 51 ERREC ROUTINE 01-AUG-78 09:45 ERREC.MAC (6) (9) 728 (3) 729 (4) 730 731 (4) (3) 732 733 734 735 736 737 738 739 740 741 742 743 (3) (4) (3) (3 ) 000502' 032760 000510' 001402 000512' 000512' 004767 000516' 000516 1 000004 PAGE 19-6 SEQ 0440 BEQ #APTFER,DT.ERR(R 50006$ JSR PC,APTKIL BR 50007$ MOV MOV JSR MOV R5,-(SP) RO,-(R5) PC,KBINI (SP)+,R5 CLR MD.BSY MOV MQV JSR Mev R5,-(SP) RO,-(R5) PC,MSGDEQ (SP)+,R5 eMP BNE MD. COD, #MSGNU L 50010$ EIT BEQ #CLKPREStDT.CFO( 50011$ MOV MOV R5,-(SP) RO,-(R5) 0n"~ ... , 000020 CALL APTKIL OOOOOOG ENDIF 50006$: ELSE 000516' 000516' 000431 000520' 50002$: ;+ ; THE ERROR WAS NOT FATAL. ;- ;+ ; ENABLE THE KEYBOARD INPUT. ;000520' 000520' 000522' 000524 1 C00530' CALL KBINI IN 010546 010045 004767 012605 OOOOOOG 74~ 745 746 747 748 749 750 (4) 751 (.3) 752 (3 ) (4) (3) (3) 753 (3) (6) 754 755 756 757 758 759 760 (6 ) (9) 761 (3) (4) ;+ ; WAIT FOT THE TYPE QUEUE TO EMPTY. ;000532' 000532 1 000536 1 000536' 000536' 000536' 000540 1 000542' 000546' 000550' 000550' 000556' LET MD.BSY 005067 != #0 OOOOOOG REPEAT 50010$: CALL MSGDEQ IN 010546 010045 004767 012605 OOOOOOG UNTIL MD. COD EO #MSGNUL 026727 001367 OOOOOOG 177775 ;+ ; TURN ON THE SYSTEM CLOCK IF IT EXISTS. ;000560' 000560' 000566' 000570' 000570' 000572' IF #CLKPRES SETIN OT.CFO(RO) THEN 032760 001405 000001 000014 CALL CLKON IN 010546 010045 ERREC - ERROR RECOVERY MACY11 30A(1052) 20-SEP-78 17: 51 ERREC ROUTINE 01-AUG-78 09:45 ERREC.MAC (3) (3) 762 (4) 763 764 765 (4) 766 767 768 769 770 771 (3) 772 773 774 775 776 777 778 (2 ) 779 780 781 (3) (3) (2) 782 0005741 004767 000600 1 012605 0006021 000602 1 PAGE 19-7 SEQ 0441 OOOOOOG JSR PC,CLKON MOV (SP)+t R5 JSR PC,RESREG ENDIF 50011$: ENDIF 000602 1 000602 1 50007$: ;+ ; RESTORE REGISTERS , 000602 1 000602 1 004767 CALL RESREG OOOOOOG j+ ; RESTART THE MONITOR. , 000606 1 000606 1 000167 000612' 000612 1 000612' 000612 1 000207 000001 INLINE JMP DX.RSTRT OOOOOOG ENDRTN 50000$: 50001$: RTS .END PC ERREC - ERROR RECOVERY MACY11 30A(1052) 20-SEP-78 17:51 SYMBOL TABLE 01-AUG-78 09:45 ERR::C.MAC ACSR ACTBlT::: ADDR22= ADR APTtER= APTKIl= APTPRE= ASB ASSEMB= ASTAT = AUTO AUTOST= AWAS BITO BITOO BITOl BIT02 8IT03 B1T04 BIT05 BIT06 BIT07 BIT08 8IT09 BIT1 BIT10 BIT'1 B1T12 B1T13 BIT14 8IT15 BIT2 BIT3 BIT4 BITS SIT6 BIT7 BIT8 BIT9 BKDEF BKMOD BKMODE= BKSLSH= CAPRES= CASTAT= CDERCT= 000102 004000 001000 000006 000004 ****** G 000200 b00106 000010 000104 000010 020000 000110 000001 000001 000002 000004 000010 000020 000040 000100 000200 000400 001000 000002 002000 004000 010000 020000 040000 100000 000004 000010 000020 000040 000100 000200 000400 001000 000002 000020 040000 000134 000004 000004 000146 CD~DCT= 000144 CKTIM = 100000 CLKON = ****** G CLKPRE= 000001 CONFIG= 000056 000001 CQCVF 000015 CR CSRA CSRC CTRLC CTRLO CTRLU DCEVNT= DEfRTN= DIAGMC= DROPMO= DSEVNT= DT.ADD= DT.AP = DT.APK= DT.8LS= DT.CFO= DT.CF1= DT.ERR= DT.ESI= DT. EVN,= DT.EXS= DT.FCH= DT.FCN= DT.HMX= DT.KBE= DT.KBP= DT.KBR= OT.KBU= DT.MLS= DT.MTI= DT.OFF= DT.PAS= DT.PC = DT.PFL= DT. PSi'J= DT.PTA= DT.RCS= DT.REL= DT.SCT= DT.SMX= DT.SP = DT.SS1= DT.STO= DT.ST1= DT.SWR= DT.SYP= DT.WBU= DT.WHL= DT.WLL= DVID1 = DX.RST= ECCMEM= ECCSTA= ENSEOP= 000100 000102 000003 000017 000025 000011 000400 000000 '100000 000014 000042 000100 000076 000034 000014 000016 000020 000044 000000 000060 000037 000036 000104 000024 000026 000022 000030 000032 000110 000070 000074 000002 000062 000004 000064 000102 000040 000066 000106 000006 000046 000010 000012 000056 000072 000050 000054 000052 000014 ****** G 000100 000010 010000 ENBNUL= ENDLST= EOPBIT= ERRE;C ERRTYP= ER.APT ER.CQO ER.KT ER.M\31 ER.MG2 ER ."PAR ER.REL ER.SYS ER.TBL ER.TQO EVNTBE= EVNTHD= EVNTKT= EVNTPE= EVNTRE= FATERR= HRDCNT= HRDPAS:: ICONT = 1COUNT= IDNUM = IE INDPAR= 1NHDRP= INHEPR= INHREL= INHRRE= INIT 1NTR IOr-1OD = IOMODP= IOMODR= IOMODX= JACK KB1NI = KIPARO= KIPAR1= KIPAR2= K1PAR3= KIPAR4= KIPAR5= KIPAR6= KIPAR7= KIPDRO= KIPDR1= KIPDR2= KIPDR3= K1PDR4= PAGE 20 00000; 000000 000001 000214RG 000106 000145R 0OOO72R 000202R 000016R 000045R' 000151R 000i67R 000205R OOOOOOR 000121R 000200 000200 000203 000202 000201 100000 000044 000050 00003'6 000040 000122 000100 000040 040000 020000 001000 000400 000030 000120 100000 102000 112000 110000 035060 ****** G 172340 172342 172344 172346 172350 172352 172354 172356 172300 172302 172304 172306 172310 SEQ 0442 KIPDR5::: KIPDR6= K1PDR7= KTERRO= KTPRES= KTSTAT= KTXTND= LF LPSTAT= MAPSTA= MD.BSY= MD.COD= MED MErIlPAS= MODEXH= MODHOL= MODSfL= MSGCKD= MSGCKS= MSGDEQ= MSGDER= MSGDHO= MSGDRP= MSGECH= MSGEOP= MSGHDR= MSGHNG= MSGHRD= MSGMAP= MSGNUL= MSGPOP= MSGPRf'li= MSGRES= MSGSFT= MSGSKE= MSGSMB= MSGSMH= MSGSMS= MSGSiD= MSGSYS= MSGVEC= NB~MOD= NCPUOP= NOAPTY= NULL OWEN PAERR = PARPRE= PARSTA= PASCNT= PDPLSI= PDP60 PDP70 = .""1"'\"'\"", PRIO 172314 172316 000040 000400 000020 040000 000012 000001 000200 PR1' PRI4 PR15 PRIG PRI7 PRRLOC= PRO PR4 PR5 PR6 PR7 PS PSW RANNUM= RBUFEA= R8UFPA= R8UFSZ= R8UFVA= RDSERV= RDl>JHMI = RELERR= RELMOD::. REL Tn/I= RESREG= RE$j RES2 RICHAR= RPTDAT= RSTRT = RU80UT= RUNMOO= R5VALU= SAM SAVREG= saADR = SBKMOD= SBKSEL= SC.ADR= sc. ALC= SC.APC= sc. CKL= SC.CKP= SC.CLO= SC.HLD= SC.SCA= SENDLS= SOFCNT= SOFPAS= SPACE = SPO!NT= SPVALU= SRO I I ,,:·""1 4- ****** G ****** G 076600 040000 004000 002000 001000 000010 000011 ****** G 000005 ****** 000017' 177777 000013 000004 000022 000007 000021 177775 000002 177776 000001 000006 000003 000015 000014 000016 000000 000012 000020 001000 000020 000002 000000 024020 000010 002000 000100 000034 020000 004000 010000 G 000000 000040 000200 000240 000300 000340 ****** G 000000 000200 000240 000300 000340 177776 177776 000054 000130 000126 000132 000124 000101 000022 000020 020000 010000 **"'*** G ****** G 000056 000060 031060 002000 000112 000177 100000 001740 075464 000102 000000 010000 000006 000014 000016 000002 000004 000000 000010 000012 177777 000042 000046 000040 000032 002200 177572 ERREC - ERROR RECOVERY MACY11 30A(1052) 20-SEP-78 17:51 SYMBOL TABLE 01-AUG-78 09:45 ERREC.MAC SRi SR2 SR3 STAT STATBl= STATi = SUSPND= SVRO SVR1 SVR2 SVR3 SVR4 SVR5 SVR6 SYSCNT= SYSERR= TABL TMPIO = TQOVF = UIPARO= UIPAR1= UIPAR2= UIPAR3= 177574 177576 172516 000026 064757 000027 000001 000062 000064 000066 000070 000072 000074 000076 000052 000100 000000 000002 000002 177640 177642 177644 177646 ASS. 000000 000614 UlPAR4= UlPAR5= UlPAR6= UIPAR7= UIPDRO= UlPDR1= UIPDR2= U1PDR3= UIPDR4= U1PDR5= UIPDR6= UlPDR7= UNIMAP= WASADR= WBFLIM= WBSTAT= WBUFEA= WBUFPA= ioJSUFRQ= WBUFSZ= WDFR WDTO WTINRE= WTWHMI= XFLAG = XOFF XON $BGNLE= $ERFLG'; $F$AND= $F$BAD= $F$BlA= $F$CAS= $F$DEC= $F$DO = 177650 177652 177654 177656 177600 177602 i77604 177606 177610 177612 177614 177616 ****** G 000104 ****** G 000040 000136 000134 000140 000142 000116 000114 000352 000 001 0 ERRORS DETECTED: DEFAULT GLOBALS GENERATED: PAGE 20-1 0 DSKZ:ERREC,DSKZ:ERREC=SPMAC/ML,EQUATE,ERREC RUN-TIME: 15 5 .4 SECONDS RUN-TIME RATIO: 44/22=2.0 14K (27 PAGES) CORE USED: $F$FAL~ $F$GOO= $F$IF = $F$INC= $F$LOO= $FSNAM= $F$NO $F$OR = $F$RT!= $F$RTN= $F$SEL= = 000222 000005 000023 000021 177777 000400 000310 000401 000170 000150 000220 000340 000405 000400 000110 000210 000200 000160 000403 000320 000350 000300 000140 SEQ 0443 $F$THE= $F$TRU= $F$UNT= $ F$WHI = $F$YES= $1FLEV= $ISKO = $1SK1 = $ISK2 = $LOCTA= $LSTIN= $LSTTA= $NESTL= $NSKO $NSK1 = $NSK2 = $NSK3 = $SAVLE= $TAGLE= $TAGNU= $TEMP $TSKO $TSK1 000330 000404 000130 000120 000402 177777 000001 000001 000001 177777 000001 000001 177777 000300 000110 000110 000110 177777 177777 050012 000300 050007 050011 $TSK2 = S$ARGC= $$8YTE= $$CASE= $$DST = SSE LOC= $$ERFL= $$FLAG= $$FROM= $$LOC = $$LOCN= $$REG = $$RETU= $$RTN1= $$RTN2= $$SRC = $STGSV= $$TGS1= $$TGS2= $$TO $$$TAG= 050005 000002 000403 000000 000000 000402 000000 000001 000000 000566R 000000 177777 000000 050000 050001 000000 000000 000000 000000 000000 050000 000614R .MAIN. MACV11 30A(1052) 20-S~P-78 EQUATE.MAC 13-SEP-78 16:13 3 562 566 613 624 628 645 654 667 693 700 709 734 747 769 796 836 919 973 986 1016 1036 1068 1189 1218 1234 1269 17:52 TABLE OF CONTENTS COMMON EQUATE MODULE COMMON DEFINITIONS AND REFERENCES 000000' .PRINT ;SPMAC: VERSION 1.1 MESSAGE - END-OF-PASS MESSAGE - SUM COMMAND HEADER LINE (JUST A CR FOR THIS MONITOR) MESSAGE - SUM COMMAND MODULE LINE MESSAGE - SUM COMMAND SUMMARY LINE MESSAGE - COMMON ~EADER MESSAGE - HRDERR,SOFERR MESSAGE - HRDERR,SOFERR,EXTENSION MESSAGE - DROP MODULE MESSAGE - CKDATA,DATACK,DATERR MESSAGE - CKDATA/DATACK SUMMARY LINE FILLMSG - FILL-IN THE BLANKS ROUTINE PROCESS END-OF-PASS TYPE MESSAGE PROCESS COMMON HEADER TYPE MESSAGE PROCESS HRDERR,SOFERR PROCESS HRDERR, SOFERR EXTENDED PRINTOUT MESSAGES? PROCESS SUM COMMAND TYPE MESSAGES PROCESS SUM COMMAND MODULE LINE MESSAGE PROCESS SUM COMMAND SUMMARY LINE MESSAGE PROCESS DROP MODULE TYPE MESSAGE PROCESS CKDATA/DATACK/DATERR PROCESS CKDATA/DATACK SUMMARY LINE DO THE NECESSARY CLEAN-UP AND THEN RETURN GET MODULE NAME CONVERT VIRTUAL ADDRESS TO PHYSICAL ADDRESS ASCII SEQ 0444 FILLML - FILL MESSAGE {LITTLE} - TO FILL IN SKELETAL MSGS FILLML.MAC 16-AUG-78 14:36 COMMON EQUATE MODULE 508 509 510 511 .TITLE .IDENT MACi11 30A(1052) rILLML - FILL MESSAGE (~ITTLE) IVO.OI 20-SEP-78 17:52 ?AGE 19 - T8 FILL IN SKELETAL MSGS ;++ MODULE NAME: FILLMSG 512 Si3 514 FUNCTIONAL DESCRIPTION: THIS ROUTINE IS RESPONSIBLE FOR FIILLING IN THE BLANK FIELDS OF THE MONITOR GENERATED SKELETAL MESSAGES. THE TYPES OF SKELETAL MESSAGES SUPPORTED ARE: 1. END OF PASS 2. HARD ERROR 3. SUM COMMAND 4. SOFT ERROR 5. COMMON HEADER 6. DROP MODULE 7. DATA ERROR 8. BAD VECTOR 9. MAP SUMMARY 10. C~DATA CALL 515 516 517 518 519 520 521 522 523 524 525 526 ': INPUTS: 1. DATA TABLE 2. MSG TYPE CODE 3. MSG ADDRISPECIAL VALUE 4. MODULE1S HDR ADDR , 527 528 529 530 532 IMPLICIT INPUTS: DT.STO 533 534 OUTPUTS: 531 1. ADDRESS OF FILLED-IN MESSAGE 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 IMPLICIT OUTPUTS: NONE PATHOLOGICAL CONNECTIONS: NONE SUBORDINATE ROUTINES CALLED: 1. BOACNV 2. BOAC 3. GPA 4. SAVREG 5. RESREG ;BINARY TO DECIMAL ASCII CONVERSION ;BINARY TO OCTAL-ASCII CONVERSION ;GET PHYSICAL ADDRESS FUNCTIONAL SIDE EFFECTS: NONE CALLING SEQUENCE: CALL FILLMSG IN OUT VERSION: 0.0 EDIT ;- BY DATE REASON SEQ 0445 FILLML - FILL MESSAGE (LITTLE) - TO FILL IN SKELETAL MSGS MACY11 30A(lG52) FILlMl.~AC 16-AUG-78 14:36 COMMON DEFINITIONS AND REFERENCES 562 563 564 565 566 (1) 000000' 000000' VVVVVI 568 000001 569 570 571 572 573 .PRINT .MCALl STRUCT STRUCT ;SPMAC: VERSION 1.1 SLSTIN = 1 $LSTTAG = 1 11;~~ ~AU~ 1=-1 , 574 575 ; REFERENCED BV,OTHER MODULES , 576 577 578 579 .GlOBl ;MODULE'S ENTRY POINT FIllMSG j**************** , 580 ; GLOBAL REFERENCES 581 582 , ;BINARY TO DECIMAL ASCII CONVERSION ROUTINE ;BINARY TO OCTAL-ASCII CONVERSION ROUTINE ;BINARY TO OCTAL ASCII CONVERSION ;CHECK FOR HUNG MODULES ROUTINE ;GET PHYSICAL ADDRESS ROUTINE .GlOBl BDACN\J .GlOBL BOA16 .GlOBl BOAC .GlOBl CKHUNG .GlOBl GPA .GlOBl SAVREG .GlOBl RESREG 583 584 585 586 587 588 589 590 ;**************** , 591 592 593 ; LOCAL EQUATES: 594 000010 595 596 597 FLDMAX = "'0<8> ;MAX FIELDS PER LINe , ;**************** ; 598 611 COMMON DEFINITIONS AND REFERENCES 1"\1'\1"\1"\1"\411 567 599 600 601 602 603 604 60S 606 607 608 609 610 .SBiiL 20-~~~-jti ; LOCAL STORAGE , 000000' 000002 1 000004' 000004' 000006 1 000010' 000012' 000014 1 000000 000000 000000 000000 000000 000000 000000 FlDCNT: LINECNT: TMP1 : TMPVA: TMPPA: TMPEA: FM.PA: FM.EA: . WORD . WORD o a .WORD .WORD .WORD .WORD .WORD a o o o o r ;**************** ;FIElD COUNTER ; LINE COUNTER j STORAGE '/JORD ;STORAGE/VIRTUAL ADDRESS ;STORAGE/PHYSICAL ADDRESS ;STORAGE/EA BITS ;STORAGE - PHYS. ADOR. ,STORAGE - EA BITS SEQ 0446 FIlLML - FILL MESSAGE (LITTLE) - TO FILL IN SKELETAL MSGS FILLML.MAC 16-AUG-78 14:36 MESSAGE - END-OF-PASS 613 614 615 616 617 618 619 620 621 622 .SBTTL 000016 1 000017 1 000024 1 000032 1 000037' 000044 1 045 000005 042440 051501 000005 000045 042116 020123 050040 043 MACY11 30A(1052) EOPPAS: .BLKB .ASCIZ "D<5> 1%/ 17:52 PAGE 19-2 SEQ 0447 MESSAGE - END-Of-PASS EOPMSG: . ASCI I /%/ "0<5> EOPNAM: . BLKS .ASCII / END PASS 20-SEP-78 .u .f "1 FIL~ML - FILL MESSAGE (LITTLE) - TO FILL IN SKELETAL MSGS MACY11 30A(1052) ~U-~t~-/~ i/.~' ~h~~ FILLML.MAC 16-A~G-78 14:36 MESSAGE - SUM caM~ANC HEADER LINE (JUST A CR FOR THIS MONITOR) .SBiTL 624 625 626 000046' 000045 I~ w MESSAGE - SUM COMMAND HEADER LINE (JUST A CR FOR THIS MONITOR) RNHMSG: .ASCIl /%/ SEQ 0448 FIllMl - FILL MESSAGE (lITTLE) - TO FILL IN SKELETAL MSGS MACY11 30A(1052) FILlMl.MAC 16-AUG-78 14:36 MESSAGE - SUM COMMAND MODULE lINE 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 .SBTH. 000050' 000051 ' 000056' 000064 1 000066' 000074 ' 000102' 000110' 000116' 000117' 000124' 000132' 000135' 000142' 000150' 000153' 000160' 045 000005 040440 020072 000006 051440 000006 050040 043 000005 044040 051522 000005 051440 051522 000005 000 020124 040526 040524 020124 051501 MESSAGE - SUM COMMAND MODULE LINE RNBMSG: .ASCII /%/ "0<5> RNSNAM: .SlKS .ASCII / AT VA: / RN8PC: .BLKB 020123 .ASCII RNSSTAT: .SlKS .ASCII ""'0<6> / STAT / ""'D<6> / PASS #/ 042122 040 051105 RNBPAS: .BlKS .ASCII "0<5> / HROERRS / 052106 040 051105 RNBHRO: • SlKB .ASCII "'0<5> / SFTERRS / . . D<5> RNBSFT: .BlKS .BYTE 0 20-SEP-78 17:52 PAGE 19-4 SEQ 0449 FILLML - FILL MESSAGE (LITTLE) - TO FILL IN SKELETAL MSGS MACY11 30A(1052) FIlLML.MAC 16-AUG-78 14:36 MESSAGE - SUM COMMAND SUMMARY LINE 545 646 647 648 649 650 651 652 .SBTTL 000161 ' 000166' 000174' 000201 ' 000206' 000214' 000222' 000230' 000235' 045 046505 051117 000005 020040 053517 044501 000005 045 035123 052123 051122 040 020040 051105 051514 050040 043040 020072 054523 04~440 MESSAG~ - RNSMSG: .ASCII RNSERR: .BLKB 000 Al""I"Tl' .1"\.;)1".1..1. SUM COMMAND SUMMARY /%SYSTEM ERRORS: / .... 0<5> I J .... 0<5> RNSPWR: .BLKB .ASCIZ /%/ POWER FAILS: / . ..,. ... ,,... L.J.J'lit:, 20-SEP-78 17:52 PA~~ l~-~ SEQ 0450 FILLML - FILL MESSAGE (LITTLE) FILLML.MAC 16-AUG-78 14:36 TO FILL IN SKELETAL MSGS MACY11 30A(1052) MESSACE - COWMON HEADER .S8TTL 654 655 656 657 658 659 660 661 662 663 664 665 000237' 000240' 000245 1 000252 1 000262' 000270 1 000276' 000304' 000305' 000312' 045 000005 040 000010 040440 000006 050040 043 000005 000045 040520 020072 041520 020072 020123 = COMMON HEADER HDRMSG: .ASCII /%/ ~D<5> HDRNAM: . SlKS • ASCII / PA: / AD<8> HDRPA: .SLKS HDRPC: 051501 MESSAGE .ASCII / APe: .SLKS 6 .ASCII / PASS HDRPAS: .SLKS .ASCIZ -D<5> /%1 I HI 20-SEP-7B "/:02 l-'A\.;il:: ""l~-O SEQ 0451 FI LLML - FILL MESSAGE (LITTLE) 16-AUG-78 14:36 FI LLML.MAC 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 MACY 11 30A(1052) TO FILL IN SKELETAL MSGS MESSAGE - HRDERR,SOFERR .S8iTL 000314 1 000315 1 0003221 00032'7 1 000337 1 000344'1 000345 1 000353 1 000360,1 000362' 000367 1 000370' 000374 1 000401' 000406 1 000414 1 000415 1 000423' 000430' 000432' 000440' 000446' 000450' 000456 1 000464' 000467' 000475 1 000476 1 045 000005 050040 000010 1'\.111'\ v-rv 040 000006 040 021440 000005 040 000004 042440 000005 041445 040 000006 040 020072 000006 040440 020072 000006 042440 035120 000006 045 000 035101 040 v ...rv f\t:;f\;f\~ I \,II 035103 040520 051523 11:bL I-'A\.:it. .SlKS .ASCII .ASCII /%/ .... D<5> / PA: / "'D<8> / APe: / . . 0<6> / PASS #/ 051122 043 051123 035101 "'0<5> .SlKS · ASCII / / "'0<4> OATTYP: .SlKS .ASCII / ERR#/ "'0<5> DATNUM: .SlKS · ASCII /%CSRA: / 051503 041522 DATADD: .SlKS · ASCII . . 0<6> / CSRC: DATCON: 052123 052101 .SlKS .ASCII . . 0<6> / ASTAT: / OATSTAT: 051122 040 054524 . BlKS .ASCII "'0<6> / ERRTYP: / DATERR: "'0<6> .BlKS · ASCII /%/ .SYTE 0 DATPAS: DATENO: 1':::1-' SEQ 0452 MESSAGE - HRDERRtSOFERR DATAMSG: DATNAM: .SlKS · ASCII .SlKS OAT PC: .ASCI! OATAPC: 20-::; !:. P-'[/j ;OATA, HARD, SOFT / ;ENO OF MESSAGE INDICATOR FILLML - FILL ~ESSAGE (LITTLE) - TO FILL IN SKELETAL MSGS MACY11 30A(1052) F!LLML.MAC 16-AUG-78 14:36 MESSAGE - HRDERR,SOFERRtEXTENSION .SBTTL 693 694 695 696 697 698 1 000477 000477 1 000344 001043 1 000 MESSAGE - HRDERR,SOfERR,EXTENSrON EXTMSG: .BlKS EXTEND: .BYTE 0 ~D<22B> 20-SEP-78 17:52 PAGE 19-8 SEQ 0453 FILLML - FILL MESSAGE (LITTLE) - TO FILL IN SKELETAL MSGS FILLML.MAC 16-AUG-78 14:36 MESSAGE - DROP MODULE .SBTTL 700 701 702 703 704 705 706 707 001044 1 001045 1 001052 1 001060 1 001066 1 001073 1 001101' 045 000005 042040 042105 050101 000006 045 047522 040440 035103 050120 020~24 MESSAGE - DROP MODULE DRPMSG: . ASCII /%/ ~D<5> DRPNAM: .BLKB .ASCII / DROPPED AT APC: / 040 DRPPC: 000 MACY11 30A(1052) ~D<6> .BLKB .ASCIZ /%/ 20-SEP-78 17:52 PAGE 19-9 SEQ 0454 MACY11 30A(1052) FILLMl - FILL MESSAGE (LITTLE) - TO FILL IN SKELETAL MSGS MESSAGE - CKDATA,DATACK,DATERR 16-AUG-78 14:36 F!LLML.MAC 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 MESSAGE - CKDATA,DATACK,DATERR .SSTTL 001103' 001104' 001111' 001116' 001126' 001134' 001142' 001150' 001151' 001156' 001164' 001171' 001176 1 001200' 001206 1 001214' 001222 1 001230' 001236' 001244' 001245' 001255' 001262' 00i264! 001274 1 045 000005 040 000010 040440 000006 050040 043 000005 042440 000005 045 020072 000006 051440 000006 053440 000006 053440 040 000010 040 020122 000010 000045 CKDMSG: • ASCII CKDNAM: .SlKS .ASCII .SlKS CKDPA: · ASCII .BLKB CKOVA: .ASCII 1%1 .... D<5> I PA: I "'D<8> I APC: I .... 0<6> I PASS #1 CKOPAS: .BLKS · ASCII CKDNUM: .SlKS .ASCII .... 0<5> ERR #1 ""0<5> I%CSRA: I "'0<6> II SIB: II .... D<6> I WAS: I . . D<6> / WRADR / I 040520 020072 041520 020072 051501 020123 051122 021440 051503 040522 041057 020072 051501 020072 040522 051104 .BLKS .ASCII .SlKS CI RDADR / .... D<8> 1%1 20-SEP-78 17:52 PAGE 19-10 SEQ 0455 FILlML - FILL MESSAGE (lITTLE) - TO FILL IN SKELETAL MSGS MACY11 30A(1052) FILLML.MAC 16-AUG-78 14:36 MESSAGE - CKDATA/DATACK SUMMARY lINE 734 735 736 737 738 739 740 741 742 743 744 745 .SSTTl 001276' 001276' 001303' 001310' 001315' 001322' 001330' 001334' 001341' 001346' 001354' 000005 040 000005 040 051522 047440 000005 040 020123 000045 040510 020104 051105 047440 020106 047522 052125 047527 042522 042122 042101 20-SEP-78 MESSAGE - CKDATA/DATACK SUMMARY LINE CKDSMSG: CKDSNAM: .SLKS ~D<5> .ASCII / HAD / CKDSCNT: . SlKS ~D<5> .ASCII / ERRORS OUT OF / CKDSRD: .BlKS ~D<5> .ASCIZ / WORDS READ%/ .EVEN 17:52 PAGE 19-11 SEQ 0456 FILLML - FILL MESSAGE (LITTLE) - TO FILL IN SKELETAL MSGS MA~ll ~UAllU~~) FILLML.MAC 16-AUG-78 i4:36 F!LLMSG - FILL-IN THE BLANKS ROUTINE '747 748 749 750 751 752 (2) 753 754 755 756 757 758 759 760 761 (3) 762 (4) 763 (4) 764 (4) 765 (4 ) 766 767 .S8TTL ~U-~~~-j~ 1/;O~ ~A~C I~-I~ SEQ 0457 FILLMSG - FILL-IN THE BLANKS ROUTINE ROUTINE FILLMSG 001356 1 001356 1 FILLMSG: ;+ ; SAVE REGISTERS AND SAVE DTABLE,ADR,MSGADR AND TYPCODE ;- 001356' 001356 1 001362 1 001362' 001366 1 001366 1 001372' 001372 1 001376' 001376 1 CALL SAVREG 004767 016S00 016501 016502 016S04 OOOOOOG LET RO "- DTABLE(RS) LET R1 HDRADR(RS) LET R2 .- " MSGADR(RS) LET R4 "- TVPCODE(R5) 000000 000006 000004 000002 JSR PC,SAVREG MOV DTABLE(R5) ,RO MOV HDRADR(R5),R1 MOV MSGADR(R5),R2 MOV TYPCODE(R5),R4 FILLML - FILL MESSAGE (LITTLE) - TO FILL IN SKELETAL MSGS MACY11 30A(1052) F!LLML.MAC 16-AUG-78 14:36 PROCESS END-Of-PASS TYPE MESSAGE 769 770 771 772 773 '774 775 776 777 778 779 (6) (9) 780 781 782 783 784 785 (3 ) (5) (4) (3) (3) 786 .SBTTL 17:52 PAGE 19-13 SEQ 0458 PROCESS END-Of-PASS TYPE MESSAGE ;+ ; IS IT AN END-OF-PASS TYPE? IF SO, FILL iN THE BLANK fIELDS, ; UPDATE THE MODULE'S PASS TIME, AND CHECK fOR ANY "HUNG" MODULES ;- 001402 1 001402 1 020427 001406 1 001024 IF R4 EO #MSGEOP THEN 000013 CMP BNE R4,#MSGEOP 50002$ MJV MOV MOV JSR MOV Fc5,-(SP) #EOPNAM,-(R5) R1,-(R5) PC,GETNAM (SP)+,R5 MOV MOV J5R MOV RS,-(SP) #EOPPAS,-(R5) PASCNT(R1),-(R5) PC,BDACNV (SP)+,R5 MOV #EOPMSG,FLMSADR( ;+ ; GET MODULE NAME ;- 001410 1 001410' 001412' 001416' 001420 1 001424' CALL GETNAM IN 010546 012745 010145 004767 012605 000017' 002032 ., ..... ...I 0"' ...I 788 789 790 (3) (5) (4) (3) (3) 791 792 (4) 793 (2) 794 (4) 20-SEP-78 ' ; CONVERT PASS COUNT TO DECIMAL ASCII ;- 001426 1 00"i426001430001434' 001440 1 001444' CALL BDACNV IN 010546 012745 016145 004767 012605 001446' 001446' 012765 001454 1 001454' 000167 001460' 001460' 000037 1 000034 OOOOOOG MJV LET FLMSADR(R5) .- #EOPMSG 000016 1 000010 INLINE. JMP 1 $ 001770 ENDIF 50002$: FILLML - FILL MESSAGE (LITTLE) - TO FILL IN SKELETAL MSGS MACY11 30A(1052) FILLML.MAC 16-AUG..-78 14:36 PROCESS COMMON HEADER TYPE MESSAGE 796 797 798 799 800 801 802 (6) (9) 803 804 805 806 807 (3) (5) (4) (3) (3) 808 809 810 811 812 (3) (6) (5) (4) (3) (3) "SBTT L 20-SEP-78 17:52 PAGE 19-14 SEQ 0459 PROCESS COMMON. HEADER TYPE MESSAGE ;+ ; IS IT A COMMON HEADER TYPE MESSAGE? ;- 001460 1 001460 1 020427 001464 1 001045 001466 1 001466 1 001470 1 001474 1 001476 1 001502 1 IF R4 EQ #MSGHDR THEN 000004 ;+ ; GET MODULE NAME ;CALL GETNAM IN 010546 012745 010145 004767 012605 000240 1 CMP BNE R4,#MSGHDR 50003$ MOV MOV R5,-(SP) #HDRNAM,-(R5) R1,-(R5) PC,GETNAM (SP)+,R5 MOV JSR MOV 001754 ;+ ; GET PHYSICAL ADDRESS CALL GETAPA IN 001504 1 001504 1 010546 OO-j 506! 012745 001512 1 001514 1 001516 1 001522 1 010245 010045 004767 012605 MOV MOV R5,-(SP) #HDRP.A,-(R5) R2,-(R5) RO,-(R5) PC,GETAPA (SP)+,R5 MOV SUB R2,R3 R1,R3 MOV MOV MOV JSR MOV R5,-(SP) #HDRPC,-(R5) R3,-(R5) PC,BOA16 (SP)+,R5 MOV R5,-(SP) Mev 000252! MOV MOV JSR 001774 813 814 ;+ 815 816 917 818 (4) ; FORM APC (6 ) 819 820 821 822 823 824 (3) (5) (4) (3) (3) 825 826 827 828 829 830 (3) ;- LET R3 "- R2 - R1 001524 1 001524 1 010203 001526 1 160103 + AND CONVERT IT TO ASCII 001530 1 001530 1 001532 1 001536 1 001540 1 001544 1 CALL 80A16 IN 010546 012745 010345 004767 012605 000270 1 OOOOOOG + CONVERT PASCNT TO ASCII 001546 1 001546' 010546 CALL BDACNV IN FILLML - FILL MESSAGE (LITTLE) - TO FILL IN SKELETAL MSGS MACY11 30A(1052) F!LLML.MAC 16-AUG-78 14:36 PROCESS COMMON HEADER TYPE MESSAGE (5) (4) (3) (3) 831 (4) 832 (2) 833 (4) 834 001550' 001554' 001560' 001564' 001566' 001566' 001574' 001574' 001600' 001600' 012745 016145 004767 17:52 PAGE 19-15 SEQ 0460 000305' 000034 OOOOOOG 012605 LET FLMSADR(R5) 012765 20-SEP-78 .- MOV MOV JSR MOV #HDRPAS,-(R5) PASCNT(R1),-(R5) PC,BDACNV (SP)+,R5 MOV #HDRMSG,FLMSADR( #HDRMSG 000237' 000010 INLINE 000167 001650 dMP 1$ ENDIF 50003$: FILLML - FILL MESSAGE (LITTLE) - TO FILL IN SKELETAL MSGS FILLML.MAC 16-AUG-78 14:36 PROCESS HRDERR,SOFERR 836 837 838 839 840 841 842 843 844 (6) (9) (6) (9) 845 (2) 846 (4) 847 848 849 850 851 (4) 852 853 854 855 856 857 (3) (5) (4) (3) (3) 858 859 860 861 862 863 (3) (6) (5) (4) (3) (3) 864 865 866 8 01 .... .., 868 869 (4) (6) 870 871 .SBTTL MACY11 30A(1052) 20-SEP-78 17:52 PAGE 19-16 SEQ 0461 PROCESS HRDERR,SOFERR ;+ ; IF NOT A HARD OR SOFT ;- 001600' 001600' 001604' 001606' 001612' 001614' 001614' C01620' 001620' ER~OR, CONTINUE CHECKING IF R4 NE #MSGSFT AND R4 NE #MSGHRD THEN CMP SEQ CMP. SEQ 000006 020427 001405 020427 001402 000007 000167 000474 IN LINE JMP 100$ ENDIF 50004$: ;+ ; INSERT THE END OF MESSAGE CHARACTER AND ASSUME THAT THERE IS NO ;- 001620' 001620' 105067 R4,#MSGSFT 50004$ R4,#MSGHRD 50004$ EXTENDED PRINTOUT LET DATEND :B= #0 176652 CLRB DATEND MClV R5,-(SP) #DATNAM,-(R5) Rl,-(R5) PC,GETNAM (SP)+,R5 ;+ ; GET MODULE NAME ., 001624' 001624' 001626' 001632' 001634' 001640' CALL GETNAM IN 010546 012745 010145 004767 012605 MOV MOV JSR 000315' 001616 MOV ;+ ; GET P.A. f 001642' 001642' 001644' 001650' 001652' 001654' 001660' CALL GETAPA IN 010546 012745 010245 010045 004767 012605 MOV MOV MOV MOV JSR 000327' 001636 MOV R5,-(SP) #DATPC,-(R5) R2,-(R5) RO,-(R5) PC,GETAPA (SP)+,R5 ;+ ; FORM APC ;- 001662' 001662' 010203 001664' 160103 LET R3 := R2 - R1 MOV sua ;+ R2,R3 R1,R3 FILLML - FILL MESSAGE (LITTLE) - TO FILL I~ SKELETAL MSGS PROCESS HRDERR,SOFERR 16-AUG-78 14:36 FILLML.MAC 872 373 874 875 (3 ) (5) (4) (3) (3 ) 876 877 878 879 880 881 (3 ) (5 ) (4) (3) (3) 882 883 (4) 884 885 895 (4) 896 (4) 897 (4) 898 (4) 899 (4 ) 900 (4) 901 20-SEP-78 17:52 PAGE 19-17 SEQ 0462 0- t 001666' 001666' 001670' 001674' 001676 1 001702' CALL BOA16 IN 010546 012745 010345 004767 012605 MOV JSR MOV R5,-(SP) #DATAPC,-(R5) R3,-(R5) PC,BOA16 (SP)+,R5 MOV MOV MOV JSR MOV R5,-(SP) #DATPAS,-(R5) PASCNT(R1),-(RS) PC,BDACNV (SP)+,R5 MOV #DATTYP,R3 CMP BNE R4,#MSGSFT 50005$ MOVe ;f;.'IS,(R3)+ Move #'O,(R3)+ MOVB #'F,(R3)+ MOVB #' T , (R3)+ MOV SOFCNT(R1),RO 8R 50006$ MOVB # I H, (R3)+ MOVB # I A, (R3)+ MOVB #'R,(R3)+ MOV8 #'D,(R3)+ MOV HRDCNT(R1),RO MOV iviOV 000345' OOOOOOG ;+ ; CONVERT PASS COUNT TO ASCII ;- 001704 1 001704' 001706' 001712' 001716' 001722' CALL BDACNV IN 010546 012745 016145 004767 012605 001724' 001724' 012703 000362' 000034 OOOOOOG LET R3 .- #DATTYP 000370' ;+ ; IF c:::nt;T nf"t~ (3 ) 30A(1052) ; CONVERT IT TO ASCII oou 887 888 (6) (9) 889 (4) 890 (4) 891 (4) 892 (4) 893 (4) 894 (4) MACY11 ....,, __ , ~ I , FILL IN 'IJORD 'SOFT' IF HARD, FILL IN tl.'ORD 'HARD' 0- 001730' 001730' 001734' 001736' 001736' 001742' 001742' 001746' 001746' 001752' 001752' 001756' 001756' 001762 1 001762' 001764' 001764' 001764' 001770' 001770' 001774' 001774' 002000 1 002000' 002004' 002004' 002010' 002010' IF R4 EQ #MSGSFT THEN 020427 001013 000006 112723 000123 112723 000117 LET (R3)+ :B= #'5 LET (R3)+ :8= #10 LET (R3)+ :B= #'F 112723 000106 112723 000124 LET (R3)+ :8= #'T LET RO 016100 "- SOFCtH(R1 ) 000042 ELSE 000412 50005$: LET (R3)+ :8= #IH 112723 000110 LET (R3)+ :8= #'A 112723 000101 LET (R3)+ :8= #'R 112723 00012: 112723 000104 LET (R3)+ :8= #ID LET RO 016100 .- HRDCNT(R1) 000044 ENDIF 50006$: F I LLM L - F ILL MESSAGE (LITTLE) - TO FILL IN SKELETAL MSGS PROCESS HRDERR,SOFERR 16-AUG-78 14:36 !=ILlMl.MAC 902 903 904 905 906 907 (3) (5) (4) (3) (3) 908 909 910 911 912 913 (3) (5) (4) (3) (3) 914 (3) (5) (4) (3) (3) 915 (3) (5) (4) (3) (3) 916 (3) (5) (4) (3) (3) 917 MACY11 30A(1052) 20-SEP-78 17:52 PAGE 19-18 SEQ 0463 ;+ ; CONVERT HARD OR SOFT TO ASCII , 002010' 002010' 002012' 002016' 002020' 002024' CALL BDACNV IN 010546 012745 010045 004767 012605 000401 I OOOOOOG MOV MOV MOV JSR MOV R5,-(SP) #DATNUM,-(R5) RO,-(R5) PC,BDACNV (SP)+,R5 MOV MOV MOV JSR R5,-(SP) #DATADD,-(R5) CSRA ( R1 ) ,- (R5) PC,BOA16 (SP)+,R5 ;+ i , 002026' 002026' 002030' 002034' 002040' 002044' 002046' 002046' 002050' 002054 1 002060 i 002064' 002066' 002066 1 002070' 002074 1 002100 1 002104 1 002106 1 002106 1 002110 1 002114 1 002120 1 002124' CONVERT CSRA,CSRC,ASTAT,ERRTVP TO ASCII CALL BOA16 IN 010546 012745 016145 004767 012605 000415' 000100 OOOOOOG 010546 012745 016145 004767 012605 000432' 000102 OOOOOOG MOV CALL BOA16 IN CALL BOA16 IN 010546 012745 016145 004767 012605 000450' 000104 OOOOOOG MClV MOV MGV JSR MOV R5,-(SP) #DATCON,-(R5) CSRC(R1) ,-(R5) MOV MOV R5,-(SP) #DATSTAT,-(R5) ASTAT(R1).-(R5) PC,BOA16 (SP)+,R5 MOV JSR MOV CALL BOA16 IN MOV 010546 012745 016145 004767 012605 000467' 000106 OOOOOOG MOV MOV JSR MOV PC,SOA16 (SP)+,R5 R5,-(SP) #DATERR,-(R5) ERRTYP(R1) ,-(R5) PC,BOA16 (SP)+,R5 FILLML - FILL MESSAGE (LITTLE) - TO FILL IN SKELETAL MSGS MACY11 30A(1052) 20-SEP-78 FILLML.MAC 16-AUG-78 14:36 PROCESS HRDERR, SOFERR EXTENDED PRINTOUT MESSAGES? 919 920 921 922 923 924 925 926 927 (6) (8) (6) (9) (6) 928 (6) 929 (4 ) 930 (6) (9) 931 (4) 932 933 .SBTTL 948 (4) (6) (9) 949 (4) (6) (9) 950 (3) (5) (4) SEQ 0464 PROCESS HRDERR, SOFERR EXTENDED PRINTOUT MESSAGES? ; IS THERE"A HRDERRjSOFERR EXTENDED PRINTOUT ASSOCIATED WITH THIS MESSAGE? ;- 002126' 002126' 002132 1 002134' 002140' 002142' 002142' 002142' 002146' 002146' 002150' 002150' 002152' 002154' 002154' IF R4 EQ #MSGSFT OR R4 EQ #MSGHRD THEN 020427 001403 020427 001065 062702 000006 000007 LET R2 '- R2 + #4 LET R2 .- (R2) 000004 011202 R4,#MSGSFT 50007$ R4,#MSGHRD 50010$ ADD #4,R2 MOV (R2),R2 7ST BEQ R2 50011$ MOV8 #,DATEND IF R2 NE #0 THEN 005702 001453 112767 CM? BEQ CMF BNE 500075: LET DATEND :B= # 176314 000015 ;+ 939 (9) PAGE 19-19 ;+ 935 936 937 938 940 941 942 943 944 945 (4) 946 (4) 947 (4) (6) 17:52 GO THROUGH THE MESSAGE TABLE AND, FOR EACH ADn~ESS !~ THE TA5LE, FIND THE CONTENTS OF THAT ADDRESS, CONVERT IT TO ASCII, STORE THE ASCII IN THE EXTENDED PRINTOUT TABLE (EXTMSG) FOLLOWED BY A SPACE AND, I~THE MAXIMUM NUMBER OF ENTRIES PER LINE HAS BEEN REACHED, LOAD A CR, LF (%) INTO THE TABLE. CONTINUE THIS UNTIL EITHER THE LAST ENTRY IN THE MESSAGE TABLE OR THE END OF THE PRINTOUT STORAGE AREA (EXTEN~) IS REACHED. ;- 002162' 002162 1 002166 1 002166 1 002172' 002172' 002172' 002176 1 002200' 002200' 002200 1 002204 1 002206' 002206 1 002206 1 002214 1 002216' 002216 1 002220' 002222' LET R3 := #EXTMSG 012703 000477 005067 175606 1 MOV #EXTMSG,R3 CLR FLDCNT CMP SEQ (R2) ,#-1 50013$ CMP 8HIS R3,#EXTEND 50015$ LET FLDCNT '- #0 WHILE (R2) NE #-1 DO 50012$: 021227 001436 177777 020327 103032 001043' 026727 G02021 175566 WHILE R3 LO #EXTEND DO 50014$: 010546 010345 013245 WHILE FLDCNT LT #FLDMAX DO 50016$: 000010 CMP BGE CALL SOA16 IN <@(R2)+,R3> MOV MOV MOV FLDCNT,#FLDMAX 50017$ R5,-(SP) R3,-(R5) @(R2)+,-(R5) 17:52 20-SEP-78 MACY11 30A(1052) FILLML - FILL MESSAGE (LITTLE) - TO FILL IN SKELETAL MSGS PROCESS HRDERR, SOF~RR EXTENDED PRINTOUT MESSAGES? 16-AUG-78 14:36 FILLML.MAC (3) (3 ) 951 (6) 952 (4) 953 (6) (9) 954 (2) 955 (4 ) 956 (6) 957 (4) (3) 95B (4) 959 (4) 960 (4) (3) 002224 1 002230 1 002232 1 002232 ' 002236' 002236; 002242 1 002242 1 00.2246 1 002250 1 002250 1 002252 ' 002252 1 002252 1 002252' 002256' 002256 1 002260 1 002260 1 002260 1 002264 1 002264' 002270 1 002270' 002272' 004767 012605 OOOOOOG 062703 000006 112723 000040 021227 001001 177777 005267 (2) (4) 971 (2) 175522 #6,R3 MOV8 #, (R3)+ CMP BNE 1000$> (R2),#-1 50020$ BR 1000$ .- 50020$: FLOCNT + #1 INC FLOCNT ENOOO BR 50016$ MOVB #1%,(R3)+ CLR FLDCNT BR 50014$ 500175: LET (R3)+ : B= # 1% 000045 005067 175510 LET FLDCNT .- #0 ENDDO 000743 002302 1 002302 1 002302' 002302' 012765 002310 1 002310' 000167 002314' 002314' 002314 1 002314' ADD ENOIF 112723 002272' 000737 002274 1 002274 ' 002274 1 002274 ' 002274 1 112723 002300 1 002300 1 105023 PC,BOA16 (SP)+,R5 R3 + #6 INLINE
000411 nCo ;;;lUI LET R3 PAGE 19-20 50015$: ENDDO n:-\ 01"\ C::""i"la:: "'/VV'4-+1 50013$: INLINE <1000$:> 1000$: LET (R3)+ :B= #'% 000045 MOVB #1%,(R3)+ CLRB (R3)+ MOV #DATAMS,FLMSADR( JMP 1$ LET (R3)+ :B= #0 ENDIF 50011$: LET FLMSADR(R5) := #DATAMS 000314 1 000010 INLINE 001134 ENDIF INLINE <100$:> 50010$: 100$: FilLML - FIll MESSAGE (LITTLE) - TO FILL IN SKELETAL MSGS M~CY11 30A(1052) FIlLMl.MAC 16-AUG-78 14:36 PROCESS SUM COMMAND TYPE MESSAGES 973 974 975 976 977 978 979 . 980 981 002314 1 (6) 002314 1 (9) 002320 1 982 002322 1 (4) 002322 1 983 002330 1 (2) 002330' 984 002334' (4) 002334' oSBTTl 20-SEP-78 17:52 ?AGE 19-21 SEQ 0466 PROCESS SUM COMMAND TYPE MESSAGES ;+ ; IS IT A SUM COMMAND HEADER LINE TYPE MESSAGE? ;- IF R4 EO #MSGSMH THEN 020427 001005 000014 012765 000046 1 000010 8NE R4,#MSGSMH 50021$ MOV #RNHMSG,FlMSADR( CMP lET FLMSADR(R5) 0- #RNHMSG INlINE 000167 001114 JMP 1$ ENDIF 50021$: FILLML - FILL MESSAGE (LITTLE) - TO FILL IN SKELETAL MSGS MACY11 30A(1C52) FILLML.MAC 16-AUG-78 14:36 PROCESS SUM COMMAND MODULE LINE MESSAGE ;+ ; TC' 991 992 993 994 (6) (9) 995 996 997 998 999 1000 (3) (5) (4) (3) (3) 1001 1002 1003 J.~ (3) (5) (4) (3) (3) 1007 (3) (5 ) (4) (3) (3) 1008 (3) (5) (4) (3) (3) 1009 (3) (5) (4) (3) (3) 1010 (3) (5) (4) (3) PAGE 19-22 SEQ 0467 I A 1'\ II SUfv1 CO~,1~,1A~~D-f,10DU LE-L! I\JE II MESSAGE? of 002334 1 002334 1 020427 002340' 001063 IF R4 EO #MSGSMB THEN 000015 CMP BNE R4, #MSGSMB 50022$ MIJV MOV MOV JSR MOV R5,-(SP) #RNBNAM,-(R5) R1,-(R5) PC,GETNAM (SP)+,R5 MOV MOV MOV JSR MOV R5,-(SP) #RN8PC,-(R5) R1,-(R5) PC,BOA16 (SP)+,R5 MOV MOV MOV JSR MOV R5,-(SP) #RNBSTAT,-(R5) STAT(R1) ,-(R5) PC,BOA16 (SP)+,R5 MOV MOV MOV JSR M'JV R5,-(SP) #RNBPAS,-(R5) PASCNT(R1),-(R5) PC,BDACNV (SP)+,R5 MOV MOV MOV JSR MOV R5,-(SP) #RNBHRD,-(R5) HRDCNT(R1) ,-(R5) PC,BDACNV (SP)+,R5 MOV MOV MOV R5,-(SP) #RNBSFT,-(RS) SOFCNT(R1),-(RS) PC,BDACNV ;+ ; GET MODULE NAME ;002342 1 002342 1 002344 1 002350 1 002352 1 002356 1 CALL GETNAM IN 010546 012745 010145 004767 012605 000051 I 001100 ;+ ; CONVERT PC,STAT,PASS COUNT,HARD ERORRS AND SOFT ERRORS : TO ASCII 1004 1005 1006 TT J. 17:52 PROCESS SUM COMMAND MODULE LINE MESSAGE .SBTTL 986 987 988 989 990 20-SEP-78 , 002360 1 002360 I. 002362 ' 002366 1 002370 1 002374 1 002376 1 002376' 002400 1 002404 1 002410 1 002414 1 002416 1 002416 1 . 002420 1 002424 1 002430 1 002434 1 002436' 002436 1 002440 1 002444 1 002450 1 002454; 002456 1 002456' 002460 1 002464 1 002470 1 CALL BOA16 IN 010546 012745 010145 004767 012605 000066 1 OOOOOOG CALL BOA16 IN 010546 012745 016145 004767 012605 000102 1 000026 OOOOOCG 010546 012745 016145 004767 012605 000117 1 000034 OOOOOOG 010546 012745 016145 004767 012605 000135' 000044 OOOOOOG 010546 012745 016145 004767 000153' 000042 OOOOOOG CALL BDACNV IN CALL BDACNV IN CALL BDACNV IN JSR FILLML - FILL MESSAGE (LITTLE) - TO FILL IN SKELETAL MSGS MACY11 30A(1052) FILLML.MAC 16-AUG-78 14:36 PROCESS SUM COMMAND MODULE LINE MESSAGE (3) 1011 (4) 1012 (2) 1013 (4) 1014 002474 1 012605 002476 1 002476 1 012765 002504 1 002504 1 000167 002510; 002510' LET FLMSADR(R5) 000050 1 .- 20-SEP-78 17:52 PAGE 19-23 SEQ 0468 MOV (SP)+,R5 MOV #RNBMSG,FLMSADR( #RNBMSG 000010 INLINE 000740 JMP 1 $ ENDIF 50022$: FILLML - FILL MESSAGE (LITTLE) - TO FILL IN S,(ELETAL rl"lSGS :'v1ACY113CA(1052) FILLML.MAC 16-AUG-78 14:36 PROC[SS SUM COMMAND SUMMARY LINE MESSAGE .SBTTL 1016 1017 1018 1019 1020 (3 ) (5) (4) (3) (3) 1030 (3) (5) (4) (3) (3) 1031 (4) 1032 (2) 1033 (4) 1034 17:52 PAGE 19-24 SEQ 0469 PROCESS SUM COMMAND SUMMARY LINE MESSAGE ;+ ; IS IT A SUM COMMAND SUMMARY LINE MESSAGE? 'i 021 1022 1023 1024 (6) (9) 1025 1026 1027 1028 1029 20-SEP-78 ,' - 002510' 002510' 020427 002514' 001025 002516' 002516' 002520' 002524' 002530' 002534' 002536' 002536' 002540' 002544 1 OO?550' 002554' 002556' 002556' 002564' 002564 1 002570 1 002570' IF R4 EO HMSGSMS THEN 000016 CMP BNE R4,HMSGSMS 50023$ MOV MOV MOV JSR MOV R5,-(SP) HRNSERR,-(R5) DT.EXS(RO),-(R5) PC,8DACNV (SP)+,R5 MOV R5,-(SP) #RNSP\tJR, - (R5) DT.PFL(RO),-(R5) PC,BDACNV ;+ ; CONVERT SYSTEM ERRORS AND POWER FAILS TO ASCII ;CALL BDACNV IN 010546 012745 016045 004767 012605 000201 ' 000060 OOOOOOG 010546 012745 016045 004767 012605 000230' 000062 OOOOOOG 012765 000161 ' 000010 000167 000660 CALL BDACNV IN MOV MOV JSR ivlC\l LET FLMSADR(R5) '- #RNSMSG MOV INLINE . ENDIF JMP 1 $ 50023$: #RNSMSG,FLMSADR( FILLML - FILL MESSAGE (LITTLE) - TO FILL IN SKELETAL MSGS MACY11 30A(1052) FILLML.MAC 16-AUG-78 14:36 PROCESS DROP MODULE TYPE MESSAGE .SBTTL 1036 1037 1038 1039 1040 "'''II'' IV~' (3) (3) 1051 1052 1053 1054 1055 1055 (4) (6) 1057 1058 1059 1060 1061 1062 (3) (5) (4) (3) (3) 1063 (4) 1064 (2) 1065 (4) 1066 17:52 PAG~ 19-25 SEQ 0470 PROCESS DROP MODULE TYPE MESSAGE ;+ ; IS IT A DROP MODULE MESSAGE? ;- 1042 1043 1044 1045 (6) (9) 1046 1047 1048 1049 1050 (3) (5) (4) 20-SEP-78 002570' 002570' 020427 002574' 001025 IF R4 EO #MSGDRP THEN 000017 CMP BNE R4,#MSGDRP 50024$ MJV R5,-(SP) #DRPNAM,-(R5) R1,-(R5) PC,GETNAM (SP)+,RS ;+ ; GET MODULE NAME .f 002576' 002576' 002600' 002604' 002606' 0026,12 1 CALL GETNAM IN 010546 012745 010145 004767 012605 MOV 001045' MOV JSR 000644 MOV ;+ ; FORM APC ;- LET R3 .- R2 - R1 002614' 002614' 010203 0026 16 ' 1 60 1 03 MOV SL:B R2,R3 R1 ,R3 ;+ ; CONVERT DROP PC TO ASCII ;002620' 002620' 002622' 002626' 002630' 002634' 002636; 002636' 002644 1 002644' 002650' 002650' CALL BOA16 IN 010546 012745 010345 004767 012605 MOV RS,-(SP) #DRPPC,-(R5) R3,-(R5) PC,BOA16 (SP)+,R5 MOV #DRPMSG,FLMSADR( MOV MOV MOV 001073' JSR OOOOOOG LET FLMSADR(R5) '- #DRPMSG 012765 001044' 000010 000167 000600 INLINE ENDIF JMP 1 $ 50024$: FILLML - FILL MESSAGE (LITTLE) - TO FILL IN SKELETAL MSGS MACY11 30A(1052) FILLML.MAC 16-AUG-78 14:36 PROCESS CKDATA/DATACK/DATERR .SBTTL 1068 1069 1070 1071 1072 1073 1074 (6) (9) (6) (9) 1075 (2 ) 1076 (4) 1077 PAGE 19-26 SEQ 0471 PROCESS CKDATA/DATACK/DATERR ; IS IT A CKDATA/DATACK/DATERR TYPE MESSAGE? ;- IF R4 NE #MSGCKD AND R4 NE #MSGDER THEN 002650' 002650' 020427 000010 002654' 001405 002656' 020427 000005 002662' 001402 002664' 002664' 000167 002670' 002670' 000460 INLINE CMP SEQ CMP SEQ R4,#MSGCKD 50025$ R4,#MSGDER 50025$ JMP 339$ MOV MDV MOV JSR MOV R5,-(SP) #CKDNAM,-(R5) R1,-(R5) PC,GETNAM (SP)+,R5 MOV MOV MOV MOV JSR MOV R5,-(SP) #CKDPA,-(R5) R2,-(R5) RO,-(R5) PC,GETAPA (SP)+,R5 MOV SUB R2,R3 R1 , R3 IviDV RS,-(SP) #CKDVA,-(R5) R3,-(R5) PC,SDA16 ENDIF 50025$: ;+ ; GET MODULE NAME ;- 1080 (3 ) 17:52 ;+ 1078 1079 1081 1082 20-SEP-78 CALL GETNAM IN 002670' 002670' 010546 002672' 012745 (5) (4) 002676' 010145 (3) 002700' 004767 (3) 002704' 012605 001104' 000552 1083 ;+ 1084 1085 1086 1087 1088 (3) (6) (5) (4) (3) (3) ; GET A PA ;- CALL GETAPA IN 002706 1 002706' 010546 002710' 012745 002714' 010245 002716; 010045 001116' 002720' 004767 002724' 012605 000572 1089 1090 1091 ;+ ; FORM APC 1092 1093 1094 LET R3 .- R2 - R1 002726' ( 4) 002726' 010203 (6) 1095 1096 002730' 160103 ;+ ; CONVERT VA TO ASCII 1097 1098 1099 1100 (3) ;- CALL BOA16 IN 002732' 002732' 010546 (5) 002734' 012745 001134' IV:OV (4) (3) 002740' 010345 002742' 004767 OOOOOOG JSR 1'v~DV MACY11 30A(1052) FILLML - FILL MESSAGE (LITTLE) - TO FILL IN SKELETAL MSGS PROCESS CKDATAjDATACKjDATERR 16-AUG-78 14:36 FILLML.MAC (3) 1101 1102 1103 '104 110S 1106 (3) (5) (4) (3) (3) 1107 1108 1109 1110 1111 1112 (3) (5) (4) (3 ) (3) 1113 1114 1115 '116 1117 002746' 012605 11'18 003010' 003010' 003012' 003016' 003022' 003026' 003030' 003030' 003032' 003036' 003042' 003046' 003050' 003050' 003052' 003056' 003062' 003066' (3) (5) (4) (3) (3) 1119 (3) (5) (4) (3) (3 ) 1120 (3 ) (5) (4) (3) (3) 1121 1122 1123 1124 1125 1126 (6) (9) 1127 1128 20-SEP-78 17:52 PAGE 19-27 SEQ 0472 MOV (SP)+,R5 MOV MOV MOV JSR MOV R5,-(SP) #CKDPAS,-(R5) PASCNT(R1),-(R5) PC,BDACNV (SP)+,R5 MOV MOV MOV JSR MIJV R5,-(SP) #CKDNUM,-(R5) SOFCNT(R1) ,-(R5) PC,BDACNV (SP)+,R5 MOV R5,-(SP) #CKDADD,-(R5) CSRA(R1),-(R5) PC,BOA16 (SP)+,R5 ;+ ; CONVERT PASS COUNT TO ASC II ., 002750' 002750' 002752' 002756' 002762' 002766' CALL BDACNV IN 010546 012745 016145 004767 012605 001151' 000034 OOOOOOG ;+ ; CONVERT SOFCNT TO ASC II , 002770' 002770' 002772' 002776' 003002' 003006' CALL BD~CNV IN 010546 012745 016145 004767 012605 001164' 000042 OOOOOOG ;+ ; CONVERT CSRA,ASB~AWAS TO ASCII , CALL BOA16 IN 010546 012745 016145 004767 012605 010546 012745 016145 004767 012605 010546 012745 016145 004767 012605 003070' 003070' 020427 003074' 001476 MOV MOV 001200' 000100 OOOOOOG JSR MOV CALL BOA16 IN MOV MOV 001214' 000106 OOOOOOG MOV JSR MOV CALL BOA16 IN Mev MOV R5,-(SP) #CKDWAS,-(R5) AWAS(R1) ,-(R5) PC,BOA16 (SP)+,R5 CMP SEQ R4,#MSGDER 50026$ MOV MOV 001230' 000110 OOOOOOG JSR ;+ ; IF NOT A DATERR, ; GO BUILD THE PHYSICAL ADDRESSES ;IF R4 NE #MSGDER THEN 000005 R5,-(SP) #CKDSB,-(R5) AS B ( R1 ) , - ( R5) PC,BOA16 (SP)+,R5 FILLML - FILL MESSAGE (LITTLE) 16-AUG-78 14:36 FILlML.MAC 1129 1130 1131 1132 1133 , /I \ \""f} (6) 1134 1135 1136 1137 1138 1139 (6 ) 1140 (7 ) 1141 (4) (6 ) 1142 1143 (4) 1144 (4~ 1145 (4) 1146 (4) 1147 1148 114911 !50 1151 1152 1153 1154 (3) (7) (6) (5) (4) (3) (3) 1155 (4 ) (6) 1156 (6) 1157 (4) (6) 1158 (4) 1159 1160 (4) MACY11 30A(1052) TO FILL IN SKELETAL MSGS PROCESS CKDATA/DATACK/DATERR 20-SEP-78 17:52 PAGE 19-28 SEQ 0473 ;-r ; CLEAR MSB OF WORD COUNT . 003076' C1 1'\'2 v I U oJ 003076' 1'\1 003102' 042703 I \"I LET R3 := CDVJDCT(R1) CLR.BY #BIT15 000144 100000 MOV BIC CDWDCT(R1),R3 #BIT15,R3 DEC R3 ASL R3 MOV ADD R3,R4 WBL!FPA(R1),R4 MOV R4, TrIlPPA MOV WBUFEA(Rl),TMPEA MOV TMPPA,FM.PA MOV TMPEA,FM.EA rllov R5,-(SP) #CKDWRA,-(R5) FM.EA,-(R5) FM.PA,-(R5) RO,-(R5) PC,BOAC (SP)+,R5 ;+ ; FORM WRITE BUFFER FAILING ADDRESS , '- 0031'06' 003106' 003110' 003110' 003"112 ' 003112' 003114' 003120' 003120' 003124' 003124' 003132' 003132 1 003140 1 003140' LET R3 "- R3 - #1 LET R3 °- R3 SHIFT LET R4 '- R3 + WBUFPA(R1) 005303 006303 010304 066104 000134 010467 174662 LET TMPPA 016167 016767 016767 000136 174650 174644 0- R4 WBUFEA(R1) LET TMPEA 0- LET FM.PA '- TMPPA LET FM.EA '- TMPEA 174656 174652 174646 ;+ ; CONVERT WRITE ADDRESS TO ASCII ;003146' 003146 1 003150' 003154' 003160' 003164' 003166 1 003172' 003174' 003174' 003176 1 003202' 003202' 003206' 003206' 003210' 003214' 003214' CALL BOAC IN 010546 012745 016745 016745 010045 004767 012605 001245' 174634 174626 MOV MOV MOV OOOOOOG JSR MOV MOV LET R4 010204 062704 000004 067403 000000 011404 062704 .- R2 + #4 LET R3 °- R3 + @(R4) LET R4 "- (R4) + #2 000002 LET R4 "- (R4) 011404 003216' 003216' 010367 LET TMPPA := R3 174564 MOV ADD R2,R4 #4,R4 ADD @( R4) ,R3 MOV ADD (R4) ,R4 #2,R4 MOV (R4) ,R4 MOV R3,TW:PPA FILLML - FILL MESSAGE (LITTLE) - TO FILL IN SKELETAL MSGS MACY11 30A(1052) FILLML.MAC 16-AUG-78 14:36 PROCESS CKDATAjDATACK/DATERR 1161 (4) 1162 1163 (4) 1164 (4) 1165 1166 1167 1168 1169 1170 (3) (7 ) (6) (5) (4) (3) (3) 1171 1172 1173 1174 '175 1176 (4 ) (3 ) 1177 (3) (6) (S) (4) (3) (3) 1178 (3) (6) (5) (4) (3) (3) 1179 1180 1181 (4) 1182 1183 1184 (4) 1185 (2) 1186 (2) '187 003222' 003222' 010467 003226' 003226' 016767 003234' 003234' 016767 20-SEP-78 17:52 PhGE 19-29 SEQ 0474 LET TMPEA .- R4 174562 MOV R4,TMPEA MOV TMPPA,FM.PA MOV TMPEA,FM.EA MOV MOV MOV R5,-(SP) #CKDRDA,-(R5) FM.EA,-(R5) FM.PA,-(R5) RO,-(R5) PC,BOAC (SP)+,R5 BR 50027$ MOV R5,-(SP) #CKDWRA,-(R5) SBADR(R1) ,-(R5) LET FM.PA .- TMPPA 174554 174556 174550 174552 LET FM.EA .- TMPEA ;+ ; CONVERT READ ADDRESS TO ASCII ;- 003242' 003242' 003244' 003250' 003254' 003260' 003262' 003266 1 CALL BOAC IN 010546 012745 016745 016745 010045 004767 012605 001264' 174540 174532 MOV MOV MClV JSR OOOOOOG ;+ ; IT'S A DATERR. SO GET SBADR AND WASADR ;- 003270' 003270' 003272' 003272' 003272' 003274' 003300' 003304' 003306' 003312' 003314' 003314' 003316' 003322' 003326' 003330' 003334' ELSE 000422 500265: CALL GETAPA IN 010546 012745 016145 010045 004767 012605 010546 012745 016145 010045 004767 012605 MOV MOV 000204 CALL GETAPA IN 001264' 000104 PC,GETAPA MOV (SP)+,R5 MOV MOV MOV R5,-(SP) #CKDRDA,-(R5) WASADR(R1 ),-(R5) RO,-(R5) PC,GETAPA (SP)+,R5 JSR MOV ENDIF 50027$: LET FLMSADR(R5) .- #CKDMSG #CKDMSG,FLMSADR( 001103' 000010 INLINE 000100 INLINE <339$:> RO,-(R5) JSR MOV 000162 003336' 003336' 003336' 003336' 012765 003344' 003344' 000167 003350' 003350' Mev 001245' 000102 JMP 1 $ 339£: FILLML - FILL MESSAGE (LITTLE) - TO FILL IN SKELETAL MSGS MACY11 30A(1052) FILLML.MAC 16-AUG-78 14:36 PROCESS CKDATA/DATACK SUMMARY LINE .SBTTL ;+ ; IS IT THE CKDATA/DATACK SUMMARY LINE? 1194 "1 (9) 1 i 97 (4 ) (6) 1198 003350' 003350' 0033541 003356' 003356' 003362' (3) (5) (4) (3) (3) 1204 1205 1206 1207 1208 1209 (3) (5, (4) (3) (3) 1210 1211 1212 1213 1214 (3 ) (5) (4) (3) (3) 1215 (4) 1216 (4) PAGE 19-30 SEQ 0475 IF R4 EQ #MSGCKS THEN 020427 001035 000011 016103 042703 000146 100000 CMP BNE R4,#MSGCKS 50030$ MOV BIC CDERCT(R1),R3 #BIT1.5,R3 MOV MOV MOV JSR MOV RS,-(SP) #CKDSNAM,-(R5) R1,-(R5) PC,GETNAM (SP)+,R5 MOV MOV R5, -( SP.) #CKDSCNT,-(RS) R3,-(R5) PC,BDACNV (SP)+,R5 LET R3 := CDERCT(R1) CLR.BY #BIT15 ;+ ; GET THE MODULE NAME 1199 1200 1201 1202 1203 17:52 PROCESS CKDATA/DATACK SUMMARY LINE 1189 1190 1191 1192 1193 1195 1196 (6) 20-SEP-78 ;- 003366' 003366' 003370' 003374' 003376' 003402' CALL GETNAM IN 010546 012745 010145 004767 012605 001276 1 000054 ;+ ; CONVERT SUMMARY COUNT TO ASCII ;003404' 003404' 003406' 003412' 003414' 003420' 003422' 003422' 003424' 003430' 003434' 003440' 003442' 003442' 003450' 003450' CALL BDACNV IN 010546 012745 010345 004767 012605 001310' MOV JSR MOV OOOOOOG ;+ ; CONVERT NUMBER OF LOCATIONS READ TO ASCII ;CALL BDACNV IN 010546 012745 016145 004767 012605 MOV R5,-(SP) #CKDSRD,-(R5) RBUFSZ(Rl) ,-(R5) PC,BDACNV (SP)+,RS MOV HCKDSMSG,FLMSADR MOV MOV MOV 001334' 000132 .,JSR OOOOOOG LET FLMSADR(R5) "- #CKDSMSG 012765 001276' 000C10 ENDIF 50030$: FILLML - FILL MESSAGE (LITTLE) - TO FILL IN SKELETAL MSGS MACY11 30A(1052) 20-SEP-78 FILLML.MAC 16-AUG-78 14:36 DO THE NECESSARY CLEAN-UP AND THEN RETURN 1218 1219 1220 1221 1222 .SBTTL 17:52 PAGE 19-31 SEQ 0476 DO THE NECESSARY CLEAN-UP AND THEN RETURN 1 ')')':) ILL.,.} 1224 1225 1226 1227 1228 1229 (2) 1230 (3) 1231 (3) (3) (2 ) 1232 ;+ ; NOW THAT WE1VE FILLED-IN THE BLANK FIELDS, DO THE CLEAN ., 003450 1 003450 1 003450 1 003450 1 004767 003454 1 003454 1 003454 1 003454 1 000207 UP AND RETURN INLINE <1$:> 1$: CALL RESREG OOOOOOG ENDRTN JSR PC,RESREG RTS PC 500005: 50001$: FILLML - FILL MESSAGE (LITTLE) - TO FILL IN SKELETAL MSGS FILLML.MAC 16-AUG-78 14:36 GET MODULE NAME 1234 1235 1236 1237 1238 1239 1240 1241 (2 ) 1242 1243 1244 1245 1246 1247 (3) 1248 1249 1250 1251 1252 1253 (4) 1254 (4 ) 1255 (4) 1256 (4) (6) (9) 1257 (4 ) 1258 (6) 1259 (4) (3 ) 1260 1261 1262 1263 1264 (3) 1265 (3) (3) (2) 1266 1267 .SBTTL MACY11 30A(1052) 20-SEP-'l8 17:52 PAGE 19-32 SEQ 0477 GET MODULE NAME ;+ ; THIS ROUTINE RETRIEVES THE MODULE NAME FROM THE MODULE'S HEADER AND ; STORES IT IN THE CALLER SUPPLIED STORAGE AREA . "- ROUTINE GETNAM 003456' 003456' GETNAM: ;+ ; SAVE REGISTERS , 0- 003456' 003456' 004767 CALL SAVREG OOOOOOG JSR PC,SAVREG MOV HDRADR(R5),RO ;+ ; GET HEADER AODRo, MOVE 5 CHARS TO RESULT ADDR. ;- 003462' 003462' 003466' 003466 1 003472' 003472' 003476' 003476' 003476' 003500' 003502' 003502' 003504' 003504' 003506' 003506' 003510' LET RO "- HDRADR(R5) 016500 000000 016501 000002 012702 LET R1 "- RSLTADR(R5) MOV RSL TADR(R5) ,R1 '.":-\\1 iViUV rr TST BLE R2 MOVe (RO)+, (R1)+ DeC R2 BR 50002$ JSR PC,RESREG RTS PC LET R2 "- #"0<5> 000005 J.J.""'r"'\/'c:: ...... rJI"J ..,; ...... ....J't", WHILE R2 GT #0 DO 50002$: 005702 003403 LET (R1)+ :B= (RO)+ 112021 50003$ LET R2 := R2 - #1 005302 ENDDO 000773 50003$: ;+ ; RESTORE REGISTERS 003510' 003510' 004767 003514' 003514' 003514' 003514' 000207 CALL RESREG OOOOOOG ENDRTN 50000$: 50001$: FILLML - FILL MESSAGE (LITTLE) - TO FILL IN SKELETAL MSGS MACY11 30A(1052) 20-SEP-78 FILLMl.MAC 16-AUG-78 14:36 CONVERT VIRTUAL ADDRESS TO PHYSICAL ADDRESS ASCII . SBTT l 1269 1270 1271 1272 1273 (4) (3) (3) 1296 (3) (7 ) (6) (5) (4) (3) (3 ) 1297 1298 1299 1300 1301 (3) 1302 (3) (3) (2) 1303 PAGE 19-33 SEQ 0478 CONVERT VIRTUAL ADDRESS TO PHYSICAL ADDRESS ASCII ,• ..t... ; THIS ROUTINE ACCEPTS A i6-BIT VIRTUAL ADDRESS AND RETURNS AN 8-BYTE (22 BIT) PHYSICAL ADDRESS IN THE CALLER SUPPLIER STORAGE AREA ;- , 1274 1275 1276 1277 (2) 1278 1279 1280 1281 1282 1283 1284 (3) 1285 1286 1287 1288 1289 (4) 1290 (4) 1291 (4) 1292 1293 1294 1295 (3) (5) 17:52 ROUTINE GETAPA 003516' 003516' GETAPA: ;+ ; SAVE REGISTERS ;- 003516' 003516' 004767 CALL SAVREG OOOuOOG JSR PC,SAVREG MOV DTABLE(R5),RO MOV RSLTADR(R5),R1 MOV VA( R5) ,TMPVA MOV MOV MOV JSR MOV R5,-(SP) #TMPVA,-(R5) RO,-(R5) PC,GPA (SP)+,R5 MOV MOV MOV MOV JSR MOV R5,-(SP) R1,-(R5) TMPEA,-(R5) TMPPA,-(R5) RO,-(R5) PC,BOAC (SP)+,R5 JSR PC,RESREG RTS PC ;+ i SAVE DTABLE ADDR,RESULT ADDR , 003522' 003522' 016500 003526' 003526' 016501 003532' 003532' 016567 LET RO .- DTABLE(RS) LET R1 .- RSLTADR(R5) 000000 000004 LET TM?VA 000002 .- VA(R5) 174244 ;+ ; CONVERT TO PA AND THEN TO ASCII T 003540' 003540' 003542' 003546' 003550' 003554' 003556' 003556' 003560' 003562' 003566' 003572' 003574' 003600' CALL GPA IN 010546 012745 010045 004767 012605 000004' OOOOOOG CALL BOAC IN 010546 010145 016745 016745 010045 004767 012605 174222 174214 MOV OOOOOOG j+ ; RESTORE REGISTERS , 003602' 003602' 004767 003606: 003606' 003606' 003606' 000207 CALL RESREG OOOOOOG ENDRTN 50000:$ : 50001$: FILLML - FILL MESSAGE (LITTLE) - TO FILL IN SKELETAL MSGS MACY11 30A(1052) 20-SEP-78 FILLML.MAC 16-AUG-78 14:36 CONVERT VIRTUAL ADDRESS TO PHYSICAL ADDRESS ASCII 1304 000001 .END 17:52 PAGE 19-34 SEQ 04i9 FILLML -: FILL MESSAGE (LITTLE) 16-AUG-78 14:36 FILlML.MAC 000102 004000 001000 000006 000004 APT?R~= 000200 000106 ASS ASSEMB= 000010 ASTAT = 000104 000010 AUTO AUTOST= 020000 000110 AWAS BDACNV= ****** G 000001 BITO 000001 BITOO 000002 BIT01 000004 BIT02 BIT03 = 000010 000020 BIT04 000040 BIT05 000100 BIT06 000200 Bli07 BIT08 000400 001000 8IT09 BIT1 000002 002000 BITi0 BIT11 004000 010000 8IT12 020000 BIT13 8IT14 040000 BIT15 100000 BIT2 000004 000010 B1T3 000020 BIT4 000040 BITS 000100 BIT6 000200 8IT7 000400 BIT8 001000 B1T9 000002 BKCEF BKrvlOD 000020 BKMODE= 040000 BKSLSH= 000134 BOAC ****** G BOA16 = ****** G CAPRES= 000004 CASTAT= 000004 CDERCT= 000146 CDlhDCT= 000144 CKDADD 001200R CKOMSG 001103R CKDNAM 001104R CKDNUM 001164R ACSR ACTSIT= ADDR22= ADR APTFER= - CKDPA CKDPAS CKDRDA CKDSB CKDSCN CKDSMS CKDSNA CKDSRD CKDVA CKDWAS CKDWRA CKHUNG= CKTIM = CLKPRE= CONFIG= CQOVF CR = CSRA CSRC CTRLC CTRLO CTRLU DATADD DATAMS DATAPC DATCON DATEND DATERR DATNAM DATNUM DATPAS DATPC DATSTA DATTYP DCEVNT= DEFRTN= DIAGMC= DRoprv'iO= DRPMSG DRPNAM DRPPC DSEVNT= DTABLE= DT.ADD= DT.AP = DT.APK= DT.BLS= DT.CFO= DT.CF1= DT.ERR= DT.ESI= DT.EVN= DT.EXS= TO FILL IN SKELETAL MSGS SYMBOL TABLE 001116R 001151R 001264R 001214R' 001310R CQ1276R 001276R 001334R 001134R 001230R 001245R ****** G 100000 000001 000056 000001 000015 000100 000102 000003 000017 000025 000415R 000314R 000345R 000432R 000476R 000467R 000315R 000401R 000362R 000327R 000450R 000370R 000011 000400 000000 100000 001044R 001045R 001073R 000014 000000 000042 000100 000076 000034 000014 000016 000020 000044 000000 000060 DT.FCH= DT. FCN,= DT.HMX= DT.KBE= DT.KB?= DT.KBR= DT.KBU= DT.MLS= DT. MiI'= Dr.OFF= DT.PAS:::: DT.PC = DT.PFL= DT.PSW= DT.PTA= DT.RCS= DT.R.EL= DT.SCT= DT.siVlx= DT.SP = DT.SSI= DT.STO= DT.STi= DT.SWR= DT.SYP= DT.WBU= Di • ~~riL'" DT.Wl..L= DVID1 = ECCMEM= ECCSTA= ENBEOP= ENBNUL= ENDLST= EOPBIT= EQPMSG EOPNAM cOPPAS ERRTYP= EVNTBE= EVNTHD= EVNTKT= EVNTPE= EVNTRE= EXTEND EXTMSG FATERR= FILLMS FLDCNT FLDMAX= FLMSAD= FM.EA FM.PA MACY11 30A(1052) 000037 000035 000104 000024 000026 000022 000030 000032 000110 0'00070 000074 000002 000062 000004 000064 000102 000040 000066 000106 000006 000046 000010 000012 000056 000072 000050 "",;",,\r"'\r::"JII vuvv:;;..., 000052 000014 000100 000010 010000 000001 000000 000001 000016R 00OO17R COOO37R 000106 000200 000200 000203 000202 000201 001043R 000477R 100000 001356RG OOOOOOR 000010 000010 000014R 000012R 20-SEP-78 17:52 GETAPA ,003516R GETNAM 003456R GPA ****** G HDRADR= 000000 HDRMSG 000237R HDRNAM 000240R 000252R HDRPA HDRPAS 000305R Oo.0270R HDRPC HRDCNT= 000044 HRDPAS= 000050 ICONT = 000036 ICOUNT= 000040 IDNUM = 000122 000100 IE INDPAR= 000040 INHDRP= 040000 INHEPR= 020000 INHREL= 001000 INHRRE= 000400 000030 INIT 00;)120 INTR 100000 I DrYlOD IONlODP= 102000 IOMODR= 112000 IOMODX= 110000 035C60 JJ~CK KIPARO= 172340 KIPAR1= 172342 KIPAR2= 172344 KIPAR3= 172346 KIPAR4= 172350 KIPAR5= 172352 KIPAR6= 172354 KIPAR7= 172356 KIPDRO= 172300 KIPDR1= 172302 KIPDR2= 172304 KIPDR3= 172306 K1PDR4= 172310 KIPDR5= 172312 KIPDR6= 172314 KIPDR7= 172316 KTERRO= 000040 KTPRES= 000400 KTSTAT= 000020 KTXTND= 040000 000012 LF LINECN 000002R LPSTAT= 000001 MAPSTA= 000200 076600 MED MEMPAS= 040000 PAGE 20 SEQ 0480 004000 002000 001000 000004 000010 000011 000005 000017 177777 000013 000004 000022 000007 000021 177775 000002 177776 000001 000006 000003 000015 000014 000016 000000 000012 000020 001000 000020 000002 000000 024020 000010 002000 000100 000034 020000 004000 010000 000000 P~IO 000040 PRI1 000200 PRI4 000240 PRI5 P~I6 000300 000340 PRI? 000000 PRO PR4 = 000200 000240 PR5 000300 PR6 000340 PR7 177776 PS 177776 PSW RANNUM= 000054 RBUFEA= 000130 MODEXH= MODHO L= MODSEL= MSGADR= MSGCKD= MSGCKS= iviSGDER= MSGDRP= 1\1SGECH= MSGEOP= MSGHDR= MSGHNG= MSGHRD= MSGMAP= I\1SGNUL= MSGPOP= MSGPRM= MSGRES= MSGSFT= MSGSKE= MSGSMB= MSGSMH= MSGSMS= MSGSTD= MSGSYS= MSG'jEC= !'J8KMOD= NCPUOP= NOAPTY= N'JLL O.vEN P!\ERR PAR"'RE= PARSTA= PASCNT= PJPLSI= PDP60 PDP70 FILlML - FILL MESSAGE (LITTLE) - TO FILL IN SKEL~TAL MSGS FILLMLoMAC 16-AUG-78 14:36 SYMBOL TABLE RBUFPA= RBUFSZ= RBUFVA= RDSERV= RDVJrlMI= RELERR= RELMOD= RELTIM= RESREG= RESl RES2 R:CHAR= RNBHRD RNBMSG RNBNAM RNBPAS RNBPC RNBSFT RNBSTA RNHMSG RNSERR RNS:vI5G RNSPWR RPTDAT= RSLTAD= RSTRT = Ru80UT= RUNMOD= R5VALU= SAM SAVREG= SBADR = SBKMOD= SBKSEL= SC.ADR= SCoALC= 000126 000132 000124 000101 000022 000020 020000 010000 ABS. 000000 003610 ****** 000056 000060 031060 OC0135R 000050R 000051R 000117R 000066R 000153R 000102R 000046R 000201R 000161R 000230R 002000 000004 000112 COOi77 100000 001740 075464 ****** 000102 SC.APC= 000016 SC.CKL= 000002 SC.CKP= 000004 S C . C LO = 00 00 00 SC.HLD= 000010 SC.SCA= 000012 SENDLS=177777 SOFCNT= 000042 SOFPAS= 000046 SPACE = 000040 SPOINT= 000032 SPVALU= 002200 SRO 177572 SR1 177574 SR2 177576 SR3 172516 STAT 000026 STATBI: 064757 STAT1 - 000027 SUSPND= 000001 SVRO 000062 SVRl 000064 SVR2 000066 SVR3 000070 SVR4 000072 SVR5 000074 G n.."" 1'\"..., C. VUVUIV SYSCNT= SYSERR= TMPEA TMPIO TMPPA TMPVA TMPl TQOVF TYPCOD= G 000000 010000 000006 000014 000052 000100 000010R 000002 000006R 000004R 000004R 000002 000002 000 001 ERRORS DETECTED: 0 DEFAULT GLOBALS GENERATED: 0 DSKZ:FILLML,DSKZ:FILLML=SPMAC/ML,EQUATE,FILLML RUN-TIME: 30 20 05 SECONDS RUN-TIME RATIO: 89/51=1.7 CORE USED: 14K (27 PAGES) MACY11 30A(10S2) 177640 177642 177644 177646 1776S0 177652 177654 177656 177600 177602 177604 177606 177610 177612 177614 177616 000002 OC0104 000040 000136 000134 000140 000142 000116 000114 000352 WTWHM!= 000222 XFLAG = 000005 XOFF 000023 XCN 000021 $BGNLE= 177777 $ERFLG= 000400 $F$AND= 000310 SFSBAD= 000401 $F$BLA= 000170 $F$CAS= 000150 UIPARO= UIPAR1= UIPAR2= UIPAR3= UIPAR4= UIPAR5= UIPAR6= UIPAR7= UIPDRO= UIPDR1= UIPDR2= UIPDR3= UIPDR4= UIPDRS= UIPDR6= UIPDR7= VA WASADR= ~IJBST AT= WSUFEA= WBUFPA= WBUFRQ= WBUFSZ= WOFR WOTQ WTINRE= 20-SEP~78 17:S2 PAGE 20-1 SEQ 0481 $F$DEC= S:=-SDO = $F$FAL= $F$GOO= $F$IF = $F$INC= 000220 000340 00{)405 000400 000110 000210 $F$LOO= 000200 $F$NAM= $F$NO = $FSOR = $FSRTI= $F$RTN= SfSSEL= $F$T'HE==' $F$TRU= $F$UNT= $F$WHI= $F$YES= $ IF LEV= $ISKO = SISK1 = SISK2 = $ LOCT A= $LSTIN= $LSTTA= SNESTL= $NSKO $NSK1 $NSK2 $NSK3 SNSK4 SNSK5 $NSK6 $SAVLE= $SSKO = $TAGLE- 000160 000403 000320 000350 000300 000140 000330 000404 000130 000120 000402 177777 000001 000001 000001 177777 000001 000001 177777 000300 000120 000110 000120 000120 000120 000110 177777 050003 177777 $TAGNU= STEMP = $TSKO = $TSKl = $TSK10= $TSK2 $TSK3 STSK4 $TSK5 $TSK6 $TSK7 $$ARGC= $SBYTE= $SCASE= S$OST S$ELOC= $$ERFL= S$FLAG= $$FR8M= $$LOC = SSLDCN= = $SR::G = 050002 000300 050002 050003 050020 050012 050013 OS0014 050015 050016 OS0017 000006 000403 000000 000000 000402 000000 000340 000000 003500R 000000 177777 000000 050000 050001 000000 000000 000000 $$RETU= $$RTi\l1= $$RTN2= $$SRC = $STGSV= $$TGS1= $$TGS2= 00000~ 000000 $$TO S$$TAG= 050000 003610R = = .MAIN. MACYi1 30'A(1052) 20-SEP-78 EQUATE.MAC 13-SEP-78 16:13 3 565 569 620 635 642 659 668 681 707 714 723 730 741 748 773 786 808 860 900 983 1037 1051 1081 1101 1133 1146 1173 1201 1335 1364 1380 1415 1466 1520 17:53 TABLE OF CONTENTS COMMON EQUATE MODULE COMMON DEFINITIONS' AND REFERENCES 000000 1 .PRINT jSPMAC: VERSION 1.1 MESSAGE - END-OF-PASS MESSAG.E - SUM COMMAND HEADER LI NE MESSAGE - SUM COMMAND MODULE LINE MESSAGE - SUM COMMAND SUMMARY LINE MESSAGE - COMMON HEADER MESSAGE - HRDERR,SOFERR MESSAGE - HRDERR,SOFERR,EXTENSrON MESSAGE - DROP MODULE MESSAGE - BAD VECTOR MESSAGE - MAP COMMAND MESSAGE - HUNG MODULE MESSAGE - CKDATA,DATACK,DATERR MESSAGE - CKDATA/DATACK SUMMARY LINE FILLMSG - FILL-IN THE BLANKS ROUTINE PROCESS END-OF-PASS TYPE MESSAGE PROCESS COMMON HEADER TYPE MESSAGE PROCESS HRDERR,SOFERR PROCESS HRDERR, SOFERR EXTENDED PRINTOUT MESSAGES? PROCESS SUM COMMAND TYPE MESSAGES PROCESS SUM COMMAND MODULE LINE MESSAGE PROCESS SUM COMMAND SUMMARY LINE MESSAGE PROCESS DROP MODULE TYPE MESSAGE PROCESS HUNG MODULE MESSAGE PROCESS BAD VECTOR TYPE MESSAGE PROCESS MAP COMMAND TYPE MESSAGE PROCESS CKDATA/DATACK/DATERR PROCESS CKDATA/DATACK SUMMARY LINE DO THE NECESSARY CLEAN-UP AND THEN RETURN GET MODULE NAME GET ELASPED TIME GET MODULE'S PASS TIME CONVERT VIRTUAL ADDRESS TO PHYSICAL ADDRESS ASCII SEQ 0482 FILLMS - MODULE TO FILL IN BLANK FIELDS IN SKELETAL MESSAGES FILLMS.MAC 15-AUG-78 16:52 COMMON EQUATE MODULE MACY11 30A(1052) 508 509 510 .TITlE FIlLMS - MODULE TO FILL IN .IDENT /VO.O/ 511 ;++ 512 513 514 515 516 517 518 519 520 521 522 523 524 525 538 539 540 541 542 543 544 545 546 547 548 549 55.0 551 552 553 554 555 556 557 558 559 560 561 562 563 FIELDS IN SKELETAL MESSAGES INPUTS: 1. DATA TABLE 2. MSG TYPE CODE 3. MSG ADDR/SPECIAL VALUE 4. MODULE'S HDR ADDR IMPLICIT INPUTS: STATUS INDICATOR WORD 0 OUTPUTS: 1. ADDRESS OF FILLED-IN MESSAGE 535 536 537 PAGE 19 FUNCTIONAL DESCRIPTION: THIS ROUTINE IS RESPONSIBLE FOR FIIllING IN THE BLANK FIELDS OF THE MONITOR GENERATED SKELETAL MESSAGES. THE TYPES OF S~ElETAl MESSAGES SUPPORTED ARE: 1. END OF PASS 2. HARD ERROR 3. SUM COMMAND 4. SOFT ERROR 5. COMMON HEADER 6. DROP MODULE 7. DATA ERROR 8. BAD VECTOR 9. MAP SUMMARY 10. CKDATA CALL 527 531 532 533 534 17:53 MODULE NAME: FILLMSG 526 528 529 530 BLAN~ 20-SEP-7B IMPLICIT OUTPUTS: NONE PATHOLOGICAL CONNECTIONS: NONE SUBORDINATE ROUTINES CALLED: 1. BDACNV 2. UPDTIM 3. CKHUNG 4. BOAC 5. GPA 6. SAVREG 7. RESREG 8. UNIPA ;8INARY TO DECIMAL ASCII CONVERSION ;UPDATE MODULE'S END-OF-PASS TIME iCHECK FOR HUNG OPTION MODULES ;BINARY TO OCTAL-ASCII CONVERSION ;GET PHYSICAL ADDRESS , ;GET UNIBUS PHYSICAL ADDRESS FUNCTIONAL SIDE EFFECTS: NONE CALLING SEQUENCE: CALL FILLMSG IN OUT VERSION: 0.0 EDIT ;-- BY DATE REASON SEQ 0483 FILLMS - MODULE TO FILL IN BLANK FIELDS IN SKELETAL MESSAGES MACY11 30A(1052) FILLMS.MAC 15-AUG-78 16:52 COMMON DEFINITIONS AND REFERENCES 565 566 567 568 569 (1) 000000' 000000' COMMON DEFINITIONS AND REFERENCES .~RINT .MCALL STRUCT STRUCT ;SPMAC: VERSION 1.1 $LSTIN = 1 $LSTTAG = 1 000001 000001 570 57~ 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 17:53 PAGE 19-1 , ;**************** , ; REFERENCED BY OTHER MODULES , .GLOBL FILLMSG , ;**************** , ;MODULE'S ENTRY POINT ; GLOBAL REFERENCES .GLOBL .GLOBL .GLOBL .GLOBL BDACNV BOA16 BOAC CKHUNG ·UL...v ..... I.... GPA ,.., ""'0' ;BINARY TO DECIMAL ASCI! CONVERSION ROUTINE ;BINARY TO OCTAL-ASCII CONVERSION ROUTINE ;BINARY TO OCTAL ASCII CONVERSION ;CHECK FOR HUNG MODULES ROUTINE ;GET PHYSICAL AQDRESS ROUTINE ;GET TIME ROUTINE ;GET PASS TIME ROUTINE ;UPDArE MODULES PASS TIME ROUTINE .GLOBL PRHMS .GLOBL PRPSCN .GLOBL UPDTIM .GL03L SAVREG .GLOBL RESREG .GLOBL UNIPA 59~ 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 .SBTTL 20-SEP-78 , ;GET UNIBUS PHYSICAL ADDRESS ;**************** , . ; LOCAL EQUATES: 000010 FLDMAX = iMAX FIELDS PER LINE ~D<8> ;**************** , ; LOCAL STORAGE , 000000' 000002' 000004' 000004' 000006' 000010' 000012' 000014' 000000 000000 000000 000000 000000 000000 000000 FLDCNT: LINECNT: TMP1 : TMPVA: TMPPA: TMPEA: FM.PA: FM.t:A: .WORD .WORD 0 0 .WORD .WORD .WORD .WORD .WORD a 0 0 0 0 ;**************** ;FIELD COUNTER ; LINE COUNTER ;STORAGE WORD ;STORAGE/VIRTUAL ADDRESS ;STORAGE/PHYS:CAL ADDRESS ;STORAGE/EA BITS ;STORAGE - PHYS. ADDR. ;STORAGE - EA BITS SEQ 0484 FILlMS - MODULE TO FILL IN BLANK FIELDS IN SKELETAL MESSAGES FILlMS.MAC MESSAGE - END-OF-PASS 15-AUG-78 16:52 620 621 622 623 624 625 626 627 628 629 630 631 632 633 000016 1 000017 1 0000241 000032 1 000037 1 0000441 000052 1 000057 ' 000070' 000076' 000101 ' 000112' 045 000005 042440 051501 000005 020056 04651,1 000011 050040 035105 0000'1 000045 042116 020123 050040 043 052522 035105 052116 040 052123 040 046511 MACY11 30A(1052) . 58TT l MESSAGE - END-OF-PASS EOPM5G: EOPNAM: .ASCII /%/ AD<5> .BlKS i END PASS #/ • ASCII EOPPAS: .BlKB · ASCII AD<5> /. RUNTIME: / EOPTIM: · BlKS · ASCII AD<9> / PSTIME: / EOPPST: AD<9> /%/ .8lKS .ASCIZ 20-SEP-78 17:53 PAGE 19-2 SEQ 0485 FILLMS - MODULE TO FILL IN BLANK FIELDS IN SKELETAL MESSAGES MACY11 30A(1052) FILLMS.MAC 15-AUG-78 16:52 MESSAGE - SUM COMMAND HEA)ER LINE 635 636 637 638 639 640 000114' 000122' 000130' 000136' 000141 ' 000152' 051445 054522 052522 035105 000011 000 046525 040440 052116 040 040515 020124 046511 .SBTTL MESSAGE - SUM RNHMSG: .ASCII RNHTIM: .BlKS .BYTE COM~!lAND 20-SEP-78 17:53 SEQ 0486 HEADER LINE /%SUMMARY AT RUNTIME: / -D<9> 0 PAGE 19-3 ;ASCII TERMINATOR FIllMS - MODULE TO FILL IN BLANK FIELDS IN SKELETAL MESSAGES MACY11 30A(1052) FI lLMS .MAC 15-AUG-78 16:52 MESSAGE - SUM COMMAND MODULE LINE 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 1 000153 000154 1 000161' 000166' 000171 ' 000177' 000204' 000205' 000213' 000220' 000222' 000227' 000234' 000240' 000245' 000252' 000256' 000263' 045 000005 040 035101 000006 040 040 000006 040 021440 000005 040 051122 000005 040 051122 000005 000 .SBTTl MESSAGE - SUM RNBMSG: RNBNAM: .ASCII /%/ "D<5> .BlKB . ASCII / AT VA: / RNBPC: .BlKS .ASCII "D<6> / STAT / RNBSTAT: "D<6> / PASS 052101 040 053040 052123 052101 040520 051523 .BLKB .ASCII 051110 020123 042504 RNBPAS: .BlKB . ASCII 043123 020123 042524 CO~~AND HI ~D<5> / HRDERRS I RNBHRD: .BlKS .ASCII "'D<5> / SFTERRS I RNBSFT: "'D<5> .BlKB .BYTE 0 MODULE LINE 20-SEP-78 17:53 PAGE 19-4 SEQ 0487 MACY11 30A(1052) FILLMS - MODULE TO FILL IN BLANK FIELDS IN SKELETAL MESSAGES MESSAGE - SUM COMMAND SUIV:MARY LINE 15-AUG-78 16:52 FILLMS.MAC 659 660 661 662 663 664 665 666 000264' 000272' 000300' 000304' 000311 ' 000316' 000324' 000332' 000333' 000340' 051445 020115 051522 000005 040 047520 040506 040 000005 000045 051531 051105 020072 042524 047522 020040 042527 046111 020040 020122 035123 .SBTTL MESSAGE - RNSMSG: .ASCII RNSERR: .BLKB 1II.l""'''T,. .I-\;;)~J.l. RNSPWR: SUM COMMAND SUMMARY LINE /%SVSTEM ERRORS: / "'0<5> / I -D<5> .BLKB .ASCIZ /%/ POWER FAILS: I / 20-SEP-78 17:53 PAGE 19-5 SEQ 0488 MACY11 30A(1052) FILLMS - MODULE TO FILL IN BLANK FIELDS IN SKELETAL MESSAGES MESSAGE - COMrJiON HEADER 15-AUG-78 16:52 FILLMS.MAC 668 669 670 671 672 673 674 675 676 677 678 679 .SBTTL 000342' 000343' 000350' 000355' 000365' 000372' 000373' 000401 ' 000406' 000410' 000415' 045 000005 050040 000010 040 040 000006 040 021440 000005 045 035101 040 050101 035103 040520 051523 HDRMSG: . ASCII /%/ "'0<5> HDRNAM: .BLKB .ASCII / PA: / -0<8> HDRPA: .BlKS .ASCII / APe: / HORPC: 000 MESSAGE - COMMON HEADER .BlKS 6 .ASCII / PASS #/ "0<5> HDRPAS: .BlKS .ASCIZ /%/ 20-SEP-78 17:53 PAGE 19-5 SEQ 0489 MACY11 30A(1052) FIllMS - MODULE TO FILL IN BLANK FIELDS IN SKELETAL MESSAGES MESSAGE - H~DERR,SOFERR 15-AUG-78 16:52 FILLMS.MAC 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 70S .SBTTL 000417 1 000420 1 000425 1 000432 1 000442; 000450 1 000456 1 000464 1 000465 1 000472 1 000473 1 000477 1 000504 1 000511 I 000516 1 000520 1 000526 1 000534 1 000535 1 000543 1 000550 1 000553 1 000561 I 000566 1 000572 1 000600 1 000601 1 045 000005 040 000010 040440 000006 050040 043 000005 040 000004 040 000005 045 020072 000006 041440 040 0000C6 040 035124 000006 040 050131 000006 045 000 040520 020072 041520 020072 051501 020123 MESSAGE - DATAMSG: DATNAM: .BLKS · ASCII DATPC: .BLKS .ASCII OATAPC: .BLKS · ASCII 20-SEP-78 '7:~;;5 I-'Ali~ SEQ 0490 HRDERR,SOFERR .ASCII 1%/ .... D<5> I PA: I . . 0<8> / APe: I . . 0<6> / PASS HI 051105 021522 051503 040522 .... 0<5> .SlKS .ASCII I I .... 0<4> OATTYP: .BlKS .ASCII I ERR#I .... 0<5> OATNUM: .BLKB .ASCII /%CSRA: I 051123 035103 DATADD: .BLKS .ASC!! 051501 040 040524 051105 020072 052122 DATPAS: DATCON: DATSTAT: DATERR: DATEND: "'D<6> / CSRC: I .BLKS .ASCII I .BlKB · ASCII .BYTE ;OATA, HARD, SOFT I "'0<6> ASTAT: .BLKB · ASCII "'0<6> ERRTYP: I I . . 0<6> 1%1 0 1';:;-' ;END OF MESSAGE INDICATOR FIlLMS - MODULE TO FILL IN BLANK FIELDS IN SKELETAL MESSAGES MACY11 30A(1052) FIlLMS.MAC 15-AUG-78 16:52 MESSAGE - HRDERR,SOFERR,EXTENSION 707 708 709 710 711 712 .SBTTL 000602 1 000602 1 000344 001146 1 000 MESSAGE - HRDERR,SOFERR,EXiENSION EXTMSG: .BlKS . . 0<228> EXTEND: .BYTE 0 20-SEP-78 17:53 PA~= 1~-~ SEQ 0491 FILLMS - MODULE TO FILL IN BLANK FIELDS IN SKELETAL MESSAGES r. 1ESSAGE . - DROP MOCUlE FIllMS.MAC 15-AUG-78 16:5.2 714 715 716 717 718 719 720 721 .SSTTl 00.1147' 001150' 001155 1 001162' 001170' 001176' 001204' 045 000005 040 042520 040440 000006 000045 051104 020104 041520 050117 052101 020072 MACY11 30A(1052) MESSAGE - DROP MODULE DR.PMSG: .ASCII /%/ AD DRPNAM: .BlKS .ASCII 1 DROPPED AT APC: / DRPPC: .BlKB .ASCIZ -D<6> 1%/ 20-SEP-78 17:53 PAGE 19-9 SEQ 0492 FILLMS - MODULE TO FILL IN BLANK FIELDS IN SKELETAL MESSAGES FILLMS.MAC 15-AUG-78 16:52 MESSAGE - BAD VECTOR 723 724 725 726 727 728 .SBTTL 1 001206 041045 001214 1 041505 001222 1 040 001223 1 000006 001231' 045 042101 047524 000 053040 035122 MESSAGE - MACY11 3CA(1052) BAD VECTOR BADVMSG: .ASCII /%BAD VECTOR: / -0<6> BADVCT: .BlKS .ASCIZ /%/ 20-SEP-78 17:53 PAGE 19-10 SEQ 0493 FIllMS - MODULE TO FILL IN BLANK FIELDS IN SKELETAL MESSAGES FILlMS.MAC 15-AUG-78 16:52 MESSAGE - MAP COMMAND 730 731 732 733 734 735 736 737 738 739 • SSTT L 001233' 001234' 001241' 001246' OOi25i' 001257' 001264' 001266' 001274' 045 000005 040 035101 000006 040 020072 000006 000 052101 040 053040 052123 052101 MACY11 30A(1052) MESSAGE - MAP COiv'iiViAND MAPMSG: • ASCII /%/ "0<5> MAPNAM: .BlKB . ASCII / AT VA: / f,1APPC: .BLKS "D<6> .ASCII / STAT: / . . . 0<6> MAPSTT: .BlKB .BYTE 0 20-SEP-78 17:53 PAuc :~-11 SEQ 0494 FILLMS - MODULE TO FILL IN BLANK FIELDS IN SKELETAL MESSAGES FILLMS.MAC 15-AUG-78 16:52 M~SSAGE - HUNG MODULE 741 742 743 744 745 746 .S8TTL 001275' 045 001276' 000005 040 001303' 001310' 047125 00;3;6 1 050117 001324' 000 051511 027507 042520 044040 051104 022504 MACY11 30A(1052) MESSAGE - HUNG MODULE HNGMSG: .ASCII /%/ HNGNAM: .BlKS ~D<5> .ASCIZ I IS HUNG/DROPPED%1 20-SEP-78 17:53 PAGE 19-12 SEQ 0495 MACY11 30A(1052) FILLMS - MODULE TO FILL IN BLANK FIELDS IN SKELETAL MESSAGES MESSAGE - CKDATA,DATACK,DATERR 15-AUG-78 16:52 FILLMS.MAC 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 001325' 001326 1 001333 1 001340 1 001350= 001356' 001364' 001372 1 001373' 001400 1 001406' 001413' 001420' 001422' 001430' 001435' 001444' 001452' 001460' 001466' 001467' 001477' 001504' 001506' 001516' 045 000005 040 000010 040440 000006 050040 043 000005 042440 000005 045 020072 000006 051440 000006 053440 000006 053440 040 000010 040 020122 000010 000045 040520 020072 041520 ,.,n ...... ,,"" U"::UU/":: .SBTTL MESSAGE - CKDATA,DATACK,DATERR CKDMSG: CKONAM: .ASCII .BlKS .ASCII .BLKS .ASCII .BLKS .ASCII CKOPA: CKDVA: 051501 020123 0511'22 021440 051503 040522 041057 020072 051501 020072 040522 051104 042122 042101 1%1 -0<5> PA: "'0<8> I I / APe: I .... 0<6> I PASS HI I CKOPAS: .BlKB · ASCII CKDNUM: .BlKS .ASCI! . . . 0<5> I ERR #1 "0<5> I%CSRA: I .BLKS .ASCII CKOSB: · BlK8 · ASCII CKOWAS: .BlKS .ASCII "'0<6> CKOAOO: CKDWRA: .SlKS .ASCII CKDRDA: • SlKS .ASCIZ II SIB: Ii "'0<6> I WAS: 1 . . . 0<6> I WRADR I "0<8> I ROADR "0<8> 1%1 I 20-SEP-78 17:53 PAGE 1~-1;;S SEQ 0496 FILlMS - MODULE TO FILL IN BLANK FIELDS IN SKELETAL MESSAGES MACY11 30A(1052) FIlLMS.MAC 15-AUG-78 16:52 MESSAGE - CKDATA/DATACK SUMMARY LINE 773 774 775 776 777 778 779 780 781 782 783 784 .SBTTL 1 001520 001520 1 001525 1 001532 1 001537 1 001544 1 001552' 001556 1 001563' 001570' 001576' 000005 040 000005 040 051522 047440 000005 040 020123 000045 040510 020104 05" 05 047440 020106 047522 052125 047527 042522 042122 042101 20-SEP-78 MESSAGE - CKDATA/DATACK SUMMARY LINE CKDSMSG: CKDSNAM: .BlKB ~D<5> .ASCII / HAD / CKDSCNT: .BLKB AD<5> .ASCII I / ERRORS OUT OF / CKDSRD: .BlKB -D<5> .ASCIZ / WORDS READ%/ .EVEN '1:~~ ~~~~ 1~-1~ SEQ 0497 FILLMS - MODULE TO FILL IN BLANK FIELDS IN SKELETAL MESSAGES MACY11 30A(1052) FILLMS.MAC 15-AUG-78 16:52 FILLMSG - FILL-IN THE BLANKS ROUTINE .SBTTL 786 787 788 789 790 791 001600' (2) 00;600; 792 793 794 795 796 797 798 799 800 (3) 801 (4) 00~620' (4) 803 (4) 805 806 PAGE 19-15 SEQ 0498 FILLMSG - FILL-IN THE BLANKS ROUTINE ROUTINE FILLMSG , 804 (4) 11:53 ;+ ; SAVE REGISTERS AND SAVE DTABLE,ADR,MSGAwR AND TYPCODE 001600' 001600' 001604' 001604' 001610' 001610' 001614' 001614' 001620' 802 20-SEP-78 CALL SAVREG 004767 016500 016501 016502 OOOOOOG LET RO .- DTABLE(RS) LET R1 .- HDRADR(R5) LET R2 ..- MSGADR(R5) 000000 000006 000004 LET R4 016504 000002 JSR PC,SAVREG MOV DTABLE(R5),RO MOV HDRADR(R5),R1 MOV MSGADR(R5),R2 MOV TYPCODE(R5),R4 TYPCODE(R5) FILLMS - MODULE TO FILL IN BLANK FIELDS IN SKELETAL MESSAGES MACY11 30A(1052) FILLMS.MAC 15-AUG-78 16;52 PROCESS ENO-OF-?ASS TYPE MESSAGE .S8TTL 80B 809 810 811 812 813 (4) (3) (3) 825 826 (3) (3) PAGE 19-16 SEQ 0499 PROCESS END-OF-PASS TYPE MESSAGE 1~''-'L.lV 001624' 001624' 020427 001630' 001057 ...;J IF R4 EQ #MSGEOP THEN 000013 CMP BNE R4,#MSGEOP 50002$ MOV MOV MOV JSR MOV R5,-(SP) #EOPNAM,-(R5) R1,-(R5) PC,GETNAM (SP)+,R5 MJV MOV MOV JSR MOV R5,-(SP) #EOPPAS,-(R5) PASCNT(R1),-{R5) PC,BDACNV (SP)+,R5 MOV R5,-(SP) #EOPTIfl'1,-(R5) RO,-(R5) PC,GETETIM (SP)+,R5 ;+ ; GET MODULE NAME , 0- 001632' 001632 1 001634' 001640' 001642' 001646' CALL GETNAM IN 010546 012745 010145 004767 012605 000017' 002406 ;+ : CONVERT PASS COUNT TO DECIMAL ASCII 827 828 829 (3 ) (5) (4 ) (3 ) (3) 830 831 832 833 834 835 (3) (5) (4) (3) (3) 836 837 838 839 840 (3) (6) (5) (4) 17:53 ;+ ; IS IT AN END-OF-PASS TYPE? IF SO, FILL IN THE BLANK FIELDS, ~M'H"\III 1::' co PASS TIME, AND CHECK FOR ANY II HU~JGli MODULES I (H... '-'; UPDATE TUI:: ;- 814 815 816 817 818 (6) (9) 819 820 821 822 823 824 (3) (5 ) 20-SEP-7B ;- 001650' 001650' 001652' 001656 1 001662' 001666' CALL 8DACNV IN 010546 012745 016145 004767 012605 000037' 000034 OOOOOOG ;+ ; GET ELAPSED TIME CONVERTED TO ASCII ;- 001670' 001670' 001672' 001676' 001'700' 001704' CALL GETETIM IN 010546 012745 010045 004767 012605 I'v~OV 000057' MOV JSR MOV 002410 ;+ ; CONVERT PASS TIME TO ASCII , 0- 001706 1 001706' 001710 1 001714 ' 001716 1 001720 1 001724' CALL GETPTIM IN 010546 012745 010145 010045 004767 012605 IV: 0 V 000101 002460 1 MOV MOV MOV JSR IViOV R5,-(SP) #EOPPST,-(R5) R1,-(R5) RO,-(R5) PC,GETPTIM (SP)+,R5 MACY11 30A(1052) FILLMS - MODULE TO FILL IN BLANK FIELDS IN SKELETAL MESSAGES PROCESS END-OF-PASS TYPE MESSAGE 15-AUG-78 16:52 FILLMS.MAC 841 842 843 844 345 846 847 (6) (9) 848 (3) (5) (4) (3) (3) 849 850 851 852 853 854 (3 ) 855 (4) 856 (4) B57 (2} 858 (4) 20-SEP-78 17:53 PAGE 19-17 SEQ 0500 ;+ ; IF A CLOCK ... UPDATE TIME ;- 001726 1 001726' 001734' 001736' 001736' 001740' 001742' 001744' 001750' IF #CLKPRES SETIN DT.CFO(RO) THEN 032760 001410 000001 000014 SIT SEQ #CLKPRES,DT.CFO( 50003$ MOV M:JV MOV JSR MOV R5,-(SP) R1,-(R5) RO,-(R5) PC,UPDTIM (SP)+,R5 JSR PC,CKHUNG MOV #EOPMSG,FLMSADR( CALL UPDTIM IN 010546 010145 010045 004767 012605 OOOOOOG ;+ ; SEE IF ANY MODULE IS HUNG , 001752' 001752' 004767 001756' 001756' 001756' 001756' 012765 001764' 001764' 000167 0017-70 ' 001770' CALL CKHUNG OOOOOOG ENDIF LET FLMSADR(R5) 000016' 000010 .- 500035: #EOPMSG INLINE JMP 1$ 002256 ENDIF 50002$: FILLMS - MODULE TO FILL IN BLANK FIELDS IN SKELETAL MESSAGES MACY11 30A(1052) FILLMS.MAC 15-AUG-79 16:52 PROCESS COMMON HEADER TYPE MESSAGE 860 861 862 863 864 865 366 (6) (9) 867 868 869 870 871 (3) (5) (4) (3) (3) 872 873 874 875 876 (3) (6) (5) ( 4) (3 ) (3) 877 878 879 880 881 882 (4) (6) 883 884 885 886 887 888 (3) (5) (4) (3) (3) 889 890 891 892 893 894 (3) .SBiiL 20-SEP-78 17:53 PkGE 19-18 SEQ 0501 PROCESS COMMON HEADER TYPE MESSAGE ;+ ; IS IT A COMMON HEADER TYPE MESSAGE? ;"" .. ..,.,.,"', IF R4 EO #MSGHDR THEN UU 1 I I V· 001770 1 020427 001774 1 001045 000004 CMP BNE R4,#MSGHDR 50004$ MOV MOV MOV R5,-(SP) #HDRNAM,-(R5) R1,-(R5) PC,GETNAM (SP)+,RS ;+ ; GET MODULE NAME ," 001776' 001776 1 002000 1 002004 1 002006 1 002012 1 CALL GETNAM IN 010546 012745 010145 004767 012605 000343 1 JSR 002242 MOV ;+ ; GET PHYSICAL ADDRESS ;- 002014 1 002014' 002016 1 002022 1 002024 1 002026' 002032 1 CALL GETAPA IN 010546 012745 010245 010045 004767 012605 000355' MOV MOV MOV MOV JSR 002450 MOV R5,-(SP) #HDRPA,-(RS) R2,-(R5) RO,-(R5) PC,GETAPA (SP)+,RS ;+ ; FORM APC ;- LET R3 .- R2 - Rl 002034 1 002034' 010203 002036' 160103 MOV SUB R2,R3 Rl,R3 ;+ ; AND CONVERT IT TO ASCII ;- 002040' 002040' 002042' 002046' 002050' 002054 1 CALL BOA16 IN 010546 012745 010345 004767 012605 MOV RS,-(SP) #HDRPC,-(R5) R3,-(RS) PC,BOA16 (SP)+,RS MOV R5,-(SP) MO'''' MOV MO'J 000373 1 JSR OOOOOOG ;+ ; CONVERT PASCNT TO ASCII , 0- 002056' 002056' 010546 CALL BDACNV IN FILLMS - MODULE TO FILL IN BLANK FIELDS IN SKELETAL MESSAGES MACY" 30Al'U~~) FILLMS.MAC 15-AUG-78 16:52 ~ROCESS COMMCN HEACER TYPE MESSAGE (5) (4) (3) (3) B95 (4) 896 (2) 897 (4) 898 002060' 002064 1 002070' 002074' 002076' 002076' 002;04 1 002104 1 002110' 002110' 012745 016145 004767 012605 I/.~~ ~hU~ l~ SEQ OS02 000410 000034 OOOOOOG i MOV MOV JSR LET FLMSADR(R5) 012765 ~U-~~~-IO "- MOV #HDRPAS,-(RS) PASCNT(R1),-(RS) PC,BDACNV (SP)+,R5 MOV #HDRMSG,FLMSAOR( #HDRMSG 000342' 000010 !NUNE 000167 002136 JMP 1$ ENDIF 50004$: FILLMS - MODULE TO FILL IN BLANK FIELDS IN SKELETAL MESSAGES FILLMS.MAC 15-AUG-7S 16:52 PROCESS HRDE~R.SOFERR 900 901 902 903 904 905 906 907 908 (6) (9) (6) (9) 909 (2) 910 (4) 911 912 913 914 915 (4) 916 917 918 ,... ......... ..,.. .:;'01 f I- PROCESS HRDERR,SOFERR ;+ ; IF NOT A HARD OR SOFT ERROR, CONTINUE CHECKING , 0- 002110' 002110' 002114' 002116' 002122' 002124' 002124' 002130' 002130 1 IF R4 NE #MSGSFT AND R4 NE #MSGHRD THEN 020427 001405 020427 001402 000006 000167 000474 000007 CMP SEQ eMP SEQ R4,#MSGSFT 50005$ R4,#MSGHRD 50005$ INLINE JMP 100$ ENDIF 500055: ;+ ; INSERT THE END OF MESSAGE CHARACTER AND ASSUME THAT THERE IS NO EXTENDED PRINTOUT , 002130' 002130' 105067 LET DATEND :S= #0 176445 CLRB DATEND MOV MDV MJV JSR MClV R5,-(SP) #DA TNAfvl, - (R5) R1,-(R5) PC,GETNAM (SP)+,R5 MOV MOV MOV JSR MOV R5,-(SP) #DATPC,-(R5) R2,-(R5) RO,-(R5) PC,GETAPA (SP)+,R5 MOV SUB R2,R3 R1 ,R3 ;+ ; GET MODULE NAME ;- 919 920 921 (3) (5) (4) (3) (3) 922 923 924 925 926 927 (3) (6 ) (5 ) (4) (3) (3) 928 929 930 931 932 933 (4) (6) 934 935 SEQ 0503 002134 1 00.2134' 002136' 002142' 002144 1 002150' CALL GETNAM IN 010546 012745 010145 004767 012605 000420' 002104 ;+ ; GET P.A. , 002152' 002152' 002154 1 002160' 002162' 002164' 002170' CALL GETAPA IN 010546 012745 010245 010045 004767 012605 000432 1 WiD\! 002312 ;+ ; FORM APC ;- 002172' 002172' 010203 002174' 160103 LET R3 := R2 - R1 ;+ FILLMS - MODULE TO FILL IN BLANK FIELDS IN SKELETAL MESSAGES PROCESS HRDERR,SOFERR 15-AUG-78 16:52 FILLMS.MAC 20-SEP-78 17:53 PAGE 19-21 SEQ 0504 ; CONVERT IT TO ASCII 936 937 938 939 (3) (5) 002176 1 002176 1 010546 002200 1 012745 (4) 002204 1 (3) (3) 940 941 942 943 944 945 (3) (5) (4) (3) (3) 946 947 (4) 948 949 950 951 952 (6 ) {9} 953 (4) 954 (4) 955 (4) 956 (4) 957 (4 ) 958 (4) (3) 959 (4) 960 (4) 961 (4) 962 (4) 963 (4 ) 964 (4) 965 MACY11 30A(1052) ;- CALL BOA16 IN MOV MOV MOV MOV JSR MOV R5,-(SP) #DATPAS,-(R5) PASCNT(R1),-(R5) PC,BDACNV (SP)+,R5 MOV #DATTYP,R3 CMP BNE R4,#MSGSFT 50006$ MOVB #'S,(R3)+ MOVB # 10, (R3)+ MOVB #'F,(R3)+ MOVB #'T,(R3)+ MOV SOFCNT(R1),RO BR 50007$ MOV9 #'H,(R3)+ WOVB #'A,(R3)+ MOVS #IR,(R3)+ MOV8 #'D,(R3)+ MOV HRDCNT(R1),RO MOV ""III"\~"r= VIV";)"TJ 002206 1 004767 002212 1 012605 R5,-(SP) #DATAPC,-(R5) R3,-(RS) PC,BOA16 (SP)+.R5 MOV MOV 000450 1 JSR OOOOOOG ;+ ; CONVERT PASS COUNT TO ASCII , 002214' 002214' 002216' 002222 1 002226' 002232' CALL BDACNV IN 010546 012745 016145 004767 012605 002234 1 002234' 012703 000465' 000034 OOOOOOG LET R3 000473 .- #DATTYP 1 ;+ 002240' 002240' 002244' 002246' 002246' 002252' 002252' 002256' 002256' 002262' 002262' 002266' 002266' 002272' 002272' 002274' 002274' 002274' 002300' 002300 1 002304' 002304' 002310' 002310' 002314' 002314' 002320' 002320' ; IF SOFT, FILL IN WORD 'SOFT ;IF R4 EQ #MSGSFT THEN 020427 001013 000006 112723 000123 112723 000117 112723 000106 112723 000124 IF HARD, FILL IN WORD 'HARDI. LET (R3)+ :B= #15 LET (R3)+ :B= #10 LET (R3)+ :s= #'F LET (R3)+ :B= #'T LET RO 016100 I. .- SOFCNT(R1) 000042 ::LSE 000412 50006$: LET (R3)+ : B= #IH 112723 000110 112723 000101 112723 000122 112723 000104 LET (R3)+ : B= #'A LET (R3)+ :S= #'R LET (R3)+ :8= #10 LET RO 016100 .- HRDCNT(R1) 000044 ENDIF 50007$: FILLMS - MODULE TO FILL IN BLANK FIELDS IN SKELETAL MESSAGES PROCESS HRDERR,SCFERR 15-AUG-78 16:52 FILLMS.MAC 966 967 968 969 970 971 (3) (5) (4) (3) (3) 972 973 974 975 976 977 {3 ) (5) (4) (3) (3) 978 (3) (5) (4) (3) (3 ) 979 (3 ) (5) (4) (3) (3 ) 98C (3) (5) (4) (3) (3) 981 MAC)", 1 30A(1052) 20-SEP-78 17:53 PAG~ 19-22 SEQ 0505 ;+ ; CONVERT HARD OR SOFT TO ASCII ;002320' 002320' 002322 1 002326' 002330' 002334' CALL BDACNV IN 010546 012745 010045 004767 012605 000504' OOOOOOG MOV MOV MOV JSR MOV R5,-(SP) #DATNUM,-(R5) RO,-(R5) PC,BDACNV (SP)+,R5 MOV MOV MOV JSR MOV R5,-(SP) #DATADD,-(R5) CSRA(R1),-(R5) PC,BOA16 (SP)+,R5 MOV MOV MOV JSR R5,-(SP) #DATCON,-(R5) CSRC(R1),-(R5) PC,BOA16 (SP)+,R5 ;+ ; CONVERT CSRA,CSRCTASTAT,ERRTYP TO ASCII ;002336' 002336' 002340' 002344 1 002350' 002354 1 002356' 002356' 002360 1 002364 1 002370' 002374' 002376 1 002376 1 002400' 002404' 002410' 002414' 002416' 002416' 002420' 002424' 002430' 002434' CALL BOA16 IN 010546 012745 016145 004767 012605 000520' 000100 OOOOOOG 010546 012745 016i45 004767 012605 000535' 000102 OOOOOOG 010546 012745 016145 004767 012605 000553 1 000104 OOOOOOG CALL BOA16 IN M;JV CALL BOA16 IN MOV MOV MOV JSR MOV CALL BOA16 IN 010546 012745 016145 004767 012605 000572' 000106 OOOOOCG MOV MOV MOV JSR MOV R5,-(SP) #DATSTAT,-(R5) ASTAT(R1) ,-(R5) PC,BOA16 (SP)+,R5 R5,-(SP) #DATERR,-{R5) ERRTYP(R1),-(R5j PC,BOA16 (SP)+,R5 FILLMS - MODULE TO FILL IN BLANK FIELDS IN SKELETAL MESSAGES MACYll ~UAllU~~) ~v-~~r-fO FILLMS.MAC 15-AUG-7S 16:52 PROCESS HRDE~R, SOFERR EXTENDED PRINTOUT MESSAGES? 983 984 985 986 987 988 989 990 991 (6) (8) (6) (9) (6) 992 (6) 993 {4} 994 (6) (9) 995 (4 ) .SBTTL ;- 002436 1 002436 1 002442 1 002444 1 002450' C02452 1 002452 1 002452 1 002456' 002456 1 002460 1 002460 1 002462 1 002464 1 002464 1 IF R4 EQ #MSGSFT OR R4 EO #MSGHRD THEN 020427 001403 020427 001065 000006 000007 LET R2 062702 000004 LET R2 011202 005702 001453 112767 (6) (9) 1013 (4) (6) (9) 1014 (3) (5) (4) ..- CMP BEQ CMP BNE R4,#MSGSFT 50010$ R4,#MSGHRD 50011$ ADD #4,R2 MOV (R2),R2 TST BEQ R2 50012$ MOVe #,DATEND 50010S: R2 + #4 (R2) IF R2 NE #0 THEN LET DATEND :8= # 176107 000015 ;+ 997 (4) PROCESS HRDERR t SOFERR EXTENDED PRINTOUT MESSAGES? ;+ ; IS THERE A HRDERR/SOFERR EXTENDED PRINTOUT ASSOCIATED WITH THIS MESSAGE? 996 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 (4) 1010 (4) 1011 (4) (6) (9) 1012 SEQ 0506 GO THROUGH THE MESSAGE TABLE AND, FOR EACH ADD~ESS I~ THE T~BLE, FIND THE CONTENTS OF THAT ADDRESS, CONVERT IT TO ASCII, STORE THE ASCII IN THE ExTE~DED PRINTouT TABLE ,EXTMSG) FOLLCWED BY A SPACE AND, IF THE MAXIMUM NUMBER OF ENTRIES PER LINE HAS BEEN REACHED, LOAD A CRt LF ~%) INTO THE TABLE. CONTINUE THIS UNTIL EITHER THE LAST ENTRY IN THE MESSAGE TABLE OR THE END OF THE PRINTOUT STORAGE AREA (EXTEND) IS REACHED. ;- 002472 1 002472 1 002475 1 002476 1 002502 1 002502 1 002502' 002506 1 002510 1 002510 1 002510 1 002514 1 002516 1 002516 1 002516 1 002524 1 002526 1 002526 1 002530' 002532 1 LET R3 := #EXTMSG 1 012703 000602 005067 175276 021227 001436 177777 020327 103032 001146 1 026727 002021 175256 MOV #EXTMSG,R3 CLR FLDCNT CMP SEQ {R2),#-1 50014$ CMP BHIS R3,#EXTEND 50016$ LET FLDCNT '- #0 WHILE (R2) NE #-1 DO 50013$: WHILE R3 LO #EXTENO DO 50015$: 010546 010345 013245 WHILE FLDCNT LT #FLDMAX DO 50017$: 000010 CMP BGE CALL BOA16 IN <@(R2)+,R3> MO\! IVi(JV MOV FLDCNT,#Fi..DMAX 50020$ R5,-(SP) R3,-(R5) @(R 2)+,-(R5) 0 20-SEP-78 MACY11 30A(1052) FILLMS - MODULE TO FILL IN BLANK FIELDS IN SKELETAL MESSAGES PROCESS HRDERR, SOFERR EXTENDED PRINTOUT MESSAGES? 15-AUG-78 16:52 FILLMS.MAC (3) (3) 1015 (6) 1016 (4) 1017 (6) (9) 1018 (2 ) 1019 (4) 1020 (6) 1021 (4) (3) 1022 (4) 1023 (4) 1024 (4) (3) 1025 (4) (3) 1026 (2 ) 1027 (4) 102B (4) 1029 1030 1031 (4) 1032 (4) 1033 (2 ) 1034 (4) 1035 (2) 002534 i 002540' 002542 1 002542' 002546 1 002546 1 002552 1 002552 1 002556' 002560' 002560 1 002562 1 002562' 002562' 002562' 002566 1 002566' 002570 1 002570' 002570' 002574' 002574' 002600' 002600' 002602' 002602 1 002602 1 002604 1 002604' 002604 1 002604 1 002604 1 002610 1 002610 1 004767 012605 OOOOOOG 062703 000006 112723 000040 021227 001001 177777 PAGE 1:1-:l4 SEQ 0507 MOV PC,BOA16 (SP)+,R5 ADD #6,R3 MOVB #,(R3)+ CMP SNE 1000$> BR (R2) ,#-1 50021$ JSR LET R3 .- R3 + #6 LET (R3)+ :B= # IF (R2) EO #-1 THEN INLINE <8R 000411 175212 .- 50021$: FLDCNT + #1 II\IC FLDCNT BR 50017$ MOVS # 1 %, (R3)+ CLR FLDCNT BR 50015$ BR 50013$ ENDDO 000753 50020$: LET (R3)+ :B= #'% 112723 000045 005067 175200 LET FLDCNT .- #0 ENDDO 000743 50016$: ENDDO 000737 50014$; INLINE <1000$:> 1000$: LET (R3)+ : B= #1% 112723 000045 MOV8 # 1 %, (R3)+ CLR8 (R3)+ MOV #DATAMS,FLMSADR( JMP 1$ LET (R3)+ :8= #0 105023 002612' 002612' 002612' 002612 1 012765 002620' 002620' 000167 002624 1 002624' 002624' 002624 1 1000$ ENDIF LET FLDCNT 005267 17:53 ENDIF 50012$: LET FLMSADR(R5) := #DATAMS 000417' 000010 INLINE 001422 ENDIF INLINE <100$:> 50011$: 100$: MACY11 30A(1052) FILLMS - MODULE TO FILL IN BLANK FIELDS IN SKELETAL MESSAGES PROCESS SUM COMMAND TYPE MESSAGES FILLMS.MAC 15-AUG-78 16:52 .SBTTL 1037 1038 1039 1040 1041 1042 17:53 PAGE 19-25 SEQ 0508 PROCESS SUM COMMAND TYPE MESSAGES ;+ ; IS IT A SUM COMMAND HEADER LINE TYPE MESSAGE? , 1043 1044 1045 (6) (9) 1046 (3) (5) (4) (3) (3) 1047 (4) 1048 (2) 1049 (4) 20-SEP-78 002624' 002624 1 002630 1 002632 1 002632 1 002634 1 002640 1 002642 1 002646 1 002650 1 002650 1 002656 1 002656 1 002662 1 002662 1 IF R4 EQ #MSGSMH THEN 020427 001014 000Q14 CMP BNE R4 1#MSGSMH 50022$ MOV MOV MOV MOV R5,-(SP) #RNHTIM,-(R5) RO,-(R5) PC,GETETIM (SP)+,R5 MOV #RNHMSG1FLMSADR( CALL GETETIM IN 010546 012745 010045 004767 012605 000141 1 001446 JSR LET FLMSADR(R5) 012765 000114 1 .- #RNHMSG 000010 INLINE 000167 001364 JMP 1$ ENDIF 50022$: FILLMS - MODULE TO FILL IN BLA.NK FIELDS IN SKELETAL MESSAGES MACY11 30A(1052) FILLMS.MAC 15-AUG-78 16:52 PROCESS SUM COMMAND MODULE LINE MESSAGE 1051 1052 1053 1054 1055 1056 1057 1058 1059 (6) (9) 1060 1061 1062 1063 1064 1065 (3) (5) (4) (3) (3) 1066 1067 .SBTTL (5) (4) (3) (3) 1072 (3) (5) (4) (3) (3) 1073 (3) (5) (4) (3) (3) 1074 (3) (5) (4) (3) (3) 1075 (3) (5) (4) (3) PAGE 19-26 SEQ 0509 PROCESS SUM COMMAND MODULE LINE MESSAGE ; IS IT A "SUM COMMAND-MODULE-LINE:: MESSAGE? ., 002662' 002662' 020427 002666' 001063 IF R4 EO #MSGSMB THEN 000015 CMP BNE R4,#MSGSMB 50023$ MOV MOV R5,-(SP) #RNBNAM,-(R5) R1,-(R5) PC,CETNAM (SP)+,R5 ;+ ; GET MODULE NAME ;002670' 002670' 002672' 002676' 002700' 002704' CALL GETNAM IN 010546 012745 010145 004767 012605 000154' MOV JSR MOV 001350 ;+ ; CONVERT PC,STAT,PASS COUNT,HARD ERORRS AND SOFT ERRORS ,• 1069 (3) 17:53 ;+ 1068 1070 1071 20-SEP-78 Tn ,'-' ASCII of 002706' 002706' 002710' 002714' 002716' 002722' 002724' 002724' 002726' 002732' 002736' 002742' 002744' 002744' 002746' 002752' 002756' 002762' 002764' 002764' 002766' 002772' 002776' 003002' 003004' 003004' 003006' 003012' 003016' CALL BOA16 IN 010546 012745 010145 004767 012605 010546 012745 016145 004767 012605 010546 012745 016145 004767 012605 010546 012745 016145 004767 012605 010546 012745 016145 004767 MOV MOV 000171' MOV JSR OOOOOOG MJV CALL BOA16 IN 000205' 000026 MOV MOV MOV JSR MOV OOOOOOG CALL BDACNV IN 000222' 000034 N!OV MOV MOV JSR OOOOOOG MOV R5,-(SP) #RNBPC.-(R5) R1,-(R5) PC,BOA16 (SP)+,R5 R5.-(SP) #RNBSTAT,-(R5) STAT(R1),-(R5) PC,BOA16 (SP)+,R5 R5,-(SP) #RNBPAS.-(R5) PASCNT(R1),-(R5) PC,BDACNV (SP)+,R5 CALL BDACNV IN MOV MOV 000240' 000044 r,,~ov uSR OOOOOOG MOV CALL BDACNV IN 000256' 000042 OOOOOOG MOV MOV MOV JSR R5,-(SP) #RNBHRD,-(R5) HRDCNT(R1),-(R5) PC.BDACNV (SP)+,R5 R5,-(SP) #RNBSFT,-(R5) SOFCNT(R1),-(R5) PC,BDACNV FILLMS - MODULE TO FILL IN BLANK FIELDS IN SKELETAL MESSAGES MACY11 30A(1052) FILLMS.MAC 15-AUG-78 16:52 PROCESS SUM COMMAND MODULE LINE MESSAGE (3) 1076 (4) 1077 (2) 1078 (4) 1079 003022 1 012605 003024' 003024 1 012765 0030321 003032 1 000167 003036 1 003036 1 LET FLMSADR(R5) 000153 1 000010 .- 20-SEP-78 17:53 PAGE 19-27 SEQ 0510 MOV ( 5 P ) + , R5 MOV #RNBMSG,FLMSADR( #RNBMSG IN LINE 001210 JMP 1$ ENDIF 50023$: FILLMS - MODULE TO FILL IN BLANK FIELDS IN ~K~L~IAL Mt~~A~C~ MA~T I I ~~~\ IV~~J FILLMS.MAC 15-AUG-78 16:52 ~ROCESS SUM COMMAND SUMMARY LINE MESSAGE .SBTTL 108i 1082 1083 1084 1085 1086 LV ~~r SEQ 0511 PROCESS SUM COMMAND SUMMARY LINE MESSAGE ;+ ; IS IT A SUM COMMAND SUMMARY LINE MESSAGE? 1087 1088 1089 (6) (9) 1090 1091 1092 1093 1094 (3) (5) (4 ) (3) (3) 1095 (3) ( 5) (4) (3 ) (3) 1096 (4) 1097 (2) 1098 (4) 1099 003036 1 003036 1 020427 003042 1 001025 IF R4 EO #MSGSMS THEN 000016 CMP BNE R4,#MSGSMS 50024$ MOV MOV MOV uSR MOV R5,-(SP) #RNSERR,-(R5) DT.EXS(RO),-(R5) PC, BDAC'NV (SP)+,R5 MOV MOV MOV R5,-(SP) #RNSPvJR, - (R5) DT.PFL(RO),-(R5) PC,BUACNV {SP)+,R5 MOV #RNSMSG,FLMSADR( ;+ 003044 1 003044 1 003046 1 003052 i 003056 1 0030621 003064 1 003064 1 003066 1 003072 1 003076 1 003102 1 003104 1 003104 1 003112 1 003112 1 003116 1 003116 1 ; CONVERT SYSTEM ERRORS AND POWER FAILS TO ASCII ;CALL BDACNV IN 010546· 012745 000304 1 016045 000060 004767 OOOOOOG 012605 010546 012745 016045 004767 012605 000333 1 000062 OOOOOOG 012765 000264 CALL BDACNV IN MOV JSR LET FLMSADR(RS) .1 000010 INLINE 000167 uMP 1$ 001130 ENDIF 50024$: FILLMS - MODULE TO FILL IN BLANK FIELDS IN SKELETAL MESSAGES MACY11 30A(1052) F!LLMS.MAC 15-AUG-78 16:52 . PROCESS DROP MODULE TYPE MESSAGE 1101 .SBTTL 1102 1103 1104 1105 1106 1107 1108 1109 1110 ;+ ; IS IT A DROP MODULE MESSAGE? (6) (9) 1111 1112 1113 1114 1115 (3) (5) (4) (3) (3) 003116' 003116' 020427 003122' 001025 003124' 003124 1 003126' 003132 ' 003134' 003140' PAGE 19-29 PROCESS DROP MODULE TYPE MESSAGE ;+ ; GET MODULE NAME ;CALL GETNAM IN 010546 012745 010145 004767 012605 SEQ 0512 IF R4 EO HMSGDRP THEN 001150' 001114 CMP BNE R4,HMSGDRP 50025$ MOV MOV MOV JSR MOV R5,-(SP) #DRPNAM,-(R5) R'i ,-(R5) PC,GETNAM (SP)"+,R5 MOV S~B R2,R3 R1,R3 M:JV MOV MOV JSR MOV RS,-(SP) #DRPPC,-(R5) R3,-(R5) PC,BOA16 (SP)+r R5 MOV #DRPMSG,FLMSADR( ;+ ; FORM APC ;- 1119 (4) (6) 17:53 000017 1116 1117 1118 1120 .1121 20-SEP-78 LET R3 "- R2 - 003142' 003142' 010203 003144' 160103 R1 112~ 1123 1124 1125 1126 1127 (3) (5) (4) (3) (3) 1128 (4) 1129 (2) 1130 (4) 1131 ;+ ; CONVERT DROP PC TO ASCII or 003146 1 003146' 003150' 003154' 003156' 003162 1 003164 1 003164 1 003172' 003172' 003176' 003176' CALL BOA16 IN 010546 012745 010345 004767 012605 001176' OOOOOOG LET FLMSADR(R5) 012765 '- #DRPMSG 001147' 000010 INLINE 000167 JMP 1 $ 001050 ENDIF 50025~: FILLMS - MODULE TO FILL IN BLANK FIELDS IN SKELETAL MESSAGES MACY~1 30A(1052) FILLMS.MAC 15-AUG-78 16:52 PROCESS HUNG MODULE MESSAGE 1133 1134 1135 1136 1137 113B 1139 1140 (6) (9) 1141 (3) (5) (4) (3) (3) 1142 (4) 1143 (2 ) 1144 (4) 1145 1146 .SBTTL 20-SEP-78 17:53 PAGE 19-30 SEQ 0513 PROCESS HUNG MODULE MESSAGE ;+ ; IS IT A HUNG MODULE TYPE MESSAGE? 003176 1 003176 1 003202 1 003204 1 003204 1 003206 1 003212' 003214' 003220 1 003222 1 003222' 003230' 003230 1 003234' 003234' IF R4 EQ #MSGHNG THEN 020427 001014 000022 CMP SNE R4,#MSGHNG 50026$ MOV MOV MOV R5,-(SP) #HNGNAM,-(R5) R 1 ,- ( R5) PC,GETNAM (SP)+,R5 MOV #HNGMSG,FLMSADR( CALL GETNAM IN 010546 012745 010145 004767 012605 001276 1 MOV 001034 JSR LET FLMSADR(R5) '- #HNGMSG 012765 001275 1 000010 INLINE 000167 001012 JMP 1$ ENDIF 50026$: FILLMS - MODULE TO FILL IN BLANK FIELDS IN SKELETAL MESSAGES MACY11 30A(1052) FILLMS.MAC 15-AUG-78 16:52 PROCESS BAD VECTOR TYPE MESSAGE 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 (6) (9) 1158 1159 1160 1161 1162 1163 (4) 1164 1165 1166 1167 1168 .SBTTL 003234 i 003234' 020427 003240' .001016 PAGE .9-31 SEQ 0514 PROCESS BAD VECTOR TYPE MESSAGE IF R4 EO #MSGVEC THEN 000020 CMP BNE R4,#MSGVEC 50027$ MOV MSGADR(R5),R2 MOV JSR MOV R5,-(SP) #BADVCT,-(R5) R2,-(QS) PC,BOA16 (SP)+,R5 MOV #BADVMSG,FLMSAOR ;+ ; SAVE BAD VECTOR ADDRESS IN R2 ;003242' 003242' 016502 LET R2 := MSGADR(R5) 000004 ;+ ; CONVERT BAD VECTOR TO ASCII ;CALL BOA16 IN 003246 1 003246' 010546 I",. \ \'-I} 1'\1"\"')I"'''IC'f'\I IJV.J.tt...JV 012745 001223' (4) 003254' 003256 1 003262 1 003264 1 003264' 003272 1 003272 1 003276' 003276 1 010245 004767 012605 OOOOOOG 012765 001206' 000010 (4) 17:53 ;+ ; IS IT A BAD VECTOR MESSAGE? ;- (3) (3) (3) 1169 (4) 1170 (2) 1171 20-SEP-78 MOV MLJV LET FLMSADR(R5) .:= #BADVMSG INLINE 000167 000750 JMP 1$ ENDIF 50027$: FILLMS - MODULE TO FILL IN BLANK FIELDS IN SKELETAL MESSAGES MACY11 30A(1052) FILLMS.MAC 15-AUG-78 16~52 PROCESS MAP COMMAND TYPE MESSAGE 1173 1174 1175 1176 1177 i 178 1179 1180 1181 1182 (6) (9) 1183 1184 1185 1186 1187 1188 (3) (5) (4) (3) (3) 1189 1190 .SBTTL (3) (5) (4 ) (3) (3) 1195 (3) (5) (4) (3 ) (3) 1196 (4) 1197 (2) 1198 (4) 1199 17:53 PAGE 19-32 SEQ 0515 PROCESS MAP COMMAND TYPE MESSAGE ;+ ; IS IT A MAP MESSAGE? ;003276' 003276' 020427 003302' 001033 IF R4 EO #MSGMAP THEN CMP 000021 B;.JE R4,#MSGMAP 50030$ ;+ ; GET MODULE NAME ;003304' 003304' 003306 1 003312' 003314' 003320' CALL GETNAM IN 010546 012745 010145 004767 012605 MOV MOV MOV 001234' JSR 000734 MOV R5,-(SP) #MAPNAM,-(R5) R1,-(R5) PC,GETNAM (SP)+,R5 + CONVERT PC AND STATUS TO ASCII 1191 1192 1193 1194 20-SEP-78 003322' 003322' 003324' 003330' 003332' 003336 1 003340' 003340' 003342' 003346' 003352' 003356' 003360' 003360' 003366' 003366' 003372' 003372' CALL BOA16 IN 010546 012745 010145 004767 012605 rv:OV MOV MOV 001251 ' JSR OOOOOOG MOV CALL BOA16 IN MOV JSR MOV R5,-(SP) #MAPSTT,-(R5) STAT(R1) ,-(R5) PC,BOA16 (SP)+,R5 MOV #MAPMSG,FLMSADR( MOV 010546 012745 016145 004767 012605 001266' 000026 OOOOOOG 012765 001233' 000010 rliov LET FLMSADR(R5) .- #MAPMSG INLINE 000167 R5,-(SP) #MAPPC,-(R5) R1,-(R5) PC,80A16 (SP)+,R5 JMP 1$ 000654 ENDIF 50030$: FILlMS - MODULE TO fILL IN 8LANK FIELDS IN SKELETAL i\~ESSAGES MACY1130A(1052) FILLMS.MAC 15-AUG-78 16:52 PROCESS CKDATAjDATACK/DATERR .SBTTL 1201 1202 1203 1204 1205 (9) (6) (9) 1208 (2) 1209 (4) 003372 1 003372 1 003376' 003400 1 003404 1 003406' 003406' 003412' 003412' 020427 001405 020427 001402 000010 000167 000534 INLINE ENDIF R4,#MSGCKD C:v1P SEQ CMP SEQ 50031$ JMP 339$ MOV MOV R5,-(SP) #CKDNAM,-(R5) R~ ,-(R5) PC,GETNAM (SP)+,R5 50031$ R4,#MSGDER 50031$: ;+ ; GET MODULE NAME ., 1213 1214 (5) (4) (3) SEQ 0516 PROCESS CKDATAjDATACK/DATERR 000005 1212 (3) Pt.GE 19-33 CKDATAjDATACKjDATERR TYPE MESSAGE? ,-IF; ISR4 ITNE A#MSGCKD AND R4 NE #MSGDER THEN 1210 1211 1215 17:53 ;+ 1:206 1207 (6) 20-SEP-78 003412' 003412' 003414' 003420 1 003422' 003426' CALL GETNAM IN 010546 012745 010145 004767 012605 001326 1 MOV JSR MOV 000626 ;+ ; GET A PA 003430' 003430' 003432' 003436 1 003440' 003442 1 003446' CALL GETAPA IN 010546 012745 010245 010045 004767 012605 001340' Mev Mav MOV R5,-(SP) #CKDPA,-(R5) R2,-(R5) RO,-(R5) PC,GETAPA (SP)+,R5 MOV SUB R2,R3 R1 ,R3 MOV IViOV R5,-(SP) #CKDVA,-(R5) R3,-(R5) JSR PC,80A16 MOV Mav JSR 001034 ;+ ; FORM APC ;- LET R3 := R2 - R1 003450' 003450' 010203 003452' 160103 ;+ ; CONVERT VA TO ASCII ;- 003454' 003454' 003456' 003462' 003464 1 CALL BOA16 IN 010546 012745 010345 004767 001356' OOOOOOG Mav MACY11 30A(1052) FIlLMS - MODULE TO FILL IN BLANK FIELDS IN SKELETAL MESSAGES PROCESS CKDATA/DATACK/DATERR 15-AUG-78 16:52 FILlMS.MAC (3) 1234 1235 1236 1237 1238 1239 003470' 012605 (3) 010546 012745 016145 004767 012605 (5) (4) (3) (3) 1240 1241 1242 1243 1244 1245 (3 ) (5) (4) (3) (3) 1246 1247 (4) (3) (3) 17:53 PAGE 19-34 SEQ 0517 MOV (SP)+,R5 MOV MOV MOV JSR MOV R5,-(S?) #CI 001373' 000034 OOOOOOG ;+ ; CONVERT SOFCNT TO ASCII ,' 003512' 003512' 003514 ' 003520' 003524' 003530' CALL BDACNV IN 010546 012745 001A06' 016145· 000042 004767 OOOOOOG 012605 ;+ 4111"'\'''''" I~"'O 1249 1250 1251 (3) (5) (4) (3) (3) 1252 (3) (5) (4) ( 3·) (3) 1253 (3) (5) 20-SEP-'78 , 003532 1 003532 1 003534' 003540 1 003544 1 003550 1 003552 ' 003552' 003554' 003560' 003564' 003570" 003572' 003572' 003574' 003600' 003604 1 003610' CONVERT CSRA,ASB,AWAS TO ASCII CALL BOA16 IN 010546 012745 016145 004767 012605 001422' 000100 OOOOOOG 010546 012745 016145 004767 012605 001436' 000106 OOOOOOG 010546 012745 016145 004767 012605 001452' 000110 OOOOOOG 1254 1255 1256 1257 1258 1259 003612' (6) 003612' 020427 (9) .003616' 001524 1260 1261 CALL BOA16 IN CALL BOA16 IN ;+ ; IF NOT A DATERR, ; GO BUILD THE PHYSICAL ADDRESSES . IF R4 NE #MSGDER THEN 000005 MACY11 30A(1052) FILLM5 - MODULE TO FILL IN BLANK FIELDS IN SKELETAL MESSAGES PROCESS CKDATAjDATACKjDAT:RR 15-AUG-78 16:52 FILLMS.MAC 1262 1263 1264 1265 1266 (4) (6) 1267 1268 1269 1270 1271 1272 (6) 1273 (7) 1274 (4) (6) 1275 1276 (4) 1277 (4) 1278 1295 (3) (7) (6) 17:53 PAGE 19-35 SEQ 0518 ;+ ; CLEAR MSB OF WORD COUNT ;003620 1 003620' 016103 003624' 042'103 LET R3 := CDWDCT(Ri) CLR.BY #BIT15 VVVI"'t"'t MOV 100000 BIC CDWDCT(R1),R3 #BIT15,R3 DEC R3 ASL R3 MOV ADD R3,R4 WBUFPA(R1),R4 MOV R4,TMPPA MOV WBUFEA(R1),TMPEA BIT BEQ #MAFSTAT,DT.STO( 5.0033$ MOV fI10V JSR MOV R5,-(SP) #TMPPA,-(R5) PC,UNIPA (SP) +, R5 BR 50034$ MOV TMPPA,FM.PA MOV TMPEA,FM.EA N.OV IY:OV MOV R5,-(SP) #CKDWRA,-(R5) FM.EA,-(R5) ,...",,, .. .1111 ;+ ; FORM WRITE BUFFER FAILING ADDRESS ;- 003630' 003630 1 003632 1 003632 1 003634' 003634 1 003636' LET R3 .- R3 - #1 LET R3 .- R3 SHIFT 1 LET R4 .- R3 + WBUFPA(R1) 005303 006303 010304 066104 003642' 003642' 010467 003646 1 003646 1 016167 000134 LET TMPPA ' - R4 174140 LET TMPEA 000136 "- WBUFEA(R1) 174134 ;+ ; IF MAPPING ON, CALL UNIPA 1279 1280 1281 1282 (6) (9) 1283 (3) (4) (3) (3) 1284 (4) (3) 1285 (4 ) 1286 (4) 1287 (4) 1288 1289 1290 1291 1292 1293 1294 20-SEP-78 , 003654' 003654 1 003662 ' 003664 1 003664 1 003666' 003672' 003676' 003700' 003700' 003702' 003702' 003702' 003710' 003710' 003716' 003716 1 IF #MAPSTAT SETIN DT.STO(RO) THEN 032760 001407 000200 000010 CALL UNIPA IN <#TMPPA> 010546 012745 004767 012605 000006' OOOOOOG ELSE 000406 LET FM.PA 016767 174100 016767 174074 174102 LET FM.EA ..- 50033$: TMPPA TMPEA 174076 ENDIF 50034$: ;+ ; CONVERT WRITE ADDRESS TO ASCII , 003716 1 003716 1 010546 003720 1 012745 003724 1 016745 CALL BOAC IN 001467' 174064 MACY11 3CA(10S2) FILLMS - MODULE TO FILL IN SLANt< FIELDS IN SKELETAL MESSAGES PROCESS CKDATA/DATACK/DATERR 1S-AUG-78 16:52 FILLMS.MAC (5) (4) (3) (3) 1296 (4 ) (6) 1297 (6) 1298 (4) (6) 1299 (4) 1300 1301 (4) 1302 (4) 1303 1304 1305 1306 1307 1302 (6) (9) 1309 (3) (4) (3) (3) 1310 (4) (3) 1311 (4) 1312 (4) 1313 (4) 1314 1315 1316 1317 1318 1319 (3) (7) (6) (5) (4) (3 ) (3) 1320 (4) 003730 1 0037341 003736 1 003742' 003744 1 003744' 003746 1 003752' 0037521 003756' 003756' 003760\ 003764 1 003764\ 016745 010045 004767 012605 17:53 P~GE OOOOOOG LET R4 000004 067403 000000 '- .- R3 + @l(R4) LET R4 '- (R4) + #2 LET R4 .- FM.PA,-(R5) RO,-(R5) PC,BOAC (SP)+,R5 MOV ADD R2.R4 #4,R4 ADD @l( R4) , R3 MOV ADD (R4) ,R4 #2,R4 MOV (R4) ,R4 MDV R3,TMPPA MOV R4,TMPEA BIT StQ #MAPSTAT,DT.STO( 50035$ MOV MOV JSR MOV R5,-(SP) #TMPPA,-(RS) PC,UNIPA (SP)+,R5 BR 50036$ MOV TMPPA,FM.PA MOV TMPEA,FM.EA IVlOV M:JV MOV MOV IVlOV JSR MOV R5,-(SP) #CKDRDA,-(R5) FM.EA,-(R5) FM.PA,-(R5) RO,-(R5) PC,BOAC (SP)+,R5 SR 50037$ (R4) 011404 003766 1 003766 1 010367 003772 1 003772' 010467 MOV MOV JSR MOV R2 + #4 LET R3 000002 19-36 SEQ 0519 174056 010204 062704 011404 062704 20-SEP-78 LET TMPPA '- R3 LET TMPEA '- R4 174014 174012 + IF MAPPING ON CALL UNIPA 003776 1 003776' 004004 1 004006' 004006 1 004010 1 004014 1 004020 1 004022 1 C04022 1 004024' 004024 1 004024 1 004032' 004032 1 004040 1 004040 1 IF #MAPSTAT SETIN DT.STO(RO) THEN 032760 001407 010546 012745 004767 012605 vvv..:.vv ""'1'\""''''' 000010 CALL UNIPA IN <#TMPPA> 000006 1 OOOOOOG ELSE 000406 016767 173756 016767 173752 50035$: LET FM.PA .- TMPPA LET FM.EA .- TMPEA 173760 173754 ENDIF 50036$: ;+ ; CONVERT READ ADDRESS TO .ASCI I ;- 004040' 004040 1 004042 1 004046 1 004052 1 004056' 004060 1 004064 1 004066' 004066 1 CALL BOAC IN 010546 012745 016745 016745 010045 004767 012605 001506 1 173742 173734 OOOOOOG ELSE 000422 FILLMS - MODULE TO FILL IN BLANK FIELDS IN SK2LETAL MESShGES MACY11 30A(10S2) FILLMS.MAC 15-AUG-78 16:52 PROCESS CKDATA/DATACK/DATERR 20-SEP-78 17:53 PAGE 19-37 SEQ 0520 50032$: (3 ) 1321 1322 1323 1324 1325 1326 1327 (3) (6) (5) (4) (3) (3) 1328 (3) (6) (5) (4) (3) (3) 1329 (4) 1330 (4) 004070' 1331 004142' (2) 1332 (2) 1333 004142 1 000167 004146 1 004146' ;+ ; GET A P.A. j- 004070' 004070' 004072 1 004076 1 004102 1 004104' 004110 1 004112' 004112 1 004114' 004120' 004124 1 004126 1 004132 1 004134 1 004134 1 004134 1 004134 1 CALL GETAPA IN 010546 012745 016145 010045 004767 012605 010546 012745 016145 010045 004767 012605 001467' 0001'02 000372 R5,-(SP) #CKDWRA,-(R5) SBADR(R1),-(R5) RO,-(R5) PC,GETAPA (SP)+,R5 MOV MOV MOV MOV JSR MOV R5,-(SP) #CKDRDA,-(R5) WASADR(R1),-(R5) RO,-(R5) PC,GETAPA (SP)+,R5 MOV #CKDMSG,FLMSADR( CALL GETAPA IN 001506' 000104 000350 ENDIF LET FLMSADR(R5) 012765 MOV MOV MOV MOV JSR MOV 00132::' 000010 INLINE 000100 INLINE <339$:> .- 50037$: #CKDMSG '~.n U:llr i ,..,ct 339$: FILLMS - MODULE TO FILL IN BLANK FIELDS IN SKELETAL MESSAGES MACYi1 30A(1052) FILLMS.MAC 15-AUG-78 16:52 PROCESS CKDATA/DATACK SUMMARY LINE .SSTTL 1335 1336 1337 1338 1339 (4) 1362 (4) 17:53 PAGE 19-38 SEQ 0521 PROCESS CKDATA/DATACK SUMMARY LINE ;+ ; IS IT THE CKDATA/DATACK SUMMARY LINE? ;- 1340 1341 1342 (6) (9) 1343 (4) (6) 1344 1345 1346 1347 1348 1349 (3) (5) (4) (3) (3) 1350 1351 1352 1353 1354 1355 (3) (5) (4) (3) (3) i 356 1357 1358 1359 1360 (3 ) (5) (4) (3) (3) 1361 20-SEP-78 004146' 004146' 004152' 004154' 004154' 004160' IF R4 EQ #MSGCKS THEN 020427 001035 000011 016103 042703 000146 100000 CMP BNE R4,#MSGCKS 50040$ MOV SIC CDERCT (R1) ,R3 #BIT15,R3 MOV MOV MOV JSR MOV R5,-(SP) #CKDSNAM,-(R5) R1 ,- (R5) PC,GETNAM (SP)+,R5 MOV MOV MOV JSR MOV RS.-(SP) #CKDSCNT.-(R5) R3,-(R5) PC,BDACNV (SP)+,R5 MOV MOV MOV JSR MOV R5,-(SP) #CKDSRD,-(R5) RBUFSZ(R1),-(R5) PC,8DACNV (SP)+,R5 MOV #CKDSMSG,FLMSADR LET R3 := COERCT(R1) CLR.BY #BIT15 ;+ ; GET THE MODULE NAME ;- 004164 1 004164' 004166' 004172 1 004174 1 004200' CALL GETNAM IN 010546 012745 010145 004767 012605 001520 1 000054 ;+ ; CONVERT SUMMARY COUNT TO ASCII ;- 004202 1 004202' 004204' 004210' 004212' 004216' CALL BDACNV IN 010546 012745 010345 004767 012605 001532 1 OOOOOOG ;+ ; CONVERT NUMBER OF LOCATIONS READ TO ASCII , 004220' 004220' 010546 004222 1 012745 004226' 016145 004232 1 004767 004236 1 012605 004240 1 004240' 012765 004246' 004246' CALL BDACNV IN 001556 1 000132 OOOOOOG LET FLMSADR(R5) '- #CKDSMSG 001520' 000010 ENDIF 50040$: FILLMS - MODULE TO FILL IN BLANK FIELDS IN SKELETAL MESSAGES MACY11 30A(1052) 20-SEP-78 FILLMS.MAC 15-AUG-78 16:52 DO THE NECESSARY CLEAN-UP AND THEN RETURN 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 (2) '376 (3) 1377 (3) (3) (2) 1378 .SBTTL 17:53 PAGE 19-39 SEQ 0522 DO THE NECESSARY CLEAN-UP AND THEN RETURN ;+ ; NOW THAT W~IVE FILLED-IN THE BLANK FIELDS, DQ tHE CLEAN UP AND RETURN ;- 004246 1 004246 1 004246 1 004246 1 004767 004252 1 004252 1 004252 1 004252' 000207 INLINE <1$:> 1 $: CALL RESREG OOOOOOG JSR PC,RESREG RTS PC ENDRTN 50000$: 500015: F1LLMS - MODULE TO FILL IN SLANK FIELDS IN SKELETAL MESSAGES FILLMS.MAC 15-AUG-78 16:52 GET MODULE NAME . SSTT L' 1380 1381 1382 1383 1384 (2) . 1388 1389 1390 1391 1392 1393 (3) 1394 1395 1396 1397 1398 1399 (4) 1400 (4) 1401 (4) 1402 (4) (6) (9) 1403 (4) 1404 (6) 1405 (4) (3) 1406 1407 1408 1409 1410 (3) 1411 (3) (3) (2) 1412 1413 3CA(1052) 20-SEP-78 17:53 PAGE 19-40 SEQ 0523 GET MODU LE NAME ;+ ; THIS ROUTINE RETRIEVES THE MODULE NAME FROM THE MODULE1S HEADER AND ; STORES IT IN THE CALLER SUPPLIED STORAGE AREA ;- 1385 1386 1387 ~ACY11 ROUTINE GETNAM 004254 1 004254 1 GETNAM: ;+ ; SAVE REGISTERS 004254 1 004254' 004767 CALL SAVREG OOOOOOG JSR PC,SAVREG MOV HDRADR(R5),RO MOV RSLTADR(R5),R1 ;+ ; GET HEADER ADDR., MOVE 5 CHARS TO RESULT ADDR. 004260 1 004260 1 016500 004264 1 004264 1 016501 LET RO .- HDRADR(R5) 000000 LET R1 .- RSLTADR(R5) 000002 LET R2 .- 004270 1 004270 1 004274 1 004274' 004274 1 004276 1 004300 1 004300 1 004302 1 004302 1 004304 1 004304 1 004306' 012702 000005 #~D<5> MOV WHILE R2 GT #0 DO 50002$: BlE R2 50003$ MOVS (RO)+, (R1)+ uEC R2 SR 50002$ JSR PC,RESREG RTS PC TST o.Q,5702 003403 LET (R1)+ :S= (RO)+ 112021 lET R2 := R2 - #1 005302 ENDDO 000773 50003$: ;+ ; RESTORE REGISTERS ;004306 1 004306 1 004767 004312 1 004312' 004312 1 004312 1 000207 CALL RESREG OOOOOOG ENDRTN 50000$: 50001$: MACY11 30A(1052) FILLMS - MODULE TO FILL IN BLANK FIELDS IN SKE~ETAL MESSAGES FILLMS.MAC 15-AUG-78 16:52 GET ELASPED TIME .SBTTL 1415 1416 1417 1418 1419 1421 1422 1423 (2) 1424 1425 1426 1427 1428 1429 (3) 20-SEP-78 17:53 PAGE 19-41 SEQ 0524 GET ELASPED TIME ;+ ; THIS ROUTINE RETRIEVES THE EXERCISER'S ELASPED TIME AND RETURNS IT IN ; THE 9-BYTE FORMAT: "HHH:MM:SS~ ;- ROUTINE GETETIM 004314' 004314' GETETIM: ;+ ; SAVE REGISTERS CALL SAVREG 004314' 004314 1 004767 OOOOOOG JSR PC,SAVREG MOV DTABLE(R5),RO MOV RSLTADR(R5),R1 BIT BEQ #CLKPRES,DT.CFO( 50002$ MOV iv'lOV MOV JSR rv:OV R5,-(SP) R1,-(R5) RO,-(R5) PC,PRHMS (SP)+,R5 BR 50003$ flf;OV #"'D<9>,R2 TST BLE R2 50005$ 1430 1431 1432 1433 1434 1435 ;+ ; SAVE DTABLE ADDR.,RESULT ADDR. ;- LET RO .- DTABLE(R5) 004320' 000000 1436 004320' 016500 004324' (4) 004324' 016501 000002 (4) LET R1 .- RSLTADR(R5) 1437 1438 1439 ;+ ; IF A CLOCK ON SYSTEM, CONVERT ELAPSED TIME INTO HRS, ; MIN. ,SECS. 1440 1441 1442 1443 1444 (6) (9) 1445 (3) (5) (4) (3) (3) 1446 (4 ) (3) IF #CLK?RES SETIN DT.CFO(RO) THEN 004330 1 004330 1 032760 004336 1 004340' 0043L",Q 1 004342 1 004344' 000001 000014 001407 CALL PRHMS IN 010545 010145 010045 004346 1 004767 OOOOOOG 004352 1 012605 004354' 004354 1 000410 004356' ELSE 50002$: 1447 ;+ 1448 ; IF NOT, FILL IN BLANKS WITH SPACES 1449 1450 1451 1452 (4) 1453 (4 ) (6) (9) ;- 004356 1 004356 1 012702 004362 1 004362 1 004362 1 005702 004364' 003404 LET R2 000011 0- #-D<9> WHILE R2 GT #0 DO 50004$: FILLMS - MODULE TO FILL IN BLANK FIELDS IN SKELETAL MESSAGES GET ELASPED TIME FILLMS.MAC 15-AUG-78 16:52 1454 (4) 1455 (6) 1456 I " ~ \'t} (3) 1457 (4) 1458 1459 1460 1461 1462 (3) 1463 (3) (3) (2) 1464 004366' 004366' 112721 004372' 004372' 005302 004374' "r..J1"\'7J11 VV't,;)/-r 000772 004376' 004376' 004376 1 MACY11 30A(1052) 20-SEP-78 17:53 PAGE 19-42 SEQ 0525 LET (R 1 ) + :B= # 000040 LET R2 ::c R2 - #1 MOVB #, (R1 H . DEC R2 BR 50004$ JSR PC,RESREG RTS PC ENDDO 500055; ENDIF 500035: ;+ ; RESTORE REGISTERS ;- 004376' 004376 1 004767 004402 1 004402' 004402' 004402 1 000207 CALL RESREG OOOOOOG ENDRTN 50000$: 500015: FILLMS - MODULE TO FILL IN BLANX FIELDS IN SKELETAL MESSAGES FILLMS.MAC 15-AUG-78 16:52 GET MODULE'S PASS TIME .SBTTL 1466 1467 1468 1469 1470 4 1487 (4) 1488 (4) 1489 1490 1491 1492 1493 1494 (6) (9) 1495 (3) (6) (5) (4) (3) (3) 1496 (4) (3 ) 1497 1498 1499 1500 1501 1502 (4) 1503 ( 4) (6) 17:53 PAGE 19-43 SEQ 0526 GET MODULE'S PASS TIME ; THIS ROUTINE GETS THE OPTION MODULE'S PASS TIME AND RETURNS IT IN THE /I.,. 4I (4) 20-SEP-78 ;+ ; 9-BYTE FORMAT: "HHH:MM:SS" • ..,., 1472 1473 1474 (2) 1475 1476 1477 1478 1479 1480 (3) 1481 1482 1483 1484 1485 1486 MACY11 30A(1052) ', - ROUTINE GETPTIM 004404' 004404' GETPTIM: ;+ ; SAVE REGISTERS j- 004404' 004404' 004767 CALL SAVREG OOOOOOG JSR PC,SAVREG" MOV DTASLE(R5) ,RO MOV HDRADR(R5),R1 MOV RSLTADR(R5) ,R2 BIT SEQ #CLKPRES,DT.CFO( 50002$ MOV MOV MOV MOV JSR MOV R5,-(SP) R2,-(R5) R1,-(RS} RO,-(RS) PC,PRPSCNT (SP)+,R5 BR 50003$ MOV #"'D<9>,R3 TST R3 ;+ ; SAVE DTABLE ADDR,HEADER ADDR,RESULT ADDR. 004410' 004410' 016500 004414' 004414' 016501 004420' 004420' 016502 LET RO .- DTASLE(R5) 000000 LET R1 .- HDRADR(R5) 000002 LET R2 .- RSLTADR(R5) 000004 ;+ ; IF A CLOCK ON SYSTEM, UPDATE MODULE'S PASS TIME ;- 004424' 004424' 004432' 004434' 004434' 004436' 004440 1 004442' 004444' 004450' 004452' 004452' 004454' IF #CLKPRES SETIN DT.CFO(RO) THEN 032760 001410 010545 010245 010145 010045 004767 012605 000001 000014 CALL PRPSCNT IN OOOOOOG ELSE 000410 50002$: ;+ ; I NSERT SPACES 004454' 004454' 012703 004460' 004460' 004460' 005703 LET R3 .- #"'D<9> 000011 WHILE R3 GT #0 DO 50004$: FILLMS - MODULE TO FILL IN SLANK FIELDS IN SKELETAL MESSAGES FILLMS.MAC 15-AUG-78 16:52 GET MODULE'S PASS TIME (9) 1504 (4) 1505 (6) 1506 (4) (3) 1507 (4) 004462' 004464' 004464' 004470' 004470' 004472' 004472' 004474' 004474' 004474' MACY11 30A(1052) 20-SEP-78 17:53 PhGE 19-44 SEQ 0527 003404 BlE 50005$ MOVB #, (R2)+ DEC R3 8R 50004$ LET (R2)+ :B= # 112722 000040 LET R3 .- R3 - #1 005303 ENDDO 000772 50005$: ENDIF 50003$: FILLMS - MODULE TO FILL IN BLANK FIELDS IN SKELETAL MESSAGES FIlLMS.MAC 15-AUG-78 16:52 GET MODULE'S PASS TIME 1509 1510 1511 1512 1513 004474' 004474' 004767 004500' 004500' 004500' 004500' 000207 1 S1 8 17:53 PAGE 20 SEQ 0528 ; RESTORE REGISTERS (3) 1515 (3) (2) 1516 1517 20-SEP-78 ;+ 1514 (3) MACY11 30A(10S2) CALL RESREG OOOOOOG JSR PC,RESREG RTS PC ENDRTN 50000$: 50001S: FILLMS - MODULE TO F!LL IN BLANK FIELDS IN SKELETAL MESSAGES MACY11 30A(1052) 20-SEP-78 FILLMS.MAC 15-AUG-78 16:52 CONVERT VIRTUAL ADDRESS TQ PHYSICAL ADDRESS ASCII 1520 1521 1522 1523 1524 1525 1526 1527 152B (2 ) 1529 1530 1531 1532 1533 1534 1535 (3) 1536 1537 1538 1539 1540 (4) 1541 (4) 1542 (4 ) 1543 1544 1545 1546 (3) (5) (4) (3) (3) 1547 (3) (7 ) (6) (5) (4) (3) (3) 154B 1549 1550 1551 1552 (3) 1553 (3) (3) (2) 1SS4 .S8TTL 17:53 PAGE 20-1 SEQ 0529 CONVERT VIRTUAL ADDRESS TO PHYSICAL ADDRESS ASCII ;+ ; THIS ROUTINE ACCEPTS A l6-BIT VIRTUAL ADDRESS AND RETURNS AN 8-BYTE ; (22 BIT) PHYSICAL ADDRESS IN THE CALLER SUPPLIER STORAGE AREA ;- ROUTINE GETAPA 004502 1 004502 1 GETAPA: ;+ ; SAVE REGISTERS 004502 1 004502 1 004767 CALL SAVREG OOOOOOG JSR PC,SAVREG MOV DTABLE(R5),RO MOV RSLTAQR(R5),R1 Mav VA(R5),TMPVA MOV MOV R5,-(SP) #TMPVA,-(R5) RO,-(R5) PC,GPA (SP)+,RS ;+ ; SAVE DTABLE ADDR,RESULT ADDR 004506' 004506 1 016500 004512 1 004512 1 016501 004516' 004516 1 016567 LET RO .- DTA8LE(RS) 000000 LET R1 .- RSLTADR(RS) 000004 LEi 000002 .... 1l.~\1 A 1 IVIr- VI-\. 173260 ;+ ; CONVERT TO PA AND THEN TO ASCII 'f - 004524 1 004524 1 004526 1 004532 1 004534 1 004540 1 004542 1 004542' 004544 1 004546' 0045S2 1 0045S6 1 004560' 004564' CALL GPA IN 010546 012745 010045 004767 01260S 010546 010145 016745 016745 010045 004767 012605 000004 1 MOV JSR MOV OOOOOOG CALL BOAC IN MOV MOV RS,-(SP) R1,-(R5) TMPEA,-(RS) TMPPA,-(RS) RO,-(R5) PC,BOAC (SP)+,RS JSR PC,RESREG RTS PC MOV MOV MOV MOV 173236 173230 JSR OOOOOOG ;+ ; RESTORE REGISTERS 004566 1 004566 1 004767 004572 1 004572' 004572 1 004572 1 000207 CALL RESREG OOOOOOG ENDRTN 50000$: S0001$: FILLMS - MODULE TO ~ILL IN BLANK FIELDS IN SK~LETAL MESSAGES MACY11 30A(1052) 20-SEP-78 FILLMS.MAC 15-AUG-78 16:52 CONVERT VIRTUAL ADDRESS TO PHYSICAL ADDRESS ASCII 1555 000001 .END 17:53 PAGE 20-2 SEQ 0530 FILLMS - MODULE TO FILL IN BLANK FIELDS IN SKELETAL MESSAGES SYMBOl.. TABLE 15-AUG-78 16:52 FILLMS.MAC ACSR = 000102 ACTSIT= 004000 ADDR22= 001000 .000006 ADR APTFER= 000004 APTPRE= 000200 ASB 000106 ASSEMB= 000010 ASTAT = 000104 AUTO 000010 AUTOST= 020000 AWAS 000110 BADVCT 001223R BADVMS 001206R BDACNV= ****** G BITO 000001 000001 BITOO BITOt = 000002 BIT02 000004 BIT03 000010 BIT04 000020 000040 BIT05 BIT06 = 000100 000200 BIT07 BITOS 000400 BI T,09 001000 000002 BITl 002000 BITtO BIT 11 004000 8IT12 010000 020000 BIT13 BIT14 040000 100000 SITtS BIT2 000004 000010 BIT3 BIT4 = 000020 BITS 000040 BIT6 000100 BIT7 000200 BITB 000400 BIT9 001000 0000.02 BKDEF BKMOD 000020 I3KMODE= 040000 BKSLSH= 000134 BOAC ****** G BOA16 = ****** G CAPRES= 000004 CASTAT= 000004 CDERCT= 000146 CDWDCT= 000144 CKDADD CKDM-SG 001422R 001325R CKDNAM CKDNUM CKDPA CKDPAS CKDRDA CKDSB CKDSCN CKDSMS CKDSNA CKDSRD CKDVA CKDWAS CKDWRA' CKHUNG= CKTIM = CLKPRE= CONFIG= CQOVF CR CSRA CSRC CTRLC CTRlO CTRLU DATADD , DATAMS DATA PC DATCON DATEND DATERR DATNAM DATNUM DATPAS DATPC DATSTA DATTYP DCEVNT= DEFRTN= DIAGMC= DROPMO= DRPMSG DRPNAM DRPPC DSEVNT= DTABLE= DT.ADD= DT.AP = DT.APK= DT.BLS= DT.CFO= DT.CF1= DT.ERR= DT.ESI= 001326R 001406R 001340R 001373R 001506R 001436R 001532R 001520R 00 l520R 001556R 001356R 001452R 001467R ****** G 100000 000001 000056 000001 COO015 000100 000102 000003 000017 000025 000520R 000417R 0OO450R 000535R 000601R 000572R 000420R 000504R 000465R 000432R 000553R 000473R 000011 000400 000000 100000 001147R 001150R 001176R 000014 000000 000042 000100 000076 000034 000014 000016 000020 000044 DT.EVN= DT.EXS= DT.FCH= DT.FCN= DT.HMX= DT.KBE= DT.KBP= DT.KBR= DT.KBU'; DT.MLS= DT.MTI= DT.OFF= DT.PAS= DT.PC = DT.PFL= DT.PSW= DT.PTA= DT.RCS= DT.REL= DT.SCT= DT.SMX= DT.SP = DT.SSI= DT.STO= Dr.ST1= DT.SWR= MACY11 30A(1052) 000000 000060 000037 000036, 000104 000024, 000026 000022 ~. 00003{) 000032 000110 000070 000074 000002 000062 000004 000064 000102 000040 000066 000106 000006 000046 000010 000012 000056 20-SEP-78 'FLDMAX= FLMSAD= FM.EA FM.PA GETAPA GETETI GETNAM GETPTI GPA HDRADR= HDRMSG HDRNAM HCRPA HDRPAS HDRPC HNGMSG HNGNAM HRDCNT= HRDPAS= ICONT = ICOUNT= IDNUM = IE INDPAR= INHDRP= INHEPR= 000010 000010 000014R 000012R 004502R 004314R Q04254R 004404R "'*>i<*** G 000002 000342R 000343R 000355R 000410R 000373R 001275R 001276R 000044 000050 000036 000040 000t22 000100 000040 040000 020000 f""\'T' cvn_ L.J, • ...l' r- "''''f'\f'\''''~ V VVVIL INHREL= 001000 000050 000054 000052 000014 000100 0000.1-0 010000 OOOOOt 000000 000001 000016R 00001/R 000037R 000101R 0OOO57R 000106 000200 000200 000203 000202 000201 001146R 000602R 100000 001600RG OOOODOR INHRRE= INIT INTR IOMOD 000400 000030 000120 100000 102000 112000 110000 035060 172340 172342 172344 172346 172350 172352 172354 172356 172300 172302 172304 172306 172310 172312 172314 172316 000040 OOQ400 IOMODR= IOMODX= JACK KIPARO= KIPAR1= KIPAR2= KIPAR3= KIPAR4= KIPAR5= KIPAR6= KIPAR7= KIPDRO= KIPDR1= KIPDR2= KIPDR3= KIPDR4= KIPDR5= KIPDR6= KIPDR7= KTERRO= KTPRES= PAGE 21 SEQ 0531 DT.W3U= DT . ~JHL= DT.WLL= DVIDl = ECCMEM= ECCSTA= ENBEOP= ENBNUL= ENDlST= EOPBIT= EOPMSG EOPNAM EOPPAS EOPPST EOPTIM ERRTYP= EVNTBE= EVNTHD::: EVNTKT= EVNTPE= EVNTRE= EXTEND EXTMSG FATERR= FILLMS Fl..DCNT IO~ODP= 17:53 KTSTAT= KTXTND= LF = 'lINECN l?STAT= MAFMSG 000020 040000 000012 000002R 000001 001233R MAPNAM 001234R MAPPC Ml-IPSTA= MAPSTT MEO l\'lEMPAS= MODEXH= MODHOL= MJDSEL= MSGADR= MSGCKD= MSGCKS= MSGDER= MSGDRP= MSGi:CH= MSGEOP= MSGHDR= MSGHNG= MSGHRD= MSGrMP= MSGNUL= MSGPOP= MSG?RM= MSGRES= MSGSFT= MSGSKE= MSGSMB= rJlSGSiViH= MSGSMS= MSGSTD= M5.GSYS= MSGVEC= NBKMOD= NCPLOP= NOAPTY= 001251R 000200 001266R 076600 Q40000 004000 002000 001000 000004 000010 000011 000005 000017 177777 000013 000004 000022 000007 000021 177775 000002 177776 000001 000006 000003 000015 000014 000016 000000 000012 000020 001000 000020 000002 000000 024020 000010 002000 000100 000034 020000 004000 010000 l'lULL OWEN PAERR PAR?RE= PARSTA= PASCNT= PDP LSI= PDP60 PDP70 PRHMS ****** G PRIO 000000 PRI1 = 000040 FILLMS - MODULE TO FILL . IN BLA!'!K FIELDS IN SKELETAL MESSAGES SYMBOL TABLE 15-AUG-78 16:52 FILLMS.MAC PRI4 PRI5 PRI6 PRI7 PRPSCN= PRO PR4 PR5 PR6 PR7 PS PSW ·RANNUM= R8UFEA= RBUFPA= RBUFSZ= RBUFVA= RDSERV= RDWHMI= RELERR= RELMOD= RELTIM= RESREG= RES1 RES2 RICHAR= RSLTAD= RSTRT = RU80UT= RUNMOD= R5VALU= SAM SAVREG= SBADR = SBKMOD= SBKSEL= SC.AD"R= Sc. ALC= SC.APC= SC.CKL= SC.CKP= SC.CLO= SC.HLD= SC.SCA= SENDLS= SOFCNT= SOFPAS= SPACE = SPOINT= SPVALU= SRO = SRl 000200 000240 000300 000340 ****** G 000000 000200 000240 000300 000340 177776 177776 000054 000130 000126 000132 000124 000101 000022 000020 020000 010000 ****** G 000000 004574 ****** G 000102 000000 010000 000006 000014 000016 000002 000004 000000 000010 000012 177777 000042 000046 000040 000032 002200 177572 177574 177576 SR2 172516 SR3 000026 STAT STATBI= 064757 STATl = 000027 SUSPND= 000001 000062 SVRO 000064 SVR1 000066 SVR2 000070 SVR3 000072 SVR4 000074 SVR5 000076 SVR6 000056 000060 031060 HN8HRD 0OO240R RNBMSG 000153R RNBNAM 000154R RNBPAS 000222R RNBPC 000171R RNBSFT 000256R RNBSTA 000205R RNHMSG 000114R RNHTIM 000141R RNSERR 000304R RNSMSG 000264R RNSPWR 000333R RPTDAT= 002000 ASS. 000004 000112 000177 100000 001740 075464 000 001 ERRORS DETECTED: 0 DEFAULT GLOBALS GENERATED: 0 DSKZ:FILLMS,DSKZ:FILLMS=SPMAC/ML,EQUATE,FILLMS RUN-TIME: 37 27 .4 SECONDS RUN-TIME RATIO: 105/65=1.6 14K (27 PAGES) CORE USED: SySCNT= SYSERR= Tl\lPEA Ti'v1PIO TMPPA TMPVA TMP1 TQOVF TYPCOD= UIPARO= UIPAR1= UIPAR2= UIPAR3= UIPAR4= UIPAR5= UIPAR"6= UIPAR7= UIPDiiO= UIPDR1= UIPDR2= UIPDR3= UIPDR4= UIPDR5= UIPDR6= UIPDR7= UNIPA = llnt""\'T' uru Tfl~_ i .L.lU- VA WASADR= WBSTAT= WBUFEA= \~BUFPA= WBUFRQ= WBUFSZ= WDFR WDTO WTINRE= WTWHMI= XFLAG = MACY11 30A(1052) 20-SEP-78 17:53 PAGE :21-1 SEQ 0532 ****** G XOFF XON $BGNLE= SERFLG= SF$AND= $F$BAD= $F$BLA= $F$CAS= $FSDEC= $F$DO = $F$FAL= $F$GOO= SF$IF = $F$INC;::: $FSLOO= $F$NAM;::: $FSNO = $FSOR = $F$RTI= $F$RTN= $FSSEl..= SF$THE= SF$TRU= $FSUNT= $F$WHI= $F$YES= **::!.:*** G S:FLEV= 000002 000104 000040 000136 000134 000140 000142 000116 000114 000352 000222 0000e5 $ISKO = $ISK1 = $ISK2 = $LOCTA= $LSTIN= $lSTTA= $NESTL= $NSKO $NSK1 $NSK2 $NSK3 $NSK4 000052 000100 00OO10R 000002 OOOOOt3R 000004R 000004R 000002 000002 177640 177642 177644 177646 177650 177652 177654 177656 177600 177602 177604 177606 177610 177612 177614 177616 000023 000021 177777 000400 0003{O 000401 000170 000150 000220 000340 000405 060400 000110 000210 000200 000160 000403 000320 000350 000300 000140 000330 000404 000130 000120 000402 177777 000001 000001 000001 177777 000001 000001 177777 000300 000110 000120 000120 000120 $NSK5 $NSK6 $SAVLE= $SSKO = $TAGLE= $TAGNU= STEMP = $TSKO = $TSKl = $TSK10= STSK2 $TSK3 $TSK4 $TSK5 $iSK6 $TSK7 $5ARGC= $SSYTE= $SCASE= $$DST ;::: $SELOC= SSERFL= S$FLAG= $$FROM= $$LOC = $$LOCN;::: $$REG = $SRETU= 5SRTN1= $$RTN2= SSSRC = $STGSV= S$TGS1= $STGS2;::: SSTO $$$TAG= 000120 000110 177777 050005 177777 050002 000300 050003 050004 050021 050005 050014 050015 050016 050017 050020 000006 000403 000000 000000 000402 000000 000001 000000 004462R 000000 177777 000000 050000 050001 000000 000000 000000 000000 000000 050000 004574R .MAIN. MACY11 30A(1052) 20-SEP-78 EQUATE.MAC 13-SEP-78 16:13 3 552 555 565 17:55 TABLE OF CONTENTS COMMON EQUATE MODULE GETPSW (COMMON DEFINITIONS & REFERENCES) 000000 1 .PRINT ;SPMAC: VERSION 1.1 GETPSW (CODE) SEQ 0533 GETPSW (GET CALLER'S PS WORD) GETPSW.MAC 28-JUL-78 09:15 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 MACY11 30A(1052) 20-SEP-78 17:55 COMMON EQUATE MODULE ;++ MODULE NAME: GETPSW FUNCTIONAL DESCRIPTION: THIS MODULE RETURNS THE CALLER'S PROCESSOR STATUS WORD. INPUTS: NONE IMPLICIT INPUTS: NONE OUTPUTS: PROCESSOR STATUS wORD IMPLICIT OUTPUTS: NONE 529 530 531 PATHOLOGICAL CONNECTIONS: NONE 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 SEQ 0534 .TITLE GETPSW (GET CALLER'S PS WORD) .IDENT JVO.Oj 528 527 PAGE 19 SUBORDINATE MODULES CALLED: NONE FUNCTIONAL SIDE EFFECTS: NONE CALLING SEQUENCE: CALL GETPSW OUT WHERE AA = PS WORD VERSION: 0.0 EDIT DATE BY REASON GETPSW (GET CALLER'S PS WORD) GETPSW.MAC 28-JUL-78 09:15 552 553 554 555 (1) MACY11 30A(1052) 20-SEP-78 17:55 PAGE 19-1 GETPSW (COMMON DEFINITIONS & REFERENCES) .SBTTL GETPSW (COMMON DEFINITIONS & REFERENCES) 000000' 000000' 556 000001 557 558 559 000001 .MCALL STRUCT STRUCT .PRINT ;SPMAC: VERSION 1.1 $LST IN=1 $LSTTAG=1 ;***~************ 560 ; REFERENCED BY OTHER MODULES 561 562 563 .GLOBL GETPSW f ;MODULE'S ENTRY POINT SEQ 0535 GETPSW (GET GETPSW.MAC 565 566 567 (2) 568 569 570 571 572 573 574 575 576 577 (2 ) 578 (4) 579 (2) 580 (2) 581 (3) (3 ) (2 ) 582 583 (2) 584 (4) 585 (2) 586 587 588 PS WORD) 28-JUL-78 09: 15 CALL~R'S MACY11 30A(1052) 20-SEP-78 GETPSW (CODE) 17:55 PAGE 19-2 SEQ 0536 .SBTTL GETPSW (CODE) ROUTINE GETPSW
000000' 000000' GETPSW: ;+ SAVE VECTOR 10; LOAD ADDRESS TO HANDLE ILLEGAL TRAP. EXECUTE AN ILLEGAL INSTRUCTION. THE TRAP ; AND PC+ ON THE STACK. IN THE TRAP HANDLER, GET ; RETURN TO PC+ BY DOING AN RTl. NOW RESTORE THE ; TRAP HANDLER AND RETURN. ;- 000000 1 000000' 000004' 000004' 000012' 000012' 000014' 000014' 000020' 000020' 000020' 000020' INSTRUCTION iJI LL PUSH PSW THE PSW AND ORIGINAL PUSH @#10 013746 000010 LET @#10 012737 .- MOV @#10,-(SP) MOV #1$,@#10 #1$ 000022' 000010 INLINE <·#77> #77 000077 POP @#10 012637 000010 MaV (SP)+,@#10 RTS PC ENDRTN 5UOOOS: 50001$: 000207 000022' 000022' 000022' 000022' 016665 000030' 000030' 000002 000001 TlIl 1"dC J.P' 1.....1.. i.'fo'" .... -1 ;RETURN RTI .END 2{SP),AA(R5) GET?SW (GET CALLER1S PS WORD) 28-JUL-78 09: 15 GETPSW.MAC 000000 000102 004000 001000 000006 000004 000200 000106 000010 000104 000010 020000 000110 000001 000001 000002 000004 000010 000020 000040 000100 000200 000400 001000 000002 002000 004000 81 Til 010000 BIT12 020000 BIT13 040000 BIT14 100000 BlT15 B1T2 000004 000010 BIT3 000020 8IT4 000040 BITS 000100 BIT6 000200 BIT7 000400 BIT8 BIT9 001000 000002 BKDEF BKMOO 000020 BKMODE= 040000 BKSLSH= 000134 CAPRES= 000004 CASTAT= 000004 CDERCT= 000146 COWOCT= 000144 CKTIM = 100000 CLKPRE= 000001 CONFIG= 000056 CQOVF = 000001 000015 CR CSRA = 000100 AA ACSR ACTBIT= ADDR22= ADR APTFER= APTPRE= ASB ASSEMB= ASTAT = . AUTO AUTOST= AWAS BITO BITOO BIT01 BIT02 BIT03 8IT04 BIT05 BIT06 BIT07 = BIT08 81T09 BIT1 BIT10 20-SEP-78 MACV11 30A(1052) SYMBOl. TAaLE 000102 CSRC 000003 CTRLC 000017 CTRLO 000025 CTHU.l DCEVNT= 000011 DEFRTN-= 000400 DIAGMC= 000000 DROPMO= 100000 DSEVNT= 000014 OT. ADD= 000042 DT. AP = 000100 DT.APK= 000076 DT.SLS= 000034 DT.CFO= 000014 DT.CF1= 000016 DT.ERR= 000020 OT.ESI: 000044 DT.EVN= 0.00000 OT.EXS= 000060 DT,.FCH= 000037 DT. FCN= '000036 DT.HMX= 000104 DT.KBE= 000024 DT.KBP= 000026 OT.KBR= 000022 DT.KBU= 000030 Di .iv'LS~ vvvv...), DT.MTl= 000110 DT.OFF= 000070 DT.PAS= 000074 DT.PC = 000002 DT.PFL= 000062 OT.PSW: 000004 OT.PTA= 000064 DT.RCS: 000102 DT.REL= 000040 DT.SCT= 000066 DT.SMX= 000106 OT.SP = 000006 DT.SSI= 000046 OT. STO= 000010 OT.ST1= 000012 DT.SWR= 000056 OT.SYP= 000072 DT.WBU= 000050 DT.WHL= 000054 DT. WLL= 000052 OVID1 = 000014 ECCMEM= 000100 ECCSTA= 000010 ENBEOP= 010000 ENBNUL= 000001 ENDLST= 000000 1"\1'\1"\1"'\':'\1"\ EOPBIT= ERRTYP= EVNTBE= EVNTHD= EVNTKT= EVNTPE= EVNTRE= FATERR= GETPSW HRDCNT= HRDPAS= ICONT = Icm.iNT= IONUM. = IE INOPAR= INHDRP= INHEPR= INHREL= INHRRE:: INIT ::: INTR IOMOD =. IOMODP;:;' IOMODR= 10MODX= JACi{ KIPARO= KIPAR1= KIPAR2= KIPAR3= KIPAR4= KlPAR5= KIPAR6= KIPAR7= KIPDRO= KIPDR1= KIPDR2= KIPOR3= KIPDR4= KIPDR5= KIPDR6= KIPDR7= KTERRO= KTPRES= KTSTAT= KTXTND= LF LPSTAT= MAPSTA= MED MEMPAS= MOOEXH= 17:55 000001 000106 000200 000200 000203 000202 000201 100000 OOOOOORG 000044 000050 000036 000040 000122 000100 000040 040000 020000 001000 000400 000030 000120 100000 102000 112000 1.0000 035060 172340 172342 172344 172346 172350 172352 172354 172356 172300 172302 172304 172306 172310 172312 172314 172316 000040 000400 000020 040000 000012 000001 000200 076600 040000 004000 PAGE 20 SEQ 0537 MODHOL= 1V1ODSEL= MSGCKD= MSGCKS= MSGDER= MSGDRP= MSGECH= MSGEOP= MSGHDR= MSGHNG= MSGHRO= MSGMAP= ~,'1SGNUL= MSGPOP= MSGPRM= MSGRES= MSGSFT= MSGSKE= MSGSM8= MSGSMH= MSGSMS= MSGSTD= MSGSYS= MSGVEC= NBKMOD= NCPUOP= 002000 001000 000010 000011 000005 000017 i 77777 .000013 000004 000022 000007 000021 177775 000002 177776 000001 000006 000003 000015 00')014 000016 000000 000012 000020 001000 000020 NCAPTY= 000')02 NULL OWEN PAERR = PARPRE= PARSTA= PASCNT= POPLSI= POP60 PDP70 PRIO PRI1 PRI4 PRI5 PRI6 PRI7 PRO PR4 PR5 PR6 PR7 PS PSW RANNUM= RBUFEA= RBUFPA= RBUFSZ= 000000 024020 000010 002000 000100 000034 020000 004000 010000 000000 000040 000200 000240 000300 000340 000000 000200 000240 000300 000340 177776 177776 000054 000130 000126 000132 RBUFVA= RDSERV= RDWHMI= RELERR= RELMOD= REL TIM= RES: RES2 RICHAR= RPTDAT= RSTRT = RJ80UT= RUNMOD= R5 1j ALU= SAM SBADR = S8KN:OD= SBKSEL= SC:.ADR= SC.ALC= SC.APC= SC.CKL= Sc. CKP= SC.CLO= SC.HLD= SC.SCA= SENDLS= SOFCNT= SQFPAS= SP;.CE = SPOINT= SPVALU= S~O SR1 SR2 SR3 STAT STATB!= STAT1 = SUSPND= SVRO SVR1 SVR2 SVR3 SVR4 SVR5 SVR6 SYSCNT= SYSERR= TiJlPIO = TQOVF = UIPARO= UIPAR1= 000124 000101 000022 000020 020000 010000 000056 000060 031060 002000 000112 000177 100000 001740 075464 000102 000000 010000 000006 000014 000016 000002 000004 000000 000010 000012 177777 000042 000046 000040 000032 002200 177572 177574 177576 172516 000026 064757 000027 000001 000062 000064 000066 000070 000072 000074 000076 000052 000100 000002 000002 177640 177642 GETPSW (GET CALLER'S PS WORD) GETPSW.MAC 28-JUL-78 09:15 177644 177646 177650 177652 177654 177656 177600 177602 177604 177606 177610 177612 177614 177616 000104 \~BSTAT= 000040 WSUFEA= 000136 000000 000032 17:55 $F$DO = $F$FAL= $F$GOO= $F$IF = $FSINC= $F$LOO= 000340 000405 000400 000110 000210 000200 $F$NAM= UVVIOU $FSNO = $F$OR = SF$RTI= $F$RTN= $F$SEL= $F$THE= $F$TRU= $F$UNT= $F$WHI= $F$YES= 000403 000320 000350 000300 000140 000330 000404 000130 000120 000402 WBUFPA= WBUFRQ= WBUFSZ= WDFR UIPAR2= UIPAR3= UIPAR4= UIPAR5= UIPAR6= UIP.A.R7= UIPDRO= UIPDR1= UIPDR2= UIPDR3= UIPDR4= UIPDR5= UIPDR6= UIPDR7= WASADR= ASS. MACY11 30A(1052) 20-SEP-78 SYMBOL TABLE I~DTO WTINRE= WTWHMI= XFLAG = XOFF XON $BGNLE= $ERFLG= $F$AND= $FSBAD= $F$BLA= $F$CAS= $F$DEC= 000134 000140 000142 000116 000114 000352 000222 000005 000023 000021 177777 000400 000310 000401 000170 000150 000220 000 001 ERRORS DETECTED: 0 DEFAULT GLOBALS GENERATED: 0 DSKZ:GETPSW,DSKZ:GETPSW=SPMAC/ML,EQUATE,GETPSw RUN-TIME: 10 .9 .3 SECONDS RUN-TIME RATIO: 26/12=2.1 CORE USED: 14K (27 PAGES) PAGE 20-1 SEQ 0538 nT\I"\-tC'1'\ $IFLEV= $LOCTA= $LSTIN= $LSTTA= $NESTL= $NSKO = $SAVLE= $TAGLE= $TAGNU= $TEMP = $$ARGC= $$BYTE= $$CASE= $SDST = S$ELOC= $$ERFL= $$FLAG= 177777 177777 000001 000001 177777 000300 177777 177777 050002 000402 000002 000000 000000 000000 000000 000000 000000 r. (\ ('\('11"\ $$FrtOM= r.vvvvvv $SLOC = 000000 $$LOCN= 000000 $$REG = 177777 $SRETU= 000000 $$RTN1= 050000 $$RTN2= 050001 000000 $SSRC $$TGSV= 000000 $$TGS1= 000000 $$TGS2= 000000 $STO 000000 $$$TAG= 050000 000032R = .MAIN. MACY11 30A(1052) 20-SEP-78 EQUATE.MAC 13-SEP-78 16:13 3 552 555 566 17:56 TABLE OF CONTENTS COMMON EQUATE MODULE COMMON DEFINITIONS AND REFERENCES 000000' .PRINT HRDADRCHK ROUTINE ;SPMAC: VERSION 1.1 SEQ 0539 HRDADR HRDADRCHK - HARDWARE ADDRESS CHECK MACY11 30A(1052) HRDADR.MAC 28-JUL-78 09:15 CaMMON EQUATE MODULE 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 550 17:56 PAGE 19 SEQ 0540 .TITLE HRDADR HRDADRCHK - HARDWARE ADDRESS CHECK .IDENT JVO.Oj ;++ MODULE NAME: HRDADR FUNCTIONkL DESCRIPTION: MODULE WILL DETERMINE IF AN ADDRESS IS AVAILABLE BY TRYING TO READ THE LOCATION. LOCATION 4 WILL BE MODIFIED TO FIELD A NON-EXISTENT MEMORY TRAP. AN ERROR INDICATION WILL BE RETURNED IF THE ADDRESS DOES NOT RESPOND. INPUTS: ADDRESS TO BE CHECKED IMPLICIT INPUTS: NONE OUTPUTS: NONE IMPLICIT OUTPUTS: ERROR INDICATOR PATHOLOGICAL CONNECTIONS: NONE SUBORDINATE ROUTINES CALLED: NONE FUNCTIONAL SIDE EFFECTS: NONE CALLING SEQUENCE: CALL HRDADR IN A= ADDRESS TO BE CHECKED 546 547 548 549 20-SEP-78 EDIT ;-- DATE BY REASON HRDADR HRDADRCHK - HARDWARE ADDRESS CHECK MACY11 30A(1052) 20-SEP-78 HRDADR.MAC 28-JUL-78 09:15 COMMON DEFINITIONS AND REFERENCES 552 553 554 555 (1) 556 557 558 559 560 561 562 563 554 17:56 .SBTTL COMMON DEFINITIONS AND REFERENCES 000000' 000000' 000001 000001 .MCALL STRUCT STRUCT .PRINT ;SPMAC: VERSION 1.1 $LSTIN =1 $LSiiAG =1 ;**************** ; REFERENCED BY OTHER MODULES , .GLOBL HRDADR ;MODULE ENTRY POINT PAGE 19-1 SEQ 0541 HRDADR HRDADRCHK - HARDWARE ADDRESS CHECK MACY11 30A(1052) HRDADR.MAC 28-JUL-78 09:15 HRDADRCHK ROUTINE 566 567 568 569 (2) 570 571 572 573 574 575 576 577 (2) 578 (4) 579 580 581 582 583 584 (2) 585 586 587 20-SEP-78 17:56 PAGE 19-2 SEQ 0542 HRDADRCHK ROUTINE .SBTTL ROUTINE HRDADRCHK 000000' 000000' HRDADRCHK: ;+ ; SAVE REGISTERS AND RETRIEVE ADDRESS ; FROM R5 STACK , 000000' 000000' 010046 000002 1 0000021 016500 RO PUSH LET RO := ADRCHK(R5) 000000 MOV RO,-(SP) MOV ADRCHX(R5),RO MOV @#4,-(SP) MOV #1$,@#4 ADD #O,(RO) MOV MOV (SP)+,@#4 (SP)+,RO 2R 50000$ ;+ ; SAV~ , 000006' 000006 1 013746 CURRENT CONTENTS OF LaC. 4 ON STACK PUSH @#4 000004 ;+ , LOAD LOCo 4 WITH THE TEMPORARY NON-EXISTENT ",-on ; MEMORY TRAP ROUTINE AT LABEL 1$ 589 590 591 (4) 592 593 594 595 596 597 (6) 598 599 600 601 602 603 (2 ) (3) 604 60S (4) 606 ;- ~oo 000012' 000012' 012737 LET @#4 '- #1$ 000034' 000004 ;+ ; CHECK TO SEE IF ADDRESS IS A VALID ADDRESS . ClOOCi20' 000020' 062710 LET (RO) .- (RO) + #0 000000 ;+ ; RESTORE LOC. 4 AND RO, AND RETURN NO ERROR INDICATOR . 000024' 000024' 012637 000030' 012600 000032 1 000032' 000410 POP @#4,RO 000004 RETURN NO. ERROR HRDADR HRDADRCHK - HARDWARE ADDRESS CHECK MACY11 30A(1052) HRDADR.MAC 28-JUL-78 09:15 HRDADRCHK ROUTINE (2) 618 619 620 621 622 623 (2) 624 625 (2) (3) 626 527 ( ., , , 0- 000034' 000034' 000034' 000034' 012716 000040' 000040' 000002 000042 (SP) .- 1 $: #2$ MOV 1 #2$,(SP) INLINE RTI INLlNE <2$:> 000042 1 000042' 012637 000046' 012600 POP 2$: @#4,RO MOV MOV 000004 RETURN ERROR 000050' 000052' 000401 (3) (2) 634 635 LET 000042' 000042' (4) (2) INLINE <1$:> ;+ ; RETURN HERE IF TRAP OCCURRED, CLEAN-UP STACK AND RETURN ERROR ;- 000050' 000261 528 629 630 531 632 633 (3) SEQ 0543 NON-EXISTENT MEMORY TRAP TOOK PLACE, J \ " PAGE 19-3 ; THEREFORE ADDRESS TESTED WAS ILLEGAL, ; REPLACE RETURN ADDRESS ON STACK WITH 2$ ; AND DO A RTI WHICH WILL SEND ·YOU TO 2$. 610 617 17:56 ;+ 608 609 611 612 613 614 615 (2) 616 (4) 20-SEP-78 (SP)+,@#4 (SP)+,RO SEC BR 50001$ ;+ ;RETURN TO CALLER ;000054 1 000054' 000054' 000241 000056' 000056' 000207 000001 ENDRTN 50000$: CLC 50001$: RTS .END PC MACY11 30A(1052) HRDADR HRDADRCHK - HARDWARE ADORESS CHECK SYMBOL TABLE 28-JUL-78 09:15 HRDADR.MAC ACSR ACTSlT= ADDR22= ADR ADRCHK= APTFER= APTPRE= ASB ASSEMS= ASTAT = AUTO AUTOST= AtIJAS BITO BITOO BIT01 BIT02 8IT03 BIT04 BIT05 BIT06 BIT07 BIT08 BIT09 BIT1 BIT1 0 BIT11 BIT12 BIT13 B1T14 8IT15 8IT2 BIT3 BIT4 BIT5 BIT6 BIT7 13IT8 B1T9 SKDEF BKMOD BKMODE= BKSLSH= CAPRES= CASTAT= CDERCT= CDWDCT= CKTIM = ClKPRE= CONFIG= CQOVF = CR CSRA = 000102 004000 001000 000006 000000 000004 000200 000106 000010 000104 000010 020000 000110 000001 000001 000002 000004 000010 000020 000040 000100 000200 000400 001000 000002 002000 1"I1"I1l1"I1"I1"l V V""TV v'J 010000 020000 040000 100000 000004 000010 000020 000040 000100 000200 000400 00.1000 000002 000020 040000 000134 000004 000004 000146 000144 100000 000001 000056 000001 000015 000100 CSRC = CTRLC CTRlO CTRlU DCEVNT= DEFRTN= DIAGMC= DROPMO= DSEVNT= DT .ADD= DT.AP = DT. APK= DT.BlS= DT.CFO= DT.CFt= DT.ERR= DT.ESI= DT.EVN= DT.EXS= DT.FCH= DT.FCN: DT.HMX= DT.KBE= DT.KBP= DT.KBR= DT.KBU= DT.MLS= DT.MTI= DT.Of:F= DT.PAS= DT.PC = DT. PFl= OT.PSW= DT.PTA= DT.RCS= DT.REL= DT.SCT= DT.SMX= DT.SP = DT.SSI= DT.STO= DT.ST1= DT.SWR= DT.SYP= DT.WSU= DT.WHl= DT.WlL= DVID1 = ECCMEM= ECCSTA= ENBEOP= ENBNUL= ENDLST= 000102 000003 000017 000025 000011 000400 000000 100000 000014 000042 000100 000076 000034 000014 000016 000020 000044 000000 000060 000037 000036 000104 000024 000026 000022 000030 000032 000110 000070 000074 000002 000062 000004 000064 000102 000040 000066 000106 000000 000046 000010 000012 000056 000072 000050 000054 000052 000014 000100 000010 010000 000001 000000 EOPBIT= ERRTYP= EVNTBE= EVNTHD= EVNTKT= EVNTPE= EVNTRE= FATERR= HRDADR HRDCNT= HRDPAS= ICONT = ICOUNT= IDNUM = IE INDPAR= INHDRP= INHEPR= INHREL= INHRRE= INIT INTR IOMOD IOMODP= IOMODR= IOMODX= ,JACK KIPARO= KIPAR1= KIPAR2= KIPAR3= KlPAR4= KlPAR5= KIPAR6= KIPAR7= KIPDRO= KIPDR1= KIPDR2= K1PD~3= KIPDR4= KIPDR5= KIPDR6= K1PDR7= KTERRO= KTPRES= KTSTAT= KTXTND= LF lPSTAT= MAPSTA= MED MEMPAS= MODEXH= 20-SEP-78 000001 000106 000200 000200 000203 000202 000201 100000 OOOOOORG 000044 000050 000036 000040 000122 000100 000040 040000 020000 001000 000400 000030 000120 100000 102000 112000 110000 035060 172340 172342 172344 172345 172350 172352 172354 172356 172300 172302 172304 172306 i72310 172312 172314 172316 000040 000400 000020 040000 000012 000001 000200 076600 040000 004000 17:56 PAGE 20 SEQ 0544 MODHOl= MODSEL= MSGCKD= MSGCKS= MSGDER= MSGDRP= MSGECH= MSGEOP= MSGHDR= MSGHNG= MSGHRD= MSGMAP= MSGNUL= MSGPOP= MSGPRM= MSGRES= MSGSFT= MSGSKE= MSGSM8= MSGSMH= MSGSivlS= MSGSTD= MSGSYS= MSGVEC= NSKMOD= NCPUOP= NOAPTY= NULL OWEN PAERR PARPRE= PARSTA= PASCNT= PDPLSI= PDP60 PDP70 = PRIO PRI1 PRI4 PRI5 PRI6 PRI7 PRO PR4 PR5 PR6 PR7 PS PSW RANi'JUrw'1= R8UFEA= RBUFPA= RBUFSZ= 00200"0 001000 000010 000011 000005 00001.7 "'" '7 I I r'"] r"J-J i II r-r I 000013 000004 000022 000007 000021 17777-5 000002 177776 000001 000006 000003 000015 000014 000016 000000 000012 000020 001000 000020 000002 000000 024020 000010 002000 000100 000034 020000 004000 010000 000000 000040 000200 000240 000300 000340 000000 000200 000240 000300 000340 177776 177776 000054 000130 000126 000132 RBUFVA= RDSERV= RDWHMI= RELERR= RElMOD= RELTIM= RESi RES2 RICHAR= RPTDAT= RSTRT = RUBOUT= RUNMOD= R5VAlU= SAM SBADR = SSKMOD= S3KSEL= SC.ADR= SC.ALC= SC.APC= SC.CKL= SC.CKP= SC.ClO= SC.HLD= SC.SCA= SENOlS= SOFCNT= SGFPAS= S?ACE = SPOINT= SPVAlU= SRO SR1 SR2 SR3 STAT STATBl= STAT1 = SUS?ND= SVRO SVR1 SVR2 Sv'R3 SVR4 SVR5 SVR6 SYSCNT= SYSERR= TMPIO = TQOVF = UIPARO= UIPAR1= 000124 000101 000022 000020 020000 010000 000056 000060 031060 002000 000112 000177 100000 001740 075464 000102 000000 010000 000006 000014 000016 000002 000004 000000 000010 000012 177777 000042 000046 000040 000032 002200 177572 177574 177576 172516 000026 064757 000027 000001 000062 000064 000066 000070 000072 000074 000076 000052 000100 000002 000002 177640 177642 HRDADR HRDADRCHK - HARDWARE ADDRESS CHECK MACY11 30A(1052) HRDADR.MAC 28-JUL-78 09:15 SYMBOL TABLE UIPAR2= UIPAR3= UIPAR4= UiPAR5= UIPAR6= UIPAR7= UIPDRO= UIPDR1= UIPDR2= UIPDR3= UIPDR4= UIPDR5= UIPDR6= UIPDR7= V.lASADR= ItJBSTAT= \ 0OOOO2·! 000002 1 000002' 000002' 012746 000006' 000177 000012' 000012' 000012' 000012' 012746 000016' 000177 000200 177766 HT8USS: PUSH #EVNTBE JMP @HT.EXT MOV ;+ ;ENTER HERE ON RESERVED INSTR. TRAP ;INllNE PUSH #EVNTRE JMP @HT.EXT HTREIN: MOV 00020; 177756 #EVNT8E,-(SP) ;EXIT #EVNTRE,-(SP) ;EXIT ;+ ;ENTER HERE ON PARITY ERROR TRAP . INLINE 000022 1 HTPAER: 1 (2 ) 000022 600 (2) 601 602 603 604 605 606 6C7 608 (2) 609 (2) 610 611 612 000022 1 000022 1 01~746 000026 1 000177 000202 177746 PUSH #EVNTPE JMP @HT.EXT MOV #EVNTPE,-(SP) ;EXIT ;+ ; ENTER HERE ON MEMORY MANAGEMENT ERROR 000032 1 000032' 000032 1 000032 1 012746 000036' 000177 000001 INLINE 000203 177736 HTKT: PUSH #EVNTKT JMP @HT.EXT MOV .END ;EXIT #EVNTKT,-(SP) HTRAP - FIELD ERROR TRAPS HTRAP.MAC 28-JUL-78 09:15 ACSR ACTBIT= ADDR22= ADR APTFER= APTPRE= 000102 004000 001000 000006 000004 000200 ASS 000106 ASSEMB= ASTAT = AUTO AUTOST= MoJA5 BITO BITOO BIT01 BIT02 BIT03 BIT04 BIT05 BIT06 BIT07 BIT08 BIT09 BIT1 BIT10 BITi1 BIT12 BIT13 BIT14 BIT15 BIT2 8IT3 BIT4 BITS = BIT6 BIT7 BIT8 BIT9 BKDEF BKMOD BKMODE= BKSLSH= CAFRES= CASTAT= CDERCT= CDWDCT= CKTIM = CU DTABLE - ADDRESS OF DTABLE FLAG - ECC ON/OFF FLAG VERSION: 0.0 , *-- EDIT DATE BY REASOi-.J ICSROO INDIRECT ECC CSRS ON/OFF leSROO.MAC 06-SEP-78 15:46 561 562 563 564 MACY11 30A(1052) 20-SEP-78 17:57 PAGE 19-1 COMMON EQUATE MODULE SEQ 0554 .SBTTL COMMON DEFINITIONS AND REFERENCES 565 000000 1 (1 ) 566 567 568 569 000000 I 000001 000001 .MCALL STRUCT STRUCT .PRINT ;SPMAC: VERSION 1.1 $LSTIN = 1 $LSTTAG = 1 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 ;**************** ; REFERENCED BY OTHER .GLOBL ICSROO MOD~LES ;MODULE ENTRY POINT ;**************** ; GLOBAL REFERENCES .GLOBL CCNTRL ;CACHE CONTROL REGISTER ;**************** ; LOCAL EQU;'TES 152100 152136 170370 170372 IN.PCSR 152100 IN. pelS 152136 IN.M36 IN.M37 170370 170372 ;START OF PARITY CSRS BY INDIRECT MODE ;LAST PARITY CSR BY INDIRECT MODE ;MAP REG 36 LOWER 16 BITS ;MAP REG 36 UPPER 6 BITS MACY11 30A(1052) ICSROO INDIRECT ECC CSRS ON/OFF 06-SEP-78 15:46 ICSROO.MAC 589 590 591 (2) 592 593 594 595 596 597 598 (2) (3) 599 (4) 600 (4) 601 602 603 604 605 606 (2) 607 (2) 60B (2 ) 609 (2) 610 (2) 611 (2) 612 613 614 615 616 617 618 (6) 619 (4) 620 (6) 621 (6) 622 (4) 623 (4) 624 625 626 627 20-SEP-78 17:57 PAGE 19-2 SEQ 0555 IND!RECT ECC CSR ON/OFF ROCTINE .SBTTL !NDIRECT ECC CSR ON/OFF ROUTINE ROUTINE ICSROO 000000' 000000' ICSROO: •
WHERE DT = DTABLE ADDRESS VERSION: C.C 742 743 744 745 ,"-- EDIT DATE BY REASON SEQ 0703 LSTCHK CHECK MODULES TO DETERMINE IF ALL HAVE MADE END OF PASS LSTCHK.MAC 28-JUL-78 09:22 CHKACT ROUTINE 747 748 749 (2) 750 751 752 753 754 755 756 (3) 757 (4) 758 (4) 759 760 761 762 763 764 765 .SBTTL MACY11 30A(1052) 20-SEP-7B 18:07 PAGE 19-7 SEQ 0704 CHKACT ROUTINE ROUTINE CHKACT 000226 1 000226 1 CHKACT: ;+ ; SAVE REGISTERS AND GET DTABLE ADOR. AND ADOR. OF MODULE LIST ;- 000226' 000226 1 004767 000232' 000232 1 016500 000236 1 000236 1 016001 000242' 000242 1 (6) 000242' (9) 000246' 766 000250' (4) 000250' 767 000252 1 (6) 000252' (9 ) 000260' 768 000262' (3 ) 000262 1 769 000266 1 (2) 000266' (4) 000270' 770 000272 1 (4) . 000272' 771 000272' (4) 000272' (3) 000274 1 772 773 774 775 776 777 000274 1 (3 ) 000274' 778 000300 1 (4) 000300 1 779 780 000302' (3) 000302' (2) 000302: (3) 000304' (2) 000304 1 CALL SAVREG OOOOOOG JSR PC,SA'JREG MOV DTADR(R5),RO MOV OT .MLST(RO) ,R1 CMP SEQ (R1),#ENOLST 50003$ MOV (R1 )+,R2 BIT SEQ #ACTBIT,STAT(R2) 50004$ JSR PC,RESREG LET RO .- DTADR(R5) 000000 LET R1 .- OT.MLST(RO) 000032 ;+ ; SEARCH LIST OF MODULES UNTIL END OR UNTIL AN ACTIVE ; BIT IS SET IN STAT WORD ;WHILE (R1) NE #ENDLST DO 500025: (4) 021127 001412 000000 LET R2 .- (R1)+ 012102 IF #ACTSIT SETIN STAT(R2) THEN 032762 001404 004000 004767 OOOOOOG 000026 CALL RESREG RETURN ERROR SEC 000261 000405 SR 50001$ BR 50002$ JSR PC,RESREG SR 50000$ ENDIF 50004$: C:NDDO 000763 500C3$: ;+ ; WE WENT ALL THE WAY THRU .... GUESS NONE ACTIVE ;- CALL RESREG 004767 OOOOOOG RETURN NO. ERROR 000400 ENDRTN 000241 u00207 50000$: CLC 50001$: RTS PC LSTCHK CHECK MODULES TO DETERMINE IF ALL HAVE MADE END OF PASS LSTCHK.MAC 28-JUL-78 09:22 CHKACT ROUTINE 781 782 000001 .END M~CY11 30A(1052) 20-SEP-78 18:07 PAGE 19-8 SEQ 0705 LSTCHK CHECK MODULES TO DETERMINE IF ALL HAVE MADE END OF PASS SYMaOL TABLE 28-JUL-78 09:22 LSTCHK.MAC 000102 ACSR ACTBIT= 004000 ADDR22= 001000 000006 ADR APTFE,R= 000004 APTPRE= 000200 000,06 ASS ASSEMB= 000010 ASTAT = 000104 000010 AUTO AUTOST= 020000 000110 AWAS 000001 BITO 000001 BITOO 000002 BIT01 000004 BIT02 BIT03 000010 ·000020 BIT04 BIT05 000040 oootoo BIT06 BIT07 000200 BIT08 000400 001000 BIT09 000002 BIT1 002000 BIT10 BI T11 004000 0100·00 81T12 BIT13 020000 040000 BIT14 100000 BIT15 000004 BIT2 000010 BIT3 000020 BIT4 000040 BITS BIT6 = 000100 BIT7 000200 000400 BITS BIT9 001000 BKDEF 000002 BKMOD 000020 BKMODE= 040000 BKSLSH= 000134 CAPRES= 000004 CASTAT= 000004 CDERCT= 000146 cm-JOCT= 000144 CHKACT 000226RG CHKEOP OOOOOORG CKTIM = 100000 CLKPRE= 000001 CONFIG= 000056 CQOVF = 000001 000015 CR CSRA CSRC CTRLC CTRLO CTRLU' DCEVNT= DEFRTi~= DIAGMC= DROPMO= DSEVNT= DTADR = DT.ADD= DT. AP = DT.APK= DT.BLS= DT.CFO= DT.CF1= DT.ERR= DT.ESI= DT.EVN= DT.EXS= DT.FCH= DT.FeN= DT.HMX= DT.KBE= DT.KBP= DT.KBR= DT.KBU= DT.MLS= DT.MTI= DT.OFF= DT.PAS= DT.PC = DT.PFL= DT.PSW= DT.PTA= DT.RCS= DT.REL= DT.SCT= DT.SMX= DT.SP = DT.SSI= DT.STO= DT.ST1= DT.SWR= DT.SYP= DT. WBU= DT.WHL= DT.WLL= DVID1 = ECCMEM= ECCSTA= ENSEOP= 000100 000102 000003 000017 000025 000011 000400 000000 100000 000014 000000 000042 000100 000076 000034 000014 000016 000020 000044 000000 000060 000037 000036 000104 0000~4 000026 000022 000030 000032 000110 000070 00.0074 000002 000062 000004 000064 000102 000040 000066 000106 000006 000046 000010 000012 000056 000072 000050 000054 000052 000014 000100 000010 010000 ENBNUL= ENDLST= EOPBIT= ERRTYP= EVNTBE= EVNTHD= EVNTKT"= EVNTPE= EVNTRE= FATERR= HRDCNT= HRDPAS= ICONT = ICOUNT= IDNUM = IE = INDPAR= INHDRP= INHEPR= INHREL= INHRRE= INIT INTR IOMOD Ior/100P= IOMODR= IOMODX= JACK KI PARO= KIPAR1= KIPAR2= KIPAR3= KIPAR4= KIPAR5= KIPAR6= KIPAR7= KIPORO= KIPDR1= KIPDR2= KIPDR3= KIPDR4= KIPDR5= KIPDR6= KIPDR7= KTERRO= KTPRES= KTSTAT= KTXTND= LF LPSTAT= MAPSTA= MED MEMPAS= MACY11 30A(1052) 00000; 000000 000001 000106 000200 000200 000203 000202 000201 100000 000044 000050 000036 000040 000122 000100 000040 040000 020000 001000 000400 000030 000120 100000 102000 112000 110000 035060 172340 172342 172344 172346 172350 172352 172354 172356 172300 172302 172304 172306 172310 172312 172314 172316 000040 000400 000020 040000 000012 000001 000200 076600 040000 20-SEP-78 18:07 PAGE 20 SEQ 0706 004000 002000 001000 000010 000011 000005 000017 177777 000013 000004 000022 000007 000021 17'1775 000002 177776 000001 000006 000003 000015 000014 000016 000000 000012 000020 OOiOOO 000020 000002 000000 024020 000010 002000 000100 0'00034 ~DPLSI= 020000 004000 POP60 010000 PDP70 000000 PRIO 000040 PR 11 000200 PRI4 PRI5 = 000240 000300 PRI6 000340 PRI7 000000 PRO 000200 PR4 000240 PR5 000300 PR6 000340 PR7 .177776 PS 177776 PSW RANNUM= 000054 RBUFEA= 000130 RBUFPA= 000126 iviCDEXH= MODHOL= MODSEL= MSGCKD= MSGCKS= MSGDER= MSGDRP= MSGECH= MSGEOP= MSGHDR= MSGHNG= MSGHRD= MSGMAP= MSGNUL= MSGPOP= MSGPRM= MSGRES= MSGSFT= MSGSKE= MSGSM8= MSGSMH= MSG5rJlS= MSGSTD= MSGSYS= MSGVEC= NBKMOD= NCPUOP= NOAPTY= NULL moJEN PAERR PARPRE= PARSTA= PASCNT= OOII~C'7_ r".;...t\.JI-.;)"-- 000132 RBUFVA= ROSERV';' RDWHMI= RELERR= REUJ10D= RELTIM= RESREG= RES1 RES2 RICHAR= RPTDAT= RSTi= OUT SUB #4*2,R5 MOV R5,-(SP) MOV #MD.NULl,-(R5) MOV #MD.KBECH,-(R5) 000010 000146 1 000026 1 OOOOOOG 177550 177546 177544 177542 ~r.o V R0 • - ( R5 ) JSR MOV MOV MOV MOV MOV PC,MSGDGET (SP)+,R5 (R5)+,MD.COD (R5)+,MD.MSG (R5)+,MD.HDR (R5)+,MD.RET ;+ ; IF THIS IS THE NULL CHARACTER MESSAGE AND IF OUTPUTTING TH~ ; NULL IS ENABLED, THEN HOOK UP THE MESSAGE. OTHERWISE, ; JUST RETURN. IN EITHER CASE, DONIT BOTHER MAKING ANY OF THE OTHER TESTS. ;- 000244 1 000244' 026727 IF MD. COD EO #MSGNUl 177530 177775 THE~ CMP MD.COD,#MSGNUL MSGDEQ ~ DE-QUEUE NEXT MESSAGE MSGDEQ.MAC 28-JUL-7B 09:22 (9) 653 (6) (9) 654 (2) 655 (4) (3) 656 (2) 657 (4) 658 (4) 659 660 661 662 663 564 665 666 667 668 (6) (8) (6) (9) (6) (6) (9) 669 (6) (9) 670 (3) (6) (5) (4) (3) (3) 671 (2) 672 (4) 673 (4) 574 675 676 677 678 679 680 681 000252' 000254' 000254' 000262 1 000264' 000264' 000266' 000266' 000270' 000270' 000270' 000272' 000272' 000272' 000272' MACY1T 30A(1052) 20-SEP-78 18:0B PROCESS NEXT MESSAGE SEQ 0712 50003$ 001007 032760 001402 PAGE 21-1 IF #ENBNUL SETIN DT.SWR(RO) THEN 000001 000056 INLINE
ELSE 000401 50004$: INLINE
ENDIF 500055: END!F 500035: ;+ ; IF THIS IS AN ERROR MESSAGE OR A MESSAGE COMING DIRECTLY ; FROM A MODULE, AND IF THE PRINTING OF THESE TYPES OF MESSAGES ; IS INHIBITTED, DON'T PRINT THE MESSAGE. INSTEAD, JUST ENTER THE MODULE IN ; THE CONTROL QUEUE AND RETURN. ;- 000272' 000272' 000300 1 000302' 000310' 000312 1 000312 1 000320 1 000322 1 000322' 000330 1 000332' 000332' 000334' 000340! 000344' 000346' 000352' 000354' 000354' 000356' 000356' 000356' 000356' 026727 001404 026727 002422 177502 000000 177472 000003 BLT MD.COD,#MSGSTD 50006$ MD.COD,tfMSGSKEL 50007$ CMP BGE MD.COD,#MSGSYS 50007$ BIT BEQ #INHEPRT,DT.SWR{ 50010$ MOV MGV MOV MOV JSR MOV R5,-(SP) MD.RET,-(R5) MD.HDR,-(R5) RO,-(R5) PC,ENQCQ (SP)+,R5 BR 2$ crv1? 50006$: 026727 002016 177462 000012 032760 001412 020000 000056 010546 016745 016745 010045 004767 012605 IF MD.COD EQ #MSGSTD OR MD. COD GE #MSGSKEL AND MD.COD LT #MSG5YS THEN CMP BEQ IF #INHEPRT SEiIN DT.SWR(RO) THEN CALL ENQCQ IN 177446 177440 OOOOOOG INLINE
000461 ENDIF 50010$: ENDIF 50007$: ;+ IF THIS IS AND END-OF-PASS MESSAGE, AND IF THE PRINTING OF THIS TYPE OF MESSAGE IS NOT ENABLED, DON'T PRINT THE MESSAGE. INSTEAD, IF THIS MESSAGE CAME FROM A BKMOD, CLEAR THE DEFERRED-RETURN BIT IN THE BACKGROUND STATUS INDICATOR; ELSE ENQUEUE THE MODULE IN THE CONTROL QU~UE. THEN JUST RETURN. MSGDEQ - DE-QUEUE NEXT MESSAGE MSGDEQ.MAC 28-JUL-78 09:22 682 683 684 (6) (9) (6) PAGE 21-2 SEQ 0713 IF MD.COD EQ #MSGEOP AND #ENBEOP NOTSETIN DT.SWR(RO) THEN 685 (4) 686 (6) (9) 687 (6) 688 (4) (3) 689 (3) (6) (5) (4) (3) (3) 690 000356 1 000356' 000364 1 000366 1 000374 1 000376 1 000376' 000402 1 000402 1 000410 1 000412 1 000412 1 000420 1 000420 1 000422' 000422' 000422 1 000424 1 000430 1 000434' 000436 1 000442 1 000444 1 (4) 000444 1 691 (2) 692 (4) 693 694 695 696 697 698 699 (2) 700 (4) 701 702 703 704 705 706 707 708 (6) (9) 709 {3} (7) (6) (5) (4) 000444' 000444' 000425 000446' 000446 1 (9) MACY11 30A(1052) 20-SEP-78 18:08 PROCESS NEXT MESSAGE BNE MD.COD,#MSGEOP 50011$ #ENBEOP,DT.5WR(R 50011$ MOV MD.HDR,R1 BIT SEQ #BKMOD.STAT(R1) 50012$ BIC #SKDEF,BA.STAT BR 50013$ MOV JSR MOV R5,-(SP) MD.RET,-(R5) MD.HDR,-(R5) RO,-(R5) PC,ENQCQ (SP)+,R5 BR 2$ 026727 001030 032760 001024 177416 000013 CM? BNE 010000 000056 BIi 016701 177402 032761 001404 000020 000026 042767 000002 OOOOOOG LET R1 '- MD.HDR IF #BKMOD SETIN STAT(R1) THEN LET SA. STAT := SA. STAT CLR.BY #8KDEF ELSE 000411 50012$: CALL ENQCQ IN 010546 016745 016745 010045 004767 012605 177356 177350 MDV MOV MOV OOOOOOG ENDIF INLINE
ENDIF 5001t$: ;+ ; SET THE MESSAGE-QUEUE BUSY FLAG. 000446 1 000446' 000446 1 000446 1 012767 INLINE <1$:> 1 $: LET MD.BSY '- #1 000001 177336 MOV #1,MD.BSY ;+ ; IF NO TTY I DONIT BOTHER CALLING MSGDHOOK - JUST CALL MSGRET WHICH ; WILL RTS BACK TO HERE 000454 1 000454 1 000462 1 000464' 000464' 000466' 000472 1 000476 1 000502 1 IF #NOAPTY NOTSETIN DT.CFO(RO) THEN 032760 001014 010546 012745 016745 016745 010045 000002 000014 CALL MSGDHOOK IN 000526 1 177304 177276 3IT BNE #NOAPTY,DT.CFO(R 50014$ N!OV MOV MOV ;v. 0 V MOV R5.-(SP) #MSGDRET,-(RS) MD.MSG,-(R5) MD.COD,-(R5) RO,-(R5) MSGDEQ - DE-QUEUE NEXT MESSAGE 28-JUL-78 09:22 MSGDEQ.MAC (3) (3) 710 (4) (3) 711 (3) 712 (4) 713 714 715 716 717 718 (2) 719 (2 ) (3 ) 720 (3) (3) (2 ) 000504 1 000510 1 000512 1 000512 1 000514 1 000514' 000514' 000520' 000520' 004767 012605 MACY11 30A(1052) 20-SEP-78 18:08 PROCESS NEXT MESSAGE PAGE 21-3 SEQ 0714 OOOOOOG ELSE 000402 PC,MSGDHOOK BR 50015$ JSR PC,MSGDRET (SP)+,R5 50014$: CALL MSGDRET 004767 JSR MOV 000006 ENDIF 50015$: ;+ ; RETURN TO CALLER ;000520' 000520' 000520' 000520' 012601 000522' 012600 000524 1 000524' 000524' 000524' 000207 INL!NE <2$:> POP 2$: R1,RO MOV (SP)+,R1 (SP)+t RO RTS PC MOV ENDRTN 50000$: 50001$: MSGDEQ - DE-QUEUE NEXT MESSAGE MSGDEQ.MAC 28-JUL-78 09:22 722 723 724 725 726 727 728 729 730 (4) 731 (4) 732 733 734 735 736 737 (2) (3) (4) 738 (4) 739 (4) 740 741 742 743 744 745 746 747 748 (6) (9) 749 (6) (8) (6) (9) (6) 750 (3) (6) (5) (4) (3) (3) 751 (4) 752 (4) 753 754 755 MACY11 30A(1052) 20-SEP-78 18:08 PAGE 22 PERFORM CLEAN-UP FOR THE LAST MESSAGE .SSTTL SEQ 0715 PERFORM CLEAN-UP FOR THE LAST MESSAGE ;+ ; SET THE MESSAGE QUEUE AS BEING NOT BUSY, AND RESET THE ; CONT'ROL-O FLAG ;- 000526 1 000526 1 005067 000532 1 000532 1 005067 MSGDRET: 177260 LET MD.BSY := #0 LET CTRLOF := #0 OOOOOOG CLR MD.BSY CLR CTRLOF MOV MOV MOV R5,-(SP) RO,-(SP) R1,-(SP) MOV MD. DTBL, R1 MOV #MD.R5S,RS TST SEQ MD.HDR S0016$ CM? SEQ CMP BLT MD.COD,#MSGSTD 50017$ MD.COD,#MSGSKEL 50020$ MOV MOV MOV MOV JSR MOV RS,-(SP) MD.RET,-(R5) MD.HDR,-(R5) MD.DTBL.-(R5) PC,ENQCQ (SP)+,R5 ;+ ; SWITCH TO A LOCAL R5 STACK ;- 000536 1 000536 1 000540 1 000542 1 0005441 000544 1 000550 1 000550 1 PUSH R5,RO,R1 010546 010046 010146 LET R1 016701 177240 012705 000026 '- MD.DTBL LET R5 .- #MD.RSS 1 ;+ DETERMINE IF THE LAST MESSAGE WAS ISSUED BY AN OPTION MODULE ; OR MONITOR (I.E. MD.HDR IS NOT 0). ; AND IF IT WAS, RESUME ITS EXECUTION SY MAKING AN ENTRY FOR IT ; IN THE CONTROL QUEUE ;- 000554 1 000554 1 000560 1 000562' 000562 1 000570' 000572' 000600' 000602 1 0006021 000602 1 000604 1 000610 1 0006141 000620 1 000624' 000626 1 000626' 000626 1 000626 1 IF MD.HDR NE #0 THEN 005767 001422 177224 026727 001404 026727 002412 177212 000000 177202 000003 010546 016745 016745 016745 004767 012605 IF MD. COD EQ #MSGSTD OR MD.COD GE #MSGSKEL THEN 50017$: CALL ENQCQ IN 177176 177170 177170 OOOOOOG ENDIF 50020$: ENDIF ;+ 50016$: MSGDEQ - DE-QUEUE NEXT MESSAGE MSGDEQ.MAC 28-JUL-18 09:22 756 757 758 759 760 (6) (9) 761 (3) (4) (3) (3) 762 (4) 763 764 765 MACY11 30A(1052) 20-SEP-78 18:08 PAGE 22-1 PERFORM CLEAN-UP FOR THE LAST MESSAGE SEQ 0716 ; IF THE MESSAGE WAS ONE OF THE KEYBOARD PRO~lPTSr THEN UNLOCK THE ; KEYBOARD AND ALLOW THE NEXT COMMAND TO BE ENTERED ., 000626' 000626' 000634' 000636\ 000636' 000640' 000644' 000650' 000652' 000652' IF MD.COD EQ #MSGPRM THEN 026727 001006 177146 177776 CMP iviD. COD, #iviSGPRM 8NE 50021$ MOV MDV JSR M:JV R5,-(SP) MD.DTBL,-(R5) PC,KBINI (SP)+,R5 CALL KBINI IN 010546 016745 004767 012605 177144 OOOOOOG ENDIF 50021$: MSGDEQ - DE-QUEUE NEXT MESSAGE MSGDEQ.MAC 2B-JUL-78 09:22 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 (6) (9) 783 (2) (3) (4) 784 (2) 785 (4) (3) 786 (2) (3) (4 ) 787 (2) 788 (4) 789 790 MACY11 30A(1052) 20-SEP-78 18:08 PAGE 23 PERFORM CLEAN-UP FOR THE LAST MESSAGE .SBTTL RESTORE THE INTERRUPTED MODULE'S RS BEFORE RETURNING ;+ ; NOW RETURN TO THE INTERRUPTED ROUTINE 000652' 000652 1 000660' 0006621 000662 1 000664 1 000666 1 000670 1 000670 1 000672 1 000672' 000674 1 0006741 0006741 000676 1 000700 1 000702 1 000702 1 000704 1 000704' ;+ ; DO AN RTS IF NO TTY - AN RTI IF A TTY PRESENT ;IF #NOAPTY NOTSETIN DT.CFO(R1) THEN 032761 001005 000002 000014 POP R1,RO,R5 012601 012600 012605 INLINE 000002 ELSE 000404 POP R1,RO.RS 012601 012600 012605 000207 000001 INLINE SEQ 0717 MSGDEQ - DE-QUEUE NEXT MESSAGE 28-JUL-78 09:22 MSGDEQ.MAC ACS~ ACTSlT= ADDR22= ADR APTFER= APTPRE= ASB ASSEMB= ASTAT = AUTO = AUTOST= A\\lAS BA.STA= BITO BITOO BIT01 BIT02 BIT03 BIT04 BIT05 BIT06 BIT07 BIT08 BIT09 BIT1 BIT10 BIT11 = B1T12 = BI113 B1T14 BIT15 BIT2 8IT3 BIT4 BIT5 BIT6 BIT7 BIT8 BIT9 BKDEF BKMOD BKMODE= BiU'II\...I- ****** G 110000 035060 ****** G 172340 172342 172344 172346 1723S0 172352 172354 172356 172300 172302 172304 172306 172310 1.72312 172314 172316 000040 000400 000020 040000 000012 000001 1I/fr-,...... iJ~"""·_ 000200 000012RG OOOOOORG 000010R 00OO04R 0OO026R 000002R 000146R 00OC06R 000026R 076600 040000 004000 002000 OOiOOO 000010 000011 000150RG OOOOOS ****** G ****** G 00OS26R 000017 177777 000013 000004 000022 000007 MSGMAP= 000021 MSGNUL= 177775 MSGPOP= 000002 ~/ISSPRM= 177776 MSGRES:.: 000001 M5GSFT= 00:]006 M5GSKE= 00\)003 MSGSMB= 000015 MSGSMH= 000014 MSGSMS= 000016 MSGSTD= OO'JOOO MSGSYS= 000012 MSGVEC= 00J020 NBKMOD= 001000 NCPUOP= 000020 NOAPTY= 000J02 000000 NULL 024020 OWEN PAERR = 000010 PARPRE= 002000 PARSTA= 000100 PASCNT= 000034 PDPLSI= 020000 004COO PDP60 PDP70 = 010000 PRIC PRI1 PRl4 PRI5 PRI6 PRI7 PRO 000000 000040 000200 000240 000300 000340 000000 PR4 000200 PRS 000240 PR6 000300 000340 PR? 177776 PS PSW 177776 RANNUM= 000054 RBUFEA= 000130 RSUFPA= 000126 R8UFSZ= 000132 RBUFVA= 000124 RDSERV= 000101 RDWHMI=·OOO022 RELERR= 000020 RELMOD= 020000 RELTIM= 010000 RES1 000056 RES2 000060 RICHAR= 031060 RPTDAT= 002000 RSTRT = 000112 RUBCJUT= 000177 RIJr-.;;·,10 D= 100000 R3VALU= 001740 SAM 075464 SBADR = 000102 S8K;,iOD= 000000 SBKSEL= 010000 SC.ADR= 000006 SC.ALC= 000014 SC.APC= 000016 SC.CKL= 000002 SC.CKP= 000004 SC.CLO= 000000 SC.HLD= 000010 SC.SCA= 000012 SENDLS= 177777 SOFCNT= 000042 SO~PAS= 000046 SPACE = 000040 SPOINT= 000032 SPVALU= 002200 SRO = 177572 177574 SR~ 177576 SR2 172516 5R3 MSGDEQ - DE-QUEUE NEXT MESSAGE MSGDEQ.MAC 28-JUL-78 09:22 STAT STATBI= STAT1 = SUSPND= SVRO SVR1 SVR2 SVR3 SVR4 SVR5 SVR6 SYSCNT= SYSERR= TMPIO = TQOVF = UIPARO= UIPAR1= UIPAR2= UIPAR3= UIPAR4= UIPAR5= 000026 064757 000027 000001 000062 000064 000066 000070 000072 000074 000076 000052 000100 000002 000002 177640 177642 177644 177646 177650 177652 ABS. 000000 000704 MACY11 30A(1052) 20-SEP-78 SYMBOL TABLE 18:08 XOFF XON $8GNLE= $ERFLG= $F$AND= $F$BAD= $F$8LA= $F$CAS= $FSDEC= $F$DO :: $F$FAL= $F$GOO= $F$IF = $F$INC= $F$LOO= $F$NAM= $FSNO = $F$OR = $F$RTI= $F$RTN= $F$SEL= 000023 000021 177777 000400 000310 000401 000170 000150 000220 000340 000405 000400 000110 000210 000200 000160 000403 000320 000350 000300 000140 UIPAR6= UIPAR7= UIPDRO= UIPDR1= UIPDR2= UIPDR3= U!PDR4= UIPDR5= UIPDR6= UIPDR7= WASADR= WBSTAT= WBUFEA= WBUFPA= WBUFRQ= WBUFSZ= WDFR WDTO WTINRE= WTWHMI= XFLAG = 177654 177656 177600 177602 177604 177606 177610 177612 177614 177616 000104 000040 000136 000134 000140 000142 000116 000114 000352 000222 000005 000 001 ERRORS DETECTED: 0 DEFAULT GLOBALS GENERATED: 0 DSKZ:MSGDEQ,DSKZ:MSGDEQ=SPMAC/ML.EQUATE,MSGDEQ RUN-TIME: 18 8 .4 SECONDS RUN-TIME RATIO: 85/26=3.2 14K (27 PAGES) CORE USED: PAGE 24-1 SEQ 0719 $F$THE= $F$TRU= $FSUNT= $F$WHI= $F$YES= $IFLEV= $ISKO = $ I SK 1 = $LOCTA= $LSTIN= $LSTTA= $NESTL= $NSKO = $NSK1 = $NSK2 = $SAVLE= $TAGLE= $TAGNU= $TEMP $TSKO $TSK1 000330 000404 000130 000120 000402 177777 000001 000001 177777 000001 000001 177777 000110 000110 000110 177777 177777 050024 050023 050023 050020 $$ARGC= $$8YTE= $$CASE= $SDST = $$ELOC= $$ERrL= $$FLAG= $$FROM= $$LOC = $$LOCN= $SREG = $$RETU= $$RTN1= $$RTN2= $$SRC = $STGSV= $$TGS1= $$TGS2= $$TO $$$TAG= 000002 000403 000000 000000 000402 000000 000001 000000 000660R 000000 177777 000000 050000 050001 000000 000000 000000 000000 000001 050000 000704R .MAIN. MACY11 30A(1052) 20-SEP-78 EQUATE.MAC 13-SEP-78 16:13 3 570 574 602 18:09 TABLE OF CONTENTS COMMON EQUATE MODULE COMMON DEFINITIONS AND REFERENCES 000000' .PRINT ;SPMAC: VERSION 1.1 DE-QUEUE NEXT MESSAGE SEQ 0720 MSGDGET - DE-QUEUE THE NEXT MESSAGE TO BE PRINTED MACY11 30A(1052) MSGDGE.MAC 28-JUL-78 09:23 COMMON EQUATE MODULE 508 509 .TITLE .IDENT 20-SEP-78 18:09 PAGE 19 MSGDGET -.DE-QUEUE THE NEXT MESSAGE TO BE PRINTED JVO.Oj 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 ;++ MODULE NAME: MSGDGET FUNCTIONAL DESCRIPTION: THE DE-QUEUE-NEXT-MESSAGE MODULE IS CALLED WHENEVER IT IS NECESSARY TO FETCH THE ADDRESS OF THE NEXT MESSAGE TO BE PRINTED. MESSAGES ARE DE-QUEUED ACCORDING TO THE FOLLOWING PRIORITY: 1. OPERATOR INPUT STRING 2. KEYBOARD COMMAND RESPONSE 3. KEYBOARD COMMAND PROMPT 4. TYPE QUEUE ENTRY 5. DEFAULT MESSAGE (ONE-CHAR NULL MESSAGE) INPUTS: 1. ADDRESS OF DATA TABLE 2. ADDRESS OF KEYBOARD'S ECHO BUFFER 3. ADDRESS OF DEFAULT MESSAGE (ONE-CHAR NULL MESSAGE) 533 534 IMPLICIT INPUTS: 1. DT.KBRSP 2. DT.KBUF 3. DT.KBECH 4. DT.KBPRM 535 536 OUTPUTS: 531 532 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 562 1. FOUR-WORD MESSAGE PACKET: WORD 1: TYPE CODE 2: ADDRESS OF MESSAGE 3: OPTION MODULE'S HEADER ADDRESS 4: OPTION MODULE'S RETURN ADDRESS IMPLICIT CUTPUTS: 1. UPDATED DT.KBECH PATHOLOGICAL CONNECTIONS: 1. KEYBOARD INPUT POINTER (KB.INP) SUBORDINATE MODULES CALLED: 1. DEQTQ 2. FILLMSG 3. SAVREG 4. RESREG ;DE-QUEUE NEXT TYPE QUEUE ENTRY ;FILL-IN SKELETAL MESSAGE ;SAVE REGISTERS ;RESTORE REGISTERS CALLING SEQUENCE: CALL MSGDGET IN OUT WHERE DTABLE - DTABLE ADDRESS KBECH - ECHO BUFFER POINTER DFTMSG - DEFAULT MESSAGE MSGTYPE - MESSAGE TYPE MSGADDR - MESSAGE ADDRESS HDRADDR - HEADER ADDRESS RETADDR - RETURN ADDRESS SEQ 0721 MACV11 30A(1052) MSGDGET - DE-QUEUE THE NEXT MESSAGE TO BE PRINTED COMMON EQUATE MODULE MSGDGE.MAC 28-JUL-78 09:23 564 565 566 567 568 ; ; VERSION: . EDIT 20-SEP-78 18:09 PAGE 19-1 SEQ 0722 0.0 BY DATE REASON MSGDGET - DE-QUEUE THE NEXT MESSAGE TO BE PRINTED MACY11 30A(1052) 20-SEP-78 MSGDGE.MAC 28-JUL-78 09:23 COMMON DEFINITIONS AND REFERENCES .SBTiL 570 18:09 PAGE 20 COMMON DEFINITIONS AND REFERENCES 571 572 573 574 (i ) 575 576 000000 1 000000: ... ..,.. • I""K.l.I'I1 ........... .,. .MCALL STRUCT STRUCT ; sprvlAC: \lERSIOt~ ~ I • ..1 $LSTIN = 1 $LSTTAG = 1 000001 000001 577 578 579 580 581 582 ;**************** , 583 ; REFERENCED BY OTHER MODULES 584 585 586 .GLOBL 587 588 589 ;**************** , 597 598 599 600 ;MODULE'S ENTRY POINT ; GLOBAL REFERENCES 590 591 592 593 594 595 596 MSGDGET .GLOBL .GLOBL .GL08L .GLOBL .GLOBL DEQTQ FILLMSG KB.INP SAVREG RESREG , ;**************** ;TYPE QUEUE DE-QUEUING MODULE ;FILL IN SKELETAL MESSAGE MODU~E ;KEY80ARD ' S INPUT BUFFER POINTER :SAVE REGISTER ROUTINE ;RESTORE REGISTER ROUTINE SEQ 0723 MSGDGET - DE-QUEUE THE NEXT ~ESSAGE TO BE PRINTED MACY11 30A(1052) MSGDGE.MAC 28-JUL-78 09:23 DE-QUEUE NEXT MESSAGE oSBTTL 602 603 604 (2) 605 606 (4) 612 (4) 613 614 615 616 617 618 619 620 000000 1 000000' 004767 000004' 000004' 016500 000010' 000010' 016501 000024' 000030' 000030' 000030' 000032' 000034' 000034' 000036' 000036' 000040' 000040' 000042' (6) 635 (4) (3) LET RO '- DTABLE(R5) 000000 JSR PC,SAVREG Mav DTABLE(R5),RO MOV KBECH(R5),R1 LET R1 .- KBECH(R5) 000002 ;- 000024' (9) 633 (4) 634 CALL SAVREG OOOOOOG ; SEE IF ANY OPERATOR INPUT IS AWAITING ECHOING, AND IF SO, ZERO THE KEYBOARD ; ECHO BUFFER, COPY THE CHARACTERS TO BE ECHOED INTO IT AND USE THIS AS THE ; FIRST MESSAGE (4) 622 (4) (6) (9) 623 (4) 624 (6) 625 (4) (6 ) DE-QUEUE NEXT MESSAGE ;+ 621 626 627 628 629 630 631 (4) 632 (4) SEQ 0724 0-',T (9) (3) PAGE 21 ; SAVE REGISTERS AND GET DTABLE ADDRESS AND KEYBOARD ECHO POINTER ;- 000014' 000014' 026067 000022.1 103031 (6) 18:09 ROUTINE MSGDGET MSGDGET: 000000' 000000' 607 608 609 610 (3) 611 20-SEP-78 012702 IF DT.KBECH(RO) LO KB.INP THEN 000024 OOOOOOG 000050 CMP BHIS DT.KBECH(RO),KB. 50002$ MOV #~O<40>,R2 TST BLE R2 50004$ CLR (R1)+ DEC R2 8R 50003$ MOV KBECH{R5),R1 eM? SGE DT.KBECH(RO),KB. 50006$ MOVB @DT.KBECH(RO),(R INC DT.KBECH(RO) 5R 50005$ WHILE R2 GT #0 DO 50003$: 005702 003403 LET (R1)+ 005021 0- #0 LET R2 '- R2 - #1 005302 ENDDO 000773 50004$: ;+ ; LOAD UP ECHO BUFFER FROM INPUT BUFFER 000042' 000042' 000046' 000046' 000046' 000054' 000056' 000056' 000062' 000062' 000066' 000066' 000070' LET R1 '- KBECH(R5) 016501 000002 WHILE DT.KBECH(RO) LT KB.INP DO 50005$: 026067 002005 000024 117021 000024 005260 000024 OOOOOOG LET (R1)+ :B= @DT.KBECH(RO) LET DT.KBECH(RO) := DT.KBECH(RO) + #1 ENDDO 000767 50006$: MSGDGET - DE-QUEUE THE'NEXT MESSAGE TO BE PRINTED MACY11 30A(1052) MSGDGE.MAC 28-uUL-78 09:23 DE-QUEUE NEXT MESSAGE 636 637 638 639 640 641 (4) 642 (4) 643 (4) 644 (4) 645 (4) (3) 646 647 648 649 650 651 652 (6) (9) 20-SEP-78 18:09 PAGE 21-1 SEQ 0725 ;+ ; SET UP OUTPUT ARGUMENTS FOR ECHO TYPE MESSAGE TYPE ., 000070' 000070 1 000074 1 000074 1 000100' 000100' 000102' 000102' 000104' 000104' 000106' LET R1 012701 177777 016502 000002 LET R2 LET R3 005003 LET R4 .- ..0- #MSGECH MOV #MSGECH,R1 MOV KBECH(R5),R2 CLR R3 CLR R4 BR 50007$ KBECH(R5) #0 #0 005004 ELSE 000466 50002$: ;+ ; SEE IF THERE IS A KEYBOARD COMMAND RESPONSE WAITING TO BE OUTPUT, ; IF SO, TAKE IT NEXT, AND THEN CLEAR KEYBOARD RESPONSE INDICATOR , 000106' 000106' 005760 000112' 001411 653 000114' (4) 654 (4) 655 (4) 656 (4) 657 (4) 658 (4 ) (3) 659 660 661 662 663 664 665 (6) (9) 666 (4) 667 (4) 668 (4) 669 (4) 670 000114' 000120' 000120 1 000124 1 000124' 000126 1 000126: 000130' 000130' 000134' 000134' 000136' IF DT.KBRSP(RO) NE #0 THEN 000022 #MSGRES LET R2 ..- LET R3 .- #0 LET R4 .- #0 LET R1 012701 000001 016002 000022 005003 DT.KBRS?(RO) 50010$ Ivl0V #MSGRES,Rl MOV DT.KBRSP(RO),R2 CLR R3 CLR R4 CLR DT.KBRSP(RO) BR 50011$ TST SEQ DT.KBPRM(RO) 50012$ MOV #MSGPRM,R1 MOV DT.KBPRM(RO),R2 CLR R3 CLR R4 DT.KBRSP(RO) 005004 LET DT.KBRSP(RO) 005060 TST SEQ .- #0 000022 ELSE 000452 50010$: ;+ ; SEE IF THERE IS A KEYBOARD PROMPT AWAITING OUTPIJT, IF SO, TAKE ; IT, AND CLEAR THE KEYBOARD PROMPT INDICATOR ;- 000136' 000136' 000142' 000144 1 000144' 000150' 000150' 000154' 000154' 000156' 000156' 000160' IF DT.KBPRM(RO) NE #0 THEN 005760 001411 000026 012701 177776 016002 000026 LET R1 ·- #MSGPRM LET R2 ·- DT.KBPRM(RO) LET R3 .- #0 LET R4 ·- #0 005003 005004 LET DT.KBPRM(RO) "- #0 MACV11 30A(1052) MSGDGET - DE-QUEUE THE NEXT MESSAGE TO BE PRINTED DE-QUEUE NEXT MESSAGE 28-JUl-78 09:23 MSGDGE.MAC (4) 671 (4) (3) 072 000160 1 005060 000164 1 000164 1 000436 000166 1 (4) (4) (4) 680 (6) 681 (6) (9) 582 (4) (3 ) (7) (6) (5) (4) (3) (3) (4) 683 (4) 684 (4) (3) 685 686 687 688 689 690 691 (4) 692 (4) 693 (4) 694 (4) 695 (4) 696 (4) 18:09 PAGE 21-2 SEQ 0726 000026 ELSE CLR DT.KBPRM(RO) BR 50013$ 50012$: ,0 673 674 675 676 677 678 679 (4) (3) (4) 20-SEP-78 ; SEE IF THERE IS ANYTHING IN THE TYPE QuEUE WAITING TO BE PRINTED, ; IF SO, CHECK TO SEE IF ITS A SKELETAL MESSAGE THAT HAS TO BE ; FILLED-IN ;- 000166 1 000166 1 000172 1 000176 1 000200 1 000202 1 000204 1 000206 1 000206 1 000210' 000210' 000214 1 000216 1 000216 1 0OO2?2 1 000224 1 000226 1 000230' 000232' 000234' 000240 1 000242 1 000244' 000244' 000244 1 000244' 000246' CALL DEQTQ OUT 162705 004767 012501 012502 012503 012504 000010 OOOOOOG sua JSR MOV MOV #4*2,R5 PC,DEQTQ (R5)+,R1 MOV MOV {R5)+,R3 (R5)+,R4 BCS 50014$ (R5)+fR~ IF.NO.ERROR THEN 103417 IF 020127 002413 000003 162705 010546 010345 010245 010145 010045 004767 012605 012502 000002 R1 GE #MSGSKEL THEN CM? Bli CALL FILLMSG IN OUT SUB MOV #1*2,R5 R5,-(SP) R3,-(R5) R2,-(R5) R1,-(R5) RO,-(R5) PC,FILLMSG (SP)+,R5 (R5)+,R2 BR 50016$ MOV i'~iJ\i MOV 1\110 V MOV JSR OOOOOOG R1,#MSGSKEL 50015$ MOV ENDIF 50015$: ELSE 000406 50014$: ;+ ; THE TYPE QUEUE MUST BE E1,1PTY, SO WEilL RETURN THE DEFAULT MESSAGE ; WHICH IS THE ONE-CHAR NULL MESSAGE , 000246' 000246' 000252 1 000252 1 000256' 000256' 000260 1 000260' 000262 1 000262' 000262' 000262' 012701 177775 016502 000004 lET R1 ·- #MSGNUL LET R2 ·- DFTMSG(R5) LET R3 005003 LET R4 005004 ··- r/,ov #MSGNUL,R1 MOV DFTMSG(R5),R2 CLR R3 CLR R4 #0 #0 ENDIF 50016$: ENDIF 50013$: MACY11 30A(1052) MSGDGET ... DE-QUEUE THE NEXT MESSAGE TO BE PRINTED DE-QUEUE NEXT MESSAGE 2B-JUL-7B 09:23 MSGDGE.MAC 697 (4) 698 (4 ) 699 (3) (3) (2) 715 716 18:09 PAGE 21-3 SEQ 0727 ENDIF 00026~; 500115: 000262' 000262' 000262' ENDIF 50007$: ;+ ; LOAD UP OUTPUT ARGUMENTS 700 701 702 703 704 (4) 705 (4) 706 (4) 707 (4) 708 709 710 711 712 713 (3) 714 20-SE?-78 , 000262' 000262' 000266' 000266' 000272' 000272' 000276' 000276' LET MSGADDR(R5) ..- R2 LET HDRADDR(R5) " - R3 LET RETADDR(R5) "- R4 LET MSGTYPE(R5) 010165 010265 010365 010455 000006 000010 000012 000014 + RESTORE REGISTERS AND 000302' 000302' 004767 000306' 000306 1 000306' 000306' 000207 000001 R1 R~TURN MOV R1,MSGTYPE(R5) MOV R2,MSGADDR(R5) MOV R3,HDRADDR(R5) MOV R4,RETADDR(R5) JSR PC,RESREG RTS PC TO CALLER CALL RESREG OOOOOOG ENDRTN 50000S: 50001S: .END MSGDGET - DE-QUEUE THE NEXT MESSAGE TO BE PRINiED MSGDGE.MAC 28-JUL-78 09:23 SYMBOL TABLE ACSR ACTBIT= ADDR22= ADR APTFER= APTPRE= ASS ASSEMB= ASTAT = AUTO == AUTOST= AWAS BITO BITOO BIT01 BIT02 BIT03 BIT04 BIT05 BIT06 BIT07 BIT08 BIT09 BI T 1 31T10 8!T11 BIT12 8IT13 BIT14 BIT15 = 81T2 81T3 BIT4 BIT5 BITS = BIT7 BIT8 BIT9 SKDEF BKMOD BKMODE= BKSLSH= CAPRES= CASTAT= CDERCT= CDWDCT= CKTIM = ClKPRE= CONFIG= CQOVF CR CSRA CSRC 000102 004000 001000 000006 000004 000200 000106 000010 000104 000010 020000 000110 000001 000001 000002 000004 000010 000020 000040 000100 000200 000400 001000 000002 002000 004000 010000 020000 040000 100000 000004 000010 000020 000040 000100 000200 000400 001000 000002 000020 040000 000134 000004 000004 000146 000144 100000 000001 000056 000001 000015 000100 000102 CTRLC = CTRLO = CTRLU = OCEVNT= O"EFRTN= DEQiQ ~ DFTMSG= DIAGMC= DRQPMO= DSEVNT= DTABlE= DT.ADD= DT.AP = DT.APK= DT.BLS= DT.CFO= DT.CF1= DT.ERR= DL ES I:: DT.EVN= DT.EXS= DT.FCH= DT.FCN= DT.HMX= DT.KBE= DT . KBP= DT.KSR= DT.KBU= DT .MLS=" DT.MTI= DT.OFF=" DT.PAS= DT.PC = DT.PFL= DT.PSW= DT.PTA= DT.RCS= DT.REL= OT.SCT= DT.SMX= DT.SP = DT.SSI= DT.STO= DT.ST1= DT.SWR= DT.SYP= DT.WBU= DT.WHL= DT.WLL= DVID1 = ECCMEM= ECCSTA= ENBEOP= MACY11 30A(1052) ~8:09 PAGE 22 SEQ 0728 000003 000017 000025 000011 000400 ENBNUL= ENDLST= EOPBIT= ERRTYP= EVNTBE= ****** G EVf\.JTHD= 000004 000000 100000 000014 000000 000042 000100 000076 000034 000014 000016 000020 000044 000000 000060 000037 000036 000104 000024 000026 {l00022 000030 000032 000110 000070 000074 000002 000062 000004 000064 000102 000040 000066 000106 000006 000046 000010 000012 000056 000072 000050 000054 000052 000014 000100 000010 010000 2C-SEP-78 EVNTKT= EVNTPE= EVNTRE= FATERR= FILLMS= HDRADD= HRDCNT= HRDPAS= ICONT = ICOUNT= IDNUM = IE INDPAR= INHDRP= !NHEPR= INHREL= INHRRE= IN IT INTR I Of-AOD HJMODP= 10MO:)R= IOMODX= JACK KBECH = KB.INP= KIPARO= KIPAR1= KIPAR2= KIPAR3= KIPAR4= KIPAR5= KIPAR6= KIPAR7= KIPDRO= KIPDR1= KIPDR2= KIPDR3= KIPDR4= KIPDR5= KIPDR6= KIPDR7= KTERRO= KTPRES= KTSTAT= KTXTND= LF 000001 000000 000001 000106 000200 000200 000203 000202 000201 100000 ****** 000012 000044 000050 000036 000040 000122 000100 000040 040000 020000 001000 000400 000030 000120 100000 102000 112000 110000 035060 000002 G ***¥** G 172340 172342 172344 172346 172350 172352 172354 172356 172300 172302 172304 172306 172310 172312 172314 172316 000040 000400 000020 040000 000012 LPSTAT= MAPSTA= r.,,1ED MEMPAS= MODEXH= MODHOL= r.mDSEL= MSGADD= MSGCKD= MSGCKS= MSGDER= MSGDGE MSGDRP= MSGECH= MSGEOP= MSGHDR= MSGHNG= MSGHRD= MSGMAP= MSGNUL= MSGPOP= MSGPRrVl= MSGRES= MSGSFT= MSGSKE= MSGSMS= MSGsrv1H= MSGSMS= MSGSTD= MSGSYS= MSGTYP= MSGVEC= NSKMOD= NCPUOP= NOAPTY= NULL O~JEN " PAERR PARPRE= PARSTA= PASCNT= PDPLSI= PDP60 PDP70 PRIO PR 11 PRI4 PRI5 PRI6 PRI7 PRO = PR4 PR5 000001 000200 076600 040000 004000 002000 001000 000010 000010 000011 000005 OOOOOORG 000017 177777 000013 000004 000022 000007 000021 177775 000002 177776 000001 000006 000003 000015 000014 000016 000000 000012 000006 000020 001000 Q00020 000002 000000 024020 000010 002000 000100 000034 020000 004000 010000 000000 000040 000200 000240 000300 000340 000000 000200 000240 PR6 PR7 PS PSW RANNUM= RBUFEA= RSUFPA= R9UFSZ= RBUFVA= RDSERV= RDWHfJII= RELERR= RELMOD= REL TIM= RESREG= RES1 RES2 RETADD= RICHAR= RPTDAT= RSTRT = RUBOUT= RUNMOD= R5VAlU= SA:'V1 SAVREG= SBADR = SBKMOD= SSKSEL= SC.ADR= SC.ALC= SC.APC= SC.CKl= SC.CKP= SC.CLO= SC.HlD= SC.SCA= SENDLS= SOFCNT= SOFPAS= SPACE = sponn= SPIJALU= SRO SR1 SR2 SR3 STAT STATBl= STA T1 = SUSPND= SVRO SVR1 000300 000340 177776 177776 000054 000130 000126 000132 000124 000101 000022 000020 02.0000 010000 ****** G 000056 000060 000014 031060 002000 000112 000177 100000 001740 075464 ****** G OOOi02 000000 010000 000006 000014 000016 000002 000004 0000"00 000010 000012 177777 000042 000046 000040 000032 002200 177572 177574 177576 172516 000026 064757 000027 000001 000062 000064 MSGDGET - DE-QUEUE THE NEXT MESSAGE TO BE PRINTED MSGDGE.MAC 28-JUL-78 09:23 SYMBOL TABLE SVR2 SVR3 SVR4 SVR5 SVR6 SYSCNT= SYSERR= TMPIO = TQDVF = UIPARO= UIPAR1= UIPAR2= UIPAR3= UIPAR4= UIPAR5= UIPAR6= UIPAR7= UIPDRO= UIPDR1= UIPDR2= UIPDR3= UIPDR4= 000066 000070 000072 000074 000076 000052 000100 000002 000002 177640 177642 177644 177646 177650 177652 177654 177656 177600 177602 177604 177606 177610 ABS. 000000 000310 UIPDR5= UIPDR6= UIPDR7= WASADR= WBSTAT= WBUFEA= WSUFPA= WBUFRQ= WBUFSZ= WDFR WDTD WTINRE= WTWHMI= XFLAG = XDFF XON $SGNLE= $ERFLG= $F$AND= $F$8AD= $F$8LA= $F$CAS= 177612 177614 177616 000104 000040 000136 000134 000140 000142 000116 000114 000352 000222 000005 000023 000021 177777 000400 000310 000401 000170 000150 000 001 ERRORS DETECTED: 0 DEFAULT GLOBALS GENERATED: 0 DSKZ:MSGDGE,DSKZ:MSGDGE=SPMAC/ML,EQUATE,MSGDGE RUN-TIME: 16 6 .4 SECONDS RUN-TIME RATIO: 102/23=4.2 14K (27 PAGES) CORE USED: MACY11 30A(1052) $F$DEC= $F$DO = $F$FAL= $F$GOO= $F$IF = $F$!NC= $F$LOO= $F$NAM= $F$ND = $F$OR = $F$RTI= $F$RTN= $F$SEl= $Fsn:E= $F$TRU= $F$UNT= $F$\fJHI= $F$YES= $IFLEV= $ISKO $ISK1 $ISK2 000220 000340 000405 000400 000110 000210 000200 000160 000403 000320 000350 000300 000140 000330 000404 000130 000120 000402 177777 000001 000001 000001 20-SEP-78 $ISK3 $ISK4 $LOCTA= $LSTIN= $LSTTA= $NESTL= $NSKO $NSK1 $NSK2 $NSK3 . $NSK4 $NSK5 $SAVLE= $SSKO = $TAGLE= $TAGNU= $TEMP STSKO STSK1 $TSK2 $TSK3 $TSK4 18:09 000001 000001 177777 000001 000001 177777 000300 000110 000110 000110 000110 000110 177777 050006 177777 050017 000300 050007 050011 050013 050016 050015 PAGE 22-1 SEQ 0729 $$ARGC= $$8YTE= $SCASE= SSDST = $$ElOC= $$ERF L= $$FLAG= 5$ FRor~l= $$LOC = S$LOCN= $$REG = $$RETU= SSRTN1= $$RTN2= SSSRC = $$TGSV= $$TGS1= $$TGS2= $$TO $$$TAG= 000016 000403 000000 000000 000402 000000 000001 000000 000214R 000000 177777 000000 050000 050001 000000 000000 000000 000000 000000 050000 000310R .MAIN. MACV11 30A(1052) 20-SEP-78 EQUATE.MAC 13-SEP-78 16:13 3 565 570 598 18:11 TABLE OF CONTENTS COMMON EQUATE MODULE COMMON DEFINTIONS AND REFERENCES 000000' .PRINT ;SPMAC: VERSION 1.1 MSGDHOOK ROUTINE SEQ 0730 MSGDHOOK - HOOK MESSAGE TO OUTFUT DRIVER MACY11 30A(1052) MSGDHO.MAC 01-AUG-7811:29 COMMON EQUATE MODULE 508 509 510 511 512 . 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 .TITLE .IDENT 20-SEP-78 18:11 PAGE 19 SEQ 0731 MSGDHOOK - HOOK MESSAGE TO OUTPUT DRIVER /VO.O/ ;++ MODULE NAME: MSGDHOOK FUNCTIONAL DESCRIPTION: THIS ROUTINE HOOKS THE ADDRESS OF THE NEXT MESSAGE TO BE PRINTED TO THE APPROPRIATE OUTPUT DRIVER AND THEN INITIATES THE PRINTING OF THE MESSAGE BY CALLING THE DRIVER AT ITS I/O INITIATOR ENTRY POINT. INPUTS: 1. 2. 3. 4. ADDRESS OF DATA TABLE MESSAGE TYPE CODE ADDRESS OF MESSAGE RETURN ADDRESS IMPLICIT INPUTS: 1. DT.STO 2. DT.CFO OUTPUTS: NONE IMPLICIT OUTPUTS: NONE PATHOLOGICAL CONNECTIONS: NONE SUBORDINATE ROUTINES CALLED: TTINI LPINI SAVREG RESREG FUNCTIONAL SIDE EFFECTS: NONE CALLING SEQUENCE: CALL MSGDHOOK IN WHERE DTABLE ADDRESS OF DATA TABLE MSGCOD MESSAGE TYPE CODE MSGADDR MESSAGE ADDRESS RETADDR RETURN ADDRESS VERSION: 0.0 EDIT ;- BY DATE REASON MSGDHOOK - HOOK MESSAGE TO OUTPUT DRIVER MACY11 30A(1052) MSGDHO.MAC 01-AUG-7811:29 COMMON EQUATE MODULE 564 565 566 20-SEP-78 18:11 PAGE 20 SEQ 0732 .SBTTL COMMON DEFINTIONS AND REFERENCES .PRINT ;MCALL STRUCT STRUCT ;SPMAC: VERSION 1.1 $LSTIN = 1 $LSTTAG = 1 567 568 569 570 (1) 571 572 573 574 575 576 577 000000' 000000 • 000001 000001 ;**************** , ; REFERENCED BY OTHER MODULES 578 579 .GLOBL 58C 581 582 MSGDHOOK ;MODULE'S ENTRY POINT ;**************** 583 , 584 ; GLOBAL REFERENCES 585 586 587 588 .GLOSL .GLOBL .GLOBL .GLOBL 589 TTINI LPINI SAVREG RESREG ;TERMINAL DRIVER MODULE ;LINE PRINTER DRIVER MODULE 590 591 592 ;**************** , 593 ; LOCAL STORAGE: 594 595 596 OOOOCO' 000000 MS. EXT: .WORD 0 ;EXIT THROUGH HE~E IF NO ;AND ITS A MSGPOP TTY(~NDER APT) MSGDHOOK - HOOK MESSAGE TO OUToUT DRIVER MACY11 30A(1052) MSGDHO.MAC 01-AUG-7811:29 MSGDHOOK ROUTINE 598 599 600 601 (2) 602 603 604 605 606 607 608 (3) 609 (4) 610 (4) 611 (4) 612 (4) 613 (4) 614 615 616 617 618 619 620 621 622 (6) (9) 623 624 625 626 627 628 (6) (9) 629 (3) (7) (6) (5 ) (4) (3 ) (3) 630 (4) (3 ) 631 632 633 .SBTTL 20-SEP-78 18:11 PAGE 21 SEQ 0733 MSGDHOOK ROUTINE ROUTINE MSGDHOOK 000002 1 000002 1 MSGDHOOK: ;+ ; DO THE NECESSARY SET-UP STUFF ;- 000002 1 000002' 000006' 000006' 000012' 000012' 000016' 000016' 000022' 000022' 000026' 000026' CALL SAVREG 004767 OOOOOOG LET R1 016501 JSR PC,SAVREG MOV MSGCODE(R5),R1 MOV MSGADDR(R5),R2 MOV RETADR(R5),R3 MOV R3,MS.EXT MOV DTABLE(R5) ,RO .- MSGCODE(R5) 000002 LET R2 .- MSGADDR(R5) 016502 000004 016503 000006 LET R3 '- RETADR(R5) LET MS. EXT := R3 010367 177752 016500 000000 LET RO := DTABLE(R5) ;+ ; IF THERE IS NO TTY (UNDER APT) WE WILL BE EXITTING DIRECTLY ;000032' 000032 1 032760 000040' 001026 (BE~DW) IF #NOAPTY NOTSETIN DT.CFO(RO) THEN 000002 000014 BIT BNE #NOAPTY,DT.CFO(R 50002$ BIT BEQ #LPSTAT,DT.STO(R 50003$ MOV JSR MOV R5,-(SP) R3,-(R5) R2,-(R5) R1,-{R5) RO,-(R5) PC,LPINI (SP)+,R5 BR 50004$ ;+ ; IS THE ULPON" KEYBOARD COMMAND IN EFFECT? IF IT IS, ; THIS MESSAGE IS TO GO TO THE LINE PRINTER ', - 000042' 000042' 000050 I 000052 1 000052 1 000054' 000056 1 000060 1 000062' 000064 1 000070' 000072 1 000072 1 000074' IF #LPSTAT SETIN DT.STO(RO) THEN 032760 001411 000001 000010 CALL LPINI IN 010546 010345 010245 010145 010045 004767 012605 MOV MOV MOV MOV OOOOOOG ELSE 000410 50003$: ;+ ; IF NO ONE ELSE WANTS IT, PASS IT TO THE TERMINAL OUTPUT DRIVER MSGDHOOK - HOOK MESSAGE TC OUTPUT DRIVER MACY11 30A(1052) MSGDHO.MAC 01-AUG-7811:29 MSGDHOOK ROUTINE 634 635 (3) (7) (6) 000102 1 010145 (4) (3) 000104' 000106 1 000112 1 000114' 000114 1 000114' 000114' 000116' 010045 004767 012605 (3) 636 (4) 637 (4) (3) 638 639 640 641 642 643 644 (3) 645 646 (2 ) 647 (2) 648 (2) 649 (4) 650 651 652 653 654 655 656 (3) 657 (3) (3) 18:11 PAGE 21-1 SEQ 0734 CALL TTINI IN 000074 1 000074 1 010546 000076 1 010345 000100 1 010245 (5) 20-SEP-78 OOOOOOG MOV MGV MOV MOV MOV JSR MOV R5,-(SP) R3,-(R5) R2,-(R5) R1,-(R5) RO,-(R5) PC,TTINI (SP)+,R5 BR 50005$ JSR PC,RESREG TST (SP)+ MJV (SP)+,R5 ENDIF 50004$: ELSE 000406 000116' 000116' 004767 000122' 000122' 005726 .000124' 000124 1 012605 000126' 000126 1 000177 000132 1 000132' 50002$: ;+ ; IF WE ARE UNDER APT WITH NO TTY, ; CLEAN UP IN AN .UNNATURAL WAY (SIMULATE THE N8R~AL RETURN ; THAT IS, RESTORE REGS, DO ONE FINAL POP, WHICH KILLS ; THE RTS PC. RESTORE R5 THEN JUMP THRU MS. EXT) ;CALL RESREG OOOOOOG INLINE INUNE INLINE JMP @MS.EXT 177646 ENDIF 50005$: ;+ ; CHOW BABY!!!!! !1 'f - (2 ) 000132' 000132' 004767 000136' 000136' 000136' 000136' 000207 658 659 660 000001 CALL RESREG OOOOOOG JSR PC,RESREG RTS PC ENDRTN 50000$: 50001$: .END MACY11 30A (1052) MSGDHOOK - HOOK MESSAGE TO OUTPUT DRIVER SYMBOL TABLE 01-AUG-78 11 : 29 MSGDHO.MAC ACSR ACTBIT= ADDR22= ADR APTFER= APTPRE= ASB ASSEM9= ASTAT = AUTO : AUTOST= AtvAS BITO BITOO = BI T01 BIT02 BIT03 BIT04 BIT05 BIT06 BIT07 BIT08 BIT09 BIT1 = BIT10 BIT11 BIT12 BIT13 3IT14 BIT15 BIT2 BIT3 BIT4 BITS BIT6 BIT7 BIT8 BIT9 BKDEF BKMOD BKMODE= BKSLSH= CAPRES= CASTAT= CDERCT= CDWDCT= CKTIM = CLKPRE= CONFIG= CQOVF CR CSRA = CSRC 000102 004000 001000 000006 000004 0"" . . "('\ \,I'v,/!."",""" 000106 000010 000104 000010 020000 000110 000001 000001 000002 000004 000010 000020 000040 000100 000200 000400 001000 000002 002000 004000 010000 020000 040000 100000 000004 000010 000020 000040 000100 000200 000400 001000 000002 000020 040000 000134 000004 000004 000146 000144 100000 000001 000056 000001 000015 000100 000102 CTRLC = CTRLO = CTRLU = DCEVNT= DEFRTN= D!AGMC= DROPMO= DSEVNT= DTABLE= DT.ADD: DT.AP = DT.APK= DT .BLS= DT.CFO= DT.CF1= DT.ERR= DT.ESI= DT.EVN= DT.EXS= DT.FCH= DT.FCN= DT.HMX= DT.KBE= DT.KBP= DT.KBR= DT .KBU= DT.MLS= DT.MTI= DT.OFF= DT.PAS= DT.PC = DT.PFl= DT.PSW= DT.PTA= DT.RCS= DT.REL= DT.SCT= DT.SMX= DT.SP = DT.SSI= DT.STO= DT.ST1= DT.SWR= DT.SYP= DT.WBU= DT.WHL= DT. WLL= DVID1 = ECCMEM= ECCSTA= ENBEOP= ENBNUL= ENDLST= 000003 000017 000025 000011 000400 000000 100000 000014 000000 000042 000100 000076 000034 000014 000016 000020 000044 000000 000060 000037 000036 000104 000024 000026 000022 000030 000032 000110 000070 000074 000002 000062 000004 000064 000102 000040 000066 00.0106 000006 000046 000010 000012 000056 000072 000050 000054 000052 000014 000100 000010 010000 000001 000000 EOPBIT= ERRTYP= EVNTBE= EVNTHD= EVNTKT= EVNTPE= EVNTRE= FATERR= HRDCNT= HRDPAS= ICONT = ICOUNT= IDNUM = IE INDPAR= INHDRP= INHEPR= INHREL= INHRRE= INIT INTR IOMOD IOMODP= IOMODR= IOMODX= JACK KIPARO= KIPAR1= KIPAR2= KIPAR3= KIPAR4= KIPAR5= KIPAR6= KIPAR7= KIPDRO= KIPDR1= KIPDR2= KIPDR3= KIPDR4= KIPDR5= KIPDR6= KIPDR7= KTERRO= KTPRES= KTSTAT= KTXTND= LF LPINI = LPSTAT= MAPSTA= MED MEMPAS= MODEXH= 20-SEP-78 000001 000200 076600 040000 004000 PAGE 22 SEQ 0735 MODHOL= MODSEL= MSGADD= MSGCKD= MSGCKS= MSGCOD= MSGDER= MSGDHO MSGDRP= MSGECH= MSGEOP= MSGHDR= MSGHNG= MSGHRD= MSGMAP= MSGNUL= MSGPOP= MSGPRM= MSGRES= MSGSFT= MSGSKE= MSGSM3= MSGSMH= MSGSMS= MSGSTD= MSGSYS= MSGVEC= MS. EXT NBKMOD= NCPUOP= NOAPTY= 000001 000103 00020'0 000200 000203 000202 000201 100000 000044 000050 000036 000040 000122 000100 000040 040000 020000 001000 000400 000030 000120 100000 102000 112000 110000 035060 172340 172342 172344 172346 172350 17.2352 172354 172355 172300 172302 172304 172306 172310 172312 172314 172316 000040 000400 000020 040000 000012 ****** 18: 11 NUll G OWEN PAERR PARPRE= PARSTA= PASCNT= PDPLSI= PDP60 PD?70 PRIO PR 11 PRI4 PRI5 PRI6 PRI7 PRO PR4 PR5 PR6 PR7 PS PSW 002000 001000 000004 000010 000011 000002 000005 000C02RG 000017 177777 000013 000004 000022 000007 000021 177775 000002 177776 000001 000006 000003 000015 000014 000016 000000 000012 000020 OOOOOOR OOiOOO 000020 000002 000000 024020 000010 002000 000100 000034 020000 004000 010000 000000 000040 000200 000240 00~300 000340 000000 000200 000240 000300 00J340 177776 177776 RANNUfV!= RBUFEA= R8UFPA= RBUFSZ= RBUFVA= RDSERV= RDWrlMI= RELERR= RELMOD= RELTIM= RESREG= RES1 RES2 RETADR= RICHAR= RPTDAT= RSTRT = RU60UT= RUNMOD= R5VALU= SAM SA\/REG= SBADR = SBKMOD= S9KSEL= SC.ADR= SC.ALC= SC.APC= SC.CKL= SC.CKP= SC.CLO= SC.HLD= SC.SCA= SENDLS= SOFCNT= SOFPAS= SPACE = SPOINT= SPVALU= SRC SR1 SR2 SR3 STAT STAiBI= STAn = SUS?ND= SVRO SVR1 SVR2 S\iR3 SVR4 SVR5 000054 000130 000126 000132 000124 000101 000022 000020 020000 010000 ****** G 000056 00006() 000006 031060 002000 000112 000177 100000 001740 075464 ****** G 000102 000000 010000 000006 0000;4 000016 000002 000004 000000 000010 000012 177777 000042 000046 000040 000032 002200 177572 177574 177576 172516 000026 064757 000027 000001 000062 000064 000066 000070 000072 000074 MSGDHCOK - HOOK MESSAGE TO OUTPUT DRIVER MACY11 30A(1052) MSGDHO.MAC 01-AUG-7811:29 SYMBOL TABLE SVR6 SYSCNT= SYSERR= TMPIO = TQOVF = TTINI = UIPARO= UIPAR1= UIPAR2= UIPAR3= UIPAR4= UIPAR5= UIPAR6= UIPAR7= UIPDRO= UIPDR1= UIPDR2= UIPDR3= UIPDR4= UIPDR5= ASS. UIPDR6= UIPDR7= WASADR= WBSTAT= WBUFEA= WSUFPA= WBUFRQ= WBUFSZ= WDFR WDTO WTINRE= WTWHMI= XFLAG = XOFF XON $BGNLE= $ERFLG= $F$AND= $F$BAD= $F$SLA= 000076 000052 000100 000002 000002 ****** 177640 G 177642 177644 177646 177650 177652 177654 177656 177600 177602 177604 177606 177610 177612 000000 000140 177614 177616 000104 000040 000136 000134 000140 000142 000116 000114 000352 000222 000005 000023 000021 177777 000400 000310 000401 000170 000 001 ERRORS DETECTED: 0 DEFAULT GLOBALS GENERATED: 0 DSXZ:MSGDHO,DSKZ:MSGDHO=SPMAC/ML,EQUATE,MSGDHO RUN-TIME: 12 2 .4 SECONDS RUN-TIME RATIO: 69/16=4.3 14K (27 PAGES) CORE. USED: $FSCAS= $F$DEC= $F$DO = $F$FAL= $F$GOO= $F$IF = $F$INC= $FSLOO= $F$NAM= $F$NO = $F$OR = $F$RTI= $F$RTN= $F$SEL= $F$THE= $F$TRU= $F$UNT= $F$WHI= $F$YES= $IFLEV= "20-SEp-78 000150 000220 000340 000405 000400 000110 000210 000200 000160 000403 000320 000350 000300 000140 000330 000404 000130 000120 000402 177777 18:11 PAGE 22-1 $ISKO $ISK1 $LOCTA= $LSTIN= $LSTTA= $NESTL= $NSKO = $NSK1 = $NSK2 = $SAVLE= $TAGLE= $TAGNU= STEMP = STSKO = $TSK1 = $$ARGC= $$BYTE= $SCASE= $$DST = $$ELOC= 000001 000001 177777 000001 000001 177777 000300 000110 000110 177777 177777 050006 000300 050005 050004 000010 000403 000000 000000 000402 SEQ 0736 $SERFL= $SFLAG= $$FROM= $$LOC $$LOCN= $$REG $SRETU= $$RTN1= $SRTN2= $SSRC = $$TGSV= $$TGS1= $$TGS2= $$TO $$$TAG= = = 000000 000001 000000 000050R 000000 177777 000000 050000 050001 000000 000000 000000 000000 000000 050000 000140R .MAIN. MACY11 30A(1052) 20-SEP-78 EQUATE.MAC 13-SEP-78 16:13 3 565 568 590 18:12 TABLE OF CONTENTS COMMON EQUATE MODULE COMMON DEFINITIONS AND REFERENCES FOR NAMCHK 000000 1 .PRINT iSPMAC: VERSION 1.1 NAMCHK ROUTINE SEQ 0737 NAMCHK VERIFY A MODULE NAME NAMCHK.MAC 2B-JUL-78 09:23 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 ·525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 MACY11 30A(1052) 20-SEP-78 18:12' PAGE 19 COMMON EQUATE MODULE SEQ 0738 .TITLE NAMCHK VERIFY A MODULE NAME .IDENT JVO.Oj ;++ MODULE NAME: NAMCHK FUNCTIONAL DESCRIPTION: THIS ROUTINE IS CALLED TO VERIFY A MODULE NAME. IT RECEIVES THE ADDRESS OF THE FIRST CHARACTER OF THE MODULE NAME AND SEARCHES THE MODULE LIST FOR A FIVE CHARACTER MATCH. IF THE MODULE NAME IS FOUND, THE HEAD~R ADDRESS OF THE MODULE IS RETURNED. IF IT IS NOT FOUND, A RETURN WITH ERROR OCCURS. THE UPDATED COMMAND DECODE BUFFER IS RETURNED WHETHER OR NOT THERE WAS AN ERROR. A RETURN WITH ERROR OCCURS IF THE MODULE NAME IS MORE THAN 5 CHARACTERS IN LENGTH. INPUTS: 1. ADDRESS OF DATA TABLE 2. COMMAND DECODE BUFFER POINTER IMPLICIT INPUTS: DT.MLST OUTPUTS: 1. HEADER ADDRESS OF MODULE 2. UPDATED COMMAND DECODE BUFFER POINTER IMPLICIT OUTPUTS: NONE PATHOLOGICAL CONNECTIONS: NONE SUBORDINATE ROUTINES CALLED: SAVREG RESREG FUNCTIONAL SIDE EFFECTS: NONE CALLING SEQUENCE: CALL NAMCHK IN OUT WHERE DTADR = ADDRESS OF DATA TABLE MODBUF = ADDRESS OF 5 BYTE BUFFER CONTAINING MODULE NAME HEAD = HEADER ADDRESS OF VERIFIED MODULE NEWBUF = UPDATED DECODE BUFFER POINTER VERSION: 0.0 EDIT DAi-E BY REASON NAMCHK VERIFY A MODULE NAME NAMCHK.MAC 28-JUL-78 09:23 565 566 567 568 (1) 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 MACY11 30A(1052) 20-SEP-78 18:12 PAGE 19-1 COMMON DEFINITIONS AND REFERENCES FOR NAMCHK .SBTTL COMMON DEFINITIONS AND REFERENCES FOR NAMCHK .MCALL STRUCT STRUCT .PRINT ;SPMAC: VERSION 1.1 000000' 000000' 000001 000001 $LSTIN=1 $LSTTAG=1 ;**************** , ; REFERENCED BY OTHER MODULES: .GLOBL NAMCHK ;**************** , ; GLOBAL REFEReNCES: .GLCBL .GLOBL SAVREG RESREG ;**************** ;ROUTINE ENTRY POINT SEQ 0739 NAMCHK VERIFY A MODULE NAME NAMCHK.MAC 28-JUL-78 09:23 590 591 592 (2) 593 594 595 596 597 598 599 600 601 (3 ) 602 (4) 603 (4) (6 ) 604 (6) (9) (6) (9) 605 (2 ) .SBTTL PAGE 19-2 SEQ 0740 NAMCHK: ;+ ; SAVE REGISTERS, UPDATE CMD DECODE BUFFER POINTER, AND SEE IF IT'S ; A SPACE OR .... IF NOT, POP R1 AND RETURN ERROR BECAUSE ; MODULE NAME MAY NOT EXCEED 5 CHARACTERS ..... ;- 000000' 000000 1 004767 000004' 000004' 016501 000010' 000010' 010165 000014' 062765 000022' 000022' 126127 000030' 001405· 000032' 126127 000040' 001401 000042' '000042' 000433 000044: (4) 607 60S 609 610 611 612 (4) 613 (4) 614 615 000044' CALL SAVREG OOOOOOG LET R1 := MODBUF(R5) 000002 LET NEWBUF(R5) := Rl + #5 000006 000005 000006 000005 000040 000005 000015 IFB 5(R1) NE #SPACE ANDB 5(R1) NE NCR THEN INLINE
JSR PC,SAVREG MOV MODBUF(R5) ,R1 MOV ADD R1,NE\IJBUF(R5) #5,NEWBUF(R5) CMPB BEQ C:..1PB BEQ 5(Rl),HSPACE 50002$ 5(Rl),#CR 50002$ BR 1$ MOV DTADR(R5),RO MOV DT .MLST(RO) ,RO MOV (RO) , R2 CMP EEQ (RO) ,#ENDLST 50004$ 50002$: ;+ ; SAVE DTABLE ADR, THEN MODULE LIST ;- 000044' 000044' 016500 000050' 000050' 016000 LET RO .- DTADR(R5) 000000 LET RO '- DT.MLST(RO) 000032 ;+ ; SAVE FIRST MODULE ADDR IN R2 616 ', - 617 618 (4) 18:12 NAMCHK ROUTINE ROUTINE NAMCHK 000000' 000000' 606 619 MACY11 30A(1052) 20-SEP-78 NAMCHK ROUTINE LET R2 .- (RO) 000054' 000054' 011002 620 621 622 623 624 625 (4) (6) (9) 626 627 628 ;+ ; WHILE MODULE LIST IS NOT EXHAUSTED (=0) •• •••••• , '- WHILE (RO) NE #ENDLST DO 000056' 000056' 000056' 021027 50003$: 000000 000062' 001423 ;+ ; INIT COUNT - WHILE CHARACTER IN MODULE HEADER CHARACTER IN NAMCHK VERIFY A MODULE NAME 28-JUL-78 09:23 NAMCHK.MAC 629 630 631 632 (4) 633 (4 ) (6 ) (9) 634 635 636 637 638 639 640 641 (6) 642 (6) (9) 643 (4) 644 (3 ) 645 (4) 646 (4) 547 (4 ) (3) 648 649 650 651 652 (6) 653 654 655 656 657 658 659 660 (4 ) 661 662 663 664 665 666 (4) 667 (4) 20-SEP-78 MACY 11 30A(1052) NAMCHK ROUTINE PAGE 19-3 18: 12 SEQ 0741 ; BUFFER .•.... , 000064' 000064' 012703 000070' 000070' 000070' 122221 000072' 001011 LET R3 := #5 000005 MOV #5,R3 CMPB BNE (R2)+, (R1)+ 50006$ DEC R3 TST BNE R3 50007$ MOV (RO),HEAD(R5) JSR PC,RESREG g~ 50000$ BR 50005$ ADD #2,RO MOV (RO) ,R2 r-t.ov MODSUF(R5),Rt 8R 50003$ WHILEB (R2)+ EQ (R1)+ DO 50005$: ;+ ; ADVANCE TO NEXT CHARACTER, DECREMENT COUNT, SEE IF COUNT ; IF IT IS ZERO, SAVE CURRENT HEADER ADDRESS (RO) AND ; RETURN WITH NO ERROR. O. , 000074' 000074' 000076' 000076' 000100' 000102' 000102' 000106 1 000106' 000112' 000112' 000114' 000114' 000114 1 000114' 000116' LET R3 005303 IF R3 005703 001005 .EO R3 - #1 #0 THEN LET HEAD(R5) 011065 000004 004767 OOOOOOG .- (RO) CALL RESREG RETURN NO.ERf(OR 000413 ENDIF 500075: ENDDO 000765 50006$: + GET TO THE NEXT TABLE ADDRESS 000116' 000116' 062700 LET RO .- RQ + #2 000002 ;+ ; SAVE NEW MODULE ADDRESS IN R2 ;- LET R2 000122' 000122' 011002 .- (RO) ;+ ; RESTORE MODULE BUFFER POINTER ;000124' 000124' 016501 000130' 000130' 000752 LET R1 000002 ENDDO := MODBUF(R5) NAMCHK VERIFY A MODULE NAME 28-JUL-78 09:23 NAMCHK.MAC (3) MACY11 30A(1052) 20-SEP-78 NAMCHK ROUTINE 18:12 PAGE 19-4 SEQ 0742 50004$: 000132' 6S3 669 670 671 ;+ ; CLEAN UP AND RETURN WITH ERROR BECAUSE MODULE NAME tJOT FOUND 072 673 (2) 574 (3 ) 675 676 (2) (4 ) 677 678 (3) (2 ) (3) (2) 679 680 000132' 000132' OOC132' 000132' 004767 !NLINE <1$:> CALL RESREG OOOOOOG JSR 000136' 000136' 000261 000140' 000401 RETURN ERROR 000142' 000142 1 000142' 000241 000144 1 000144 1 000207 ENDRTN 000001 PCtRESREG SeC 8:-< 50001$ 500005: CLC 50001$: RTS .END PC NAMCHK VERIFY A MODULE NAME 2S-JUL-78 09:23 NAMCHK.MAC ACSR ACTaIT= ADDR22= ADR APTFER= APTPRE= ASB ASSEMB= ASTAT = AUTO AUTOST= AWAS BITO BITOO BIT01 = B1T02 BIT03 B1T04 BIT05 BIT06 BIT07 BIT08 BIT09 BIT1 BIT10 BIT11 B1T12 81T13 BIT14 81T15 BIT2 = BIT3 81T4 BIT5 BIT6 BIT7 = BIT8 BIT9 BKDEF BKMOD BKMODE= BKSLSH= CAPRES= CASTAT= CDERCT= CDWDCT= CKTIM = CLKPRE= CONFIG= CQOVF CR CSRA CSRC 000102 004000 001000 000006 000004 000200 000106 000010 000104 000010 020000 000110 000001 000001 000002 000004 000010 000020 000040 000100 000200 000400 001000 000002 002000 004000 010000 020000 040000 100000 000004 000010 000020 000040 000100 000200 000400 001000 000002 000020 040000 000134 000004 000004 000146 000144 100000 000001 000056 000001 000015 000100 000102 MACY11 30A(1052) 20-SEP-78 SYMBOL TABLE 18: 12 EOPB1T= ERRTYP= EVNTBE= EVNTHD= EVNTKT= EVNTPE= EVNTRE= FATERR= HEAD HRDCNT= HRDPAS= lCONT = ICOUNT= IDNUM = IE = 1NDPAR= INHDRP= INHEPR= INHREL= INHRRE= INIT INTR IOMOD 10MODP= 10MODR= IOMODX= 000001 000106 000200 000200 000203 000202 000201 100000 000004 000044 000050 000036 000040 CTRLC CTRLO CTRLU DCEVNT= DEFRTN= DIAGW1C= DROPMO= DSEVNT= DTADR = DT.ADD= DT. AP = DT.APK= DT.BLS= DT.CFO= DT.CF1= DT.ERR= DT.ES1== DT.EVN= DT.EXS= DT.FCH= DT.FCN= DT.HMX= DT.KBE= DT .KBP= DT.KBR= DT.KBU= DT.iv1LS= DT.MTI= DT.OFF= DT. PAS= DT.PC = DT.PFL= DT.PSW= Dr. PT A= DT.ReS= DT.REL= DT.SCT= DT.SMX= DT.SP = DT.5S1= DT.STO= DT.5T1= DT.SWR= DT.SYP= DT.WBU= DT.WHL= DT.WLL= DVID1 = ECCMEM= ECCSTA= ENBEOP= ENBNUL= ENDLST= 000003 000017 000025 000011 000400 000000 100000 000014 000000 000042 000100 000076 000034 000014 000016 000020 000044 000000 000060 000037 000036 000104 000024 000C26 000022 000030 000032 000110 000070 000074 000002 000062 000004 000064 000102 000040 000066 000106 000006 000046 000010 000012 000056 000072 000050 000054 000052 000014 000100 000010 010000 000001 000000 I" "'1" Un\"''' KIPARO= KIPAR1= KIPAR2= KIPAR3= KIPAR4= KIPAR5= KIPAR6= KIPAR7= KIPDRO= KIPDR1= KIPDR2= KIPDR3= KIPDR4= KIPDR5= KIPDR6= KIPDR7= KTERRO= KTPRES= KiSTAT= KTXTND= LF LP5TAT= MAPSTA= MED MEMPAS= MODBUF= PAGE 20 SEQ 0743 000100 000040 040000 020000 001000 000400 000030 000120 100000 102000 112000 110000 MOCHOl= MODSEL= MSGCKD= MSGCKS= MSGDER= MSGDRP= MSGECH= MSGEOP= MSGHDR= MSGHNG= MSGHRD= MSGMAP== MSGNUL=· MSGPOP= MSGPRM= MSGRES= I\1SGSFT= MSGSKE= MSGSMB= MSGSMH= MSGS!'v1S= MSGSTD== MSGSYS== MSGVEC= NAMCHK 004000 002000 001000 000010 000011 000005 0000i7 177777 000013 000004 000022 000007 000021 177775 000002 177776 000001 000006 000003 000015 000014 000016 000000 000012 000020 OOOOOORG R8UFEA= RBUFPA= RBUr=SZ= RBUFVA= RDSERV= RD~lHM1 = RELERR= RELMOD= RELTIM= RESREG== RES1 RES2 RICHAR= RPTDAT= RSTRT = RUBOUT= RUNMOD= R5VALU= SAM SAVREG= S3ADR = SBK:i,OD= S9KSEL= SC.ADR= SC.ALC= SC.APC= "',""Cf'lCI"I V....J...,JVUy !,-JSK\'OD~ 001000 SC,CKL= 172340 172342 172344 172345 NCPUOP= NEWBUF= NOAPTY::: NULL OWEN PAERR PARPRE= PARSTA= PASCNT= PDPLSl= PDP60 PDP70 PRIO PR 11 PRI4 PRI5 PRI6 PRI7 PRO PR4 PR5 PR6 PR7 PS PSW RANNUM= 000020 000006 000002 000000 024020 000010 002000 000100 000034 020000 SC.CKP= SC.CLO= SC.HLD= SC.SCA= SENDLS= SOFCNT= SOFPAS= SPACE = SPOINT= SPVALU= SRO SRi SR2 SR3 STAT STATBI= STAT1 = SUSPND= SVRO SVR1 SVR2 SVR3 SVR4 SVR5 SVR6 SYSCNT= 0001~2 172350 172352 172354 172356 172300 172302 172304 172306 172310 172312 172314 172316 000040 000400 000020 040000 000012 000001 000200 076600 040000 000002 MO~EXH= 004~00 010000 000000 000040 000200 000240 000300 000340 000000 000200 000240 000300 000340 177776 177776 000054 000130 000126 000132 000124 000101 000022 000020 020000 010000 ****** G 000056 000060 031060 002000 000112 000177 100000 001740 075464 ***"'** G 000102 000000 010000 000006 000014 000016 000002 000004 000000 000010 000012 177777 000042 000046 000040 000032 002200 177572 177574 177576 172516 000026 064757 000027 000001 000062 000064 000066 000070 000072 000074 000076 000052 NAMCHK VERIFY A MODULE NAME NAMCHK.MAC 28-JUL-78 09:23 SYSERR= TMPID = TQOVF = UIPARO= UIPAR1= UIPAR2= UIPAR3= UIPAR4= UIPAR5= UIPAR6= UIPAR7= UIPDRO= UIPDR1= UIPDR2= UIPDR3= UIPDR4= UIPDR5= UIPDR6= UIPDR7= WASADR= 000100 000002 000002 177640 177642 177644 177646 177650 177652 177654 177656 ASS. 000000 000146 18:12 $F$FAL= $F$GDO= $F$IF = $F$INC= $F$LDD= $F$NAM= $F$ND = $F$DR = $F$RTI= $F$RTN= $F$SEL= $F$THE= $F$TRU= $F$UNT= $F$WHI= $F$YES= $IFLEV= $ISKO = $LOCTA= $LSTIN= 000405 000400 000110 000210 000200 000160 000403 000320 000350 000300 000140 000330 000404 000130 000120 000402 177777 000001 177777 000001 W8STAT= WBUFEA= WBUFPA= WBUFRQ= WBUFSZ= WDFR WDTD WTINRE= WTWHMI= XFLAG = XDFF XON $BGNLE= $ERFLG= $F$AND= $F$BAD= $F$BLA= $F$CAS= $F$DEC= $F$DO = 177600 177602 177604 177606 177610 177612 177614 177616 000104 ERRORS DETECTED: MACV11 3riA(1052) 20-SEP-78 SYMBOL TABLE 000040 000136 000134 000140 000142 000116 000114 000352 000222 000005 000023 000021 177777 000000 000310 000401 000170 000150 000220 000340 000 001 0 DEFAULT GL08ALS GENERATED: 0 DSKZ:NAMCHK,DSKZ:NAMCHK=SPMAC/ML,EQUATE,NAMCHK RUN-TIME: 13 3 .4 SECONDS RUN-TIME RATIO: 79/18=4.3 14K (27 PAGES) CORE USED: PAGE 20-1 SEQ 0744 $LSTTA= 000001 177777 000300 $NSKO $NSK1 = 000120 $NSK2 = 000120 $NSK3 = 000110 $SAVLE= 177777 $SSKO = 050004 $TAGLE= 177777 $TAGNU= 050010 000300 $TEMP 050003 $TSKO 050004 $TSK1 050005 $TSK2 050006 $TSK3 $TSK4 050007 $$ARGC= 000010 $$SYTE= 000403 $$CASE= 000000 $$DST = 000000 $N~STL= $$ELOC= $SERFL= $$FLAG= $$FROM= $SLOC = $$LOCN= S$REG = $$RETU= $$RTN1= $$RTN2= $SSRC = $STGSV= $$TGS1= SSTGS2= $$TO $$$TAG= 000403 000000· 000001 000000 000100R 000000 177777 000001 050000 050001 000000 000000 000000 000000 000000 050000 000146R .MAIN. MACY11 30A(1052} 20-SEP-78 EQUATE.MAC 13-SEP-78 16:13 3 558 561 603 18:14 TABLE OF CONTENTS COMMON EQUATE MODULE COMMON DEFENITIONS AND REFERENCES 000000 1 .PRINT NEWBA ROUTINE ;SPMAC: VERSION 1.1 SEQ 0745 NEW8A - ESTABLISH NEW BASE ADDRESS NEWBA.MAC 28-JUL-78 09:23 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534· 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 MACY11 30A(1052) 20-SEP-78 COMMON EQUATE MODULE 18:14 PAGE 19 SEQ 0746 .TITLE NEWBA - ESTABLISH NEW BASE ADDRESS .lDENT JVO.Oj ;++ MODULE NAME: NEWBA FUNCTIONAL DESCRIPTION: CALCULATES A NEW RELOCATION BASE ADDRESS BY USING EITHER THE CONSTANT OFFSET OR A RANDOMLY GENERATED OFFSET VALUE INPUTS: DATA TABLE ADDRESS, CURRENT ADDRESS OFFSET, FIRST RELOCATION FLAG IMPLICIT INPUTS: DT.REL, DT.ESIZ, DT.SSIZ, DT.SWR, DT.STO OUTPUTS: NEW ADDRESS OFFSET IMPLICIT OUTPUTS: NONE PATHOLOGICAL NONE CONNECTIONS~ SUBORDINATE MODULES CALLED: RANDOM SAVREG RESREG ;RANDOM NUMBER GENERATOR ;SAVE REGISTERS ;RESTOREREGISTERS FUNCTIONAL SIDE EFFECTS NONE CALLING SEQUENCE: CALL NEWBA IN OUT A=ADDRESS OF DATA TABLE B=CURKENT ADDRESS OFFSET C=FIRST RELOCATION FLAG D=NEW ADDRESS OFFSET VERSION: 0.0 EDIT ,._.- BY DATE REASON NEWBA - ESTABLISH NEW BASE ADDRESS NEW3A.MAC 28-JUL-78 09:23 558 559 560 561 ( 1) 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 MACY11 3QA(1052) 20-SEP-78 18:14 COMMON ~EFENITIONS AND REFERENCES 000000' 000000 1 000001 000001 .MCALL STRUCT STRUCT .PRINT ;SPMAC: VERSION 1.1 $LSTIN=1 $LSTTAG=1 ;**************** ; REFERENCED BY OTHER MODULES .GLOBL NEWBA ;MODULE ENTRY POINT ;**************** ; GLOBAL REFERENCES .GLOBL .GLOBL .GLOBL RANDOM SAVREG RES REG ;RANDOM NUMBER GENERATOR ;SAVE REGISTERS' ;RESTORE REGISTERS ; ;**************** 582 ; ; LOC.'''. L 583 STOR.~,GE 584 a 585 586 587 588 589 590 000000' 000000 NB.CNT: .WORD 000002' 000000 ~8.CYCLNG: .WORD 0 000004' 000000 NB.MAX: .WORD 0 591 000006 1 000000 000010 1 000000 NB.NBR: NB.STADDR: .WORD 0 .WORD 0 000012' 000000 NS.OFLAG: .l~ORD 000014 000000 NB.TOP: .WORD 0 000016 1 000000 NB.B!T: .WORD 0 593 594 0 595 596 1 597 598 599 600 601 SEQ 0747 .SBTTL COMMON DEFENITIONS AND REFERENCES 581 592 PAGE 19-1 ;**************** ;NO. OF RANDOM RELOCATION5 SINCE LAST ; MOVE TO BOTTOM OF MEMORY ;CYCLING FLAG - INDIC~TESf WHEN SET, RELOCATING BY CONSTANT OFFSET (CYCLING) ;MAX. NO. OF RANDOM R~LOCATIONS ALLOWED SEFOR= RELOCATING BACK TO BOTTOM ;STORAGE FOR RANDOM NUMBER ;STORAGE FOR EXERCISER'S STARTING ADDRESS OFFSET VALUE ;O-FLAG - INDlCATES, WHEN SET, THAT THERE HAS BEEN A RELOCATION TO BOTTOM ;OFFSET NEEDED TO MOVE THE EXERCISER TO HIGHEST MEMORY ;BIT PATTERN FOR USE WITH RANDOM NUMBER NEWBA - ESTABLISH NEW BASE ADDRESS NEWSA.MAC 28-JUL-78 09:23 603 604 605 (2) 606 607 608 609 610 611 612 (3) 613 614 615 616 617 618 619 (4) 620 621 622 623 624 625 '326 (6) (9) 627 628 629 630 631 632 633 (4) 634 ( 4) 635 (4) 636 637 638 639 640 641 (4 ) 642 643 644 645 646 647 648 649 MACY11 30A(1052) 20-SEP-78 18:14 PAGE 19-2 SEQ 0748 NEW8A ROUTINE .SBTTL NEWBA ROUTINE ROUTINE NEWBA 000020' 000020' NEWBA: ;+ ;SAVE REGISTERS 000020' 000020' 004767 CALL SAVREG OOOOOOG JSR PC,SAVREG MOV TA8L(R5),RO ;+ ;SET RO TO START OF DATA TABLE ;- 000024' 000024' 016500 LET RO := TABL(R5) 000000 ;+ ;IF THIS IS THE FIRST RELOCATION, DO THE ;- 000030' 000030' 026527 000036' 001067 NECESSA~Y INITIALIZATION IF RL1(RS) EO #1 THEN 000004 000001 CMP B;-..JE RL1(R5),#1 50002$ MOV #l,NB.CYCLNG CLR NB.OFLAG CLR NB.CNT MOV OLDPAR(R5),NB.ST ;+ ;INITIALIZE FLAGS AND NB.CNT ;000040' 000040' 012767 000046 1 000046 1 005067 000052' 000052 1 005067 LET NB.CYCLNG := #1 000001 177734 LET NB.OFLAG := #0 177740 LET NB.ctn := #0 177722 ;+ ;SAVE THE INITIAL ADDRESS OFFSET ;- 000056' 000056 1 016567 LET NB.STADDR := OLDPAR(R5) 000002 177724 ;+ ;CALCULATE NB.MAX BY DIVIDING BY 2 THE NUMBER OF K' 5 OF MEMORY. ;THIS IS DONE BY GETTING THE CONTENTS OF DT.SSIZ AND SrlIFTING ;TO THE RIGHT 6 TIMES. (5 TIMES TO GET NO. OF KIS, AND ONCE MORE TO ;DIVIDE BY 2). ;DON'T, HOWEVER, ALLOW NB.MAX TO BE GREATER THAN 30(10). NEWBA - ESTABLISH NEW BASE ADDRESS 28-JUL-78 09:23 NEWBA.MAC 650 651 652 (4) 653 (7) (7) (7 ) (7) (7) (7) 654 (6) (9) 655 (4) 656 (4) 657 (4) 20-SEP-78 MACY 11 30A(1052) NEWBA ROUTINE 18: 14 PAGE 19-3 SEQ 0749 , 000064 1 000064 1 000070' 000070' 000072' 000074 1 000076 1 000100 1 000102' 000104 1 000104' 000110' 000112 1 000112 1 000116 1 000116 1 000116 1 000116' 016001 LET R1 .- DT.SSIZ(RO) LET R1 .- R1 SHIFT #-6 000046 MOV ASR ASR ASR ASR 006201 006201 006201 006201 006201 006201 IF R1 GT # .... D30 THEN 000036 012701 000036 LET R1 R1 n~ rtl ASR R1 R1 R1 R1 CMP BLE R1,# . . D30 50003$ MOV #"030,R1 MOV R1,NB.MAX ASR 020127 003402 DT.SSIZ(RO).R1 := # .... D30 ENDIF LET NB.MAX 010167 177662 .- 500035: R1 NEWBA - ESTABLISH NEW BASE ADDRESS NEWBA.MAC 28-JUL-78 09:23 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 (4) (6) 674 (7) (7) (7 ) (7) (7 ) (7 ) 675 (6 ) 676 (6) 677 678 (6) (9) (6) (9) 67£1 (4) 680 (4) (3) 681 (4) 682 (4) 683 684 (4) (6) 685 686 687 688 (4) 689 690 691 692 MACY11 30A(1052) NEWBA ROUTINE 20-SEP-78 18:14 PAGE 20 SEQ 0750 ;+ ;CALCUlATE THE ADDRESS OFFSET NEEDED TO MOVE THE EXERCISER TO THE ;TOP OF CORE. THIS IS DONE USING THE FOllOWNG A~GORITHM: 1. GET THE SIZE OF THE MOVABLE PORTION OF THE eXERCISER 2. SHIFT OUT THE SIX lEAST SIGNIFICANT BITS rr3. ADD ONE TO THE RESULT TO ALLOW ROOM .... ,.....1""'1. Inc SHIFTED OUT 4. SUBTRACT THIS FROM THE SYSTEM SIZE. IF, HOWEVER, THE UNIBUS MAP IS SHUT OFF, (IT MAY NOT EVEN EXIST), THEN DON1T ALLOW RELOCATION ABOVE 124K. ru~ -rl 1"""11 ""f"'.lft."'!" O~U~~J II Ie---..,. UU~I ;000122 1 000122 1 000126 1 000132 1 000132 1 000134 1 000136' 000140' 000142 1 000144 1 000146 1 000146 1 LET R2 '- DT.ESIZ(RO) 016002 162702 #20000 000044 020000 LET R2 '- R2 SHIFT ASR ASR ASR ASR ASR ASR R2 R2 R2 R2 R2 R2 BIC #176000,R2 INC R2 LET R2 '- R2 CLR.BY #;76000 042702 176000 LET R2 .- R2 + #1 000152 1 005202 032760 001007 026027 103403 000200 000010 000046 007600 012701 007600 IF #MAPSTAT NOTSETIN DT.STO(RO) AND DT.SSIZ(RO) HIS #7600 THEN BIT BNE CMP BlO LET Ri . - #7600 MOV ELSE 000402 #MAPSTAT,DT.STO( 50004$ DT.SSIZ(RO},#760 50004$ #7600,R1 BR 50005$ MOV DT.SSIZ(RO),R1 Mev R1,NB.TOP R2,NB.TOP 50004$: LET Ri 016001 000206' 000206' 010167 000212' 160267 000216' 000216' DT.ESIZ(RO),R2 #20000,R2 #~6 006202 006202 006202 006202 006202 006202 OOO~521 000154' 000154' 000162' 000164' 000172' 000174 1 000174' 000200' 000200 1 000202 1 0002021 000202' 000206 1 000206 1 MOV SUB 0- DT.SSIZ(RO) 000046 ENDIF 50005$: LET NB.TOP 0- R1 - R2 177602 177576 SUB ENDIF 50002$: ;+ ;ARE WE RELOCATING BY THE CONSTANT OFFSET (CYCLING) ? WE ARE IF NEWBA - ESTABLISH NEW BASE ADDRESS NEWBA.MAC 28-JUL-78 09:23 000216' 000216 1 026727 (8) 000224' 001404 (6) (9) (6) 698 699 700 701 702 703 704 705 706 707 70S 709 (4) (6) 710 711 000226' 032760 000234' 001435 000236 1 717 718 719 720 721 722 723 724 725 726 (4) 727 (4) 728 729 730 (4) 731 732 733 734 735 736 18:14 PAGE 20-1 SEQ 0751 ;- IF NB.CYCLNG EQ #1 OR #BIT08 SETIN DT.SWR(RO) THEN 177560 000400 000001 CMP NB.CYCLNG,#1 OCt"l 50006$ u .... "" 000056 BIT BEQ #BIT08,DT.SWR(RO 50007$ MOV ADD OLDPAR(R5),NEWPA DT.REL(RO),NEWPA CMP BlOS NEWPAR(R5),NB.TO 50010$ 50006S: ;+ ;RELOCATING BY CONSTANT OFFSET (CYCLING) ;- ;+ ;ADD THE OFFSET CONSTANT TO THE CURRENT ADDRESS OFFSET TO FIND ;A NEW BASE ;- 000236' 000236' 016565 000244' 066065 LET NEWPAR(R5) "- OLDPAR(R5) + DT.REL(RO) 000002 000040 000006 000006 ;+ 712 (9) 20-SEP-78 ;THE CYCLING FLAG IS SET OR IF BIT 8 OF THE SOFTWARE SWITCH ;REGISTER IS SET. 693 694 695 696 697 (6) 713 714 715 716 (6) MACY11 30A(1052) NEWBA ROUTINE . ;SEE IF THIS NEW BASE VALUE IS TOO LARGE FOR THE SYSTEM. "- 000252' 000252' 026567 000260' 101406 IF NEWPAR(R5) HI NB.TOP THEN 000006 177534 ;+ ;THE NEW ADDRESS WILL BE TOO HIGH - WE'VE HIT THE TOP OF CORE, SO ;IT'S TIME TO RELOCATE TO THE BOTTOM. THE NEW OFFSET VALUE WILL BE 200. ;THIS WILL PUT THE EXERCISER SACK TOGETHER AGAIN AT THE BOTTOM OF ;MEMORY. SET NB.OFLAG TO INDICATE WE1VE GONE TO THE BOTTOM, AND RETURN. ;- 000262' 000262' 012765 000270' 000270' 012767 LET NEWPAR( R5) : = #200 000200 000006 000001 177514 LET NB.OFLAG := #1 MOV #200,NEWPAR(R5) Mev #1,NB.OFLAG ENDIF 000276' 000276' 50010$: ;+ ;NEW ADDRESS IS OK. BUT BEFORE WE LEAVE, WE HAVE TO SEE IF WE HAVE ;FINISHED CYCLING. THIS IS DuNE BY CHECKING IF THE NEW BASE IS ;GREATER THAN OR EQUAL TO THE STARTING ADDRESS OFFSET, AND IF NB.OFLAG NEWBA - ESTABLISH NEW BASE ADDRESS NEWBA.MAC 28-JUL-78 09:23 737 738 739 740 (6) (9) (6) (9) 741 742 743 744 745 746 747 748 (4) 749 (4) 750 751 20-SEP-78 18:14 PAGE 20-2 SEQ 0752 ;IS SEi ;- 000276' 000276' 000304 1 000306: 000314' IF NEWPAR(R5) HIS NB.STADDR AND NB.OFLAG EQ #1 THEN 026567 103410 026727 001004 000006 177504 i77500 OOOOOt BlO NEWPAR(R5),NB.ST 50011$ BNE 50011$ CLR NS.CYCLNG ClR NS.OFLAG SR 50012$ CMP BNE NB.OFLAG,#1 50013$ CMP ~~B. OFLAG, #1 ;+ ;CYCLING IS COMPLETED. ;ALSO CLEAR NB.OFLAG. 000316' 000316' 005067 000322' 000322' 005067 (4) 000326' 000326' 752 753 754 (4) 000326 1 000326' 000463 (3) 000330' 755 756 757 758 759 760 761 762 763 764 765 766 (6) (9) 767 768 769 770 771 772 773 (4) 774 (4) 775 776 777 (4) (3) MACY11 30A(10S2) NEWBA ROUTINE CLEAR THE CYCLING FLAG. LET NB.CYCLNG '- #0 177460 LET NB.OFLAG .- #0 177464 ENDIF 50011$: ELSE 50007$: ;+ ;RELOCATING BY RANDOM OFFSET VALUES ; - ;+ ;IF THE LAST RELOCATION WAS BACK TO THE BOTTOM OF MEMORY, THEN ;WE MUST NOW RELOCATE TO THE TOP-MOST PIECE OF MEMORY. ,' 000330' 000330' 026727 000336' 001006 IF Na.OFLAG EO #1 THEN 177456 000001 ;+ ;GET THE PREVIOUSLY CALCULATED OFFSET NEEDED TO GST US TO THE TOP ;OF MEMORY. ALSO CLEAR NB.OFLAG. , 0- 000340' 000340' 016765 000346' 000346' 005067 000352' 000352' 000451 000354' LET NEWPAR(R5) '- N8.TOP 177450 000006 MOV NB.TOP,NEWPAR(R5 CLR NS.OFLAG BR 50014$ LET NB.OFLAG '- #0 177440 ELSE 50013$: NEWBA - ESTABLISH NEW BASE ADDRESS NEWBA.MAC 28-JUl-78 09:23 778 779 780 781 782 783 784 785 786 (6) (9) 787 (4) 788 (4) 789 (4) 790 791 (4) (3) 792 793 794 795 796 797 798 799 800 801 802 803 804 805 (3) 806 (4) 807 (4) (3) (4) 808 (4) (6) (9) 809 (6) 810 (7) 811 (4) (3) 812 (3) (6) MACY11 30A(1052) NEW8A ROl.!TINE 20-SEP-78 18:14 PAGE 20-3 SEQ 0753 ;+ ;IF THE NUMBER OF PREVIOUS RANDOM RELOCATIONS EQUALS THE MAXIMUM, ;THEN RELOCATE TO THE BOTTOM OF CORE, SET NB.OFLAG, AND RESET THE ;RELOCATION COUNTER ;= 000354' 000354' 000362' 000364' 000364' 000372' 000372' 000400' 000400' IF NB.CNT EQ NB.MAX THEN 026767 001011 177420 177422 012765 000200 000006 012767 000001 005067 177374 CMP BNE NB.CNT,NB.MAX 50015$ MOV #200,NEWPAR(R5) MOV #1,NB.OFLAG ClR NB.CNT BR 50016$ LET NEWPAR(R5) .- #200 LET NB.OFlAG := #1 177412 LET NB.CNT := #0 ELSE 000404' 000404' 000434 000406' 500155: ;+ ;GET A RANDOM NUMBER AND SEE IF IT CAN BE USED TO CREATE AN ADDRESS ;WHICH IS GREATER THAN THE HIGHEST ADDRESS OF THE lOW 4K OF THE :EXERCISER AND SMALLER THAN OR EQUAL TO NB.TOP. ;IF IT IS TOO BIG, START CLEARING HIGH ORDER BITS ONE AT A ;TIME U~T!l THE NUMBER IS SMALL ENOUGH. THEN CHECK TO SEE IF IT IS ;TOO SMAll. IF IT IS, GET ANOTHER RANDOM NUMBER AND START ;AGAIN. WHEN A GOOD VALUE IS FOUND, SET UP THE OUTPUT AND INCREMENT ; THE COUNTER OF THE NUMBER OF RELOCATIONS. 000406' 000406' 000406' 000406' 000414' 000414' 000420' 000424' 000430' 000430' 000430' 000436' 000440' 000440' 000446' 000446' 000452' 000452' 000454' 000454' 000454' 000462' REPEAT 50017$: LET NB.BIT '- #100000 012757 100000 177402 162705 004767 012567 000002 OOOOOOG 177356 026767 101406 177352 177356 046767 177352 177340 006267 177344 MOV #100000,NB.BIT SUB JSR MOV #1*2,R5 PC,RANDOM (R5)+,NB.NBR CALL RANDOM OUT WHILE NB.NBR HI NB.TOP DO 50020$: CMP NB.NBR.NB.TOP BLOS 50021$ LET NB.NBR .- NB.NBR ClR.BY NB.BIT BIC NB.BIT.NB.NBR LET NB.BIT '- NB.BIT SHIFT #-1 ASR NB.BIT ENDDO 000766 8R 50020$ CMP BLO NB.NBR.#200 50017$ 50021$: UNTIL NB.NBR HIS #200 02672 7 103751 177326 000200 NEW3A - ESTABLISH NEW BASE ADDRESS 28-JUL-78 09:23 NEWBA.MAC 813 (4 ) 814 (6) 815 816 (4) 817 (4) 818 (4) 000464' 000464: 016765 000472' 000472' 005267 MACY 11 30A(1052) NEWBA ROUTINE 20-SEP-78 18: 14 PAGE 20-4 SEQ 0754 LET NEWPAR(R5) 177316 := NB.NBR 000006 MOV NB.NBR,NEWPAR(R5 INC NB.CNT JSR PC,RESREG RTS PC LET NB.CNT := NB.CNT + #1 177302 ENDIF 000476' 000476' 000476' 000476' 000476 ' 000476' 50016$: ENDIF 500145: ENDIF 500125: 819 820 821 822 823 824 825 (3 ) 826 827 (3 ) (3 ) (2 ) 828 829 ;+ ;RESTORE REGISTERS AND RETURN ;+ 000476' 000476' 004767 000502' 000502' 000502' 000502' 000207 000001 CALL RESREG OOOOOOG ENDRTN 500005: 500015: .END MACY11 30A(1052) SYMBOL TABLE NEWBA - ESTABLISH NEW BASE ADDRESS 28-JUL-78 09:23 NEWBA.MAC 000102 ACSR ACTBli= 004000 ADDR22.:: 001000 000006 ADR APTFER= 000004 APTPRE= 000200 ASS 000106 ASSEMB= 000010 ASTAT = 000104 000010 AUTO AUTOST= 020000 A\vAS 000110 000001 BITO 000001 BITOO 000002 BIT01 000004 BIT02 BIT03 000010 000020 BIT04 000040 BITOS 000100 BIT06 BIT07 000200 000400 BITOS BIT09 OO~OOO 000002 BIT1 BIT10 002000 004000 BIT11 010000 BIT12 BIT13 020000 040000 BIT14 100000 BIT1S BIT2 000004 000010 BIT3 000020 BIT4 000040 BIT5 BITS 000100 BIT7 000200 BITS 000400 BIT9 001000 BKDEF 000002 BKMOD 000020 BKMODE= 040000 BKSLSH= 000134 CAPRES= 000004 CASTAT= 000004 CDERCT= 000146 CDW.DCT= 000144 CKTIM = 100000 CLKPRE= 000001 CONFIG= 000056 000001 CQOVF CR = 000015 CSRA = 000100 CSRC = 000102 CTRLC = CTRLO = CTRLU = DCEVNT= DEFRTN= DIAGMC= 000003 000017 000025 000011 000400 000000 DROpr,10= 100000 DSEVNT= DT.ADD= DT.AP = DT.APK= DT.BLS= DT.CFO= DT.CF1= DT.ERR= DT.ESI= DT.EVN= DT. EXS=. DT.FCH= DT.FCN= DT.HMX= DT.KBE= DT.KBP= DT.KBR= DT. KBU= DT.MLS= DT.MTI:: DT.OFF= DT.PAS= DT.PC = DT.PFL= DT.PSW= DT.PTA= DT.RCS= DT. REL= DT. SCT= DT.SMX= DT.SP = DT.SSI= DT.STO= DT.ST1= DT.SWR= DT.SYP= DT.WBU= DT.WHL= DT.WLL= DVID1 .ECCMEM= ECCSTA= ENBEOP= ENBNUL= ENDLST= EOPBIT= 000014 000042 000100. 000076 000034 000014 000016 000020 000044 000000 000060 000037 000036 000104 000024 000026 000022 000030 000032 000110 000070 000074 000002 000062 000004 000064 0001.02 000040 000066 000106 000006 000046 000010 000012 000056 000072 000050 000054 000052 000014 000100 000010 010000 000001 000000 000001 20-SEP-78 18: 14 PAGE 21 ERRTYf>= EVNTBE= EVNTHD= EVNTKT= EVNTPE= EVNTRE= 000105 000200 000200 000203 000202 000201 MSGCKD= MSGCKS= MSGDER= MSGDRP= MSGECH= MSGEOP= HRDCNi= HRDPAS=. ICONT = ICOUNT= IONUM = IE INDPAR= INHDRP= INHEPR= INHREL= INHRRE= INIT INTR rOMOD IOrJIODP= IOMGDR= IOMODX= JACK KIPARO= KIPAR1= KIPAR2= KIPAR3= KIPAR4= KIPAR5= KIPAR6= KIPAR7= KIPDRO= KIPDR1= KIPDR2= KIPDR3= KIPDR4= 000044 000050 000036 000040 000122 000100 000040 040000 020000 001000 000400 000030 000120 100000 102000 112000 110000 035060 172340 172342 172344 172346 172350 172352 172354 172356 MSGHNG= MSGHRD= MSGMAP= MSGNUL= MSGPOP= MSGPRM= MSGRES= MSGSFT= MSGSKE= MSGSMB= MSGSMH= MSGSi'r1S= MSGSTD= rt.SGSYS= MSGVEC= NBKMOD= NB.BIT NB.CNT NB.CYC NB.MAX NB.NBR N8.STA NB.TOP NB.OFL NCPUOP= NEvliBA NEWPAR= NOAPTY= NULL OLDPAR= 0111 EN PAERR = PARPRE= PARSTA= PASCNT= PDPLSI= PDP60 PDP70 = PRIO PR 11 PRI4 PRI5 PRI6 PRI7 PRO PR4 FATERR= ".vvvvv "" {'''", t~IPDR5= KIPDR6= KIPDR7= KTERRO= KTPRES= KTSTAT= KTXTND= LF LPSTAT= MAPSTA= MED MEMPAS= MODEXH= MODHOL= MODSEL= 172300 172302 172304 172306 172310 172312 172314 172316 000040 000400 000020 040000 000012 000001 000200 076600 040000 004000 002000 001000 ~~1SGHDR= SEQ 0755 0000;0 000011 000005 000017, 177777 000013 000004 000022 000007 000021 177775 000002 177776 000001 000006 000003 000015 000014 000016 000000 000012 000020 001000 00OJ16R OOOOOOR 00OO02R 00OO04R 00OO06R 00a010R 00OO14R 000012R 000020 000020RG 000006 000002 000000 000002 024020 000010 002:)00 000100 000034 020000 004000 010000 000000 00'0040 000200 000240 000300 000340 000000 000200 000240 000300 000340 PR7 PS = 177776 177776 PS~'tI RAN00M= ****** G RANNU:\~= 000054 RSUFEA= 000130 R8UFPA= 000126 RBUFSZ= 000132 RSUFVA= 000124 RDSERV= 000101 RDWHMI= 000022 RELERR= 000020 RELMOO= 020000 RELTIM= 010000 RESREG= ****** G RESl 000056 000060 RES2 RICHAR= 031060 R:" 1 000004 RPTDAT= 002000 RSTRT = 000112 RUBOUT= 000177 RUNMOD= 100000 R5VALU= 001740 SAM 075464 SAVREG= ****** G S8ADR = 000102 SBKMOD= 000000 S5KSEL= 010000 SC.ADR= 000006 SC.ALC= 000014 SC.APC= 000016 SC.CKL= 00000'2 SC.CKP= 000004 SC.CLO= 000000 SC.HLD= 000010 SC.SCA= 000012 SENDLS= 177777 SOFCNT= 000042 SOrPAS= 000046 SPACE = 000040 SF-OINT= 000032 SPVALU= 002200 SRO 177572 SRi 177574 177576 SR2 172516 SR3 000026 STAT STATo!= 064757 STAn = 000027 SUSPND= 000001 PR5 PR6 MACY11 30A(1052) SYMBOL TABLE NEWSA - ESTABLISH NEW BASE ADDRESS 28-JUL-I'8 09:23 NEW6A.MAC SVRO SVRl SVR2 SVR3 SVR4 SVR5 SVR6 SYSCNT= SYSERR= TABL TMPIO = TQOVF = UIPARO= UIPAR1= UIPAR2= UIPAR3= UIPAR4= UIPAR5= UIPAR6= UIPAR7= UIPDRO= UIPDR1= UIPDR2= . ASS. UIPDR3= UIPDR4= UIPDR5= UIPDR6= UIPDR7= WASADR= WaSTA,= WBUFEA= WBUFPA= WBUFRQ= WBUFSZ= WDFR WDTO WTINRE= WTWHMI= XFLAG = XOFF XON $BGNLE= $ERFLG= $F$AND= $F$BAD= $F$BLA= 000062 000064 000066 000070 000072 000074 000076 000052 000100 000000 000002 000002 177640 177642 177644 177646 177650 177652 177654 177656 177600 177602 177604 000000 000504 177606 177610 177612 177614 177616 000104 $F$CAS;:: $F$DEC= $F$DO = $F5FAL= $F$GOO= $F$IF = 000040 &r-~T ... rl"'_ ;pr;p.l.I" .... - 000136 000134 000140 000142 000116 000114 000352 000222 000005 000023 000021 177777 000400 000310 000401 000170 $F$LOO= $F$NAM= $F$NO = $FSOR = $F$RTI= $F$RTN= $F$SEL= SF$THE= $F$TRU= $F$UNT= $F$WHI= $F$YES= $IFLEV= $ISKO $ISK1 $ISK2 000 001 ERRORS DETECTED: 0 DEFAULT GLOBALS GENERATED: 20-SEP-78 0 DSKZ:NEWBA,DSKZ:NEWBA=SPMAC/ML,EQUATE,NEWBA RUN-TIME: 18 8 .4 SECONDS RUN-TIME RATIO: 84/28=2.9 CORE USED: 14K (27 PAGES) 18: 14 PAGE 21-1 SEQ 0756 000150 000220 000340 000405 000400 000110 0."" VU OUT WHERE: DTADR = ADDRESS OF DATA TABLE CMDPTR = COMMAND DECODE BUFFER POINTER NEWPTR = UPDATED CMD DECODE BUFFER POINTER NUM = CONVERTED .6 BIT BINARY NUMBER VERSION: 0.0 559 560 561 562 563 20-SEP-78 ,'-- EDIT DATE BY REASON NUMCHK OCTAL ASCII TO BINARY CONVERSION ROUTINE MACY11 3CA(1052) 20-SEP-78 18:15 PAGE 19-1 NUMCHK.MAC 28-JUL-78 09:23 COMMON ~EFINTIONS AND REFERENCES FOR NUMCHK .SBTTL 565 566 .MCALL STRUCT STRUCT .PRINT ;SPMAC: VERSION 1.1 567 568 000000' (1 ) 000000 ' 569 570 00000; 571 572 000001 573 574 575 $LST IN=1 $LSTTAG=1 ;**************** , ; REFERENCED BY OTHER MODULES 576 , 577 578 1 579 580 581 582 583 584 585 586 587 588 589 SGC 591 COMMON DEFINTIONS AND REFERENCES FOR NUMCHK .GlOBL NUMCHK ;MODULE ENTRY POINT ;**************** , ; GLOBAL REFERENCES: , .GLOBL .GL08L .GLOBl .GL08L CM.NUM SAVREG RESREG CM.NBAD ;**************** ; 'NUMBER TOO LARGE' MSG ADDRESS ;SAVE REGISTERS ;RESTORE REGISTERS ; 'NOT AN OCTAL NUMBER I MSG ADDRESS SEQ 0759 NUMCHK OCTAL ASCII TO BINARY CONVERSION ROUTINE MACY11 30A(1052) NUMCHK.MAC 28-JUL-78 09:23 NUMCHK ROUTINE 593 594 595 (2) 596 597 598 599 600 601 (3) 602 603 (4) 604 (4) 605 606 607 608 609 610 (4) 611 612 613 614 615 616 (4) (6) (9) (6) (9) 617 618 619 620 621 622 623 (4) 624 625 626 627 628 629 630 631 (4) 632 (6) 633 (4) (6) .SBTTL 20-SEP-78 18:'15 PAGE 19-2 SEQ 0760 NUMCHK ROUTINE ROUTINE NUMCHK 000000 1 000000 1 NUMCHK: ;+ ; SAVE REGISTERS, DATA TABLE ADDRESS AND CMD DECODE BUFFER POINTER 'f - 000000 1 000000' 004767 000004' 000004' 016500 000010' 000010' 016501 CALL SAVREG OOOOOOG JSR PC,SAVREG MOV DTADR(R5) ,RO MOV CMDBU F ( R5) , R1 CLR R2 CMPa BLT CMPB BGT (R1),#10 50003$ (R1},#'7 ' 50003$ CLR R4 LET RO .- DTADR(R5) 000000 LET R1 '- CMDBUF(R5) 000002 ;+ ; INITIALIZE THE OUTPUT REG ;- LET R2 := #0 000014 1 000014' 005002 ;+ ; WHILE THERE IS AN OCTAL ASCII CHAR IN CMD DECOGE SUFFER ..... 000016' 000016' 000016' 000022 1 000024' 000030' WHILES (R1) GE #'0 ANDB (R1) LE #17 DO 50002$: 121127 002425 121127 003022 000060 000067 ;+ ; INITIALIZE THE COUNTER. ;LET R4 := #0 000032' 000032' 005004 ;+ ; GET A CHARACTER, SUBTRACT ASCII ZERO, ROTATE 3 LEFT (TO MAKE ROOM), ; AND CHECK TO SEE IF NUM IS NOW> 16 BITS. IF IT IS, STUFF ; ERROR MSG AND RETURN. IF NOT, MOVE R3 TO R2. 000034' 000034 1 112103 000036' 000036' 162703 000042' 000042 1 000042; 020427 LET R3 :B= (Rl)+ [Ii 0 V 8 (Rl)+,R3 SUB #'0,R3 CM? R4, #3 LET R3 .- R3 - #10 000060 WHILE R4 NE #3 DO 50004$: 000003 NUMCHK OCTAL ASCII TO BINARY CONVERSION ROUTINE MACY11 30A(1052) NUMCHK.MAC 28-JUL-78 09:23 NUMCHK ROUTINE (9) 634 (4) 635 (7) 636 (6) 637 (4) 638 (2) 639 (4) 640 (6) 641 (4) (3) 642 643 644 (6) 645 (4) (3) 646 647 648 649 650 651 652 653 (6) (9) (6) (9) (6) (9) 654 (4) 655 (2) 656 657 (4) (3) 658 659 660 661 662 663 664 (4) 665 000046 1 000050' 000050' 000052' 000052' 000054' 000054' 000056' 000056' 000064' 000064' 000066' 000066' 000066' 000066' 000070· 000070' 000072' 18:1~ PAG~ 1~-~ SEQ 0761 SEQ 001411 LET CARRY .- 0 50005$ C l(" t... ... 000241 LET R2 '- R2 ROTATE 006102 ROL R2 BCC 50006$ MOV #CM.NUM,DT.KSRSP BR 1$ INC R4 BR 50004$ BISB R3,R2 BR 50002$ IFCOND CS THEN 103004 012760 20-SEP-78 LET DT.KBRSP(RO) '- #CM.NUM OOOOOOG 000022 INLINE
ENDIF 50006S: LET R4 '- R4 + #1 005204 ENDDO 000764 50005$: LET R2 :B= R2 SET.BY R3 000072' 000072' 150302 000074' 000074' 000750 000076' ENDDO 50003$: ;+ ; IF THE NON-OCTAL CHAR JUST DETECTED IS NOT A SPACE AND NOT A CR, ; STUFF ERROR MSG AND RETURN. ELSE RETURN WITH NO ERROR ... , 0- 000076' 000076' 000102' 000104 1 000110' 000112' 000116' 000120' 000120' 000126' 000126' IFB (Rl) NE #CR ANDB (R1) NE #SPACE ANDB (R1) NE #LF THEN 121127000015 001413 121127 000040 001410 121127 000012 001405 012760 LET DT.KBRSP(RO) .- #CM.NBAD OOOOOOG 000022 INLINE
000410 ELSE 000130' 000130' 000407 000132' CNIPS SEQ crt.PB SEQ CM?B BEQ (R1) ,NCR 50007$ (R1 ) t #SPACE 50007$ (R1),#LF 50007$ MOV #CM.NBAD,DT.KBRS BR 1$ BR 50010$ MOV R2,NUM(R5) 50007$: ;+ ; THE NUMBER IS OK (16 BITS OR LESS AND OCTAL) ; SO SET UP OUTPUTS AND RETURN NO ERROR. , 0- 000132' 000132' 010265 000136' LET NUM(R5) := R2 000006 LET NEWPTR(R5) '- R1 NUMCHK OCTAL ASCII TO BINARY CONVERSION ROUTINE MACY11 30A(1052) NUMCHK ROUTINE 2B-JU~-78 09:23 NUMCHK.MAC (4) ·666 (3) 667 (4) 668 , ", \ \ .... J 669 670 (2 ) 671 (3) 672 (2 ) (4) 673 674 (3) (2) (3) (2) 675 676 000136 1 010165 000142 1 000142 1 004767 000146 1 000146' 000404 000150' 000160' 000160' 000160' 00C241 000162' 000162' 000207 000001 18:15 PAGE 19-4 SEQ 0762 000004 MOV R1,NEWP.TR(RS) JSR PC,RESREG BR 50000$ CALL RESREG OOOOOOG RETURN NO. ERROR ENOIF 000150 1 000150' 000150 1 000150' 000150 1 004767 000154' 000154' 000261 000156' 000401 :20-SEP-78 c:"r-. .. I'\~. ;")VlJl\J~· INLINE <1$:> 1$: CALL RESREG JSR OOOOOOG RETURN ERROR PC,RESREG SEC 8R 50001$ ENDRTN 50000$: CLC 50001$: RTS .END PC NUMCHK OCTAL ASCII TO BINARY CONVERSION ROUTINE MACY11 30A(1052} SYMBOL TABLE 28-uUL-78 09:23 NUMCHK.MAC 2'u-SEP-78 '8: 15 PAGE 20 ACS~ 000i02 CR 000015 ENBEOP= 010000 rv~ErJiPAS= ACTBIT= ADDR22= ADR APTFER= APTPRE= 004000 001000 000006 000004 000200 CSRA CSRC CTRlC CTRLO CTRlU 000100 000102 000003 000017 000025 ASS 0'''' vv DCEVNT::: 00 00 11 ASSEMB= ASTAT = AUTO AUTOST= AllIAS BITO BITOO BITOl = BIT02 BIT03 BIT04 BIT05 BIT06 BIT07 BIT08 BIT09 BIT1 BIT10 B1 T 11 8IT12 BIT13 BIT14 BIT15 BIT2 BIT3 BIT4 BITS BIT6 BIT7 BIT8 BIT9 8KDEF BKMOD BKMODE= BKSLSH= CAPRES= CASTAT= CDERCT= CDWDCT= CKTIM = CLKPRE= CMOBUF= CM.NBA= CM.NUM= CONFIG= CQOVF = 000010 000104 000010 020000 000110 000001 000001 000002 000004 000010 000020 000040 000100 000200 000400 001000 000002 002000 004000 010000 020000 040000 100000 000004 000010 000020 000040 000100 000200 000400 001000 000002 000020 040000 000134 000004 000004 000146 000144 100000 000001 000002 000001 000000 000001 000106 000200 600200 000203 000202 000201 100000 000044 00·0050 000036 000040 000122 000100 000040 040000 020000 001000 000400 000030 000120 100000 102000 112000 110000 035060 172340 172342 172344 172346 172350 172352 172354 172356 172300 172302 172304 172306 172310 172312 172314 172316 000040 000400 000020 040000 000012 IF lPSTAT= 000001 MAPSTA= 000200 076600 MED MODEXH= MODHOL= MODSEl= MSGCKD= MSGCKS= MSGDER= MSGDRP= MSGECH= MSGEOP= MSGHDR= MSGHNG= MSGHRD::: MSGMAP= MSGNUL= MSGPOP= MSGPRM= MSGRES= MSGSFT= MSGSKE= MSGSMB= MSGSMH= MSGSMS= MSGSTD= MSGSYS= MSGVEC= NBKMOD= NCPUOP= NEWPTR= NOAPTY= NULL NUM NUMCHK OWEN PAERR = PARPRE= PARSTA= PASCNT= PDPLSI= PDP60 PDP70 PRIO PR 11 PRI4 PRI5 PRI6 PRI7 PRO PR4 PR5 PR6 = PR7 = PS "c::. 1I ""'''''''' ****** ****** 000056 000001 DEFRTN= DIAGMC= DROPMO= DSEVNT= DTADR = DT.ADD= DT.AP = DT.APK= DT.BLS= DT.CFO= DT~CF1= G G DT.ERR= OT.ESI= DT.EVN= DT.EXS= DT.FCH= DT.FCN= DT.HMX= DT.KBE= DT.KBP= DT.KBR= DT.KBU= DT.MLS= DT.MTI= DT.OFF= DT.PAS= DT.PC = DT.PFL= DT.PSW= DT.PTA= DT.RCS= DT.REL= DT.SCT= DT.SMX= OT.SP = DT.SSI= DT.STO= DT.ST1= DT.SWR= OT.SYP= DT.WBU= DT. WHL= DT.WLL= DVIDl = ECCMEM= EceSTA= 000400 000000 100000 000014 000000 000042 000100 000076 000034 000014 000016 00002·0 000044 000000 000060 000037 000036 000104 000024 000026 000022 000030 000032 000110 000070 000074 000002 000062 000004 000064 000102 000040 000066 000106 000006 000046 000010 000012 000056 000072 000050 000054 000052 000014 000100 000010 ENBNUL= ENDlST= EOPBIT= ERRTYP= EVNTBE= EVNTHD= EVNTKT= EVNTPE= EVNTRE= FATERR= HRDCNT=. HRDPAS= ICONT = ICOUNT= IDNUM ::: IE = INDPAR= INHDRP= INHEPR= INHREL= INHRRE= INIT = INTR = IOMOD = IOMODP= IOMOOR= IOMODX= JACK KIPARO= KIPAR1= KIPAR2= KIPAR3= KIPAR4= KIPAR5= KIPAR6= KIPAR7= KIPDRO= KIPDR1= KIPDR2= KIPOR3= KIPOR4= KIPDR5= KIPDR6= KIPDR7= KTERRO= KTPRES= KTSTAT= KTXTND= SEQ 0763 040000 004000 002000 001000 000010 000011 000005 000017 177777 000013 000004 000022 000007 000021 177775 000002 177776 000001 000006 000003 000015 000014 000016 000000 000012 000020 00 1 000 000020 000004 000002 000000 000006 OOOOOORG 024020 000010 002000 000100 000034 020000 004000 010000 000000 000040 000200 000240 000300 000340 000000 000200 000240 000300 000340 177776 PS~\I RANNUM= R8UFEA= RBUFPA= RBUFSZ= RBUFVA= RDSERV= RDWHMI = RELERR= RELMOD= REL TIM= RESREG= RES1 RES2 = RICHAR= RPTDAT= RSTRT = RUBOUT= RUNMOD= R5VALU= SAM SAVREG= SSADR = SBKMOD= S3KSEL= SC.AOR= SC.ALC= SC. APe= SC.CKL= SC.CKP= SC.CLO= SC.HlD= SC.SCA= SENDlS= SOFCNT= SOFPAS= SPACE = SPOINT= SPVAlU= SRO SRl SR2 SR3 STAT STATBI= STATl = SUSPND= SVRO SVR1 SVR2 SVR3 SVR4 SVR5 177776 000054 000130 000126 000132 000124 000101 000022 000020 020000 010000 ****** G ****** G 000056 000060 031060 002000 000112 000177 100000 001740 075464 000102 000000 010000 000006 000014 0000 -16 000002 000004 000000 000010 000012 177777 000042 000046 000040 000032 002200 177572 177574 177576 172516 000026 064757 000027 000001 000062 000064 000066 000070 000072 000074 NUMCHK OCTAL ASCII TO BINARY CONVERSION ROUTINE MACY11 30A(1052) NUMCHK.MAC 28-JUL-78 09:23 SYMBOL TABLE SVR6 SYSCNT= SYSERR= TMPIO = TQOVF = UIPARO= UIPAR1= UIP.!I.R2= UIPAR3= UIPAR4= UIPAR5= UIPAR6= UIPAR7= UIPDRO= UIPOR1= UIPDR2= UIPDR3= UIPDR4= UIPDR5= UIPDR6= 000076 000052 000100 000002 000002 177640 177642 177644 177646 177650 177652 177654 177656 177600 177602 177604 177606 177610 177612 177614 ABS. 000000 000164 UIPDR7= WASADR= WBSTAT= WBUFEA= WBUFPA= WBUFRQ= WBUFSZ= WDFR WDTO WT!NRE= WHJHMI= XFLAG = XOFF XON $BGNLE= $ERFLG= $F$AND=$F$BAD= $F$8LA= $F$CAS= 177616 000104 000040 000136 000134 000140 000142 000116 000114 000352 000222 000005 000023 000021 177777 000000 000310 000401 000170 000150 000 001 0 t:.I- DTA 547 548 552 SEQ 0766 ;++ 545 546 549 550 551 PAGE 19 EDIT CATA TABLE ADDRESS DATE BY REASON PBREAK PROCESS BREAK MODULE (PBREAK) PBREAK.MAC 28-JUL-78 09:23 .r,1CALL STRUCT 554 555 (1) 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 MACY11 30A(1052) 20-5~P-7~< COMMON EQUATE MODULE 000000' 000000' 000001 000001 STRUCT .PRINT ;SPMAC: VERSION 1.1 $LSTIN:1 $LSTTAG=1 ;********************* ;REFERENCED BY OTHER MODULES , .GLOBL PBREAK j ;********************* i GLOBAL REFERENCES , .GL08L .GLOBL .GLOSL ENQCQ SAVREG RES REG ;********************* l~;'b ~A~t l~-l SEQ 0767 PBREAK PROCESS BREAK MODULE (PBREAK) 28-JUL-78 09:23 PBREAK.MAC 573 (2) 574 575 576 577 578 (3) 579 580 581 582 583 ·584 585 (4) 586 (4) 587 (4 ) (6) 588 589 590 591 592 593 (3) (6) (5) (4} (3) (3) 594 595 596 597 598 599 (3) 600 601 (3) (3) (2) 602 603 MACY11 30A(1052) 20-SEP-78 COMMON EQUATE MODULE 18:16 PAGE 19-2 SEQ 0768 ROUTINE PBREAK 000000' 000000' PBREAK: ;+ ; SAVE REGISTERS NEEDED ., 000000' 000000' 004767 CALL SAVREG OOOOOOG JSR PC,SAVREG MJV DTA(R5) ,RO MOV DT . PC ( RO) t R1 MOV ADD R1 ,R2 #2,R2 MClV MOV MOV MJV JSR MOV R5,-(SP) R2,-(R5) (R1) ,-(R5) RO,-(R5) PC,ENQCQ (SP)+,R5 JSR PC,RESREG RTS PC ;+ ; GET DATA TABLE ADDRESS ARGUMENT PASSED ; GET BEGIN ADDRESS AND DEVELOP RETURN ADDRESS ;000004' 000004' 000010' 000010' 000014' 000014' 000016' LET RO 016500 000000 016001 000002 010102 062702 0- DTA(R5) LET R1 .- DT.PC(RO) LET R2 .- R1 + #2 000002 ;+ ; MAKE ENTRY IN CONTROL QUEUE ;- 000022' 000022' 000024' 000026' 000030 1 000032' 000036 1 CALL ENQCQ IN 010546 010245 011145 010045 004767 012605 OOOOOOG ;+ ; RESTORE REGISTERS ;- 000040' 000040' 004767 000044' 000044' 000044' 000044' 000207 000001 CALL RESREG OOOOOOG ENDRTN .END 50000$: 50001$: PBREAK PROCESS BREAK MODULE (PBREAK) 28-JUL-78 09:23 PBREAK. ~.1AC ACSR ACTBlT= ADDR22= ADR APTFER= APTPRE= ASB ASSEMB= ASTAT = AUTO AUTOST= AWAS 8ITO BITOO BIT01 BIT02 BIT03 81T04 BIT05 BIT06 BIT07 BIT08 BIT09 BIn BIT10 BITi; BIT12 BIT13 BIT14 81T15 81T2 81T3 81T4 BIT5 BIT6 BIT7 BITS BIT9 ' BKDEF 8KMOD 8KMODE= BKSLSH= CAPRES= CASTAT= CDERCT= CDWDCT= CKTIM = CLKPRE= CONFIG= CQOVF CR CSRA CSRC 000102 004000 001000 000006 000004 000200 000106 000010 000104 000010 020000 000110 000001 000001 000002 000004 000010 000020 000040 000100 000200 000400 001000 000002 002000 004000 010000 020000 040000 100000 000004 000010 000020 000040 000100 000200 000400 001000 000002 000020 040000 000134 000004 000004 000146 000144 100000 000001 000056 000001 000015 000100 000102 CTRLC = CTRLO = CTRLU = DCEVNT= DEFRTN= DIAGMC= DROPMO= DSEVNT= DTA DT.ADD= DT. AP' = DT.APK= D1. BLS= DT.CFO= DT.CF1= DT.ERR= DT.ESl= DT.EVN= DT.EXS= DT.FCH= DT.FCN= DT.HMX= DT.KBE= DT.KBP= DT.KBR= 000003 000017 000025 000011 000400 000000 100000 000014 000000 000042 000100 000076 000034 000014 000016 000020 000044 000000 000060 000037 000036 000104 000024 000026 000022 MACY11 30A(1052) SYMBOL TABLE 18: 16 20-SEP-78 ENQCQ EGPSIT= ERRTYP= EVNTBE= EVNTHD= EVNTKT= EVNTPE= EVNTRE= FATERR= HRDCNT= HRDPAS= ICONT = ICOUNT= IDNUM = :::: IE INDPAR= INHDRP= INHEPR= INHREL= INHRRE= IN!T !NTR rOMOD IOMODP= 10\VlODR= PAGE 20 SEQ 0769 000001 000106 000200 000200 000203 000202 000201 ' 100000 000044 000050 000036 000040 000122 000100 000040 040000 020000 001000 000400 000030 000120 100000 102000 112000 I\mDHOL=' rJlODSEL= MSGCKD= rV:SGCKS= MSGDER= MSGDRP= MSGECH= MSG£OP= MSGHDR= MSGHNG= MSGHRD= MSGMAP= MSGNUL= MSGPOP= MSGPRM= MSGRES= MSGSFT= MSGSKE= MSGSMB= MSGSfVlH= MSGSMS= iVlSGSTD= fvlSGSYS= MSGVEC= NBKMOO= ****** G DT .• KS"U:;. UUUv';)V ..... 1"'\ ..... , , / ' \ I'O~,;ODX= 110000 NCPUOP= DT.MLS= DT.MTl= DT.OFF'= DT.PAS:::: DT. PC, = D1.PFL= DT.PSW= DT.PTA= DT.RCS= DT.REL= DT.SCT= DT.SMX= OT.SP = OT.5SI= DT.STO= DT.ST1= DT.SWR= DT.5YP= DT.WBU= DT.WHL= OT.WLL= OVID1 = ECCMEM= ECCSTA= ENBEOP= ENBNUL= ENDL5T= 000032 000110 000070 000074 000002 000062 000004 000064 000102 000040 000066 000106 000006 000046 000010 000012 000056 000072 000050 000054 000052 000014 000100 000010 010000 000001 000000 JACK KIPARO= KIPAR1= KIPAR2= KIPAR3= KIPAR4= KIPAR5= KIPAR6= KIPAR7= KIPDRO= KIPOR1= KIPOR2= KIPDR3= KIPDR4= KIPDR5= KIPOR6= KIPDR7= KTERRO= KTPRES= KTSTAT= KTXTNO= LF LPSTAT= MAPSTA= MED MEMPAS= MODEXH= 035060 172340 172342 172344 172346 172350 172352 172354 172356 172300 172302 172304 172306 172310 172312 172314 172316 000040 000400 000020 040000 000012 000001 000200 076600 040000 004000 NOAPTY= NULL OtIJEN PAERR PA.RPRE= PARSTA= PASCNT= PBREAK PDPLSI= POP60 PDP70 PRIO P R11 PR14 PRI5 PRI6 PRI7 PRO PR4 PR5 PR6 PR7 PS PSW RANNU;J!= RBUFEA= RBUFPA= " 002000 001000 000010 000011 000005 0000i7 177777 000013 000004 000022 000007 000021 177775 000002 177776 000001 000006 000003 000015 000014 000016 000000 000012 000020 001000 000020 000002 000000 024020 000010 002000 000100 000034 OOOOOORG 020000 004000 010000 000000 000040 000200 00,J240 000300 000340 000000 000;200 000240 000300 000340 177776 177776 000054 000130 000126 000132 000124 000101 000022 000020 REUil0~= 020000 REL TIM= 010000 RESREG= ****** G 000056 RES1 000060 RES2 RICHAR= 031060 RPTDAT= 002000 RSTRT = 000112 RUBOUT= 000177 RUNMOD= 100000 R5VALU= 001740 075464 SAM SAVREG= ****** G SBADR = 000102 SBXMOD= 000000 S8KSEL= 010000 SC.ADR= 000006 SC.ALC= 000014 SC.APC= 000016 SC.CKL= 000002 SC~CKP':: 000004 SC.CLO= 000000 SC.HLD= 000010 SC.SCA= 000012 SENDLS= 177777 SOFCNT= 000042 SOFPAS= 000046 SPACE = 000040 SPOINT= 000032 SPVALU= 002200 177572 SRO 177574 SR1 177576 SR2 172516 SR3 000026 STAT STATBI= 064757 STAT1 = 000027 SUSPND= 000001 000062 SVRO SVR1 000064 000066 SVR2 000070 SVR3 000072 SVR4 000074 SVR5 SVR6 000076 SYSCNT= 000052 SYSERR= 000100 TMPIO = 000002 RBUFSZ= RBU,FVA= RDSERV= RDIIJHMI= RELERR= PBREAK PROCESS BREAK MODULE (PBREAK) 28-JUL-78 09:23 PBREAK.MAC TQOVF = UIPARO= UIPAR1= UIPAR2= UIPAR3= UIPAR4= UIPAR5= UIPAR6= UIPAR7= UIPDRO= UIPDR1= UIPDR2= UIPDR3= UIPDR4= UIPDR5= UIPDR6= UIPDR7= 000002 177640 177642 177644 177646 177650 177652 177654 177656 177600 177602 177604 177606 177610 177612 177614 177616 ABS. 000000 000046 WASADR= WBSTAT= WBUFEA= WBUFPA= WBUFRQ= WBUFSZ= WDFR WDTO WTINRE= WTWHMI= XFLAG = XOFF XON $BGN LE= $ERFLG= $F$AND= $F$BAD=. MACY11 30A(1052) SYMBOL TABLE 000104 000040 000136 000134 000140 000142 000116 000114 000352 000222 000005 000023 000021 177777 000400 000310 000401 000 001 ERRORS DETECTED: a DEFAULT GLOBALS GENERATED: 0 DSKZ:PBREAK,DSKZ:PBREAK=SPMAC/ML,EQUATE,PBREAK RUN-T IME: 11 1 .3 SECONDS RUN-TIME RATIO: 33/13=2.5 CORE USED: 14K (27 PAGES) 20-SEP-78 $F$BLA= $F$CAS= $F$DEC= $F$DO = $F$FAL= $F$GOO= $F$IF = $F$INC= $F$LOO= $F$NAM= $F$NO = $F$OR = $F$RTI= $F$RTN= $F$SEL= $F$THE= $F$TRU= 18: 16 PAGE 20-1 SEQ 0770 000170 000150 000220 000340 000405 000400 000110 000210 000200 000160 000403 000320 000350 000300 000140 000330 000404 $F$UNT= $F$WHI= $F$YES= SIFLEV= SLOCTA= SLSTIN= $LSTTA= $NESTL= $NSKO = $SAVLE= $TAGLE= $TAGNU= $TEMP = $SARGC= $$BYTE= $$CASE= $SDST = 000130 000120 000402 177777 177777 $$ELOC= $$ERFL= S$FLAG= $$FRO!'t.= $$LOC = 000000 000000 000000 000000 000000 000001 $$LOC~~= vvvvvv 000001 177777 000300 177777 177777 050002 000300 000002 000000 000000 000000 $$REG = $$RETU= $$RiN1= $$= VERSION: 0.0 EDIT ;- BY DATE REASON PEND - PROCESS END TRAP CALL PEND.MAC 28-JUL-78 09:24 551 552 553 554 555 556557 000000' (1) 000000' 558 000001 559 000001 560 561 562 563 564 565 566 567 568 569 570 - 571 572 573 574 575 576 577 578 579 20-SEP-78 18:16 PAGE 20 COMMON DEFINITIONS AND REFERENCES MACY11 30A(1052) .SBTTL COMMON DEFINITIONS AND REFERENCES • ~,~CALL .PRINT STRUCT STRUCT ;SPMAC: VERSION 1.1 $LSTIN = 1 $LSTTAG = 1 , ;**************** ; REFERENCED BY OTHER MODULES .GLOBL PEND ;**************** ; GLOBAL REFERENCES ..GLOBL DRPMOD ;**************** ;MODULE'S ENTRY POINT SEQ 0773 PEND - PROCESS END TRAP CALL 28-JUL-78 09:24 PEND.MAC 581 582 583 584 (2) 585 586 587 588 589 590 591 592 (2 ) (3) 593 (4 ) 594 (4) 595 596 597 598 599 600 ( ':I \ \~I (5) (4 ) (3 ) (3) 601 602 603 (2 ) (3) 604 (3) (3 ) (2) 605 606 607 MACV11 30A(1052) 20-SE?-78 18:16 PROCESS END TRAP CALL .SBTTL PAGE 21 SEQ 0774 PROCESS END TRAP CALL ROUTINE PEND 000000 1 000000' PEND: ;+ ; INIT, GET DTABLE ADDR. AND HEADER ;- 000000' 000000' 000002' 000004' 000004' 000010' 000010' PUSH RO,R1 016500 RO,-(SP) R1,-(SP) MOV DTABLE(R5),RO MOV @DT.PC(RO),R1 ~~:v JSR MJV R5, -(SP) R1,-(R5) RO,-(R5) PC,DRPMOD (SP)+,R5 MOV MOV (SP)+,R1 (SP)+,RO RTS PC LET RO '- DTABLE(R5) 000000 LET R1 .- @DT.PC(RO) 017001 MOV M:JV 010046 010146 000002 ;+ ; GO DROP THE OPTION MODULE FROM EXECUTION, ;- 000014' 000014' 000016' 000020' 000022' 000026' CALL DRPMOD IN 010546 010145 010045 004767 012605 000030' 000030' 012601 000032' 012600 000034' 000034' 000034' 000034' 000207 000001 MOV MJV OOOOOOG POP R1 ,RO ENDiHN .END 50000$: 50001$: PEND - PROCESS END TRAP CALL 2S-JUL-78 09:24 PEND.MAC ACSR ACTBIT= ADDR22= ADR APTFER= APT PRE::; ASB ASSEMB= ASTAT = AUTO AUTOST= AWAS BITO BITOO BIT01 BIT02 BIT03 BIT04 BIT05 BIT06 BIT07 BIT08 BIT09 BIT1 BIT10 BIT11 BIT12 BIT13' BIT14 BIT15 BIT2 BIT3 BIT4 BITS BIT6 BIT7 BITS BIT9 BKDEF BKMOD BKMODE= BKSLSH= CAPRES= CASTAT= CDERCT= CDWDCT= CKTIM = CLKPRE= CONFIG= CQOVF CR CSRA CSRC > 000102 004000 001000 000006 000004 I'"\,,~""""f"\ VVV..:.VV 000106 000010 000104 000010 020000 000110 000001 000001 000002 000004 000010 000020 000040 000100 000200 000400 001000 000002 002000 004000 010000 020000 040000 100000 000004 000010 000020 000040 000100 000200 000400 OO~OOO 000002 000020 040000 000134 000004 000004 000146 000144 100000 000001 000056 000001 000015 000100 000102 20-SE?-78 MACY11 30A(1052) SYMBOL TABLE 18: 16 ENDLST= EOPBIT= ERRTYP= EVNTBE= EVNTHD= 000000 000001 000106 000200 000200 000203 000202 000201 100000 000044 000050 000036 000040 000122 000100 000040 040000 020000 001000 000400 000030 000120 100000 1020CO 112000 11 0000 035060 172340 172342 172344 172346 172350 172352 172354 172356 172300 172302 172304 172306 172310 172312 172314 172316 000040 000400 000020 040000 000012 000001 000200 076600 040000 004000 000003 000017 000025 000011 '000400 r"'\ T /"'''nr'_ 000000 DROPMO= 100000 DR?MOD= ****** G DSEVNT= 000014 DTABLE= 000000 DT.ADD::: 000042 DT.AP = 000100 DT.APK= 000076 DT.BLS= 000034 DT.CFO= 000014 DT.CF1= oeOO16 DT.ERR= 000020 DT.ESI= 000044 DT.EVN= 00,0000 DT.EXS= 000060 DT.FCH= 000037 DT.FCN= 000036 DT.HMX= 000104 DT.KBE= 000024 DT.KBP= 000026 DT.KBR= 000022 DT. KBU= 000030 DT.MLS= 000032 DT.MTl= oeOl10 DT.OFF= 000070 DT.PAS= 000074 DT. PC = 000002 DT.PFL= 000062 DT.PSW= 000004 DT.PTA= 000064 DT.RCS= 000102 DT.REL= 000040 DT.SCT= 000G66 DT.SMX= 000106 DT.SP = 000006 DT.SS!= 000046 DT.STO= 000010 DT.ST1= 000012 DT.SWR= 000056 DT.SYP= 000072 DT.WBU= 000050 DT.WHL= 000054 DT.WLL= 000052 DVID1 = 000014 ECCMEM= 000100 ECCSTA= 000010 ENBEOP= 010000 ENBNUL= 000001 CTRLC CTRLO CTRLU DCEVNT= DEFRTN= J\ U.1.I"\~IiII\..t- EV~~TKT=: EVNTPE= EVNTRE= FATERR= HRDCNT= HRDPAS= ICONT = ICOUNT= IDNUM = IE INDPAR= INHDRP= INHEPR= INHREl= lNHRRE= INIT lNTR lOMOD IOMODP= IOMODR= IOMODX= JACK KlPARO= KIPAR1= KIPAR2= KIPAR3= KIPAR4= KIPAR5= KIPAR6= KIPAR7= KIPDRO= KIPDR1= KIPDR2= KIPDR3= KIPDR4= KIPDR5= KIPDR6= KIPDR7= KTERRO= KTPRES= KTSTAT= KTXTND= LF LPSTAT= MAPSTA= MED MEMPAS= MODEXH= PAGE 22 SEQ 0775 f.lODHOL= MODSEL= MSGCKD= MSGCKS= MSGDER= 002QOO 001000 00C010 000011 000005 R8UFSZ= RBUFVA= RDSERV= RDWHMl= RELERR= ~1SGDRP= 000017 RE L~,~OD= MSGECH= MSGEOP= MSGHDR= MSGHNG= f/lSGHRD= MSGMAP= MSGNUL= MSGPOP= MSG?RfVl= MSGRES= MSGSFT= MSGSKE::t MSGSMB= MSGSMH,= 1\1SGSMS= MSGSTD= MSGSYS= MSGVEC= NBKMOD= NCPUOP= NOAPTY= NULL OVJEN PAERR PARPRE= PARSTA= PASCNT= PDPLSI= PDP60 PDP70 PEND PRIO PR 11 PRI4 PRI5 PRI6 PRI7 PRO PR4 PR5 PR6 PR7 PS PSW RANNUM= RBUFEA= RBUFPA= 177777 000013 000004 000022 000007 000021 177775 000002 177776 000001 000006 000003 000015 000014 000016 000000 000012 000020 001000 000020 000002 000000 024020 000010 002000 000100 000034 020000 004000 010000 OOOOOORG 000000 000040 00J200 000240 000300 000340 000000 000200 000240 000300 000340 177776 177776 000054 000130 000126 REL TIM= RES1 RES2 RICHAR= RPT:JAT= RSTRT = RUBOUT= RUN!\;OD= R5VAlU= SAM SBADR = SBK:\tl0D= SBKSEL= SC.ADR= sc. ALC= SS.~PC= SC.CKL= SC.CKP= SC.CLO= SC.HLD= SC.SCA= SENDLS= SCJFCNT= SOFPAS= SPACE = S?OINT= SPV;"LU= SRO SR1 SR2 SR3 STAT STATBl= STAT1 = SUSPND= SVRO SVR1 SVR2 SVR3 SVR4 SVR5 SVR6 SYSCNT= SYSERR= TMPIO = TQOVF = UIPARO= 000132 000124 000101 000022 000020 020000 010000, 000056 000060 031060 002000 000112 000177 100000 001740 075464 000102 000000 010000 000006 000014 000016 000002 000004 000000 000010 000012 177777 000042 000046 000040 000032 002200 177572 177574 177576 172516 000026 064757 000027 000001 000062 000064 000066 000070 000072 000074 000076 000052 000100 000002 000002 177640 MACY11 30A(1052) 20-SEP-78 SYMBOL TABLE PEN~ - PROCESS END TRAP CALL PEND.MAC 28-JUL-78 09:24 UIPAR1= UIPAR2= UIPAR3= UIPAR4= UIPAR5= UIPAR6= UIPAR7= UIPDRO= UIPDR1= UIPDR2= UIPDR3= UIPDR4= UIPDR5= UIPDR6= UIPDR7= WASADR= WBSTAT= 177642 177644 177646 177650 177652 177654 177656 177600 177602 177604 177606 177610 177612 177614 177616 000104 000040 ABS. 000000 000036 WBUFEA= vJBUFPA= WBUFRQ= WBUFSZ= WDFR WDro WTINRE= WTWHMI= XFLAG = XOFF XON $BGNLE= $ERFLG= $F$AND= $F$BAD= $F$BLA= $F$CAS=, 000136 000134 000140 000142 000116 000114 000352 000222 000005 000023 000021 177777 000400 000310 000401 000170 000150 000 001 ERRORS DETECTED: 0 DEFAULT GLOBALS GENERATED: 0 DSKZ:PEND,DSKZ:PEND:SPMAC/ML.EQUATE,PEND RUN-T IME: 11 1 .3 SECONDS RUN-TIME RATIO: 53/13=4.0 CORE USED: 14K (27 PAGES) 18:16 $F$DEC= 000220 $F$DO ='000340 $F$FAL= 000405 $F$GOO= 000400 $F$IF = 000110 $F$INC= 000210 $F$LOO= 000200 $F$NAM= 000160 $F$NO = 000403 $F$OR = 000320 $F$RTI= 000350 $F$RTN= 000300 $F$SEL= 000140 $F$THE= 000330 $F$TRU= 000404 $F$UNT= 000130 $F$WHI= 000120 PAGE 22-1 SEQ 0776 $F$YES= $IFLEV= $LOCTA= $LSTIN= $LSTTA= 000402 177777 177777 000001 000C01 $NESTL= .I. $NSKO = $SAVLE= $TAGLE= $TAGNU= $TEMP = $SARGC= S$BYTE= $$CASE= $SDST = $$ELOC= $$ERFL= 000300 177777 177777 050002 000300 000002 000000 000000 000000 000000 000000 '7....,~....,..,. I i II I SSFLAG= $SFROM= $$LOC = S$LOCN= SSREG = $$KETU= $$RTN1= SSRTN2= $$SRC = $STGSV= $$TGS1= $$TGS2= $$TO $$$TAG= 000000 000000 000000 000000 177777 ""1"1""" vvvvvv 050000 050001 000000 000000 000000 000000 000002 050000 000036R .MAIN. MACY11 30A(1052) 20-SEP-78 EQUATE.MAC. 13-SEP-78 16:13 3 562 566 592 18:17 TABLE OF CONTENTS COMMON EQUATE MODULE COMMON DEFINITIONS AND REFERENCES 000000' .PRINT ;SPMAC: VERSION 1.1 PROCESS ENDIT ROUTINE SEQ 0777 PENDIT - PROCESS ENDIT TRAP CALL PENDIT.MAC 14-SEP-7810:57 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 5"36 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 MACYil 30A(1052) 20-5CP-78 COMMON EQUATE MODULE .TITLE .IDENT 16:17 PAGE 19 SEQ 0778 PENDIT - PROCESS ENDIT TRAP CALL IVO.OI • ..L.L ,TT MODULE NAME: PENDIT FUNCTIONAL DESCRIPTION: THIS ROUTINE PROCESSES THE IENDIT' TRAP CALL, WHICH CONSISTS OF HANDLING END OF PASS CALLS AND END OF ITERATION CALLS. ALSO, AS PART OF SERVICING THE END OF PASS CALLS, BACKGROUND MODULES ARE TAKEN OFF THE AIR. INPUTS: 1. DATA TABLE IMPLICIT INPUTS: 1. DT. PC 2. DT.STC 3. MODULEIS HEADER ADDRESS" 4. DT.ST1 5. DT.CFO OUTPUTS: NONE IMPLICIT OUTPUTS: 1. U?DATED RETURN ADDRESS (DT.PC) 2. UPDATED DT.STO PATHOLOGICAL CONNECTIONS: SA. STAT SUBORDINATE MODULES CALLED: 1. ENQTQ 2. SAVREG 3. RESREG 4. ENQCQ ;BACKGROUND QUEUE STATUS WORD ;EN-QUEUE TYPE QUEUE ENTRY ;ENQEUE CONTROL QUEUE ENTRY FUNCTIONAL SIDE EFFECTS: NONE CALLING SEQUENCE: CALL PENDIT IN VERSION: 0.0 EDIT ;- BY DATE REASON PENDIT - PROCESS ENDIT TRAP CALL PENDIT.MAC 14-SEP-7810:57 562 563 564 565 566 000000 1 (i) OOOOOO! 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 MACy11 30A(1052) 20-SEP-78 18:17 COMMON DEFINITIONS AND REFERENCES .SSTTL CO~MON .PRINT .MCALL STRUCT STRUCT ;SPMAC: VERSION 1.1 $LSTIN = 1 $LSTTAG 1 000001 000001 PAGE 20 DEFINITIONS AND REFERENCES = , ;**************** , ; REFERENCED SY OTHER MODULES , .GLOBL , PENDIT ;MODULE1S ENTRY POINT ;**************** ; GLOBAL REFERENCES .GLOSL .GLOBL .GLOBL .GLOBL .GLOBL SAVREG RESREG ENQTQ ENQCQ SA.STAT ;EN-QUEUE TYPE QUEUE ROUTINE ;ENQUEUE INTO THE CONTROL QUEUE ;SACKGROUND QUEUE STATUS WORD SEQ 0779 MACY11 30A(1052) 20-SEP-78 PROCESS ENOIT ROUTINE PENDIT - PROCESS ENDIT TRAP CALL PENDIT.MAC 14-SEP-78 10:57 392 593 594 595 (2 ) 596 597 598 599 600 601 602 603 (3) 604 (4) 605 (4) 606 (6) 607 608 609 610 611 612 613 (4) 614 (4) 615 (6) 616 617 618 619 620 621 622 (6) (8) (6) (9) (6) 623 (6) 624 (4) 625 626 627 628 629 630 (6) 631 .SBTTL 18:17 PAGE 21 SEQ 0780 PROCESS ENOIT ROUTINE ROUTINE PENDIT 000000' 000000' PENOIT: ;+ ; DO THE NECESSARY SET-UP STUFF, WHICH CONSISTS OF SAVING THE GPR'S ; AND MARKING THE MODULE FOR AN IMMEDIATE RETL~N AFTER ; THE PROCESSING OF THIS TRAP CALL , 0- 000000' 000000 1 000004 1 0000041 000006 1 000006' 000012' 000012' CALL SAVREG 004767 OOOOOOG JSR PC,SAVREG CLR F\4 MOV DTABLE(R5),RO SIC #DEFRTN,DT.STO(R LET R4 .- #0 005004 LET RO '- DTABLE(R5) 016500 000000 042760 000400 LET DT.STO(RO) := DT.STO(RO) CLR.SY #DEFRTN 000010 ;+ , GET THE MODULE'S HEADER, THEN GET ITS STATUS WORD, WITH ALL SU, ; THE STATUS BITS MASKED OUT. ;- 000020 1 000020 1 017001 0000241 000024' 016102 000030' 000030' 042702 LET R1 .- @lDT .PC(RO) 000002 MJV @lDT.PC(RO),R1 MOV STAT(R1),R2 BIC #STATSITS,R2 LET R2 .- STAT(R1) 000026 LET R2 .- R2 CLR.SY #STATBITS 064757 ;+ ; IF THE MODULE IS SBK OR NBK, INDICATE THE A DEFERRED RETURN MUST TAKE ; PLACE. ;- 000034 1 0000341 000040 1 000042 1 000046 1 000050 1 000050' 000050' 000056 1 000056 1 IF R2 EO #SSKMOD OR R2 EO #NSKMOD THEN 020227 001403 020227 001003 000000 eMP 001000 CMP BNE R2,#SSKMOD 50002$ R2,#NSKMOD 50003$ 052760 000400 SIS #DEFRTN,DT.STO(R ADD #2,DT.PC(RO) SEQ 50002$: LET DT.STO(RO) .- DT.STO(RO) SET.BY #DEFRTN 000010 ENDIF 50003$: ;+ ; UPDATE THE RETURN PC. 000056' 000056 i 062760 LET DT.PC(RO) '- OT.PC(RO) + #2 000002 000002 MACY11 30A(1052) ~O-SEP-78 PROCESS ENDIl ROUTINE PENDIT - PROCESS ENDIT TRAP CALL PENDIT.MAC 14-SEP-78 10:57 632 633 634 635 636 637 638 (6) 639 (6) (8) (6) (9) (6) 640 641 642 643 644 645 646 647 (6) 643 (6) 649 (4) 650 (4) 651 (4) 652 (6) 653 654 655 656 657 658 659 (6) 660 661 662 663 664 665 666 667 668 669 670 (6) (8) (6) (8) 18:17 PAGE 21-1 SEQ 0781 ;+ INCREMENT THE MODULE'S ITERATION VARIABLE, AND DETERMINE IF AN ; END OF PASS IS IN ORDER (I.E., IF ITERATIONS EQUAL MAX. OR ; INITIAL PASS OF A BKMOD) ;000064' 000064' 000070 1 000070 1 000076 1 000100 1 000106' 000110' LET ICOUNT(R1) .- rCOUNT(R1) + #1 005261 000040 026161 103004 032760 001501 000040 000036 000002 000010 INC IF ICOUNT(R1) HIS rCONT(R1) OR #TMPIO SETIN DT.STO(RO) THEN CMP BHIS BIT BEQ 50004$: ICOUNT(R1) ICOUNT(R1),ICONT 50004$ #TMPIO,DT.STO(RO 50005$ ;+ ; ITS END-OF-PASS TIME, SO, MARK THE MODULE AS NOT REQUIRING AN IMMEDIATE ; RETURN FROM THIS CALL, RESET THE ERRORS PER PASS COUNTS, ; BUMP THE END OF PASS COUNT AND RESET THE ITERATION COUNT. 'f - 000110' 000110' 000116 1 000116 1 000124 1 000124 1 000130 1 000130 1 000134' 000134' 000140' 000140' LET DT.ST1(RO) .- DT.ST1(RO) SET.BY #CKTIM 052760 100000 000012 BIS #CKTIM,DT.ST1(RO BIS #DEFRTN,DT.STO(R LET DT.STO(RO) '- DT.STO(RO) SET.BY #DEFRTN 052760 000400 000010 LET SOFPAS(R1) .- #0 005061 000046 eLR LET HRDPAS(Rl) .- #0 005061 000050 CLR HRDPAS(R1) CLR ICOUNT(R1) INC PAS'CNT( R1 ) INC R4 LET ICOUNT(R1) '- #0 005061 000040 LET PASCNT(R1) '- PASCNT(R1) + #1 005261 000034 ;+ ; NOTE THAT AN END OF PASS MESSAGE IS IN ORDER ;- LET R4 := R4 + #1 000144' 000144' 005204 ;+ IF THE MODULE TYPE IS BK, BSK, OR NBK. DO THE FOLLOWING: 1. CLEAR THE RETURN ADDRESS FOR THE MESSAGE ENQUEUE CALL. 2. CLEAR THE ACTIVE BIT TO TAKE THE MODULE OFF THE AIR. 3. IF NBK, SET THE "DROP" BIT. 4. IF SBK OR NBK, UNLOCK THE MODULE QUEUE LIST. OTHERWISE, LOAD THE MODULE'S RETURN ADDRESS FOR THE MESSAGE ENQUEUE CALL. ;- 000146' 000146' 000152' 000154 1 000160' 020227 001406 020227 001403 000000 001000 IF R2 EO #SBKMOD OR R2 EQ.#NBKMOD OR R2 EQ #BKMOD THEN eM? BEQ CMP SEQ R2,#SBKMOD 50006$ R2,#NBKMOD 50006$ MACY11 30A(1052) 20-SEP-78 PROCESS ENDIT ROUTINE PENDIT - PROCESS ENDIT TRAP CALL PENDIT.MAC 14-SEP-7810:57 (6) (9) (6) 671 (4) 672 (6) 673 (6) (9) 674 (6) 675 (4) 676 (6) (8) (6) (9) (6) 677 (6) 678 (4 ) 679 (4) 680 (4) (3) 681 (4) 682 (4) 683 684 685 686 687 688 689 690 691 (6 ) (9) 692 (6) 693 (4) (3) 694 (4 ) 695 (6) 696 (6) 697 000162' 000166' 000170 1 000170 1 000170' 000172' 000172' 000200' 000200' 000204' 000206' 000206' 000214' 000214' 000214' 000214' 000220' 000222' 000226' 000230' 000230' 000230' 000236' 000236' 000240' 000240' 000240' 000240' 000242' 000242' 000242 1 000246' 000246' 020227 001025 18:17 PAGE 21-2 SEQ 0782 000020 CMP SNE R2,#BKMOD 50007$ CLR R3 SIC HACTBIT,STAT(R1} 50006S: LET R3 := HO 005003 LET STAT{R1) 042761 004000 020227 001003 001000 052761 020000 000026 :~ STAT(R1) CLR.BY #ACTBIT IF R2 EQ #NBKMOD THEN CMP BNE LET STAT(R1) '- STAT(R1) SET.BY HBI T 13 SIS 000026 R2,#N3KMOD 50010$ #SIT13,STAT(R1) ENDIF 50010$: IF R2 EQ #SBKMOD OR R2 EO #NBKMOD THEN 020227 001403 020227 001004 CMP SEQ CMP BNE 000000 001000 LET 042760 002000 DT~STO(RO) 000010 R2,#SSKMOD 50011$ R2,#NSKMOD 50012$ 50011$: .- DT.STO(RO) CLR.SY #MODHOLD BIC #MODHOLD,DT.STO( LET R3 := #0 005003 CLR R3 BR 50013$ MOV RSTRT(R1),R3 ENDIF 500125: ELSE 000402 50007$: LET R3 .- RSTRT(R1) 016103 000112 ENDIF 500135: ;+ SET THE MODULE'S EOP BIT, UNLESS THIS IS A BKMOD IN DISGUISE AS A IOMOD ; (TMPIO = 1), IN WHICH CASE WE MUST CHANGE ; THE 8KMOD'S STAT BITS BACK FROM IOMOD TO BKMOD AND ; CLEAR TMPIO. ;- 000246' 000246 1 000254 1 000256' 000256' 000264 1 000264' 000266' 000266' 000266' 000270' 000270 1 000276 1 000276' 000304 1 IF #TMPIO NOTSETIN DT.STO(RO) THEN 032760 001004 000002 000010 152761 000001 000005 BIT 8NE LET XFLAG(R1) :B= XFLAG(R1) SET.BY #EOPBIT BlSB ELSE 000412 #TMPIO,DT.STO(RO 50014$ #EOPBIT,XFLAG(R1 BR 50015$ CLR R3 BIC #IOMOD,STAT(R1) 50014$: LET R3 := #0 005003 LET STAT(R1) '- STAT(R1) CLR.BY #IOMOD 042761 100000 000026 052761 000020 000026 LET STAT(R1) .- STAT(R1) SET.BY #8KMOD SIS #BKMOD,STAT(R1) LET DT.STO(RO) := DT.STO(RO) CLR.BY #TMPIO!MODHOLD PENDIT - PROCESS END!T TRAP CALL PENCIT.MAC 14-SEP-78 10:57 (6) 698 (4) 699 (4) 700 701 702 703 704 705 706 (6) (8) (6) (8) (6) (9) (6) 000304' 042760 000312' 000312' 000312' 000312' 002002 MACY11 30A(1052) 20-SEP-78 PROCESS ENDIT ROUTINE 18:17 PAGE 21-3 SEO 0783 BIC 000010 #TMPIO!MODHOLD,D ENDIF 50015$: ENDIF 50005$: ;+ ; DETERMINE IF THE EXERCISER IS RUNNING IN RELOCATASLE MODE, ; AUTOMATIC MODE, OR IF S3KSEL IS SET, AND IF SO, DO THE REQUIRED STUFF ;- 000312' 000312 i 000320' 000322' 000330' 000332' 000340' 000342' 032760 001010 032760 001004 032760 001432 707 708 709 710 711 712 713 714 715 716 . 000342' (6) 000342 1 032760 (8) 000350' 001004 (6 ) 000352' 032760 (9) 000360' 001422 (6) 000362' 717 000362' (6) 000362' 052760 718 000370' (6 ) 000370' 042761 719 720 721 722 723 724 725 000376' (6) 000376' 032761 (9 ) 000404' 001407 (6) 000406' 032760 (9) 000414' 001403 726 000416' (6) 000416' 042760 727 000424' (4) 000424' 728 729 730 000424 1 020000 000010 000010 000014 010000 000012 IF #RELMODE SETIN DT.STO(RO) OR #AUTO SET IN D'.CFO(RO) OR #SBKSEL SETIN DT.ST1(R BIT #RELMODE,DT.STO{ 8:--.lE 50016$ SIT #AUTO,DT.CFO(RO) 8NE 50016$ BIT #SBKSEL,DT.ST1(R SEQ 50017$ 50016$: ;+ IS IT TIME TO RELOCATE? OR, IF NOT IN RELOCATICN MJDE, IS IT TIME TO RETURN TO ; THE XXDP MONITOR? IF SO, MARK THE MODULE AS NOT REQUIRING ; AN IMMEDIATE RETURN FROM THIS CALL, DE-ACTIVATE THE MODULE, AND ; SET THE MODULE'S RETURN ADDRESS TO O. ;- 010000 000010 040000 000012 000400 000010 004000 000026 IF #RELTIME SETIN DT.STOeRO) OR #MEMPAS SETIN DT.ST1(RO) THEN BIT #RELTIME,DT.STO( BNE 50020$ BIT #MEMPAS, DT .. 5TH R SEQ 50021$ 50020$: LET DT.STO(RO) := DT.STO(RO) SET.BY #DEFRTN BIS #DEFRTN,DT~STO(R LET STAT(R1) != STAT(R1) CLR.BY #ACTBIT BIC #ACTBIT,STAT(R1) ;+ ; IF ITS A BACKGROUND MODULE, RESET THE BKMODE BIT IN THE MONITOR'S STATUS ; INDICATOR WORD 0 ;- 000020 000026 040000 000010 040000 000010 IF #BKMOD SETIN STAT(R1) AND #8KMODE SETIN DT.STO(RO) THEN BIT #BKMOD,STAT(R1) BEQ 50022$ BIT #BKMODE,DT.STO(R SEQ 50022$ LET DT.STO(RO) .- DT.STO(RO) CLR.BY #BKMODE BIC #8KMODE,DT.STO(R ENDIF 5C022$: LET R3 '- #0 PENDIT - PROCESS ENDIT TRAP CALL 14-SEP-78 10:57 PENDIT.MAC (4) 731 ( 4) 732 (4) 733 734 735 736 737 738 739 740 (6) (9) 741 (3) (8) (7) (6) (5) (4) (3) (3) 742 (4) (3) 743 20-SEP-78 PROCESS ENDIT ROUTINE MACY11 30A(1052) 000424' 005003 000426' 000426' 000426' 000426' 000426' 000426' 000430' 000432' 000432' 000434' 000436' 000440' 000444' 000450' 000452' 000456' 000460' 000460' 000462' 000462 1 ( 6) 000462' (8) 000466' (6) 000470' (9) 000474' (6) . 000476' 744 000476' (4) 000476' 745 000502' (3) 000502 1 (6) 000504 1 (5) 000506' (4) 000510 1 (3) 000512' (3) 000516' 746 000520' (4) 000520' 747 000520' (4) 000520' 748 749 750 751 752 753 000520' (3) 000520 1 754 000524' (3) 000524' (3) 000524' 18: 17 P,~GE 21-4 SEQ 0784 CLR R3 TST SEQ R4 50023$ MOV MOV MOV MOV MOV MOV JSR MOV R5,-(SP) R3,-(R5) R1,-(R5) HO,-(R5) #MSGEOP,-(R5) RO,-:-(R5) PC,ENQTQ (SP)-i-,R5 BR 50024$ CMP BEQ CMP BNE R2,#SBKMOD 50025$ R2,#NBKMOD 50026$ MOV DT.PC(RO),R2 MOV MOV R5,-(SP) R2,-(R5) R1,-(R5) RO,-(R5) PC,ENQCQ (SP)+,R5 JSR PC,RE3REG ENDIF 50021$: ENDIF 50017$: ;+ ; IF Ii IS AN END-OF-PASS, ENQUEUE A MESSAGE. ; OTHERWISE, IF NBK OR SBK, GET THE RETURN ADDRESS AND MAKE A ; CONTROL QUEUE ENTRY. ;IF R4 NE #0 THEN 005704 001414 010546 010345 010145 012745 012745 010045 004767 012605 CALL ENQTQ IN 000000 000013 OOOOOOG ELSE 000417 50023$: IF R2 EO USBKMOD OR R2 EQ #NSKMOD THEN 020227 001403 020227 001011 000000 001000 50025$: LET R2 := DT.PC(RO) 016002 010546 010245 010145 010045 004767 012605 000002 CALL ENQCQ IN MOV MOV MOV JSR OOOOOOG ENDIF 50026$: ENDIF 50024$: ;+ ; RETURN TO CALLER ;- CALL RESREG 004767 OOOOOOG ENDRTN 50000$: 50001$: PENDIT - PROCESS END!T TRAP CALL PENDIT.MAC 14-SEP-7810:57 (2) 755 756 757 MACY11 30A(1052) 20-SEP-78 PROCESS ENDlT ROUTINE 18:17 PAGE 21-5 000524 1 000207 000001 SEQ 0785 RTS .END ;THAT1S ALL FOLKS!!! PC MACY11 30A(1052) SYMBOL TABLE PENDIT - PROCESS ENDIT TRAP CALL 14-SEP-78 10:57 PENDIT.MAC ACSR ACTBIT= ADDR22= ADR APTFER= APTPRE= ASB ASSEMS= ASTAT = AUTO AUTOST= AWAS BA.STA= BITO BITOO 8IT01 BIT02 BIT03 B1T04 BIT05 BIT06 BIT07 BIT08 BlT09 = BIT1 BIT10 B1 T11 BIT12 BIT13 BIT14 BIT15 BIT2 = BIT3 BIT4 BITS BIT6 BIT7 BIT8 BIT9 BKOEF BKMOD BKMODE= BK5LSH= CAPRES= CASTAT= CDERCT= COWDCT= CKTIM = CLKPRE:; CONFIG= CQOVF CR CSRA 000102 004000 001000 000006 000004 000200 000106 000010 000104 000010 020000 000110 ****** 000001 000001 000002 000004 000010 000020 000040 000100 000200 000400 001000 000002 002000 004000 010000 020000 040000 100000 000004 000010 000020 000040 000100 000200 000400 001000 000002 000020 040000 000134 000004 000004 000146 000144 100000 000001 000056 000001 000015 000100 G CSRC CTRLC CTRLO = CTRLU DCEVNT= DEFRTN= DIAGMC= DROPMO= DSEVNT= DTABLE= DT.ADD= DT.AP = DT.APK= DT.BLS= DT.CFO= D1.CF1= DT.ERR= DT.ESI= DT.EVN= DT.EXS= DT.FCH= DT.FCN= DT.HMX= DT.KBE= .OT. KBP=· DT.KBR= Ot.KBU= DT.MLS= DT.MTl= DT.OFF= DJ.PAS= DT.PC = DT.PFL= DT.PSW= D1. PT A= OT.RCS= OT.REL= DT.SCT= OT.SMX= DT.SP = DT.S51= OT.STO= D1.ST1= DT.SWR= DT.SYP= OT.WBU= DT.WHL= DT.WLL= DVI01 = ECCMEM= ECCSTA= ENBEOP= ENBNUL= 000102 000003 000017 000025 000011 000400 000000 100000 000014 000000 000042 000100 000076 000034 000014 000016 000020 000044 000000 000060 000037 000036 000104 000024 000026 000022 000030 000032 000110 000070 000074 000002 000062 000004 000064 000102 000040 000066 000106 000006 000046 000010 000012 000056 000072 000050 000054 000052 000014 000100 000010 010000 000001 2Q-SEP-78 ENDLST= ENQCQ = ENQTQ = EOPB1T= ERRTYP= EVNTBE= EVNTHD= EVNTKT= EVNTPE= EVNTRE= FATERR= HRDCNT= HRDPAS= ICONT = ICOUNT= IONUM = IE INOPAR= INHORP= INHEPR= INHREL= INHRRE= IN1T INTR lOMOD IOMOOP= PAGE 22 SEQ 0786 000000 ****** G ****** G 000001 000106 000200 000200 000203 000202 000201 100000 0000·44 000050 000036 000040 000122 000100 000040 040000 020000 001000 000400 000030 000120 100000 102000 IOiviODR= ; i 2000 10MODX= JACK KIPARO= K:IPAR1= KIPAR2= KIPAR3= KIPAR4= KIPAR5= KIPAR6= KIPAR7= KIPORO= K!PDR1= KIPOR2= KIPOR3= KIPDR4= KIPOR5= KIPDR6= KIPOR7= KTERRO= KTPRES= KTSTAT= KTXTND= LF LPSTAT= MAPSTA= MED 18: 1 7 1.10000 035060 172340 172342 172344 172346 172350 172352 172354 172356 172300 172302 172304 172306 172310 172312 172314 172316 000040 000400 000020 040000 000012 000001 000200 076600 MEMPAS= MODEXH= r,,10DHOL= MODSEL= MSGCKD= MSGCKS= MSGD~R= MSGDRP= MSGECH= MSGEOP= MSGHDR= MSGH~~G= MSGHRD= MSGMAP= MSGNUL= MSGPOP= MSGPRM= MSGRES= MSGSFT= MSGSKE= MSGSMB= MSGSMH= MSGSrI1S= MSGSTO= MSGSYS= MSGVEC= NBKiyiCD= NCPUOP= NOAPTY= NULL OWEN = PAERR PARPRE= PARSTA= PASCNT= POPLSI= POP60 = POP70 = PENOIT PRIO PR 11 PRI4 PRI5 PRI6 PRI7 PRO PR4 PR5 PR6 PR7 PS PSW RANNUM= 040000 004000 002000 0'01000 000010 000011 000005 000017 177777 000013 000004 000022 000007 000021 177775 00000"2. 177776 000001 000006 000003 000015 000014 000016 000000 000012 000020 001GOe 000020 000002 000000 024020 000010 002000 000100 000034 020000 004000 010000 OOOOOORG 000000 000040 000200 000240 000300 000340 000000 000200 000240 000300 000340 177776 177776 000054 RBUFEA= RBUFPA= RBUFSZ= RBUFVA= RDSERV= RD\iJHMI = RELERR= RELMOD= REL TIM= RESREG= RES1 RES2 RICHAR= RPTDAT= RSTRT = RU90UT= RUNMOO= R5VALU= SAM SAVREG= SBADR = SBKMOO= SBKSEL= ·SC.AOR= SC.ALC= SC.APC= ,....~ ,....l~ .:) ..... \...I'\~- I _ SC.CKP,:, SC.CLO= SC.HLO= SC.SCA= SENOLS= SOFCNT= SOFPAS= SPACE = SPOINT= SPVALU= SRO SR1 SR2 SR3 STAT STAiBI= STAT1 = SUSPND= SVRO SVR1 SVR2 SVR3 SVR4 SVR5 SVR6 SYSCNT= 000130 000126 000132 000124 000101 000022 000020 020000 010000 ****** G 000056 000060 031060 002000 000112 000177 100000 001740 075464 ****** G 000102 000000 010000 000006 000014 000016 1"\1"'\1"'\1"\/'\" UUvuu,,:; 000004 0000'00 000010 000012 177777 000042 000046 000040 000032 002200 177572 177574 177576 172516 000026 064757 000027 000001 000062 000064 000066 000070 000072 000074 000076 000052 - ~ROC;:SS Er~DI T 7R;"P ~ALL ?ENOIT 14-SEP-78 10:57 PE.NDIT.MAC SYSERR= TMPIO = TQOV'F = UIPARO= UIPAR1= UIPAR2= UIPAR3= UIPAR4= UIPAR5= UIPAR6= UIPAR7= UIPDRO= UIPDR1= UIPDR2= UIPDR3= UIPDR4= UIPDR5= UIPDR6= UIPDR7= WASADR= 000100 000002 000002 177640 177642 177644 177646 177650 177652 177654 177656 177600 177602 177604 177606 177610 177612 177614 177616 000104 ABS. 000000 000526 WBST AT= WBUFEA= WBUFPA= W8UFRQ= WBUFSZ= WDFR WDTO WTINRE= WTWH~'ilI= XFLAG = XOFF XON $BGNLE= $ERFLG= $F$AND= $F$BAD= $F$BLA= $F$CAS= $F$DEC= $F$DO = MACY11 000040 000136 000134 000140 000142 000116 000114 000352 000222 000005 000023 000021 177777 000400 000310 000401 000170 000150 000220 000340 000 001 ERRORS DETECTED: 0 DEFAULT GLOBALS GENERATED: 30A(~052) 20-SEP-'78 18: 17 P.A.GE 22-1 SYMBOL TABLE 0 DSKZ!PENDIT,DSKZ:PENDIT=SPMAC/ML,EQUATE,PENDIT RUN-TIME: 20 11'.3 SECONDS RUN-TIME RATIO: 92/32=2.8 CORE USED: 14K (27 PAGES) SFSFAL= $F$GOO= $F$IF = $F$INC= $F$LOO= $F$NAM= $F$NO = SFSOR = $F$RTI= $F$RTN= $F$SEL= $F$THE= SF$TRU= $F$UNT= $FSvJH I = $F$YES= $IFLEV= $ISKO $ISK1 = $ISK2 = SEQ 0787 000405 000400 000110 000210 00020G 000160 000403 000320 000350 000300 000140 000330 000404 000130 000120 000402 177777 . 000001 000001 000001 SLOCTA= $LSTIN= $LSTTA= $NESTL= $NSKO SNSKl = $NSK2 = $NSK3 = SSAVLE= STAGLE= $T .A.GNU= STEMP $TSKO = $TSK1 = $TSK2 = $$ARGC= $$SYTE= $$CASE= $$DST = $$ELOC= 177777 000001 OOOGOl 177777 000300 000110 000110 00J110 177777 11"1777 050027 000300 050024 :J50Q26 050022 000002 000403 000000 000000 000402 $iERrL= $$FLA3= $$FROM= $$LOC = $$LOCN= $,)Ri.:G = $$RETU= $:3RTNl = $:$RTN2= $$SRC = S$TGSV= $$TGS1= $STGS2=. $.iiTO $$$TAG= 000000 000001 000000 000474R 000000 177777 000000 050000 050001 000000 000000 000000 000000 00')000 050000 000526R .MAIN. MACY11 30A(1052) 20-SEP-78 EQUATE.MAC 13-SEP-78 16:13 3 556 559 582 18:19 TABLE OF CONTENTS COMMON EQUATE MODULE PDATER (COMMON DEFINITIONS AND REFERENCES) 000000 1 .PRINT ;SPMAC: VERSION 1.1 PDATER (CODE) SEQ 07138 rDATER (PROCESS DATERS TRAP) PDAfER.MAC :2B-JUL-78 09:24 508 509 510 511 512 513 514 515 516 517 :518 51£' MACY11 30A(1052) 20-SEP-78 18:19 COMMON EQUATE MODULE 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 SEQ 0789 .TITLE PDATER (PROCESS DATER$ TRAP) .IDENT IVO.O/ ;++ MODULE NAME: PDATER FUNCTIONAL DESCRIPTION: THIS MOpULE· IS CALLED AS A RESULT OF t. D,:,\TER$ TRAP EXECUTED BY AN OPTION MODULE. IT ENQUEU~S AN ERROR MESSAGE. I ~":PUTS: 1. 52C 521 522 523 PAGE 19 DTABLE ADDRESS IMPLICIT INPUTS: 1. Dr.PC :2. Dr. CFO OUTPUTS: NONE IMPLICIT OUTPUTS: NONE. PATHOLOGICAL CONNECTIONS: NONE SUBORDINATE ROUTINES CALLED: 1. ENQTQ ;ENQUE THE ERROR MESSAGE 2. SJWREG 3. RESREG 4. APTSER 5. DRPMOD FUNCTIONAL SIDE EFFECTS: NONE CALLING SEQUENCE: CALL PDATER IN
WHERE DT ~ DATA TABLE ADDRESS VERSION: 0.0 EDIT ;-- DATE BY REASON PDATER (PROCESS DATERS TRAP) PDATER.MAC 28-JUL-78 09:24 556 557 558 559 (1) 560 561 MACV11 30A(1052) 20-SEP-78 18:19 PAGE 19-1 PDATER (COMMON DEFINITIONS AND REFERENCES) .SBTTl.PDATER (COMMON DEFINITIONS AND REFERENCES) 000000' 000000' 000001 000001 .MCALl STRUCT STRUCT .PRINT ;SPMAC: VERSION 1.1 $LSTIN=', $lSTTAG=1 562 563 564 ;**************** 565 : REFERENCED BY OTHER MODULES 566 567 .GlOBl 568 569 570 i 571 572 , 573 574 i PDATER :**************** ; GLOBAL REFERENCES 575 576 577 .GlOBl .GlOBL .GlOBL .GlOBL .GLOBL 578 579 ;**************** 580 jMODUlc ENTRY POINT ENOTO SAVREG RESREG APTSER DRPMOD ; ;ENQUES ERROR MSG , ;APT ROUTINE ;DROP MODU~E SEQ 0790 PDATER (PROCESS OATER$ TRAP) PDATER.MAC 28-JUL-78 09:24 582 583 584 (2) 585 586 587 588 589 590 591 592 593 594 595 596 (3) 597 598 (4) 599 (4) 600 (4) 601 602 603 604 605 606 607 (6) 608 (6 ) 609 (6) (9) 610 (3) (4) (3) (3) 611 (4) (3) 612 613 614 615 616 617 618 619 (6) (9) 620 MACY11 30A(1052) 20-SEP-78 PDATER (CODE) 18:19 PAGE 19-2 SEQ 0791 .SBTTL PDATER (CODE) ROUTINE POATER 000000' 000000' PDATER: j+ THIS ROUTINE ENQUES THE DATA ERROR MESSAGE IN THE TYPE QUEUE. RO R1 R2 R3 MSGDER 000000' 000000' 004767 000004' 000004' 016500 000010' 000010' 016001 000014' 000014' 017004 = DTABLE ADDRESS = PC+2 OF CALL peOF CALL AND IS PASSED AS ADDR OF MSG RETURN ADDRESS DATA ERROR TYPE MSG CODE CALL SAVREG OOOOOOG JSR PC,SAVREG MOV AA(R5),RO MOV DT.PC(RO) ,R'1 MOV @DT.PC(RO),R4 INC SOFCNT(R4) INC SOFPAS(R4) BIT BEQ #APTPRES,OT.CFO( 50002$ MOV MOV JSR MOV R5,-(SP) RO,-(R5) PC,APTSER (SP)+"R5 SR 50003$ BIT SEQ #BIT1:5,DT.SWR(RO 50004$ LET RD .- AA(R5) 000000 LET R1 .- DT.PC(RO) 000002 LET R4 .- @DT.PC(RO) 000002 ;+ ; INCREMENT SOFCNT, AND SOFPAS AND IF UNDER APT, CALL APT SOFT ; ERROR ROUTINE ;- 000020' 000020' 000024' 000024' 000030' 000030' 000036' 000040' 000040' 000042' 000044' 000050' 000052' 000052' 000054' LET SOFCNT(R4) := SOFCNT(R4) + #1 005264 000042 LET SOFPAS(R4) := SOFPAS(R4) + #1 005264 000046 IF #APTPRES SETIN DT.CFO(RO) THEN 032760 001406 000200 000014 CALL APTSER IN 010546 010045 004767 012605 OOOOOOG ELSE 000431 50002$: ;+ ; THE ENVIRONMENT IS NOT APT. ; IF THE SWITCH REGISTER SAYS DROP THE MODULE BECAUSE OF THE ; ERROR. DO IT. ', - 000054' 000054' 032760 000062' 001407 000064' IF #BIT15 SETIN DT.SWR(RO) THEN 100000 000056 CALL DRPMOD IN PDATER (PROCESS DATER$ TRAP) PDATER.MAC 28-JUL-78 09:24 (3) (5) (4) (3) (3) 621 (4) (3) 622 623 624 625 626 627 628 629 (6) (9) (6) (9) 630 (3) (5) (4) (3) (3) 631 (4) 632 (4) 633 (4) 634 635 636 637 638 639 640 (4) (6) 641 642 643 644 645 646 (4) (6) 647 (3) (8) (7) (6) (5) (4) 000064 1 000066 1 000070 I 000072 I 000076 1 000100 I 000100 1 000102 1 010546 010445 010045 '004767 012605 MACYi1 30A(1052) 20-SEP-78 PDATER (CODE) 18:19 PAGE 19-3 SEQ 0792 OOOOOOG ELSE 000416 MOV MOV MOV JSR IVIOV R5,'-(SP) R4,.-(R!5) RO,-(R '5) PC,ORPMOD (SP)+,R5 BR 50005$ 50004$: ;+ ; IF THE ERROR COUNT HAS REACHED THE LIMIT, t~ND IF THE SWITCH REGISTER ; INDICATES THE MODULE SHOULD BE DROPPED, DO IT. ., 000102 1 000102 1 000110 1 000112 1 000120 1 000122 1 000122 1 000124 1 000126 1 000130 1 000134 1 000136 1 000136 1 000136 1 000136 1 000136 1 000136 1 IF SOFCNT(R4) HI DT.SMX(RO) AND #BIT14 NOTSETIN 026460 101412 032760 001006 010546 010445 010045 004767 012605 000042 000106 040000 000056 D~.SWR(RO) BlOS BIT BNE THEN SOFCNT(R4),DT.SM 50006$ #BIT14,DT.SWR(RO 50006$ MOV MOV MOV JSR MOV R5,-(SP) R4,-(R5) RO,-(R5) PC,DRPMOD (SP)+,R5 MOV SUB Ri , R2 #2,R2 MOV ADD Ri , R3 #2,R3 MOV MOV R5,-(SP) R3,-(H5) C~P CALL DRPMOD IN OOOOOOG ENDIF 50006$: ENDIF ENDIF 5·0005$ : 5,0003$ : ;+ ; PUT THE ADDRESS OF THE TRAP CALL IN R2. .r LET R2 .- Ri - #2 1 000136 000136 1 010102 000140 I 162702 000002 ;+ ; PUT THE OPTION MODULEIS RETURN ADDRESS IN R3. ;- 000144 1 000144 1 000146 1 000152 1 000152 1 000154 1 000156 1 000160 1 000162 1 000166 1 LET R3 .- R1 + #2 010103 002703 010546 010345 011145 010245 012745 010045 000002 000005 CALL ENQTQ IN IVIOV (R1) ,--(R5) MOV MOV MOV R2,-(H5) #MSGDER,-(R5) RO,-(H5) PDATER (PROCESS DATER$ TRAP) PDATER.MAC 2B-JUL-78 09:24 (3) (3) 648 649 (3 ) 650 651 (3) (3) (2) 652 653 000170' 004767 000174' 012605 000176' 000'176' 004767 000202' 000202' 000202' 000202' 000207 000001 20~·SEP-7B MACV11 30A(1052) PDATER (CODE) 1 B: 19 PAGE 19-4 SEQ 0793 OOOOOOG JSR MOV PC,ENQTQ (SP)+,H5 JSR PC,HESHEG RTS PC CALL RESREG OOOOOOG ENDRTN 50000$: 50001$: .END PDATER (PROCESS DATER$ TRAP) 28-JUL-7B 09:24 PDATER.MAC 000000 AA 000102 ACSR ACTBIT= 004000 ADDR22= 001000 000006 ADR APTFER= 000004 APTPRE= 000200 APTSER= ****** G ASB 000106 ASSEMB= 000010 ASTAT = 000104 AUTO 000010 AUTOST= 020000 AWAS 000110 BITO 000001 BITOO 000001 BIT01 000002 BIT02 000004 BIT03 000010 BIT04 000020 BIT05 000040 BIT06 000100 BIT07 000200 BIT08 000400 BIT09 001000 ::: 000002 BIT1 ·002000 BIT10 BI111 004000 010000 BIT12 BIT13 020000 BIT14 040000 BIT15 100000 131T2 000004 BIT3 000010 000020 . £31T4 BIT5 000040 BIT6 000100 BIT7 000200 BIT8 000400 BIT9 = 001000 BKDEF 000002 BKMOD 000020 8KMODE= 040000 BKSLSH= 000134 CAPRE5= 000004 CASTAT= 000004 CDERCT= 000146 CDWDCT= 000144 CKTIM = 100000 CLKPRE= 000001 CONF1G= 000056 CQOVF 000001 CR = 000015 20-SEP-78 MACY11 30A(1052) SYMBOL TABLE CSRA CSRC CTRLC CTRLO CTRLU DCEVNT= DEFRTN= DIAGMC= DROPMO= DRPMOD= DSEVNT= DT.ADD= DT.AP = DT.APK= DT.8LS= DT.CFO= DT.CF1= DT.ERR=, DT.ESI= DT.EVN= DT.EX5= DT.FCH= DT.FCN= DT.HMX= DT.KBE= DT.KBP= DT.KBR= DT.KBU= DT.MLS= DT.MTI= DT.OFF= DT.PA5= DT.PC ::: DT.PFL= DT.PSW= DT.PTA= DT.RCS= DT.REL= DT.SCT= DT.SMX= DT.SP = DT.55I= DT.5TO= DT.ST1= DT.SWR= DT.SYP= DT.WBU= DT.WHL= DT.WLL= DVIDl = ECCMEM= ECCSTA= ENBEOP= 000100 000102 000003 000017 000025 000011 000400 000000 100000 ****** 000014 000042 000100 000076 000034 000014 000016 000020 000044 000000 000060 000037 000036 0'00104 000024 000026 000022 000030 000032 000110 000070 000074 000002 000062 000004 000064 000102 000040 000066 000106 000006 000046 000010 000012 000056 000072 000050 000054 000052 000014 000100 000010 010000 G 18: 19 ENBNUL= ,000001 ENDLST= 000000 ENOTO = ****** G EOPBIT= 000001 ERRTYP= 000106 EVNTBE= 000200 EVNTHD= 000200 EVNTKT= 000203 EVNTPE= 000202 EVNTRE= 000201 FATERR= 100000 HRDCNT= 000044 HRDPAS= 000050 ICONT = 000036 ICOUNT= 000040 IDNUM :: 000122 000100 IE INDPAR:: 000040 INHDRP= 040000 INHEPR= 020000 INHREL= 001000 INHRRE= 000400 INIT 000030 000120 INTR IOMOD =. 100000 IOMODP= 102000 IOMODR= 112000 IOMODX= 110000 035060 JACK KIPARO= 172340 KIPAR1= 172342 K1PAR2= 172344 KIPAR3= 172346 KIPAR4= 172350 KIPAR5= 172352 KIPAR6= 172354 KIPAR7= 172356 KIPDRO= 172300 KIPDR1= 172302 KIPDR2= 172304 KIPDR3= 172306 KIPDR4= 172310 KIPDR5= 172312 KIPDR6= 172314 KIPDR7= 172316 KTERRO::: 000040 KTPRE5= 000400 KT5TAT= 000020 KTXTND= 040000 000012 LF LPSTAT= 000001 MAPSTA= 000200 076600 MED PAGE .20 SEQ 0794 MEMPAS::: 040000 MODEXH=: 00400Q MODHOL=: 002000 MODSEL=: 00 '1000 MSGCKD=: 000010 MSGCKS== 000011 MSGDER=: 000005 MSGDRP:: 000017 MSGECH:: 177777 MSGEOP:: 000013 MSGHDR:: 000004 MSGHNG:: 000022 MSGHRD= 000007 MSGMAP:: 000021 MSGNUL:: 177775 MSGPOP:: 000002 MSGPRM:: 177776 MSGRES:: 00J001 MSGSFT:= 000006 MSGSKE:= 000003 MSGSMB:= 000015 MSGSMH:= 000014 MSGSMS::: 000016 MSG5TD:: 000000 M5GSYS:= 000012 MSGVEC= 000020 NBKIVlOD:= 001000 NCPUOP:= 000020 NOAPTY:= 000002 000000 NULL '024020 OWEN 000010 PAERR PARPRE= 002000 PARSTA= 000100 PA5CNT= 000034 PDATER OOOOOORG PDPL51= 020000 004000 PDP60 PDP70 010000 PRIO 000000 000040 PRI1 000200 PRI4 000240 PR!5 000300 PRI6 000340 PR17 000000 PRO 000200 PR4 000240 PR5 000300 PR6 000340 PR7 PS = 177776 177776 PSW RANNUM= 000054 ' R8UFEA= 000130 RBUFPA::!: 000126 RBUFSZ= 000132 R8UFVA= 000124 RDSERV= 00010'1 RDWHMI= 000022 RELERR= 000020 RELMOD= 020000 REL TIM= 010000 RESREG= ****** G 000056 RES1 000060 RES'2 RICHAR= 031060 RPTDAT= 002000 R5TRT :: 000112 RUBOUT= 000177 RJNMOD= 100000 RSVALU= 001740 075464 SAM SAVREG= ****** G SBADR = 000102 SBKMOD= 000000 SBKSEL= 010000 SC.ADR= 000006 SC.ALC= 000014 SC.APC= 000016. SC.CKL= 000002 SC.CKP= 000004 SC.CLO= 000000 5C.HLD= 000010 SC.SCA= 000012~ SENDLS= 177777' SOFCNT= 000042 SOFPAS= 000046 SPACE = 000040 SPOINT= 00003:;;~ SPVALU= 002200 177572 5RO 177574 SRi 177576 SR2 17251E; 5R3 STAT 00002E> STATBl= 064757 5TATl = 000027 SUSPND= 000001 SVRO = 000062 SVR1 000064 SVR2 = 00006E> 00007() SVR3 00007~~ SVR4 5VR5 = 000074 00007E5 5VR6 SY5CNT= OOOO?~~ POATER (PROCESS DATER$ TRAP) 28-JUL-78 09:24 POATER.MAC ,SYSERR= TMPIO = TQOVF = UIPARO= UIPAR1= UIPAR2= UIPAR3= UIPAR4= UIPAR5= UIPAR6= UIPAR7= UIPJRO= UIPDR1= UIPDR2= UIPDR3= UIPDR4= UIPDR5= UIPDR6= LJIPDR7= WASADR= ASS. 18: 19 $F$FAL= $F$GOO= $F$IF = $F$INC= $F$LOO= $F$NAM= $F$NO = $F$OR = $F$RTI= $F$RTN= $F$SEL= $F$THE= $F$TRU= $F$UNT= $F$WHI= $F$YES= $IFLEV= $ISKO $ISK1 $ISK2 = 000405 000400 000110 000210 000200 000160 000403 000320 000350 000300 000140 000330 000404 000130 000120 000402 177777 000001 000001 000001 WBSTAT= WBUFEA= WBUFPA= WBUFRQ= WBUFSZ= WDFR WOTO WTINRE= WTWHMI= XFLAG = XOFF XON $BGNLE= $ERFLG= $F$AND= $F$SAD= $F$BLA= $F$CAS= $F$DEC= $F$DO = 000100 000002 000002 177640 177642 177644 177646 177650 177652 177654 177656 177600 177602 177604 177606 177610 177612 177614 177616 000104 000000 000204 MACY 11 30A(1052) 20'-SEP-78 SYMBOL iABLE 000040 000136 000134 000140 000142 000116 000114 000352 000222 000005 000023 000021 177777 000400 000310 000401 000170 000150 000220 000340 000 001 0 ERRORS DETECTED: DEFAULT GLOBALS GENERATED: 0 DSKZ:PDATER,DSKZ:PDATER=SPMAC/ML,EQUATE,PDATER RUN-TIME: 13 3 .4 SECONDS RUN-TIME RATIO: 64/17=3.6 CORE USED: 14K (27 PAGES) PAGE 20-1 SEQ 0795 $LOCTA= $LSTIN= $LSTTA= $NESTL= $NSKO $NSK1 -, $NSK2 = $NSK3 =: $SAVLE= $TAGLE=: $TAGNU=: $TEMP $TSKO .' $TSK1 $TSK2 •. $$ARGC:.: $$BYTE=: $$CASE=: $$DST .. $$ELOC= 177777 000001 000001 177777 000300 000110 000110 000110 177777 177777 050007 000300 050003 050005 050006 000002 000403 000000 000000 000402 $$ERFL= $$F LAG= $$FROM= $$LOC = $$LOCN= $$REG = $$RETU= $$RTN1= $$RTN2= $$ SRC = $$TGSV= $$TGS1= $$TGS2= $$TO $$$TAG= 000000 000001 000000 0001201~ 000000 177777 000000 050000 050001 000000 000000 000000 000000 000000 050000 000204R .MAIN. MACY11 30A(1052) 20-SEP-78 EQUATE.MAC 13-SEP-78 16:13 3 565 568 587 COMMON EQUATE MODULE PGETPA (COMMON DEFINITIONS 000000 I PGETPA (CODE) 18:20 TABLE OF CONTENTS & REFERENCES) • PR I NT i SPMAC: VERSION 1.1 SEQ 0796 PGETPA (GET PHYSICAL ADDRESS MODULE) PGETPA.MAC 28-JUL-78 09:24 508 509 510 511 512 513 514 515 516 517 518 519 020 521 522 523 524 525 526 52" 528 529 530 531 532 533 534 535 5:j6 537 538 539 540 541 542 54:; 544 545 546 547 548 549 550 551 552 553 554 55:1 55f:i 557 558 55!) 560 561 532 563 MACV11 30A(1052) 20~SEP-78 COMMON EQUATE MODULE .TITLE PGETPA .IDENT IVO.C/ (GET 18:20 PAGE 19 SEQ 0797 PHYSICAL ADDRESS MODULE) j++ MODULE NAME: PGETPA FUNCTIONAL DESCRIPTION: THIS MODULE SERVICES CErPA TRAP CALLS. IT RETURNS A 16-81T OR 18-BIT VIRTUAL ADDRESS FOR A 16-81T VIRTUAL ADDRES3 GIV~N (DEPENDING ON IF KT IS TURNED ON). A POINTER TO A 3-wORD AREA IS RECEIVED. THE FIRST WORD CONTAINS THE 16-8IT VIRTUAL ADDRESS, THE NEXT TWO WORDS WILL CONTAIN, ON RETURN, THE LOW 18-BITS OF THE ADDRESS AND THE EXTENDED ADDRESS BITS. HlPUTS: DTABLE ADDRESS IMPLICIT INPUTS: 1. DT.PC ;DT.PC+2 POINTS TO WHERE VA PA EA TAB VIR PHY EXT E CONTAIN:NG VA,PA,EA UAL ADORESS leAL ADDRESS NDED ADDRESS 2. DT.STO 3. Dr.OFFSET OUTPUTS: NONE IMPLICIT OUTPUTS: 1. PHYSICAL ADDRESS WORD 2. EXTENDED ADDRESS WORD PATHOLOGICAL CONNECTIONS: NONE SUBORDINATE ROUTINES CALLED: SAVREG RESREG ;SAVE REGISTERS ;RESTORE REGISTERS FUNCTIONAL SIDE EFFECTS: NONE CALLING SEQUENCE: CALL PGETPA IN
WHERE DT = DTA3LE ADDRESS VERSION: 0.0 EDIT DATE BY PGETPA (GET PHYSICAL ADDRESS MODULE) PGETPA.MAC 28-JUL-78 09:24 565 566 567 568 (1) 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 MACY11 30A(1052) 2u-SEP-78 18:20 PAGE 19-1 PGETPA (COMMON DEFINITIONS & REFERENCES) .SBTTL PGETPA (COMMON DEFINITIONS & REFERENCES) .MCALL STRUCT STRUCT .PRINT ;SPMAC: VERSION 1.1 000000' 000000 • 000001 000001 $LSTIN=1 $LSTTAG=1 ;**************** ; REFERENCED BY OTHER MODULES t .GLOBL PGETPA , i**************** ;MODULE ENTRY POINT ; GLOBAL REFERENCES .GLOBL .GLOBL SAVREG RESREG ;**************** ;SAVE REGISTERS ;RESTORE REGISTERS SEQ 0798 PGETPA (GET PHYSICAL ADDRESS MODULE) PGETPA.MAC 28-JUL-78 09:24 587 588 589 (2) 590 591 592 593 594 595 (3) 596 597 598 599 600 601 602 (4) 603 604 605 606 607 608 609 (4) (6) 610 611 (4) 61.2 613 614 615 616 617 618 (5) 619 620 621 622 623 624 625 626 627 (6) (9 ) 628 (4) 629 (4) 630 631 MACY11 30A(1052) PGETPA (CODE) 20-SEP-78 18:20 PAGE 19-2 SEQ 0799 .SBTTL PGETPA (CODE) ROUTINE PGETPA
000000' 000000' PGETPA: ;+ ; SAVE REGISTERS ;- 000000' 000000' 004767 CALL SAVREG OOOQOOG ;+ ; SET RO TO THE START OF THE DATA TABLE ;- 000004' 000004' 016500 LET RO := DT(R5) 000000 MOV DT(R5),RO MOV ADD DT.PC(RO),R2 #2,R2 MOV (R2) ,R1 ADD #4,DT.PC(RO) ;+ ; SET R1 TO THE START OF THE ADDRESS TABLE. 000010' 000010' 016002 000014' 062702 LET R2 := DT.PC(RO) + #2 00000.2 000002 LET R 1 • - 000020' 000020' 011201 (R2) ;+ ; UPDATE DT.PC TO REFLECT THE OPTION MODULE'S RETURN ADDRESS. 000022' 000022' 06.2760 LET DT.PC(RO) := DT.PC(RO} + #4 000004 000002 ;+ ; IF MEMORY MANAGEMENT IS NOT TURNED ON, SIMPLY MOVE THE ; 16-BIT VIRTUAL ADDRESS TO THE OUTPUT POSITION OF THE TAGLE, CLEAR THE ; HIGH BIT TABLE POSITION, AND RETURN. ;- 000030' 000030' 000036' 000040' 000040' 000042' 000042 i 000046' IF #KTSTAT NOTSETIN DT.STO(RO) THEN 032760 001004 000020 000010 BIT BNE #KTSTAT,DT.STO{R 50002$ MOV (R1)+,(R1) CLR 2 (R 1 ) LET (R1) := (R1)+ 012111 LET 2(R1) 005061 00000.2 ELSE. := #0 PGETPA (GET PHYSICAL ADDRESS MODULE) PGETPA.MAC 28-JUL-78 09:24 (4) (3) 632 633 634 635 636 637 638 639 640 641 642 643 644 645 (4) 646 (6) 647 (7) (7) (7) (7) 648 (6) 649 (4) (6) 650 651 652 653 654 655 656 (4) 657 658 659 660 661 662 663 664 (6) 665 666 667 668 669 670 671 672 673 674 MACY11 30A(1052) PGETPA (CODE) 20-SEP-78 18:20 PAGE 19-3 000046' 000446 000050' SEQ 0800 BR 50003$ MOV (R1),R2 S'IJAB R2 ASR ASR ASR ASR R2 R2 R2 R2 BIC #177761,R2 MOV ADD #KIPARO,R3 R2,R3 MOV (R3),R2 50002$: ;+ ; ELSE MEMORY MANAGEMENT IS ON. ;- ;+ ; DETERMINE THE PAR REGISTER REFERENCED BY THE VIRTUAL ADDRESS ; BY PLACING THE VA IN R2, DETERMINING THE ADDRESS ; OF THE PROPER PAR REGISTER, AND PLACING THE ADDRESS OF THIS ; REGISTER IN R3. 'f - 000050' 000050' 000052 1 000052' 000054' 000054' 000056' 000060' 000062' 000064' 000064' 000070' 000070 1 000074' LET R2.- (R1) 011102 LET R2 '- SWAP R2 000302 LET R2 '- R2 SHIFT #-4 006202 006202 006202 006202 LET R2 '- R2 CLR.BY #177761 042702 177761 012703 060203 172340 LET R3 '- #KIPARO + R2 + NOW GET THE CONTENTS OF THIS PAR REGISTER. LET R2 . - 000076 1 000076' 011302 (R3) WE NOw HAVE THE 22-BIT PHYSICAL ADDRESS IN PAR FORMAT. MAKE THIS A VIRTUAL 18-BIT VALUE (STILL PAR FORMAT) BY SUBTRACTING THE CURRENT OFFSET VALUE. 000100' 000100' 166002 LET R2 := R2 - DT.OFFSET(RO) 000070 SUB ;+ ; NOW CONVERT THIS VALUE TO 18 BITS. ; FIRST FORM THE LOW-ORDER 16-BITS BY SHIFTING THE HIGH ; ORDER BITS OUT OF THE PAR CONTENTS AND ADDING THE LOW 12 BITS OF THE ; ORIGINAL VA, THEN IF THERE IS OVERFLOW, CARRY IT TO THE HIGH BITS. 000104' LET R3 != R2 SHIFT #6 DT.OFFSET(RO),R2 PGETPA (GET PHYSICAL ADDRESS MODULE) 28-JUL-78 09:24 PGETPA.MAC (4) (7) (7 ) (7 ) (7 ) (7 ) (7) 675 (4) (6) 676 (4) (6) 677 (6 ) 678 (6) 679 (4 ) 680 681 682 683 684 685 686 687 (6) 688 (7 ) (7 ) 689 (6) 690 (4) 691 692 693 (4) 694 695 696 697 698 699 700 (3) 701 702 (3 ) (3) (2 ) 703 704 000104' 000106' 000110' 000112' 000114 1 000116 1 000120' 000122' 000122' 000124 1 000130' 000130' 000134' 000140' 000140' 000142' 000142' 000146' 000146' 010203 006303 006303 006303 006303 006303 006303 LET R4 01 1104 042704 160000 010361 060461 000002 000002 ·- 18:20 PAGE 19-4 SEQ 0801 (Rn CLR.BY #160000 LET :2(R1 ) := R3 + R4 IFCOND CS THEN 103002 062702 20-SEP-78 MACY11 30A(1052) PGETPA (CODE) LET R2 .- MOV ASL ASL ASL ASL ASL ASL R2,H3 R3 R3 R3 R3 R3 R3 MOV BIC (R 1 ) , R4 #160000,R4 MOV ADD R3,2(R1) R4, :2 ( R1 ) BCC 50004$ ADD #200 t R2 SWAB R2 ASL ASL R2 R2 BIC #177717,R2 MOV R2,4(R1) JSR PC,RESREG RTS PC R2 + #200 000200 ENDIF 50004$: ;+ ; FORM THE HIGH-ORDER 2 BITS, SHIFTING THEM INTO BIT POSTIONS ; 4 AND 5. ;- 000146' 000146' 000150' 000150' 000152 1 000154' 000154 1 000160' 000160' LET R2 000302 LET R2 006302 006302 042702 010261 LET R2 177717 ·0- ·- LET 4 (R 1 ) SWAP R2 R2 SHIFT #+2 R2 CLR.BY #177717 '- R2 000004 ENDIF 000164' 000164' 50003$: ;+ ; RESTORE RE.GISTERS AND RETURN. ,'- 000164' 000164 1 004767 000170 1 000170 1 000170' 000170' 000207 000001 CALL RESREG OOOOOOG ENDRTN .END 5,0000$ : 5iOO01$: PGETPA (GET PHYSICAL ADDRESS MODULE) 28-JUL-78 09:24 PGETPA.MAC ACSR ACTBIT= ADDR22= :: ADR APTFER= APTPRE= ASB ASSEMB= ASTAT = AUTO AUTOST= AWAS BITO BITOO BIT01 BIT02 BIT03 BIT04 BIT05 BIT06 BIT07 BIT08 B1T09 BIT1 BIT10 BIT11 BIT12 BIT13 BIT14 = BIT15 BIT2 BIT3 BIT4 BIT5 8IT6 BIT7 Bl T8 BIT9 BKDEF, BKMOD BKMODE= BKSLSH= CAPRES= CASTAT= CDERCT= CDWDCT= CKTIM = CU(PRE= CONFIG= CQOVF CR CSRA CSRC 000102 004000 001000 000006 000004 000200 000106 000010 000104 000010 020000 000110 000001 000001 000002 000004 000010 000020 000040 000100 000200 000400 001000 000002 002000 004000 010000 020000 040000 100000 000004 000010 000020 000040 000100 000200 000400 001000 000002 000020 040000 000134 000004 000004 000146 000144 100000 000001 000056 000001 000015 000100 000102 CTRLC = 000003 CTRLO = 000017 CTRLU.= 000025 DCEVNT= '000011 DEFRTN= 000400 DIAGMC= 000000 DROPMO= 100000 DSEVNT= 000014 000000 DT DT.ADD= 000042 DT.AP = 000100 DT.APK= 000076 DT.BLS= 000034 DT.CFO= 000014 DT.CF1= 000016 DT.ERR= 000020 DT.ESI= 000044 DT.EVN= 000000 DT.EXS= 000060 DT.FCH= 000037 DT.FCN= 000036 DT.HMX= 000104 DT.KBE= 000024 DT.KBP= 000026 DT.KBR= 000022 DT.KBU= 000030 DT.MLS= 000032 DT.MTl= 000110 DT.OFF= 000070 DT.PAS= 000074 DT.PC = 000002 DT.PFL= 000062 DT.PSW= 000004 ·DT.PTA= 000064 DT.RCS::; 000102 DT.REL= 000040 DT.SCT= 000066 DT.SMX= 000106 DT.SP = 000006 DT.SSI= 000046 DT.STO= 000010 DT.ST1= 000012 DT.SWR= 000056 DT.SYP~ 000072 DT.WBU= 000050 DT.WHL= 000054 DT.WLL= 000052 DVID1 = 000014 ECCMEM= 000100 ECCSTA= 000010 ENBEOP= 010000 ENBNU L= 000001 ENDLST= 000000 MACV11 30A(1052) SYMBOL TABLE 2Q-SEP-78 EOPBIT= ERRTYP= EVNTBE= EVNTHD= EVNTKT= EVNTPE= 'EVNTRE= FATERR= HRDCNT= HRDPAS= ICONT = ICOUNT= IDNUM = IE INDPAR= INHDRP= Il\:HEPR= INHREL= 1NHRRE= INIT INTR IOMOD 1OMODP= 1OMODR= IOMODX= JACK :;: KIPARO= KIPAR1= KIPAR:l== KIPAR3= KIPAR4= KIPAR5::; KIPAR6= KIPAR7= KIPDRO= KIPDR1= KIPDR2= KIPDR3= KIPDR4= KJPDR5= KIPDR6= KIPDR7= KTERRO= KTPRES= KTSTAT= KTXTND= LF LPSTAT= MAPSTA= MED MEMPAS= MODEXH= MODHOL:: 18:20 PAGE 20 SEQ 0802 000001 000106 000200 000200 000203 000202 000201 100000 000044 000050 000036 000040 000122· 000 100· 000040 040000 020000 001000 000400 000030 0001.20 100000 102000 112000 110000 035060 172340 172342 172344 172346 172350 172352 172::154 172356 172300 172302 172304 172306 17:2310 172312 172314 172316 000040 000400 000020 040000 000012 000001 000200 076600 040000 004000 002000 MODSEL= MSGCKD= MSGCKS= MSGDER= MSGDRP= MSGECH= MSGEOP= MSGHDR= MSGHNG= MSGHRD= MSGMAP= MSGNUL=: MSGPOP=: MSGPr~M=: MSGRES=: MSGSFT= MSGSKE::: MSGSM8=: MSGSMH= MSGSMS=: IVlSGSTD=; MSGSVS:: MSGVEC=: NBKMOD:: NCPUOP:: NOAPTY;: NULL OWEN PAERR PARPRE= PARSTA:: PASCNT= PDPLSI:: PDP60 PDP70 _. PGETPA PRIO P RI 1 PRI4 PRI5 PRI6 PRI7 PRO PR4 PR5 PR6 PR7 PS PSW RANNUM= RBUFEA= RBUFPA= RBUFSZ:: 001000 000010 000011 000005 000017 177777 000013 000004 000022 000007 000021 177775 000002 177776 000001 000006 000003 000015 000014 0000'16 000000 000012 000020 001000 000020 000002 000000 024020 000010 002000 000100 000034 020000 004000 010000 OOOOOORG 000000 000040 000200 000240 000300 000340 000000 000200 000240 000300 000340 177776 177776 000054 000130 000126 000132 RBUFVA= 000 '124 RDSERV= 000'101 RDWHIVI I = 000022 RELERI~= 000020 RELMOD= 020000 RELTIM= 010000 RESREG= ****** G 'RES1 000056 000060 'RES2 RICHAR= 031060 RPTDAT= 002000 F~S T RT = 000112 R'J80UT= 000177 RUNMOD= 100000 R5VALU= 001740 SAN: 075464 SAVREG= ****** G 5BADR = 000102 SBKMOD= 000000 SBKSEL= 010000 SC.ADR= 000006 SC.ALC= 000014 SC.APC= 000016 SC.CKL= 000002 SC.CKP= 000004 SC.CLO= 000000 SC.HLD= 000010 SC.SCA= 000012 SENDLS= 177777 SOFCNT= 00004.2 SOFPAS= 000046 SPACE =. 000040 SPOINT= 000032 SPVALU= 002200 177572 SRO SRi 177574 177576 SR2 172516 SR3 STAT 000026 STATBl= 064757 STA T1 = 000027 SUSPND= 000001 SVRO 000062 SVR1 000064 SVR2 000066 000070 SVR3 SVR4 000072 00007·1 SVR5 SVR6 000076 SVSCNT= 000052 SVSERR= 000100. 000002: TMPIO TQOVF = 000002: PGETPA (GET PHYSICAL ADDRESS MODULE) 28-JUL-78 09:24 PGETPA.MAC UIPARO= UIPAR1= UIPAR2= UIPAR3= UIPAR4= UIPAR5= UIPAR6= UIPAR7= UIPDRO:: UIPDR1= UIPDR2= UIPDR3= UIPDR4= UIPDR5= UIPDR6= UIPDR7= \>JASADR= WBSTAT= 177640 177642 177644 177646 177650 177652 177654 177656 177600 177602 177604 177606 177610 177612 177614 177616 000104 000040 ASS. 000000 000172 WBUFEA= WBUFPA= WBUFRQ= IIJBUFSZ= WDFR WDTO WTINRE:: WTWHMI :: XFLAG :: XOFF XON $BGNLE= $ERFLG= $F$AND= $F$BAD= $F$BLA= $F$CAS:: $ F$DEC=. MACY 11 30A(1052) SYMBOL TABLE 000136 000134 000140 000142 000116 000114 000352 000222 000005 000023 000021 177777 000400 000310 000401 000170 000150 000220 000 001 0 ERRORS DETECTED: DEFAULT GLOSALS GENERATED: 0 DSKZ:PGETPA,DSKZ:PGETPA=SPMAC/ML,EQUATE,PGETPA RUN-TIME: 14 4 .4 SECONDS RUN-TIME RATIO: 72/19=3.7 CORE USED: 14K (27 PAGES) 20-SEp .... 78 $F$DO $F$FAL= $F$GOO= $F$IF = $F$INC= $F$LOO:: $F$NAM= $F$NO :: $F$OR :: $F$RTI= $F$RTN= $F$SEL= $F$THE= $F$TRU= $F$UNT= $F$WHI= $F$YES= $IFLEV= 000340 000405 000400 000110 000210 000200 000160 000403 000320 000350 000300 000140 000330 000404 000130 000120 00040:2 177777 18:20 PAGE 20-1 SEQ 0803 $ISKO _. 000001 $ISK1 $LOCTA= $LSTIN=: $LSTTA= $NESTL::: $NSKO $NSK1 $NSK2 = $SAVLE::: $TAGLE= $ T AGNU=: $TEMP _. $TSKO $TSKl _. $$ARGC:: $$BYTE= $$CASE:: ~. ~. ~. 000001 177777 000001 . 000001 177777 000300 000110 000110 177777 177777 050005 000300 050003 050004 000002 000403 000000 $$DST = $$ELOC= $$ERFL= $$FLAG:: $$FROM= $$LOC :: $$LOCN= $$REG :: $$RETU= $$RTN1= $$RTN2= $$SRC :: $STGSV= $$TGS1= $$TGS2= $$TO $$$TAG= 000000 000402 000000 000001 000000 000140R 000000 177777 000000 050000 050001 000000 000000 000000 000000 000000 050000 000172R .MAIN. MACY11 30A(1052) 20-SEP-78 EQUATE.MAC 13-SEP-78 16:13 3 550 552 570 18:21 TABLE OF CONTENTS COMMON EQUATE MODULE COMMON DEFINITIONS AND REFERENCES 000000' .PRINT PMAP22 ROUTINE jSPMAC: VERSION 1.1 SEQ 0804 PMAP22 - PROCESS MAP22 MACY11 30A(1052) 20-SEP-78 18:21 PAGE 19 PMAP22.MAC 28-JUL-78 09:24 COMMON EQUATE MODULE 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 54.6 547 548 SEQ 0805 .TITLE PMAP22 - PROCESS MAP22 .IDENT JVO.O/ i++ MODULE NAME: PMAP22 FUNCTIONAL DESCRIPTION: PROCESSES MAP22 TRAP CALLS INPUTS: DATA TABLE IMPLICIT INPUTS: DT.PC OUTPUTS: NONE IMPLICIT OUTPUTS: DT.PC PATHOLOGICAL CONNECTIONS: NONE SUBORDINATE MODULES CALLED: UNIPA ;GET PHYS. ADDR. FROM UNIBUS MAP FUNCTIONAL SIDE EFFECTS: NONE CALLING SEQUENCE: CALL PMAP22 IN A=ADDRESS OF DATA TABLE vERSION: 0.0 EDIT BY DATE REASON PMAP22 - PROCESS MAP22 MACY11 30A(1052) 20-SEP-78 18:21 PAGE 19-1 PMAP22.MAC 28-JUL-78 09:24 COMMON DEFINITIONS AND REFERENCES 550 551 552 (1) 553 554 555 000000' 000000' 000001 000001 .SBTTL COMMON DEFINITIONS AND REFERENCES .MCALL STRUCT STRUCT .PRINT ;SPMAC: VERSION 1.1 $LSTIN=l $LSTTAG=1 556 , 557 558 559 ; 560 561 562 563 564 565 566 567 568 SEQ 0806 ;**************** ; REFERENC£D BY OTHER MODULES .GLOBL PMAP22 ;MODULE ENTRY POINT ;**************** , ; GLOBAL REFERENCES .GLOBL UNIPA ;GET PHYS. AODR. FROM UNIBUS MAP PMAP22 - PROCESS MAP22 MACY11 30A(1052) 20-SEP-78 18:21 PMAP22.MAC 28-JUL-78 09:24 PMAP22 ROUTINE 570 571 572 (2 ) 573 574 575 576 577 578 579 (2 ) (3) 580 581 582 583 584 585 586 (4 ) 587 588 589 590 591 592 593 594 595 (4) (6) 596 597 598 599 600 601 602 (3) (4) (3 ) (3 ) 603 604 605 606 607 608 609 610 611 (6 ) 612 613 614 PAGE 19-2 SEQ 0807 .SBTTL PMAP22 ROUTINE ROUTINE PMAP22 1 000000 000000 1 PIVIAP22: ;+ ; SAVE REGISTERS ,'- PUSH RO,R1 000000 1 000000 1 010046 000002' 010146 MOV MOV RO,-(SP) R1,-(SP) MOV TABL(RS),RO ;+ ; SET RO TO START OF DATA TABLE 000004' 000004 1 016S00 LET RO := TABL(RS) 000000 ;+ ; GET THE ADDRESS OF THE TABLE REQUIRED BY UNIPA. THIS TABLE ; CONTAINS THE 18-BIT ADDRESS TO BE CONVERTED ALONG WITH A STORAGE ; AREA FOR THE 22-BIT RESULT. ;- 000010' 000010 1 016001 000014 1 062701 LET R1 := DT.PC(RO) + #2 000002 000002 MOV ADD DT , PC ( HO) , R1 #2, R1 MOV MOV JSR MOV R5,-(SP) (R1) ,"(R5) PC,UNIPA (SP)+"R5 ADD #4,DT.PC(RO) ;+ ; CALL UNIPA ;- 000020 1 000020 1 000022 1 0000241 000030' CALL UNIPA IN «R1» 010546 011145 004767 01260S OOOOOOG ;+ ; UPDATE DT.PC TO REFLECT THE OPTION MODULE1S RE-ENTRY ; ADDRESS. (THAT IS, JUMP OVER THE INPUT ARGUMENT OF ; THE TRAP CALL.) , '- 000032' 000032' 062760 LET DT.PC(RO) := DT.PC(RO) + #4 000004 000002 i+ PMAP22 - PROCESS MAP22 MACY11 30A(1052) 20-SEP-78 18:21 PMAP22.MAC 28-JUL-78 09:24 PMAP22 ROUTINE 615 616 617 618 (2 ) (3 ) 619 620 621 622 623 624 525 (3 ) (3) ( 2) 626 627 PAGE 19-3 SEQ 0808 ; RESTORE REGISTERS ;- 000040' 000040' 012601 000042' 012600 pap R1,RO MOV MOV (SP)+,H1 (SP)+,IRO RTS PC ;+ ; GOOD-BYE. , 000044' 000044' 000044' 000044' 000207 000001 ENDRTN 50000$: 50001$: .END PAGE 2C 20-SEP-78 18:21 PMAP22 - PROCESS MAP22 MACY11 30A(1052) SYMBOL TABLE 28-JUL-78 09:24 PMAP22.MAC ACSR ACTBIT= ADDR22= ADR APTFER= APTPRE= ASB ASSEMB= ASTAT = AUTO AUTOST= M~AS BITO BITOO BIT01 BIT02 I31T03 BIT04 BIT05 BIT06 = BIT07 BIT08 B1T09 BIT1 I3IT10 BIT11 B1T12 BIT13 B1T14 B1T15 B1T2 BIT3 BIT4 BITS BIT6 BIT7 BIT8 = BIT9 BKDEF BKMOD BKMODE= BKSLSH= CAPRES= CASTAT= CDERCT= CDWDCT= CKTIM = C LKPR E= CONFIG= CQOVF CR CSRA CSRC = 000102 004000 001000 000006 000004 000200 000106 000010 000104 000010 020000 000110 000001 000001 000002 000004 000010 000020 000040 000100 000200 000400 001000 000002 002000 004000 010000 020000 040000 100000 000004 000010 000020 000040 000100 000200 000400 001000 000002 000020 040000 000134 000004 000004 000146 000144 100000 000001 000056 000001 000015 000100 000102 CTRLC = CTRLO = CTRLU = DCEVNT= DEFRTN= DIAGMC= DROPMO= DSEVNT= DT.ADD= DT.AP = DT ,'APK= DT .. BLS= DT.CFO= DT.CF1= DT.ERR= D1.ES1= DT.EVN= DT.EXS= DT.FCH= DT.FCN= DT.HMX= DT.KBE::: DT.KBP= D1.KBR= DT.KBU= DT.MLS= DT.MT1= DT.Oi=F= DT.PAS= DT.PC = DT.PFL= DT.PSW= DT.PTA= DT.RCS= DT.REL= DT.SCT= DT.SMX= D1. SP = D1.SSI= DT.STO= DT.ST1= DT.SWR= DT.SYP= DT . WBU= D1. WHL= DT.WLL= DVID1 = ECCMEM= ECCSTA= ENBEOP= ENBNUL= ENDLST= EOPBIT= 000003 000017 000025 000011 000400 000000 100000 000014 000042 000100 000076 000034 000014 000016 000020 000044 000000 000060 000037 000036 000104 000024 000026 000022 000030 000032 CJOO110 000070 000074 000002 000062 000004 000064 000102 000040 000066 000106 000006 000046 000010 000012 000056 000072 000050 000054 000052 000014 000100 000010 010000 000001 000000 000001 SEQ 0809 ERRTYP= EVNTBE= EVNTHD= EVNTKT= EVNTPE= EVNTRE= FATERR= HRDCNT= HRDPAS= ICONT = ICOUNT= [DNUM IE INOPAR= INHDRP= 1NHEPR= INHREL= INHRRE= INIT = INTR IOMOD IOMODP= IOMODR= IOMODX= ,JACK I- WHERE: DTADR = ADDRESS OF DATA TABLE CMDBUF = COMMAND DECODE BUFFER POINTER VERSION: 0.0 ,"-- EDIT DATE BY REASO;\! SEQ 0813 PONOF PROCESS THE KEYBOARD COMMANDS IPON I AND IPOFF I MACY11 30A(1052) 20-SEP-78 18:22 PAGE 19-2 PONOF.MAC 11-SEP-7814:03 KPON/KPOFF PROCESS THE KEYBOARD COMMANDS: IPONI/IPOFF I 583 584 585 586 587 (1) 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 61'7 618 619 620 621 622 .SBTTL COMMON DEFINITIONS AND REFERENCES FOR PONOF .MCALL STRUCT STRUCT .PRINT iSPMAC: VERSION 1 • 1 000000 1 000000 1 $LSTTAG:::1 $LSTIN=l 000001 000001 ;**************** ; REFERENCED BY OTHER MODULES: .GLOBL .GLOBL iKPON ENTRY POINT iKPOFF ENTRY POINT KPON KPOFF ;**************** ; GLOBAL REFERENCES: .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL ;CACHE OR MEMORY CONTROL REG ;CHECK AN ARGUMENT ; INDIRECT ECC CSR ROUTINE ; I INVALID OR ILLEGAL ARG~MENT' MSG ;'ILLEGAL COMMAND IN BUSY MODE I MSG ;CONTROL WORD CCNTRL ARGCHK ICSROO CM;ARG CM.RUN KONTRL ;**************** ; ; LOCAL STORAGE: ; 000000 1 000002 1 000010 1 000015 1 0000221 000030 1 000036 1 000037 1 000000 047516 0521 1 1 120 020131 000040 1 000046 1 000054 1 000060 1 000066 1 000074 1 000101 1 041505 047515 043106 040520 046440 020131 000 054522 045 050040 022531 051101 042515 047440 051101 000 052111 047515 043106 ;PON/POFF FLAG po. FLAG: PO. NUN: .ASCIZ . ~'IIORD 0 /NO PARITY%/ PO.OFF: .ASCII /PARITY MEMORY OFF%/ PO.MBO: .BYTE 0 042515 047440 PO.EOF: .ASCIZ ;WILL BE STUFFED WITH A % IF ;Eec MEM IS PRESENT IECC MEMORY OFF%I 044522 054524 PO.ON: IPARITY MEMORY ON%I 046505 047117 051117 045 000102' 041505 020103 000110 1 047515 054522 000 000116' 022516 000122 1 042515 047440 000 020103 054522 000045 .ASCII PO.MB1: .BYTE 0 PO. EON: .ASCIZ IEec MEMORY ON%I . EVEN ;vJILL BE STUF FED \tJI TH A % IF ;ECC MEM IS PRESENT SEQ 0814 PONOF PROCESS THE KEYBOARD COMMANDS IPON I AND IPOFF' MACY11 30A(1052) PONOF.MAC 11-SEP-78 14:03 KPON/KPOFF ROUTINE 624 625 626 (2) 627 628 629 630 .SBTTL 000122 000122' (4 ) 633 (2 ) 634 (3) (3 ) (2 ) 635 636 637 ( 2) 638 639 640 641 642 643 (4 ) (2 ) 649 (:2 ) (3 ) 650 (4) 651 (4) (4 ) KPON: ; SET THE FLAG TO REFLECT PON COMMAND 000122 1 000122 1 005067 000126 1 000126 1 000404 000130 1 000130 1 000130 1 000130 1 000207 LET PO. FLAG := #0 177652 CLR IN LINE
Bt~ PO. FLAG PARITY ENDRTN 50000$: 50001$: ROUTINE KPOFF 000132 1 000132 1 RTS PC MOV #1,PO.FLAG KPOFF: ;+ ; SET THE FLAG TO REFLECT POFF COMMAND 000132 1 000132 1 012767 LET PO. FLAG := #1 000001 177640 ;+ i 000140 1 000140 1 000140 1 000140 1 000142 1 000144 1 000144 1 000150 1 000150 1 SAVE REGISTERS, DTABLE ADDRESS AND BUFPTR IN LINE PARITY: PUSH RO,R1 010046 010146 016500 oooeoo 016501 000002 LET RO .- DTADR(R5) LET R1 := BUFPTR(R5) MOV MOV RO,-(SP) R1,-(SP) MOV DTADR(R5) ,RO MOV BUFPTR(R5),R1 CLRB PO. Mao CLRB PO.MSl ;+ ,-; PLACE MESSAGE 000154 1 000154 1 105067 000160 1 000160 I 105067 LET PO.MBO 177657 ~B= TERMINATORS IN MESSAGES #0 LET PO.MB1 :B= #0 177715 659 ;+ 660 ; INSURE NO JUNK ARGUMENTS EXIST 661 662 663 664 SEQ 0815 ', - 652 653 654 655 656 657 (4) 658 PAGE 19-3 ;+ 644 645 646 647 648 18:22 KPON/KPOFF ROUTINE ROUTINE KPON 1 631 632 20-SEP-78 ;- 000164 1 CALL ARGCHK IN OUT PONOF PROCESS THE KEYBOARD COMMANDS 'PONt AND 'POFf' MACY11 30A(1052) PONOF.MAC 11-SEP-78 14:03 KPON/KPOFF ROUTINE (4) (3) (4) (3) (3) (4) 665 666 (6) 667 669 669 670 671 672 (4) 673 674 (4) (3) 675 676 677 678 679 680 (6) (9) 681 682 683 684 685 686 (4) 687 688 (4) (3) 689 690 691 692 693 694 (6) (9) 695 696 697 698 699 700 701 702 (4) 000164' 000170' 000172' 000174' 000200' 000202' 162705 010546 010145 004767 012605 012501 20-SEP-78 18:22 PAGE '19-4 000002 OOOOOOG IF.NO.ERROR THEN 000:204' 000204' 103404 SEQ 0816 SUB MOV MOV JSR MOV MOV #1*2,R!3 R5,-(SF.» R1,·-(R:3) PC,ARGCHK (S P) + , 1~5 (R5 )+, 1~1 BCS 50002$ MOV #CM.ARG,DT.KBRSP SR 50003$ BIT BNE #PARPRES!ECCMEM, 50004$ MOV # PO. NUN, DT . KBF~SP BR 50005$ ;+ ; IT'S NOT A CR SO STUFF ERROR MSG ANO SCRAM ... ;- 000206' 000206' 012760 LET DT.KBRSP(RO) .- #CM.ARG OOOOOOG 0000:22 ELSE. 000214' 000214' 000564 000216' 50002$: ;+ ; IT'S A CR SO SEE IF PARITY OR ECC EXISTS AT ALL ..•. 000:216' 000216' 032760 000224' 001004 IF #PARPRES!ECCMEM NOTSETIN DT.CFO(RO) THEN 002100 000014 ;+ ; NO PARITY .. OR ECC ... STUFF ERROR MSG AND LEAVE ...• 000226' 000226' 012760 LET DT.KBRSP(RO) := #PO.NUN 000002' 000022 ELSE, 000:234' 000234' 000554 000236' 50004$: ;+ ; DETERMINE IF INDIRECT PARITY REGISTERS IF NOT THEN GO CHECK TABLE. ;000236' 000236' 032760 000244' 001016 IF #INDPAR NOTSETIN DT.CFO(RO) THEN 000040 BIT BNE 000014 #INDP,A.R,DT.CFO(R 50006$ ;+ ; THERE IS PARITY ON THE SySTEM .... GET THE PARITY TABLE ADDRESS : THE REGISTERS MAY ; BE PARITY OR ECC .•. IF 11/70, THE PARITY TABLE COULD BE EMPTy ..... ', - 000:246' 000246' 016001 LET R1 := DT.PTA(RO) 000064 MOV DT. PTtI(RO) ,R1 PONOF PROCESS THE KEYBOARD COMMANDS 'PON' AND 'POFF' MACY11 30A(1052) PONOF.MAC 11-SEP-78 14:03 KPON/KPOFF ROUTINE 703 (4) (6) (9) 704 705 706 707 708 709 (6) (9) 710 (6) 711 (4) (3) 712 (6) 713 (4) 714 (4) (3) 715 716 (4) (3) 717 718 719 720 721 722 (6) (9) 723 (4) 724 (2) 725 (4) (3) 726 727 728 729 730 731 732 733 (3) (5) (4) (3) (3) 20-SEP-78 18:22 PAGE 19-5 SEQ 0817 WHILE (R1) NE #0 DO 000252' 000252' 000252' 005711 000254' 001411 50>007$: TST BEQ {R1) !50010$ ;+ ; DETERMINE WHETHER PON OR POFF COMMAND AND SET OR CLEAR APPROPRIATE BITS 000256' 000256' 000262' 000264' 000264' 000270' 000270' 000272' 000272' 000272' 000276' 000276' 000276' 000276' 000300' IF PO. FLAG EO #0 THEN 005767 001003 177516 052731 000003 TST SNE LET @(R1)+ .- @(R1)+ SET.BY #3 BIS SR 50012$ 5()0-11$~ LET @(R1)+ '- @(R1)+ CLR.BY #3 BIC 000003 #3,@(R1)+ ENDIF 50012$: ENDDO 000765 BR 50007$ BR 50013$ 5()010$: ELSE 000300' 000300' 000420 000302' 50006$: + 000302' 000302' 000310' 000312' 000312' 000320' 000320' 000322' 000322' 000324' #3,@(R1)+ ELSE 000402 042731 PO. FLAG 50011$ THERE ARE INDIRECT ECC CSRS THEN IF IN RUN MODE DO NOT LOOK BUT RETURN IF #RUNMODE SETIN DT.STO(RO) THEN 032760 001405 100000 000010 012760 OOOOOOG 000022 LET DT.KBRSP(RO) BIT SEQ #RUNMODE,DT.STO( 50014$ MOV #CM.RUN,DT.KBRSP := #CM.RUN INLINE SR 100$ 000522 ELSE 000407 BR 500 -15$ MOV MOV MOV JSR MOV R5 , -- ( 5 P ) PO.FLAG,-(R5) RO,-(R5) PC,ICSROO (SP)+,R5 50014$: j+ ; IT IS OKAY TO GO TO INDIRECT CSRS ; SEND FLAG A '0' TO INDICATE PON COMMAND ; OR SEND FLAG A '1' TO INDICATE POFF COMMAND 000324' 000324' 000326' 000332' 000334' 000340' CALL leSROO IN 010546 016745 010045 004767 012605 177446 OOOOOOG PONOF PROCESS THE KEYBOARD COMMANDS IPON 1 AND IPOFFI MACY11 30A(1052) PONOF.MAC 11-SEP-78 14:03 KPON/KPOFF ROUTINE 734 (4 ) 735 (4) 736 737 738 739 740 741 (6 ) (9) 742 743 744 745 746 747 748 (6) (9) 749 (6) 750 (4) (3 ) 751 (6) 752 (4) 753 (4) 754 755 (4) 756 20-SEP-78 18:22 PAGE 19-6 SEQ 0818 ENDIF 000342 1 000342 1 000342 1 000342 1 50015$: ENDIF 50013$: ;+ ; IF CACHE PRESENT 000342 1 000342 1 032760 000350 1 001415 IF #CAPRES SETIN DT.CFO(RO) THEN 000004 000014 BIT BEQ #CAPRES,DT.CFO(R 50016$ TST BNE PO. FLAG 50017$ BIC #203,KONTRL SR 50020$ SIS #203,KDNTRL MOV KONTRL,@CCNTRL ;+ ; IF PON COMMAND TURN ON CACHE PARITY OTHERWISE ; MUST BE A PARITY POFF COMMAND , 000352 1 000352 1 000356 1 000360 1 000360 1 000366 1 000366 1 000370 1 000370 1 000370 1 000376 1 000376 1 000376 1 000376 1 IF PO. FLAG EQ #0 THEN 005767 001004 177422 042767 000203 LET KONTRL := KONTRL CLR.SY #203 OOOOOOG ELSE 000403 052767 50017$: LET KONTRL '- KONTRL SET.BY #203 000203 OOOOOOG ENDIF 50020$: LET @CCNTRL '- KONTRL 016777 OOOOOOG OOOOOOG 000404 1 000404 1 ENDIF 50016$: + P/57 NOW STUFF THE APPROPRIATE BITS IN DT.STO AND LOAD THE ASSOCIATE MESSAGES 758 759 760 761 (6 ) (9) 762 (6) (9) 763 (6) (9) 764 (4) 765 (6 ) 766 (4) (3) 000404' 000404 1 000412 1 000414 1 000414 1 000422 1 000424 1 000424' 000430 1 000432 1 000432 1 000440' 000440 1 000446 1 000446 1 000450 1 IF #PARPRES SETIN DT.CFO(RO) THEN 032760 001445 002000 000014 032760 001420 000100 000014 005767 001007 177350 112767 000045 177441 052760 000010 000010 000406 BIT BEQ #PARPRES,DT.CFO( 50021$ BIT BEQ #ECCMEM,DT.CFO(R 50022$ TST BNE PO. FLAG 50023$ IF #ECCMEM SETIN DT.CFO(RO) THEN IF PO. FLAG EO #0 THEN LET PO.MSl :B= #1% LET DT.STO(RO) MOVB #1%,PO.MB1 '- DT.STO(RO) SET.BY #ECCSTAT SIS #ECCSTAT,DT.STO( ELSE 8R 50023$: 50024$ MACY11 30A(1052) PONOF PROCESS THE KEYBOARD COMMANDS IPON' AND IPOFFI KPON/KPOFF ROUTINE 11-SEP-7814:03 PONOF.MAC 767 (4) 768 (6) 769 (4) 770 (4) 771 (6) (9) 772 (4) 773 (6) 774 (4) (3) 775 (4 ) 776 (6) 777 (4) 778 (4) (3) 779 (6) (9 ) 780 (4) 781 (6) 782 (4) (3) 783 (4) 784 (6) 785 (4) 786 787 (4) 788 (4 ) 789 790 (4 ) 791 792 793 794 795 000450 1 000450 1 000456' 000456' 000464' 000464' 000464' 000464' 000464' 000464' 000470 1 000472' 000472 1 000500 1 000500 1 000506 1 000506' 000510' 000510' 000510' 000516' 000516 1 000524' 000524' 000524' 000524' 000526 1 000526' 000526 1 000532 1 000534 1 000534 1 000542 1 000542 1 000550 1 000550' 000552' 000552' 0005521 000560 1 000560 1 000566' 000566' PAGE 119-7 18:22 SEQ 0819 LET PO.MBO :8= #1% 112767 000045 177361 042760 000010 000010 LET DT.STO(RO) .- #I%,PO"MBO MOVB DT.STO(RO) CLR.BY #ECCSTAT #ECCSTJ~T, DT .STO( BIC ENDIF 50024$: ENDIF 50022$: IF PO. FLAG EO #0 THEN 005767 001007 177310 012760 000060' 000022 052760 000100 LET DT.KBRSP(RO) LET DT.STO(RO) TST BNE PO. FLAG 50025$ MOV #PO.ON,DT.KBRSP( ::: #PO.ON := DT.STO(RO) SET.8Y #PARSTAT 000010 BIS #PAI~STAT, BR 50026$ ELSE 000406 012760 000015 1 000022 042760 000100 LET DT.KBRSP(RO) LET DT.STO(RO) .- 000010 '- DT. STO ( 50025$: #PO.OFF MOV #PO.OFF"DT .KBRSP DT.STO(RO) CLR.BY #PAR:STAT #PARSTAT,DT.STO( BIC ENDIF 500265: ELSE 000420 BR 50027$ TST BNE PO. FLAG 50030$ MOV #PO.EON,DT.KBRSP 50021$: IF PO. FLAG EO #0 THEN 005767 001007 177246 012760 000102' 000022 052760 000010 LET DT.KBRSP(RO) LET DT.STOeRO) := #PO.EON := DT.STO(RO) SET.BY #ECCSTAT 000010 BIS #ECCSTAT,DT.STO{ BR 50031$ ELSE 000406 012760 000040 1 000022 042760 000010 LE.T DT.KBRSP(RO) LET DT.STO(RO) 000010 ENDIF .- .- 50030.$: #PO.EOF #PO.EOF,DT.KBRSP MOV DT.STO(RO) CLR.BY #ECCSTAT #ECCSTAT,DT.STO( BIC 5,0031 $: ENDIF 000566' 000566' 000566' 000566 1 000566 1 000566 1 20-SEP-78 ~i0027$ : ENDIF ti0005$ : ENDIF + CLEAN UP MESS .•. :;0003$ : PONOF PROCESS THE KEYBOARD COMMANDS 'PONt AND 'POFF ' MACV11 30A(1052) PONOF.MAC 11-5EP-78 14:03 KPON/KPOFF ROUTINE 796 797 (2 ) 798 (2 ) (3) 799 800 (3) (3) (2) 801 000566' 000566 1 000566' 000566 1 012601 000570 1 012600 000572' 0005721 000572' 000572' 000207 000001 20-SEP-78 18:22 PAGE 19-8 SEQ 0820 INLINE <100$:> 100$: POP R1,RO MOV MOV (SP)+,R1 (SP)+,RO RTS PC ENDRTN 50000$: 50001$: .END PONOF PROCESS THE KEYBOARD COMMANDS 'PON ' AND 'POFF ' PONOF.MAC 11-SEP-78 14:03 SYMBOL TABLE ACSR ACTBIT= ADDR22= ADR APTFER= APTPRE= ARGCHK= ASB ASSEMB= ASTAT = AUTO AUTOST= AV,JAS BITO BITOO BIT01 BIT02 BIT03 B1T04 BIT05 BIT06 BIT07 BIT08 BIT09 BIT1 BIT10 BIT11 = BIT12 B1T13 BIT14 BIT15 BIT2 BIT3 BIT4 BITS BIT6 BIT7 BIT8 BIT9 BKDEF BKMOD BKMODE= BKSLSH= BUFPTR= CAPRES= CASTAT= CCNTRL= CDERCT= CDWDCT= CKTIM = CLKPRE= CM.ARG= CM.RUN= 000102 004000 001000 000006 000004 000200 ****** G 000106 000010 000104 000010 020000 000110 000001 000001 000002 000004 000010 000020 000040 000100 000200 000400 001000 000002 002000 004000 010000 020000 040000 100000 000004 000010 000020 000040 000100 000200 000400 001000 000002 000020 040000 000134 000002 000004 000004 ****** G 000146 000144 100000 000001 ****** G ****** G CONFIG= CQOVF CR CSRA CSRC CTRLC CTRLO CTRLU DCEVNT= DEFRTN= D1AGMC:: DROPMO= DSEVNT= DTADR = DT.ADD= DT. AP = DT.APK= DT.BLS= DT. CFO=' DT.CF1= DT.ERR= D1.ESI= DT.EVN= DT.EXS= DT.FCH= Dr. FCN= DT.HMX= DT.KBE= DT.KBP:: D1. KBR= DT.KBU= DT.MLS= DT.MTl= DT.OFF= DT.PAS= DT.PC = D1. PF L= DT.PSW= DT.PTA= DT.RCS:: DT.REL= DT.SCT:.: DT.SMX= DT. SP :: DT.SSI= DT.STO= D1.ST1= DT.SWR= DT.SYP= DT . WBU= DT.WHL= DT.WLL= DVID1 = 000056 000001 000015 000100 000102 000003 000017 000025 000011 000400 000000 100000 000014 000000 000042 000100 000076 000034 000014 000016 000020 000044 000000 000060 000037 000036 000104 000024 000026 000022 000030 000032 000110 000070 000074 000002 000062 000004 000064 000102 000040 000066 000106 000006 000046 000010 000012 000056 000072 000050 000054 000052 000014 MACV}1 30A(1052) ECCMEM= ECCSTA= ENBEOP= ENBNUL= ENDLST= EOPBIT.= ERR TYP::c EVNTBE:t: EVNTHD= EVNTKT= EVNTPE= EVNTRE= FATERR= HRDCNT= HRDPAS= lCONT = ICOUNT= ICSROO= 1DNUM = IE INDPAR= INHDRP= 1NHEPR= INHREL= Ii'JHRRE= IN1T lNTR lOMOD IOMODP= IOMODR= !OMODX= JACK KIPARO= KIPAR1= KIPAR2= KIPAR3= KIPAR4= KIPAR5::: KIPAR6= KIPAR7= KIPDRO= KIPDR1= KIPDR2= KIPDR3= KIPDR4::: KIPDR5= KIPDR6= KIPDR7= KONTRL= KPOFF KPON KTERRO= KTPRES= 000100 000010 010000 000001 000000 '000001 ',000 1 0 6 000200 000200 000203 000202 Q00201 1'00000 000044 000050 000036 000040 ****** G 000122 000100 000040 040000 020000 001000 000400 000030 000120 100000 102000 112000 110000 035060 172340 172342 1'12344 172346 172350 172352 172354 1723~6 172300 172302 172304 172306 172310 172312 172314 172316 ****** G 000132RG 000122RG 000040 000400 20-SEP-78 KTSTAT= KTXTND= .LF LPSTAT= MAPSTA= MED MEMPAS= MODEXH= MOr.;HOL= IY1ODSEL= MSGCKD= MSGCKS= MSGDER= M$GDRP= MSGECH= 'MSGEOP= MSGHDR= MSGHNG::: MSGHRD= MSGMAP=: MSGNUL=: MSGPOp:: MSGPRM=: MSGRES=: MSGSFT=: MSGSKE= MSGSMB::: MSGSMH": MSGSMS:' MSGSTD=: MSGSYS= MSGVEC= N8KMOD= NCPUOP,: NOAPTY= NULL mvEN PAERR PARITY PARPRE:: PARSTA:: PASCN T:= PDP LSI:: PDP60 .PDP70 .PO.EOF PO. EON PO.FLA PO.MBO PO.MB1 PO.NUN PO.OFF PO.ON 18:22 PAGE 20 000020 040000 000012 000C01 000200 076600 040000 004000 002000 001 COO 000010 000011 000005 000017 177777 001)01:3 000004 000022 000007 000021 177775 000002 177776 00')001 000006 000003 000015 000014 000016 000000 000012 000020 001000 000020 000002 000000 024020 000010 000140R 002000 000100 000 034 020000 004000 010000 000040R 000102R OOOOOOR 000037R 000101R 000002R 000015R 000060R SEQ 0821 PRIO PRJ1 PRl4 PRI5 PRI6 PRI7 PRO PR4 PR5 Pi~6 PR7 PS PSW RANNUM= RBUFEA= R8UFPA= RBUFSZ= RBUF'VA= RDSERV= ROWHM1= RELERR= RELMOD= REL TIM= RES1 RES2 RICHAR= RPTDA T= RSTRT -. RUBOUT= RUNMOD= R5VALU= SAM SBADR = SBI WHERE DTADR = ADDRESS OF DATA TABLE 547 548 549 VERSION: 0.0 550 551 552 553 554 PAGE 19 ;++ MODULE NAME: PRBTOD IMPLICIT INPUTS: DT.PC 531 18:24 .TITLE PRBTOD PROCESS THE IBTOD I MACRO IN OPTION MODULES .IDENT JVO.Oj 526 527 532 533 534 535 536 20-SEP-78 EDI,. ;-- DATE BY ~!EASON SEQ 0824 PRBTOD PROCESS THE IBTOD I MACRO IN OPTION MODULES MACY11 30A(1052) 20-SEP-78 18:24 PRBTOD.MAC 28-JUL-78 09:25 COMMON DEFINITIONS AND REFERENCES FOR PRBTOD 556 557 558 559 (1) 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 . 575 576 .SBTTL PAGE,19-1 COMMON DEFINITIONS AND REFERENCES FOR PRBTOD .MCALl STRUCT STRUCT .PRINT jSPMAC: VERSION 1.1 000000' 000000' 000001 000001 $lSTIN=1 $lSTTAG=1 ;**************** ; i REFERENCED BY OTHER MODULES: ; .Gl08L , PRBTOD ;MODULE ENTRY POINT ;**************** , ; GLOBAL REFERENCES: , .GlOaL BDACNV ;BINARY TO DECIMAL ASCII CONVERSION ROUTINE SEQ 0825 PRBTOD PROCESS THE 'BTOO' MACRO IN OPTION MODULES PRBTOD.MAC 28-JUL-78 09:25 PRBTOD ROUTINE 578 579 580 (2) 581 582 583 584 585 586 587 (2) (3) 588 (4) 589 .SBTTL 20-SEP-78 18:24 PAGE '19-2 SEQ 0826 PRBTOD ROUTINE ROUTINE PRBTOD 000000' 000000' PI~BTOD: ;+ ;INITIALIZE AND SAVE DATA TABLE ADDRESS , 0- 000000' 000000' 010046 000002' 010146 000004' 000004' 016500 PUSH RO,R1 LET RO := DTADR(R5) 000000 MOV MOV RO,-(SP) R1,.-(SP) MOV DTADR(R5),RO MOV DT.PC(RO),R1 MOV MOV MOV JSR MOV R5,-(SP) 4(R1) ,-(R5) @2(R1),-(R5) PC,BDACNV (SP)+,R5 ADD #6,DT.PC(RO) MOV MOV (SP)+,R1 (SP)+,RO RTS PC ;+ ; GET DT.PC AND CALL BDACNV ;- 5~0 591 592 593 594 (4) 595 (3) (5) (4) (3) (3) 596 597 598 599 600 601 (6) 602 603 604 605 606 607 (2) (3) 608 609 (3) (3) (2) 610 611 MACV11 30A(1052) 000010' 000010' 000014' 000014' 000016' 000022' 000026' 000032' LET R1 016001 ;= DT.PC(RO) 000002 CALL BDACNV IN <@2(R1),4(R1» 010546 016145 017145 004767 012605 000004 000002 OOOOOOG ;+ ; UPDATE RETURN PC ;- 000034' 000034' 062760 LET DT.PC(RO) := OT.PC(RO) + #6 000006 000002 ;+ ; CLEAN UP AND GOODBYE ;- 000042' 000042' 012601 000044' 012EOO POP R1 fRO 000046' 000046' 000046' 000046' 000207 ENDRTN 000001 .END 5,0000$ : 500001$: PRBTOD PROCESS THE 'BTOD I MACRO IN OPTION MODULES SYMBOL TABLE 28-JUL-78 0.9:25 PRBTOD.MAC ACSR 0.00102 ACTBIT= 0.0.40.00. ADDR22:;: 0.0.1000 ADR 0.000.06 APTFER= 0.00004 APTPRE= 0.0.0.200 ASB 00.0106 ASSEMB= 00.0010 ASTAT = 00.010.4 AUTO 0.0.0010. AUTOST= 020000 AWAS 0.0.0110 BDACNV= ****** G BITC 00.000.1 0.0.0.00.1 BITOC BITC1 0.0.0002 000.0.04 BIT02 BITC3 000.010 0.0.0.0.20. BITC4 BITC5 00.0.040. BITC6 0.0.0.10.0 BIT07 00.0.20.0 BITCB 0.00.40.0 BIT09 0.0.10.0.0 BIT1 00.0.0.0.2 BIT10 0.0.20.0.0 BIT11 00.40.0.0. BIT12 0.1000.0 BIT13 0.200.00. BIT14 0.4000.0. BIT15 10000.0 BIT2 00.0.0.04 BIT3 0.00.0.10 BIT4 0.00.0.20 BITS 0.000.40. 8IT6 0.0.010.0. BIT7 0.00.200 BIT8 000.400 BIT9 0.0.100.0 BKDEF 00.0.00.2 BKMOD 0.0.0020. BKMODE= 040.00.0 BKSLSH= 0.0.0134 CAPRES= 0.0.00.04 CASTAT= 0.0.0.004 CDERCT= 0.00146 CDWDCT= 0.0.0144 CKTIM = 10.0.0.00. CLKPRE= 0.00.0.0.1 CONFIG= 00.0.0.56 CQOVF 00.00.0.1 0.0.0015 CR CSRA = 0.0.010.0 CSRC CTRlC CTRLO CTRlU DCEVNT= DEFRTN= DIAGMC= DROPMO= DSEVNT= DTADR = DT.ADD= DT.AP = DT.APK= DT.BLS= DT.CFC= DT.CF1= DT. ERR=, DT.ESI= DT.EVN= DT.EXS= DT.FCH= DT.FCN::: DT.HMX= DT.KBE= DT.KBP= DT.KBR= DT.KBU= DT.MLS= DT.MTI= DT.OFF:::: DT.PAS= DT.PC = DT.PFL= DT.PSW= DT.PTA= DT.RCS= DT.REL= DT.SCT:: DT.SMX= DT.SP = DT.SSI= DT.STO= DT.ST1= DT.SWR= DT.SYP= DT.WBU= DT.WHL= DT.WLL= DVID1 = ECCMEM= ECCSTA= ENBEOP= ENBNUL= 000.10.2 000.00.3 0.00.0.17 0.000.25 000011 0.00.400. 0.0000.0. 100000 0.0.00.14 00000.0 00.0.042 000100 00.0.0.76 00.0034 0.0.00.14 0.00016 00.0.0.20. 0.0.0.0.44 0.00000. 0.000.60 00.0.037 000.0.36 0.0.010.4 000024 00.0.026 00.0.022 0.000.30. 0.00.0.32 0.0.0.110 000.0.70. 0.000.74 00000.2 0.0.0062 0.000.04 00.0.0.64 000102 0.0.0.0.40 0.00066 00010.6 0.00.0.06 0.00.0.46 000.0.10. 0.0.0.012 0.00.0.56 0.00.0.72 0.0.0.0.50. 00.0.054 0.0.00.52 0.00.0.14 0.0010.0. 0.000.10. 0.10.0.00. 00.000.1 MACY11 3CA(1C52) ENDLST= EOPBIT= ERRTYP= EVNTBE= EVNTHD= EVNTKT= EVNTPE= EVNTRE= FATERR= IHRDCNT= IHRDPAS= ICONT = ICOUNT= IDNUM = IE INDPAR= INHDRP=' INHEPR= INHREL= INHRRE= INIT INTR IOMOD IOMODP= IOMODR= IOMODX= JACK KIPARo.= KIPAR1= KIPAR2= KIPAR3= KIPAR4= KIPAR5= KIPAR6= KIPAR7= KIPDRo.= KIPDR1= 1\1 PDR2= KIPDR3= KIPDR4= KIPDR5::: KIPDR6= KIPDR7= KTERRO= KTPRES= KTSTAT= KTXTND= LF LPSTAT= MAPSTA= MED MEMPAS= MODEXH= 0.0.0.0.0.0 00.000.1 00010.6 0.00200 000200. 0.00.20.3 0.0.0.202 0.00201 1000.00 00.0044 0.00050 000036 0000.40 000122 0.0.0.100 0.0.0.0.40. 0.400.00 0.20.0.0.0 0.01000 000.40.0. 0.0.0.0.30. 000.120. 10.0.0.0.0 10.200.0. 1120.0.0 110.00.0. 035060. 172340. 172342 172344 172346 172350. 172352 172354 172356 17230.0 17230.2 172304 17230.6 172310 172312 172314 172316 0.0.00.40 0.00400 0.00020. 0.400.00. 0.00.0.12 0.0.0001 0.00200. 0.76600. 0.40000 004000 20-SEP-78 MODHOL= MODSEl= MSGCKD= MSGCKS= MSGDER= MSGDRP= MSGECH= MSGEOP= MSGHDR= MSGHNG= MSGHRD= MSGMAP= MSGNUL=: MSGPOP= MSGPRM= MSGRES= MSGSFT= MSGSKE= MSGSM8= MSGSMH= MSGSMS=: MSGSTD= MSGSYS= MSGVEC=: NBKMOD= NCPUOP= NOAPTY= NULL OWEN PAERR PARPRE= PARSTA== PASCNT= PDPLSI== PDP6C PDP70 PRBTOD PRIO PR 11 PRI4 PRI5 PRI6 PRI7 PRO. PR4 PR5 PR6 PR7 PS PSW RANNUM:: RBUFEA= RBUFPA= 18:24 PAGE ::20. 0.020.0.0. 001000 000010. 000011 000005 000.0.17 17'1777 00.0013 00000.4 0.00.022 000007 00.00.21 177775 000002 177776 000001 00.000.6 0.0.00.0.3 00.00.15 0.0.0014 000016 00.000.0. 00.0012 000020. 0.0.100.0 000020. 000.00.2 0.0.00.00. 0.240.20. 0.0.0010. 0.0200.0 0.00100. 00.0034 0.2000.0 0.0400.0 0.1000.0. Oo.OOCCRG 0.0000.0. 00.0.040 00020..0. 0.0.0240 00030.0 0.00340. 00000.0. 0.0020.0. 000240. 0.0.030.0. 000.340. 177776 177776 00.0054 0.0.0.130. 0.00126 SEQ 0.827 RBUFSZ= RBUFVA= RDSERV= RDWHMI= RELERR= RElMOD= REL TIM= RES1 RES2 RICHAR= RPTDAT= RSTRT = RUBOUT= RUNMOD= R5VALU= SAM SBADR = SBKMOD= SBKSEL= SC.ADR= SC.ALC= SC.APC= SC.CKL= SC.CKP= SC.CLO= SC.HLD= SC.SCA= SENDLS:.: SOFCNT= SOFPAS= SPACE = SPOINT= SPVALU= SRC :::: SR1 SR2 SR3 STAT = STATBI= STAT1 = SUSPND= SVRO SVR1 SVR2 SVR3 SVR4 SVR5 SVR6 SYSCNT= SYSERR= TMPIO = TQOVi: = UIPARO= 0.0.0.132 00.0'124 0.00'10.1 0.00022 00.0020 0.20.000. 0.10000 0.0.00.56 0.00.060 031060 002000 0.0.0112 000177 10.0000. 0.01740. 0.75464 0.0.0.102 0.0.000.0 0.10.000 0.0.0.00.6 0.00014 00.0016 0.0.000.2 0.0000.4 0.00000. 0.0.0010 0.0.00.12 177777 000042 0.00046 0.00040. COOC32 002200 177572 17'1574 177576 172516 0.000.26 0.64757 00.0027 0.0.000'1 0.000.62 0.000.64 0.00.066 0000.70. 000072 0.0.00.74 000076 0000.52 000.10.0. 0.00.002 0000.02 177640 PRBTOD PROCESS THE IBTOD 1 MACRO ,IN OPTION MODULES SYMBOL TABLE 28-JUL-78 09:25 PRBTOD.MAC UIPAR1= UIPAR2= UIPAR3= UIPAR4= UIPAR5= UIPAR6= UIPAR7= UIPORO= UIPDR1= UIPDR2= UIP,)R3= UIPDR4= UIPDR5= UIPDR6= UIPDR7= WASADR= \ WHERE DTADDR = DATA TABLE ADDRESS FUNCTIONAL SIDE EFFECTS: NONE CALLING SEQUENCE: CALL PREVT IN WHERE DTADR = DATA TABLE ADDRESS VERSION: 0.0 EDIT ;-- DATE BY REASON PREVT (PROCESS EVENT MODULE) PREVT.MAC 28-JUL-78 09:25 563 564 565 566 ( 1) 567 568 569 570 MACY11 30A(1052) 20-SEP-78 18:25 PAGE 19-1 COMMON DEFINITIONS & REFERENCES .SBTTL COMMON DEFINITIONS & REFERENCES 000000 1 000000 1 000001 000001 .MCALL STRUCT STRUCT .PRINT ;SPMAC: VERSION 1.1 $LSTIN=1 $LSTTAG=1 1 ;**************** , ;REFERENCED BY OTHER MODULES: 571 572 573 574 575 576 577 ; ;MODULE ENTRY POINT .GLOBL PREVT ;*************~** GLOBAL REFERENCES 578 579 580 .GLOBL .GLOBL .GLOBL .GL08L .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GL08L . GLOBL .GLOBL .GLOBL 581 582 583 584 585 586 587 588 589 59C 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 ;ENDIT HANDLER ;END HANDLER ;HRDER HANDLER ;DATER HANDLER ;MSG HANDLER ;BREAK HANDLER iSOFER HANDLER ;MSGN HANDLEFI ; GI,oJBUFF HANDLER iGETPA HANDLER ;DATACK HANDLER ;CDATA HANDLER ;MAP22 HANDLER ; MSGS HAND LEF~ ;RAND TRAP HANDLER ;MEMORY PARITY ERROR HANDLER ;MEMORY MGMT VIOL. HANDLER iTIMEOUT,ILLEGAL INSTR. ETC . ;OCTAL-TO-DECIMAL EVENT ;BIN-TO-DEClMAL EVENT PENDIT PEND PRHARD PDATER PRMSG PBREAK PRSOFT PRMSGN PRGWB PGETPA PDATCK PCDATA PMAP22 PRMSGS PRRAND PARERR KTERR BUSERR PROTOA PRBTOD ;**************** LOCAL STORAGE: DISPATCH TABLE FOR SOFT-TRAP EVENTS 000000 1 000000 1 000002 1 000004 1 000006 1 000010 1 000012 1 000014 1 000016 1 000020' 000000 OOOOOOG OOOOOOG OOOOOOG OOOOOOG OOOOOOG OOOOOOG OOOOOOG OOOOOOG PR.TRPTBL: .WORD PRMSG PRMSGS PRMSGN PDATER PRHARD PRSOFT PBREAK PEND 0 ;ADDRESS OF EVENT HANDLER EXIT IS ZERO - DOES NOT NEED A ROUTINE SEQ 0831 PREVT (PROCESS EVENT MODULE) 28-JUL-78 09:25 PREVT.MAC 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 000022' 000024' 000026' 000030' 000032' 000034' 000036' 000040' 000042' MACY'1 30A(1052) 20-SEP-78 18:25 PAGE 19-2 COMMON DEFINITIONS & REFERENCES PDATCK PCDATA PENDIT PRGWB PGETPA PMAP22 PRRAND PROTOA PRBiOD OOOOOOG OOOOOOG OOOOOOG OOOOOOG OOOOOOG OOOOOOG OOOOOOG OOOOOOG OOOOOOG ;**************** ; DISPATCH TABLE FOR HARD TRAPS & MISC. EVENTS , 000044' 000044' 000046' 000050' 000052' OOOOOOG OOOOOOG OOOOOOG OOOOOOG PR.NTRPTBL: BUSERR BUS ERR PARERR KTERR ;ADDRESS OF EVENT HANDLER SEQ 0832 PREVT (PROCESS EVENT MODULE) 28-JUL-78 09:25 PREVT.MAC 638 639 640 641 (2 ) 642 643 644 645 646 647 648 649 (2 ) (3) 650 (4 ) 651 (4) 652 (6) (9) 653 654 655 656 (6) 657 (7 ) 658 659 (6 ) (9) 660 661 662 663 664 665 666 (6) 667 (4 ) (3 ) 668 669 670 671 672 673 674 (6) 675 (4) 676 (3) 18:25 20-·SEP-78 MACY 11 30A(1052) PREVT (CODE) PAGE 19-3 SEQ 0833 .SBTTL PREVT (CODE) ROUTINE PREVT 000054' 000054' PFI EVT; ;+ ; SAVE REGISTERS,FETCH DTABLE ADDRESS & EVENT CODE. ; IF EVENT CODE IS 0, RETURN. ; ELSE CHECK IF EVENT CODE IS A HARDWARE-TRAP TYPE. ;- 000054' 000054' 000056' 000060' 000060' 000064' 000064' 000070' 000070' 000072' PUSH RO,R1 010046 010146 LET RO 016500 000000 LET R1 016001 000000 ..- MOV MOV RO,-(SP) R1,-(SP) MOV DTBL(R~»,RO MOV DT.EVNT(RO),R1 TST SEQ R1 50002$ SIC #177700,R1 ASL R1 CMP BLT DT.EVNT(RO),#EVN 50003$ ADD #PR.NTRPTSL,R1 BR 50004$ ADD #PR.TRPTSL,R1 MOV R5,-(SP) DTI3L(R5) DT.EVNT(RO) IF R1 NE #0 THEN 005701 001421 ;+ ; DEVELOP OFFSET INTO TABLE j- 000074 1 000074 1 042701 000100' 000100' 006301 000102' 000102 1 026027 000110' 002403 LET Ii 1 .- R1 CLR.BY #177700 LET R1 .- R1 SHIFT 1 177700 IF DT.EVNT(RO) GE #EVNTHD THEN 000000 000200 ;+ ; IT IS A HARDWARE-TRAP EVENT. ; DEVELOP ADDRESS. , '- 000112' 000112' 062701 000116' 000116 1 000402 000120' LET R1 .- R1 + #PR.NTRPTBL 000044' ELSE 50003$: ;+ ; IT IS A SOFT'lJARE TRAP EVENT. ; FORM AN ADDRESS , '- 000120' 000120' 062701 000124' 000124' 000124' 000124' 010546 LET R1 000000' ..-- R1 + #PR.TRPTSL ENDIF 50004$: CALL ~(R1) IN PREVT (PROCESS EVENT MODULE) 28-JUL-78 09:25 PREVT.MAC (4) (3) (3) 677 678 (4) 679 680 681 682 683 (2 ) (3 ) 684 (3) (3) (:2) 685 000126' 010045 000130' 004771 000134' 012605 000136' 000136' 20'-SEP-78 MACV 11 30A.( 1052) PREVT (CODE) 18:25 PAGE 19-4 SEQ 0834 000000 MOV ROf·~(R!» JSR PC,@l(Rl) MOV (SP)+,1~5 MCJV MOV (SP)+,R1 (SP)+,RO RTS PC ENDIF 50002$: ;+ ; RESTORE REGISTERS AND R~TURN , 000136' 000136' 012601 000140' 012600 000142' 000142' 000142' 000142' 000207 000001 POP R1,RO ENDRTN 50000$: 50001$: .END I PREVT (PROCESS EVENT MODULE) 28-JUL-78 09:25 PREVT.MAC ACSR ACTBIT= ADDR22= ADR APTFER= APTPRE= ASB ASSEM8= ASTAT = AUTO AUTOST= AWAS BITO SITOO = B1 T01 B1T02 BIT03 BIT04 BIT05 BIT06 BIT07 BIT08 = BIT09 BIT 1 BIT10 BIT11 BIT12 BIT13 BIT14 = BIT15 BIT2 BIT3 BIT4 BITS BIT6 BIT7 BITS BIT9 BKDEF BKMOD BKMODE= BKSLSH= BUSERR= CAPRES= CASTAT= CDERCT= CDWDCT= CKTIM = CLKPRE= CONFIG= CQOVF CR CSRA 0'00102 004000 001000 000006 000004 000200 000106 000010 000104 000010 020000 0001,10 000001 000001 000002 000004 000010 000020 000040 000100 000200 000400 001000 000002 002000 004000 010000 020000 040000 1'00000 000004 000010 000020 000040 000100 000200 000400 oe1000 000002 000020 040000 000134 ****** G 000004 000004 000146 000144 100000 000001 000056 000001 000015 000100 20--SEP-78 MACY 11 30A(1052) SYMBOL TABLE CSRC CTRLC CTRLO CTRLU DCEVNT= DEFRTN= D1AGMC= DROPMO= DSEVNT= DTBL DT.ADD= DT.AP = DT.APK= DT.BLS= DT.CFO= DT.CF1= DT.ERR= DT.ESI:::, DT.EVN= DT.EXS= DT.FCH= DT.FCN= DT.HMX= DT.KBE= DT.KBP= DT.KBR= DT.KBU= DT.MLS= DT.MTI= DT.OFF= DT.PAS= DT.PC = DT.PFL= DT.PSW= DT.PTA= DT.RCS= DT.REL= DT.SCT= DT.SMX= DT. SP :: DT.SSI= DT.STO= DT.ST1= DT.SWR= DT.SYP= DT.WBU= DT. WH L= DT.WLL= DVID1 = ECCMEM= ECCSTA= ENBEOP= ENBNUL= 000102 000003 000017 000025 000011 000400 000000 100000 000014 000000 000042 000100 000076 000034 000014 000016 000020 000044 000000 000060 000037 000036 000104 000024 000026 000022 000030 000032 000110 000070 000074 000002 000062 000004 000064 000102 000040 000066 000106 000006 000046 000010 000012 000056 000072 UOOOSO 000054 000052 000014 000100 000010 010000 000001 ENDLST= [OPBIT:: ERRTYP= EVNTBE= EVNTHD= EVNTKT= EVNTPE= EVNTRE= FATERR= HRDCNT= HRDPAS= ICONT = ICOUNT= IDNUM = IE INDPAR= I NHDR P= INHEPR= INHREL= INHRRE= INIT INTR IOMOD IOMODP= IOMODR= IOMODX= JACK KIPARO= KIPAR1= KIPAR2= KIPAR3= KIPAR4= KIPARS= KIPAR6= KIPAR7= KIPDRO= KIPDR1= KIPDR2= KIPDR3= KIPDR4= KIPDR5= KIPDR6= KIPDR7= KTERR = KTERRO= KTPRES= KTSTAT= KTXTND= LF LPSTAT= MAPSTA= MED MEMPAS= PAGE 20 18:25 000000 000001 000106 000200 000200 000203 000202 000201 100000 000044 000050 000036 000040 000122 000100 000040 040000 020000 001000 000400 000030 00012q 100000 102000 112000 110000 035060 172340 172342 172344 172346 172350 172352 172354 172356 172300 172302 172304 172306 172310 172312 172314 172316 ****,..'" 000040 000400 000020 040000 000012 000001 000200 076600 040000 G SEQ,OB35 MODEXH= 004000 MODHOL= 002000 MODSEL= 001000 MSGCKD= 000010 MSGCKS= 000011 MSGDER= 000005 MSGDRp::: 000017 MSGECH= 177777 MSGEOP= 000013 MSGHDR= 000004 MSGHNG= 000022 MSGHRD= 000007 MSGMAP= 000021 MSGNUL= 177775 MSGPOP= 000002 MSGPRM= 177776 MSGRES= 000001 MSGSFT= 000006 MSGSKE= 000003 MSGSMB= 000015 MSGSMH= ,000014 MSGSMS= 000016 MSGSTD= 000000 MSGSY5=: 000012 MSGVEC= 000020 NBKMOD= 001000 NCPUOP:: 000020 NOAPTY:: 000002 000000 NULL 024020 OWEN PAERR 000010 PARERR= ****** G PARPRE= 002000 PARSTA:: 000100 PASCNT:: 000034 PBREAK:: ***-1:** G PCDATA= ****** G PDATCK= ****** G POATER:: ****** G PDPLSI==, 020000 PDP60 - 004000 PDP70 .- 010000 PEND ****** G PENDIT;: *** ** >I< G PGETPA:: ****** G PMAP22:::: **:l<*** G PRBTOD:= ****** G 000054RG PRE=VT PRGWB ,- ****** G PRHARD= ****** G PRIO 000000 PRI1 000040 PRI4 000200 PRI5 PRI6 PRI7 PRMSG PR:v1SGN= PRMSGS= PROrOA= PRRAND= PRSOFT= PR. ~JTR PR.TRP PRO PR4 PRS PR6 PR7 PS PSt~ RANNUM= RSUFEA= RBUFPA= RBUFSZ= RBUFVA= RDSERV= RDWHMI = RELERR= RELIVlOD= REL TIM= RESl RES2 RICHAR= RPTDAT= RSTRT = RUBOUT= RUNMOD= H5VALU= SAM SBADR = SBKMOD= SBKSEL= SC.ADR= SC.ALC", SC.APC= SC.CKL= SC.CKP= SC.CLO= SC.HLD= SC.SCA= SENDLS= SOFCNT= SOFPAS= SPACE = SPO!NT= 000240 000300 000340 ****** G ****** G ****** G ****** G ****** G ****** G 000044f~ OOOOOOH 000000 000200 Oq0240 000300 000340 177776 177'776 000054 000130 000126 000132 000124 000101 000022 000020 020000 010000 000056 000060 031060 002000 000112 0001'77 100000 001740 075464 000102 000000 010000 000006 000014 000016 000002 000004 000000 000010 000012 177777 000042 000046 000040 000032 PREVT (PROCESS EVENT MODULE) PREVT.MAC 28-JUL-78 09:25 SPVALU= SRO SRl SR2 = SR3 STAT STATBI= STAT1 = SUSPND= SVRO SVR1 SVR2 SVR3 SVR4 SVR5 SVR6 SYSCNT= SYSERR= TMPIO = TQOVF = UIPARO= UIPAR1= 002200 177572 177574 177576 172516 000026 064757 000027 000001 000062 000064 000066 000070 000072 000074 000076 000052 000100 000002 000002 177640 177642 ABS. 000000 000144 MACY11 30A(1052) 20-SEP-78 SYMBOL TABLE 18:25 vHINRE= vHWHMI= XFLAG= )(OFF ) A=ADDRESS OF DATA TABLE VERSION: 0.0 EDIT ;-- BY DATE f;!EASON PRGWB - PROCESS GWBUF MACY11 30A(1C52) 20-SEP-78 18:25 PAGE 19-1 PRGWB.MAC 2B-JUL-78 09:25 COMMON DEFINTIONS AND REFERENCES 554 555 556 (1) 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 000000 000000 1 1 000001 000001 SEQ 0839 .SBTTL COMMON DEFINTIONS AND REFERENCES .MCALL STRUcr STRUCT .PRINT ;SPMAC: VERSION 1 • 1 $LSTIN=1 $LSTTAG=1 ; ;*************** ; ; REFERENCED BY OTHER MODULES: ; .GL08L PRGWB ; ;MODULE ENTRY POINT ;**************** ; ; GL08AL REFERENCES ; .GLOBL SAVREG .GLOBL RESREG ;SAVE REGISTERS ;RESTORE REGISTERS ;**************** ; ; LOCAL STORAGE , 000000 1 000000 000002 1 000000 PG.AVAIL: PG.SIZE: .WORD 0 .WORD 0 ;**************** ;AVAILABLE BUFFER SIZE - PAR FORMAT ;ACTUAL WRITE BUFFER SIZE - PAR FORMAT PRGWB - PROCESS GWBUF MACY11 30A(1052) 20-SEP-78 18:25 PRGWB.MAC 28-JUL-78 09:25 PRGWB ROUTINE 586 587 (2) 588 589 590 591 592 593 (3) 594 595 596 597 598 599 600 (4) 601 602 603 604 605 606 607 (4) 608 609 610 611 612 613 (6) (9) 621 (4) (6) 622 (4) ( 3) 623 (4) (6) 624 (4) 625 SEQ 0840 .SBTTL PRGWB ROUTINE ROUTINE PRGWS 000004' 000004' PI~GWB: ;+ ; SAVE REGISTERS ;000004' 000004' 004767 CALL SAVREG OOOOOOG JSR PC,SAVREG MOV TABL(R5),RO MOV @DT.PC(RO),R1 ;+ ; SET RO TO THE START OF THE DATA TABLE ;000010' 000010' 016500 LET RO != TABL(R5} 000000 ;+ ; GET THE OPTIONS MODULE'S HEADER ADDRESS ;- 000014' 000014' 017001 LET R1 := @DT.PC(RO) 000002 ;+ CALCULATE THE LARGEST AVAILABLE BUFFER SIZE. IF THE BUFFER ADDRESS POINTER IS POINTING BELOW THE MOVABLE PORTION OF THE EXERCISER, THEN THE AVAILABLE BUFFER SIZE IS EVERYTHING FROM THE CURRENT POINTER POSITION UP TO THE BASE ADDRESS OF THE MOVA3LE PORTION OF THE EXERCISER. IF THE BUFFER ADDRESS POINTER IS ABOVE THE TOP OF THE EXERCISER, THEN THE AVAILABLE BUFFER SIZE IS EVERYTHING FROM THE CURRENT POINTER POSI7ION UP TO THE HIGH BUFFER LIMIT. 6~4 615 616 617 618 619 620 PAGE 19-2 , 000020' 000020' 000026' 000030' 000030' 000036' 000044' 000044' 000046' 000046' 000046' 000054' 000062' 000062' IF DT.WBUF(RO) LO DT.ADDR(RO) THEN 026060 103007 000050 000042 016067 166067 000042 000050 177742 177734 DT.WBUF(RO),DT.A 50002$ MOV SUB DT.ADDR(RO),PG.A DT.IIJ8UF(RO) ,PG.A BR 50003$ IV!OV SUB DT . IIJH LMT ( RO) I PG. DT.WBUF(RC) ,PG.A LET PG.AVAIL := DT.ADDR(RO) - DT.WBUF(RO) ELSE 000406 LET PG.AVA.l.L 016067 166067 CMP BHIS 000054 000050 .- 50002$: DT.WHLMT(RO) - DT.WBUF(RO) 177724 177716 ENDIF 50003$: 626 627 628 ;+ ; GET THE REQUESTED BUFFER SIZE FROM THE OPTION MODULE, CONVERT IT TO PRGWB - PROCESS GWBUF MACY11 30A(1052} 20-SEP-78 18:25 PRGWB.MAC 28-JUL-78 09:25 PRGWB ROUTINE 629 630 631 632 633 634 635 636 (4) (7) (7) (7) (7) (7) (7) 637 (6) 638 (7) 639 (6) (9) 640 (4) 641 (4) (3) 642 (4) 643 (4) 644 (4) (7) (7) (7) (7) (7) (7) 645 (7) 646 (6) 647 648 649 650 651 652 653 6SL1. (4) (6) 655 (4) 656 PAGE 19-3 SEQ 0641 PAR FORMAT, DOUBLE IT TO CHANGE IT FROM A WORD COUNT TO A M~MORY AREA SIZE, AND COMPARE IT TO THE AVAILABLE BUFFER SIZE. IF THE REQUESTED SIZE IS LARGER THAN THAT AVAILABLE, LET THE ACTUAL BUFFER SIZE EQUAL THE AVAILABLE SIZE. OTHERWISE, LET THE ACTUAL SIZE BE THE FULL REQUESTED SIZE. THEN PASS THE ACTUAL SIZE TO THE OPTION MODULE, AFTER CONVERTING IT TO A PHYSICAL WORD COUNT FROM PAR FORMAT. 000062 1 000062' 000066' 000070' 000072' 000074' 000076' 000100' 000102' 000102' 000106' 000106' 000110' 000110' 000114 1 000116' 000116' 000124' 000124' 000126' 000126' 000126' 000132' 000132' 000132' 000132' 000140' 000144' 000150' 000154' 000160' 000164' 000170' 000170' 000174' 000174' LET R2 .- WBUFRQ(Rl) SHIFT #-6 016102 006202 006202 006202 006202 006202 006202 000140 042702 176000 MOV ASR ASR ASR ASR ASR ASR WBUFRQ(R1),R2 R2 R2 R2 R2 R2 R2 BIC #176000,R2 ASL R2 CMP BLOS R2,PG.AVAIL 50004$ MOV PG.AVAIl,PG.SIZE BR 50005$ MOV R2,PG.SIZE MOV ASL ASL ASL ASL ASL ASL PG.SIZE,WBUFSZ(R WBUFSZ(Rl) WBUFSZ(R1) WBUFSZ(Rl) WBUFSZ(R1 ) WBUFSZ(R1) WBUFSZ(Rl) ASR WBUFSZ(R1) BIC #100000,WBUFSZ(R LET R2 .- R2 CLR.BY #176000 LET R2 '- R2 SHIFT #+1 006302 IF R2 HI PG.AVAIL THEN 020267 101404 177664 016767 177656 LET PG.SIZE '- PG.AVAIL 177656 ELSE 000402 50004$: LET PG.SIZE '- R2 010267 177650 ENDIF 50005$: LET WBUFSZ(Rl) .- PG.SIZE SHIFT #+6 016761 006361 006361 006361 006361 006361 006361 177644 000142 000142 000142 000142 00014'00014:2 006261 000142 042761 100000 000142 LET WBUFSZ(R1) .- WBUFSZ(R1) SHIFT #-1 LET WBUFSZ(R1) '- WBUFSZ(R1) CLR.BY #100000 000142 ;+ ; CONVERT THE BUFFER ADDRESS POINTER FROM PAR FORMAT TO AN 18-BIT ; VIRTUAL ADDRESS, AND PASS IT TO THE OPTION MODULE. 000202' 000202' 016002 000206 1 166002 000212' 0002.12' 010:203 000214' LET R2 0- DT.WBUF(RO) - DT.OFFSET(RO) 000050 000070 MOV SUB DT.WBUF(RO),R2 DT.OFFSET(RO),R2 rv'iOV R2, R3 LET R3 .- R2. LET R2 .- R2 SHIFT #+6 PRGWB - PROCESS GWBUF MACY11 30A(1C52) 20-SEP-78 18:25 PRGWB.MAC 28-JUL-78 09:25 PRGWB ROUTINE (7) (7) (7) (7) (7) (7) 657 (6) 653 (7) (7) 659 (6) 660 (4) 661 (4) 662 663 664 665 666 667 668 669 (6) (9) 670 671 672 673 674 675 676 677 678 679 (6) (7) 680 681 682 683 684 685 686 687 688 689 (4) (6) 690 (6) (9) 691 (4) 000214 1 000216 1 000220 1 000222 1 000224 1 000226 1 000230 1 000230 1 000232 1 000232 1 000234 1 000236 1 000236 1 000242 1 000242' 000246' 000246' PAGE 19-4 SEQ 0842 006302 006302 006302 006302 006302 006302 ASL ASL ASL ASL ASL fl.,SL R2 R2 R2 R2 R2 SWAB R3 ASL ASL R3 R3 BIC #'17771'7, R3 MOV R2,WBUFPA(R1) MOV R3,I,oJBUFEA(R1 ) R2 LET R3 .- SWAP R3 000303 LET R3 '- R3 SHIFT #+2 006303 006303 LET R3 '- R3 CLR.BY #177717 042703 010261 010361 177717 LET WBUFPA(R1) '- R2 LET WBUFEA(R1) '- R3 000134 000136 ;+ ; IF WRITE BUFFER ROTATION IS ENABLED, FIND A NEW VALUE FOR THE WRITE ; BUFFER ADDRESS POINTER. OTHERWISE, JUST RETURN. ;- 000252 1 000252' 032760 000260' 001470 IF #WBSTAT SETIN DT.STO(RO) THEN 000040 BIT BEQ 000010 #WBSTAT,DT.STO(R 50006$ ;+ , LET THE NEW BUFFER ADDPESS POINTER EQUAL THE CURRENT POINTER PLUS ; THE SIZE OF THE BUFFER WE JUST PASSED TO THE OPTION MODULE. ; ADD ONE TO THIS VALUE TO GET THE NEXT 100 BYTE BLOCK, TO ; ASSURE THAT THERE IS NO OVERLAPPING OF WRITE BUFFERS. 000262' 000262' 066760 000270' 005260 LET DT.WBUF(RO) := DT.WBUF(RO) + PG.SIZE + #1 177514 000050 ADD INC 000050 P G • S I Z E , DT • loJ BUF ( DT.WBUF(RO) ;+ ; IF THIS NEW BUFFER STARTING ADDRESS IS GREATER THAN OR EQUAL TO THE ; HIGH BUFFER LIMIT MINUS 1/2 K (THE 1/2 K IS TO ASSURE THAT WE HAVE A WRITE ; BUFFER AREA OF AT LEAST THAT SIZE), THEN MOVE THE BUFFER ADDRESS POINTER TO THE ; LOW BUFFER LIMIT. ;- 000274 1 000274' 000300' 000304 1 000304 1 000310 1 000312 1 000312' LET R3 := DT.WHLMT(RO) - #20 016003 162703 000054 000020 026003 103403 000050 016060 000052 MOV SUB DT.WHLMT(RO),R3 #20,R3 CMP BLO DT.W8UF(RO),R3 50007$ MOV DT.WLLMT(RO),DT. IF DT.WBUF(RO) HIS R3 THEN LET DT .WBUF(RO) 000050 '-. DT .WLLMT(RO) PRGWB - PROCESS GWBUF MACY11 30A(1052) 20-SEP-78 18:25 PRGWB.MAC 28-JUL-78 09:25 PRGWB ROUTINE 692 (4) 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 (4) ( 7) (7) ( 7) (7) (7 ) (7) 711 (6) 712 (6) 713 (6) ( 7) 714 715 (4) (6) 716 717 (6) (9) (6) (9) 718 (4 ) (6) 719 (6) (9) (6) (9 ) 720 (4) 721 (4) 50007$: ;+ ,' - NOW CHECK TO SEE IF THE POINTER HAS BEEN PLACED WITHIN THE CURRENT POSITION OF THE EXERCISER. TO DO THIS, WE FIRST CAlCULATE'THE CURRENT POSITION OF THE TOP OF THE EXERCISER (WITHIN 100 BYTES, BECAUSE WE ARE WORKING WITH PAR-FORMATTED WORDS). THEN SEE IF THE CONTENTS OF THE POINTER IS LESS THAN THIS VALUE BUT GREATER THAN THE BASE ADDRESS OF THE MOVABLE PORTION OF THE EXERCISER MINUS 1/2 K. IF IT IS NOT, THEN WE HAVE A GOOD POINTER VALUE. BUT IF IT IS, WE MUST THEN CHECK TO SEE IF THE TOP OF THE EXERCISER IS WITHIN 1/2 K OF THE HIGH BUFFER lIMIT. IF YES, AND IF THE MOVABLE PORTION OF THE EXERCISER IS NOT IN LOWEST MEMORY, MOVE THE BUFFER ADDRESS POINTER DOWN TO THE lOW BUFFER LIMIT. OTHERWISE, MOVE THE POINTER TO THE TOP OF THE EXERCISER. LET R2 '- DT.ESIZ(RO) SHIFT #-6 016002 006202 006202 006202 006202 006202 006202 000044 042702 176000 MOV ASR ASR ASR ASR ASR ASR DT.ESIZ(RO),R2 R2 R2 R2 R2 R2 R2 SIC #176000,R2 INC R2 ADD SUB Dl.ADDR(RO),R2 #200,R2 MOV SUB DT.ADDR(RO),R3 #20,R3 CMP BHI CMP BlO DT .WBUF(RO) ,R2 50010$ DT.WBUF(RO),R3 50010$ MOV SUB DT. WHLMT(RO) ,R4 #20,R4 CMP BlO CMP BlOS R2,R4 50011$ DT.ADDR(RO).#200 50011$ MOV DT.WLLMT(RO),DT. 8R 50012$ LET R2 '- R2 CLR.BY #176000 LET R2 "- R2 + #1 005202 LET R2 .- R2 + DT.ADDR(RO) - #200 066002 162702 000042 000200 000356' 000356' 016003 000362' 162703 000042 000020 000366' 000366' 000372' 000374' 000400' 000402' 000402' 000406' 000412' 000412' 000414' 000416' 000424' 000426' 000426' 000434' 000434' SEQ 0843 ENDIF 000320' 000320' 000320' 000320 " 000324' 000326' 000330' 000332' 000334' 000336' 000340' 000340' 000344' 000344' 00034G' 000346' 000352' i9~5 PAGE LET R3 '- DT.ADDR(RO) - #20 IF DT.WBUF(RO) lOS R2 AND DT.WBUF(RO) HIS R3 THEN 026002 101023 026003 103420 000050 016004 162704 000054 000020 000050 LET R4 := DT.WHlMT(RO) - #20 020204 103410 026027 101404 016060 IF R2 HIS R4 AND DT.ADDR(RO) HI #200 THEN 000042 000200 000052 000050 LET DT.WBUF(RO) .- DT.WllMT(RO) ELSE 000402 MACY11 30A(1052) 20-SF.P-78 18:25 PRGWB - PROCESS GW8UF PRGWB ROUTINE PRGWB.MAC 28-JU L-78 09:25 (3) 722 (4 ) 723 (4) 724 (4) 725 726 (4) 727 728 729 730 731 732 733 734 (6) 735 736 737 738 739 740 741 (3) 742 743 744 (3) (3 ) (2) 745 000436' 000436 1 000436 1 010260 000442' 000442' 000442' 000442 1 PAGE 19-6 SEQ 0844 LET DT.WBUF(RO) .- 5()011$! R2 MOV 000050 R2,DT .1NBUF(RO} ENDIF 510012$: ENDIF 50010$: ENDIF 000442' 000442 1 50006$: ;+ ; UPDATE DT.PC TO REFLECT THE ADDRESS TO RETURN TO (1. E. , THE ADDRESS ; AFTER THE GWBUF TRAP CALL. ;- 000442' 000442' 062760 LET DT.PC(RO) := DT.PC(RO) + #2 000002 000002 ADD #2,DT.PC(RO} JSR PC,RESREG RTS PC ;+ ; RESTORE REGISTERS AND RETURN ;- 000450' 000450' 004767 000454' 000454' 000454' 000454' 000207 000001 CALL RESREG OOOOOOG ENDRTN 50000$: 50001$: .END 20-SEP-78 18:25 MACY11 .:sOA(1052) PRGWB - PROCESS GWBUF SYMBOL TABLE 28-JUL-7B 09:25 PRG\oJB. MAC ACSR ACTBIT= ADDR22= ADR = APTFER= APTPRE= ASB ASSEMB= ASTAT = AUTO AUTOST= AWA5 I3ITO B1TOO B1T01 B1T02 8IT03 BIT04 BIT05 B1T06 BIT07 BIT08 BIT09 8IT1 B1T10 BIT11 BIT12 BIT13 81T14 BIT15 BIT2 8113 BIT4 BITS BIT6 B1T7 BIT8 8IT9 BKDEF BKMOD BKMODE= BKSL5H= CAPRES= CASTAT= CDERCT= CDWDCT= CKTIM = CLKPRE= CONFIG= CQOVF = CR CSRA CSRC 000102 004000 001000 000006 000004 000200 000106 000010 000104 000010 020000 000110 000001 000001 000002 000004 000010 000020 000040 000100 000200 000400 001000 000002 002000 004000 010000 020000 040000 100000 000004 000010 000020 000040 000100 000200 000400 001000 000002 000020 040000 000134 000004 000004 000146 000144 100000 000001 000056 000001 000015 000100 000102 CTRLC :: CTRlO = CTRlU = DCEVNT= DEFRTN= DIAGMC= DROPMO= DSEVNT= DT.ADD= DT.AP = DT.APK= DT.BlS= DT.CFO= DT.CF1= DT.ERR= DT.ESI= DT.EVN:: DT.EXS= D1.FCH= DT.FCN::: DT.HMX= DT.KBE= DT.KBP= DT. KBR= DT.KBU= DT.MLS= DT.MTI= DT.OFF= DT.PAS= DT.PC = DT.PFL= DT.PSW= DT.PTA= DT.RCS= DT.REl= DT.SCT= DT.SMX= DT.5P = DT.S5I= DT.STO= DT.511= DT.SWR= DT.SYP= DT.WBU= DT.WHL= DT.WLL= DVID1 = ECCMEM= ECCSTA= ENBEOP= ENBNUL= ENDLSi= EOPBIT= 000003 000017 000025 000011 000400 000000 100000 000014 000042 000100 000076 000034 000014 000016 000020 000044 000000 000060 000037 OQ0036 000104 000024 000026 000022 000030 000032 000110 000070 000074 000002 000062 000004 000064 000102 000040 000066 000106 000006 000046 000010 000012 000056 000072 000050 000054 000052 000014 000100 000010 010000 000001 000000 000001 E.RRTYP= EVNTBE= EVNTHD= EVNTKT= EVNTPE= EVNTRE= FATERR= HRDCNT= HRDPAS= ICONT = lCOUNT= IDNUM= IE = INDPAR= INHDRP= INHEPR:;::: INHREL= INHRRE= XNIT INTR rOMOD IOMODP= IOMODR= IOMODX= dACK ~<1PARO= ~(IPAR1= ~000 010000 000006 000014 000016 000002 000004 000000 000010 000012 177777 000042 000046 000()40 00()O32 002200 1 77~)72 177574 1 77~576 172~)16 000026 064757 000027 000001 000062 000064 000066 000070 000072 000074 000076 000052 000100 000000 PRGWB - PROCESS GWBUF MACY11 30A(1052) 20-SEP-78 18:25 PRGWB.MAC 28-JUL-78 09:25 SYMBOL TABLE TMPIO = TQOVF = UIPARO= UIPAR1= UIPAR2= UIPAR3= UIPAR4= UIPAR5= UIPAR6= UIPAR7= UIPDRO= UIPDR1= UIPDR2= UIPDR3= UIPDR4= UIPDR5= UIPDR6= UIPDR7= vJASADR= 000002 000002 177640 177642 177644 177646 177650 177852 177654 177656 177600 177602 177604 177606 177610 177612 177614 177616 000104 . ABS. 000000 000456 WBSTAT= 000040 \~BUFEA= 000136 WBUFPA= 000134 WBUFRQ= 000140 WBUFSZ= 000142 000116 WDFR 000114 WDTO WTINRE= 000352 WTWHMI= 000222 XFLAG = 000005 000023 XOFF 000021 XON $BGNlE= 177777 $ERFLG= 000400 $F$AND= 000310 $F$BAD= 000401 $F$BLA= 000170 $F$CAS= 000150 $F$DEC= 000220 000 001 ERRORS DETECTED: 0 DEFAULT GLOBALS GENERATED: 0 DSKZ:PRGWB,DSKZ:PRGWB=SPMAC/ML,EQUATE,PRGWB RUN-TIME: 18 8 .4 SECONDS RUN-TIME RATIO: 64/27=2.3 CORE USED: 14K (27 PAGES) PAGE 20-1 $F$DO = $F$FAL:: $F$GOO= $F$IF = $F$INC= $F$LOO= $F$NAM= $F$NO = $F$OR $F$RTI= $F$RTN= $F$SEL= $F$TH== $F$TRU= $F$UNT= $F$WHI= $F$YES= $IFLEV= $ISKO = = 000340 000405 000400 000110 000210 000200 000160 000403 000320 000350 000300 000140 000330 000404 000130 000120 000402 177777 000001 SEQ 0846 $ I SK 1 = $ISK2 ::: $LOCTA= $LSTIN= $LSTTA= $NESTL=: $NSKO $NSK 1 =: $NSK2 =: $NSK3 =: $SAV LE=: $TAGLE:: ST AGNU:: $TEMP $TSKO :: $TSK1 :: $TSK2 :: $$ARGC:: $$BYTE:: 000001 000001 1777'7'7 000001 000001 177777 000300 000110 000110 000110 177777 177777 050013 -:)00300 050006 050010 050012 000002 000403 $$CASE= 000000 $$D5T ::;'000000 $$E LOC= 000il02 $$ERFL= 000000 $$FLAG= 000001 $$FROM= 000000 $.$LOC = 000424R $SLOCN= 000000 $$REG = 177777 $$r~ETU= 000000 $':tRTN 1 = 050000 $$RTN2= 05000 'I $$SRC = 000000 $$TGSV= 000000 $$TGS1= 000000 $$TGS2= 000000 $$TO 000000 $$$TAG= 050000 000456R .MAIN. MACY11 30A(1052) 20-SEP-78 EQUATE.MAC 13-SEP-78 16:13 3 573 576 596 18:26 TABLE OF CONTENTS COMMON EQUATE MODULE PRHARD (COMMON DEFINITIONS & REFERENCES) 000000 t • PR I NT ; SPMAC: VERS I ON 1.1 PRHARD (CODE) SEQ 0847 PRHARD (PROCESS HARD ERRORS) PRHARD.MAC 28-JUL-78 09:25 MACV11 30A(1052) 20-SEP-78 18:26 COMMON EQUATE MODULE PAGE 19 508 509 .TITLE PRHARD (PROCESS HARD ERRORS) .IDENT /VO.O/ 510 511 ;++ 512 513 514 515 516 517 518 519 MODULE NAME: PRHARD FUNCTIONAL DESCRIPTION: THIS MODULE IS CALLED AS A RESULT OF A 'rlRDERR' TRAP EXECUTED BY AN OPTION MODULE. FIRST THE FOLLOWING IS DONE 520 521 522 523 524 525 526 527 528 1. THE MODULE'S HARD ERROR COUNT IS INCREMENTED. 2. ERROR MESSAGE IS QUEUED UP. IF THE ENVIRONMENT IS APT, THEN AN APT ERROR HANDLING ROUTINE IS CALLED. IF NOT UNDER APT ENVIRONMENT, THEN 1. IF BIT15 OF THE SOFTWARE SWITCH REGISTER IS SET, THE 529 MODULE IS DROPPED WITH 'MODULE DROPPED ' MESSAGE PRINTED, EVEN ON THE FIRST ERROR. 2. IF THE ERROR COUNT IS EQUAL TO OR GREATER THAN THE LIMIT, THEN 8IT14 OF THE SOFTWARE SWITCH REGISTER IS CHECKED. IF BIT14 IS SET, THE MODULE IS NOT DROPPED. 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 INPUTS: DATA TABLE ADDRESS IMPLICIT INPUTS: DT.STO,DT.CFO,DT.HMX OUTPUTS: NONE IMPLICIT OUTPUTS: NONE PATHOLOGICAL CONNECTIONS: NONE SUBORDINATE ROUTINES CALLED: 1. DRPMOD 2. ENQTQ 3. APTHER 4. SAVREG 5. HESREG DROP A MODULE ROUTINE ENQUE AN ERROR MSG ROUTINE APT HARD ERROR ROUTINE FUNCTIONAL SIDE EFFECTS: UNDER APT ENVIRONMENT IT CAN SHUT DOWN THE EXCERCISER. CALLING SEQUENCE: CALL PRHARD IN
SEQ 0848 PRHARD (PROCESS HARD ERRORS) PRHARD.MAC 28-JUL-78 09:25 564 565 566 567 568 569 570 571 MACY11 30A(1052) 20-SEP-78 18:26 COMMON EQUATE MODULE WHERE DT = DATA PAGE 19-1 SEQ 0849 TABLE ADDRESS VERSION: 0.0 EDIT ;-- DATE BY REASON PRHARD (PROCESS HARD ERRORS) PRHARD.MAC 28-JUL-78 09:25 573 574 575 576 (1) 577 578 579 580 581 582 583 MACY'1 30A(1052) 20-SEP-78 18:26 PAGE 19-2 PRHARD (COMMON DEFINITIONS & REFERENCES) .SBTTL PRHARD (COMMON DEFINITIONS & REFERENCES) 000000 1 000000 1 000001 000001 .MCALL STRUCT STRUCT .PRINT ;SPMAC: VERSION 1.1 $LSTIN=l $LSTTAG=1 ;**************** ; REFERENCED BY OTHER MODULES .GLOBL PRHARD ;MODULE ENTRY POINT 584 585 5813 587 588 589 590 591 592 593 594 ;**************** ; GLOBAL REFERENCES .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL APTHER ENOTO' DRPMOD SAVREG RESRE.G HARD ERROR HANDLER UNDER APT ENQUE A MESSAGE INTO THE TYPE QUEUE 'DROP THE MODULE' ROUTINE SEQ 0850 PRHARD (PROCESS HARD ERRORS) PRHARD.MAC 28-JUL-78 09:25 596 597 598 (2) 599 600 601 602 603 604 605 (3) 606 (4) 607 (4) 608 (4) 609 610 611 612 613 (4) (6) 614 615 616 6·17 618 619 (6) 620 621 622 623 624 625 (6) 626 (6) 627 (3) (8) (7 ) (6) (5) (4) (3) (3 ) 628 629 630 631 632 633 MACY11 30A(1052) 20-SEP-78 PRHARD (CODE) 18:26 PAGE 19-3 SEQ 0851 .SBTTL PRHARD (CODE) ROUTINE PRHARD 000000' 000000' P:RHARD: ;+ ; SAVE REGS, GET DTABLE ADDRESS AND MODULE ; HEADER ADDRESS. 000000' 000000' 000004' 000004' 000010' 000010' 000014' 000014' CALL SAVREG 004767 OOOOOOG LET RO .- DTA(R5) 016500 000000 LET R1 016001 := DT.PC(RO) 000002 LET R2 .- (R1) 011102 000016' 060016' 010103 000020' 162703 ;+ ; POINT TO TRAP PC ;LET R3 := R1 - #2 000002 JSR PC,SAVREG MOV DTA(R5),RO MOV DT.PC(RO),R1 MOV (R1),R2 MOV SUB R1,R3 #2,R3 ADD #4,R1 INC HRDCNT(R2) INC HRDPAS(R2) MOV MOV MOV MOV MOV MOV JSR MOV R5,'-(SP) R1,'-(H5) R2,'-(R5) R3,'-(R5) #MSGHRD,-(R5) RO,.-(R5) PC,ENQTQ (SP)+,R5 ;+ ; POINT R1 TO RETURN PC ;- 000024' 000024' 062701 LET R1 : = R1 + # 4 000004 ;+ ; INCREMENT MODULE'S ERROR COUNT, AND ENQUE ERROR MESSAGE. ;- 000030' 000030' 000034' 000034' 000040' 000040 ' 000042' 000044 ' 000046' 000050' 000C54' 000056' 000062' LET HRDCNT(R2) 005262 005262 010546 010145 010245 010345 012745 010045 004767 012605 000044 LET HRDPAS(R2) '- HRDCNT(R2) + #1 0- HRDPAS(R2) + #1 000050 CALL ENQTQ IN 000007 OOOOOOG ;+ ; IF APT ENVIRONMENT, CALL APT ERROR HANDLING ROUTINE 000064' IF #APTPRE SETIN DT.CFO(RO) THEN PRHARD (PROCESS HARD ERRORS) PRHARD.MAC 28-JUL-78 09:25 (6) (9) 634 (3) (4) (3) (3) 635 (4 ) (3) 636 637 638 639 640 641 642 643 (6) (9) 644 (3) (5) (4) 000064' 000072' 000074' 000074' 000076' 000100' 000104' 000106' 000106' 000110' 000110' 000110' 000116' 000120' 000120' 000122' 000124' (3 ) .000126' (3) 000132' 645 000134' (4) 000134' (3 ) 000136' 646 647 648 649 650 000136' (6) 000136' (9 ) 000144 1 (6 ) 000146' (9) 000154' 000156' 651 000156' (3) ( 5) 000160' (4) 000162' (3) 000164' 000170' (3) 652 000172' (4) 000172' 653 000172' (4 ) 000172' 654 000172' (4 ) 000172' 655 656 657 658 659 660 032760 001406 010546 010045 004767 012605 000200 MACY11 30A(1052) 20-SEP-78 PRHARD (CODE) 18:26 PAGE 19-4 SE~ 000014 CALL APTHERR IN OOOOOOG ELSE 000431 0352 BIT SEQ #APTPRE,DT.CFO(R 50002$ MOV MOV JSR MOV RS,.-(SP) RO,-(R5) PC,APTHERR (SP)+,R5 BR 50003$ BIT BEQ #BIT15,DT.SWR(RO 50004$ MOV MOV MOV JSR MOV R5,-(SP) R2,-(R5) RO,-(R5) PC,DRPMOD (SP)+,R5 BR 50005$ 50002$: ;+ ; THE ENVIRONMENT IS NOT APT. ; CHECK SWITCH REGISTER IF THE MODULE IS TO BE DROPPED i DUE TO THIS ERROR. ', - IF #BIT15 SETIN DT.SWR(RO) THEN 032760 001407 010546 010245 010045 004767 012605 100000 000056 CALL DRPMOD IN OOOOOOG ELSE 000416 50004$: + 026260 103412 032760 001006 010546 010245 010045 004767 012605 000044 000104 040000 000056 IF TOO MANY HARD ERRORS AND BIT 14 NOT SET IN SWR, DROP MODULE IF HRDCNT(R2) HIS DT.HMX(RO) AND #BIT14 NOTSETIN DT.SWR(RO) THEN CMP HRDCNT(R2),DT.HM 50006$ BlO BIT #BIT14,DT.SWR(RO BNE 50006$ CALL DRPMOD IN MOV R5,-(SP) MOV R2,-(R:S) MOV RO,-(R5) JSR PC,DRPMOD MOV (SP)+,RS ENDIF OOOOOOG ENDIF ~i0005$ ENDIF + RESTORE REGS AND RETURN : :;0003$ : PRHARD (PROCESS HARD ERRORS) PRHARD.MAC 28-JUL-78 09:25 661 (3) 662 663 (3) (3) (2) 664 665 000172' 000172' 004767 000176' 000176' 000176' 000176 1 000207 000001 MACY11 30A(1052) 20-SEP-78 PRHARD (CODE) 18:26 PAGE 19-5 SEQ 0853 CALL RES!iEG OOOOOOG JSR PC. RTS PC ENDRTN 50000$: 50001$: .END RESI~EG PRHARD (PROCESS HARD ERRORS) 28-JUL-78 09:25 PRHARO.MAC ACSR ACTBIT= AODR22= AOR APTFER= APTHER= APTPRE= ASB ASSEMB= ASTAT = AUTO AUTOST= AWAS BITO BITOO BIT01 8IT02 8IT03 8IT04 BIT05 BIT06 BIT07 BIT08 BIT09 BITl BIT10 BI T 11 BIT12 BIT13 B1T14 BIT15 BIT2 8IT3 BIT4 = BIT5 BIT6 = BIT7 = BITS BIT9 BKDEF BKMOD BKMODE= BKSLSH= CAPRES= CASTAT= CDERCT= CDWDCT= CKTIM = CLKPRE= CONFIG= CQOVF CR CSRA 000102 004000 001000 000006 000004 ****** 000200 000106 000010 000104 000010 020000 000110 000001 000001 000002 000004 000010 000020 000040 000100 000200 000400 001000 000002 002000 004000 010000 020000 040000 100000 000004 000010 000020 000040 000100 000200 000400 00100e 000002 000020 040000 000134 000004 000004 000146 000144 100000 000001 000056 000001 000015 000100 G 20-SEP-78 MACY11 30A(1052) SYMBOL TABLE CSRC CTRLC CTRLO CTRLU DCEVNT= DEFRTN= DIAGMC= DROPMO= DRPMOO= DSEVNT= DTA DT.ADD= DT.AP = OT.APK= DT.BLS= DT.CFO= DT.CF1= DT . ERR=. DT.ESI= DT.EVN= DT.EXS= DT.FCH= DT.FCN= DT.HMX= DT.KBE:: DT.KBP= DT.KBR= DT.KBU= DT.MLS= DT.MT1= DT.OFF= DT.PAS= DT.PC :: DT.?FL= OT . PS~J= DT.PTA= DT.RCS= OT.REL= DT.SCT= DT.SMX= DT.SP = DT.SSI: DT.STO= DT.ST1= DT.SWR= DT.SYP= DT . WBU= DT.WHL= DT.WLL= OVID1 = ECCMEM= ECCSTA= ENBEOP= 000102 000003 000017 000025 000011 000400 000000 100000 ****** 000014 000000 000042 000100 000076 000034 000014 000016 000020 000044 000000 000060 000037 000036 000104 000024 000026 000022 000030 000032 000110 000070 000074 000002 000062 000004 000064 000102 000040 000066 000106 000006 000046 000010 000012 000056 000072 000050 000054 000052 000014 000100 000010 010000 G 18:26 ENBNUL= 000001 ENDLST~ 000000 ENQTQ = ****** G EOPBIT= 000001 ERRTYP= 000106 EVNTBE= 000200 EVNTHD= 000200 EVNTKT= 000203 EVNTPE= 000202 EVNTRE= 000201 FATERR= 100000 HRDCNT= 000044 HRDPAS= 000050 ICONT = 000036 ICOUNT= 000040 IDNUM = 000122 IE 000100 INDPAR= 000040 INHDRP= 040000 INHEPR= 020000 INHREL:: 001000 INHRRE:: 000400 INIT 000030 000120 INTR 101'.100 100000 IOMODP= 102000 1OMODR= 112000 IOMODX= 110000 035060 JACK KIPARO= 172340 KIPAR1= 172342 KIPAR2= 172344 KIPAR3= 172346 KIPAR4= 172350 KIPAR5= 172352 KIPAR6= 172354 KIPAR7= 172356 KIPORO= 172300 KIPDR1= 17.2302 KIPDR2= 172304 KIPDR3= 172306 KIPDR4= 172310 KIPDR5= 172312 KIPDR6= 172314 KIPDR7"-= 172316 KTERRO= 000040 KTPRES= 000400 KTST,AT= 000020 KTXTND= 040000 000012 LF LPSTAT= 000001 MAPSTA= 000200 ::: 076600 MED PAGE 20 SEQ 0854 MEMPAS::: MODEXH:: MODHOL:: MODSEL= MSGCKD::: MSGCKS= ~SGDER::: MSGDRP:: MSGECH:: MSGEOP= MSGHDR= MSGHNG= MSGHRD= MSGMAP:: MSGNU L:= MSGPOP= MSGPRM': IVISGRES': MSGSFT= MSGSKE:: MSGSIVIB:= MSGSMH'= MSGSMS:: MSGSTD,: MSGSYS'= MSGVEC== NBKMOD:: NCPUOP:: NOAPTY:: NULL OWEN PAERR PAR PRE:: PARSTA:: PASCNT:= PDPLSI:: PDP60 .POP70 .PRHARD PRIO PRI1 PRI4 PRI5 PRI6 PRI7 PRO PR4 PR5 PR6 PR7 PS PSW RANNU!\1= 040000 004000 002000 001000 000010 000011 000005 000017 177777 000013 000004 000022 000007 000021 177775 000002 177776 000001 000006 000003 000015 000014 000016 000000 000012 000020 001000 000020 000002 000000 024020 000010 002000 000100 000034 020000 004000 010000 OOOOOORG 000000 000040 000200 000240 000300 000340 000000 000200 000240 000300 000340 177776 177776 000054 RBUFEA= RBUFPA= RBUFSZ= RBUFVA= RDSERV= RDWHMI= RELERR= RE LMOD= REL TIM= RESREG= RES1 RES2 RICHAR= nPTDAT= RSTRT = RUBOUT= RUNiVlOD= R5VALU= SAM SAVREG= S8ADR :: SBKMOD= SBKSEL= SC.ADR= SC.ALC= SC.APC= SC.CKL= SC.CKP= SC.CLO= SC.HLD= SC.SCA= SENDLS= SOFCNT= SOFPAS= SPACE = SPOINT= SPVALU= SRO SRl SR2 ::; SR3 STAT STATBI= ST.A.T1 = SiJSPND= SVRC SVR1 SVR2 SVR3 SVR4 SVR5 SVR6 SYSCNT= 000130 000126 000132 000124 000101 000022 000020 020000 010000 ****'*-+< G 000056 000060 031060 002000 000112 000177 100000 001740 075454 ****** 000102 000000 010000 000006 000014 000016 000002 000004 000000 000010 000012 1777'17 000042 000046 000040 000032 002200 177572 177574 177576 172516 000026 064757 000027 000001 000062 000064 000066 000070 000072 000074 000076 000052 G PRHARO (PROCESS HARD ERRORS) PRHARD.MAC 2B-JUL-78 09:25 SYSERR= TMPID. = TQOVF = UIPARO= UIPAR1= UIPAR2= UIPAR3= UIPAR4= UIPAR5= UIPAR6= UIPAR7= UIPDRO= UIPOR1= UIPDR2= UIPDR3= UIPDR4= UIPDR5= UIPDR6= UIPOR7= WASADR= 000100 000002 000002 177640 177642 177644 177646 ASS. 000000 000200 MACY11 30A(1052) 20-SEP-78 SYMBO:" TABLE 18:26 $F$FAL= $F$GOO= $F$IF = $F$lNC= $F$LOO= $F$NAM= $F$NO = $F$OR = $F$RTI= $F$RTN= $F$SEL= $F$THE= $F$TRU= $F$UNT= $F$WHI= $F$YES:: $IFLEV= SISKO = $ISK1 :$lSK2 :: 000405 000400 000110 000210 000200 000160 000403 000320 00035.0 000300 000140 000330 000404 000130 000120 000402 1 77777 000001 000001 000001 WBSTAT= WBUFEA= WBUFPA= WBUFRQ= WBUFSZ= WDFR WOTO = WTINRE= WTWHMI= XFLAG = XOFF XON $BGNLE= $ERFLG= $F$AND= $F$BAD= $F$BLA:: $F$CAS= $F$DEC:= $F$DO :: 177650 177652 177654 177656 177600 177602 177604 177606 177610 177612 177614 177616 000104 000040 000136 000134 000140 000142 000116 000114 000352 000222 000005 000023 000021 177777 000400 000310 000401 000170 000150 000220 000340 000 001 0 ERRORS DETECTED: DEFAULT GLOBALS GENERATED: 0 DSKZ:PRHARD,DSKZ:PRHARD::SPMAC/ML,EQUATE,PRHARD RUN-TIME: 13 3 .4 SECONDS RUN-TIME RATIO: 42/17=2.3 CORE USED: 14K (27 PAGES) PAGE 20-1 SEQ 0855 $LOCTA= $LSTIN= $LSTTA= $NESTL= $NSKO $NSK 1 :: $NSK2 = $NSK3 $SAVLE= $TAGLE= $TAGNU= $TEMP $TSKO = $TSK 1 = $TSK2 :: $$ARGC= $$BYTE= $$CASE= $$DST :: $$ELOC= 177777 000001 000001 177777 000300 000110 000110 = 000110 11'/'1'17 177777 050007 000300 050003 050005 050006 000002 000403 000000 000000 000402 $$ERFL= $SFLAG= $$FROM:: $$ LOC = $$ LOCN=· $SREG :: $$RETU:: $$RTN1:: $$RTN2:: $$SRC = $$TGSV= $$TGS1= $$TGS2= $$TO $$$TAG= = 000000 000001 000000 000 1 541~ 000000 17777'7 000000 050000 050001 000000 000000 000000 000000 OOOOOJ 050000 0002001~ .MAIN. MACY11 30A(1052) 20-SEP-78 EQUATE.MAC 13-SEP-78 16:13 3 553 556 579 18:27 TABLE OF CONTENTS COMMON EQUATE MODULE COMMON REFERENCES AND DEFINITIONS 000000' .PRINT PRMSG ROUTINE ;SPMAC: VERSION 1.1 SEQ 0856 PRMSG - ~ROCESS MSG MACY11 30A(1052) 20-SEP-78 18:27 PAGE 19 PRMSG.MAC 28-JUL-78 09:25 COMMON EQUATE MODULE 508 509 510 511 512 513 .TITLE PRMSG - PROCESS MSG .IDENT jVO. OJ ;++ MODULE NAME: PRMSG 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 53B 539 540 541 542 543 544 545 546 547 FUNCTIONAL DESCRIPTION: PROCESSES MSG CALLS FROM OPTION MODULES 8Y LOADING THE TYPE-QUEUE WITH THE SPECIFIED MESSAGE INPUTS: DATA TABLE ADDRESS i IMPLICIT INPUTS: DT.PC OUTPUTS: NONE IMPLICIT OUTPUTS: NONE PATHOLOGICAL CONNECTIONS: NONE SUBORDINATE MODULES CALLED: ENQTQ - TYPE-QUEUE ENQUEUER SAVREG RESREG FUNCTIONAL SIDE EFFECTS: NONE CALLING SEQUENCE: CALL PRMSG IN A=ADDRESS OF DATA TABLE VERSION: 0.0 548 549 550 551 SEQ 0857 EDIT , '-- BY DATE REASON PRMSG - PROCESS MSG MACY11 30A(1052) 20-SEP-78 18:27 PAGE 19-1 PRMSG.MAC 28-JUL-78 09:25 COMMON REFERENCES AND DEFINITIONS 553 554 555 556 (1) SEQ 0858 .SBTTL COMMON REFERENCES AND DEFINITIONS 000000' 000000 1 557 00 000 1 558 000001 .MCALL STRUCr STRUCT .PRINT ;SPMAC: VERSION 1.1 $LSTIN=1 $LSTTAG.:1 559 560 561 562 563 564 565 566 ;**************** ; ; REFERENCED BY OTHER MODULES ,GLOBL PRMSG ;MODULE ENTRY POINT 567 568 569 ;**************** , 570 ;GLOBAL REFERENCES 571 572 573 574 575 576 577 .GLOBL .GLOBL .GLOBL ENOlO SAVREG RESREG ;**************** ;TYPE-QUEUE ENOUEUER PRMSG -PROCESS MSG MACY', 30A(1052) 20-SEP-78 18:27 PRMSG.MAC 28-JUL-78 09:25 PRMSG ROUTINE 579 580 581 582 (2) 583 584 585 586 587 588 (3) 589 590 591 592 593 594 595 (4) 596 597 598 599 600 601 602 (4) 603 604 605 606 607 608 609 (4) 610 (4) 611 (3) (8) (7) (6) (5) (4) (3) (3) 617 618 619 620 SEQ 0859 .SBTTL PRMSG ROUTINE ROUTINE PRMSG 000000' 000000 r PI~MSG : ;+ ;SAVE REGISTERS ', - 000000' 000000' 004767 CALL SAVREG OOOOOOG JSR PC,SAVREG MOV TABL(R5),RO MOV DT. PC(RO) ,R1 MOV (R1 )+,R2 MiJV (R1 )+,R3 ;+ ;SET RO TO START OF DTABLE ;- 000004' 000004' 016500 LET RO := TABL(R5) 000000 ;+ ;GET PC+2 OF THE MSG TRAP CALL FROM THE DATA TABLE ;- 000010' 000010' 016001 LET R1 .- DT.PC(RO) 000002 ;+ ;GET THE OPTION MODULE HEADER ADDRESS AND MESSAGE ADDRESS. ;- LET R2 .- (R1)+ 000014' 000014' 012102 000016' 000016 1 012103 LET R3 .- (R1)+ 61'~ 613 614 615 616 PAGE 19-2 ;+ ;ENQUEUE THE MESSAGE, USING THE STANDARD MESSAGE CODE 000020 1 000020 1 000022' 000024 1 000026 1 000030' 000034 I 000036 1 000042' CALL ENQTQ IN 010546 010145 010245 010345 012745 010045 004767 012605 000000 OOOOOOG ;+ ;RESTORE REGISTERS MOV R5,-(SP) MOV MOV MOV MOV MOV JSR I't.OV R1 ,- (R5) R2,-(R5) R3,-(R5) #MSCSTD,-(RS) RO,-(R5} PC,ENQTQ (SP)+,R5 PRMSG - PROCESS MSG MACY11 30A(1052) 20-SEP-78 18:27 PRMSG.MAC 28-JUL-78 09:25 PRMSG ROUTINE 621 622 623 (3) 624 625 626 627 628 629 630 (3) (3) (2) 631 PAGE 19-3 SEQ 0860 'f 000044 1 000044 1 004767 CALL RESREG OOOOOOG JSR PC,RESREG RTS PC ;+ ;RETURN 'f - 000050 1 000050 • 000050' 000050' 000207 000001 ENDRTN 50000$: 50001$: . END 20-SEP-78 18:27 MACY11 30A(1052) PRMSG - PROCESS MSG SYMBOL TABLE 28-JUL-78 09:25 PRMSG.MAC ACSR ACTBIT= ADDR22= ADR APTFER= APTPRE= ASB ASSEMB= ASTAT = AUTO = AUTOST= AWAS BITO = BITOO = BIT01 BIT02 BIT03 B1T04 BIT05 BIT06 BlT07 BITOS = BIT09 BIT1 BIT10 BIT11 BIT12 BIT13 BIT14 BIT15 BIT2 BIT3 BIT4 BIT5 BIT6 BIT7 BIT8 BIT9 BKDEF BKMOD BKMODE= BKSLSH= CAPRES= CASTAT= CDERCT= CDWDCT= CKTIM = CLKPRE= CONFIG= CQOVF CR CSRA CSRC 000102 004000 001000 000006 000004 000200 000106 000010 000104 000010 020000 000110 000001 000001 000002 000004 000010 000020 000040 000100 000200 000400 001000 000002 002000 004000 010000 020000 040000 100000 000004 000010 000020 000040 000100 000200 000400 001000 000002 000020 040000 000134 000004 000004 000146 000144 100000 000001 000056 000001 000015 000100 000102 CTRLC = CTRLO = CTRLU = DCEVNT= DEFRTN= DIAGMC= DROPMO= DSEVNT= DT.ADD= DT.AP = DT.APK= DT.BLS= DT.CFO= DT.CF1= DT.ERR= DT.ESI= DT.EVN= DT.EXS= DT.FCH;;.: DT.FCN= DT.HMX= DT.KBE= DT.KBP= DT.KBR= DT.KBU= DT.MLS= DT.MTI= DT.OFF= DT.PAS= DT.PC = DT.PFL= DT.PSW= DT.PTA= DT.RCS= DT.REL= DT.SCT= DT.SMX= DT.SP = DT.SS1= DT.STO= DT.ST1= DT.SWR= DT.SYP= DT.WBU= DT.WHL= DT.WLL= DVID1 = ECCMEM= ECCSTA= ENBEOP= ENBNUL= ENDLST= ENQTQ = 000003 000017 000025 000011 000400 000000 100000 000014 000042 000100 000076 000034 000014 000016 000020 000044 000000 000060 000037 000036 000104 000024 000026 000022 000030 000032 000110 000070 000074 000002 000062 000004 000064 000102 000040 000066 000106 000006 000046 000010 000012 000056 000072 000050 000054 000052 000014 000100 000010 010000 000001 000000 ****** G EOPBIT= ERRTYP= EVNTBE= EVNTHD= EVNTKT= EVNTPE= EVNTRE= F~TERR= HRDCNT= HRDPAS= ICONT = ICOUNT= IDNUM = IE INDPAR= INHDRP= INHEPR= INHREL= INHRRE= INIT INTR 10MOD 10MODP= IOMODR= IOrJtODX= ,JACK KIPARO= KIPAR1= KIPAR2= KIPAR3= KIPAR4= KIPAR5= KIPAR6= KIPAR7= KIPDRO= KIPDR1= KIPDR2= KIPDR3= KIPDR4= KIPDR5= KIPDR6= KIPDR7= KTERRO= KTPRES= KTSTAT= KTXTND= LF LPSTAT= MAPSTA= MED MEMPAS= MODEXH= MODHOL= PAGE 20 000001 000106 000200 000200 000203 000202 000201 100000 000044 000050 000036 000040 000122 000100 000040 040000 020000 001000 000400 000030 000120 100000 102000 112000 110000 035060 172340 172342 172344 172346 172350 172352 172354 172356 172300 172302 172304 172306 172310 172312 172314 172316 000040 000400 000020 040000 000012 000001 000200 076600 OtlOOOO 004000 002000 SEQ 0861 MODSEL= MSGCKD= MSGCKS= MSGDER= MSGDRP= MSGECH= MSGEOP= MSGHDR= MSGHNG= MSGHRD= MSGMAP= MSGNUL= MSGPOP= MSGPRM= MSGRES::: MSGSFT= MSGSKE= MSGSMB= MSGSMH::: MSGSMS= MSGSTD= MSGSYS= MSGVEC= NBKMOD= NCPUOP= NOAPTY= NULL OWEN PAERR PARPRE= PARSTA= PASCNT=: PDPLSI= POP60 -PDP70 PRIO PRI1 PRI4 PR15 PRI6 PRI7 PRMSG PRO PR4 PR5 PR6 PR7 PS PSW RANNUM:: RBUFEA:: RBUFPA:: RBUFSZ:: 001000 000010 000011 000005 000017 177777 000013 000004 000022 000007 000021 17'1775 000002 1/7776 000001 000006 000003 000015 000014 000016 000000 000012 000020 001000 000020 000002 oooeoo 024020 000010 002000 000100 000034 020000 001000 010000 000000 000040 000200 000240 000300 000340 OOOOOORG 000000 000200 000240 000300 000340 177776 177776 000054 000130 000126 000132 RBUFVA= RDSERV= RDWHMI= RELERR= RELMOD= REL TIM= RESREG= RES1 RES2 RICHAR= RPTDAT= RSTRT = RUSOUT= RUNMOD= R5VIILU= SAM SAVREG= SBADR :: SBKMOD= SBKSEL= SC.ADR= SC.ALC= 5C.APC= SC.CKL= SC.CKP= SC.CLO= SC.HLD= 'SC. SCA= SENDLS= SOFCNT= SOFPAS= SPACE ::: SPOINT= SPVALU= SRO SR1 SR2 SR3 = STAT STATSl= STAT1 = SUSPND= SVRO SVR1 SVR2 SVR3 SVR4 SVR5 SVR6 SYSCNT::; SYSERR= TABL TMPIO = 000124 000101 000022 000020 020000 010000 ****** G 0000513 000060 03-1060 002000 000112 000 :177 100000 001740 075464 ****** 000"102 000000 010000 000006 000014 000016 000002 000004 000000 000010 000012 177777 000042 008046 000040 000032 002200 177 572 177574 177576 172516 000026 064757 000027 000001 000062 000064 000066 000070 000072 000074 000076 000052 000100 000000 000002 1 G PRMSG - PROCESS MSG MACY11 30A(1052) 20-SEP-78 18:27 PRMSG.MAC 28-JUL-78 09:25 SYMBOL TABLE TQOVF = UIPARO= UIPAR1= UIPAR2= UIPAR3= UIPAR4= UIPAR5= UIPAR6= UIPAR7= UIPDRO= UIPDR1= UIPDR2= UIPDR3= UIPDR4= UIPDR5= UIPDR6= UIPDR7= 000002 177640 177642 177644 177646 177650 177652 177654 177656 177600 177602 177604 177606 177610 177612 177614 177616 ABS. 000000 000052 WASADR= WBSTAT= WBUFEA= WBUFPA= WBUFRQ:: WBUFSZ= WDFR WDTO WTINRE= WTWHMI= XFLAG = XOFF XON $BGNLE= $ERFLG= $F$AND= $F$BAD= 000104 000040 000136 000134 000140 000142 000116 000114 000352 000222 000005 000023 000021 177777 000400 000310 000401 000 001 ERRORS DETECTED: 0 DEFAULT GLOBALS GENERATED: 0 D5XZ:PRMSG,DSKZ:PRMSG=SPMAC/ML,EQUATE,PRMSG RUN-T IME: 11 1 .3 SECONDS RUN-TIME RATIO: 26/13=2.0 CORE USED: 14K (27 PAGES) $F$8LA= $F$CAS= $F$DEC== $F$DO == $F$FAL= $F$GOO= $F$IF = $F$INC= $F$LOO= $F$NAM= $F$NO = $F$OR = $F$RTI= $F$RTN= $F$SEL= $F$THE= $F$TRU= PAGE 20-1 000170 000150 000220 000340 000405 000400 000110 000210 000200 000160 000403 000320 000350 000300 000140 000330 000404 SEQ OB62 $F$UNT= $F$WHI=: $F$YES=: $IFLEV:: $ LOCT A=: $LSTIN:: $LSTTA:: $NESTL:: $NSKO :: $SAVLE:: $TAGLE:: $ TAGNU:: $TEMP :: $$ARGC:: $SBYTE:: $$CASE:: $$DST :: 000130 000120 000402 177777 177777 000001 000001 17'1777 000300 177777 177777 050002 000300 000002 000000 000000 000000 $$ELOC= $$ERFL= $$FLAG= $$FROM= $$LOC $$LOCN= $$REG = $$RETU= $$RTN1= $$RiN2= $$SRC = $$TGSV= $$TGS1= $$TGS2= $$TO $$$TAG= = 000000 000000 000000 000000 000000 000000 177777 000000 050000 050001 000000 000000 000000 000000 000000 050000 000052R .MAIN. MACY11 30A(1052) 20-SEP-78 EQUATE.MAC 13-SEP-78 16:13 3 554 558 580 18:28 TABLE OF CONTENTS COMMON EQUATE MODULE COMMON DEFINITIONS AND REFERENCES 000000' .PRINT PRMSGN ROUTINE ;SPMAC: VERSION 1.1 SEQ 0863 PRMSGN - PROCESS MSGN MACY11 30A(1052) 20-SEP-78 18:28 PAGE 19 PRMSGN.MAC 28-JuL-78 09:25 COMMON EQUATE MODULE 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 .TITLE PRMSGN - PROCESS MSGN .IDENT /VO.O/ ;++ MODULE NAME: PRMSGN FUNCTIONAL DESCRIPTION: PROCESSES MSGN CALLS FROM OPTION MODULES BY LOADING THE TYPE-QUEUE WITH, FIRST, AN ENTRY fOR THE HEADER MESSAGE AND, THEN, AN ENTRY FOR EACH ADDRESS IN THE MESSAGE ADDRESS TABLE INPUTS: DATA TABLE ADDRESS IMPLICIT INPUTS: DT.PC OUTPUTS: NONE IMPLICIT OUTPUTS: NONE PATHOLOGICAL CONNECTIONS: NONE SUBORDINATE MODULES CALLED: PRMSGS - PROCESS MSGS ROUTINE ENQTQ - TYPE-QUEUE ENQUEUER FUNCTIONAL SIDE EFFECTS: NONE. CALLING SE.QUENCE: CALL PRMSGN IN A=ADDRESS OF DATA TABLE VERSION: 0.0 548 549 550 551 552 SEQ 0864 EDIT ;-- BY DATE REASON PRMSGN - PROCESS MSGN MACY11 30A(1052) 20-SEP-78 18:28 PAGE 19-1 PRMSGN.MAC 28-JUL-78 09:25 COMMON DEFINITIONS AND REFERENCES SEQ 0865 .SBTTL COMMON DEFINITIONS AND REFERENCES 554 555 556 557 558 (1) 559 560 561 562 563 564 565 566 567 568 569 570 571 572 000000 ' 000000 ' 000001 000001 .MCALL STRUC,. STRUCT .PRINT ;SPMAC: VERSION 1.1 $LSTIN=1 $LSTTAG=1 ; ;**************** ; ; REFERENCED BY OTHER MODULES , .GLOBL , 574 .GLOBL .GLOBL 576 577 578 ;MODULE ENTRY POINT ; GLOBAL REFERENCES 573 575 PRMSGN , ;**************** ENQTQ PRMSGS , ;**************** ;TYPE-QUEUE ENQUEUER ;PROCESS MSGS ROUTINE PRMSGN - PROCESS MSGN MACY11 30A(1052) 20-SEP-78 18:28 PRMSGN.MAC 28-JUL-78 09:25 PRMSGN ROUTINE 580 581 582 000000 1 (2) 000000 1 583 584 585 586 587 588 000000 1 (2) 000000 1 010046 (3) 000002 1 010146 589 590 591 592 593 594 595 000004 1 (4) 000004 1 016500 596 597 598 599 600 601 602 603 604 605 000010' (4) 000010' 016001 (6) 000014' 162701 606 . 000020' (3) 000020' 010546 (8) 000022' 012745 (7) 000026'016145 (6) 000032' 010145 (5) 000034' 012745 (4) 000040' 010045 (3) 000042' 004767 (3) 000046' 012605 607 608 609 610 611 612 613 614 000050' (3) 000050' 010546 (4) 000052' 010045 (3) 000054 1 004767 (3) 000060' 012605 615 616 617 PAGE 19-2 SEQ 0866 .SBTTL PRMSGN ROUTINE ROUTINE PRMSGN PIRMSGN: ;+ ;SAVE REGISTERS ;- PUSH RO,R1 MOV MOV RO,.... (SP) R1,'-(SP) MOV TABL(R5),RO ;+ ;SET RO TO START OF DATA TABLE LET RO != TABL(RS) 000000 ;+ ;ENQUEUE THE SKELETAL HEADER MESSAGE, SETTING THE MESSAGE ADDRESS ;PARAMETER TO THE TRAP ADDRESS IN THE OPTION MODULE AND ;THE RETURN ADDRESS PARAMETER TO #0, ;(THE TRAP ADDRESS IS NEEDED FOR THE HEADER MESSAGE.) ,' - LET R1 := DT.PC(RO) - #2 000002 000002 CALL ENOTO IN 000000 000002 000004 OOOOOOG MOV SUB DT,PC(RO),R'1 #2,R1 MOV MOV MGV MOV MOV MOV JSR MOV R5,-(SP) hO,-(R5) 2(R1) ,-(R5) R1,-(H5} #MSGHDR,-(R5) RO,-(R5) PC,ENQTQ (SP)+,R5 lViOV MOV JSR MOV R5,-(SP) ;+ ;ENQUEUE THE MESSAGES LISTED IN THE MESSAGE ADDRESS TABLE ; BY CALLING II PROCESS MSGS". ,' - CALL PRMSGS IN OOOOOOG ;+ RO,-(~t5) PC,PRMSGS (SP)+,R5 MACY11 30A(1052) .20-SEP-78 18:28 PRMSGN - PROCESS MSGN PRMSGN ROUTINE PRMSGN.MAC 28-JUL-78 09:25 618 619 620 621 (2) (3 ) 622 623 524 625 626 627 628 (3) (3) (2 ) 629 630 PAGE 18-3 SEQ 0867 ;RESTORE REGISTERS , 000062 1 000062 1 012601 0000641 012600 POP R1,RO MOV MOV (SP)+,R1 (SP)+.RO RTS PC ;+ ;RETURN , 000066 1 000066 1 000066 1 000066 1 000207 000001 ENDRTN 50000$: 50001~: .END 20-SEP-78 18:28 MACY11 30A(t052) PRMSGN - PROCESS MSGN SYM80L TABLE 28-JUL-78 09:25 PRMSGN.MAC ACSR ACTBIT= ADDR22= ADR APTFER= APTPRE= ASB ASSEMB= ASTAT = AUTO AUTOST= AWAS BITO BITOO == BIT01 81T02 BIT03 BIT04 BIT05 BIT06 BIT07 8IT08 BIT09 BIT1 BIT10 BIT11 BIT12 BIT13 BIT14 BIT15 B1T2 BIT3 BIT4 BITS BIT6 BIT7 8IT8 BI T9 . BKDEF BKMOD BKMODE== BKSLSH= CAPRES= CASTAT= CDERCT= CDWDCT== CKTIM == CLKPRE= CONFIG= CQOVF CR CSRA CSRC 000102 004000 001000 000006 000004 000200 000106 000010 000104 000010 020000 000110 000001 000001 000002 000004 000010 000020 000040 000100 000200 000400 001000 000002 002000 004000 010000 020000 040000 100000 000004 000010 000020 000040 000100 000200 000400 001000 000002 000020 040000 000134 000004 000004 000146 000144 100000 000001 000056 000001 000015 000100 000102 CTRLC = 000003 CTRLO = 000017 CTRLU = 000025 DCEVNT= 000011 DEFRTN= 000400 DIAGMC= 000000 DROPMO= . 100000 DSEVNT= 000014 DT.ADD= 000042 DT.AP = 000100 DT.APK= 00.0076 DT.BLS= 000034 DT.CFQ= 000014 DT.CF1= 000016 DT.ERR= 000020 DT.ESI= 000044 DT.EVN= 000000 DT.EXS= 000060 DT.FCH= 000037 DT.FCN= 000036 DT.HMX= 000104 DT.KBE= 000024 . DT.KBP= 000026 DT.KBR= 000022 DT.KBU= 000030 DT.MLS= 000032 DT.MTl= 000110 DT.OFF= 000070 DT.PAS= 000074 DT.PC = 000002 DT.PFL= 000062 DT.PSW= 000004 D1. PT A= 000064 DT.RCS= 000102 D1.REL= 000040 DT.SCT= 000066 DT.SMX= 000106 DT.SP = 000006 DT.SSI= 000046 OT.STO= 000010 DT.ST1= 000012 DT.SWR= 00.0056 DT.SYP= 000072 DT.WBU= 000050 DT.WHL= 000054 DT.WLL= 000052 DVID1 == 000014 ECCMEM= 000100 ECCSTA:: 000010 ENBEOP= 010000 ENBNUL= 000001 ENDLST== 000000 ENQTQ = ****** G EOPBIT:: ERRTYP= EVNTBE= EVNTHD::. EVNTKT= EVNTPE= EVNTRE= FATERR= HRDCNT= HRDPAS= ICONT = ICOUNT= IDNUM = IE aWPAR= ItmDRP= INHEPR== INHREL= 1NHRRE= INIT INTR = lOMOD IOMODP= IOMODR= IOMODX= JACK KIPARO= KIPAR1= KIPAR2= KIPAR3= KIPAR4= KIPAR5= KIPAR6= KIPAR7= KIPDRO= KIPDR1= KIPDR2= KIPDR3== KIPDR4= KIPDR5= KIPDR6= KIPDR7= KTERRO:: KTPRES= KTSTAT= KTXTND== LF LPSTAT= MAPSTA= MED MEMPAS= MODEXH== MODHOL= PAGE 20 000:001 000106 000200 000200 000203 000202 000201 100000 000044 000050 000036 OOOOAO 000122 000100 000040 040000 020000 001000 000400 000030 000120 100000 102000 112000 110000 035060 172340 172342 172344 1.72346 172350 172352 172354 172356 172300 172302 172304 172306 172310 172312 172314 172316 000040 000400 000020 040000 000012 000001 000200 076600 040000 004000 002000 SEQ 0868 MODSEL= 00100.0 MSGCKD=: 000010 MSGCKS=: 000011 MSGDER:::: 000005 MSGDRP=: 000017 MSGECH:: 177777 MSGEOp:: . 000013 MSGHDR=: 000004 MSGHNG:: 000022 IVlSGHRD=: 000007 MSGMAP=: 000021 IVISGNU L=: 177775 MSGPOP= 000002 MSGPRM:; 177776 MSGRES:: 000001 MSGSFT:: 000006 MSGSKE=: 000003 MSGSMB:: 000015 MSGSMH:: 000014 MSGSMS:: 000016 MSGSTD:: 000000 MSGSYS:: 000012 MSGVEC:= 000020 NBKMOD:= 001000 NCPUOP= 000020 NOAPTY== 000002 000000 NULL 024020 OWEN 00U010 PAERR PARPRE:: 002000 PARSTA:: 00:>100 PASCNT:: 000034 PDPLSI:: 020000 004()00 PDP60 010000 PDP70 000000 PRIO PR 11 000040 OOOLOO PRI4 000240 PRI5 000300 PRI6 000340 PRI7 PRMSGN OOOOOORG PRMSGS::: '1'***** G 000000 PRO 000200 PR4 000240 PR5 000300 PR6 000340 PR7 177776 PS 177776 PSW RANNUM= 000054 RBUFEA= 000130 RBUFPA= 000126 RBUFSZ= R8UFVA= RDSERV= RDwHlVlI= RELERR= RELMOD= RELTIM= RES, RES2 RICHAR= RPTDAT= RSTRT = RUBOUT= RUNMOD= R5VALU= SAM SBADR == SBKMOD= SBKSEL= SC.ADR= SC.ALC= SC.APC= SC.CKL= SC.CKP= SC.CLO= SC.HLD= SC.SCA= SENDLS= SOFCNT= SOFPAS= SPACE == SPOINT:: SPVALU= SRO SR1 SR2 SR3 STAT STATBl= STAT1 = SUSPND= SVRO SVR1 SVR2 SVR3 SVR4 SVR5 SVR6 SYSCNT= SYSERR= TABL TMPIO TQOVF = 000132 000124 000101 000022 000020 02000(') 010000 000056 000060 031060 002000 000112 000177 100000 001740 075464 000102 000000 010000 000006 000014 000016 000002 000004 000000 000010 000012 177777 000042 000046 000040 000032 002200 177572 177574 177576172516 00OO2E~ 064757 000027 000001 000062 000064 000066 000070 000072 000074 000076 000052 0001100 000000 000002 OOOOO~t MACY 11 30A(1052) 20-SEP-78 18:28 PRMSGN - PROCESS MSGN SYMBOL TABLE 28-JUL-78 09:25 PRMSGN.MAC UIPARO= UIPAR1 = UIPAR2= UIPAR3= UIPAR4= UIPAR5= UIP,~R6= UIPAR7= UIPDRO= UIPDR1= UIPDR2= UIPDR3= UIPDR4= UIPDR5= UIPDR6= UIPDR7= WASADR= ASS. WBSTAT= WBUFEA= WBUFPA= WBUFRQ= VJBUFSZ= WDFR WDTO WTINRE= WTlrJHM 1= XFLAG = XOFF XON $BGNLE= $ERFLG= $F$AND= $F$BAD= $F$BLA= 177640 177642 177644 177646 177650 177652 177654 177656 177600 177602 177604 177606 177610 177612 177614 177616 000104 000000 000070 000040 000136 000134 000140 000142 000116 000114 000352 000222 000005 000023 000021 177777 000400 000310 000401 000170 000 001 0 ERRORS DETECTED: DEFAULT GLOBALS GENERATED: 0 DSKZ:PRMSGN,DSKZ:PRMSGN=SPMAC/ML,EQUATE,PRMSGN RUN-T IME: 11 1 .3 SECONDS RUN-TIME RATIO: 26/13=2.0 CORE USED: 14K (27 PAGES) $F$CAS= $F$DEC= $F$DO = $F$FAL= $F$GOO= $F$IF = $F$INC= $F$LOO= $F$NAM= $F$NO = $F$OR = $F$RTI= $F$RTN= $F$SEL= $F$THE= $F$TRU= $F$UNT= PAGE 20-1 000150 000220 000340 001)405 000400 000110 000210 000200 000160 000403 000320 000350 000300 000140 000330 000404 000130 SEQ 0869 $F$WHI= $F$YES= $IFLEV= $LOCTA= $LSTIN= $LSTTA= $NESTL= $NSKO ::, $SAVLE= $TAGLE= $TAGNU= $TEMP =: $$ARGC= $$BYTE:::: $$CASE=: $$DST $$ELOC= 000120 000402 17'1777 177777 000001 000001 177777 000300 177777 177777 050002 000300 000002 000000 000000 000000 000000 $$ERFL= $$FLAG= $$FROM= $$LOC = $$LOCN= $$REG = $$RETU= $$RTN1= $$RTN2= $$SRC = $$TGSV'; $$TGS1= $$TGS2= $$TO $$$TAG= 000000 000000 000000 000000 000000 177777 000000 050000 050001 000000 000000 000000 000000 000001 050000 000070R .MAIN. MACY11 30A(1052) 20-SEP-78 EQUATE.MAC 13-SEP-78 16:13 3 554 558 581 18:28 TABLE OF CONTENTS COMMON EQUATE MODULE COMMON DEFINITIONS AND REFERENCES 000000' .PRINT PRMSGS ROUTINE jSPMAC: VERSION 1.1 SEQ 0870 PRMSGS - PROCESS MSGS MACY11 30A(1052) 20-SEP-78 18:28 PAGE 19 PRMSGS.MAC 28-JUL-78 09:26 COMMON EQUATE MODULE 508 509 510 .TITLE PRMSGS - PROCESS MSGS .IDENT JVO.Oj 511 512 ;++ 513 514 515 516 517 518 519 520 521 522 523 524 525 526 5~7 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 MODULE NAME: PRMSGS FUNCTIONAL DESCRIPTION: PROCESSES MSGS CALLS FROM OPTION MODULES BY LOADING THE TYPE-QUEUE WITH AN ENTRY FOR EACH ADDRESS IN THE MESSAGE ADDRESS TABLE INPUTS: ADDRESS OF DATA TABLE IMPLICIT INPUTS: DT.PC OUTPUTS: NONE IMPLICIT OUTPUTS: NONE PATHOLOGICAL CONNECTIONS: NONE SUBORDINATE MODULES CALLED: ENOTO - TYPE-QUtUE ENQUEUER SAVREG - SAVE REGISTERS RESREG - RESTORE REGISTERS FUNCTIONAL SIDE EFFECTS: NONE CALLING SEQUENCE: CALL PRMSGS IN A=ADDRESS OF DATA TABLE VERSION: 0.0 EDIT 551 552 SEQ 0871 ;-- BY DATE REASON PRMSGS - PROCESS MSGS MACY11 30A(1052) 20-SEP-78 18:28 PAGE 19-1 PRMSGS.MAC 28-JUL-78 09:26 COMMON DEFINITIONS AND REFERENCES 554 555 556 557 558 (1) 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 SEQ 0872 .SBTTL COMMON DEFINITIONS AND REFERENCES 000000' 000000' 000001 000001 .MCALL STRUCT STRUCT .PRINT ;SPMAC: VERSION 1.1 $LSTIN=1 $LSTTAG=1 ;**************** , ; REFERENCED BY OTHER MODULES , .GLOBL PRMSGS ;MODULE ENTRY POINT ;**************** , . ; GLOBAL REFERENCES . GLOBL .GLOBL .GLOBL ENOTO SAVR.EG RESREG **************** ;TYPE-QUEUE ENQUUEUER ;SAVE REGISTERS ;RESTORE REGISTERS PRMSGS - PROCESS MSGS MACY1; 30A(1052) 20-SEP-78 18:28 PRMSGS.MAC 28-JUL-78 09:26 PRMSGS ROUTINE 581 582 583 (2) 584 585 586 587 588 589 (3) 590 591 592 593 594 595 596 (4) 597 598 599 600 601 602 603 (4) 604 605 606 607 608 609 610 611 612 (4) 613 (4) 614 615 616 617 618 619 620 621 622 623 (4) (6) (9) 624 (6) (9) 625 PAGE 19-2 SEQ 0873 .SBTTl PRMSGS ROUTINE ROUTINE PRMSGS 000000' 000000' PRMSGS: ;+ ;SAVE REGISTERS 000000' 000000' 004767 CALL SAVREG OOOOOOG JSR PC,SAVREG MOV TABl(R5),RO MOV DT. PC(RO) ,Ri ;+ ;SET RO TO START OF DATA TABLE ;- 000004' 000004' 016500 LET RO := TABL(R5) 000000 ;+ ;GET PC+2 OF THE MSGS TRAP CALL 000010' 000010' 016001 LET R1 .- DT.PC(RO) 000002 ;+ ;GET THE OPTIONS MODULE'S HEADER ADDRESS, THE MESSAGE ADDRESS TABLE, ;AND THE RETURN ADDRESS. (THE MESSAGE ADDRESS TABLE ADDRESS ;15 PLACED IN R2). LET R3 .- (R1)+ 000014' 000014' 012103 000016' 000016' 012102 LET R2 .- (R1)+ MOV (R 1 ) + , R3 MOV (R1)+,R2 ;+ ;BUILD AND ENQUEUE A TYPE-QUEUE ENTRY FOR EACH ADDRESS IN THE MESSAGE ;ADDRESS TABLE. THE RETURN ADDRESS FOR EACH ENTRY EXCEPT THE LAST ;ONE WILL BE O. THE LAST ENTRY WILL CONTAIN THE ACTUAL RETURN ADDRESS ;FOR THE OPTION MODULES. 000020' 000020' 000020 1 000024' 000026' 000026' 000034' 000036 1 WHILE (R2) NE #-1 DO 50002$: 021227 001422 177777 026227 001002 000002 CMP 8EQ (R2),#-1 50003$ CMP BNE 2(R2),#-1 50004$ IF 2(R2) EO #-1 THEN 177777 LET R4 := R1 MACY11 30A(1052) 20-SEP-78 18:28 PRMSGS - PROCESS MSGS PRMSGS ROUTINE 28-JUL-78 09:26 PRMSGS.MAC (4) 626 (4) (3) 627 (4) 628 (4) 329 (3) (8) (7 ) (6) (5) (4) (3) (3) 630 (4) (3) 631 632 633 634 635 636 637 638 (3) 639 640 641 642 643 644 645 (3) (3) 000036' 000040' 000040' 000042' 000042' 000042' 000044' 000044' 000044' 000044' 000046' 000050' 000052' 000054' 000060' 000062' 000066' 000070' 000070' 000072' PAGE 19-3 SEQ 0874 010104 ELSE 000401 LET R4 , - MOV R1 , R4 SR 50005$ CLR R4 MOV MOV MOV MOV MOV JSR MOV R5,-(SP) R4,-(R5) R3,-(R5) (R2)+,-(R5) #MSGSTD,-(R5) RO,-(R5) PC,ENQTQ (SP)+,R5 BR 50002$ JSR PC,RESREG RTS PC 50004$: #0 005004 ENDIF 50005$: CALL ENQTQ IN 010546 010445 010345 012245 012745 010045 004767 012605 MOV 000000 OOOOOOG ENDDO 000753 50003$: ;+ ;RESTORE REGISTERS , 000072' 000072' 004767 CALL RESREG OOOOOOG ;+ iRETURN , '- (2 ) 000076' 000076' 000076' 000076' 000207 646 647 000001 ENDRTN .END 5,0000$ : 5,0001$: 20-SEP-78 18:28 MACY11 30A(1052) PRMSGS - PROCESS MSGS SYMBOL TABLE 28-JUL-78 09:26 PRMSGS.MAC ACSR ACTSIT= ADDR22= ADR APTFER= APTPRE= ASB ASSEMS= ASTAT = AUTO AUTOST= AloJAS BITO BITOO BIT01 BIT02 BIT03 BIT04 BIT05 BIT06 BIT07 BITOS GIT09 BIT1 BIT10 = B1 T 11 B1T12 B1T13 'B 1 T 14 BIT15 B1T2 BIT3 BI14 BIT5 BIT6 BIT7 BITB BIT9 BKC'EF BKMOD BKMODE= BKSlSH= CAPRES= CASTAT= CDERCT= CDWDCT= CKTIM = CLKPRE= CONFIG= CQOVF CR CSRA CSRC 000102 004000 001000 000006 000004 000200 000106 000010 000104 000010 020000 000110 000001 000001 000002 000004 000010 000020 000040 000100 000200 000400 001000 000002 002000 004000 010000 020000 040000 100000 000004 000010 000020 000040 000100 000200 000400 001000 000002 000020 040000 000134 000004 000004 000146 000144 100000 000001 000056 000001 000015 000100 000102 CTRLC = CTRlO = CTRLU = DCEVNT= DEFRTN= D1AGMC= DROPMO= DSEVNT= DT.ADD= DT.AP = DT.APK= DT.BLS= DT.CFO= DT.CF1= DT.ERR= DT.ESI= DT. EVN=, DT.EXS= DT.FCH= DT.FCN= DT.HMX= DT.KBE= DT.KBP= DT.KBR= DT.KBU= DT.MLS= DT.MTI= DT.OFF= DT.PAS= DT.PC = DT.PFL= DT. PS\-IJ= Dr. PT A= DT.RCS= DT.REL= DT.SCT= DT.SMX= Di.SP = DT.SSI= DT. STO= DT.ST1= DT . SvJR= DT.SYP= DT.WBU= DT.WHL= DT.WLL= DVIDl = ECCMEM= ECCSTA::: ENBEOP= ENBNUL= ENDLST= ENQTQ = 000003 0000~7 000025 000011 000400 000000 100000 000014 000042 000100 000076 000034 000014 000016 000020 000044 000000 000060 000037 000036 000104 000024 000026 000022 (\00030 000032 000110 000070 000074 000002 000062 000004 000064 000102 000040 000066 000106 000006 000046 000010 000012 000056 000072 000050 000054 000052 000014 000100 000010 010000 000001 000000 ****** G EOPBIT= ERRTYP= EVNTBE= EVNTHD= EVNTKT= EVNTPE= EVNTRE= FATERR= HRDCNT= HRDPAS= 1CONT = ICOUNT= IDNUM = IE INDPAR= 1NHDRP= INHEPR= INI--:RCL= INHRRE= INIT INTR IOMOD IOMODP= IOMODR= IOMODX= JACK KIPARO= KIPAR1= KIPAR2= KIPAR3= KIPAR4= KIPAR5= KIPAR6= K1PAR7= KIPDRO= KIPDR1= KIPDR2= KIPDR3= KIPDR4= KIPDR5= KIPDR6= KIPDR7= KTERRO= KTPRES= KTSTAT= KTXTND= LF LPSTAT= MAPSTA= MED MEMPAS= MODEXH= MODHOL= PAGE 20 00000'1 000106 000200 000200 000203 000202 000201 100000 000044 000050 000036 000040 000~22 000100 000040 040000 020000 001COO 000400 000030 000120 100000 102000 112000 110000 035060 172340 1723L!2 172344 172346 172350 172352 172354 172356 172300 172302 172304 172306 172310 172312 172314 172316 000040 000400 000020 040000 000012 000001 000200 0766(10 040000 004000 002000 SEQ 0875 MODSEL=: MSGCKD=: MSGCKS=: MSGDER=: MSGDRP=: MSGECH=: MSGEOP=: MSGHDR=: MSGHNG=: MSGHRD=: MSGMAP=: MSGNUL=: MSGPOP=' MSGPRM=: MSGRES=: MSGSFT=: MSGSKE== M5GSMB=: MSGSMH= MSGSMS:: MSGSTD:: MSG5YS= MSGVEC:: NBKMOD:: NCPUOp:: NOAPTY:= NULL OVv'EN PAERR PARPRE:: PARSTA:: PASCNT:o PDPLSI:: PDP60 PDP70 PRIO PR 11 PRI4 PRI5 PRI6 PRI7 PRMSGS PRO PR4 PR5 PR6 PR7 PS P5W RANNUM:= RBUFEA:= RBUFPA= RBUFSZ= 001000 000010 000011 000005 000017 177777 000013 000004 000022 000007 000021 177775 000002 177776 000001 000006 000003 000015 000014 000016 000000 000012 000020 001000 000020 000002 000;')00 024020 000010 002000 00J100 000034 020000 004000 010000 000000 000040 000200 000240 000300 000340 OOOOOORG 000000 000200 000240 000300 000340 177776 177776 00Cl054 000130 000126 000132 RBUFVA= RDSERV= RDWHMI= RELERR= RELMOD= REL TIM= RESREG= RES1 RES2 RICHAR= RPTDAT= RSTRT = RUBOUT= RUNMOD= R5VALU= SAM SAVREG= SBADR = SBKMOD= SBKSEL= SC.ADR= SC.ALC= SC.APC= SC.CKL= SC.CKP= SC.CLO= SC.HLD= SC.SCA= SENDLS= SOFCNT= SOFPAS= SPACE = SPOINT= S?VAlU= SRO SR1 SR2 SR3 STAT STATBI= STAT1 = SUSPND= SVRO SVR1 SVR2 SVR3 SVri4 SVR5 SVR6 SYSCNT= SYSERR= TASL TMPIO = 000124 000101 000022 000020 020000 010000 ****** G *****'* 000102 G 000056 000060 031060 002000 000112 000177 100000 001740 075464 000000 010000 000006 0000'14 0000'16 000002 000004 000000 000010 000012 177777 000042 000046 000040' 000032 002200 177572 177574 177576 172516 000026 064757 00002'7 000001 000062 000064 000066 000070 000072 000074000076 000052: 000100 000000 000002 20-SEP-78 ;8:28 MACY11 30A(1052) PRMSGS - PROCESS MSGS SYMBOL TABLE 28-JUL-78 09:26 PRMSGS.MAC WBUFEA= WBUFPA= WBUFRQ= WBUFSZ= WOFR WOTO WTINRE= WTWHMI= XFLAG = XOFF XON $BGNLE= $ERFLG= $F$AND= $F$BAD= $F$BLA= $F$CAS= $F$DEC= $F$DO = TQOVF = UIPARO= UIPAR1= UIPAR2= UIPAR3= UIPAR4= UIPAR5= UIPAR6= UIPAR7= UIPDRO= UIPDR1= UIPDR2:: UIPDR3= UIPDR4= lJIPDR5= 000002 177640 177642 177644 177646 177650 177652 177654 177656 17-7600 177602 177604 177606 177610 177612 UI~DR6= 177614 UIPDR7= 177616 vJASAOR= 000104 WBSTAT= 000040 ASS. 000000 000100 000136 000134 000140 000142 000116 000114 000352 000222 000005 000023 000021 177777 000400 000310 000401 000170 000150 000220 000340 000 001 0 ERRORS DETECTED: DEFAULT GLOBALS GENERATED: 0 DSKZ:PRMSGS,DSKZ:PRMSGS=SPMAC/ML,EQUATE,PRMSGS RUN-TIME: 12 2 .3 SECONDS RUN-TIME RATIO: 29/14=2.0 CORE USED: 14K (27 PAGES) $F$FAL:: $F$GOO= $F$IF = $F$INC= $F$LOO= $F$NAM= $F$NO = $F$OR = $F$RTI= $F$RTN= $F$SEL:: $F$THE= $F$TRU= $F$UNT= $F$WHI= $F$YES= $IFLEV= $ISKO = $LOCTA= PAGE 20-1 000405 000400 000110 000210 000200 000160 000403 000320 000350 000300 000140 000330 000404 000130 000120 000402 177777 000001 17'7777 SEQ 0876 $LSTIN=: $LSTTA=: $NESTL= $NSKO .$NSK1 .$NSK2 .$SAVLE=: $SSKO -$TAGLE:: $TAGNU:: $TEMP $TSKO $TSK1 -$TSK2 $$ARGC:: $$BYTE:: $$CASE= $$D5T _. $$ELOC:: 0- 000001 000001 "177777 000300 000120 000110 177777 050003 177777 050006 000300 050002 050003 050005 000002 000403 000000 000000 000402 $$ERFL= $$FLAG= $$FROM= $$LOC = $$LOCN= $$REG = $$RETU= $$RTN1= $$RTN2= $$SRC = $$TGSV= $$TGS1= $$TGS2= $$TO $$$TAG= 000000 000001 000000 000034R 000000 177777 000000 050000 050001 000000 000000 000000 000000 000000 050000 000i00R .MAIN. MACY11 30A(1052) 20-SEP-78 EQUATE.MAC 13-SEP-78 16:13 3 556 559 577 18:29 TABLE OF CONTENTS COMMON EQUATE MODULE COMMON DEFINITIONS AND REFERENCES FOR PROTOA 000000' .PRINT ;SPMAC: VERSION 1.1 PROTOA ROUTINE SEQ 0877 PROTOA PROCESS THE 10TOA I MACRO IN OPTION MODULES MACY11 30A(1052} PROTOA.MAC 28-JUL-78 09:26 COMMON EQUATE MODULE 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 553 554 18:29 PAGE 19 .TITLE PROTOA PROCESS THE 10TOA I MACRO IN OPTION MODULES .IDENT JVO.Oj ;++ MODULE NAME: PROTOA FUNCTIONAL DESCRIPTION: THIS ROUTINE PROCESSES THE 10TOA I TRAP ISSUED BY OPTION MODULES. IT WILL RETRIEVE THE NUMBER TO BE CONVERTED TO OCTAL ASCII FROM DT.PC+2 AND THE TABLE ADDRESS AT WHICH TO STORE THE OCTAL ASCII FROM DT.PC +4. IT CALLS THE BINARY TO OCTAL ASCII CONVERSION ROUTINE. THE RETURN PC IS UPDATED SINCE THIS' IS DIRECT SERVICE. INPUTS: DTAEILE ADDRESS IMPLICIT INPUTS: DT.PC OUTPUTS: NONE: IMPLICIT OUTPUTS: NONE PATHOLOGICAL CONNECTIONS: NONE SUBORDINATE ROUTINES CALLED: BOA16 - BINARY TO OCTAL ASCII CONVERSION ROUTINE FUNCTIONAL SIDE EFFECTS: NONE CALLING SEQUENCE: CALL PROTOA IN WHERE DTADR = ADDRESS OF DATA TABLE VERSION: 0.0 550 551 552 20-SEP-78 EDIT ;-- DATE BY ~!EASON SEQ 0878 PROTOA PROCESS THE 10TOA I MACRO IN OPTION MODULES MACY11 30A(1052) 20-SEP-78 18:29 PROTOA.MAC 28-JUL-78 09:26 COMMON DEFINITIONS AND REFERENCES FOR PROTOA 556 557 558 559 (1) 560 561 562 .SBTTL PAGE 19-1 COMMON DEFINITIONS AND REFERENCES FOR PROTOA .MCALL STRUCT STRUCT .PRINT iSPMAC: VERSION 1.1 000000' 000000 • 000001 000001 $LSTIN=1 $LSTT AG= 1 563 564 565 ;**************** ; 566 567 568 ; REFERENCED BY OTHER MODULES: 569 570 ; 571 , .GLOBL PROTOA ;**************** 572 i GLOBAL REFERENCES: 573 I 574 .GLOBL 575 ;MODULE ENTRY POINT BOA16 ;BINARY TO OCTAL ASCII CONVERSION ROUTINE SEQ 0879 PROTOA PROCESS THE IOTOAI MACRO IN OPTION MODULES PROTOA.MAC 28-JUL-78 09:26 PROTOA ROUTINE 577 578 579 (2) 580 581 582 583 584 585 586 (2) (3) 587 (4) 588 589 590 591 592 593 (4) 594 (3) (5) (Il) (3) (3) 595 596 597 598 599 600 (6) 601 602 603 604 605 606 (2) (3) 607 608 (3) (3) (2) 609 610 .SBTTL MACY11 30A(1052) 20-SEP-78 18:29 PAGE 19-2 SEQ 0880 PROTOA ROUTINE ROUTINE PROTOA 000000 1 000000 1 PROTOA: ;+ ;INITIALIZE AND SAVE DATA TABLE ADDRESS 000000 1 000000 1 010046 000002 1 010146 000004 1 000004 1 016500 PUSH RO,R1 LET RO '- DTADR(R5) 000000 MOV MOV RO,-(SP) R1,-(SP) MOV DTADR(R5),RO MOV DT. PC(RO) ,R1 MOV MOV MOV JSR MOV R5,-{SP) 4(R1) ,-(R5) @2(R1) ,-(R5) PC,BOA16 (SP)+,R5 ADD #6,DT.PC(RO) MOV MOV (SP)+,R1 (SP)+,RO Ins PC i+ ; GET DT.PC AND CALL BOA16 ;- 000010 1 000010 1 000014' 000014 1 000016' 000022 1 000026 1 000032 1 LET R1 016001 := DT.PC(RO) 000002 CALL BOA16 IN <@2(R1),4{R1» 010546 016145 017145 004767 012605 000004 000002 OOOOOOG ;+ ; UPDATE RETURN PC ;- 000034' 000034 1 062760 LET DT. PC (RO) : = DT. PC (RO) + #6 000006 000002 ;+ ; CLEAN UP AND GOODBYE 000042 1 000042 1 012601 000044 I 012600 POP R1 , RO 000046 1 000046 1 000046 1 000046 1 000207 ENDRTN 000001 50000$: 50001$: . END PROTOA PROCESS THE 'OTOA' MACRO IN OPTION MODULES SYMBOL TAB LE 28-JUL-78 09:26 PROTOA.MAC ACSR ACT3IT= ADDR22= ADR APTFER= APTPRE= ASB ASSEMB= ASTAT = AUTO AUTOST= AWAS BITO BITOO BIT01 B1T02 BIT03 81T04 BIT05 BIT06 BIT07 BITOB BIT09 BIT1 8IT10 BIT11 B1T12 BIT13 BIT14 BIT15 BIT2 8IT3 BIT4 BITS = BIT6 BIT7 BI18 BIT9 BKDEF BKMOD BKMODE= BKSLSH= BOA16 = CAPRES= CASTAT= CDERCT= CDv;oCT= CKTIM = CLKPRE= CONFIG= CQOVF CR CSRA 000102 004000 001000 000006 000004 000200 000106 000010 000104 000010 020000 000110 000001 000001 000002 000004 000010 000020 000040 000100 000200 000400 001000 000002 002000 004000 010000 020000 040000 100000 000004 000010 000020 000040 000100 000200 000400 001000 000002 000020 040000 000134 ****** 000004 000004 000146 000144 100000 000001 000056 000001 000015 000100 G CSRC CTRLC CTRLO CTRLU DCEVNT= DEFRTN= DIAGMC= DROPMO= DSEVNT= DTADR = DT.ADD= DT.AP = DT.APK.: DT. BLS= DT.CFO= DT.CF1= DT.ERR= DT.ESI= DT.EVN= DT.EXS= DT.FCH= DT.FCN= DT.HMX= DT.KBE= DT.KBP= DT.KBR= DT.KBU= DT.MLS= DT.MTI= DT.OFF= DT.PAS= DT.PC = DT.PFL= DT.PSW= DT.PTA= DT.RCS= DT.REL= DT.SCT= DT.SMX= DT.SP = DT.SS1= DT.STO= DT.ST1= OT.SWR= OT.SYP= DT . WBU= DT.WHL= DT.WLL= OVID1 = ECCMEM= ECCSTA= ENBEOP= ENBNUL= 000102 000003 000017 000025 000011 000400 000000 100000 000014 000000 000042 000100 000076 000034 000014 000016 000020 000044 000000 000060 000037 000036 000104 000024 000026 000022 000030 000032 000110 000070 000074 000002 000062 000004 000064 000102 000040 000066 000106 000006 000046 000010 000012 000056 000072 000050 000054 000052 000014 000100 000010 010000 000001 MACY11 30A(1052) ENDLST= 000000 EOPBIT= 000001 ERRTYP= 000103 EVNTBE= 000200 EVNTHD= 000200 EVNTKT= 000203 EVNTPE= 000202 EVNTRE= 000201 FATERR= 100000 HRDCNT= 000044 HRDPAS= 000050 lCONT = 000036 ICOUNT= 000040 IDNUM = Ob0122 IE 000100 INDPAR= 000040 INHDRP= 040000 INHEPR=' 020000 1NHREL= ,,001000 1NHRRE= 000400 INIT 000030 1NTR 000120 10MOD 100000 IOMODP= 102000 IOMODR= 112000 IOMODX= 110000 JACK 035060 KIPARO= 172340 KIPAR1= 172342 KIPAR2= 172344 KIPAR3= 172346 KIPAR4= 172350 KIPAR5= 172352 KIPAR6= 172354 KIPAR7= 172356 KIPDRO= 172300 KIPDR1= 172302 KIPDR2:: 172304 KIPDR3= 172306 KIPDR4= 172310 KIPDR5:: 172312 KIPDR6= 172314 KIPDR7= 172316 KTERRO= OOOOLlO KTPRES= 000400 KTSTAT= 000020 KTXTND= 040000 LF 000012 LPSTAT= 000001 MAPSTA= OOO?OO 076600 MED MEMPAS= 040000 MODEXH= 004000 20-SEP-78 18:29 MODHOL= MODSEL= MSGCKD= MSGCKS= MSGDER= MSGDRP= MSGECH= MSGEOP= MSGHDR= MSGHNG= MSGHRD= MSGMAP= MSGNUL= MSGPOP= MSGPRM=, MSGRES= MSGSFT= MSGSKE= MSGSMB= MSGSMH= MSGSMS= MSGSTD.::: MSGSYS= MSGVEC::: NBKMOD= NCPUOP=: NOAPTY=: NULL OWEN PAERR PARPRE:: PARSTA~: PASCNT= PDPLSI:: PDP60 PDP70 PRIO PRI1 PRI4 PRI5 PRI6 PRI7 PFWTOA PRO PR4 PR5 PR6 PR7 PS PSVJ RANNUM= RBUFEA= RBUFPA= PAGE :2:0 002000 001000 000010 000011 000005 000017 177777 000013 000004 000022 000007 000021 177775 000002 17'7776 000001 000006 000003 000015 000014 000016 000000 000012 000020 0.01000 000020 000002 000000 024020 000010 002000 000100 000034 020000 004000 010000 000000 000040 000200 000240 000300 000340 OOOOOORG 000000 000200 000240 OC0300 000340 177776 177776 000054 000130 000126 SEQ 0881 RBUFSZ= R8UFVA= RDSERV= RDWrlMI= RELERR= REUVlOD= REL TIM= RES1 RES2 RICHAR= RPTDAT= RSTRT = RUBOUT= RUNMOD= R5VALU= SAM SBADR = SBKIViOD= SGKSEL= SC.ADR= SC.ALC= SC.APC= SC.CKL= Sc. CKP= SC.CLO= SC.HLD= SC.SCA= SENDLS= SOFCNT= SOFPAS= SPP.,CE = SPOINT= SPVALU= SRO SRi SR2 SR3 STAT STATBl= STAT1 :: SUSPND= SVRO SVR1 SVR2 SVR3 SVR4 SVR5 SVR6 SYSCNT= SYSE.RR= TMPIO = TQOVF = UIPARO= 000132 000124 000101 000022 000020 020000 010aOO 000056 000060 031060 002000 000~12 000177 100000 001740 075464 000'\ 02 000000 010000 000006 000014 000016 000002 000004 000000 000010 000012 177777 000042 000046 000040 000032 002200 177572 177574 177576 172516 000026 064757 000027 000001 000062 000064 000066 000070 000072 000074 000076 000052 000100 000002 000002 177640 PROTOA PROCESS THE IOTOA I MACRO IN ODTION MODULES PROTOA.MAC 28-JUL-78 09:26 SYMBOL TABLE UIPAR1= UIPAR2= UIPAR3= UIPAR4= UIPAR5= UIPAR6= UIPAR7= UIPDRO= UIPDR1= UIPDR2= UIPDR3= UIPDR4= UIPDRS= UIPDR6= UIPDR7= WASADR= WBSTAT= 177642 177644 177646 177650 177652 177654 177656 177600 177602 177604 177606 177610 177612 177614 177616 000104 000040 ABS. 000000 OOOOSO WBUFEA= WBUFPA= WBUFRQ= WBUFSZ= WDFR WDTO WTINRE= WTWHMI= XFLAG = XOFF XON $BGNLE= $ERFLG= $F$AND= $F$8AD= $F$BLA= $F$CAS= 000136 000134 000140 000142 000116 000114 000352 000222 OOOOOS 000023 000021 177777 000400 000310 000401 000170 0001S0 000 001 0 ERRORS DETECTED: DEFAULT GLOBALS GENERATED: 0 DSKZ:PROTOA,DSKZ:PROTOA=5PMAC/ML,EQUATE,PROTOA RUN-TIME: 11 1 .3 SECONDS RUN-TIME RATIO: 26/12=2.0 CORE USED: 14K (27 PAGES) MACY11 30A(1052) $F$DEC= $F$DO = $F$FAL= $F$GOO= $F$IF ::: $F$INC::: $F$LOO= $F$NAM= $F$NO ::: $F$OR ::: $F$RTI= $F$RTN= $F$SEL= $F$THE::: $F$TRU= $F$UNT= $F$WHI= 000220 000340 000';l05 000400 000110 000210 000200 000160 000403 000320 0003S0 000300 000140 000330 000404 000130 000120 20-SEP-78 $F$YE5::: $IFLEV= $LOCTA::: $LSTIN::: $L5TTA::: $NESTL::: $N5KO ::: $5AVLE::: $TAGLE::: $ T AGNU:= $ TEMP ::: $$ARGC::: $$BYTE::: $$CASE= $$D5T ::: $$ELOC:: $$ ERF L:= 18.:29 000402 177777 177777 000001 000001 177777 000300 177777 177777 050002 000300 000002 000000 000000 000000 000000 000000 PAGE 20-1 SEQ 0882 $$FLAG= $$FROM= $$L.OC ::: $$L.OCN= $$REG = $$RETU= $$RTN1= $$RTN2::: $$SRC = $$TGSV= $$TG51= $$TG52= $$TO $$$TAG= 000000 000000 000000 000000 17777'7 000000 OSOOOO 050001 000000 000000 000000 000000 000002 050000 000050R .MAIN. MACY11 30A(1052) 20-SEP-78 EQUATE.MAC 13-SEP-78 16:13 3 556 559 577 18:29 TABLE OF CONTENTS COMMON EQUATE MODULE COMMON DEFINITIONS AND REFERENCES 000000' .PRINT PRRAND (CODE) jSPMAC: VERSION 1.1 SEQ 0883 PRRAND (PROCESS 'RAND' TRAP CALL) PRRAND.MAC 28-JUL-78 09:26 508 509 510 511 512 513 514 515 516 517 518 MACY11 30A(1052) 20-SEP-78 COMMON EQUATE MODULE 18:29 PAGE 19 .TITLEPRRAND (PROCESS 'RAND' TRAP CALL) .IDENT JVO.Oj ;++ MODULE NAME: PRRAND FUNCTIONAL DESCRIPTION: THIS MODULE SERVICES A 'RAND ' TRAP CALL AND RETURNS A RANDOM NUMBER TO A LOCATION IN THE MODULE'S HEADER. 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 INPUTS: DATA TABLE ADDRESS IMPLICIT INPUTS: 1 . DT . PC OUTPUTS: NONE IMPLICIT OUTPUTS: RANDOM NUMBER PATHOLOGICAL CONNECTIONS: NONE 537 SUBORDINATE ROUTINES CALLED: RANDOM 538 539 540 FUNCTIONAL SIDE EFFECTS: NONE. 536 541 542 543 CALLING SEQUENCE: CALL PRRAND IN 544 545 546 547 548 WHERE AA EDIT' 550 551 553 554 TABLE ADDRESS VERSION: 0.0 549 552 = DATA ;-- DATE BY REASON SEQ 0884 PRRAND (PROCESS fRAND' TRAP CALL) PRRAND.MAC 28-JUL-78 09:26 556 557 558 559 (1) 560 561 562 MACY11 30A(1052) 20-SEP-78 18:29 COMMON DEFINITIONS AND REFERENCES PAGE 19-1 .SBTTL COMMON DEFINITIONS AND REFERENCES 000000' 000000' 000001 000001 .MCALL STRUCr STRUCT .PRINT ;SPMAC: VERSION 1.1 $LSTIN=1 $LSTTAG=1 563 564 565 566 ;**************** , ; REFERENCED BY OTHER MODULES 567 , 568 .GLOBL PRRAND 569 570 571 572 573 574 575 ;MODULE'S ENTRY POINT ;**************** ; GLOBAL REFERENCES ; .GL08L RANDOM ;ROUTINE 'RANDOM' SEQ 0885 PRRAND (PROCESS 'RAND' TRAP CALL) PRRAND.MAC 28-JUL-78 09:26 577 578 579 (2) 580 581 582 583 584 585 (2) (3) 586 587 588 589 590 591 592 (4) 593 (4) 594 (4) (6) 595 (4) 596 597 598 599 600 601 (4} (3) (4) 602 603 604 605 606 607 (2) (3) 608 (3) (3) (2) 609 610 MACY11 30A(1052) PRRAND (CODE) 20-SEP-78 18:29 PAGE 19-2 SEQ 0886 .SBTTL PRRAND (CODE) ROUTINE PRRAND 000000' OOCOOO' PRRAND: :+ i SAVE REGISTERS o- r PUSH RO,R1 000000' 000000' 010046 000002' 010146 MOV MOV FW,-(SP) R1,-(SP) ;+ ; GET DTABLE ADDRESS ,GET HEADER ADDRESS AND GET RANDOM NUMBER ADDRESS ; IN HEADER ;- 000004' 000004' 000010' 000010' 000014' 000014' 000020' 000026' 000026' LET RO 016500 000000 LET R1 016001 000002 ··- AA(R5) LET DT.PC(RO) 010160 062760 000002 000002 000002 LET R1 011101 ·- MOV AA(R5),RO MOV DT.PC(RO),R1 MOV ADD R1,DT.PC(RO) #2,DT.PC(RO) MOV (R1),1i:1 SUB JSR MOV #1*2,F1!5 PC, RAI\IDOIVI (R5,)+,RANNUM(R1 ) MOV MOV (SP)+,R1 (SP)+,RO RTS PC DT.PC(RO) .- R1 + #2 ( R1) ;+ ; GET RANDOM NUMBER , 000030' 000030' 162705 000034' 004767 000040' 012561 CALL RANDOM OUT WHERE DT = DATA TABLE ADDRESS VERSION: 0.0 571 572 573 574 EDIT DATE BY REASON PRSOFT (PROCESS SOFT ERRORS) PRSOFT.MAC 2B-JUL-7B 09:26 576 577 578 579 (1) 580 581 582 583 584 585 586 587 588 MACY11 30A(1052) 20-SEP-78 18:30 PAGE 19-2 PRSOFT (COMMON DEFINITIONS & REFERENCES) .SBTTL PRSOFT (COMMON DEFINITIONS & REFERENCES) 000000· 000000· 000001 000001 .MCALL STRUCT STRUCT .PRINT ;SPMAC: VERSION 1.1 $LSTIN=1 $LSTTAG:::1 ;**************** ; REFERENCED BY OTHER MODULES ; .GLOBL PRSOFT ;MODULE ENTRY POINT ;**************** 589 590 591 592 593 594 595 596 ; GLOBAL REFERENCES , .GLOBL ENQTQ .GLOBL APTSER .GLOBL DRPMOD .GLOBL SAVREG .GLOBL RESREG 597 ;***************** ENQUE A MESSAGE INTO THE TYPE QUEUE APT SOFT ERROR HANDLER IDROP THE MODULE· ROUTINE SEQ 0892 PRSOFT (PROCESS SOFT ERRORS) 28-JUL-78 09:26 PRSOFT.MAC 599 600 601 (2) 602 603 604 605 606 607 608 (3) 609 (4 ) 610 (4) 611 (4) 612 613 614 615 616 617 (4) (6) 618 619 620 621 622 623 (6) 624 625 626 627 628 629 (6) 630 (6) 631 (3) (8) (7) (6) (5) (4) (3) (3) 632 633 634 635 636 MACV11 30A(1052) 20-SEP-78 PRSOFT (CODE) 13:30 PAGE 19-3 SEQ 0893 .SBTTL PRSOFT (CODE) ROUTINE PRSOFT 000000' 000000' PI~SOFT : ;+ ; SAVE REGS, GET DTARLE ADDRESS AND MODULE ; HEADER ADDRESS. ;- 000000' 000000' 000004' 000004' 000010' 000010' 000014' 000014 1 CALL SAVREG 004767 OOOOOOG 016500 000000 016001 000002 JSR PC,St\VREG MOV DTA(R5) ,RO MOV DT. PC(RO) ,Rl MOV (Rl) ,R2 LET RO '- DTA(R5) LET Rt '- DT.PC(RO) LET R2 .- (R1) 011102 ;+ j POINT R3 TO TRAP ADDRESS ;- 000016' 000016' 010103 000020' 162703 LET R3 := Rl - #2 000002 MOV SUB ;+ ; POINT R1 TO RETURN ADDRESS ,' 000024' 000024' 062701 LET Rt : = Rt + #4 000004 ADD #4, R1 INC SOFCNT(R2) INC SOFPAS(R2) MOV MOV MOV MOV MOV MOV JSR MOV R5,-(SP) Rl,-(R5) R2,-(R5) R3,-(R5) #MSGSFT,-(R5) RO,-(R5) PC,ENqTQ (SP)+,R5 ;+ ; INCREMENT MODULE'S SOFT ERROR COUNT AND ENQUE THE ERROR ; MESSAGE. , 000030' 000030' 000034' 000034' 000040' 000040' 000042' 000044' 000046' 000050' 000054' 000056' 000062' LET SOFCNT(R2) '- SOFCNT(R2) + #1 005262 000042 005262 000046 010546 010145 010245 010345 012745 010045 004767 012605 LET SOFPAS(R2) '- SOFPAS(R2) + #1 CALL ENQTQ IN 000006 OOOOOOG ;+ ; IF APT ENVIRONMENT, CALL APT ERROR HANDLING ROUTINE ;- PRSOFT (PROCESS SOFT ERRORS) 28-JUl-78 09:26 PRSOFT.MAC 637 (6) (9) 638 (3) (4) (3) (3) 639 (4) (3 ) 640 641 642 643 644 645 646 647 (6) (9 ) 648 (3 ) (5) (4) (3 ) (3) 649 (4) (3) 650 651 652 653 654 655 656 (6) (9) (6 ) (9 ) 657 (3 ) (5) (4 ) (3) (3) 658 (4 ) 659 (4) 660 661 (4) 662 663 000064' 000064' 000072 1 000074' 000074' 000076' 000100 1 000104 1 000106' 000106 1 000110 1 MACY11 30A(1052) 20'-SEP-78 PRSOFT (CODE) 18:30 PAGE 1 ~~-4 SEQ 0894 IF #APTPRE SETIN DT.CFO(RO) THEN 032760 001406 010546 010045 004767 012605 000200 000014 CALL APTSER IN OOOOOOG ELSE 000431 BIT BEQ #APTPHE,DT.CFO(R 50002$ MOV MOV JSR MOV R5,"-(SP) BR 50003$ BIT BEQ #BIT15,DT.SvJR(RO 50004$ MOV MOV MGV JSR MOV R5,-(SP) R2,-(R5) RO,-(R5) PC,DRPMOD BR 50005$ RO,-(r~15) PC,APTSER (SP)+,R5 50002$: ;+ ; THE ENVIRONMENT IS NOT APT. ; CHECK SWITCH REGISTER IF THE MODULE IS TO BE DROPPED i DUE TO THIS ERROR. of 000110' 000110 1 000116' 000120 1 000120 1 000122' 000124 1 000126' 000132' 000134 1 000134 1 000136 1 IF #B1T15 SETIN DT.SWR(RO) THEN 032760 001407 010546 010245 010045 004767 012605 100000 000056 CALL DRPMOD IN OOOOOOG ELSE 000416 (SP)+~R5 50004$: ;+ ; IF THE COUNT IS EQUAL TO OR GREATER THAN THE LIMIT, ; CHECK SWITCH REGISTER IF MODULE IS TO BE DfWPPED. ;- 000136' 000136' 000144' 000146' 000154 1 000156 1 000156 1 000160' 000162 1 000164' 000170 1 000172 1 000172' 000172' 000172' 000172' 000172 1 026260 101412 032760 001006 010546 010245 010045 004767 012605 000042 000106 040000 000056 THEN IF SOFCNT(R2) HI DT.SMX(RO) AND #8IT14 NOTSETIN DT. 5WR (rW) SOFCNT(R2),DT.SM CMP 50006$ BlOS #BIT14,DT.SWR(RO BIT 50006$ BNE CALL DRPMOD IN R5,-(SP) MOV R2,-(R5) MOV RO,-(R5) MOV PC,DRPMOD JSR (SP)+,R5 MOV ENDIF 5,0006$ : OOOOOOG ENDIF 50005$: ENDIF ;+ !:i0003$ : PRSOFT (PROCESS SOFT ERRORS) PRSOFT.MAC 28-JUL-78 09:26 664 665 666 667 (3 ) 668 669 (3) (3) (2) 670 671 MACY11 30A(1052) 20-SEP-78 PRSOFT (CODE) 18:30 PAGE 19-5 SEQ 0895 ; RESTORE REGS AND RETURN 000172 1 000172 1 004767 000176 1 000176 1 000176 1 000176 1 000207 000001 CALL RESREG OOOOOOG JSR PC.RESREG RTS PC ENDRTN 50000$: 50001$: .END PRSOFT (PROCESS SOFT ERRORS) 28-JUL-78 09:26 PRSOFT.MAC ACSR ACTBIT= ADDR22= ADR APTFER= APTPRE= APTSER= ASB ASSEMB= ASTAT = AUTO AUTOST= AWAS BITO BITOO BIT01 BIT02 BIT03 8IT04 BIT05 BIT06 BIT07 BIT08 BIT09 BIT1 BIT10 BIT11 BIT12 BIT13 BIT14 BIT1S 8IT2 BIT3 BIT4 BIT5 BIT6 BIT7 BITS BIT9 BKDEF = BKMOD ::;: BKMODE= BKSLSH= CAPRES= CASTAT= CDERCT= CDWDCT= CKTIM = CLKPRE= CONFIG= CQOVF CR CSRA = 000102 004000 001000 000006 000004 000200 ****** 000106 000010 000104 000010 020000 000110 000001 000001 000002 000004 000010 000020 000040 000100 000200 000400 001000 000002 002000 004000 010000 020000 040000 100000 000004 000010 000020 000040 000100 000200 000400 001000 000002 000020 040000 000134 000004 000004 000146 000144 100000 000001 000056 000001 000015 000100 G 18:30 20-SEP-78 MACY11 30A(1052) SYMBOL TABLE, CSRC CTRLC CTRLO CTRLU DCEVNT= DEFRTN= DIAGMC= DROPMO= DRPMOD= DSEVNT= DTA DT.ADD= DT.AP = DT.APK.= DT.BLS= DT.CFO= DT.CF1= DT.ERR= DT.ESI= DT.EVN= DT.EXS= DT.FCH= DT.FCN= DT.HMX= DT.KBE= DT.KBP= DT.KBR= Dr. KBU= DT.MLS= DT.MTl= DT.OFF= DT.PAS= DT.PC = DT.PFL= DT.PSW= DT.PTA= DT.RCS= DT.REL= DT.SCT= DT.SMX= DT.SP = DT.SSI= DT.STO= DT.ST1= DT.SWR= DT.SYP= DT.WBU= DT.WHL= DT.WLL= DVID1 = ECCMEM= ECCSTA= ENBEOP= 000102 000003 000017 000025 000011 000400 000000 100000 ****** 000014 000000 000042 000100 000076 000034 000014 000016 000020 000044 000000 OOOOGO 000037 000036 000104 000024 000026 000022 000030 000032 000110 000070 000074 000002 000062 000004 000064 000102 000040 0000G6 000106 000006 000046 000010 000012 000056 000072 000050 000054 000052 000014 000100 000010 010000 SEQ 0896 ENBNUL= 000001 000000 ENQTQ = ****** G EOPBIT= COOO01 ERRTYP= 000106 EVNTBE= 000200 EVNTHD= 000200 EVNTKT= 000203 EVNTPE= 000202 EVNTRE= 000201 FATERR= 100000 HRDCNT= 000044 HRDPAS= 000050 ICONT = 000036 ICOUNT= 000040 IDNUM = 000122 000100 IE INDPAR= 000040 INHDRP':I 040000 INHEPR= 020000 INHREL::;: 001000 INHRRE:; 000400 INIT -, 0'00030 lNTR ;;: 000120 lOMOD 100000 IOMODP= 102000 IOMODR= 112000 IOMODX= 110000 035060 JACK KIPARO= 172340 KIPAR1= 172342 KIPAR2= 172344 KIPAR3= 172346 KIPAR4= 172350 KIPARS= 172352 KIPAR6= 172354 KIPAR7= 172~56 KIPDRO= 172300 KIPDR1= 172302 KIPDR2= 172304 KIPDR3= 172306 KIPDR4= 172310 KIPDR5= 172312 KIPDR6= 172314 KIPDR7= 172316 KTERRO= 000040 KTPRES= 000400 KTSTAT= 000020 KTXTND= 040000 000012 LF LPSTAT= 000001 MAPSTA= 000200 076600 MED ~NDLST= G PAGE 20 " MEMPAS:: MODEXH:: MODHOL:: MODSEL= MSGCKD:: MSGCKS:: MSGDER:: MSGDRP:= MSGECH:: MSGEOP:: MSGHDR:= MSGHNG:= MSGHRD:= MSGMAP= MSGNUL= MSGPOP= MSGPRM= MSGRES= MSGSFT= MSGSKE= MSGSMB= MSGSMH= MSGSMS= MSGSTD= MSGSYS= MSGVEC'" N5KMOD= NCPUOP= NOAPTY= NULL OWEN PAERR PARPRE= PARSTA= PASCNT= PDPLSI= PDPGO PDP70 PRIO P R11 PRI4 PRI5 PRI6 PRI7 PRSOFT PRO PR4 PR5 PR6 PR7 PS PSVJ RANNUM= 040000 004000 00:2000 OO~OOO 000010 000011 000005 000017 177777 00D013 000004 000022 000007 000021 177775 000002 177776 000001 008006 000003 000015 000014 000016 000000 000012 00OC20 001000 000020 000002 000000 024020 000010 002000 000100 000034 020000 004000 010000 000000 000040 000200 . 000240 000300 000340 OOOOOORG 000000 008200 000240 000300 000340 177776 177776 000054 R8UFEA= RBUFPA= R9UFSZ= R8UFVA= RDSERV= ,RDWHMI = 'RE LERR= RELMOD= RiEL TIM= RESREG= RES1 RES2 RICHAR= RPTDAT= RSTRT = RUBOUT= RUNMOD= R5VALU= SAM SAVREG= SBADR SBKIVlOD= SBKSEL= SC.ADR= Sc. ALC= SC.APC= SC.CKL= SC.CKP= SC.CLO= SC.HLD= SC.SCA= SENDLS= SOFCNT= SOFPA$:: SPACE = SPOINT= SPVALU= SRO SR1 SR2 SR3 STAT STATBl= STAT1 SUSPND= SVRO SVR1 SVR2 SVR3 SVR4 SVR5 SVR6 SYSCNT= 000130 000126 000132 000124 000101 000022 000020 020000 0100uO ****** G 000056 0000601 031060 002000 000112 000177 100000 001740 075464 ****** 000102 000000 010000 OOOOOE> 000014 00001 Ei 000002 000004 000000 000010 00001~! 177777 00004~! 00004E> 0OO04() 000032 002200 1 7757~! 177574 177576 17251E> 000026 064757 000027 00000'1 000062 000064 00()06E3 000070 00007:2 000074 00007E5 00005:2 G PRSOFT (PROCESS SOFT ERRORS) 28-JUL-78 09:26 PRSOFT.MAC SVSERR= TMPIO = TQOVF = UIPARO= UIPAR1= UIPAR2= UIPAR3= UIPAR4= UIPAR5= UIPAR6= UIPAR7= UIPDRO= UIPDR1= UIPDR2= UIPDR3= UIPDR4= UIPDR5= UIPDR6= UIPDR7= WASADR= 000100 000002 000002 177640 177642 177644 177646 177650 177652 177654 177656 177600 177602 177604 177606 177610 177612 177614 177616 000104 ASS. 000000 000200 MACY1' 30A(1052) 20-SEP-78 SYMBOL TABLE 18:30 $F$FAL= $F$GOO= $F$IF = $F$INC= $F$LOO= $F$NAM= $F$NO = $F$OR = $F$RTI= $F$RTN= $F$SEL= $F$THE= $F$TRU= $F$UNT= $F$WHI= $F$YES= $IFLEV= $ISKO $ISK1 $ISK2 :: 000405 000400 000110 000210 000200 000160 000403 000320 000350 000300 000140 000330 000404 000130 000120 000402 177777 000001 000001 000001 WBSTAT:: WBUFEA= WBUFPA= WBUFRQ= WBUFSZ= WDFR WDTO WTINRE= WTWHMI= XFLAG = XOFF XON $BGNLE= $ERFLG= $F$AND= $F$BAD= $F$BLA= $F$CAS= $F$DEC= $F$DO = 000040 000136 000134 000140 000142 000116 000114 000352 000222 000005 000023 000021 177777 000400 000310 000401 000170 000150 000220 000340 000 001 ERRORS DETECTED: 0 DEFAULT GLOSALS GENERATED: 0 DSKZ:PRSOFT,DSKZ:PRSOFT=SPMAC/ML,EQUATE,PRSOFT RUN-TIME: 13 3 .3 SECONDS RUN-TIME RATIO: 32/17=1.B CORE USED: 14K (27 PAGES) PAGE 20-1 SEQ 0897 $LOCTA= $LSTIN= $LSTTA= $NESTL=: $NSKO $NSK 1 _. $NSK2 _. $NSK3 :: $SAVLE=: $T AGLE:: $TAGNU:: $TEMP $TSKO :: $TSKl $TSK2 -$$ARGC:: $$BYTE= $$CASE= $$DST $$ELOC= 177777 000001 000001 177777 000300 000110 000110 000110 177777 177777 050007 000300 050003 050005 050006 000002 000403 000000 000000 000402 $$.ERFL= 000000 $$FLAG= 000001 $$FROM= 000000 $$LOC :: 000154R $$LDeN= 000000 17777'7 $$REG $$RETU= 000000 $$RTN1= 050000 $$RTN2= 050001 $$SRC :: 000000 $$TGSV= 000000 $$TGS1= 000000 $$TGS2= 000000 000000 $$TO $$$TAG= 050000 00Q200R = .MAIN. MACV11 30A(1052) 20-SEP-78 EQUATE.MAC 13-SEP-78 16:13 3 561 564 586 18:30 TABLE OF CONTENTS COMMON EQUATE MODULE COMMON DEFINITIONS AND REFERENCES 000000' .PRINT RANDOM (CODE) iSPMAC: VERSION 1.1 SEQ 0898 RANDOM (PSEUDO-RANDOM NUMBER GENERATOR) MACV11 30A(1052) 20-SEP-78 RANDOM.MAC 28-JUL-7B 09:26 COMMON EQUATE MODULE 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 553 554 555 556 557 558 559 PAGE 19 .TITLE RANDOM (PSEUDO-RANDOM NUMBER GENERATOR) .IDENT JVO.Oj ;++ MODULE NAME: RANDOM FUNCTIONAL DESCRIPTION: THIS MODULE GENERATES AND RETURNS A 16-BIT RANDOM NUMBER TO THE CALLER. THE ALGORITHM USED CONSISTS OF ROTATING fWO BASE WORDS ONE POSITION TO THE RIGHT AND THEN PERFORMING AN EXCLUSIVE-OR OPERATION ON CERTAIN BITS IN WORD-1. TO INSURE THOROUGH RANDOMNESS OF THE NUMBER, THIS OPERATION IS REPEATED 16 TIMES BEFORE RETURNING THE RANDOM NUMBER FROM THE SECOND WORD. INPUTS: NONE IMPLICIT INPUTS: NONE OUTPUTS: A RANDOM NUMBER IMPLICIT OUTPUTS: NONE PATHOLOGICAL CONNECTIONS: NONE SUBORDINATE ROUTINES CALLED: SAVREG RESREG FUNCTIONAL SIDE EFFECTS: NONE. CALLING SEQUENCE: CALL RANDOM 550 551 552 18:30 O~T WHERE XXX = RANDOM NUMBER RETURNED. VERSION: 0.0 EDIT DATE BY REASON SEQ 0899 RANDOM (PSEUDO-RANDOM NUMBER GENERATOR) MACY11 30A(1052) 20-SEP-7E 18:30 RANDOM.MAC 28-JUL-78 09:26 COMMON DEFINITIONS AND REFERENCES 561 562 563 564 (1) 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 PAGE 19-1 .SBTTL COMMON DEFINITIONS AND REFERENCES 000000' 000000' 000001 000001 .MCALL STRUCT STRUCT .PRINT ;SPMAC: VERSION 1.1 $LSTIN=1 $LSTTAG=1 ;**************** ; REFERENCED BY OTHER MODULES , .GLOBL RANDOM ;MODULE'S ENTRY POINT ;**************** ; GLOBAL REFERENCES .GLOBL .GLOBL , SAVREG RESREG ;**************** ; LOCAL STORAGE 000000' 022333 000002' 123456 WORK: RAND: 2232:3 123456 WORD-1 WORD-2 THE CHOICE OF VALUES IS ARBITRARY SEQ 0900 RANDOM (PSEUDO-RANDOM NUMBER GENERATOR) MACY11 30A(1052) RANDOM.MAC 28-JUL-78 09:26 RANDOM (CODE) 586 587 588 (2) 589 590 591 592 593 594 595 (3) 596 (4) 597 (4) 593 599 600 601 602 603 604 605 606 (4) (5) (4) (7) (5) (5) (7) 607 (7) 608 (7) 609 '( 6 ) 61.0 (6) 611 (6) (9) 612 (6) 613 (4) 614 (4) (3) 615 (6) 616 (6) (9) 617 20-SEP-78 18:30 PAGE 19-2 SEQ 0901 .SBTTL RANDOM (CODE) ROUTINE RANDOM 000004' 000004' RANDOM: ;+ ; SAVE REGISTERS ; GET THE TWO BASE WORDS INTO RO AND R1. 000004' 000004' 004767 000010' 000010' 016700 000014' 000014' 016701 CALL SAVREG OOOOOOG JSR PC, MOV WORt', RO MOV RAND,R" MOV BR #15. ,R:2 50002$ DEC R2 TST SLT R2 50004$ ROR RO ROR Rl BCS 50005$ SIC #BIT12,RO SIT BEQ #BIT10,RO 50006$ SIS #BIT12,RO SR 50007$ SIS #BIT12,RO BIT BEQ #BIT10,RO 50010$ SAVF~EG LET RO "- WOHK 177764 LET Ri : = RAND 177762 ;+ ; SET UP LOOP FOR 16 ITERATIONS, ROTATE THE TWO ; WORDS ONE POSITION TO THE RIGHT, AND THEN DO , THE EXCLUSIVE-OR OPERATION ON BIT12 AND BIT10 ; OF WORD-1 I BASED ON "CARRY" CONDITION. 000020' 000020' 000024' 000026' 000026' 000030' 000030' 000032' 000034' 000034' 000036' 000036' 000040' 000040' 000042' 000042' 000046' 000046' 000052' 000054' 000054' 000060' 000060' 000060' 000060' 000062' 000062' 000062' 000066' 000066' 000072' 000074' DEeR R2 FROM #15. TO #0 BY #1 012702 000401 000017 50003$: 005302 50002$: 005702 002423 LET RO .- RO ROTATE -#1 006000 LET R1 '- R1 ROTATE -#1 006001 IF.NO.CARRY THEN 1 0 341 0 LET RO '- RO CLR.BY #8IT12 042700 010000 032700 001402 002000 052700 010000 IF #BIT10 SETIN RD THEN LET RO := RO S[T.BY #BIT12 ENDIF 50006$: ELSE 000407 50005$: LET RO "- RD SET.BY #BIT12 052700 010000 032700 001402 002000 IF #BIT10 SETlN RO THEN LET RC := RO CLR.BY #BIT12 RANDOM (PSEUDO-RANDOM NUMBER GENERATOR) MACY11 30A(1052) RANDOM.MAC 28-JUL-78 09:26 RANDOM (CODE) (6) 618 (4) 619 (4) 620 (4) (3) 621 622 623 624 625 626 627 628 629 (4) 630 (4) 631 (4) 632 633 634 635 636 637 (3) 638 639 (3) (3) (2) 640 641 000074 1 042700 000100' 000100' 000100' 000100' 000100 1 000100 1 000752 000102 1 010000 20-SEP-78 18:30 PAGE 19-3 ENDIF SEQ 0902 BIC #BIT12,RO BR 50003$ MOV RO, WOR:K MOV R1,RAND MOV R1,RSL.T(R5) JSR PC,RESREG RTS PC 50010$: ENDIF 50007$: ENDDEC 50004$: ;+ ; NOW THAT YOU HAVE DONE THE 16 ITERATIONS 'AND ; GOTTEN THE RESULT, STORE THE TWO WORDS BACK ; INTO THE BASE WORDS. DON1T FORGET TO RETURN : THE RESULT, 000102 1 000102 1 010067 000106 1 000106' 010167 000112' 000112 1 010165 LET WORK .- RO 177672 LET RAND '- R1 177670 LET RSLT(R5) .- R1 000000 ;+ ; RESTORE REGISTERS AND RETURN - HURRAH. 000116 1 000116 1 004767 000122 1 000122 1 000122 1 000122 1 000207 000001 CALL RESREG OOOOOOG ENDRTN SOOOO$: ~;0001$: .END RANDOM (PSEUDO-RANDOM NUMBER GENERATOR) MACY11 30A(1052) SYMBOL TABLE 28-JUL-78 09:26 RANDOM.MAC ACSR ACTBIT= ADDR22= ADR APTFER= APTPRE= ASB ASSEMB= ASTA1- = AUTO AUTOST= AWAS BITO BITOO BIT01 BIT02 BIT03 BIT04 BITOS BIT06 BIT07 BIT08 BIT09 BIT1 B111 0 1:31T11 BIT12 BIT 13 BIT14 BIT15 BIT2 BIT3 BIT4 BITS BIT6 BIT7 BIT8 BIT9 BKDEF BKMOD BKMODE= BKSLSH= CAPRES= CASTAT= CDERCT= CDWDCT= CKTIM = CLKPRE= CONFIG= CQOVF CR = CSRA = CSRC :II 000102 004000 001000 000006 000004 000200 000106 000010 000104 000010 020000 000110 000001 000001 000002 000004 000010 000020 000040 000100 000200 000400 001000 000002 002000 004000 010000 020000 040000 100000 000004 000010 000020 000040 000100 000200 000400 001000 000002 000020 040000 000134 000004 000004 000146 000144 100000 000001 000056 000001 000015 000100 000102 CTRLC = CTRLO = CTRLU = DCEVNT= DEFRTN= DIAGMC= DROPMO= DSEVNT= DT.ADO= DT.AP = DT.APK= DT.BLS= DT.CFO= DT.CF1= DT.ERR= DT.ESI= DT.EVN= DT. EXS'= DT.FCH= DT.FCN= DT.HMX= DT.KBE= DT.KBP= DT.KBR= DT.KBU;: DT.MLS= DT.MTl= DT.OFF= DT.PAS= DT.PC = DT.PFL= DT.PSW= DT.PTA= DT.RCS= DT.REL= DT.SCT= DT.SMX= DT.SP = DT.SS1= DT.STO= DT.ST1= DT.SWR= DT.SYP= DT.WBU= DT.WHL= DT.WLL= DVID1 = ECCMEM= ECCSTA= ENBEOP= ENBNUL= ENDLST= EOPBIT= 000003 000017 000025 000011 000400 000000 100000 000014 000042 000100 000076 000034 000014 000016 000020 000044 000000 000060 000037 0'00036 000104 000024 000026 000022 000030 000032 000110 000070 000074 000002 000062 000004 000064 000102 000040 000066 000106 000006 000046 000010 000012 000056 000072 000050 000054 000052 000014 000100 000010 010000 000001 000000 000001 20-SEP-78 ERRTYP= EVNTBE= EVNTHD= EVNTKT= EVNTPE= EVNTRE= FATERR= HRDCNT= HRDPAS= ICONT = ICOUNT= IDNUM"= IE INDPAR= INHDRP= INHEPR= INHREL= INHRRE= INIT :;: INTR lOMOD IOMODP= IOMODR= IOMODX= JACK KIPARO= KIPAR1== KIPAR2= KIPAR3= KIPAR4= KIPAR5= KIPAR6= KIPAR7= KIPDRO= KIPDR1:.: KIPDR2= KIPDR3= KIPDR4= K1PDR5= KIPDR6= KIPDR7= KTERRO= KTPRES= KTSTAT= KTXTND= LF LPSTAT= MAPSTA= MED MEMPAS= MODEXH= MODHOL= MODSEL= 000106 000200 000200 000:203 000202 000201 100000 000044 000050 000036 000040 000122 000100 000040 040000 020000 001000 000400 000C30 000120 100000 102000 112000 110000 035060 172340 172342 1723L;4 172346 172350 172352 172354 172356 172300 172302 172304 172306 172310 172312 172314 172316 000040 000400 000020 040000 000012 000001 000200 076600 040000 004000 002000 001000 18:30 PAGE 20 MSGCKD=: MSGCKS= MSGDER=: MSGDRP=: MSGECH= MSGEOP=: MSGHDRc:: MSGHNG= MSGHRD=: MSGMAP=: MSGNU L=: MSGPOP=: MSGPRM=: MSGRES;: MSGSFT=: MSGSKE=: MSGSMB= MSGSMH:: MSGSMS= MSGSTD= MSGSYS:: MSGVEC:: NBKMOD= NCPUOP= NOAPTY== NULL. .OWEN PAERR -PARPRE= PARSTA= PASCNT= PDPLSI': PDP60 PDP70 PRIO PRI1 PR14 PR15 PR16 PR17 PRO PR4 PR5 PR6 PR7 PS PSW RAND RANDOM RANNUM= RBUFEA= RBUFPA= RBUFSZ= SEQ 0903 000010 000011 000005 000017 177777 000013 000004 000022 000007 000021 177775 000002 177776 000001 000006 000003 000015 000014 000016 000000 000012 0OOO2{) 00100.0 000020 000002 000000 0240,20 000010 00:2000 000100 000034 020000 004000 010000 000000 000040 000.200 000240 000300 000340 000000 000200 000240 000300 000340 177776 177776 000002R 0OOO04RG 000054 000130 000126 000132 RBUFVA= RDSERV= RD\tJHM 1= RELERR= RELMOD= REL TIM= RESREG= RES' R='S2 RICHAR= RPTDAT= RSLT RSTRT = RUBOUT= RUNMOD= R5VALU= SAM SAVREG= SBADR = SBKMOD= SBKSE L= SC.ADR= SC.ALC= SC.APC= Sc. CK L= Sc. CKP= Sc. CLO= SC.HLD= SC.SCA= SENDLS= SOFCNT= SQFPAS= SPACE = SPOINT= SPVALU= :: SRO SR1 SR2 SR3 STAT STATB1= STAT1 = SUSPND= SVRO SVR1 SVR2 SVR3 SVR4 SVR5 SVR6 SYSCNT= SYSERR= TMPIO = 000124 000101 000022 000020 020000 010000 **f**-i' G 000056 000060 031060 002000 000000 000112 000177 100000 001740 075464 ****** G 000102 000000 010000 000006 000014 000016 000002 000004 000000 000010 000012 177777 000042 000046 000040 000032 002200 177572 177574 1775761725'16 0000260 064757 000027 000001 000 062~ 000064 000066 000070 00007~! 000074 000076 000052 000100 000002 RANDOM (PSEUDO-RANDOM NUMBER GENERATOR) MACY11 30A(1052) SYMBOL TABLE 28-JUL-78 09:26 RANDOM.MAC TQOVF = UIPARO= UIPAR1= UIPAR2= UIPAR3= UIPAR4= UIPAR5= UIPAR6= UIPAR7= UIPDRO= UIPJR1= UIPDR2= UIPDR3= UIPDR4= UIPDR5= UIPDR6= UIPDR7= WASADR= WBSTAT= WBUFEA= 000002 177640 177642 177644 177646 177650 177652 177654 177656 177600 177602 177604 177606 177610 177612 177614 177616 000104 000040 000136 ABS. 000000 000124 WBUFPA= WBUFRQ= WBUFSZ= WDFR WDTO WORK WTINRE= WTWHMI= XFLAG = XOFF XON $BGNLE= $ERFLG= $F$AND= $F$BAD= $F$BLA= $F$CAS= $F$DEC= $F$DO = $F$FAL= 000134 000140 000142 000116 000114 OOOOOOR 000352 000222 000005 000023 000021 177777 000400 000310 000401 000170 000150 000220 000340 000405 000 001 0 ERRORS DETECTED: DEFAULT GLOBALS GENERATED: 0 DSKZ:RANDOM,DSKZ:RANDOM=SPMACjML,EQUATE,RANDOM RUN-TIME: 13 3 .4 SECONDS RUN-TIME RATIO: 31/17=1.8 CORE USED: 14K (27 PAGES) 20-SEP-76 $F$GOO= $F$IF = $F$INC= $F$LOO= $F$NAM= $F$NO = $F$OR = $F$RTI= $F$RTN= $F$SEL= $F$THE= $F$TRU= $F$UNT= $F$WHI= $F$YES= $IFLEV= $ISKO = $ISK1 = $LOCTA= $LSTIN= 000400 000110 000210 000200 000160 000403 000320 000350 000300 000140 000330 000404 000130 000120 000402 177777 000001 000001 177777 000001 18:30 PAGE 20-1 $LSTTA= $NEST L=: $NSKO $NSK1 -$NSK2 -$NSK3 -$SAV LE=: $SSKO -$T AGLE=: $TAGNU:: $TEMP $TSKO $TSK1 $TSK2 $TSK3 $$ARGC:: $$8YTE:: $$CASE:: $$DST -$$ELOC::: SEQ 0904 000001 177777 000300 000220 000110 000110 177777 050003 17'1'177 050011 000300 050004 050003 050007 050010 000002 000403 000000 000000 000402 L= $$FLAG= $$FROM= $$LOC = $$LOCN= $$REG = $$RETU= $$RTN1= $$RTN2= $$SRC = $$TGSV= $$TGS1= $$TGS2= $$TO $$$TAG= $$Er~F 000000 000001 000000 000072R 000000 177777 000000 050000 050001 000000 000000 000000 000000 000000 050000 000124R ,.MAIN. MACY11 30A(1052) 20-SEP-78 EQUATE.MAC 13-SEP-78 16:13 3 559 562 609 18:31 TABLE OF CONTENTS COMMON EQUATE MODULE COMMON DEFINITIONS AND REFERENCES 000000 I • PR I NT RELCTL ROUTINE ; SPMAC: VERS I ON 1.1 SEQ 0905 RELCTL - RELOCATION CONTROL RELCTL.MAC 26-JUL-78 09:26 MACY11 30A(1052) 20-SEP-78 18:31 COMMON EQUATE MODULE PAGE 19 508 509 510 .TITLE RELCTL - RELOCATION CONTROL .IDENT /VO. 0/ 511 ;++ 512 513 514 SEQ 0906 MODULE NAME: RELCTL 516 517 FUNCTIONAL DESCRIPTION: CONTROLS THE SEQUENCE OF EVENTS THAT MUST OCCUR BEFORE, DURING, AND AFTER THE RELOCATION PROC~SS. 518 519 520 INPUTS: DATA TABLE ADDRESS 515 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 IMPLICIT INPUTS: CURRENT BASE ADDRESS, CONFIGURATION WORD 0, STATUS INDICATOR WORD 0, STATUS INDICATOR WORD OUTPUTS: NONE IMPLICIT OUTPUTS: NONE PATHOLOGICAL CONNECTIONS: MESSAGE CODE IN MSGDEQ (MD. COD) SUBORDINATE MODULES CALLED: CLKOFF CLKON PRRLOC WBFLIM UNIMAP WSTBUS MSGDEQ DX.INI FUNCTIONAL SIDE EFFECTS: NONE CALLING SEQUENCE: CALL RELCTL IN A=DATA TABLE ADDRESS VERSION: 0.0 554 555 EDIT 55G 557 ;TURN OFF SYSTEM CLOCK ;TURN ON SYSTEM CLOCK ;PROCESS RELOCATION ;DETERMINE WRITE BUFFER LIMITS ;LOAD UNIBUS MAP ;WRITE WORST-CASE UNIBUS PATTERNS ;MESSAGE DEQUEUER ;INITIALIZE QUEU2S AND KEYBOARD ;-- BY DATE F~EASON RELCTL- RELOCATION CONTROL RELCTL.MAC 28-JUL-78 09:26 561 (1) 563 564 565 566 000000' 000000' 000001 000001 .MCALL STRUCT STRUCT .PRINT' iSPMAC: VERSION 1.1 $LSTIN=1 $LSTTAG=1 567 , ;**************** 568 569 ; REFERENCED BY OTHER MODULES 570 571 572 .GLOBL 573 574 575 i , 577 .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GL08L . GLOBL· .GLOBL .GLOBL .GLOBL 580 581 582 583 584 585 586 587 588 589 CLKOFF CMDPRC DX.KFL CLKGN PRRLOC UNIIVIAP WSTBUS DX.INI MSGDEQ MD. COD ;**************** , 591 592 , 594 595 596 597 598 599 600 601 602 603 604 605 606 607 ;PROCESS A KEYBOARD COMMAND ;KEYBOARD FLAG ~'IlBFLIM 590 593 ;MODULE ENTRY POINT ; GLOBAL REFERENCES , 579 RELCTL , ;**************** , 576 578 SEQ 0907 .SBTTL COMMON DEFINITIONS AND REFERENCES 559 560 562 MACY11 30A(1052) 20-SEP-78 18:31 PAGE 19-1 COMMON DEFINITIONS AND REFERENCES ;MESSAGE DEQUEUER ;MESSAGE CODE IN MESDEQ i GLOBAL EQUATES .GLOBL .GLOBL .GLOBL .GL08L .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLObL DT.STO DT.ST1 DT.CFO Dj.ADDR RELTIME MSGNUL ADDR22 RCS~t IE CLKPRES MEMPAS AUTO ;****************** ;STATUS INDICATOR WORD 0 ;STATUS INDICATOR WORD 1 ;CONFIGURATION WORD 0 ;CURRENT BASE ADDRESS ;RELOCATION TIME INDICATOR ;NULL MESSAGE TYPE CODE ;22-8IT ADDRESSING ;KB INPUT CSR ;INTERRUPT ENABLE ;SYSTEM CLOCK PRESENT ;LAST SYSTEM EOP WAS IN LOWEST MEMORY ;AUTOMATIC MODE RELCTL - RELOCATION CONTROL 28-JUL-78 09:26 RELCTL.MAC 609 610 611 612 000000' (2 ) 000000' 613 614 615 616 617 618 619 000000' (2 ) 000000' 010046 620 621 622 623 . 624 625 626 000002' (4 ) 000002' 016500 627 628 629 630 631 632 633 000006' (6 ) 000006' 032760 (9) 000014' 001405 634 000016' (3 ) 000016' 010546 (4) 000020' 010045 (3 ) 000022' 004767 (3 ) 000026' 012605 635 000030' (4) 000030' 636 637 638 639 000030 f (6) 000030' 026727 (9 ) 000036' 001007 640 000040' (3) 000040' 010546 (4) 000042' 010045 000044' 004767 (3) (3) 000050' 012605 641 000052' 000052' 005067 (4) 642 000056' (4) 000056' 643 644 645 646 18:31 20-SEP-78 MACY1t 30A(1052) RELCTL ROUTINE PAGE 19-2 SEQ 0908 .SBTTL RELCTL ROUTINE ROUTINE RELCTL RELCTL: ;+ ; SAVE REGISTERS ,' - PUSH RO MOV RO,-(SP) MOV TABL(R5),RO BIT SEQ #CLKPF;:ES, DT. CFO ( 50002$ MOV MOV dSR MOV R5,-(SP) RO,-(f;:5) PC, CUWFF (SP)+,R5 CMP DX.KFt,#1 50003$ ;+ ; SET RO TO THE START OF THE DATA TABLE ,' - LET RO := TABL(R5) 000000 ; t· ; SHUT OFF THE SYSTEM CLOCK IF IT EXISTS. ; _. IF #CLKPRES SETIN DT.CFO(RO) THEN 000001 000014 CALL CLKOFF IN OOOOOOG ENDIF 50002$: ;+ ; SERVICE ANY FINAL I CALL CMDPRC IN OOOOOOG LET DX.KFL .- MOV MOV JSR MOV R5,-(SP) CLR DX.KFL RO,-(F~5) PC,CM[)PRC (SP)+lI R5 #0 OOOOOOG ENDIF ~50003$ ;+ ; WAIT FOR THE TYPE-QUEUE TO EMPTY : RELCTL - RELOCATION CONTROL RELCTL.MAC 28-JUL-7B 09:26 647 648 649 (3) 650 (3) (4) (3) (3) 651 (3) (6) 652 653 654 655 656 657 658 (3) (5) (4) (3) (3) 659 660 661 662 663 664 665 (6) (9) 666 (3) (4) (3) (3) 667 (4) 668 669 670 671 672 673 674 (3) (4) (3) (3) 675 676 677 678 679 MACY11 30A(1052) 20-SEP-78 RELCTL ROUTINE 18:31 PAGE 19-3 SEQ 0909 '- , 000056 1 000056 1 000056 1 000056' 000060' 000062' 000066' 000070 1 000070' 000076' REPEAT 5()004$: CALL MSGDEQ IN 010546 010045 004767 012605 026727 001367 MOV MOV L1SR MOV OOOOOOG UNTIL MD. COD EQ #MSGNUL OOOOOOG 177775 R5,·-(SP) RO,··(R~) PC,MSGDEQ (SP)+,H5 CMP BNE MD.COD,#MSGNUL 50004$ MOV MOV MOV JSR MOV R5,'-(SP) #O,'-(RS) RO,'-(R:5) PC,PRHLOC (SP)+,R5 BIT BEQ #CLKPRES,DT.CFO( 50005$ MOV MOV JSR R5,-(SP) RO,-(R5) PC,CLKON (SP)+.R5 ;+ ; RELOCATE 000100' 000100' 000102' 000106' 000110 1 000114' CALL PRRLOC IN 010546 012745 010045 004767 012605 000000 OOOOOOG ;+ ; TURN THE SYSTEM CLOCK BACK ON IF IT EXISTS. 000116' 000116' 000124' 000126' 000126' 000130' 000132' 000136 1 000140' 000140 1 IF #CLKPRES SETIN DT.CFO(RO) THEN 032760 001405 01 0546 010045 004767 012605 000001 000014 CALL CLKON IN OOOOOOG MOV ENDIF 50005$: ;+ ; SET THE WRITE BUFFER LIMITS AND INITIALIZE THE WRITE BUFFER POINTER 000140' 000140 1 000142' 000144 1 000150 1 CALL WBFLIM IN 010546 010045 004767 012605 MOV MOV JSR MOV OOOOOOG ;+ ; IF THE UNIBUS MAP EXISTS, LOAD THE MAP REGISTERS. ;- R5,-(SP) RO,-(R5) PC,WBFLIM (SP)+,R5 RElCTl - RELOCATION CONTROL RELCTL.MAC 28-JUL-78 09:26 680 681 (6) (9) 682 (3) (4) (3) (3) 683 (4) 684 685 686 687 688 689 690 691 (6) (9) 692 (3) (4) (3) (3) 693 (6) (9) 694 (6) 695 (4) 696 (4) 697 698 699 700 701 702 703 (3) 704 705 706 707 708 709 710 711 (6) 712 713 714 715 000152 1 000152 1 000160 1 000162 1 000162' 000164' 000166= 000172 1 000174' 000174' MACY 11 30A ( 1052) 20-SEP-78 RELCTL ROUTINE 18: 31 PAGE 19-4 SEQ 0910 IF #ADDR22 SETIN DT.CFO(RO) THEN 032760 001405 001000 000014 BIT B£Q #ADDR22,DT.CFO(R 50006$ MOV MOV JSR MOV R5,-(SP} RO,-(R:5) PC, UNIIIJIAP (SP)+,R5 CMP BNE DT.ADDR(RO).#200 50007$ CALL UNIMAP IN 010546 010045 004767 012605 OOOOOOG ENDIF 5i0006$ : ;+ ; IF THIS RELOCATION WAS TO THE LOWEST PART OF MEMORY. WRITE THE ; WORST-CASE UNIBUS PATTERNS INTO ALL OF fREE MEMORY, ;- 000174' 000174 1 000202 1 000204 1 000204 1 000206 1 000210' 000214 1 000216 1 000216 1 000224' 000226' 000226' 000234' 000234' 000234 1 000234 1 IF DT.ADDR(RO) EQ #200 THEN 026027 001014 000042 000200 CALL WSTBUS IN MOV MOV JSR MOV 010546 010045 004767 012605 OOOOOOG R5,-(SP) RO,-(~!5) PC,WSTBUS (SP)+,R5 IF HAUTO SETIN DT.CFO(RO) THEN 032760 001403 000010 000014 052760 040000 000012 BIT BEQ #AUTO,DT.CFO(RO) 50010$ BIS #MEMPAS,DT.ST1(R JSR PC,DX.INI BIC #RELTJ:ME,DT.STO( LET DT.STi(RO) '- DT.ST1(RO) SET.BY #MEMPAS ENDIF :;0010$ : ENDIF :;0007$ : ;+ ; INITIALIZE THE QUEUES AND KEYBOARD. j- 000234 1 000234 1 004767 CALL DX.INI OOOOOOG ;+ ; CLEAR ,' - 000240' 000240 1 042760 TH~ RELOCATION TIME INDICATOR IN STATUS INDICATOR WORD 0 LET DT.STO(RO) '- DT.STO(RO) CLR.BY #RELTIME 010000 000010 j+ ; RESTORE REGISTERS RELCTL - RELOCATION CONTROL RELCTL.MAC 28-JUL-78 09:26 716 717 718 (2 ) 719 720 721 (3 ) (3 ) (2) 722 723 MACV11 30A(1052) 20-SEP-78 RELCTL ROUTINE 000246 1 000246 1 012600 POP RO 000250 1 000250 1 000250 1 000250' 000207 ENDRTN 000001 18:31 PAGE 19-5 SEQ 0911 MOV (SP)+,RO RTS PC 50000$: 50001$: .END - RELOCATION CONTROL RELCTL 28-JUL-78 09:26 RELCTL.MAC ACSR ACT8IT= ADDR22= ADR = APTFER= APTPRE= ASB ASSEMB= ASTAT = AUTO AUTOST= AVJAS BITO BITOO BIT01 BIT02 BIT03 BlT04 BITOS BIT06 BIT07 BITOS BIT09 BIT1 BIT10 BI T 11 BIT12 BIT13 ElIT14 BlT1S BIT2 BIT3 BIT4 BITS BIT6 BIT7 BITS BIT9 BKDEF BKMOD BKMODE= BKSLSH= CAPRES= CASTAT= CDERCT= CDWDCT= CKTIM = CLKOFF= CLKON = CLKPRE= CMDPRC= CONFIG= CQOVF = 000102 004000 001000 G 000006 000004 000200 000106 000010 000104 000010 G 020000 000110 000001 000001 000002 000004 000010 000020 000040 000100 000200 000400 001000 000002 002000 004000 010000 020000 040000 100000 000004 000010 000020 000040 000100 000200 000400 001000 000002 000020 040000 000134 000004 000004 000146 000144 100000 ****** G ****** G 000001 G ****** G 000056 000001 20-SEP-78 MACY11 30A(1052) SYMBOL TABLE CR CSRA CSRC CTRLC CTRLO CTRlU DCEVNT= DEFRTN= DIAGMC= DROPMO= DSEVNT= DT.ADD= DT.AP = DT.APK= DT.BLS= DT.CFO= DT.CF1= DT.ERR= DT.ES!= DT.EVN= DT.EXS= DT.FCH= DT.FCN= DT.HMX= DT.KBE= DT.KBP= DT.KBR= DT. KBU= DT.MLS= DT.MTI= DT.OFF= DT.PAS= DT.PC = DT.PFL= DT.PSW= DT.PTA= DT.RCS::: DT.REL= DT.SCT= DT.SMX= DT.SP = DT.SSl= DT.STO= DT.ST1= DT.SWR= DT.SYP= DT.WBU= DT.WHL= DT.WLL= DVID1 = DX.INI= DX.1 000026 064757 000027 00U0011 000062 000064 00006E:; 00007() 000072 RELCTL - RELOCATION CONTROL 28-JUL-78 09:26 RELCTL.MAC SVR5 SVR6 SYSCNT= SYSERR= TABL TMPIO = TQOVF = UIPARO= UIPAR1= UIPAR2= UIPAR3= UIPAR4= UIPAR5= UIPAR6= UIPAR7= UIPDRO= UIPOR1= UIPDR2= UIPDR3= UIPDR4= 000074 000076 000052 000100 000000 000002 000002 177640 177642 177644 177646 ASS. 000000 000252 20'-SEP-7B MACY 11 30A(1052) SYMBOL TABLE 18: 31 $ERFLG= $F$ANO= $F$BAD= $F$BLA= $F$CAS= $F$OEC= $F$DO = $F$FAL= $F$GOO= $F$IF = $F$INC= $F$LOO= $F$NAM= $F$NO = $F$OR = $F$RTI= $F$RTN= $F$SEL= $F$THE= $F$TRU= 000400 000310 000401 000170 000150 000220 000340 000405 000400 000110 000210 000200 000160 000403 000320 000350 000300 000140 000330 000404 UIPOR5= UIPDR6= UIPOR7= UNIMAP= WASAOR= WBFLIM= WBSTAT= WBUFEA= WBUFPA= WBUFRQ= WBUFSZ= WDFR WDTO WSTBUS= WTINRE= WTWHMI= XFLAG = XOFF XON $8GNLE= 177650 177652 177654 177656 177600 177602 177604 177606 177610 177612 177614 177616 ****** G 000104 ****** G 000040 000136 000134 000140 000142 000116 000114 ****** G 000352 000222 000005 000023 000021 177777 000 001 ERRORS DETECTED: 0 DEFAULT GLOBALS GENERATED: 0 DSKZ:RELCTL,DSKZ:RELCTL=SPMAC/ML,EQUATE,RELCTL RUN-TIME: 13 4 .3 SECONDS RUN-TIME RATIO: 32/18=1.7 CORE" USED: 14K (27 PAGES) PAGE 20-1 SEQ 0913 $F$UNT= $F$vJHI= $F$YES= $IFLEV= $ISKO = $ISK1 = $LOCTA= $LSTIN= $LSTTA=: $NESTL=; $NSKO -" $NSK1 _. $NSK2 _. $SAV LE=: $TAGLE=: $T AGNU=: $TEMP =: $TSKO _. $TSK1 _. $$ARGC=: 000130 000120 000402 177777 000001 000001 177777 000001 000001 177777 000300 000110 000110 177777 177777 050011 000300 050007 050010 000002 $$BYTE= $$CASE= $$05T = $$ELOC= $$ERFL= $$FLAG= $$FROM= $$LOC = $SLOCN= $$REG = $$RETU= $$RTN1= $$RTN2= $$SRC = $$TGSV= $$TGS1= $$TGS2= $$TO $$$TAG= = 000403 000000 000000 000402 000000 000001 000000 000224!R 000000 177'777 000000 050000 050001 000000 000000 000000 000000 000000 050000 ()00252R .MAIN. MACY11 30A(1052) 20-SEP-78 EQUATE.MAC 13-SEP-78 16:13 3 529 532 563 617 18:31 TABLE OF CONTENTS COMMON EQUATE MODULE COMMON DEFINITIONS AND REFERENCES FOR RONOF 000000' .PRINT ;SPMAC: VERSION 1.1 KROTON & KROTOF - PROCESS THE IROTON 1 AND 'ROTOFF' KEYBOARD COMMANDS KROTON - KROTOF ROUTINE SEQ 0914 RONOF PROCESS THE IROTON I AND IROTOFF I KEYBOARD COMMANDS RONOF.MAC 28-JUL-78 15:35 COMMON EQUATE MODULE 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 .TITLE .IDENT MACY1130A(1052) 20-SEP-78 113:31 SEQ 0915 RONOF PROCESS THE IROTON I AND IROTOFF I KEYBOARD COMMANDS JVO.Oj ;++ MODULE PACKAGE NAME: RONOF FUNCTIONAL DESCRIPTION: THIS ROUTINE CONSISTS OF TWO MODULES: 1. KROTON - PROCESS THE KEYBOARD COMMAND 'ROTONI 2. KROTOF - PROCESS THE KEYBOARD COMMAND IROTOFFI VERSION: 0.0 EDIT PAGE 19 BY DATE REASON RONOF PROCESS THE 'ROTON' AND 'ROTOFF' KEYBOARD COMMANDS MACY11 30A(1052) 20-SEP-7B RONOF.MAC 28-JUL-78 15:35 COMMON DEFINiTIONS AND REFERENCES FOR RONOF 529 530 531 532 (1) 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 .SBTTL COMMON DEFINITIONS AND REFERENCES FOR RONOF .MCALL STRUCT STRUCT .PRINT ;SPMAC: VERSION 1.1 $LSTIN=1 $LSTTAG = 1 000000' 000000' 000001 000001 ;**************** ; REFERENCED BY OTHER MODULES: , .GLOBL .GLOBL ; 'ROTON' MODULE ENTRY POINT ;'ROTOFF' MODULE ENTRY POINT KROTON KROTOF ;**************** , ; GLOBAL REFERENCES: .GLOBL .GL08L .GLOBL .GLOBL ;ILLEGAL ARGUMENT MESSAGE ;CHECK AN ARGUMENT CM.A.RG ARGCHI, SAVREG RESREG , ;**************** , ; LOCAL STOr;:AGE: 000000' 000006' 000014' 000022' 000030' 000032' 000040' 000046' 000054' 000062' 000065' 051127 052502 051040 047511 000045 051127 052502 051040 047511 022506 000 052111 043106 052117 020116 020105 051105 052101 047117 RO.MGN: .ASCIZ /WRITE BUFFER ROTATION ON%/ 052111 043106 052117 020116 000 020105 051105 052101 043117 RO.MGF: .ASCIZ /WRITE BUFFER ROTATION OFF%/ RO.FLG: .8YTE a . EVEN ;1 IF ROTOF, 0 IF ROTON 18:31 PAGE '9-1 SEQ 0916 RONOF PROCESS THE 'ROTON' AND 'ROTOFF' KEYBOARD COMMANDS MACY11 30A(1052) 20-SEP-78 18:31 PAGE 19-2 RONOF.MAC 28-JUL-78 15:35 KROTON & KROTOF - PROCESS THE 'ROTON' AND 'ROTOFF' KEYBOARD COMMANDS .SBTTL KROTON & KROTOF - PROCESS THE 'ROTON' AND IROTOFF I KEYBOARD COMMANDS 563 .IDENT JVO.Oj 564 5E5 ;++ 566 MODULE NAME: 567 KROTON - KROTOF 568 569 FUNCTIONAL DESCRIPTION: 570 THIS ROUTINE PROCESSES THE IROTON' AND IROTOFF' KEYBOARD COMMANDS 571 IT WILL FIRST VERIFY THAT NO ARGUMENT APPEARS 572 I N THE COMMAND. DECODE BUF FER. I F AN t\RGUMENT I SIN THE 573 BUFFER, AN ERROR MESSAGE IS ISSUED. OTHERWISE, 574 THE WRITE BUFFER ROTATION BIT IN THE STATUS 575 INDICATOR IS SET IF IROTON I AND CLEARED IF IROTOFF I • 576 577 INPUTS: 578 1. ADDRESS OF DTABLE 579 2. COMMAND DECODE BUFFER POINTER 580 581 IMPLICIT INPUTS: 582 NONE 583 584 OUTPUTS: 585 NONE 586 587 IMPLICIT OUTPUTS: 588 DT.KBRSP 589 DT.STO 590 591 PATHOLOGICAL CONNECTIONS: 592 CM.ARG 593 594 SUBORDINATE ROUTINES CALLED: 595 ARGCHK - CHECK FOR UNWANTED ARGUMENTS 596 SAVREG 597 RESREG 598 599 FUNCTIONAL SIDE EFFECTS: 600 NONE. 601 602 CALLING SEQUENCE: 603 CALL KROTON IN 604 CALL KROTOF IN 605 WHERE: DTADR = ADDRESS OF DTABLE 606 BUFPTR = COMMAND DECODE BUFFER POINTER 607 608 VERSION: 609 0.0 610 611 R:EASON EDI,. BY DATE 612 ;-613 614 615 SEQ 0917 RONOF PROCESS THE 'ROTON' AND 'ROTOFF' KEYBOARD COMMANDS MACY11 30A(1052) RONOF.MAC 28-JUL-78 15:35 KROTON - KROTOF ROUTINE 617 618 619 620 621 (2 ) 622 623 624 625 626 627 (6) 628 (2 ) 629 630 631 (2 ) 632 633 634 635 636 637 638 (4) 6:i9 640 ( 2) 641 642 643 644 645 (3 ) 646 (4) 647 (4 ) 648 649 650 651 652 653 654 (4 ) (3 ) (4 ) (3) (3) (4) 655 656 (6) .SBTTL 20-SEP-78 18:31 PAGE 19-3 SEQ 0918 KROTON - KROTOF ROUTINE INLINE 000066' 000066' KROTO F: ;+ t INDICATE IT'S 'ROTOFF' 000066' 000066' 105267 000072' 000072' 000402 LET RO.FLG :B= RO.FLG + #1 177773 INLINE
INCB RO.FLG BR GUNCH CLRB RO.FLG ROUTINE KROTON 000074' 000074' I-<.ROTON: ;+ ; INDICATE 'ROTON' COMMAND 000074' 000074' 105067 LET RO.FLG :B= #0 177765 INLINE 000100' 000100' GUNCH: ;+ ; SAVE REGISTERS AND SAVE DTABLE ADDRESS AND DECODE BUFFER POINTER ;- 000100' 000100' 004767 000104' 000104' 016500 000110' 000110' 016501 CALL SAVREG OOOOOOG JSR PC,SAVREG MOV DT.A,DR(R5) fRO MOV BUFPTF1(R5),R1 LET RO .- DTADR(R5) 000000 LET R1 .- BUFPTR(R5) 000002 ;+ ; MAKE SURE NO ADDITIONAL ARGUMENTS ARE IN DECODE BUFFER ;- 000114' 000114' 000120' 000122' 000124' 000130' 000132' CALL ARGCHK IN OUT 162705 010546 010145 004767 012605 012501 000134' 000134' 103404 000002 OOOOOOG sus #1*2,F~5 MOV MOV JSR MOV MOV R5,-(SP) R1,-(H5) PC,ARGCHK (SP)+t R5 (R5)+t R1 BCS 50002$ IF.NO.ERROR THEN RONOF PROCESS THE I ROTON I AND 'ROTOFF' KEYBOARD COMMANDS MACY11 30A(1052) RONOF.MAC 28-JUL-78 15:35 KROTON - KROTOF ROUTINE 657 658 659 660 661 662 663 (4) 664 665 (4) (3) 666 667 668 669 670 671 672 (6) (9) 673 (6) 674 (4) 675 676 (4) (3) 677 678 679 (6) 680 (4) 681 (4) 682 (4) 683 684 685 686 687 688 689 (3) 690 691 (3) (3) (2) 6£2 20-SEP-78 18:31 PAGE 19-4 SEQ 0919 ;+ ; THERE IS NO YET SO ITIS A BAD COMMAND ... STUFF 'ERROR i MESSAGE AND BEAT IT .•.. ;- 000136 1 000136 1 012760 LET DT.KBRSP(RO) .- #CM.ARG OOOOOOG 000022 MOV #CM.AHG,DT.KBRSP SR 50003$ T5TB BNE RD.FLG 50004$ BIS #WBSTAT,DT.STO(R MOV #RO.MGN,DT.K8RSP BR 50005$ BIC #WBSTAT,DT.STO(R MDV #RO.MG.F,DT.KBRSP JSR PC,RESREG RTS PC ELSE 000144 1 000144 1 000420 000146 1 50002$: ;+ ; ITIS A SO GO PROCESS .... SET THE WBSTAT BIT ; IN DT.STO IF 'ROTON I AND CLEAR IT IF IROTOF I ;- 000146 000146 1 000152 1 000;54 1 000154 1 000162 1 000162' IFB RO.FLG EO #0 THEN 1 105767 001007 177713 052760 000040 LET DT.STO(RO) := DT.STO(RO) SET.BY #W8STAT 000010 LET DT. KBRSP (RO) 012760 000000 1 000022 ELSE 000170 1 000170 1 000406 000172 1 000172 1 000172 1 042760 000200 1 000200 1 012760 000206' 000206 1 000206 1 000206 1 : = #RO. MGN 50004$: LET DT.STO(RO) := DT.STO(RO) CLR.BY #WBSTAT 000040 000010 LET DT.KBRSP(RO) := #RO.MGF 000032 1 000022 ENDIF 50005$: ENDIF 50003$: ;+ ; CLEAN UP AND LEAVE ; _. 000206 1 000206 1 004767 000212 1 CALL RESREG OOOOOOG ENDRTN 0002~21 000212 1 000212 1 000207 OC0001 .END 5;0000'$ : Ei0001$: RONOF PROCESS THE 'ROTON ' AND 28-JUL-78 15:35 RONOF.MAC ACSR ACTBlT= ADDR22= ADR APTFER= APTPRE= ARGCHK= ASS ASSEMB= ASTAT = AUTO AUTOST= AWAS = BITO BITOO BITOl BIT02 BIT03 BIT04 BIT05 BIT06 BIT07 BIT08 BIT09 BI T1 BIT1a 8 IT 11 = BIT12 BIT13 8IT14 BIT15 BIT2 BIT3 BIT4 BIT5 BIT6 BIT7 BITB BIT9 BKDEF BKMOD BKIV:ODE= BKSLSH= BUFPTR= CAPRES= CASTAT= CDERCT= COWDCT= CKTIM = CLKPRE= CM.ARG= CONFIG= CQOVF = 000102 004000 001000 000006 000004 000200 ****** G 000106 000010 000104 000010 020000 000110 000001 000001 000002 000004 000010 000020 000040 000100 000200 000400 001000 000002 002000 004000 010000 020000 040000 iOOOOO 000004 000010 000020 000040 000100 000200 000400 001000 000002 000020 040000 000134 000002 000004 000004 0001~6 000144 100000 000001 ****** G 000056 000001 'ROTOFF ' KEYBOARD COMMANDS SYMBOL TAB LE, CR CSRA ' .cSRC CTRLC CTRLO CTRLU DCEVNT= DEFRTN= DIAGMC= DROPMO= DSEVNT= DTADR = DT.ADD= DT. AP : DT.APK= DT.BLS= DT.CFO= DT.CF1= DT . ERR:' DT.ESI= DT.EVN= DT.EXS= DT.FCH= DT.FCN= DT.HMX= DT.KBE= DT.KBP= DT.KBR= DT.KBU= DT.MLS= DT.MTl= DT.OFF= DT.PAS= DT.PC = DT.PFL= DT. PSvJ= DT.PTA= DT.RCS= DT.REL= DT.SCT= DT.SMX= DT.SP : DT.SSI= DT.STO= DT.ST1= DT.SWR= DT.SYP= DT.WBU= DT.WHL= DT.WLL= DVID1 :: ECCMEM= ECCSTA= 000015 000100 000102 000003 000017 000025 000011 000400 000000 100000 000014 000000 000Q42 000100 000076 000034 000014 000016 000020 000044 000000 000060 000037 000036 000104 00'0024 000026 000022 000030 000032 000110 000070 000074 000002 000062 000004 000064 000102 000040 000066 000106 000006 000046 000010 000012 000056 000072 000050 000054 000052 000014 000100 000010 ENBEOP= ENBNUL= ENDLST= EOPBIT= ERRTYP= EVNTBE= EVNTHD= EVNTKT= EVNTPE= EVNTRE= FATERR= GUNCH HRDCNT= HRDPAS= ICONT : ICOUNT= IDNUM = IE INDPAR= INHDRP= INHEPR= INHREL:::: INHRRE= INIT INTR IOMOD IOMODP= IOMODR= IOMODX= JACK KIPARO= KIPAR1= KIPAR2= KIPAR3= KIPAR4= KIPAR5= KlPAR6= KIPAR7= KIPDRO= KIPDR1= KIPDR2= KIPDR3= KIPDR4= KIPDR5= KIPDR6= KIPDR7= KROTOF KROTON KTERRO= KTPRES= KTSTAT= KTXTND= LF MACY11 30A(1052) 20·~SEP-78 18: 31 PAGE 20 SEQ 09:20 010000 000001 000000 000001 000106 000200 000200 000203 000202 000201 100000 0OO100R 000044 000050 000036 000040 000122 000100 000040 040000 020000 0010.00 000400 000030 000120 100000 102000 112000 110000 035060 172340 172342 172344 172346 172350 172352 172354 172356 172300 172302 172304 172306 172310 172312 172314 172316 000066RG 000074t~G 000040 000400 000020 040000 000012 LPSTAT:: MAPSTA:: MED MEMPAS:: MODEXH:: MODHOL::: MODSEL::: MSGCKD= MSGCKS:: MSGDER:: MSGDRp:= MSGECH:;: MSGEOP::: MSGHD,R:= MSGHNG::: MSGHRD:= MSGMAp:= MSGNUL:= MSGPOp:= MSGPRM:= MSGRES= MSGSFT:::: MSGSKE= MSGSMB::: MSC1SMH= MSGSMS= MSGSTD= MSGSYS= MSGVEC= NBKMOD= NCPUOP= NOAPTY::;; NULL OWEN PAERR PARPRE= PARSTA= PASCNT= PDPLSI= POPGO POP70 = PRIO = PRI1 PRI4 PRI5 PRIG PRI7 PRO PR4 PR5 PR6 PR7 PS 000001 000200 076600 040000 004000 002000 001000 000010 00l}O11 000005 000017 11'1777 000013 000004 000022 000007 000021 177775 000002 177'/76 000001 000006 000003 000015 000014 000016 000000 000012 000020 001000 000020 000002 000000 024020 000010 002000 000100 000034 020000 004000 010000 000000 000040 000200 000240 000300 000340 000000 000200 000240 000300 000340 177776 PSW RANNUM= R3UFEA= RSUFPA= RBUFSZ= RBUFVA= RDSERV= RDl'llHMI = RELERR= REUJ!OD= REL TIM= RESREG= RESl RES2 HICHAR= RO.FLG RJ.MGF RO.MGN RPTDAT= RSTRT = RUBOUT= RUNMOD= f~5VALU= SAM SAVREG= SBtlOR == SBKMOD== SBKSEL= SC.ADR= Sc. ALC= SC ,. APC= SC.CKL= SC.CKP= SC.CLO= SC.HLD= SC.SCA= SENDLS= SOFCNT= SOFPAS= SPACE = SPOINT= SPVALU= SRO SR1 SR2 = SR3 STAT STATSI:: STAT1 = SUSPND= SVRO SVR1 SVR2 :: 177776 000054 000130 000126 000132 000124 000101 000022 000020 020000 010000 ****** G 000056 000060 031060 0000651R 000032R OOOOODR 002000 000112 000177' 100000 001740 075464 ****** 000102 000000 010000 OOOOOE; 0OO01L:~ 00001 E; 000002 000 OOL~ 000000 0()0010 000012 177777 000042 000046 000040 000032 002200 177572 177574 177576 172516 0OO02Ei 064757 000027 000001 000062 000064 OC006Ei G RONOF PROCESS THE IROTON I AND IROTOFF' KEYBOARD COMMANDS RONOF.MAC 28-JUL-78 15:35 SYMBOL TABLE SVR3 SVR4 SVR5 SVR6 SYSCNT= SYSERR= TMPIO = TQOVF = UIPARO= UIPAR1= UIPAR2= UIPAR3= UIPAR4= UIPAR5= UIPAR6= UIPAR7= UIPDRO= UIPDR1= UIPOR2= UIPDR3= 000070 000072 000074 000076 000052 000100 000002 000002 177640 177642 177644 177646 177650 177652 177654 177656 177600 177602 177604 177606 . ABS. 000000 000214 UIPDR4= UIPDR5= UIPDR6= UIPDR7= WASADR= WBSTAT= WBUFEA= " WBUFPA= WBUFRQ= WBUFSZ= WDFR WDTO WTINRE= WTWHMI= XFLAG = XOFF XON $BGNLE= $ERFLG= $F$AND= 177610 177612 177614 177616 000104 000040 000136 000134 000140 000142 000116 000114 000352 000222 000005 000023 000021 177777 000400 000310 000 001 ERRORS DETECTED: 0 DEFAULT GLOBALS GENERATED: 0 DSKZ:RONOF,DSKZ:RONOF=SPMAC/ML,EQUATE,RONOF RUN-TIME: 12 2 .4 SECONDS RUN-TIME RATIO: 57/16=3.5 CORE USED: 14K (27 PAGES) $F$BAD= $F$BLA= $F$CAS= $F$DEC= $F$DO = $F$FAL= $F$GOO= $F$IF = $F$INC= $F$LOO= $F$NAM= $F$NO = $F$OR = $F$RTI= $F$RTN= $F$SEL= $F$THE= $F$TRU= $F$UNT= $F$WHI= MACY11 30A(1052) 20-SEP-78 18:3"1 PAGE 20-1 SEQ 0921 000401 000170 000150 000220 000340 000405 000400 000110 000210 000200 000160 000403 000320 000350 000300 000140 000330 000404 000130 000120 $F$YES= $IFLEV= $ISKO = $ISKl = $LOCTA= $LSTIN= $LSTTA= $NESTL= $NSKO = $N5Kl = $NSK2 :: $SAVLE= $TAGLE= $TAGNU= $TEMP = $TSKO = $TSK1 -" $$ARGC= $$BYTE=: $$CASE= 000402 177777 000001 000001 177777 000001 000001 177777 000300 000110 00O"i10 177777 177777 050006 000300 050003 050005 000004 000402 000000 $$05T $$ELOC= $$ERFL= $$FLAG= $$FROM= $$LOC = $$LOCN= $$REG = $$RETU= $$RTN1= $$RTN2= $$SRC = $$TGSV= $$TGS1= $$TGS2= $$TO = $$$TAG= 000000 000402 000000 000001 000000 0001521~ 000000 17777'7 000000 050000 050001 000000 000000 000000 000000 000000 050000 0002141R .MAIN. MACY11 30A(1052) 20-SEP-78 EQUATE.MAC 13-SEP-78 16:13 3 526 568 571 581 607 648 657 18:32 TABLE OF CONTENTS COMMON EQUATE MODULE SAVREG SAVE REGISTER RO THRU R4 COMMON DEFINITIONS AND REFERENCES 1 000000 .PRINT ;SPMAC: VERSION 1.1 SAVE REGISTER'S RO THRU R4 ROUTINE RESREG RESTORE GENERAL REGISTERS RO THRU R4 COMMON DEFINITIONS AND REFERENCES RESTORE GENERAL REGISTERS RO THRU R4 ROUTINE SEQ 0922 SAVRES BINDER FOR SAVREG AND RESREG SAVRES.MAC 28-JUL-78 09:27 SOB 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 MACY11 30A(1052) 20-SEP-78 COMMON EQUATE MODULE 18:32 PAGE 19 SEQ 0923 .TITLE SAVRES BINDER FOR SAVREG AND RESREG .IDENT JVO.Oj ;++ MODULE PACKAGE NAME: SAVRES FUNCTIONAL DESCRIPTION: BINDER FOR THE FOLLOWING MODULES: SAVREG - SAVE REGISTERS RESREG - RESTORE REGISTERS VERSION: 0.0 EDIT ;-- DATE BY REASON SAVRES BINDER FOR SAVREG AND RESREG SAVRES.MAC 28-JUL-78 09:27 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 54,3 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 MACY11 30A(1052) 20-SEP-78 18:32 SAVREG SAVE REGISTER RO THRU R4 PAGE 19-~ SEQ 0924 .SBTTL SAVREG SAVE REGISTER RO THRU R4 .IDENT JVO.Oj ;++ MODULE NAME: SAVREG FUNCTIONAL DESCRIPTION: THIS MODULE WILL SAVE GENERAL PURPOSE REGISTERS RO THRU R4 ON THE R6 STACK AND RETURNS TO CALLER INPUTS: NONE IMPLICIT INPUTS: NONE OUTPUTS: NONE. IMPLICIT OUTPUTS: NONE: PATHOLOGICAL CONNECTIONS: NONE SUBORDINATE ROUTINES CALLED: NONE FUNCTIONAL SIDE EFFECTS: NONE CALLING SEQUENCE: CALL. SAVREG VERSION: 0.0 EDI1" ;-- DATE BY REASON SAVRES BINDER FOR SAVREG AND RESREG SAVRES.MAC 28-JUL-78 09:27 567 568 569 570 571 (1) 572 573 574 575 576 577 578 579 MACY11 30A(1052) 20-SEP-78 18:32 SAVREG SAVE REGISTER RO THRU R4 PAGE 19-2 .SBTTL COMMON DEFINITIONS AND REFERENCES 000000 000000 I I 000001 000001 .MCALL STRUCT STRUCT .PRINT ;SPMAC: VERSION 1.1 $LSTIN 1 $LSTTAG 1 = = ;**************** ; REFERENCED BY OTHER MODULES .GLOBL SAVREG ;MODULE ENTRY POINT SEQ 0925 SAVRES BINDER FOR SAVREG AND RESREG 28-JUL-78 09:27 SAVRES.MAC 581 582 583 584 (2) 585 586 587 588 589 590 591 592 (6) 593 (4) 594 (4 ) 595 (4) 596 (4 ) 597 (4 ) 598 (4) 599 600 601 602 603 604 (3 ) (3) (2) 605 MACY11 30A(1052) 20-SEP-78 18:32 SAVE REGISTER'S RO THRU R4 ROUTINE PAGE 19-3 SEQ 0926 .SBTTL SAVE REGISTER1S RO THRU R4 ROUTINE ROUTINE SAVREG 000000' 000000 1 SAVREG: ;+ ; FIRST ALLOCATE 10 BYTES ON THE STACK POINTER BY SETTING STACK ; POINTER TO SP + 12, THEN LOAD RETURN ADDRESS INTO NEW STACK POINTER ; NOW SAVE REGISTERS 000000' 000000' 000004 1 000004' 000010' 000010 1 000014' 000014 1 000020 1 000020 1 000024 1 000024 1 000030 1 000030 1 LET SP := SP - #12 162706 000012 LET (SP) 016616 .- 000012 LET 2(SP) : = R4 010466 010366 010266 010166 010066 000002 LET 4(SP) .- R3 LET 6(SP) .-, R2 000004 000006 LET 10(SP) .- R1 LET 12(SP) .- RO 000010 SUB #12,SP MOV +12(SP), (SP) MOV R4,2(SP) MOV R3,4(SP) MOV R2,6(SP) MOV R1,10(SP) MOV RO,12(SP) RTS PC +12(SP) 000012 ;+ ; RETURN TO CALLER ;- 000034 1 000034 1 000034 1 000034 1 000207 ENDRTN 50000$: !:i0001$: SAVRES BIND.ER FOR SAVREG AND RESREG SAVRES.MAC 28-JUL-78 09:27 607 608 609 610 611 612 613 614 615 616 517 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 MACY1' 30A(1052) 20-SEP-78 18:32 PAGE 19-4 RESREG RESTORE GENERAL REGISTERS RO THRU R4 .SBTTL RESREG RESTORE GENERAL REGISTERS RO THRU R4 .IDENT JVO.Oj ;++ MODULE NAME: RESREG FUNCTIONAL DESCRIPTION: THIS MODULE WILL RESTORE GENERAL REGISTERS RO THRU R4 FROM THE R6 STACK AND RETURN TO CALLER. INPUTS: NONE: IMPLICIT INPUTS: NONE OUTPUTS: NONE IMPLICIT OUTPUTS: NONE PATHOLOGICAL CONNECTIONS: NONE SUBORDINATE ROUTINES CALLED: NONE FUNCTIONAL SIDE EFFECTS: NONE CALLING SEQUENCE: CALL RESREG VERSION: 0.0 644 645 646 SEQ 0927 EDIT ;-- DATE BY FIEASON SAVRES BINDER FOR SAVREG AND RESREG SAVRES.MAC 28-JUL-78 09:27 648 649 650 651 652 653 654 655 MACY11 30A(1052) 20-SEP-78 18:32 COMMON DEFINITIONS AND REFERENCES PAGE 19-5 .SBTTL COMMON DEFINITIONS AND REFERENCES ;**************** ; REFERENCED BY OTHER MODULES .GLOBL RESREG ;MODULE ENTRY POINT SEQ 0928 SAVRES BINDER FOR SAVREG AND RESREG 28-JUL-78 09:27 SAVRES.MAC 657 658 659 (2 ) 660 661 662 663 664 665 666 (4 ) 667 (4) 668 (4) 669 (4) 670 (4) 671 (4 ) 672 (6) 673 674 675 676 677 678 (3) (3) (2 ) 679 680 MACY11 30A(1052) 20-SEP-78 18:32 PAGE 19-6 RESTORE GENERAL REGISTERS RO THRU R4 ROUTINE SEQ 0929 .SBTTL RESTORE GENERAL REGISTERS RO THRU R4 ROUTINE ROUTINE RESREG 000036 1 000036 1 RESREG: j+ ; RESTORE REGISTERS RO THRU R4 FROM R6 STACK, THEN CLEAN UP STACK FOR ; RETURN TO CALLER ,' 000036 1 000036 1 000042 1 000042' 000046 1 000046 1 000052' 000052 1 000056' 000056' 000062 1 000062 1 000066 1 000066 1 LET R4 016604 000002 016603 000004 LET R3 LET R2 Oi6602 000006 LET Rl 016601 000010 016600 000012 LET RO ··- ···- LET 12(SP) 011666 000012 062706 000012 LET SP ·- 2(SP) 4(SP) 6(SP) 10(SP) 12(SP) .- (SP) SP + #12 MOV 2(SP),R4 MOV 4(SP)"R3 MOV 6(SP)t R2 MOV 10(SP)t R1 MOV 12(SP).RO MOV (SP),12(SP) ADD #12,SP RTS PC ;+ ; RETURN TO CALLER ;- 000072 1 000072' 000072' 000072 1 000207 000001 ENDRTN .END 50000$: 50001$: SAVRES BINDER FOr< SAVREG AND RESREG 2B-JUL-7B 09:27 SAVRES.MAC ACSR ACTBIT= ADDR22= ADR APTFER= APTPRE= ASB AssEMB= ASTAT = AUTO AUTOST= AlAJAS BITO BITOO BIT01 8IT02 B1T03 B1T04 BIT05 BIT06 BIT07 BITOB B1T09 BIT1 BIT10 BIT 11 BIT12 BIT13 BIT14 8IT15 B1T2 BIT3 B1T4 BITS BIT6 BIT7 BIT8 B1T9 BKDEF BKMOD BKMODE= 81"S LSH= CAPRES= CASTAT= CDERCT= CDWDCT= CKTIM = CLKPRE= CONFIG= CQOVF CR CSRA CSRC 000102 004000 001000 000006 000004 000200 000106 000010 000104 000010 020000 000110 000001 000001 000002 000004 000010 000020 000040 000100 000200 000400 001000 000002 002000 004000 010000 020000 040000 100000 000004 000010 000020 000040 000100 000200 000400 001000 000002 000020 040000 000134 000004 000004 000146 000144 100000 000001 000056 000001 000015 000100 000102 CTRLC = CTRLO = CTRLU = DCEVNT= DEFRTN= DIAGMC= DROPMO= DSEVNT= DT.ADD= DT. AP = DT.APK= DT.BLS= DT.CFO= DT.CF1= DT.ERR= DT.ES1:: DT .'EVN= DT.EXS= DT.FCH= DT.FCN= DT.HMX= DT.KBE= DT.KBP= DT. KBR= DT.KBU= DT.MLS= DT.MTl= DT.OFF= DT.PAS= DT.PC = DT.PFL= DT . PS~"'= DT.PTA= DT.RCS= DT.REL= DT.SCT= DT.SMX= DT.SP = DT.SSI= DT.STO= DT.ST1= DT.SWR= DT.SYP= DT. WBU= DT.WHL= DT.WLL= DVIDl = ECCMEM= ECCSTA= ENBEOP= ENBNUL= ENDLST= EOPBIT= MACY 11 30A(1052) SYMBOL TABLE 000003 000017 000025 000011 000400 000000 100000 000014 000042 000100' 000076 000034 000014 000016 000020 000044 000000 000060 000037 000036 000104 000024 000026 000022 000030 000032 000110 000070 000074 000002 000062 000004 000064 000102 000040 000066 000106 000006 000046 000010 000012 000056 000072 000050 000054 000052 000014 000100 000010 010000 000001 000000 000001 20-SEP-78 ERRTYP= EVNTBE= EVNTHD= EVNTKT= EVNTPE= EVNTRE= FATERR= HRDCNT= HRDPAS= ICONT = r.COUNT= IDNUM = IE INDPAR= INHDRP= INHEPR= INHREL= 1NHRRE= INIT INTR IOMOD IOMODP= IOMODR= 1OMODX= JACK ::: KIPARO= KIPAR1= KIPAR2= KIPAR3= KIPAR4= K1PAR5= KIPAR6= KIPAR7= KIPDRO= KIPDR1= KIPDR2= KIPDR3= KIPDR4= KIPDR5= KIPDR6= KIPDR7= KTERRO= KTPRES::: KTSTAT= KTXTND:;: LF LPSTAT= MAPSTA= MED MEMPAS= MODEXH= MODHOL= MODSEL= 18:3.2 PAGE 20 SEQ 0930 000106 000200 000200::1 000203 000202 000201 100000 000044 000050 000036 000040 000122 000100 000040 040000 020000 001000 000400 000030 000120 100000 102000 112000 110000 035060 172340 172342 172344 172346 172350 172352 172354 172356 172300 172302 172304 172306 172310 172312 172314 172316 000040 000400 000020 040000 000012 000001 000200 076600 040000 004000 002000 001000 MSGCKD= MSGCKS:= MSGDER:= MSGDRP= MSGECH= MSGEOP= MSGHDR= MSGHNG= MSGHRD= MSGMAP= MSGNUL= MsGPOP= MSGPRM= MsGRES= MSGSFT= MSGSKE= MSGSMB= MSGSMH= MSGSMS= MSGSTD= MSGSYS= MSGVEC= NBKMOD= NCPUOP== NOAP,TY= NULL OWEN PAERR = PARPRE= PARSTA= PASCNT= PDPLSI= PDP60 PDP70 PRIO PR 11 PRI4 PRI5 PRI6 PR17 PRO PR4 PR5 PR6 PR7 PS PSW RANNUM= RElUFEA= RBUFPA= RBUFSZ= RBUFVA= RDSERV= 000010 000011 000005 000017 177777 000013 000004 000022 000007 000021 177775 000002 177776 000001 000006 000003 000015 000014 000016 000000 000012 000020 001000 000020 000002 000000 02A020 000010 002000 000100 000034 020000 004000 010000 000000 000040 000200 000240 000300 000340 000000 000200 000240 000300 000340 177776 171'176 000054 000130 000126 000132 000124 000101 R!)WHMI= 000022 RELERR= 000020 REU~10D= 020000 REL TIM= 010000 RES REG 0OO03EiRG RES1 000056 000060 RES2 RICHAR= 031060 RPTDAT= 002000 RsHH = 000112 RUBOUT= 000177' RUNMOD= 100000 R5VALU:: 001740 07~,464 SAM SAVREG OOOOOORG SBADR = 000102 SBKrJlOD= 000000 SBKSEL= 010000 SC.ADR= 00000,; SC.ALC= 000014 SC,APC= 00001E; SC.CKL= 000002 SC.CKP= 000004 SC.CLO= 000 OOC) SC.HLD= 000010 SC.SCA= 000012 SENDLS= 177777 SOFCNT= 00004~! SOFPAS= 00004E; SPACE = 000040 SPOINT= 000032 SPVALU= 00220C> SRO 177572 177574 SRi 17757E, SR2 17251Ei SR3 00002E, STAT STATBI= 064757 STAT1 = 000027 SUSPND= 0000011 000062 SVRO 000064 SVR1 00006(> SVR2 00007() SVR3 000072 SVR4 000074 SVR5 00007€) SVR6 SYSCNT= 00005~~ SYSERR= 000100 TMPIO = OOOOO:~ TQOVF = OOOOO~~ UIPARO= 177640 UIPAR1= 177642 SAVRES BINDER FOR SAVREG AND RESREG SAVRES.MAC 28-JUL-7B 09:27 WBUFPA= WBUFRQ= WBUFSZ= WDFR WDTO WT INRE= WTWHMI= XFLAG = XOFF = XON $BGNLE= $ERFLG= $F$AND= $F$BAD= $F$BLA= $F$CAS= $F$DEC= UIPAR2= 177644 UIPAR3= 177646 UIPAR4= 177650 UIPAR5= 177652 UIPAR6= 177654 UIPAR7= 177656 UIPDRO= 177600 UIPOR1 = 177602 UIPDR2=.177604 UIPDR3= 177606 UIPDR4= 177610 UIPDR5= 177612 UIPDR6= 177614 UIPDR7= 177616 vJASADR= 000104 WBSTAT= 000040 WBUFEA= 000136 . ABS. 000000 000074 MACY11 30A(1052) SYMBOL TABLE 000134 000140 000142 000116 000114 000352 000222 000005 000023 000021 177777 000400 000310 000401 000170 000150 000220 000 001 ERRORS DETECTED: 0 DEFAULT GLOBALS GENERATED: 0 DSKZ:SAVRES,DSKZ:SAVRES=SPMAC/ML,EQUATE,SAVRES RUN-TIME: 12 2 .4 SECONDS RUN-TIME RATIO: 69/15=4.5 CORE USED: 14K (27 PAGES) 20-SEP-78 $F$DO $F$FAL= $F$GOO= $F$IF = $F$INC= $F$LOO= $F$NAM= $F$NO = $F$OR = $F$RTI= $F$RTN= $F$SEL= $F$THE= $F$TRU= $F$UNT= $F$WHI= $F$YES= 000340 000405 000400 000110 000210 000200 000160 000403 000320 000350 000300 000140 000330 000404 000130 000120 000402 18:32 PAGE 20-"1 $IFLEV:: LOCT A:= $LSTIN= $LSTTA:: $NEST L:= $NSKO "$SAVLE::: $TAGLE::: $TAGNU:= $TEMP .$$ARGC:= $$ BYT E:= $$CASE:= $$DST .$$ELOC:= $$ERFL= $$FLAG:= $ SEQ 0931 177777 177777 000001 00.0001 177777 000300 17"1"177 177777 050002 000300 000000 000000 000000 000000 000000 000000 000000 $$FROM= $$l.OC :::; $$LOCN= $$REG $$RETU= $$RTN1= $$RTN2= = $$SRC = $$TGSV= $$TGS1= $$TGS2= $$TO $$$TAG= 000000 000000 000000 177777 000000 050000 050001 000000 000000 000000 000000 000000 050000 000074R .MAIN. MACY11 30A(1052) 20-SEP-78 EQUATE.MAC 13-SEP-78 16:13 3 527 530 563 618 630 684 696 18:33 TABLE OF CONTENTS COMMON EQUATE MODULE COMMON DEFINITIONS AND REFERENCES FOR SELDES 000000 1 .PRINT ;SPMAC: VERSION 1.1 KSEL PROCESS THE 'SEL' KEYBOARD COMMAND KSEL ROUTINE KDES PROCESS THE IDES' KEYBOARD COMMAND KDES ROUTINE PRSEDE ROUTINE SEQ 0932 SELDES PROCESS THE KEYBOARD COMMANDS ISEL' AND IDES' MACY11 30A(1052) SELDES.MAC 10-AUG-78 17:09 COMMON EQUATE MODULE 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 .TITLE SELDES .IDENT IVO.O/ 20-SEP-78 18:33 PAGE 19 SEQ 0933 PROCESS THE KEYBOARD COMMANDS ISEL' AND IDES I ;++ MODULE PACKAGE NAME: SELDES FUNCTIONAL DESCRIPTION: THIS PACKAGE CONTAINS TWO ROUTINES: 1. KSEL - PROCESS THE KEYBOARD COMMAND 'SEL' 2. KDES - PROCESS THE KEYBOARD COMMAND 'DES' VERSION: 0.0 EDIT DATE BY REASON SELDES PROCESS THE KEYBOARD COMMANDS ISEL I AND IDES I MACY11 30A(1052) 20-SEP-78 18:33 SELDES.MAC 10-AUG-78 17:09 COMMON DEFINITIONS AND REFERENCES FOR SELDES 527 528 529 530 (1) 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 54B 549 550 551 552 553 554 555 556 557 558 559 560 561 .SBTTL PAGE 19-1 COMMON DEFINITIONS AND REFERENCES FOR SELDES .MCALL STRUC:T STRUCT .PRINT ;SPMAC: VERSION 1.1 000000' 000000' 000001 000001 $LSTIN=1 $LSTTAG=1 ;**************** , ; REFERENCED BY OTHER MODULES: , .GLOBL .GLOBL KSEL. KDES ;SELECT A MODULE ;DESELCT A MODULE ;**************** I ; GLOBAL REFERENCES: , .GLOBL .GLOBL .GLOBL .GLOBL .GL08L .GLOBL NAMCHK SAVF WHERE DTADR = ADDRESS OF CTABlE CMDBUF = COMMAND DECODE BUFFER POINTER VERSION: 0.0 613 614 18:33 EDIT ;-- DATE BY REASON SEQ 0935 SELDES PROCESS THE KEYBOARD COMMANDS ISEL I AND 'DES' SELDES.MAC 10-AUG-78 17:09 KSEL ROUTINE 618 619 620 (2) 621 622 (4) 623 624 (2) 625 626 (3) (3) (2) 627 628 .SBTTL 000002 000002 1 000010' 000010 1 000403 1 000012 000012' 000012 1 000012 1 000207 20-SEP-78 18:33 PAGE 19-3 SEQ 0936 KSEL ROUTINE ROUTINE KSEL 1 000002' 000002' 012767 MACY11 30A(1052) KSEL: LET SE.FLG 000001 177770 INLINE
ENDRTN 5,0000$ : 5,0001$: SELDES PROCESS THE KEYBOARD COMMANDS iSEL' AND 'DES'. MACY11 30A(1052) 20-SEP-78 SELDES.MAC 10-AUG-78 17:09 KDES PROCESS THE 'DES' KEYBOARD COMMAND 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 .SBTTL KDES .IDENT IVO.OI 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 PROCESS THE 'DES' KEYBOARD COMMAND MODULE NAME: KDES FUNCTIONAL DESCRIPTION: THIS ROUTINE PROCESSES THE 'DES' KEYBOARD COMMAND. IT SHALL DETERMINE IF A MODULE NAME HAS BEEN INCLUDED IN THE COMMAND STRING. IF THERE IS NO MODULE NAME, ALL MODULES' STATUS WORDS WILL HAVE THE SELECT BIT CLEARED. IF THERE IS A MODULE NAME IN THE COMMAND STRING, THE NAME MUST FIRST BE VERIFIED AND IF VALID, THE STATUS WORD IN THE MODULE WILL BE UPDATED(SELECT BIT CLEARED). INPUTS: 1. DTABLE ADDRESS 2. COMMAND DECODE BUFFER POINTER IMPLICIT INPUTS: DT.MLST DT.STO OUTPUTS: NONE IMPLICIT OUTPUTS: DT.KBRSP DT.ST1 DT.STO PATHOLOGICAL CONNECTIONS: CM. JIRG CM.BADNAME SUBORDINATE ROUTINES CALLED: SAVHEG RESF~EG FUNCTIONAL SIDE EFFECTS: NONE CALLING SEQUENCE: CALL KDES IN WHERE DTADR = ADDR~SS OF DTABLE CMDBUF = COMMAND DECODE BUFFER POINTER VERSION: 0.0 679 680 681 682 PAGE 19-4 ;++ 648 649 650 651 18:33 , '-- EDIT DATE BY f~EASON SEQ 0937 SELDES PROCESS THE KEYBOARD COMMANDS 'SEL' AND 'DES' SELDES.MAC 10-AUG-78 17:09 KDES ROUTINE 684 685 686 (2) 687 688 689 690 691 692 (4) 693 694 .SBTTL MACY11 30A(1052) 20-SEP-78 18:33 PAGE 19-5 SEQ 0938 KDES ROUTINE ROUTINE KDES 000014' 000014' I1:DES: j+ ; SET THE FLAG TO DESELECT AND CALL THE COMMON ROUTINE , '- 000014' 000014' 005067 LET SE.FLG ::= #0 177760 CLR SE.FLCi SELDES PROCESS THE KSYBOARD COMMANDS 'SEL' AND 'DES' SELDES.MAC 10-AUG-78 17:09 PRSEDE ROUTINE 696 697 698 (2) 699 700 701 702 703 704 (3) 705 (4) 706 707 708 709 710 711 (4) 712 (4) 713 714 715 716 717 718 719 720 721 722 723 724 (4) (3) (4 ) (3 ) (3 ) (4) 725 726 (6) 727 728 729 730 731 732 733 734 735 736 737 738 739 .SBTTL MACY11 30A(1052) 20-SEP-78 18:33 PAGE 19-6 SEQ 0939 PRSEDE ROUTINE INLI NE 000020' 000020 1 PRSEDE: ;+ ; SAVE REGIStERS AND SAVE CTABLE ADDRESS ;- 000020 1 000020' 004767 000024' 000024' 016500 CALL SAVREG OOOOOOG JSR PC,SAVREG MOV DTADR(R5),RO MOV DT.MLST(RO),R1 MOV CMDBUF(R5),R2 SUB M8V MOV JSR MOV MOV #1*2,F/5 R5,-(SP) R2,-(H5) PC,ARGCHK (SP)+,.R5 (R5)+,.R2 Bce 50002$ LET RO := DTADR(R5) 000000 ;+ ; GET ADDRESS OF MODULE LIST AND SAVE DECODE BUFFER POINTER 000030 1 000030' 016001 0000341 000034' 016502 LET R1 .- DT.MLST(RO) 000032 LET R2 .- CMDBUF(R5) 000002 ;+ ; ADVANCE DECODE BUFFER PTR TO FIRST NON SPACE CHARACTER. ; IF IT'S A , SELECT ALL MODULES - IF NOT A ; GO VERIFY THE MODULE NAME ;- 000040' 000040' 000044' 000046' 000050' 000054' 000056' CALL ARGCHK IN OUT 162705 010546 010245 004767 012605 012502 000060' 000060' 103047 000002 OOOOOOG IF.ERROR THEN ;+ ; ITS A CR SO SELECT - DESELECT THEM ALL ;+ ; IF WE ARE SELECTING, SET BIT 14. ; IF WE ARE DESELECTING, CLEAR BIT 14. ;- 000062 1 IF SE.FLG GT #0 THEN I SELDES PROCESS THE KEYBOARD COMMANDS ISEL I AND IDES PRSEDE ROUTINE 10-AUG-7B 17:09 SELDES.MAC (6) (9 ) 740 (4) (6) (9) 741 742 743 744 745 746 747 .( 4) 748 749 (6) 750 (4 ) (6) 751 (6) (9) 752 (6) 753 (4) 754 755 (4 ) (3) 756 (6) (9) 757 (6 ) 758 (4) 759 760 (4) (3 ) 761 762 (6) 763 (4 ) (6) (9) 764 765 766 767 768 769 770 000062 1 000066 1 000070 1 000070 1 000070 1 000072 1 005767 003431 2C':-SEP-78 MACY11 30A(1052) 18:33 PAGE 19-7 SEQ 0940 177712 ~JHI T5T BLE SE.FLGi 50003$ TST SEQ ( R1 ) 50005$ MOV (R1}+,R2 SIS #BIT14,STAT(R2) MOV 8IC #STATElITS, R4 LE ( R1 ) NE #0 DO 5,0004$ : 005711 001417 ;+ ; GET A MODULE HEADER ADDRESS FROM MODULE LIST, UPDATE ; STATUS WORD, ADVANCE TO GET NEXT MODULE HEADER ADDRESS. ;- LET R2 000074 1 000074 1 012102 000076 1 000076 1 000104 1 000104 1 000110 1 000114 1 000114 1 000120 ' 000122 1 000122 1 000130 1 000130 1 000130 ' 000130 ' 000132 ' 000132 1 000132 1 000140 1 000142 1 000142 1 000150 1 000150 1 ·- (R 1 ) + LET STAT(Fl2) 052762 040000 016204 042704 000026 064757 020427 001003 000000 052760 010000 000026 LET R4 ·- .- STAT(R2) SET.BY #BIT14 STAT(R2) CLR.BY #STATBITS IF R4 EQ #SBKMOD THEN CMP LET DT.ST1(RO) .- 000012 R4, #SE~KMOD 50006'1; BNE DT.ST1(RO) SET.BY #SBKSEL. #SElKSEL,D".ST1(R SIS ENDIF SOO06$: ENDDO BR 000757 IF #RUNMODE SETIN DT.STO(RO) THEN 032760 001403 100000 000010 052760 001000 000010 000152 1 000152 1 052760 000160 1 000160 1 000160 1 005711 000162 1 001405 50004$ :>0005$ : BIT SEQ LET DT.STO(RO) := DT.STO(RO) SET" BY #MODSEL BIS #RUNMODE,DT.STO( 50007$ #MODSEL,DT.STO(R ENDIF SOO07$: ELSE 000150 1 000150 1 000412 000152 1 ~50003$ LET DT.ST1(RO) 100000 000012 ·- BR 50010$ BIS #CKTIM,DT.ST1(RO TST BEQ (R 1 ) 50012$ : DT.ST1(RO) SET.BY #CKTIM WHILE ( R1) NE #0 DO ~50011$: ;+ ; GET A MODULE HEADER ADDR:SS FROM MODULE, LIST, UPDATE ; STATUS WOIW, ADVANCE TO GET NEXT MODULE HEADER ADDRESS . i- 000164 1 STAT(~12),R4 LET R2 ·- (R 1 )+ SELDES· PROCESS THE KEYBOARD COMMANDS 'SEL' AND 'DES' SELDES.MAC 10-AUG-78 17:09 PRSEDE ROUTINE (4) 771 (6) 772 773 (4) (3) 774 775 (4) 776 777 778 (4) (3) 779 780 781 782 783 784 (4) (3) (5) (4) (3) (3) (4) (4) 785 786 787 788 789 790 (6) 791 792 793 794 795 796 797 798 (4) (3) (4) (3) (3) (4) 799 (6) BOO B01 B02 B03 000164' 012102 000166' 000166' 042762 044000 MACY11 30A(105~) 20-SEP-78 18:33 PAGE 19-8 SEQ 0941 MOV LET 5TAT(R2) .- STAT(R2) CLR.BY #BIT14!ACTBIT BIC 000026 ENDDO U00174' 000174' 000771 000176' (R1 )+,F~2 #BIT14! ACTSI·T ,ST BR 50011 $ BR 50013$ SUB MOV MOV MOV JSR MOV MOV MOV #2*2,R5 R5,-(SP) R2,-(R5) RO,-(R5) PC,NAMCHK (SP)+,R5 (R5)+,R3 (R5)+,R2 BCS 50014$ SUB MOV MOV JSR MOV MOV #1*2,R'5 R5,-(SP) R2,-(R:5) PC,ARGiCHK (SP)+,R5 (R5)+,R2 BCC 50015$ 50012$: ENDIF 000176' 000176' 000176' 000176' 000472 000200' 50010$: ELSE 50002$: ;+ ; THERE IS A MODULE NAME, SO GO CHECK IT OUT ;- 000200' 000200' 000204' 000206' 000210' 000212' 000216' 000220' 000222' CALL NAMCHK IN OUT 162705 010546 010245 010045 004767 012605 012503 012502 000004 OOOOOOG ;+ ; SEE IF NAME O.K. ; WILL BE IN R3. IF IT WAS, THE MODULE HEADER ADDRESS IF.NO.ERROR THEN 000224' 000224' 103454 ; CALL ARGCHK AGAIN TO SEE IF ANY ; MORE ARGUMENTS (IF SO, THEY ARE ILLEGAL) j- 000226\ 000226' 000232\ 000234' 000236' 000242' 000244' 000246' 000246' CALL ARGCHK IN OUT 162705 010546 010245 004767 012605 012502 000002 OOOOOOG IF.ERROR THEN 103037 j+ ; ITIS A CR, SO ALL IS WFL~, SO IF SELECTING - SET BIT 14 ; AND IF DESELECTING - CLEAR BIT 14 SELDES PROCESS THE KEYBOARD COMMANDS 'SEL' AND 'DES' SELDES.MAC 10-AUG-78 17:09 PRSEDE ROUTINE 804 805 806 807 808 (6) (9) 809 (6) 810 (6) (9) 811 (6) 812 (4) 813 (4) (6) 814 (6) (9) 815 (6) 816 (4 ) 817 (4) (3 ) 818 819 820 821 822 823 824 (6) 825 (6 ) 826 (4) 827 (4) (3) 828 829 83U 831 832 833 (4) 834 (4) 835 (4) (3) MACY11 30A(1052) 20-SEP-78 18:33 PAGE 19-9 SEQ 0942 , 000250' 000250' 000254' 000256' 000256' 000264' 000264' 000272' 000274' 000274' 000302' 000302' 000302' 000302' 000306' 000312' 000312' 000316' 000320' 000320' 000326' 000326' 000326' 000326' 000330' IF SE.FLG GT #0 THEN 005767 003425 177524 052763 040000 000026 032760 001403 100000 000010 052760 001000 000010 016304 042704 000026 064757 020427 001003 000000 052760 010000 SE.FLG TST 50016$ BlE LET STAT(R3) := STAT(R3) SET.BY #BIT14 #BIT14,STAT(R3) BIS IF #RUNMODE SETIN DT.STO(RO) THEN #RUNMODE,DT,STO( BIT 50017$ BEQ LET DT.STO(RO) - DT.STO(RO) SET.BY #MODSEL #MODSEL,DT.STO(R BIS ENDIF 50017$: LET R4 := STAT(R3) CLR.BY #STATBITS STAT(R3),R4 MOV #STATBITS,R4 BIC IF R4 EQ #SBI IDES I PRSEDE ROUTINE 10-AUG-78 17:09 SELDES.MAC 836 837 838 839 840 841 842 (4) 843 (4) 844 845 (4) 846 847 848 849 850 851 (3 ) 852 853 (3 ) (3) (.2 ) 854 855 Mt'.CY11 30A(1052) 20-SEP-78 18:33 PAGE 19-10 SEQ 0943 ;+ ; THERE WAS AN ERROR IN SYNTAX OF MODULE NAME ; SO STUFF THE INVALID MODULE NAME ERROR MSG , 000356 1 000356 1 012760 000364 1 000364 1 LET DT.KBRSP(RO) := #CM.BADNAME OOOOOOG 000022 MOV #CM.BADNAME,DT.K JSR PC,RESREG RTS PC ENDIF 5·00235 : ENDtF 000364 1 000364 1 5·0013$: ;+ ; CLEAN UP , 000364 000364 1 000370 000370 000370 000370 1 1 CALL RESREG 004767 OOOOOOG ENDRTN :;0000$ : :;0001$: 1 1 1 000207 000001 .END SELDES PROCESS THE KEYBOARD COMMANDS 10-AUG-78 17:09 SELDES.MAC ACSR ACTBIT= ADDR22= ADR APTFER= APTPRE= ARGCHK= ASB ASSEMB= ASTAT = AUTO AUTOST= AWAS BITO SITOO Bli01 B1T02 BIT03 B1T04 BIT05 BIT06 BIT07 ;: B.I TOB BIT09 BIT1 BIT10 BIT11 BIT12 BIT13 BIT14 BIT15 6IT2 BIT3 8IT4 BIT5 BIT6 BIT7 BITB BIT9 BKDEF BKMOD BKMODE= BKSLSH= CAPRES= CASTAT= CDERCT= CDWDCT= CKT1M = CLKPRE= CMDBUF= CM.ARG= CM.BAD= CONFIG= 000102 004000 001000 000006 000004 000200 ****** G 000106 000010 000104 000010 020000 000110 000001 000001 000002 000004 000010 000020 000040 000100 000200 000400 001000 000002 002000 004000 010000 020000 040000 100000 000004 000010 000020 000040 000100 000200 000400 001000 000002 000020 040000 000134 000004 000004 000146 000144 100000 000001 000002 ****** G ****** G 000056 CQOVF CR CSRA CSRC CTRLC CTRLO CTRLU DCEVNT= DEFRTN= DIAGMC= DROP\V10= DSEVNT= DTADR == DT.ADD= DT.AP = DT.APK:;: DT.BLS= DT.CFO= DT.CF1= DT.ERR= DT.ESI::: DT.EVN= DT.EXS= DT.FCH= DT.FCN= DT.HMX= DT.KBE= DT.KBP= DT.KBR= DT.KBU= DT.MLS= DT.MTI= DT.OFF= DT.PAS= DT.PC = DT.PFL= DT.PSW= DT.PTA= DT.RCS:: DT.REL= DT.SCT= DT.SMX= DT.SP = DT.SSI= DT.STO= DT.ST1= DT.SWR= DT.SYP= DT.WBU= DT.WHL= DT.WLL= DVlD1 = ECCMEM= I SEL I AND 'DES ' SYMBOL TABLE 000001 000015 000100 000102 000003 000017 000025 000011 000400 000000 100000 000014 000000 000042 000100 000076 000034 000014 000016 000020 000044 000000 000060 000037 000036 000104 000024 000026 000022 000030 000032 000110 000070 000074 000002 000062 000004 000064 000102 000040 000066 000106 000006 000046 000010 000012 000056 000072 000050 000054 000052 000014 000100 MACY11 30A(1052) ECCSTA= ENBEOP= ENBNUL= ENDLST= EOPBIT= ERRTYP= EVNTBE= EVNTHD= EVNTKT= EVNTPE= EVNTRE= FATERR= HRDCNT== HRDPAS= ICONT = ICOUNT= 1DNUM = IE INDPAR= lNHDRP= INHEPR= lNHREL';' INHRRE= INIT INTR IOMOD IOMODP= IOMODR= IOMODX= JACK KDES KIPARO= KIPAR1= KIPAR2:;: KIPAR3= KIPAR4= KIPAR5= KIPAR6::: KIPAR7== KIPDRO= KIPDR1= KIPDR2= KIPDR3= KIPDR4= KIPDR5= KIPDR6= KIPDR7= KSEL KTERRO= KTPRES= KTSTAT= KTXTND= LF 000010 010000 000001 000000 000001 00010S 000200 000200 000203 000202 000201 100000 000044 000050 000036 000040 000122 000100 000040 040000 020000 001000 000400 000030 000120 100000 102000 112000 110000 035060 000014RG 172340 172342 172344 172346 172350 172352 172354 172356 172300 172302 172304 172306 172310 172312 172314 172316 000002~~G 000040 000400 000020 040000 000012 20-SEP-78 18:33 PAGE 20 SEQ 0944 LPSTAT=: MAPST A=: MED MEMPAS=: MODEXH:: MODHOL=: MODSEL== MSGCf 17251f) 000026 064757 000027 00000 'I 000062 000064 00006f3 SELDES PROCESS THE KEVBOARD COMMANDS ISEL I AND IDESI SELDES.MAC· 10-AUG-78 17:09 SYMBOL TABLE SVR3 SVR4 SVR5 SVR6 SVSCNT= SVSERR= TMPIO = TQOVF = UIPARO= UIPAR1= UIPAR2= UIPAR3= UIPAR4= UIPAR5= UIPAR6= UIPAR7= UIPDRO= UIPDR1= UIPDR2= UIPDR3= UIPDR4= UIPDR5= 000070 000072 000074 000076 000052 000100 000002 000002 177640 177642 177644 177646 177650 177652 177654 177656 177600 177602 177604 177606 177610 177612 ABS. 000000 000372 UIPDR6= UIPDR7= WASADR= WBSTAT= WBUFEA= WBUFPA= WBUFRQ= WBUFSZ= WDFR \fJOTO WTINRE= WHJHMI= XFLAG = XOFF XON $BGNLE= $ERFLG= $F$AND= $F$BAD= $F$BLA= $F$CAS= $F$DEC= 177614 177616 000104 000040 000136 000134 000140 000142 000116 000114 000352 000222 000005 000023 000021 177777 000400 000310 000401 000170 000150 000220 000 001 ERRORS DETECTED: 0 DEFAULT GLOBALS GENERATED: 0 DSKZ:SELDES,DSKZ:SELDES=SPMAC/Ml,EQUATE,SELDES RUN-TIME: 17 8 .4 SECONDS RUN-TIME RATIO: 91/26=3.4 CORE USED: 14K (27 PAGES) MACV11 30A(1052) $F$DO= $F$FAL= $F$GOO::: $F$IF = $F$INC= $F$LOO= $F$NAM= $F$NO ::: $F$OR = $F$RTI= $F$RTN= $F$SEL= $F$THE= $F$TRU= $F$UNT= $F$WHI= $F$VES= $IFLEV= $ISKO $ISK1 $ISK2 $ISK3 000340 000405 000400 000110 000210 000200 000160 000403 000320 000350 000300 000140 000330 000404 000130 000120 000402 177777 000001 000001 000001 000001 20-SEP-78 $ISK4 $LOCTA= $LSTIN= $LSTTA= $NESTL= $NSKO $NSK1 $NSK2 $NSK3 $NSK4 $NSK5 $SAVLE= $SSKO = $TAGLE= $TAGNU= $TEMP $TSKO $TSK1 $TSK2 $TSK3 $TSK4 $$ARGC= 18:33 000001 177777 000001 000001 177777 000300 000110 000110 000110 000110 000110 177777 050012 177777 050024 000:300 050013 050023 050022 050021 050020 000004 PAGE 20-1 SEQ 0945 $$BYTE= $$CASE= $$DST = $$ELOC= $$ERFL= $$F LAG= $$FROM= $$LOC = $$LOCN= $$REG = $$RETU= $$RTN1= $$RTN2= $$SRC = $$TGSV= $$TGS1= $$TGS2= $$TO $$$TAG= 000403 000000 000000 000402 000000 000001 000000 000316f~ 000000 177777 000000 050000 050001 000000 000000 000000 000000 000000 050000 0003721~ .MAIN. MACY11 30A(1052) 20-SEP-78 EQUATE.MAC 13-SEP-78 16:13 3 555 558 577 18:35 TABLE OF CONTENTS COMMON EQUATE MODULE COMMON DEFINITIONS AND REFERENCES 000000' .PRINT STRAP ROUTINE ;SPMAC: VERSION 1.1 SEQ 0946 STRAP (FIELD SOFTWARE TRAP) STRAP.MAC 28-JUL-78 09:27 MACY11 30A(1052) 20-SEP-78 18:35 COMMON EQUATE MODULE PAGE 19 508 509 510 .TITLE STRAP (FIELD SOFTWARE TRAP) .IDENT IVO.O/ 311 ;++ 512 513 514 515 MODULE NAME: STRAP FUNCTIONAL DESCRIPTION: 516 517 518 THIS ROUTINE IS ENTERED BY ANY ONE OF SEVERAL SOFTWARE TRAPS (I.E. MSGN, GWBUFF, ETC.)FROM DECX/11 OPTION MODULES. AN EVENT CODE IS GENERATED AND PUSHED ONTO THE STACK. THERE IS ONE ENTRY POINT FOR A SOFTWARE TRAP THRU LOC. 34. 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 5~9 540 541 542 543 544 545 546 54'1 548 549 550 551 552 553 SEQ 0947 INPUTS: NONE. IMPLICIT INPUTS: SOFTWARE TRAP INSTRUCTION (THRU LOCATION 34) OUTPUTS: NONE IMPLICIT OUTPUTS: EVENT CODE PATHOLOGICAL CONNECTIONS: NONE. SUBORDINATE MODULES CALLED: NONE. FUNCTIONAL SIDE EFFECTS: NONE. CALLING SEQUENCE: CALLED BY A 1044XX TRAP INSTRUCTION XX = THE CODE FOR THE PARTICULAR TRAP INSTRUCTION. VERSION: 0.0 EDIT j-- BY OP-.TE REASON STRAP (FIELQ SOFTWARE TRAP) STRAP.MAC 28-JUL-78 09:27 MACY11 30A(1052) 20-SEP-78 18:35 PAGE 19-1 COMMON DEFINITIONS AND REFERENCES .SBTTL COMMON DEFINITIONS AND REFERENCES 555 556 557 558 ( 1) 000000' 000000 ' .PRINT 559 000001 560 561 000001 562 563 ;**************** 564 ; f , 565 566 568 569 570 BY OTHER MODULES STINT ST.EXT ;ENTRY ADDRESS OF FIELD SOFTWARE TRAP ROUTINE ;ADDRESS TO EXIT THROUGH :**************** , 571 572 573 574 575 REFERE~CED .GLOBL .GLOBL 567 ~- .MCALL STRUCT STRUCT ;SPMAC: VERSION 1.1 $LSTIN = 1 $LSTTAG = 1 ;LOCAL STORAGE: ; 000000' 000000 ST.EXT: .WORD o ;ADDRESS TO EXIT THIS MODULE THRU SEQ 0948 STRAP (FIELD SOFTWARE TRAP) STRAP.MAC 28-JUL-78 09:27 577 578 579 580 581 582 583 584 (2) 585 586 587 588 589 590 (2) 591 (4) 592 (4) 593 594 595 596 597 598 599 (6) 600 (2 ) 601 (4 ) 602 (4) 603 604 605 MACY11 30A(1052) 20-SEP-78 STRAP ROUT II\IE 18:35 PAGE 19-2 SEQ 0949 .SBTTL STRAP ROUTINE ;+ ;ENTER HERE FOR SOFTWARE TRAP ,' - INLINE 000002' 000002 1 STINT: ;+ ; SAVE REGISTER AND RETRIEVE PC+2 FROM STACK AND DETERMINE ACTUAL TRAP ADDRESS 'f - 000002 1 000002 1 010046 000004 1 000004 1 016600 000010 1 000010 1 014000 PUSH RO LET RO .- LET RO : = -(RO) 000002 MOV RO,-(SP) MOV 2(SP),RO MOV -(RO),RO BIC #177400,RO MOV RO,-(SP) MOV 2(SP),RO MOV (SP)+, (SP) 2(SP) ;+ ; IDENTIFY TRAP AND SAVE EVENT CODE ON STACK, RESTORE REGISTER ; AND CLEAN UP STACK AND EXIT ROUT1NE ;- 000012 1 000012 1 000016 1 000016 1 000020 1 000020 1 000024 1 000024 1 000026 1 042700 012616 000177 000001 RO CLR.BY #177400 RO PUSH RO LET RO ::= 2(SP) LET (SP) JMP @lST . EXT 010046 016600 .,- LET 177400 00000:2 177746 .END : = (SP)+ STRAP (FIELD SOFTWARE TRAP) 28-JUL-78 09:27 STRAP.MAC ACSR ACTBIT= ADDR22= ADR APTFER= APTPRE= ASS ASSEMB= ASTAT = AUTO = AUTOST= AWAS BITO BITOO :: BIT01 BIT02 BIT03 BIT04 BIT05 BIT06 BIT07 BITOB BIT09 B1T1 BIT10 = BIT11 = BIT12 BIT13 = BIT14 = BIT15 BIT2 3IT3 BIT4 BITS BIT6 BIT7 BITB = BIT9 BKDEF BKMOO BKMODE= BKSLSH= CAPRES= CASTAT= CDERCT= CDWDCT= CKTIM = CLKPRE= CONFIG= CQDVF CR CSRA CSRC 000102 004000 001000 000006 000004 000200 000106 000010 000104 000010 020000 000110 000001 000001 000002 000004 000010 000020 000040 000100 000200 000400 001000 000002 002000 004000 010000 020000 040000 100000 000004 000010 000020 000040 000100 000200 000400 001000 000002 000020 040000 000134 000004 000004 000146 000144 100000 000001 000056 000001 000015 000100 000102 20-SEP-78 MACY 11 30A(1052) SYMBOL TABLE 18:35 ERRTYP= EVNTBE= EVNTHD= EVNTKT= EVNTPE= EVNTRE= FATERR= HRDCNT= HRDPAS= IeONT = ICOUNT= IDNUM = IE INDPAR= INHDRP= INHEPR= INHREL= INHRRE= INIT INTR IOMOD IOMODP::: IOMODR= IOMOOX= JACK KIPARO= KIPAR1= KIPAR2= KIPAR3= KIPAR4= KIPAR5= KIPAR6= KIPAR7== KIPDRO= KIPDR1= KIPDR2= KIPDR3= KIPOR4= KIPDR5= KIPDR6= KIPOR7= KTERRD= KTPRES= KTSTAT= KTXTND= LF LPSTAT= MAPSTA= MED MEMPAS= MODEXH= MODHDL= MOOSEL= 000106 000200 000200 000203 000202 000201 100000 000044 000050 000036 000040 000122 000100 000040 040000 020000 001000 000400 000030 000120 100000 102000 112000 110000 035060 172340 172342 172344 172346 172350 172352 172354 172356 172300 172302 172304 172306 172310 172312 172314 172316 000040 000400 000020 040000 000012 000001 000200 076600 040000 004000 002000 001000 CTRLC CTRLO .: CTRLU = DCEVNT= DEFRTN= DIAGMC= DROPMO= DSEVNT= DT.ADD= DT.AP = DT.APK= DT.BLS= DT.CFO= DT.CF1= DT.ERR= DT.ES1= DT.EVN= DT. EXS=. OT.FCH= DT.FCN= DT.HMX= DT.KBE=' DT.KBP= DT.KBR= DT.KBU= DT.MLS= OT.MTI= Dr.OFF= DT~PAS= DT.PC = DT.PFL= DT.PSW= OT.PTA= DT.RCS: DT.REL= DT.SCT= DT.SMX= DT.SP = DT.SSI= DT.STO= OT.ST1= DT.SWR= DT.SYP= OT.WBU= OT.WHL= DT.WLL= OVID1 = ECCMEM= ECCSTA:: ENBEDP= ENBNUL= ENOLST= EOPBIT=- 000003 000017 000025 000011 000400 000000 100000 000014 000042 000100 000076 000034 000014 000016 000020 000044 000000 000060 000037 000036 000104 000024 000026 000022 000030 000032 000110 000070 000074 000002 000062 000004 000064 000102 000040 000066 000106 000006 000046 000010 000012 000056 000072 000050 000054 000052 000014 000100 000010 010000 000001 000000 000001 PAGE 20 SEQ 0950 MSGCKD;;: MSGCKS:: MSGDER::z MSGDRp:: MSGECH:: MSGEOp:: MSGHDR= MSGHNG= MSGHRD:= MSGMAp:= MSGNUL:= MSGPOp:= MSGPRM= MSGRES= MSGSFT= MSGSKE= MSGSMB= MSGSMH= MSGSMS= MSGSTD= MSGSYS= MSGVEC= N8KMOD= NCPUOP= NOAPTY= NULL OlllEN PAERR PARPRE= .'PARSTA= PASCNT= PDPLSI= PDP60 PDP70 PRIO PRI1 PRI4 PRI5 PRIG PRI7 PRO PR4 = PR5 PR6 PR7 PS PSW Rt\NNUM= RBUFEA= RBUFPJ\= RBUFSZ= RBUFVA= RDSER\(= 000010 00001 1 000005 000017 177777 000013 000004 000022 000007 000021 177775 000002 1'77776 000001 000006 000003 000015 000014 000016 000000 000012 000020 001000 000020 000002 000000 024020 000010 002000 000100 000034 020000 004000 010000 000000 000040 000200 000240 000300 000340 000000 000200 000240 000300 000340 177776 177776 000054 000130 000126 000132 000124 000101 ROWHMI= R::'LERR= RELMOD= REL TIM'= RES1 RES2 RICHAR= RPTDAT= RSTRT = RUBOUT= RUNMOD= R5VALU= SA.M SBADR = SBKf',10D= SBKSEL= SC.ADR= SC.ALC= SC.APC= SC.CKL= SC.CKP= SC.CLO= SC.HLD= SC.SCA= SENDLS= SOFCNT= SOFPAS= SP.c,CE = SPOINT= SPVALU= SRO SRl SR2 SR3 STAT = STATBI= STATl = STINT ST.EXT SUSPND= SVRO SVR1 000022 000020 020000 010000 000056 000060 031060 002000 000112: 000177 1000001 001740 075464 000102 000000 010000 OOOOOE; 000014 00001E; 000002 000004 000000 00001() 000012 177777 000042 00Cl04G 000040 00003~2 002200 177572 177574 17757(3 17251(3 00002(3 064757 000027 OOOOO:2RG OOOOOORG 000001 OOOOG:2 000064 0000613 SVF~2 SVR3 =.000070 SVR4 00007:2 SVR5 000074 000076 SVR6 SYSCNT= 000052 SYSERR= 000100 TMPIO -. 000002 TQOVF -, 000002 UI PARO:: 177640 UIPAR1=: 177642 STRAP (FIELD SOFTWARE TRAP) 28-JUL-78 09:'27 STRAP.MAC UIPAR2= UIPAR3= UIPAR4= UIPAR5= UIPAR6= UIPAR7= UIPDRO= UIP,)R1= UIPDR2= UIPDR3= UIPDR4= UIPDR5= UIPDR6= UIPDR7= WASADR= WBSTA1= WBUFEA= 177644 177646 177650 177652 177654 177656 177600 177602 177604 177606 177610 177612 177614 177616 000104 000040 000136 ASS. 000000 000032 MACY11 30A(1052} 20-SEP-78 SYMBOL TABLE 18:35 $F$DO = $F$FAL= $F$GOO= $F$IF '. $F$INC= $F$LOO= $F$NAM= $F$NO = $F$OR :: $F$RTI= $F$RTN= $F$SEL= $F$THE= $F$TRU= $F$UNT= $F$WHI= $F$YES= 000340 000405 000400 000110 000210 000200 000160 000403 000320 000350 000300 000140 000320 000404 000130 000120 000402 WBUFPA= WBUFRQ= WBUFSZ= WDFR = WDTO WTINRE= WTWHMI= XFLAG = XOFF = XON $SGNLE= $ERFLG= $F$AND= $F$SAD= $F$SLA= $F$CAS= $F$DEC= 000134 000140 000142 000116 000114 . 000352 000222 000005 000023 000021 177777 000400 000310 000401 000170 000150 000220 000 001 ERRORS DETECTED: 0 DEFAULT GLOBALS GENERATED: 0 DSKZ:STRAP,DSKZ:STRAP=SPMAC/ML,EQUATE,STRAP RUN-TIME: 11 1 .3 SECONDS RUN-TIME RATIO: 64/13=4.8 CORE USED: 14K (27 PAGES) PAGE 20-1 SEQ 0951 $IFLEV=: $LOCTA= $LSTIN=: $LSTTA=: $NESTL= $SAV LE:: $TAGLE:: $T AGNU:: $TEMP = $$ARGC= $$BYTE:: $$CASE:: $$D5T .$$ELOC:: $$ERFL:: $$FLAG:: $$FROM= 177777 177777 000001 000001 177777 177777 177777 050000 000402 000000 000000 000000 000000 000000 000000 000000 000000 $$LOC = $$ LOCN=' $$REG = $$RETU= $$RTN1= $$RTN2= $$SRC = $$TGSV= $$TG51= $$TGS2= $$TO $$$TAG= 000000 000000 177777 000000 000000 000000 000000 000000 00000:) 000000 000000 050000 000032R .MAIN. MACY11 30A(1052) 20~SEP-78 EQUATE.MAC 13-SE?-78 16:13 3 534 600 603 627 779 826 833 903 951 961 990 1045 1060 1129 1155 1218 1233 1328 1385 1417 1547 1602 1616 1683 1731 1740 1781 183~ 1856 1A:36 TABLE OF CONTENTS COMMON EQUATE MODULE CLKCHK - SYSTEM CLOCK CHECK COMMON DEFINITIONS AND REFERENCES 000000 I • PR I NT ; SPMAC: VERSION 1.1 CHECK FOR SYSTEM CLOCK ROUTINE CLKOFF - SYSTEM CLOCK-OFF COMMON DEFINITIONS AND REFERENCES CLKOFF ROUTINE CLKON SYSTEM CLOCK-ON COMMON DEFINITIONS AND REFERENCES CLKON ROUTINE PRHMS PROCESS HOURS, MINUTES, AND SECONDS CONVERSION COMMON DEFINITIONS AND REFERENCES PROCESS HOURS, MINUTES AND SECONDS CONVERSION ROUTINE LDTIME - LOAD CONVERTED TIME PRPSCNT PROCESS PASS COUNT TIME COMMON DEFINITIONS AND REFERENCES PROCESS PASS COuNT TIME ROUTINE HMS HOURS, MINUTES, AND SECONDS CONVERSION COMMON DEFINITIONS AND REFERENCES HOURS, MINUTES AND SECONDS CONVERSION ROUTINE UPDTIM UPDATE MODULE PASS TIME COMMON DEFINITIONS AND REFERENCES UPDATE TIME ROUTINE CLRTIM CLEAR TIME FROM SYSTEM CLOCK TIME TABLES COMMON DEFINITIONS AND REFERENCES CLEAR TIME ROUTINE CKHUNG CHECK FOR HUNG OPTION MODULES COMMON DEFINITIONS AND REFERENCES CHECK MODULE HUNG ROUTINE SEQ 0952 SYSCLK SYSTEM CLOCK BINDER MODULE SYSCLK.MAC 28-JUL-78 09:28 508 509 510·' 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 MACY11 30A(1052) 20-SEP-78 COMMON EQUATE MODULE .TITLE .IDENT 18:36 PAGE 19 SEQ 0953 SYSCLK SYSTEM CLOCK BINDER MODULE IVO.OI ;++ MODULE PACKAGE NAME: SYSCLK FUNCTIONAL DESCRIPTION: BINDER FOR THE FOLLOWING MODULES: CLKCHK - SYSTEM CLOCK CHECK CLKOFF - TURN SYSTEM CLOCK OFF CLKON - TURN SYSTEM CLOCK ON PRHMS - PROCESS HOURS, MINUTES AND SECONDS CONVERSION PRPSCNT - PROCESS PASS COUNT TIME HMS - HOURS, MINUTES AND SECONDS CONVERSION UPDTIM - UFDATE PASS TIME CLRTIM - CLEAR MODULE TIME TABLE CKHUNG - CHECK FOR HUNG OPTION MODULE VERSION: 0.0 EDIT' ;-- DATE BY REASON SYSCLK SYSTEM CLOCK BINDER MODULE SYSCLK.MAC 28-JUL-78 09:28 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 MACY11 30A(1052) 20-SEP-76 COMMON EQUATE MODULE 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 58-4 58,5 586 587 588 PAGE 19-1 .SBTTL CLKCHK - SYSTEM CLOCK CHECK .1DENT /VO.O/ ;++ MODULE NAME: CLKCHK FUNCTIONAL DESCRIPTION: THIS MODULE DETERMINES IF A CLOCK IS AVAILABLE ON THE SYSTEM. THIS IS ACCOMPLISHED BY FIRST CHECKING TO SEE IF A KW11~L AND/OR A KW11-P CLOCK OPTION MODULES ARE PART OF THE RUNTIME EXERCISER AND SECONDLY, . WHETHER THE CLOCK HARDWARE IS PART OF THE SYSTEM CONFIGURATION. ONCE A CLOCK HAS BEEN DETERMINED TO BE AVAILABLE THEN THE APPROPRIATE CLOCK CODE IS SET IN THE SYSTEM CLOCK INDICATOR WORD, THIS INDICATES THE TYPE OF SYSTEM CLOCK, AND ALSO SYSTEM CLOCK PRESENT BIT IN CONFIGURATION WORD a AND FINALLY THE SYSTEM CLOCK MODULE BEGIN ADDRESS IS PLACED IN THE SYSTEM CLOCK WORD. IF THERE IS NOT A SYSTEM CLOCK AVAILABLE THEN THE ABOVE WORDS WILL REFLECT THE NO CLOCK CONDITION. NOTE: 555 556 557 18:36 IF THE KW11-L IS AVAILABLE IT WILL BE USED AS THE SYSTEM CLOCK EVEN IF A KW11-P IS PRESENT. THIS MODULE WILL BE A ONE TIME ONLY ROUTINE CALLED AT INITIALIZATION OF DEC/X11. INPUTS: ADDRESS OF DTABLE IMPLICIT INPUTS: Dr. CFO DT.SCT SC.CLO SC.CKL SC.CLP SC.SCA - CONFIGURATION WORD 0 LOCATED IN DTABLE SCTAB ADDRESS SYSTEM CLOCK WORD ADDRESS OF POINTER TO KW11-L HEADER ADDRESS ADDRESS OF POINTER TO KW11-P HEADER ADDRESS SYSTEM CLOCK ADDRESS OUTPUTS: NONE IMPLICIT OUTPUTS: DT.CFO SC.CLO SC.SCA - CONFIGURATION WORD 0 LOCATED IN DTABLE - SYSTEM CLOCK WORD - SYSTEM CLOCK ADDRESS PATHOLOGICAL CONNECTIONS: NONE SUBORDINATE RduTINES CALLED: SAVREG - SAVE REGISTERS ENQTQ - TYPE-QUEUE ENQUEUER HRDADRCHK - HARDWARE ADDRESS CHECK RESREG - RESTORE REGISTERS FUNCTIONAL SIDE EFFECTS: SEQ 0954 SYSCLK SYSTEM CLOCK BINDER MODULE SYSCLK.MAC 28-JUL-78 09:28 589 590 591 592 593 594 595 596 597 598 MACY11 30A(1052) 20-SEP-78 CLKCHK - SYSTEM CLOCK CHEC~ 18:36 PAGE 19-2 SEQ 0955 NONE CALLING SEQUENCE: CALL CLKCHK IN
A= ADDRESS OF DTABLE EDIT DATE BY REASON SYSCLK SYSTEM CLOCK BINDER MODULE SYSCLK.MAC 28-JUL-78 09:28 600 601 602 603 (1) 604 605 606 607 608 609 610 611 61.2 613 614 615 616 617 618 619 6.20 621 622 6.23 6.24 625 MACY11 30A(1052) 20-SEP-78 18:36 COMMON DEFINITIONS AND REFERENCES PAGE 19-3 .SBTTL COMMON DEFINITIONS AND REFERENCES .MCALL STRUCT STRUCT .PRINT ;SPMAC: VERSION 1.1 $LSTIN =1 $L5TTAG =1 000000' 000000' 000001 000001 ;**************** i REFERENCED BY OTHER MODULES .GLOBL CLKCHK ;MODULE ENTRY POINT ;**************** ; GLOBAL REFERENCES , .GLOBL .GLOBL .GLOBL .GLOBL SAVREG HRDADRCHK ENQTQ RESFtEG ;SAVE REGISTERS ;HARDWARE ADDRESS CHECK ;ENQUEUE INTO TYPE QUEUE ;RESTORE REGISTERS ;**************** ; LOCAL STORAGE , 000000' 000006' 000014' 000022' 000030' 054523 041440 047040 040526 042514 0521.23 047514 05.2117 046111 000045 046505 045503 040440 041101 CC.CM1! . EVEN .ASCIZ /SYSTEM CLOCK NOT AVAILABLE%/ SEQ 0956 SYSCLK SYSTEM CLOCK BINDER MODULE 28-JUL-78 09:28 SYSCLK.MAC 627 628 629 (2 ) 630 631 632 633 634 635 636 637 (3 ) 638 (4) 639 (4) 640 641 642 643 644 645 (4) 646 (4) 647 648 649 650 651 652 653 (6) (9) 654 655 65€) 657 658 659 (4) 660 661 662 663 664 665 666 (4) 667 668 669 670 671 672 MACY11 30A(1052) 20-SEP-78 18:36 CHECK FOR SYSTEM CLOCK ROUTINE .SBTTL PAGE 19-4 SEQ 0957 CHECK FOR SYSTEM CLOCK ROUTINE ROUTINE CLKCHK 000034' 000034' CLKCHK: ;+ ; SAVE REGISTERS ON STACK AND RETRIEVE ; ADDRESS OF DTABLE FROM R5 STACK AND ADDRESS OF SCTAB ; FROM DTABLE 000034' 000034' 004767 000040' 000040' 016502 000044' 000044' 016203 CALL SAVREG OOOOOOG LET R2 '- DTA(R5) LET R3 '- DT.SCT(R2) 000000 000066 JSR PC,SAVREG MQV DTA(R5),R2 MOV DT.SCT(R2),R3 CLR SC.CLO(R3) CLR SC.SCA(R3) TST SEQ SC.CKL(R3) 50002$ MOV @SC.CKL(R3),RO MOV ADR(RO),R1 ;+ ; INITIALIZE SYSTEM CLOCK WORD AND SYSTEM CLOCK ADDRESS WORD 'f - 000050' 000050' 005063 000054' 000054' 005063 LET SC.CLO(R3) '- #0 000000 LET SC.SCA(R3) '- #0 000012 ;+ ; DETERMINE IF KW11-L OPTION MODULE ; IS PART OF THE RUNTIME EXERCISER ;- 000060' 000060' 005763 000064' 001423 IF SC.CKL(R3) NE #0 THEN 000002 ;+ ; GET KW11-L OPTION MODULE HEADER ADDRESS ;- 000066' 000066' 017300 LET RO := @SC.CKL(R3) 000002 ;+ ; GET KW11-L HARDWARE CSR ADDRESS FROM KW11-L ; OPTION MODULE'S HEADER ;- 000072' 000072' 016001 LET R1 + 000076' := ADR(RO) 000006 CHECK TO SEE IF KW11-L HARDWARE IS AVAILABLE CALL HRDADRCHK IN SYSCLK SYSTEM CLOCK BINDER MODULE SYSCLK.MAC 28-JUL-78 09:28 (3) (4) (3) (3) 673 674 675 676 677 678 679 680 (6) 681 (4) 682 683 684 685 686 687 688 (6) 689 (4) 690 000076' 000100' 000102' 000106' 010546 010145 004767 MACY11 30A(1052) 20-SEP-78 18:36 CHECK FOR SYSTEM CLOCK ROUTINE PAGE 19-5 SEQ 0958 MOV MOV JSR MOV OOOOOOG 012605 R5,-(SP) R 1 ,- ( R5) PC,HRDADRCHK (SP)+,R5 ;+ ; IF KW11L IS AVAILABLE THEN INDICATE KW11-L IS SYSTEM CLOCK ; IN SYSTEM CLOCK WORD. SITOO SET MEANS KW11-L IS ; SYSTEM CLOCK. 000110' 000110' 103411 000112' 000112' 012763 IF.NO.ERROR THEN sr:;S 50003$ MOV #BITOO,SC.CLO(R3 BIS #ClKPRES,DT.CFO( MOV RO,SC.SCA(R3) LET SC.CLO(R3) .- #BITOO 000001 000000 ;+ ; SET SYSTEM CLOCK PRESENT BIT IN CONFIGURATION WORD 0 IN ; AND SAVE SYSTEM CLOCK ADDRESS 000120' 000120' 052762 000126' 000126' 010063 DT~BLE LET DT.CFO(R2) .- DT.CFO(R2) SET.BY #CLKPRES 000001 000014 LET SC. SCA ( R3) • - RO 000012 691 692 ;+ 693 694 695 (2) ;- ; RETURN IN LINE
000132' 000132' 000461 BR 100$ 696 697 698 (4) 699 (4) 700 701 702 703 704 705 706 707 (6) (9) 708 709 710 711 712 713 (4) 714 ENDIF 000134' 000134' 000134' 000134' ~50003$ : ~30002$ : ENDIF ;+ ; DETERMINE IF KW11-P OPTION MODULE IS ; PART OF THE RUN TIME EXERCISER ;- 000134' 000134' 005763 000140' 001441 IF SC.CKP(R3) NE #0 THEN 000004 lST SEQ SC.CKP(R3) 50004$ MOV @SC.CKP(R3),RO ;+ ; GET KW11-P OPTION MODULE HEADER ADDRESS ;- 000142' 000142' 017300 LET RO := @SC.CKP(R3) 000004 SYSCLK SYSTEM CLOCK BINDER MODULE SYSCLK.MAC 28-JUL-78 09:28 20-SEP-78 18:36 CHECK FOR SYSTEM CLOCK ROUTiNE PAG~ MACY11 30A(1052) 717 ; GET KW11-P HARDWARE CSR ADDRESS , FROM KW11-P OPTION MODULE'S HEADER 719 't - 716 000146' 000146 1 016001 LET R1 '- ADR(RO) 000006 (3) (3) MOV ADR(RO),R1 MOV MJV JSR MOV R5,-(SP) R1,-(R5) PC,HRDADRCHK (SP)+,R5 BCS 50005$ MOV #BIT01,SC.CLO(R3 131S #CLKPRES,DT.CFO( MOV RO,SC.SCA(R3) BR 50006$ !V:O\l [I/OV MOV #0,-([-;,5) ;+ ; CHECK TO SEE IF KW11-P HARDWARE ; IS AVAILABLE ;- 725 726 727 (3) (4) SEQ 0959 ;+ 715 719 720 (4) 721 722 723 724 19-6 000152 1 000152' 000154' 000156' 000162' CALL HRDADRCHK IN 010546 010145 004767 012605 OOOOOOG 728 729 ;+ ; IF ADDRESS WAS AVAILABLE THEN INDICATE KW11-P IS SYSTEM CLOCK 730 731 ; IN SYSTEM CLOCK WORD 732 ~- 733 734 (6 ) IF.NO,ERROR THEN 000164' 000164' 103411 735 736 (4) 000166' 000166' 0"' 2763 LET SC.CLO(R3) '- #8IT01 000002 000000 737 738 ;+ 730 ; SET SYSTEM CLOCK PRESENT BIT IN CONFIGURATION WORD 0 IN DTA8LE : AND SAVE SYSTEM CLOCK ADDRESS 740 741 742 74:~ (6) 744 (4 ) 745 746 (4 ) (3) 000174' 000174 1 052762 000202; 000202' 010063 LET DT.CFO(R2) := DT.CFO(R2) SET.BY #CLKPRES 000001 000014 LET SC.SCA(R3) .- RO ()00012 ELSE: 000206' 000206 1 000415 000210' S0005$: 747 748 749 ;+ 750 ; OUTPUT MESSAGE INDICATING NO SYSTEM CLOCK 751 ;- 752 753 ( 3) (8) ( 7} (6) (5) (4) 000210' 000210' 000212 1 000216 1 000222' 000226' 000232' CALL ENOlO IN 010546 012745 012745 012745 012745 010245 000000 000000 000000' 000000 Ivav rv:]v f'/;OV R5,-(SP) #O,-(E5) #ce.CM1,-(R5) #MSGS1D,-(R5) R2, - (F:;5) SYSCLK SYSTEM CLOCK BINDER MODULE 28-JUL-78 09:28 SYSCLK.MAC (3) (3) 754 (4) 755 (4) (3 ) 756 757 758 759 760 761 (3) (8) (7) (6) (5) (4) (3 ) (3) 762 (4 ) 763 764 (2 ) 765 766 767 768 769 (3) 770 771 772 773 774 775 (3) (3) (2) 776 777 000234' 004767 000240' 012605 000242' 000242 1 000242' 000242' 000415 000244' MACY 11 30A(1052) 20-SEP-78 18:36 CHECK FOR SYSTEM CLOCK ROUTINE PAGE 19-7 SEQ 0960 OOOOOOG ENDIF JSR MOV PC,ENQTQ (SP)+,R5 BR 50007$ MOV MiJV MOV R5,-(SP) #0,-(R:5) 50006$: ELSE 50004$: ;+ ; OUTPUT MESSAGE INDICATING SYSTEM CLOCK IS NOT AVAILABLE ;- 000244' 000244 1 000246' 000252' 000256 1 000262' 000266' 000270' 000274' 000276' 000276' CALL ENQTQ IN 010546 012745 012745 012745 012745 010245 004767 012605 000000 000000 000000' 000000 OOOOOOG ENDIF #CC.CM1,-(R5) M:JV MOV JSR MOV #0,-(N~5) R2,-(F6) PC, ENC;)TQ (SP)+,R5 !:i0007$ : INLINE <100$:> 000276 1 000276' 1t0,-(H5) MOV 100$: ;+ ; RESTORE REGISTERS , 000276' 00'0276 ' 004767 CALL RESREG OOOOOOG JSR PC,RESREG RTS PC ;+ ; RETURN TO CALLER ;- 000302' 000302' 000302' 000302' 000207 ENDRTN :jOOOO$ : ~jOO01$: SYSCLK SYSTEM CLOCK BINDER MODULE SYSCLK.MAC 28-JUL-78 09:28 MACV11 30A(1052) 20-SEP-78 CLKOFF - SYSTEM CLOCK-OFF 18:36 779 780 781 .SBTTL CLKOFF - SYSTEM CLOCK-OFF .IDENT JVO.Oj 782 ;++ 783 784 785 PAGE 19-8 SEQ 0961 MODULE NAME: CLKClFF 788 789 FUNCTIONAL DESCRIPTION: THIS MODULE WILL SHUT OFF THE SYSTEM CLOCK (IF AVAILABLE). THE ROUTiNE WILL SAVE THE CLOCKIS CONTROL STATUS REGISTER (CSR) ADDRESS AND ITIS CONTENTS. PLUS TUR~ THE CLOCK OFF BY CLEARING THE INTERRUPT ENABLE BIT. 790 791 792 INPUTS: DTABLE - ADDRESS OF DATA TABLE 786 787 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 IMPLICIT INPUTS: DT.SCT - ADDRESS OF SYSTEM CLOCK TABLE SYSTEM CLOCK WORD Dr. CLO POINTER TO KW11L OPTION MODULE SC.CKL POINTER TO KW11P OPTION MODULE SC.CKP OUTPUTS: NONE IMPLICIT OUTPUTS: SC.ADR - SAVE LOCATION FOR CLOCK CSR ADDRESS SC.HLD - SAVE LOCATION FOR CONTENTS OF CLOCKIS CSR PATHOLOGICAL CONNECTIONS: NONE SUBORDINATE ROUTINES CALLED: NONE FUNCTIONAL SIDE EFFECTS: NONE CALLING SEQUENCE: CALL CLKOFF IN
A= ADDRESS OF DTABLE EDIT ;-- DATE BY HEASON SYSCLK SYSTEM CLOCK BINDER MODULE SYSCLK.MAC 28-JUL-78 09:28 MACY11 30A(1052) 20-SEP-78 18:36 COMMON DEFINITIONS AND REFERENCES PAGE 19-9 .SBTTL COMMON DEFINITIONS AND REFERENCES 826 827 828 829 830 , 831 .GLOBL ;************~*** ; REFERENCED BY OTHER MODULES CLKOFF ;MODULE ENTRY POINT SEQ 0962 SYSCLK SYSTEM CLOCK BINDER MODULE SYSCLK.MAC 28-JUL-78 09:28 833 834 835 836 (2) 837 838 839 840 841 842 843 844 (2) (3) 845 (4) 846 (4) 847 848 849 850 651 852 853 854 (6) (9) 855 (4) 856 857 (4) (3) S58 859 860 861 862 863 864 (4) 8S5 (4) 866 867 868 869 870 871 872 873 (4) 874 875 MACY11 30A(1052) CLKOFF ROUTINE .SBTTL 20-SEP-7E 18:36 PAGE 19-10 SEQ 0953 CLKOFF ROUTINE ROUTINE CLKOFF 000304' 000304' CLKOFF: ;+ ; SAVE REGISTERS ON STACK AND RETRIEVE ADDRESS OF DTABLE AND ; GET ADDRESS OF SYSTEM CLOCK TABLE (SCTAB) ,'- 000304' 000304' 000306' 000310' 000310' 000314' 000314' PUSH RO,R1 010046 010146 LET 016501 R1 016101 RO,-(SP) Ri,-(SP) MOV DTA(R5) ,R1 MOV DT .seT(R1) BIT BEQ #BITOO,SC.CLO(R1 50002$ MOV @SC.C~~L(R1) BR 50003$ MOV @lSC.C~ A= DTABLE ADDRESS EDIT ;-- DATE BY REASON SYSCLK SYSTEM CLOCK BINDER MODULE SYSCLK.MAC 2S-JUL-78 09:28 951 952 MACY11 30A(1052) 20-SEP-78 18:36 COMMON DEFINITIONS AND REFERENCES PAGE 19-13 .SBTTL COMMON DEFINITIONS hND REFERENCES 953 954 955 956 ;**************** 957 .GLOBL 959 959 ; REFERENCED BY OTHER MODULES t CLKON ;MODULE ENTRY POINT SEQ 0966 SYSCLK SYSTEM CLOCK BINDER MODULE SYSCLK.MAC 28-JUL-78 09:28 961, 962 963 964 (2) 965 966 967 968 969 970 971 972 973 974 975 (2) 976 (4) 977 (4) 978 (4) 979 980 981 982 983 984 985 (2) 986 987 (3) (3) (2) 988 MACY11 30A(1052) C LKON ROUT I hiE .SBTTL CLKON 20-SEP-78 18:36 PAGE 19-14 SEQ 0967 ROUTINE ROUTINE CLKON 000370 1 000370 1 CLKON: ;+ ; ; ; ; SAVE RO AND RETRIEVE DTABLE FROM RS AND GET SCTAB INTO RO GET THE SYSTEM CLOCK CSR ADDRESS AND RESTORE ITS CONTENTS, THIS WILL TURN THE CLOCK ON. RO CONTAINS THE ADDRESS OF SCTAB. j- 000370 1 000370 1 0003721 000372 1 000376 1 000376 1 000402 1 000402 1 PUSH RD 010046 MOV RO,-(SP) MOV DTA(R5,),RO MOV DT.SCT(RO),RO MOV SC.HLD(RO),@SC.A MDV (SP)+,RO HTS PC LET RO '- DTA(R5) 016500 000000 LET RO .- DT.SCT(RO) 016000 000066 016070 000010 LET @SC.ADR(RO) := SC.HLD(RO) 000006 ;+ .;, _. RESTORE 000410 000410 POP RO 1 1 REGISTER AND RETURN TO CALLER 012600 000412 1 000412 1 000412 1 000412 1 000207 ENDRTN ~jOOOO$ : ~)0001$: SYSCLK SYSTEM CLOCK BINDER MODULE SYSCLK.MAC 28-JUL-78 09:28 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 '004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 10:23 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 MACY11 30A(1052) 20-SEP-78 18:36 PAGE 19-15 PRHMS PROCESS HOURS, MINUTES, AND SECONDS CONVERSION .SBTTL PRHMS .IDENT IVO.OI SEQ 0968 PROCESS HOURS, MINUTES, AND SECONDS CONVERSION ;++ MODULE NAME: PRHMS FUNCTIONAL DESCRIPTION: THIS MODULE WHEN CALLED WILL GET THE TOTAL RUNTIME IN SECONDS FROM THE SYSTEM CLOCK OPTION MODULE (KW11-L OR KW11-P) HAVE IT CONVERTED TO HOURS, MINUTES AND SECONDS, AND RETURNS THE CONVERTED TIME TO THE CALLER. INPUTS: ADDRESS OF DTABlE ADDRESS OF CONVERTED TIME ST8RAGE IMPLICIT INPUTS: DT.SCT SC.CLO SC.CKL SC.CKP OUTPUTS: NONE: IMPLICIT OUTPUTS: HOURS \ MINUTES ---IN STORAGE SPECIFIED SECONDS / PATHOLOGICAL CONNECTIONS: NONE SUBORDINATE ROUTINES CALLED: SAVREG - SAVE REGISTERS HMS - CONVERSION TO HRS, MINS AND SECS RESREG - RESTORE REGISTERS LDTIME - LOAD RESULTANT TIME FUNCTIONAL SIDE EFFECTS: NONE CALLING SEQUENCE: CALL PRHMS IN A = ADDRESS OF DTABlE B = ADDRESS OF CONVERTED TIME VERSION: 0.0 ._, EDIT DATE BY f~EASON SYSCLK SYSTEM CLOCK BINDER MODULE SYSCLK.MAC 28-JUL-78 09:28 1044 1045 1046 1047 1048 1049 1050 1051 1052 MACY11 30A(1052) 20-SEP-78 18:36 PAGE 19-16 PRHMS PROCESS HOURS, MINUTES, AND SECONDS CONVERSION .SBTTL COMMON DEFINITIONS AND REFERENCES ;**************** ; REFERENCED BY OTHER MODULES , .GLOBL PRHMS ;**************** 1053 1054 ; GLOBAL REFERENCES 1055 .GLOBL .GLOBL .GLOBL 1056 1057 ;MODULE ENTRY POINT ; SAVREG HMS RESREG SAVE REGISTERS HOURS, MINUTES AND SECONDS CONVERSION RESTORE REGISTERS SEQ 0969 SYSCLK SYSTEM CLOCK BINDER MODULE SYSCLK.MAC 28-JUL-78 09:28 1059 1060 1061 1062 1063 (2 ) .SBTTL 1073 (4) 1074 (4) 1075 1076 1077 1078 1079 1080 1081 (6) (9 ) 1082 1083 1084 1085 1086 1087 1088 1089 (4 ) (6) 1090 1091 1092 (4) (3) 1093 1094 (G) 1101 PROCESS HOURS, MINUTES AND SECONDS CONVERSION ROUTINE ;+ ; SAVE REGISTERS ON STACK, RETRIEVE AbDRESS OF DTABLE FROM ; R5 STACK AND DETERMINE ADDRESS OF SCTAB. ;000414 1 000414 1 000416 1 000420 1 000420 1 000424 1 000424 1 PUSH RO,R1 010046 010146 016500 MOV MOV RO,-(SP} R1,-(SP) MOV DTA(R5) ,RO MOV DT.SCr(RO),RO BIT SEQ #BITOO,SC.CLO(RO 50002$ MOV ADD SC.CKL(RO) ,R1 #2,R1 SR 50003$ LET RO '- DTA(R5) 000000 LET RO .- DT.SCT(RO) 016000 000066 ;+ ; DETERMINE IF KW11-L IS SYSTEM CLOCK BY CHECKING IF ; BIT 0 IS SET IN SC.CLO WORD OF seTAB ;- 000430 1 000430 1 032760 000436 1 001405 IF #BITOO SETIN SC.CLO(RO) THEN 000001 000000 ;+ ; GET ADDRESS OF KW11-L ELAPSED TIME TABLE. TIME TABLE IS THE ; ADDRESS FOLLOWING THE LOCATION CONTAINED IN SC.CKL. TH~ TABLE ; CONTAINS ELAPSED TIME AND EXTENDED ELAPSED TIME. 000440 1 000440' 016001 000444 1 062701 LET R1 := SC.CKL(RO) + #2 000002 000002 ELSE 000450 1 000450 1 000404 000452 1 ~50002$ : j+ ; MUST BE A KW11-P CLOCK. GET ADDRESS OF KW11-P ELAPS~D TIME TABLE. ; THE TABLE IS THE ADDRESS FOLLOWING THE LOCATION CONTAINED IN SC.CKP. ; THE TABLE CONTAINS ELAPSCD TIME AND EXTENOEC ELAPSED TIME. 109~ 1096 1097 109B 1099 1100 (4) SEQ 0970 PRHMS: 1069 ( 2) (3) PAGE 19-17 ROUTINE PRHMS 000414 1 000414 1 1064 1065 1066 1067 1068 1070 1071 1072 MACY11 30A(1052) 20-SEP-78 18:36 COMMON DEFINITIONS AND REFERENCES j- 000452 1 000452 1 016001 000456 1 062701 LET R1 000004 000002 := SC.CKP(RO) + #2 MOV ADD SC"CKP(RO),R1 #2"R1 SYSCLK SYSTEM CLOCK BINDER MODULE SYSCLK.MAC 28-uUL-78 09:28 1102 1103 (4) 1104 (3) (3) (4) 18:36 PAGE 19-18 SEQ 0971 50003$: .- 1108 f 1109 (4 ) 20-SEP-78 MINUTES AND SECONDS CONVERSION ROUTINE ;+ 1107 (3) (5) ~OU~S, ; CALL HMS TO CONVERT TIME TO DECIMAL ASCII HOURS. ; MINUTES AND SECONDS. 1106 (4 ) PROCESS ENDIF 000462,1 000462 1 1105 1110 MACY11 30A(1052) 000462' 000462 1 000466' 000470 1 000474 1 000476 1 000502' 000504' CALL HMS IN «R1),2(R1» 162705 010546 016145 011145 004767 012605 012501 OUT 00000:2 000002 SUB #1*2,R5 MOV MOV R5,-(SP) 2(R1) f-(R5) ( R1 ) , - ( R5 ) PC,HMS 1\10V JSR 000302 MOV (SP)+,R5 MOV (R5)+,R1 MOV RESULT(R5) ,fW MOV MOV MOV JSR MOV R5,-(SP) RO,-(R:5) MQV rJlOV (SP)+,R1 RTS PC 1111 1112 , 113 1114 1115 1116 1117 (4) 1118 (3) (5) (4) (3) (3) ;+ ; LOAD RESULT ADDRESS INTO R1 AND NOW LOAD UP THE TIME ;- 000506' 000506' 000512 1 000512' 000514' 000516' 000520' 000524' LET RO "- RESULT(R5) 016500 010546 010045 010145 004767 012605 000002 CALL LDTIME IN 000010 R1,-(11:5) PC,LDTIME (SP)+,R5 1119 ;+ 1120 1121 ; RESTORE REGISTERS AND RETURN 1122 ;- '123 1124 (2 ) (3 ) 000526' 000526 1 012601 000530 1 012600 POP R1,RO 000532 1 000532' 000532' 000532' 000207 ENDRTN (SP)+,RO 1125 1126 (3) (3) (2 ) 1127 ~)00003; : :;0001$: SYSCLK SYSTEM CLOCK BINOER MODULE SYSCLK.MAC 28-JUL-79 09:28 1129 1130 1131 (2) 1132 1133 1134 1135 1136 1137 1138 1139 (2) (3) 1140 (4) 1141 (4 ) 1142 (4 ) 1143 (4) 1144 (4) 1145 (4) 1146 (4 ) 1147 (4 ) 1148 (4 ) 1149 (4) 1150 (4) 1151 (2 ) (3 ) 1152 (3 ) (3) (2) MACY11 30A(1052) 20-SEP-78 18:36 LDTIME - LOAD CONVERTED TIME PAGE 19-19 SEQ 0972 .SBTTL LDTIME - LOAD CONVERTED TIME ROUTINE LDTIME 000534' 000534' LDTIME: ;+ ; GET CALLING MODULE CONVERTED TIME STORAGE ADDRESS, THEN LOAD UP THE ; STORAGE WITH THE CONVERTED TIME AND INCLUDE COLONS(:) IN APPROPRIATE ; LOCATIONS . ADR(R5) WILL CONTAIN THE STORAGE ADDRESS WHILE RESULT(R5) CONTAINS i , 000534' 000534' 000536 1 000540 1 000540 1 000544' 000544 1 000550 1 000550 1 000552 1 000552 1 000554 1 000554 1 000556 1 000556 1 000562 1 000562 1 000564 1 000564 1 000566 1 000566 1 0005721 000572 1 000574 1 0005741 000576 1 000576 1 000600 1 000602 1 0006021 000602 1 000602 1 THE RESULT ADDRESS PUSH RO,R1 010046 010146 016500 016501 000000 112120 LET R1 .- ADR(R5) LET (RO)+ : B= (R 1 ) + LET (RO)+ :B= # ' : 000072 112120 LET (RO)+ : B= ( R1 ) + LET (RO)+ : B= (R 1 )+ 112120 11 2120 RESULT(R5) LET (RO)+ :B= (R1 ) + 11 2120 112720 .- LET (RO)+ :B= (R 1 ) + 112120 112720 LET RO 000002 LET (RO)+ : B= # 1 : 000072 LET (RO)+ : B= (Rl ) + LET (RO) : B=: ( R1) 111110 POP R1 ,RO 012601 012600 000207 ENDRTN MOV MOV RO,-(SP) R1,-(SP) MDV RESU L1"( R5) , RO MOV ADht(R~» MOV8 (Ri )+,. (RO)+ MOVB (Rl )+,. (RO)+ MOVB (R1)+,(RO)+ MOVB #I:,(FW)+ MOVB (Rl )+, (RO)+ MOVB (R1 )+, (RO)+ MOVB #i:,(FIO)+ MOVB (R1 )+, (RO)+ MOVB (R1),(RO) MOV MOV (SP)+,Rl (SP)+,RO RTS PC =;0000$ : =iOO01$: ,R1 SYSCLK SYSTEM CLOCK BINDER MODULE SYSCLK.MAC 28-JUL-78 09:28 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 MACY11 30A(1052) 20-SEP-78 18:36 LDTIME - LOAD CONVERTED TIME .SBTTL PRPSCNT .IDENT /VO.O/ PAG~ 19-20 PROCESS PASS COUNT TIME ;++ MODULE NAME: PRPSCNT FUNCTIONAL DESCRIPTION: THIS MODULE WILL BE CALLED IF SYSTEM CLOCK IS AVAILABLE. THE PASS COUNT TIME IS DETERMINED BY FIRST SEARCHING THE MODULE TIME TABLE (IN CLOCK OPTION MODULE) AND THEN SUBSTRACTING PASS COUNT TIME FROM THE SYSTEM ELAPSED TIME. THEN THE PASS COUNT TIME WILL BE CONVERTED TO HOURS, MINUTES AND SECONDS, AND THEN WILL RETURN CONVERTED TIME TO CALLING MODULE. NOTE - THIS MODULE WILL RETURN T~E CONVERTED TIME IN THE FOLLOWING FORMAT: HHH:MM:SS THE COLON <:) WILL BE GENERATED BY THIS MODULE. INPUTS: DTABLE ADDRESS ADDRESS OF MODULE DOING END OF PASS ADDRESS OF STORAGE FOR CONVERTED TIME IMPLICIT INPUTS: DT.SCT DT.MLST SC.CLO SC.CKl Sc. CKP OUTPUTS: NONE IMPLICIT OUTPUTS: CONVERTED TIME IN HOURS, MINUTES AND SECONDS HHH:MM:SS 1191 1192 1193 PATHOLOGICAL CONNECTIONS: NONE 1194 1195 1196 1197 1198 1199 SUBORDINATE ROUTINES CALLED: SAVREG - SAVE REGISTERS HMS - CONVERT TIME RESREG - RESTORE REGISTERS LDTIME - LOAD RESULTANT TIME 1200 1201 1202 FUNCTIONAL SIDE EFFECTS: NONE 1203 1204 1205 1206 1207 1208 1209 SEQ 0973 CALLING SEQUENCE: CALL IN A - ADDRESS OF DTABlE B - ADDRESS OF MODULE DOING END OF PASS C - ADDRESS OF CONVERTED TIME STORAGE SYSCLK SYSTEM CLOCK BINDER MODULE SYSCLK.MAC 28-JUL-78 09:28 MACY11 30A(1052) 20-SEP-78 18:36 PRPSCNT PROCESS PASS COUNT TIME SEQ 0974 VERSION: 0.0 1210 1211 1212 1213 1214 PAGE 19-:21 , '- EDIT DATE BY ~1EASON SYSCLK SYSTEM CLOCK BINDER MODULE SYSCLK.MAC 28-JUL-78 09:28 1216 1217 121'8 MACY11 30A(10S2) 20-SEP-78 18:36 PRPSCNT PROCESS PASS COUNT TIME .SBTTL PAGE 19-22 COMMON DEFINITIONS AND REFERENCES 1219 1220 1221 1222 1223 ;**************** ; REFERENCED BY OTHER MOOULES , .GLOBL PRPSCNT 1224 1225 1 '.226 1227 1228 1229 1230 ;MODULE ENTRY POINT ;**************** ; GLOBAL REFERENCES , .GLOBL .GLOBL .GLOBL HMS SAVREG RESREG ;HOURS MINUTES AND SECONDS CONVERSION ;SAVE REGISTERS ;RESTORE REGISTERS SEQ 0975 SYSCLK SYSTEM CLOCK BINDER MODULE SYSCLK.MAC 28-JUL-78 09:28 1232 1233 1234 1235 1236 (2) 1237 1238 1239 1240 1241 1242 1243 1244 (3 ) 1245 1246 (4) 1247 (4) 1248 (4) 1249 1250 1251 1252 1253 1254 1:255 (6) (9) 1:256 1257 1:258 1:259 1260 1261 (4) 1262 (4) (3 ) 1263 1264 1265 1:266 1267 1:268 1269 1270 (4) 1271 (4 ) 1:272 1273 1274 1275 MACYll 30A(1052) 20-SEP-78 18:36 COMMON DEFINITIONS AND REFERENCES .SBTTL PAGE 19-23 PROCESS PASS COUNT TIME ROUTINE ROUTINE PRPSCNT 000604 1 000604 1 SEQ 0976 PRPSCNT: ;+ ; SAVE REGISTERS, RETRIEVE ADDRESS OF DTABLE FROM RS STACK, THEN ; DETERMINE PTR TO MODULE LIST AND ADDRESS OF SCTAB 000604 1 000604 1 004767 000610 1 000610' 016501 000614 1 000614 1 016100 000620 1 000620 1 016101 CALL SAVREG OOOOOOG LET Rl ·- DTA(RS) LET RO ·- DT.MLST(R1) LET Rl ·- Dr.SCT(Rl) 000000 000032 000066 JSR PC,SAVREG MOV DTA(RS),Rl MOV DT.MLST(R1),RO MOV DT .SCr(Rl) ,Rl ;+ ; DETERMINE IF KW11-L IS SYSTEM CLOCK BY CHECKING IF BIT 0 IS SET IN SC.CLO ; WORD OF SCTAB ;- 000624 1 000624 1 032761 000632 1 001403 IF #BITOO SETIN SC.CLO(Rl) THEN 000001 000000 BIT BEQ #BITOO,SC.CLO(R1 50002$ MOV SC.CKL.(R1) ,Rl BR 50003$ MOV SC. CK P ( R1 ) , R1 ;+ ; GET ADDRESS OF KWli-L ELAPSED TIME TABLE ,' 000634 1 000634 1 016101 000640' 000640 1 000402 000642 1 LET R1 '- SC.CI\L(Rl) 000002 ELSE ~)0002$ : ;+ ; MUST BE A KW11-P CLOCK GET ADDRESS OF KW11-P ELAPSED TIME ; TABLE ;- 00064:2 1 000642 1 016101 000646' 000646 1 LET R1 '- SC.CKP(Rl) 000004 END1F ~)00033; ;+ GET R2 TO POINT TO MODULE TIME TABLE AND Rl TO POINT TO ; R.T.E ELAPSED TIME : SYSCLK SYSTEM CLOCK BINDER MODULE SYSCLK.MAC 28-JUL-78 09:28 1276 1277 1278 (4) (6) 1279 (6) 1280 1281 1282 1283 1284 1285 (4) 1286 1287 1288 1289 1290 1291 1292 1293 (4) (6) (9) 1294 (6) 1295 (6) 1296 (4) (3) 1297 1298 1299 1300 1301 1302 1303 (4) (6) 1304 1305 1306 1307 130B 1309 1310 (4) (3) (5) (4) (3) (3 ) (4) 1311 MACY11 30A(1052) 20-SEP-78 18:36 PROCESS PASS COUNT TIME ROUTINE PAGE 19-24 SEQ 0977 , '- 000646' 000646' 010102 000650' 062702 000654' 000654' 062701 LET R2 '- R1 + #6 000006 LET Ri MOV ADD R1 ,H2 #6,R2 ADD #2, f( 1 MOV BGNADR(R5),R3 CMP BEQ (RO),R3 50005$ ADD #2,RO AOD #4,R2 BR 50004$ .- R1 + #2 000002 ;+ ; GET ADDRESS OF MODULE TO BE UPDATED FROM R5 STACK ;- 000660' 000660' 016503 LET R3 := BGNADR(R5) 000002 ;+ ; SEARCH MODULE LIST UNTIL MODULE LIST POINTER POINTS TO ADDRESS ; IN R3, IF NOT EQUAL INCREMENT MODULE LIST POINTER AND MODULE ; TIME POINTER 000664' 000664' 000664' 000666' 000670' 000670' 000674' 000674' 000700' 000700' 000702' WHILE (RO) NE R3 DO 50004$: 021003 001405 062700 LET RO .- RO + #2 000002 LET R2 := R2 + #4 062702 000004 ENDDO 000771 50005$: ;+ ; GET ELAPSED TIME AND SUBTRACT MODULES ELAPSED TIME TO DETERMINE ; MODULE'S PASS TIME ;- LET Ri 000702 1 000702' 011101 000704' 161201 := (Ri) - (R2) ;+ ; NOW CALL HMS TO CONVERT THE PASS TIME, ; BE O. MOV SUB (Ri),R1 (R2),R1 SUB MOV MOV MOV JSR MOV MOV #1*2,R5 R5,-(SP) #0,-(R5) R1,-(R5) PC,HMS (SP)+,R5 (R5)+,R1 EXTENDED TIME WILL ;- 000706' 000706' 000712' 000714' 000720' 000722' 000726' 000730' CALL HMS IN OUT 162705 010546 012745 010145 004767 012605 012501 000002 000000 000056 SYSCLK SYSTEM CLOCK BINDER MODULE SYSCLK.MAC 28-JUL-78 09:28 1312 1313 1314 1315 1316 (4) 1317 (3) (5 ) (4 ) (3 ) (3 ) (3) 1324 1325 (3) (3 ) (2) 1326 PAGE 19-25 SEQ 0978 ;+ ; LOAD THE RESULT CONVERSION STORAGE AND ALSO LOAD THE TIME ;- 000732 1 000732 1 000736 1 000736 1 000740 1 000742 1 000744 1 000750 1 LET RO := RESULT(R5) 016500 MOV 000004 RESU LT (R5) ,f 010546 010045 010145 004767 01:2605 MOV MOV MOV JSR MOV 177564 1318 1319 1320 1321 1322 1323 MACY11 30A(1052) 20-SEP-7~ 18:36 PROCESS PASS COUNT TIME ROUTINE R5,-(SP) RO,-(R5) R1,-(R5) PC, LDTIME (SP)+,R5 ;+ ; RESTORE REGISTERS AND RETURN TO CALLER ;- 000752 1 000752 1 004767 000756 1 000756 1 000756 1 000756 1 000207 CALL RESREG OOOOOOG JSR PC, RES;REG RTS PC ENDRTN ~50000$ : :10001$: SYSCLK SYSTEM CLOCK BINDER MODULE SYSCLK.MAC 28-JUL-78 09:28 MACY11 30A(1052) 20-SEP-78 18:36 PAGt 20 HMS HOURS, MINUTES, AND SECONDS CONVERSION 1329 .SBTTL HMS .IDENT IVO.OI 1330 1331 ;++ 1328 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 FUNCTIONAL DESCRIPTION: THIS MODULE WILL CONVERT THE GIVEN TIME IN SECONDS INTO DECIMAL ASCII HOURS, MINUTES, AND SECONDS. THEN LOAD THE INFORMATION INTO A TABLE AND THE ADDRESS OF THIS TABLE IS RETURNED TO THE CALLER CONVERTED TIME TABLE: 3 BYTES DEFINED FOR HOURS 2 BYTES DEFINED FOR MINUTES 2 BYTES DEFINED FOR SECONDS NOTE: MAXIMUM NUMBER OF HOURS THAT WILL BE CONVERTED WILL BE 999 DECIMAL. INPUTS: ELAPSED TIME EXTENDED ELAPSED TIME IMPLICIT INPUTS: NONE OUTPUTS: ADDRESS OF CONVERTED TIME TABLE IMPLICIT OUTPUTS: HOUHS \ MINUTES ---CONVERTED TIME SECONDS I ROUTINES CALLED: SAVREG - SAVE REGISTERS BDACNV - CONVERSION TO DECIMAL ASCII RESREG - RESTORE REGISTERS SUBORDINAT~ 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 137b 1379 1380 FUNCTIONAL SIDE EFFECTS: NONE CALLING SEQUENCE: CALL HMS IN A B C OUT - ELAPSED TIME - EXTENDED ELAPSED TIME - ADDRESS OF CONVERTED TIME TABLE VERSION: 0.0 1381 1382 1383 TAB~E PATHOLOGICAL CONNECTIONS: NONE 1364 1365 HOURS, MINUTES, AND SECONDS CONVERSION MODULE NAME: HMS 1345 1346 1347 SEQ 0979 Eon" ;-- BY REASON SYSCLK SYSTEM CLOCK BINDER MODULE SYSCLK.MAC 28-JUL-78 09:28 I"., 1385 MACY11 30A(1052) 20-SEP-78 18:36 COMMON DEFINITIONS AND ~EFERENCES PAGE 20-1 .SBTTL COMMON DEFINITIONS AND REFERENCES 1386 1387 ;**************** 1388 1389 , ; REFERENCED BY OTHER .GLOBL 1390 HMS MODu~ES ;MODULE ENTRY POINT 1391 1392 ;**************** 1393 1394 1395 , ; GLOBAL REFERENCES .GLOBL .GLOBL .GLOBL 1396 1397 SAVREG BDACNV RESREG ;SAVE REGISTERS ;BINARY TO DECIMAL ASCII CONVERSION ;RESTORE REGISTERS 1398 ;**************** 1399 ; LOCA L 1400 STOj;~AGE 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 000760' 000760' 000003 000763 1 000002 000765 1 000002 000770 1 000770 1 000770 1 000000 000772 1 000000 000774 1 000000 HM.CTT HM.HRS HM.MIN HM.SEC .EVEN HM.CTE HM.THR HM.TMI HM. TSE 000776 1 000005 001004 1 HM.CNV .EVEN : . BL.KB 3 :. BL.KS 2 :. Bl.KB 2 ;CONVERTED TIME TABLE HOURS MINUTES SECONDS : . WORD 0 : . WORD 0 : . WORD 0 ;END OF CONVERTED TIME TABLE ;TOTAL TIME IN HOURS STORAGE ;TOTAL TIME IN MINUTES STORAGE ;TOTAL TIME IN SECONDS STORAGE :. Bl.KB 5 ;STORAGE FOR BDACNV CALL SEQ 0980 SYSCLK SYSTEM CLOCK BiNDER MODULE SYSCLK.MAC 28-JUL-78 09:28 1416 1417 1418 1419 1420 (2 ) 1421 1422 1423 1424 1425 1426 1427 (3) 1428 (4) 1429 (4) 1430 (4) 1431 (4) 1432 (4) 1433 1434 1435 1436 1437 1438 (4 ) (6) (9) 1439 MACY11 30A(1052) 20-SEP-78 18:36 COMMON DEFINITIONS AND REFERENCES ROUTINE HMS 001004' 001004' HMS: ;+ ; SAVE REGISTERS ON STACK, RETRIEVE TIME (RO) AND EXTENDED TIME (R1) FROM STACK, ; INITIALIZE LOCAL STORAGE 001004' 001004' 001010' 001010' 001014' 001014' 001020' 001020' 001024' 001024' 001030' 001030' CALL SAVREG 004767 OOOOOOG 016500 000000 LET RO "- TIME{R5) LET R1 016501 000002 005067 177744 005067 177742 LET HM. TMI "- #0 005067 177740 (6 ) 1449 (6) 1450 (4 ) (3) 1451 (6) 1452 (6) PC,SAVREG MOV TIME(R5),RO MOV XTIME(R5),R1 CLR HM.THR CLR HM.TMl. CLR HM.TSE TST BEQ 50003$ ;+ ; PROCESS (EXTENDED TIME BITS) INTO HOURS ;- WHILE R1 NE #0 DO 001034' 001034' 001034' 005701 001036' 001417 ;- 1448 JSR LET HM.TSE '- #0 ;+ (6 ) .- XTIME(R5) LET HM.THR ,- #0 1441 1442 1443 1444 1445 1446 (6) 1447 SEQ 0981 .SBTTL HOURS, MINUTES AND SECONDS CONVERSION ROUTINE 1440 (9) PAGE 20-2 S0002$: R'j ; 1B HRS, 12 MIN AND 16 SEC REQUIRED FOR EXTIME TO BE INCREMENTED ; IF TIME IS LESS THAN 1 HOUR THEN ADD 18 HOURS TO HOURS AND ; ADD 12 MINUTES 16 SECONDS TO RO (TIME) 001040' 001040' 001044' 001046' 001046' 001054' 001054' 001060' 001060' 001062' 001062' 001064' 001064' 001064' 001070' 001070' IF RO LO 020027 103007 007020 062767 000022 062700 001340 #~D3600 THEN LET HM.THR .- HM.THR + 005301 177714 LET RO "- RO + LET R1 '- R1 - #1 CMP SHIS RO,#AD3600 50004$ DEC R1 SR 50005$ INC HM.THH #~D18 #~D736 ELSE 000404 ~50004$ : LET HM.THR := HM.THR + #1 005267 177700 162700 007020 LET RO SYSCLK SYSTEM CLOCK BINDER MODULE SYSCLK.MAC 28-JUL-78 09:28 1453 (4) 1454 (4) (3) 1455 1456 1457 145B 1459 1460 (4) (6) (9) 1461 (6) 1462 (6) 1463 (4) (3) 1.464 1465 1466 1467 1468 1469 (4) (6) (9) 1470 t6) 1471 (6) 1472 (4) (3 ) 147.3 1474 1475 1476 1477 1478 (4) 1479 1480 1481 1482 1483 1484 (3 ) (5) (4 ) (3) (3) 1485 MACY11 30A(1052) 20-SEP-78 18:36 PAGE 20-3 HOURS, MINUTES AND SECONDS CONVERSION ROUTINE SEQ 0982 ENDIF 001074 1 001074 1 001074 1 001074 1 000757 001076 1 50005$: ENDDO BR 50002$ CMP BLO RO,lr03600 50007$ INC HM. THf;t SUB #"'D3600,RO BR 50006$ CMP BlO RO, ir D60 50011$ INC HM.TMI SUB #"'D60" RO BR 50010$ MOV RO,HM.TSE MOV R5,-(SP) #HM.CNV,-(R5) HM.THIR,-(R5) PC,BDACNV (SP)+,R5 50003$: ;+ ; PROCESS REMAINING HOURS CONTAINED IN RO (TIME). ;- 001076 1 001076 1 001076 1 001102 1 001104 1 001104 1 001110 1 001110 1 001114 1 001114 1 001116 1 WHILE RO HIS #AD3600 DO :;,0006$ : 020027 103405 007020 005267 177660 LET HM.THR := HM.THR + #1 LET RO 162700 007020 ENDDO 000770 :;0007$ : ;+ ; PROCESS MINUTES FROM REMAINING RO (TIME) ,' - 001116 1 001116 1 001116 1 001122 1 001124 1 001124 1 001130 1 001130 1 001134 1 0011341 001136 1 WHILE RO HIS #AD60 DO ::;0010S: 020027 103405 000074 005267 177642 162700 000074 LET HM.TMI .- HM.TMI + #1 LET RO '- RO - #~D60 ENDDO 000770 ~50011$: ;+ ; TIME lEFT STICK IN HM.TSE 001136 1 001136 1 010067 LET HM.TSE := RO 177632 ;+ ; CONVERT HOURS TO DECIMhL ASCII ;- 001142 1 001142 1 001144 1 001150 1 001154' 001160 1 CALL BDACNV IN 010546 012745 016745 004767 012605 000776 1 177614 OOOOOOG MOV MOV JSR MOV SYSCLK SYSTEM CLOCK BINDER MODULE SYSCLK.MAC 28-JUL-78 09:28 1486 1487 1488 1489 1490 1491 (4) (6 ) 1492 (4) 1493 (4) 1494 (4) 1495 (4) 1496 1497 1498 1499 1500 1501 (3) (5) (4) (3) (3) 1502 1503 1504 1505 1506 1507 1508 (4) (6) 1509 (4) 1510 (4) 1511 (4 ) 151 ~ 1513 1514 1515 1516 1517 (3) (5 ) (4) (3 ) (3) 1518 1519 1520 MACY11 30A(1052) 20-SEP-78 18:36 PAGE 20-4 HOURS, MINUTES AND SECONDS CONVERSION ROUTINE SEQ 0983 ;+ ; INITIALIZE R2 TO POINT TO HM.CNV TABLE + 2 AND R3 TO POINT TO HM.HRS. ; THEN MOVE LOWEST THREE BYTES IN HM.CNV TABLE INTO HM.HRS STORAGE IN HM.CTT. 001162' 001162' 001166' 001172' 001172' 001176' 001176' 001200' 001200' 001202' 001202' LET R2 .- #HM.CNV + #2 012702 062702 000776' 000002 012703 00076(), LET R3 '- #HM.HRS LET (R3)+ 112223 :B~ (R2)+ LET (R3)+ :B= (R2)+ 112223 LET (R3)+ :B= (R2)+ 112223 MOV ADD #HM.CNV,R2 #2,R2 MOV #HM.HRS,R3 MOVB (R2)+,(R3)+ MOV8 (R2)+,(R3)+ MOV8 (R2)+,(R3)+ MOV MOV MOV JSR MOV R5,-(SP) #HiVI.Ct'-IV,-(RS) HM.TMl,-(R5) PC,BDACNV (SP)+,R5 ;+ ; CONVERT MINUTES TO DECIMAL ASCII ', - 001204' 001204' 001206' 001212' 001216' 001222' CALL BDACNV IN 010546 012745 016745 004767 012605 000776' 177554 OOOOOOG ;+ ; INITIALIZE R2 TO POINT TO HM.CNV TABLE + 3, R3 TO POINT TO HM.MIN, ; MOVE 2 ENTRIES IN HM.CNV TABLE INTO HM.MIN STORAGE IN HM.CTT. 001224' 001224' 001230' 001234' 001234' 001240' 001240' 001242' 001242' LET R2 .- #HM.CNV + #3 012702 062702 000776' 000003 012703 000763' LET R3 .- #HM.MIN 112223 LET (R3)+ :B= (R2)+ LET (R3)+ :B= (R2)+ 112223 MOV ADD #HM. C.NV , R2 #3,R2 MOV #HM.MIN,R3 MOVB (R2)+" (R3)+ MOVB (R2)+,,(R3)+ MOV MOV MOV JSR R5,-(SP) #HM.CtN ,-(R5) HM"TSE,-(R5) PC,BDACNV (SP)+,R5 ;+ ; FINALLY CONVERT SECONDS TO DECIMAL ASCII ;001244' 001244' 001246' 001252' 001256' 001262' CALL BDACNV IN 010546 012745 016745 004767 012605 000776' 177516 OOOOOOG MOV ;+ ; INITIALIZE R2 TO POINT TO END OF HM.CNV TABLE + 3, R3 TO POINT SYSCLK SYSTEM CLOCK BINDER MODULE SYSCLK.MAC 28-JUL-78 09:28 1521 1522 1523 1524 1525 (4 ) (6) 1526 (4) 1527 (4 ) 1528 (4) 1529 1530 1531 1532 1533 1534 1535 (4) 1536 1537 1538 1539 1540 1541 (3) 1542 1543 (3) (3) (2) 1544 1545 MACY11 30A(1052) 20-SEP-78 18:36 PAGE 20-5 HOURS, MINUTES AND SECONDS CONVERSION ROUTINE SEQ 0984 ; TO HM.SEC. MOVE 2 ENTRIES IN HM.CNV TABLE INTO HM.SEC ; STORAGE IN HM-.CTT , '001264 1 001264 1 001270 1 001274 1 001274 1 001300 1 001300 1 001302 1 001302 1 LET R2 .- #HM.CNV + #3 012702 062702 000776 000003 1 012703 000765 1 LET R3 .- #HM.SEC LET (R3)+ :8= (R2)+ 112223 MOV ADD #HM.CNV,R2 #3,R2 MOV #HM.SEC,R3 MOVB (R2)+,(R3)+ MOVB (R.2)+,(R3)+ MOV #HIVl.crr,ADRCT(R5 J3R PC,RESREG RTS PC LET (R3)+ :8= (R2)+ 112223 ;-+; LOAD HM.CTT ADDRESS (CONVERTED TIME TABLE) ON R5 STACK FOR ; CALLER ;- 001304 1 001304 1 012765 LET ADRCT(R5) '- #HM.CTT 000760 1 000004 ;+ ; RESTORE REGISTERS AND RETURN TO CALLER , '- 001312 001312 CALL RESREG 1 1 004767 ()01316 1 001316 1 001316 1 001316 1 000207 OOOOOOG ENDRTN 50000$: ~)0001 $: SYSCLK SYSTEM CLOCK BINDER MODULE SYSCLK.MAC 28-JUL-78 09:28 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 MACY11 30A(1052) ~0-SEP-78 18:36 UPDTIM UPDATE MODULE PASS TIME PAGE 20-6 SEQ 0985 .SBTTL UPDTIM UPDATE MODULE PASS TIME .IDENT JVO.Oj ;++ MODULE NAME: UPDTIM FUNCTIONAL DESCRIPTION: THIS MODULE WILL ON~Y BE CALLED IF THERE IS A SYSTEM CLOCK AVAILABLE (KW11-L OR KW'1-P OPTION MODULE). UPON BEING CALLED IT WILL SEARCH THE MODULE LIST UNTIL THE MODULE IS FOUND THAT REQUIRES THE MODULE TIME TO BE UPDATED. THE UPDATE IS DONE BY MOVING THE TOTAL ELAPSED TIME AND EXTENDED T~ME INTO THE APPROPRIATE STORAGE LOCATIONS (CONTAINED IN SYSTEM CLOCK MODULE; KW11-L OR KW11-P) FOR THE MODULE BEING UPDATED. INPUTS: DTABLE ADDRESS MODULE BEGIN ADDRESS TO BE UPDATED IMPLICIT INPUTS: DT.MLST OFFSET TO MODULE LIST ADDR. IN DTABLE DT.SCT OFFSET TO SCTAB ADDR. IN DTABLE SC.CLO SC.CKL SC.CKP OUTPUTS: NONE IMPLICIT OUTPUTS: NONE PATHOLOGICAL CONNECTIONS: NONE SUBORDINATE ROUTINES CALLED: SAVREG - SAVE REGISTERS RESREG - RESTORE REGISTERS FUNCTIONAL SIDE EFFECTS: NONE CALLING SEQUENCE: CALL UPDTIM IN A - DTABlE ADDRESS B - MODU~E BEGIN ADDR. TO BE UPDATED VERSION: 0.0 EDIT ;-- DATE BY ~tEASON SYSCLK SYSTEM CLOCK BINDER MODULE SYSCLK.MAC 28-JUL-78 09:28 1600 1601 1602 1603 1604 1605 MACY11 30A(1052) 20-SEP-78 18:36 UPDTIM UPDATE MODULE PASS TIME PAGE 20-7 .SBTTL COMMON DEFINITIONS AND REFERENCES ;*************** i REFERENCED BY OTHER MODULES 1606 , 1607 .GLOBL UPDTIM ;MODULE ENTRY POINT 1608 1609 ;*************** 1610 1611 ; GLOBAL REFERENCES 1612 1613 .GLOBL .GLOBL SAVREG RESREG ;SAVE REGISTERS ;RESTORE REGISTERS SEQ 0986 SYSCLK SYSTEM CLOCK BINDER MCDULE SYSCLK.MAC 28-JUL-78 09:28 1615 1616 1617 1618 (2) 1619 1620 1321 1622 1623 1624 1625 1626 (3 ) 1627 (4) 1628 . (4) 1629 (4) 1630 1631 1632 1633 1634 1635 (6) (9) 1636 (4) 1637 (4) (3) 1638 (4) 1639 (4) 1640 1641 1642 1643 1644 1645 1646 (4) (6) 1647 (6) 1648 1649 1650 1651 1652 1653 (4) 1654 MACY11 30A(1052) 20-SEP-78 18:36 COMMON DEFIN!TIONS AND RE~ERENCES PAGE 20-8 SEQ 0987 .SBTTL UPDATE TIME ROUTINE ROUTINE UPDTIME 001320 1 001320' UPDTIME: ;+ ; SAVE REGISTERS, GET POINTERS TO MODULE LIST, R.T.E TIME AND ; MODULE TIME TABLE ;- 001320 1 001320 1 001324 1 001324 1 001330 1 001330 1 001334 1 001334 1 CALL SAVREG 004767 OOOOOOG JSR PC,SAVREG MOV DTA(RS) ,RO MGV DT.MLST(RO)~R1 MOV Dr • SCT ( RO ) , F~2 BIT BEQ #BITOO,SC.CLO(R2 50002$ MOV SC. CK L (R2) , f~2 BR 50003$ MOV SC.CKP(R2),1~2 MOV ADD R2,R3 #6,P.3 ADD #2,R2 IIf:OV UPDMOD(R5),RO LET RO .- DTA(R5) 016500 000000 LET R1 016001 .- DT.MLST(RO) 00003~ LET R2 .- DT.SCT(RO) 016002 000066 ;+ ; DETERMINE IF SYSTEM CLOCK IS KW11L OR KW11P AND ; GET ADDRESS WITHIN MODULE (CLOCK) ,'- 001340 1 001340 1 001346 1 001350 1 001350' 001354' 001354 1 001356 1 001356' 001356 1 001362 1 001362 1 IF #BITOO SETIN SC.CLO(R2) THEN 032762 001403 000001 016202 000002 000000 LET R2 := SC.CKL(R2) ELSE 000402 50002$~ LET R2 := SC.CKP(R2) 016202 000004 ENDIF 5,0003$ : ;+ ; GET R3 TO POINT TO MODULE TIME TABLE AND R2 ; TO POINT TO R.T.E. ELAPSED TIME ;- LET R3 '- R2 + #6 1 001362 001362 1 010203 001364' 062703 001370 1 001370 1 062702 000006 LET R2 .- R2 + #2 000002 ;+ ; GET ADDRESS OF MODULE TO BE UPDATED FROM RS STACK 001374' 001374 1 016500 LET RO := UPDMOD(R5) 000002 SYSCLK SYSTEM CLOCK BINDER MODULE 28-JUL-78 09:28 SYSCLK.MAC 1655 1656 1657 1658 1659 1660 (4) (6) (9 ) 1661 (6) 1662 (6) 1663 ( 4) (3) 1664 1665 1666 1667 1668 1669 1670 (4) 1671 (4 ) 1672 1673 1674 1675 1676 1677 (3) 1678 1679 (3) (3) (2) 1680 1681 2C-SEP-78 MACY1' 30A(1052) UPDATE TIME ROUTINE 18:36 PAGE 20-9 SEQ 0988 i+ ; SEARCH MODULE LIST UNTIL MODULE LIST POINTER POINTS TO A.DDRESS ; IN RO , 001400' 001400' 001400' 001402' 001404' 001404' 001410' 001410' 001414' 001414' 001416' WHILE ( R1) NE RO DO 021100 001405 062701 000002 062703 000004 LET R1 .- Rl + #2 LET R3 .- R3 + #4 5,0004$ : ENDDO 000771 CMP SEQ (R1),R:0 50005$ ADD #2,Rl ADD #4,R3 BR 50004$ MOV (R2),(R3) MOV 2(R2) ,.2(R3) JSR PC,RESREG RTS PC !:iOOOSSi : j+ ; HAVE FOUND MODULE UPDATE MODULE TIME TO REFLECT ; R.T.E ELAPSED TIME ;- 001416' 001416' 011213 001420' 001420' 016263 LET (R3) LET 2(R3) 000002 .- (R2) ::: 2(R2) 000002 ;+ ; RESTORE STACK AND RETURN , 001426' 001426' 004767 001432' 001432' 001432' 001432' 000207 CALL RESREG OOOOOOG ENDRTN ~;OOOO$ : ~)0001$: SYSCLK SYSTEM CLOCK BINDER MODULE SYSCLK.MAC 28-JUL-78 09:28 ·MACY1, 30A(1052) 20-SEP-78 18:36 PAGE 20-10 CLRTIM CLEAR TIME FROM SYSTEM CLOCK TIME TABLES 1683 1684 1685 .SBTTL CLRTIM CLEAR TIME FROM SYSTEM CLOCK TIME TABLES .IDENT JVO.Oj 1686 1687 ;++ 11388 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 SEQ 0989 MODULE NAME: CLRTIM FUNCTIONAL DESCRIPTION: THIS MODULE WILL CALL THE APPROPRIATE ROUTINE CONTAINED IN THE SYSTEM CLOCK MODULE (KW11L OR KWi1P OPTION MODULE) WHICH WILL CLEAR OUT THE R.T.E AND EXTENDED ELAPSED TIME WORDS AND ALSO THE MODULE TIME TABLE. INPUTS: DTAEILE ADDRESS IMPLICIT INPUTS: DT.SCT - SYSTEM CLOCK TABLE ADDRESS SC.CLO Sc. ALC SC.APC OUTPUTS: NONE IMPLICIT OUTPUTS: NONE PATHOLOGICAL CONNECTIONS: NONE SUBORDINATE ROUTINES CALLED: NONE FUNCTIONAL SIDE EFFECTS: NONE CALLING SEQUENCE: CALL CLRTIM IN A - DTABLE ADDRESS VERSION: 0.0 EDIT DATE BY I~EASOI\j SYSCLK SYSTEM CLOCK BINDER MODULE SYSCLK.MAC 28-JUL-78 09:28 1729 1730 1731 1732 1733 1734 1735 1736 1737 MACY11 30A(1052) 20-SEP-78 18:36 PAGE 20-11 CLRTIM CLEAR TIME FROM SYSTEM CLOCK TIME TABLES .SBTTL COMMON DEFINITIONS AND REFERENCES ;**************** ; REFERENCED BY OTHER MODULES , .GLOBL CLRTIM ;MODULE ENTRY POINT SEQ 0990 SYSCLK SYSTEM CLOCK BINDER MODULE SYSCLK.MAC 28-JUL-78 09:28 1739 1740 1741 1742 (2 ) 1743 1744 1745 1746 1747 1748 (2) 1749 (4) 1750 (4) , 751 1752 1753 1754 1755 1756 1757 (6) (9) 1758 1759 (3 ) 1760 1761 (4) (3 ) 1762 1763 1764 1765 176t; 1767 (3) 1768 1769 (4) 1770 1771 1772 1773 1774 1775 (2 ) 1776 1777 (3) (3) (2) 1778 1779 MACY11 30A (1052) 20"SEP-78 18: 36 COMMON DEFINITIONS AND REFERENCES PAGE 20-12 SEQ 0991 .SBTTL CLEAR TIME ROUTINE ROUTINE CLRTIM 001434 ' 001434' CLRTIM: ;+ ; SAVE REGISTER, GET ADDRESS OF SCTAB ;- 001434 ' 001434' 010046 001436' 001436' 016500 PUSH RO 000000 RO,-(SP) MOV DTA(R5) ,RO MOV DT.SCT(RO),RO BIT BEQ #BITOO,SC.CLO(RO 50002$ JSR PC,@SC.ALC(RO) BR 50003$ JSR PC,@SC:.APC(RO) MOV (SP)+,RO RTS PC LET RO '- DT.SCT(RO) 001442' 001442' 016000 MOV LET RO .- DTA(R5) 000066 ;+ ; DETERMINE IF KW11L IS SYSTEM CLOCK, IF IT IS ; GO CLEAR KW11L CLOCK TIME TABLES. ;- IF NBITOO SETIN SC.CLO(RO) THEN 001446' 001446' 032760 001454' 001403 000001 001456' 001456 1 004770 000014 000000 CALL. @SC.ALC(RO) ELSE 001462' 001462' 000402 001464' ?0002$: ;+ ; MUST BE KW11P. GO CLEAR KW11P TIME TABLES ;- 001464 ' 001464 1 004770 001470' 001470' CALL @SC.APC(RO) 000016 ENDIF 5~0003$ : ;+ ; RESTORE REGISTER AND RETURN 001470' 001470' 012600 POP RO 001472 f 001472' 001472' 001472' 000207 ENDRTN =;0000$ : =.0001$: SYSCLK SYSTEM CLOCK BINDER MODULE SYSCLK.MAC 28-JUL-78 09:28 11781 11782 1783 1~84 1785 1786 1987 ~&~~ 1~90 1 r?91 1f92 11793 11794 1/795 11796 11797 1:798 11799 1j800 1'801 1802 1803 1804 1805 1806 1,807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 MACY11 30A(1052) 20-SEP-78 18:36 PAGE 20-13 CKHUNG CHECK FOR HUNG OPTION MODULES SEQ 09~2 .SBTTL CKHUNG CHECK FOR HUNG OPTION MODULES .IDENT IVO.Oj ;++ MODULE NAME: CKHUNG FUNCTIONAL DESCRIPTION: THIS MODULE WILL CHECK TO SEE IF ANY IOMOD, IOMODP, IOMODR OR IOMODX HAVE NOT COMPLETED AN END OF PASS IN A SPECIFIED PERIOD OF TIME. THE CRITERIA WILL BE CHECKED BY COMPARING THE TIME OF THE MODULES LAST END OF PASS AGAINST THE CURRENT ELAPSED TIME OF THE SYSTEM RUN. THE MODULE TIME IS CONTAINED IN A TABLE WHICH CONTAINS TWO ENTRIES PER MODULE (TIME AND EXTENDED TIME WORDS), THIS TABLE IS LOCATED IN EITHER THE KW11-L OR KW11-P OPTION MODULE DEPENDING ON WHICH IS THE SYSTEM CLOCK. IF A MODULE IS DETERMINED TO BE HU~G THEN THE MODULE IS DROPPED WITH AN APPROPRIATE MESSAGE OUTPUTTED. INPUTS: NONE: IMPLICIT INPUTS: DT.IVITIME OUTPUTS: NONE: IMPLICIT OUTPUTS: NONE PATHOLOGICAL CONNECTIONS: DTABLE SUBORDINATE ROUTINES CALLED: SAVREG SAVE REGISTERS ENOTQ ENQUEUE TYPE QUEUE ROUTINE RESREG RESTORE REGISTERS DUNCHK CHECK TO SEE IF ALL MODULES DROPPED FUNCTIONAL SIDE EFFECTS: NONE CALLING SEQUENCE: CALL CKHUNG VERSION: 0.0 , '-- EDIT DATE BY F~EASON SYSCLK SY~TEM CLOCK BINDER MODULE SYSCLK.MAC 28-JUL-78 09:28 MACY11 30A(1052) 20-SEP-78 18:36 PAGE 20-14 CKHUNG CHECK FOR HUNG OPTION MODULES 1~32 1833 1S34 1a35 1836 1637 1638 1is39 1840 1is41 1~42 .SBTTL COMMON DEFINITIONS AND REFERENCES ;**************** ; REFERENCED BY OTHER MODULES , .GLOBL ;**************** ; .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL jl]~ I ;MODULE ENTRY POINT ; GLOBAL REFERENCES 1~43 , 49 1, 50 1 rs'851 1 52 1853 CKHUNG SAVREG ENOTO RESREG DUNCHK DTABLE ;SAVE REGISTERS ;ENQUEUE TYPE OUEUE ROUTINE ;RESTORE REGISTERS ;CHECK TO SEE IF ALL MODULES ARE DROPPED ;ADDRESS OF DATA TABLE ;**************** ; LOCAL STORAGE , 001474 1 000000 CK.TEMP: .WORD 0 ;TEMP STORAGE FOR TIME COMPARSIONS 5E00993 SYSCLK SYSTEM CLOCK BINDER MODULE SYSCLK.MAC 28-JUL-78 09:28 1855 1856 1857 1858 1859 (2) 1860 '861 1862 1.863 1.864 1 1.865 1!866 j( 3) 11867 I( 4) 1!868 ! (4) 1i869 11870 1i871 1i872 1;873 11874 11875 11876 ! (6) i (9) CKHUNG: ;+ ; SAVE REGISTERS, GET ADDRESSO OF DTABLE AND 001476' 001476' 004767 001502' 001502' 012700 001506' 001506' 016001 889 . (4) SCTAB CALL SAVREG OOOOOOG JSR PC,SAVREG MOV #DTABLE,RO MOV DT .SCT(RO) ,H1 BIT BEQ #BITOO,SC.ClO(R1 50002$ MOV SC.CI\L(R1) ,R1 BR 50003$ MOV SC.CKP(R1) ,R1 LET RO "- #OTABLE OOOOOOG LET R1 := Dl.SCT(RO) 000066 ;+ ; DETERMINE IF KW11L IS SYSTEM CLOCK ;001512' 001512' 032761 001520' 001403 IF #BITOO SETIN SC.CLO(R1) THEN 000001 000000 ;+ ; SET R1 EQUAL TO KW11L LABEL IN OPTION MODULE 001522' 001522' 016101 LET R1 0- SC.CKL(R1) 000002 ;+ ; SET R1 EQUAL TO KW11P LABEL IN OPTION MODULE 1~~~ (4) (3) SEQ 0994 ROUTINE CKHUNG 001476' 001476' 1883 1884 1887 888 PAGE 20-15 .SBTTL CHECK MODULE HUNG ROUTINE 1:877 1878 1879 1880 1;881 1882 !(4) MACY11 30A(1052) 20-SEP-78 18:36 COMMON DEFINITIONS AND REFERENCES j- 001526' 001526' 000402 OOl530' 001530' 001530' 016101 ELSE ~50002$ LET R1 : "- SC.CKP(R1) 000004 1890 1891 . (4) 1892 1893 1894 1895 1896 1897 1898 1899 001534' 001534' ENDIF 50003$: ;+ ; POINT R3 TO FIRST ENTRY IN MODULE LIST, ; R2 POINTS TO FIRST ENTRY IN MOD TIME, AND R1 TO R.T.E TIME WORe. SYSCLK SYSTEM CLOCK BINDER MODULE SYSCLK.MAC 28-JUL-78 09:28 1900 (4) 1901 (4) (6 ) 1902 (6) 1'903 1904 1905 f906 1907 1908 (4 ) (6) (9) 001534' 001534' 001540' 001540' 001542' 001546' 001546' (9) (6 ) (9 ) (6 ) (9) 1923 1924 1925 1926 1927 1928 (4) 010102 062702 000006 062701 000002 001552' 001552' 001552' 021327 001556' 001500 001560' ( 6) 000032 (6 ) (9) (6) (9 ) 1931 1932 1933 1934 MOV DT.MLST(RO).R3 MOV ADD R1,R2 #6,R2 ADD #2,R1 CMP SEQ (R3),HENDLST 50005$ MOV (R3),R~4 MOV SIC ST.Il.T(H4),R4 #STATElIT, R4 CIViP SEQ CMP I3EQ CIVIP BEQ #BI-<:MOD, R4 50006$ #NBKMOD,R4 50006$ #SBKMOD,R4 50006$ MOV (R 3) , f~4 LET R1 • - R1 + #2 WHILE R3 IS NOT AT END OF MODULE LIST WHILE (R3) NE #ENDLST DO 50004$: 000000 ;+ ; IF MODULE NOT BKMOD,NGKMOD OR SBKMOD THEN ; DETERMINE IF MODULE IS ACTIVE AND NOT DROPPED ;LET R4 . - (R3) 011304 ;+ ; MASK OUT UNWANTED BITS ;- 001562' 001562' 001566' 001572' 001572' 001576' 001600' 001604' 001606' 001612' LET R4 ,- STAT(R4) CLR.BY #STATBIT 016404 042704 000026 064757 022704 001463 022704 001460 022704 001455 000020 IF #BKMOD NE R4 AND #NSKMOD NE R4 AND #SBKMOO NE R4 THEN 001000 000000 ;+ ; GET MODULE HEADER ADDRESS ;- LET R4 .- (R3) 001614' 001614' 011304 1929 1930 SEQ 0995 LET R2 .- R1 + #6 i 001560' 1922 PAGE 20-16 LET R3 .- DT.MLST(RO) 016003 ,' - (4) (6 ) 18:36 ;+ 1909 1910 1911 1912 1913 1'914 1915 , 916 1917 191 B 1919 1920 1921 (4) MACY11 30A(1052) 20-SEP-78 CHECK MODULE HUNG ROUTINE 001616' 001616' 001624' 001626' 001634' IF #ACTBIT 032764 001450 032764 001044 004000 000026 020000 000026 SETIN STAT(R4) AND #8IT13 NOTSETIN STAT(R4) BIT BEQ BIT BNE ;+ ; DETERMINE WHETHER THE DIFFERENCE OF MODULE TIME AND RTE. TIME THEN #ACTBIT,STAT(R4) 50007$ #BIT13,STAT(R4) 50007$ SYSCLK SYSTEM CLOCK BINDER MODULE 28-JUL-78 09:28 SYSCLK.MAC 1935 1936 1937 (4) (6) 1938 (6 ) (9) 1939 1,940 r (8 ) (7 ) (6 ) (5) (4) (3 ) (3 ) 1946 1947 1948 1949 1950 1951 1952 (6) 1953 (6 ) 1954 1955 1956 1957 1958 1959 (6 ) 1960 1961 1962 1963 1964 1965 1966 (3 ) (5 ) (4) (3 ) (3) 1967 (4) 1968 (4) 18:36 PAGE 20-17 SEQ 0996 ; IS GREATER THAN THE MAXIMUM ALLOWABLE TIME BETWEEN PASSES ,' 001636' 001636' 011167 001642' 161267 001646' 001646' 026760 001654' 101434 LET CK.TEMP := (R1) .- (R2) 177632 177626 177622 001656' 001656' 001660' 001664' 001666' 001672' 001676' 001702' 001706' MOV SUB (R1 ),CK.TEMP (R2),CK.TEMP CMP SLOS CK.TEMP,DT.MTIME 50010$. IF CK.TEMP HI DT.MTIME(RO) THEN 000110 ;+ ; THEN LOAD MESSAGE WITH MODULE HUNG AND OUTPUT MESSAGE AND DROP ; MODULE ;CALL ENOTO IN <#DTABLE,#MSGHNG,#0,R4,#0> MOV R5,-(SP) MOV #0 I - ( ::;:5) MOV R4,-(St5) MO V # 0 , - ( f;: 5 ) MOV #MSGHNG,-(R5) MOV #DTABLE,-(R5) JSR PC,ENQTO MOV (SP)+,R5 41 1942 1943 11944 1945 (3 ) MACY11 30A(1052) 20-SEP-78 CHECK MODULE HUNG ROUTINE 010546 012745 000000 010445 ' 012745 000000 012745 OOOO~2 012745 OOOOOOG 004767 OOOOOOG 012605 ;+ ; CLEAR THE ACTIVE BIT AND SET THE DROPPED BIT IN THE MODULES STATUS WORD ;- 001710' 001710' 052764 001716' 001716' 042764 020000 000026 004000 000026 LET STAT(R4) "- STAT{R4) SET.BY #BIT13 SIS #BIT13,STAT(R4) LET STAT(R4) .- STAT(R4) CLR.3Y NACTBIT #ACTBIT,STAT(R4) BIC ;+ ; NOW SET BIT TO TELL MONITOR THAT A MODULE HAS BEEN DROPPED 001724' 001724' 052760 LET DT.ST1(RO) 100000 := DT.ST1(RO) SET.BY #CKTIM 000012 BIS #CKTIM,DT.ST1(RO MOV MOV MOV JSR MOV R5,,-(SP) R4,,-(f<5) RO,-(H5) PC,DUNCHK (SP)+,R5 ;+ ; NOW GO SEE IF ANY MODULES ARE STILL RUNNING IF NOT DUNCHK ; WILL DROP THE EXERCISOR. 001732' 001732' 001734' 001736' 001740' 001744' 001746' 001746' 001746' 001746' CALL DUNCHK IN 010546 010445 010045 004767 012605 OOOOOOG ENDIF !50010$: ENDIF !50007$ : SYSCLK SYSTEM CLOCK BINDER MODULE 28-JUL-78 09:28 SYSCLK.MAC 1969 (4 ) 1970 1971 1972 1973 1974 1975 (6) 1976 (6) 1977 (4) (3 ) 1978 1979 1980 1981 1982 1983 (3 ) 1984 1985 ( 3) (3 ) (2 ) 19-86 1987 20-SEP-78 MACY 11 30A(1052) CHECK MODULE HUNG ROUTINE 18:36 PAGE 20-18 SEQ 0997 ENDIF 001746 1 001746 1 50006$: ;+ ; UPDATE MODULE LI ST POINTER AND MODULE TIME POINTER , 001746' 001746 1 062703 001752 1 001752 1 062702 001756' 001756' 000675 001760 1 LET R3 .- R3 + #2 LET R2 '- R2 + #4 000002 000004 ADD #2,R3 ADD #4,R2 BR 50004$ JSR PC,RESREG RTS PC ENDDO 50005$: ;+ ; RESTORE REGISTERS AND RETURN , 001760 1 001760' 004767 001764' 001764' 001764' 001764' 000207 000001 CALL RES REG OOOOOOG ENDRTN =;0000$ : !:;0001 $: . END MACY11 30.1\( 1 052) SYMBOL TABLE SYSCLK SYSTEM CLOCK BINDER MODULE 28-JUL-78 09:28 SYSCLK.MAC ACSR ACTBIT= ADDR22= ADR ADRCT "= APTFER= APTPRE= ASB ASSEMB= ASTAT = AUTO AUTOST= MvAS BDACNV= BGNADR= BITO BITOO BIT01 BIT02 8IT03 BIT04 BIT05 BIT06 BITu7 BIT08 = BIT09 BIT1 BIT10 BIl"11 8IT12 81T13 BIT14 BIT15 B1T2 BIT3 BIT4 BIT5 BIT6 BI17 BIT8 B119 BKDEF BKMOD BKMODE= BKSLSH= CAPRES= CASTAT= CC.CM1 CDERCT= CDWDCT= CKHUNG CKTIM = CK.TEM 000102 004000 001000 000000 000004 000004 000200 000106 000010 000104 000010 020000 000110 ****** G 000002 000001 000001 000002 000004 000010 000020 000040 000100 000200 000400 001000 000002 002000 004000 010000 020000 040000 100000 000004 000010 000020 000040 000100 000200 000400 001000 000002 000020 040000 000134 000004 000004 OOOOOOR 000146 000144 001476RG 100000 001474R CLKCHK CLKOFF CLKON CLKPRE= CLRTIM CONFIG= CQOVF CR CSRA CSRC CTRLC CTRLO CTRLU DCEVNT= DEFRTN= DIAGMC= DROPMO= DSEVNT= DTA DTABLE= DT.ADD= DT.AP = DT.APK= DT.BLS= DT.CFO= DT.CF1= DT.ERR= DT.ESI= DT.EVN= DT.EXS= PT.FCH= DT.FCN= DT.HMX= DT.KBE= DT.KBP= DT.KBR= DT.KBU= DT.MLS= DT.MTI= DT.OFF: DT.PAS= DT.PC = DT.PFL= DT.PSW= DT.PTA= DT.RCS= DT.REL= DT.SCT= DT.SMX= Dr. SP = DT.SSI= DT.STO= DT.ST1= 000034RG 000304RG 000370RG 000001 001434RG 000056 000001 000015 000100 000102 000003 000017 000025 000011 000400 000000 100000 000014 000000 ****** 000042 000100 000076 000034 000014 000016 000020 000044 000000 000060 000037 000036 000104 000024 000026 000022 000030 000032 000110 000070 000074 000002 000062 000004 000064 000102 000040 000066 000106 000006 000046 000010 000012 G 20-SEP-:-78 DT.SWR= DT.SYP= DT.WBU= DT.WHL= DT.WLL= DUNCHK= DVID1 = ECCMEM= ECCSTA= EN8EOP= EN8NUL= ENDLST= ENQTQ = EOPBIT= ERRTYP= EVNTBE= EVNTHD= EVNTKT= EVNTPE= EVNTRE= FATERR= HMS HM.CNV HM.CTE HM.CTT HM.HRS HM.MIN HM.SEC HM.THR HM.TMI HM.TSE· HRDADR= HRDCNT= HRDPAS= ICONT = ICOUNT= IDNUM = IE INDPAR= INHDRP= 1NHEPR= 1NHREL= INHRRE= INIT INTR IOMOD IOMODP= IOMODR= IOMODX= JACK KIPARO= KIPAR1= KIPAR2= 000056 000072 000050 000051 000052 ****** G 000014 000"100 000010 010000 000001 000000 ****** G 000001 000106 000200 000200 000203 000202 000201 100000 001004RG 000776R 000770R 000760R 000760R 000763R 000765R 000770R 000772R 000774R ****** G 000044 000050 000036 000040 000122 000100 000040 040000 020000 001000 000400 000030 000120 100000 102000 112000 110000 035060 172340 172342 172344 18:36 PAGE 21 SEQ 0998 KIPAR3:: K I PAR4:: KIPAR5': K I PAR6:: KIPAR7:: KIPDRO:: KIPDR1== KIPDR2:: KI PDR3::: KI PDR4:= KIPDR5::: K I PDR6::: 10 PDR7:: KTERRO:= KTPRES:;: KTSTAT::: ~TXTND= l..DTIME LF lPSTAT= "MAPSTA= MED MEMPAS= MCDEXH= MODHOL= 1\1ODSEL= MSGCKD= MSGCKS= MSGDER= MSGDRP= MSGECH= MSGEOP= MSGHDR= MSGHNG= MSGHRD= MSGMAP= MSGNUL= MSGPOP= MSGPRM= MSGRES= MSGSFT= MSGSKE= MSGSIVI8= MSGSMH= MSGSMS,= ;y1SGS TO= IMSGSYS= "fVlSGVEC= : NBKMOD= NCPUOP= NOAPTY::: NULL OWEN 172346 172350 172352 172354 172356 172300 172302 172304 17~306 172310 172312 172314 17:~3i6 000040 000400 000020 040000 00O::,34R 0000.2 000001 000200 076600 040000 004000 002000 001000 000010 000011 000005 000017 177777 000013 000004 " 000022 000007 000021 177775 000002 1 '7"7776 000001 000006 000003 000015 000014 000016 000000 000012 000020 001000 000020 000002 000000 024020 PAERR = PARPRE= PARSTA= PASCNT= PDPLSI= PDP60 PDP70 PRHMS PRIO PRI1 PRI4 PRI5 PRI6 PRI7 PRPSCN PRO PR4 PH5 PR6 PR7 PS PSW Ri\NNUM= RBUFEA= RBUFPA= RGUFSZ= RBUFVA= RDSERV= RDWHMI= RELERR= RE LMOD= REL TIM:: RESREG= RESULT= RES1 RES2 RICHAR= RPTDAT= RSTRT = RUBOUT= RUNMOD= R5VALU= SAM Sr... VREG= SBADR = SBKMOD= SBKSE L= SC.ADR= SC.ALC= SC.APC= SC.CKL= SC.CKP= SC. CLO=: 000010 002000 000100 000034 020000 004000 010000 000414RG 000000 000040 000200 000240 000300 000340' 000604RG 000000 000200 000240 000300 000340 17777E; 17777Ei 000054 000130 00012Ei 000 13~~ 000124 0001011 00002~~ 000020 020000 0i000() ****** 000004 G 00005() 000060 0310GO 002000 00011:2 000177 100000 00"1740 07~3464 ****** 00010:2 000000 010000 0000015 000014 0000116 000002 000004 000000 G SYSCLK SYSTEM CLOCK BINDER MODULE 28-JUL-78 09:28 SYSCLK.MAC SC.HLD= SC.SCA= SENDLS= SOFCNT= SOFPAS= SPACE = SPOINT= SPVALU= SRO SR1 SR2 SR3 STAT STATBI= STATl = SUSPND= SVRO SVR1 SVR2 SVR3 SVR4 SVR5 SVR6 SYSCNT= SYSERR= TIME 000010 000012 177777 000042 000046 000040 000032 002200 177572 177574 177576 172516 000026 064757 000027 000001 000062 000064 000066 000070 000072 000074 000076 000052 000100 000000 ABS. 000000 001766 TMPIO :: TQOVF = UIPARO= UIPAR1= UIPAR2= UIPAR3= UIPAR4= UIPAR5= UIPAR6= UIPAR7= UIPDRO= UIPDR1= UIPDR2= UIPDR3= UIPDR4= UIPDR5= UIPDR6= UIPDR7= UPDMOD= UPDTIM WASADR= WBSTAT= WBUF EA= WBUFPA= WBUFRQ= WBUFSZ= MACY 11 30A(1052) SYMBOL TABLE 000002 000002 177640 177642 177644 177646 177650 177652 177654 177656 177600 177602 177604 177606 177610 177612 177614 177616 000002 001320RG 000104 000040 000136 000134 000140 000142 000 001 a ERRORS DETECTED: DEFAULT GLOBALS GENERATED: 0 DSKZ:SYSCLK,DSKZ:SYSCLK=SPMAC/ML,EQUATE,SYSCLK RUN-TIME: 34 25 .4 SECONDS RUN-TIME RATIO: 181/61=2.9 CORE USED: 14K (27 PAGES) 20-SEP-76 WOFR WOTO WTINRE= WTWHMI= XFLAG XOFF :::: XON XTIME $BGNLE= $ERFLG= $F$AND= $F$BAD= $F$BLA= $F$CAS= $F$DEC= $F$DO = $F$FAL= $F$GOO= $F$IF = $F$INC= $F$LOO= $F$NAM= $F$NO = $F$OR = $F$RTI= $F$RTN= 000116 000114 000352 000222 000005 000023 000021 000002 177777 000400 000310 000401 000170 000150 000220 000340 000405 000400 000110 000210 000200 000160 000403 000320 000350 000300 18:36 PAGE 21-1 SEQ 0999 $F$SEL:: $F$THE:: $F$TRU:: $F$UNT:: $ F$~IjH I:: $F$YES:: $IFLEV:: $ISKO .$ISK1 -$ISK2 -$ LOCT A:: $LSTIN:: $LSTTA:: $NESTL:: $NSKO $NSK1 $NSK2 $NSK3 .$NSK4 .$SAVLE= $SSKO .$TAGLE= $TAGNU= $TEMP $TSKO $TSK1 000140 000330 000404 000130 000120 000402 177777 000001 000001 000001 177777 000001 000001 177777 000300 000120 000110 000110 000110 17'7777 050005 177777 050011 000300 050004 050005 $TSK2 = $TSK3 = $TSK4 = $$ARGC= $$BYTE= $$C.l\SE= $$DST = $$ELOC= $$ERFL= $$FLAG= $$FROM= $$LOC = $$LOCN= $$REG = $5RETU= $$RTN1= $'5RTN2= $$SRC = $$TGSV= $$TGS1= $$TGS2= $$TO $$$TAG= 050006 05000'7 050010 000000 000403 000000 000000 000402 000000 000001 000000 001654R 000000 177777 000000 050000 050001 000000 000000 000000 0'000001 000000 050000 00176€iR .MAIN. MACY11 30A(1052) 20-SEP-78 EQUATE.MAC 13~SEP-78 16:13 3 536 539 575 617 634 686 757 808 18:39 TABLE OF CONTENTS COMMON EQUATE MODULE COMMON DEFINITIONS & REFERENCES 000000 I • PRINT TOINI (FUNCTIONAL DESCRIPTION) TQINI (CODE) ENQTQ (FUNCTIONAL DESCRIPTION) ENQTQ (CODE) DEQTQ (MODULE FUNCTIONAL DESCRIPTION) DEQTQ (CODE) i SPMAC: VERSION 1.1 SEQ 1000 TYPQUE (TYPE QUEUE MODULES) TYPQUE.MAC 28-JUL-78 09:28 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 MACY11 30A(1052) 20-SEP-78 18:39 COMMON EQUATE MODULE PAGE 19 SEQ 1001 .TITLE TYPQUE (TYPE QUEUE MODULES) .IDENT IVO.OI ;++ MODULE PACKAGE NAME! TYPQUE FUNCTIONAL DESCRIPTION: THIS MODULE PACKAGE CONTAINS THREE ROUTINES. THE FIRST ONE INITIALIZES THE TYPE QUEUE AND THE OTHER TWO ACTUALLY DO THE ENQUEING AND DEQUEING OF ITEMS FROM THE TYPE QUEUE. THE DESCRIPTION IS GIVEN UNDER THE RESPECTIVE MODULES. THESE MODULES ARE: 1. TQINI - INITIALIZES THE TYPE QUEUE 2. ENQTQ - ENQUES ITEMS ON THE TYPE QUEUE 3. DEQTQ - DEQUES ITEMS FROM THE TYPE QUEUE. THE QUEUE POINTERS ARE CONTAINED IN THIS MODULE FOR USE 8Y THE ABOVE NAMED MODULES LOCALLY. VERSION: 0.0 EDIT ;-- DATE BY REASON TYPQUE (TYPE QUEUE MODULES) TYPQUE.MAC 28-JUL-78 09:28 536 537 538 539 (1) 540 541 :542 543 MACY11 30A(1052) 20-SEP-78 18:39 PAGE 19-1 COMMON DEFINITIONS & REFERENCES .SBTTL COMMON DEFINITIONS & REFERENCES 000000 1 000000 1 000001 000001 .MCALL STRUCT STRUCT .PRINT ;SPMAC: VERSION 1.1 $LSTIN=1 $LSTTAG~1 ;**************** , .544 '545 ; REFERENCED BY OTHER MODULES: , ;546 552 .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL 553 ;**************** 547 548 549 550 ;551 , 555 556 .GLOBL GETPSW .GLOBL OV.TQ .GLOBL OV.HITQ .GLOBL OV.TQSIZ 557 558 ,559 560 ~561 '567 568 569 570 ; 571 572 573 j LOCAL STOI~AGE TO·VEC: TQ.PSW: TO·INP: TQ.OTP: TO.CT: TQ. HI: TO·MAX: TQ.ITQ: o o , 563 ,566 ;TO OUT PTR ;ROUTINE TO IN IT TYPE QUEUE ;ROUTINE TO PUT ITEMS ON TO ;ROUTINE TO DEQUE ITEMS. ;GET CALLER'S PSW ROUTINE ;TYPE QUEUE BUFFER ;**************** ·562 565 ;TQ COUNT ;TQ IN PTR ; GLOBAL REFERENCES 554 564 TQ.Cr TQ.INP TQ.Orp TQIN! ENQTQ DEQTQ 000000 1 000002 1 000004 1 000006 1 000010 1 000012 1 000014 1 000016 1 000000 000000 OOOOOOG OOOOOOG 000000 OOOOOOG OOOOOOG OOOOOOG #OV.TQ #OV.TQ o #OV.HITQ #OV.TQSIZ #OV.TQ ;SAVE LOC.4 jLOC. TO SAVE CALLER'S PS WORD ;[NQUE POINTER ;DEQUE POINTER ;CURRENT ENTRY COUNT ;QUEUE'S HIGH ADDRESS ;MAX NO. OF ENTRIES ALLOWED SEQ 1002 TYPOUE (TYPE QUEUE MODULES) TYPOUE.MAC 28-JUL-78 09:28 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 60:t: 603 604 605 606 607 608 609 610 611 612 61.3 614 615 MACY11 30A(1052) 20-SEP-78 18:39 PAGE 19-2 TOIN! (FUNCTIONAL DESCRIPTION) SEQ 1003 .S8TTL TOIN! (FUNCTIONAL DESCRIPTION) ;++ MODULE NAME: TOINI FUNCTIONAL DESCRIPTION: THIS MODULE INITIALIZES THE TYPE QUEUE. IT RESETS THE ENQUE AND DEOUE POINTERS TO THE START OF THE QUEUE, AND SETS THE COUNT TO ZERO INPUTS: NONE IMP L1 CIT J NPUTS: NONE OUTPUTS: NONE IMPLICIT OUTPUTS: NONE PATHOLOGICAL CONNECTIONS: NONE SUBORDINATE ROUTINES CALLED: NONE FUNCTIONAL SIDE EFFECTS: NONE CALLING SEQUENCE: CALL TOINI VERSION: 0.0 ,"-- EDIT DATE BY REASON TYPQUE (TYPE QUEUE MODULES) TYPQUE.MAC 28-JUL-78 09:28 617 618 619 620 (2 ) 621 622 623 624 625 626 627 628 (4) 629 ,( 4) ;630 (4) 631 (3) : (3) (2 ) .632 MACY11 30A(1052) 20-SEP-78 TQINI (CODE) 18:39 PAGE 19-3 SEQ 1004 .SBTTL TOINI (CODE) ROUTINE TOINI 000020' 000020' TOINI: ;+ ; INITIALIZE IN AND OUT POINTERS AND COUNT 000020' 000020' 000026' 000026' 000034' 000034' 000040' 000040' 000040' 000040' LET TO.INP 016767 177772 177756 LET TO.OTP 016767 177764 ..- TO. I TQ MOV TQ. ITGI~ TQ. INP MOV TQ. IT~I, TQ.OTP CLR TQ.CT RTS PC TQ.ITQ 177752 LET TQ.CT ::: #0 005067 177750 ENDRTN !:iOOOO$ : 50001$: 000207 TYPQUE (TYPE QUEUE MODULES) TYP~UE.MAC 28-JUL-78 09:28 634 635 636 637 638 639 640 641 642 643 MACY11 30A(1052) 20-SEP-78 18:39 PAGE 19-4 ENOTQ (FUNCTIONAL DESCRIPTION) .SBTTL ENQTQ (FUNCTIONAL DESCRIPTION) ;++ MODULE NAME: ENQTQ FUNCTIONAL DESCRIPTION: THIS MODULE HANDLES QUEUEING OF ITEMS ONTO THE TYPE QUEUE. 648 649 INPUTS: 1. DATA TABLE ADDRESS 2. MESSAGE TYPE CODE 3. MESSAGE ADDRESS 4. MODULE'S HEADER ADDRESS 5. RETURN ADDRESS 650 651 652 IMPLICIT INPUTS: DT.ERR 644 645 646 647 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 OUTPUTS: NONE IMPLICIT OUTPUTS: ERROR WORD (DT.ERR) PATHOLOGICAL CONNECTIONS: NONE SUBORDINATE ROUTINES CALLED: 1. GETPSW CALLING SEQUENCE: CALL ENQTQ IN WHERE DTADR = DATA TABLE ADDRESS TYPCOD TYPE CODE MSGADR MESSAGE ADDRESS HDRADR HEADER ADDRESS RETADR = RETURN ADDRESS 674 675 676 677 VERSION: 0.0 680 681 682 683 684 ;GET CALLER'S PS WORD FUNCTIONAL SIDE EFFECTS: ENQUEING IS DONE AT PRIORITY LEVEL 7 WHICH SERVES AS A LOCKING MECHANISM. 673 678 679 SEQ 1005 EDIT ;-- DATE BY REASON TYPQUE (TYPE QUEUE MODULES) TYPQUE.MAC 28-JUL-78 09:28 686 687 688 (2) 689 690 691 692 693 694 (2) 695 696 697 698 699 700 701 702 703 704 (6) (9) 705 (4) 706 (6) 707 (2 ) 708 (2 ) (4) 709 (4) 710 711 712 713 71.4 715 716 (4) (3 ) (4 ) 717 (2 ) 71£' (2 ) 719 (2 ) 720 721 722 723 724 725 MACYll 30A(1052) 20-SEP-78 ENQTQ (CODE) 18:39 PAGE 19-5 SEQ 1006 .SBTTL ENQTQ(CODE) ROUTINE ENQTQ 000042 1 000042' ENQTQ: ;+ ; SAVE REGISTER , '- PUSH RO 000042' 000042' 010046 MOV RO,-(SP) CMP BLT TQ.CT,TQ.MAX 50002$ MOV OT ( RS) , RO BIS #TQOVF!FATERR,OT MOV (SP)+,RO SEC BR 50001$ ;+ IF THE COUNT IS EQUAL TO THE QUEUE IS FULL AND WE ; FURTHER ENTRIES INTO THE ; ERROR FLAG IN THE STATUS ; AND RETURN WITH ERROR. 000044' 000044' 000052' 000054' 000054' 000060' 000060' 000066' 000066' 000070' 000070' 000072' 000074' 000074' MAX. COUNT, CANNOT MAKE QUEUE. SAVE DTABLE ADDR AND SET INDICATOR IF TQ.CT GE TQ.MAX THEN 026767 002410 177740 016500 000000 052760 100002 177742 LET RO := DT(R5) LET DT.ERR(RO) "- DT.ERR(RO) SET.BY #TQOVF!FATERR 000020 POP RO 012600 RETURN ERROR 000261 000447 ENDIF :>0002$ : i+ ; SAVE CALLER'S PRIORITY AND ; CHANGE PRIORITY LEVEL TO 7 000074 1 000074' 000100' 000104' 000110' 000110' 000114' 000114' 000120' 000120' CALL GETPSW OUT 162705 004767 012567 000002 OOOOOOG 177672 012746 000340 012746 # 1 2 , F~5 MOV #PF<7,'-(SP) MOV #19>,-i[SP) PUSH #PR7 PUSH #1$ 000122' INLINE RTI 000002 :+ IF QUEUE'S ENQUE POINTER IS EQUAL TO QUEUE'S HIGH ADDRESS, REINITIALIZE THE POINTER TO THE START ADDRESS OF THE QUEUE. * SUB JSR MOV PC,GElrPSW (R~»+.,TQ.PSW TYPQUE (TYPE QUEUE MODULES) 28-JUL-78 09:28 TYPQUE.MAC 726 727 728 (2 ) 729 (6) (9 ) 730 (4) 731 (4) 732 733 734 735 736 737 738 (4) 739 (4) 740 (4) 741 (4) 742 (4) 743 (4) 744 (6 ) 745 746 747 '748 749 750 (2 ) 751 (2 ) 752 (2 ) 753 (2 ) 754 (2 ) 755 (3) (2 ) (3) (2) 20-SEP-78 MACY11 30A(1052) ENQTQ (CODE) 18:39 PAGE 19-6 SEO 1007 j- 000122' 000122' 000122' 000122' 026767 000130' 001003 000132' 000132' 012767 000140' 000140' INLINE <1$:> 1 $: IF TQ.INP EO TO·HI THEN 177656 177662 LET TO. INP := #OV.TO OOOOOOG 177644 CMP BNE TQ.INP,TQ.HI 50003$ MOV #OV.TQ,TQ.INP MOV TQ.INP,RO MOV CODE(R5) MOV MSG(R::,), (RO)+ MOV HDR(R!:i), (RO)+ MOV RE1'(R::i),(RO)+ MOV RO,TQ.INP INC TO.CT MOV TQ.PSvJ,-(SP) MOV #2$,-(SP) ENDIF 50003$: i+ ; NOW ENQUE THE ENTRIES. 'r - 000140 1 000140 1 000144' 000144' 000150' 000150' 000154' 000154' 000160' 000160' 000164' 000164' 000170' 000170' LET RO 016700 .- 177640 LET (RO)+ MSG(R5) LET (RO)+ · .' HDR(R5) LET (RO)+ ·.. RET(R5) 000002 016520 000004 016520 000006 016520 000010 010067 177614 005267 177614 INP · -, · ., LET (RO)+ 016520 T~'. CODE(R5) LET TQ.INP := RO t (RO)+ LET TQ.CT ::: TO. CT + #1 ;+ j RESTORE j- 000174 1 ')00174' 000200 1 000200' 000204' 000204' 000206' 000206' 000206 1 000206' 000210' 000210' 000210' 000212' 000212' CJ~LLER' S PS WORD AND RETURN PUSH TQ.P5W 016746 177602 012746 000206' PUSH #2$ INLINE 000002 RTI INLINE <2$:>- 2$: POP RO MOV 01260{) (SP)+"RO ENDRTN ~50000$ 000241 000207 : CLC ~30001$: RTS PC TYPQUE (TYPE QUEUE MODULES) TYPQUE.MAC 28-JUL-78 09:28 MACY11 30A(1052) 20-SEP-78 1B:39 PAGE 19-7 DEQTQ (MODULE FUNCTIONAL DESCRIPTION) .SBTTL DEQTQ (MODULE FUNCTIONAL DESCRIPTION) 757 758 759 760 ;++ MODULE NAME: DEQTQ 761 762 763 764 FUNCTIONAL DESCRIPTION: THIS MODULE HANDLES DEQUEUEING OF ITEMS FROM THE TYPE QUEUE. 765 766 767 INPUTS: NONE 768 769 770 IMPLICIT INPUTS: NONE 771 772 773 OUTPUTS: 1. MESSAGE TYPE CODE 2. MESSAGE ADDRESS 3. MODULE'S HEADER ADDRESS 4. RETURN ADDRESS 774 775 776 777 778 779 IMPLICIT OUTPUTS: NONE 780 781 782 PATHOLOGICAL CONNECTIONS: NONE 783 784 785 SUBORDINATE ROUTINES CALLED: GETPSW ;GET CALLER'S PS WORD 786 787 788 789 FUNCTIONAL SIDE EFFECTS: DEQUEING IS DONE AT PRIORITY LEVEL 7 WHICH SERVES AS A LOCKING MECHANISM. 790 791 792 793 794 CALLING SEQUENCE: CALL DEQTQ OUT 795 796 797 WHERE CODE = TYPE CODE MSGADR MESSAGE ADDRESS HDRADR HEADER ADDRESS RETADR RETURN ADDRESS 798 799 800 801 802 803 B04 B05 B06 SEQ 100B , 000214 1 VERSION: 0.0 EDIT ;-- DATE BY j:~EASON MACY 11 30A(1052) 20-SEP-78 DEQTQ (CODE) TYPQUE (TYPE QUEUE MODULES) 28-JUL-78 09:28 TYPQUE.MAC 808 809 810 (2) 811 812 813 814 815 816 817 (6) (9 ) 818 ( 2) (4) 819 (4) 820 .821 822 823 .824 825 826 (4) (3 ) (4) 827 (2 ) 828 (2 ) 829 (2 ) 830 831 832 833 834 835 836 837 (2 ) 838 (6) (9 ) 839 (4) 840 (4) 841 842 843 844 845 846 18:39 PAGE 19-8 SEQ 1009 .SBTTL DEQTQ (CODE) ROUTINE DEQTQ 000214 1 000214 1 ;+ ; IF THE COUNT IS EQUAL TO ZERO, ; IS EMPTY. RETURN WITH ERROR. ;- 000214 1 000214 1 000220 1 000222 1 000222 1 000224 1 000226 1 000226 1 DEQTQ: QUEUE IF TO.CT LE #0 THEN 005767 003002 177570 RETURN. ERROR 000261 000450 ENDIF TST BGT TQ.CT 50002$ SEC BR 50001$ SUB JSR MOV #1*2,F!5 PC,GETPSW (R!5)+"TQ.PSW MOV #PH7,'-(SP) MOV #3$,-(SP) 5,0002$ : ;+ ; SAVE CALLER1S PRIORITY AND : CHANGE PRIORITY TO 7 ; -- 000226 1 000226 1 000232 1 000236 1 000242 1 000242 1 000246 1 000246 1 000252 1 000252 1 CALL GETPSW OUT 162705 004767 012567 000002 OOOOOOG 177540 012746 000340 012746 000254 PUSH #PR7 PUSH #3$ 1 INLINE RTI 000002 ;+ IF THE DEQUE POINTER IS AT HIGH RE-INITIALIZE IT TO THE ; START ADDRESS OF THE QUEUE. i ; ADDRESS, ;- 000254 1 000254 1 000254 1 000254 1 026767 000262 1 001003 000264 1 000264 1 012767 000272 1 000272 1 INLINE <3$:> 3$: IF TQ.OTP EQ TO.HI THEN 177526 177530 CMP BNE TQ.OTP,TQ.HI 50003$ MOV NOV.TQ,TQ.OTP LET TO.OTP := #OV.TQ OOOOOOG 177514 ENDIF !50003$ : ;+ ; NOW DEQUE THE ENTRIES. ;- ;+ TYPQUE (TYPE QUEUE MODULES) 28-JUL-78 09::28 TYPQUE.MAC 847 848 849 850 (:2) , 851 (4) 852 (4) 853 (4 ) 854 (4) 855 (4 ) 856 (4) 857 85H 859 860 861 862 (6) 863 864 865 866 867 868 (2 ) 869 (2 ) 870 (2 ) 871 ,( 2) 872 (2 ) 873 (3 ) (2 ) (3) (2) 874 20-SEP-78 MACY11 30A(1052) DEQTQ (CODE) 18:39 PAGE 19-9 SEQ '010 ; SAVE REGISTERS ;- 000272 1 000272 1 000274 1 000274 1 000300 1 000300 1 000304 1 000304 1 000310 1 000310 1 000314 1 000314 1 000320 1 000320 1 PUSH RO 010046 016700 LET RO .- TQ.OTP 177506 LET CODE(R5) 012065 000000 012065 000002 000004 012065 000006 010067 177462 (RO)+ (RO)+ LET HDR(R5) ··- LET RET(R5) ·- (RO)+ LET MSG(R5) 012065 .- MOV RO,-(SP) MOV TQ.OTP,RO MOV (RO)+,CODE(R5) MOV (RO)+,MSG(R5) MOV (RO)+,HDR(R5) MOV (RO)+,RET(R5) MOV RO,TQ.OTP DEC TQ.CT MOV TQ. PSv.I,-(SP) MOV #4$,-(SP) (RO)+ LET TQ.OTP := RO ;+ ; DECREMENT COUNT , 000324' 000324 1 005367 LET TQ.CT := TQ.CT - #1 177460 ;+ i , 000330 1 000330 1 000334 1 000334 1 000340 1 000340 1 000342 1 000342 1 000342 1 0003421 000344 1 000344 1 000344 1 000346 1 000346 1 RESTORE CALLER1S PS WORD AND RETURN PUSH TQ.PSW 016746 012746 000002 177446 000342 1 PUSH #4$ INLI NE RTI INLINE <4$:> 411'· "". POP RO 012600 MOV (SP)+,RO ENDRTN SOOOO$: CLC 000241 000207 000001 :;0001 $: RTS . END PC TYPQUE (TYPE QUEUE MODULES) TYPQUE.MAC 28-JUL-78 09:28 ACSR ACTBIT= ADDR22= ADR APTFER= APTPRE= ASS ASSEMB= ASTAT = AUTO AUTOST= AWAS SITO BITOO BIT01 BIT02 BIT03 B1T04 BIT05 BIT06 BIT07 BIT08 BIT09 BIT1 8IT10 BIT11 BIT12 BIT13 B1T14 B1T15 BIT2 BIT3 BIT4 BITS BIT6 BIT7 BIT8 B1T9 BKDEF BKMOD BKMODE= BKSLSH= CAPRES= CASTAT= CDERCT= CDWDCT= CKTIM = ClKPRE= CODE CONFlG= CQOVF CR CSRA 000102 004000 001000 000006 000004 000200 000106 000010 000104 000010 020000 000110 000001 000001 000002 000004 000010 000020 000040 000100 000200 000400 001000 000002 002000 004000 010000 020000 040000 100000 000004 000010 000020 000040 000100 000200 000400 001000 000002 000020 040000 000134 000004 000004 000146 000144 100000 000001 000000 000056 000001 000015 000100 20-SEP-78 MACY11 30A(1052) SYMBOL TABLE CSRC CTRLC CTRLO CTRLU DCEVNT= DEFRTN= DEQTQ DIAGMC= DROPMO= DSEVNT= DT DT.ADD= DT.AP = DT.APK= DT.BLS= DT.CFO= D1.CF1= DT.ERR= D1.ESI= DT.EVN= DT.EXS= DT.FCH= DT.FCN= DT.HMX= DT.KBE= DT.KBP= DT.KBR= DT.KBU= DT.MLS= DT.MTI= DT.OFF= DT.PAS= DT.PC = DT.PFl= DT.PSW= DT.PTA= DT.RCS= DT.REL= DT.SCT= DT.SMX= DT.SP = D1.SSI= D1.STO= DT.ST1= DT.SWR== DT.SYP= DT.WBU= DT. ~oJHL= DT.WLL= DVID1 = ECCMEM= ECCSTA= ENBEOP= 000102 000003 000017 000025 000011 000400 000214RG 000000 100000 000014 000000 000042 000100 000076 000034 000014 000016 000020 000044 000000 000060 000037 000036 000104 000024 000026 000022 000030 000032 000110 000070 000074 000002 000062 000004 000064 000102 000040 000066 000106 000006 000046 000010 000012 000056 000072 000050 000054 000052 000014 000100 000010 010000 ENBNUL= ENDLST= ENQTQ EOPSlT= ERRTYP= EVNTBE= EVNTHD= EVNTKT= EVNTPE= EVNTRE= FATERR= GET PS~v= HDR HRDCNT= HRDPAS= ICONT == 1COUNT= IDNUM = IE INDPAR= lNHDRP= INHEPR= INHREL= INHRRE= INIT INTR IOMOD IOMODP= IOMODR= IOMODX= JACK KIPARO= KIPAR1= KIPAR2= KIPAR3= KIPAR4= KIPAR5= KIPAR6= K1PAR7= KIPDRO= KIPDR1= KIPDR2= KIPDR3= KIPDR4= KIPDR5= KIPDR6== KIPDR7= KTERRO= KTPRES= KTSTAT= KTXTND= LF LPSTAT= PAGE 20 18:39 SEQ '011 000001 000000 000042RG 000e01 00C106 000200 000200 000203 000202 000201 100000 ****** 000004 000044 000050 000036 000040 000122 000100 000040 040000 020000 001000 000400 000030 000120 100000 102000 112000 110000 035060 172340 172342 172344 172346 172350 172352 172354 1 '/2356 172300 172302 172304 172306 172310 172312 172314 172316 000040 000400 000020 040000 000012 000001 G MAPST A:= MED MEMPAS:= MODEXH:: MODHOl:: MODSEl:: MSG MSGCKD:::' MSGCKS:: MSGDER:: MSGDRP:: MSGECH= MSGEOP:: MSGHDR:: MSGHNG= MSGHRO:::: MSGMAP= MSGNUL= MSGPOP= MSGPRM= MSGRES= MSGSFT= MSGSKE= MSGSMB= MSGSMH= MSGSMS= MSGSTD= MSGSYS= MSGVEC= NBKMOD= NCPUOP= NOAPTY= NULL OV.H1T= OV.TQ = OV.TQS= OWEN PAERR = PARPRE= PARSTA= PASCNT= PDPLSI= PDP60 PDP70 PRIO PRl1 PRI4 PRI5 PRI6 PRI7 PRO PR4 PR5 000200 076600 040000 004000 002000 001000 000002 000010 000011 000005 000017 177777 000013 00OC04 000022 000007 000021 177775 000002 177776 000001 000006 000003 000015 000014 000016 000000 000012 000020 001000 000020 000002 000000 ****** ****** ******. 024020 000010 002000 000100 000034 020000 004000 010000 000000 000040 000200 000240 000:300 000340 000000 000200 000240 G G G PR6 P:R7 PS PSW RANNUM= RBUFEA= RBUFPA= RBUFSZ= R8UFVA= ROSERV= RDWHMI= RELERR= RELMOD== REL TIM= RES1 = RES2 Rt:T RICHAR= RPTDAT= RSTRT = RUBOUT= RLlNMOD= R5VALU= SAM SBADR = SBKMOD= SBKSEL= SC.ADR= SC.ALC= SC.APC= sc. CK L= SC.CKP= SC.CLO= SC.HlD= SC.SCA= SENDLS= SOFCNT= SOFPA5= SPACE = SPOINT= SPVALU= SRO SRi SR2 = SR3 STAT STATBI= STAT1 = SUSPND= SVRO SVR1 SVR2 SVR3 000300 000340 177776 177776 000054 000130 000126 000132 000124 000101 000022 000020 020000 010000 000056 000060 000006 031060 002000 000112 00017? 100000 001740 0754Gt~ 000102 000000 010000 OOOOOEi 000014 00001E> 000 OO~~ 000004 000000 000010 00001:~ 177777 00004~~ 00004G 00004() 000032 002200 177572 177574 17757G 17251E3 00002G 064757 000027 00000"1 06006:2 000064 00006B 000070 20-SEP-78 MACY11 30A(1052) SYMBOL TABLE TYPQUE (TYPE QUEUE MODULES) 28-JUL-78 09:28 TYPQUE.MAC SVR4 SVR5 SVR6 SYSCNT= SYSERR= TMPIO TQINI TQOVF = TQ.CT TQ.HI TQ.IN? TQ.ITQ TQ.MAX TQ.OTP TQ.PSW TQ.VEC UIPARO= UIPAR1:: UIPAR2= UIPAR3= UIPAR4= ABS. UIPAR5= UIPAR6= UIPAR7= UIPDRO= UIPDR1= UIPDR2= UIPDR3= UIPDR4= UIPDR5= UIPDR6= UIPDR7= VERSIO WASADR= WBSTAT= WBUFEA= WBUFPA= WBUFRQ= t'v'BUF S2= WDFR WDTO WTINRE= 000072 000074 000076 000052 000100 000002 000020RG 000002 000010RG 000012R 00OO04RG 000016R 0OO014R 00OO06RG 000002R OOOOOOR 177640 177642 177644 177646 177650 000000 000350 177652 177654 177656 177600 177602 177604 177606 177610 177612 177614 177616 000214R 0-00104 000040 000136 000134 000140 000142 000116 000114 000352 000 001 ERRORS DETECTED: 0 DEFAULT GLOBALS GENERATED: 0 DSK2:TYPQUE,DSK2:TYPQUE=SPMAC/ML,EQUATE,TYPQUE RUN-TIME: 15 5 .3 SECONDS RUN-TIME RATIO: 52/20=2.5 CORE USED: 14K (27 PAGES) WTWHMI= XFLAG = XOFF XON $BGNLE= $ERFLG= $F$AND= $F$BAD= $F$BLA= $F$CAS= $F$DEC= $F$DO == $F$FAL= $F$GOO= $F$IF = $F$INC= $F$LOO= $F$NAM= $F$NO = $F$OR = $F$RTI= 18:39 000222 000005 000023 000021 177777 000400 000310 000401 000170 000150 000220 000340 000405 000400 000110 000210 000200 000160 000403 000320 000350 PAGE 20-1 SEQ 1012 $F$RTN:~ $ F$SE L=: $F$THE:= $F$TRU:: $F$UNT:: $F$\t>JHI:: $F$YES= $1 FLEV:: $ISKO .. $LOCTf..= $LSTIN:: $LSTTA:: $NESTL:: $NSKO $NSKl $SA \I LE:: $TAGLE::: $T AGNU::: $TEMP -$TSKO -$$ARGC::: -~ 000300 000140 000330 000404 000130 000120 000402 177777 000001 177777 000001 000001 177777 000300 000110 177777 17'7777 050004 000300 050003 000010 $$BYTE= $$CASE= $$DST = $$ELOC= $$ERFL= $$FLAG= $$FROM= $$LOC = $$LOCN= $$REG :: $$RETU= $$RTN1= $$RTN2= $$SRC = $$TGSV= $$TGS1= $$TGS2== $$TO $$$TAG= 00040:3 000000 000000 000402 000000 000001 000001 00Q262R 000000 177777 000001 050000 050001 000000 OOOOO() 000000 000000 000000 050000 000350R .MAIN. MACY11 30A(1052) 20-SEP-78 EQUATE.MAC 13-SEP-78 16:13 3 554 556 583 18:40 TABLE OF CONTENTS COMMON EQUATE MODULE COMMON DEFINITIONS AND REFERENCES 000000' .PRINT UNIMAP ROUTINE jSPMAC: VERSION 1.1 SEQ 1013 UNIMAP - LOAD UNIBUS MAP UNIMAP.MAC 15-AUG-78 15:01 SOB 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 MACY1t 30A(1052) 20-SEP-78 18:40 COMMON EQUATE MODULE ;++ MODULE NAME: UNIMAP FUNCTIONAL DESC~IPTION: LOADS THE UNIBUS MAP SO THAT THE WRITE BUFFER CAN BE ADDRESSED BY UNIBUS DEVICES WHEN 22-BIT ADDRESSING SPACE IS IN USE. INPUTS: DATA. TABLE IMPLICIT INPUTS: DT . 'ilILLMT 525 526 527 OUTPUTS: NONE 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 SEO 1014 .TITLE UNIMAP - LOAD UNIBUS MAP .lDENT JVO.Oj 524 528 PAGE 19 IMPLICIT OUTPUTS: NONE PATHOLOGICAL CONNECTIONS: BL.BTMBNK BL.TOPBNK ;CURRENT 124K BANK OF BOTTOM OF EXERCISER ;CURRENT 124K BANK OF TOP OF EXERCISER SUBORDINATE MODULES CALLED: SAVnEG RESHEG ;SAVE REGISTERS ;RESTORE REGISTERS FUNCTIONAL SIDE EFFECTS: NONE CALLING SEQUENCE: CALL UNIMAP IN A=ADDRESS OF DATA TABLE VERSION: 0.0 EDIT ;-- BY DATE f~EASON UNIMAP - LOAD UNIBUS MAP UNIMAP.MAC 15-AUG-78 15:01 554 555 556 (1) 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 000000' 000000' 000001 000001 MACY1' 30A(1052) 20-SEP-78 18:40 PAGE 19-1 COMMON DEFINITIONS AND REFERENCES SEQ 1015 .SBTTL COMMON DEFINITIONS AND REFERENCES .MCALL STRUGT STRUCT .PRINT jSPMAC: VERSION 1.1 $LSTIN=1 $LSTTAG:a1 ; ;**************** ; ; REFERENCED BY OTHER MODULES ; .GLOBL UNIMAP ;MODULE ENTRY POINT ; ;**************** ; ; GLOBAL REFERENCES i .GLOBL .GLOBL .GLOBL .GLOBL SAVFlEG RESF1EG BL. EHMBNK BL.TOPBNK SAVE REGISTEf~S ;RESTORE REGISTERS ;CURRENT 124K BANK OF BOTTOM OF RTE ;CURRENT 124K BANK OF TOP OF RTE i i ;**************** ; ; lOCAL EQUATES ; 170200 MAPREG=1702()0 ; LOWEST ADDRESS OF UNIBUS MAP UNIMAP - LOAD UNIBUS MAP UNIMAP.MAC 15-AUG-78 15:01 583 584 585 (2) 586 587 588 589 MACYt1 30A(10S2) 20-SEP-78 UNIMAP ROUTINE ROUTINE UNIMAP 000000' 000000' ; SAVE REGISTERS 000000' 000000' 004767 CALL SAVREG OOOOOOG (9) (6 ) (9) 611 (2 ) 612 (4) 613 (4 ) 614 (4) 615 616 (4 ) (3 ) 617 618 619 620 621 622 623 PC,SAVREG MOV TABL(R5),RO ; SET RO TO THE START OF ThE DATA TABLE ;- LET RO := TABL(RS) 000004' 000004' 016500 000000 ;+ IF THE WRITE BUFFER LOW LIMIT IS 4K, IMPLYING THE CURRENT BANK IS THE lOWEST l24K BANK OF MEMORY, THEN START MAPPING FROM ADDRESS O. HOWEVER, IF THIS IS A 128K SYSTEM AND IF THE EXERCISER IS CROSSING THE l24K BOUNDARY, BEGIN MAPPING FROM THE LOW BUFFER LIMIT. ;- 607 608 (6 ) JSR ;+ 605 606 (9) 610 UNIMAP: ;- 602 603 604 (6 ) SEQ 1016 ;+ 600 601 609 PAGE 19-2 .SBTTlUNIMAP ROUTINE 590 591 (3) 592 593 594 595 596 597 598 (4) 599 1S:40 000010' 000010' 000016' 000020' 000020' 000026' 000030' 000036' 000040' 000040' 000042' 000042' 000042' 000042' 000044' 000044' IF DT.WLLMT(RO) EQ #200 THEN 026027 001014 000052 000200 026027 001005 026767 001401 000046 010000 IF DT.SSIZ(RO) EQ #10000 AND BL.TOPSNK NE BL.BTMBNK THEN OOOOOOG OOOOOOG INLINE
000403 ENDIF LET R2 :. #0 ELSE ~i0002$ ;+ DT.WLLMT(RO),#20 CMP SNE CMP SEQ DT.SSIZ(RO),#100 50003$ Bl.TOPBNK,BL.BTM 50003$ :;0003$: 005002 000046' 000046' 000417 000050' 50002$ SR 1$ LET Rt := #0 005001 CMP BNE CLR Ri CLR R2 BR 50004$ : ELSE CONVERT THE WRITE SUFFER LOW LIMIT TO 22 BITS. (THE LOW 16 SITS WILL BE IN Rl, AND THE HIGH 6 BITS WILL BE IN R2.) GET THE UPPER SIX BITS INTO THE UPPER SIX BITS OF Rt THEN SWAP THEM INTO THE ~OWER BYTE OF R2 UNIMAP - LOAD UNIBUS MAP 15-AUG-78 15:01 UNIMAP.MAC 624 625 626 627 (2 ) 628 (4) (7 ) (7 ) (7 ) (7 ) (7 ) { 7} 629 (6) (6 ) 630 (7 ) (7 ) 631 (6) 632 (4) 633 634 635 636 637 638 639 640 (4) 641 (4) 642 643 644 645 646 647 (4) (6 ) (9 ) 648 (6) 656 (6) 18:40 PAGE 19-3 SEQ 1017 ; THEN LINE THEM UP IN BITS o THRU 5 AND MASK OUT UPPER 10 BITS ;- 000050' 000050' 000050' 000050' 000054' 000056' 000060' 000062' 000064' 000066' 000070' 000070' 000074' 000076' 000076' 000100' 000102' 000102' 000106' 000106' INLINE <1$:> LET 016001 006301 006301 006301 006301 006301 006301 000052 016002 000302 000052 1~1 LET R2 LET R2 006202 006202 LET R2 042702 1 $: ·- DT.WLLMT(RO) SHIFT #+6 ·- SWAP DT.WLLMT(RO) ·- R2 SHIFT #-2 := R2 CLR.BY #177400 177400 ,~vLLMT(RO) MOV ASL ASL ASL ASL ASL ASL DT R1 R1 R1 R1 R1 R1 MOV SVIiAB DT ,INLLMT(RO) ,R2 R2 ASR ASR R2 R2 BIC #177400,R2 MOV #MAPREG,R3 MOV #"'0·31 ,R4 TST SEQ R4 50006$ MOV R1,(R3)+ MOV R2, (R:-3)+ ADD #20000,R1 ADC R2 ENDIF 510004$: ;+ ; NOW MAP, BY SETTIN R3 TO LOWEST MAP REGISTER AND R4 TO MAXIMUM ; NUMBER OF REGISTER, 't - 000106' 000106' 012703 000112' 000112' 012704 LET R3 .- LET R4 ' 170200 - #MAPREG # . . 031 000037 ;+ ; WHILE REGISTERS REMAIN CONTINUE TO MAP , WHILE R4 NE #0 DO 000116' 000116' 000116' 005704 000120' 001407 50005$: + 6'~9 650 651 652 653 (4) 654 (4) 655 20'-SEP-78 MACY11 30A(1052) UNIMAP ROUTINE LOAD REGISTERS AND THEN UPDATE POINTERS 000122' 000122' 000124' 000124' 000126' 000126' 000132' 00013.2' LET (R3)+ .- R1 010123 LET (R3)+ ' - R2 010223 062701 005502 LET R1 '- R1 + #20000 LET R2 '- R.2 + CARRY 020000 ,R1 UNIMAP - LOAD UNIBUS MAP 15-AUG-78 15:01 UNIMAP.MAC 657 (6) 658 (4 ) (3) 659 660 661 662 663 664 665 (3) 666 667 (3) (3 ) (2) 668 669 MACY11 30A(1052) 2()-SEP-78 UNIMAP ROUTINE 18:40 PAGE 19-4 SEQ 1018 LET R4 := R4 - #1 000134' 000134' 005304 000136\ 000136' 000767 000140' ENDDO DEC R4 BR 50005$ JSR PC,RESREG RTS PC :;0006$ : ;+ ; RESTORE REGISTERS , 0- 000140' 000140' 004767 000144' 000144' 000144' 000144' 000207 000001 CALL RESREG OOOOOOG ENDRTN ~;OOOO$ : ~;0001$: .END UNIMAP - LOAD UNIBUS MAP 15-AUG-78 15:01 UNIMAP.MAC ACSR ACTBIT= ADDR22= ADR APTFER= APTPRE= ASB ASSEMB= ASTAT = AUTO AUTOST= AWAS BITO BITOO BIT01 = BIT02 BIT03 BIT04 BIT05 BIT06 BIT07 BITOB BIT09 ::: BIT1 BIT10 BIT11 BIT12 BIT13 BIT14 BIT15 BIT2 BIT3 BIT4 BIT5 BIT6 BIT7 BITS BIT9 BKDEF BKMOD BKMODE= BKSLSH= BL.BTN!= BL.TOP= CAPRES::: CASTAT= CDERCT= CDWDCT= CKTIM = CLKPRE= CONFIG= CQOVF CR 000102 004000 . 001000 000006 000004 000200 000106 000010 000104 000010 020000 000110 000001 000001 000002 000004 000010 000020 000040 000100 000200 000400 001000 000002 002000 004000 010000 020000 040000 100000 000004 000010 000020 000040 000100 000200 000400 001000 000002 000020 040000 000134 ****** G ****** G 000004 000004 000146 000144 100000 000001 000056 000001 000015 20-SEP-7B MACY11 30A(1052) SYMBOL TABLE: 18:40 ENDLST= EOPBIT= ERRTYP= EVNTBE= EVNTHD=: EVNTKT= EVNTPE= EVNTRE= FATERR=. HRDCNT= HRDPAS= ICONT = ICOUNT= IDNUM = IE INDPAR= INHDRP= INHEPR= INHREL= INHRRE= INIT INTR lOMOD IOMODP= IOMODR= IOMODX= JACK KIPARO= KIPAR1= KIPAR2= KIPAR3::: KIPAR4= KIPAR5= KIPAR6= KIPAR7= KIPDRO= KIPDR1= KIPDR2= KIPDR3= KIPDR4= KIPDR5= KIPDR6= KIPDR7= KTERRO= KTPRES= KTSTAT= KTXTND= LF LPSTAT= MAPREG= MAPSTA= MED MEMPAS= 000000 000001 000106 000200 000200 000203 000202 000201 100000 000044 000050 000036 000040 000122 000100 000040 040000 020000 001000 000400 000030 000120 100000 102000 112000 110000 035060 172340 172342 172344 172346 172350 172352 172354 172356 172300 172302 172304 172306 172310 172312 CSRA = CSRC CTRLC CTRLO CTRLU DCEVNT= DEFRTN= DIAGMC= DROPMO= DSEVNT= DT.ADD: DT.AP = DT.APK= DT.BLS= DT.CFO= DT.CF1= DT.ERR:: DT.ESI= OT.EVN= DT.EXS= DT.FCH= DT.FCN= DT.HMX= DT.KBE= DT.KBP= DT.KBR= DT.KBU= DT.MLS= DT.MTI= DT.OFF= DT.PAS= DT.PC = DT.PFL= DT.PSW= DT.PTA= DT.RCS= DT.REL= DT.SCT= DT.SMX= DT.SP = DT.SSI= DT.STO= I)T.ST1= DT.SWR= DT.SYP= DT.WBU= DT.WHL= DT.WLL= DVID1 = ECCMEM= ECCSTA= ENBEOP= ENBNUL= 000100 000102 000003 000017 000025 000011 000400 000000 100000 000014 000042 000100 000076 000034 000014 000016 000020 000044 000000 000060 000037 000036 000104 000024 000026 000022 000030 000032 000110 000070 000074 000002 000062 000004 000064 000102 000040 000066 000106 000006 000046 000010 000012 000056 000072 000050 000054 000052 000014 000100 000010 010000 000001 1723~4 172316 OC0040 000400 000020 040000 000012 000001 170200 000200 076600 040000 PAGE 20 SEQ 1019 MODEXH:: MODHOL:= MODSEL:= MSGCKD:= MSGCKS:: MSGDER= MSGDHP= MSGECH:: MSGEOP:= MSGHDR:= MSGHNG:= MSGHRD:= MSGMAP= MSGNUL:= MSGPOP:= MSGPRM= MSGRES= MSGSFT: MSGSKE= MSGSMB= MSGSMH= MSGSMS= MSGSTD= MSGSYS= MSGVEC= NBKMOD= NCPUOP= NOAPTY= NULL :: OWEN PA.ERR PARPRE= PARSTA= PASCNT= PDPLSI= PDPGO PDP70 PRIO PR 11 PRI4 PRI5 PRI6 PRI7 PRO PR4 PR5 PR6 PR7 PS PSW RANNUM= RBUFEA= RBUFPA= 004000 002000 001000 000010 000011 000005 000017 177777 000013 000004 000022 000007 000021 177775 000002 177776 000001 000006 000003 000015 000014 000016 000000 000012 000020 001000 000020 000002 000000 024020 000010 002000 000100 000034 020000 004000 010000 000000 000040 000200 000240 000300 000340 000000 000200 000240 000300 000340 177776 177776 000054 000130 000126 RBUFSZ= RBUFVA= RDSERV= RDWHMl= RELERR= RELMOD= REL TIM= RESREG= RES1 RES2 RICHAR= RPTDAT= RSTRT = RUBOUT= RUNMOD= R5VALU= gAM SAVREG= SBADR = SBKMOD·= SBKSEL= SC.ADR= SC.ALC= SC.APC= SC.CKL= SC.CKP= SC.CLO= SC.HLD= SC.SCI\::: SENDLS= SOFCNT= SOFPAS= SPACE = SPOINT= SPVALU= SRO SR1 SR2 SR3 STAT STATBI= STAT1 = SUSPND= SVRO SVR1 SVR2 SVR3 SVR4 SVR5 SVR6 SYSCNT::: SYSERR= TABL 000132 000124 00'0101 000022 000020 020000 010000 ****** G 00005G 000060 031060 002000 00011:2: 000177 1000001 0017401 075464 *'***** 000102 000000 01000() 000006 000014 OOOOH. 000002 000004 OOOOO~I 000010 000012 177777 000042 00004E. 000040 000032 002200 177572 177574 17757Ei 17~151E; 000026 064757 000027 000001 000062 00006 LI 000066 000070 000072 000074 000076 000052 00010Cl 000000 G - UNIMAP LOAD UNIBUS MAP 15-AUG-78 15:01 UNIMAP.MAC TMPIO = TQOVF = UIPARO= UIPAR1= UIPAR2= UIPAR3= UIPAR4= UIPAR5= UIPAR6= UIPAR7= UIPDRO= UIPDR1= UIPDR2= UIPDR3= UIPDR4= UIPDR5= UIPDR6= UIPDR7= UNIMAP ASS. 18:40 $F$DEC= $F$DO = $F$FAL= $F$GOO= $F$IF = $F$INC= $F$LOO:.:. $F$NAM= $F$NO = $F$OR = $F$RTI= $F$RTN:: $F$SEL= $F$THE= $F$TRU= $F$UNT= $F$WHI= $F$YES= $IFLEV= 000220 000340 000405 000400 000110 000210 000200 000160 000403 000320 000350 000300 000140 000330 000404 000130 000120 000402 177777 000104 '000040 000136 000134 WBUFRQ~ 000140 WBUFSZ= 000142 000116 WDFR 000114 WDTD WTINRE= 000352 WTWHMI= 000222 XFLAG = 000005 000023 XOFF 000021 XON $BGNLE= 17777'7 $ERFLG= 000400 $'F$AND= 000310 $F$BAD= 000401 $F$BLA= 000170 $F$CAS= 000150 WASADR= WBSTAT= WBUFEA= WBUFPA= 000002 000002 177640 177642 177644 177646 177650 177652 177654 177656 177600 177602 177604 177606 177610 177612 177614 177616 OOOOOORG 000000 000146 20-SEP-78 MACY11 30A(1052) SYMBOL TABLE 000 001 0 ERRORS DETECTED: DEFAULT GLOBALS GENERATED: 0 DSKZ:UNIMAP,DSKZ:UNIMAP=SPMAC/ML,EQUATE,UNIMAP RUN-TIME: 13 3 .3 SECONDS RUN-TIME RATIO: 32/17=1.8 CORE USED: 14K (27 PAGES) PAGE 20-1 SEQ 1020 $ISKO .$ISK1 _. $ LOCT A=: $LSTIN:: $LSTTA:: $NESTL:: $NSKO -$NSK1 _. $NSK2 .$SAVLE= $SSKO .. $TAGLE:: $TAGNU= $TEMP $TSKO .$TSK1 .$$ARGC::: $$BYT'E:= $$CASE:= 000001 000001 177777 000001 000001 177777 000300 000120 000110 11'1777 050006 177777 050007 000300 050005 050006 000002 000403 000000 $$DST = $$ELOC= $$EI~F L= $$F LAG= $$FROM= $$LOC = $$LOCN= $$REG = $$RETU= $$RTN1= $$RTN2= $$SRC = $$TGSV= $$TGS1:: $$TGS2= $$TO $$$TAG= 000000 000402 000000 000340 000000 000120R 000001) 177777 000000 050000 050001 000000 000000 000000 000000 000000 050000 000146,R .MAIN. MACY11 30A(1052) 20-SEP-78 EQUATE.MAC 13-SEP-78 16:13 3 553 555 583 18:40 TABLE OF CONTENTS COMMON EQUATE MODULE COMMON DEFINTIONS AND REFERENCES 000000' .PRINT UNIPA ROUTINE ;SPMAC: VERSION 1.1 SEQ 1021 UNIPA - GET PHYSICAL ADDRESS FORM UNIBUS MAP MACV11 30A(1052) UNIPA.MAC 28-JUL-78 09:28 COMMON EQUATE MODULE 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 531 538 539 540 541 542 543 544 545 546 547 18:40 PAGE 19 SEQ 1.022 .TITLE UNIPA - GET PHYSICAL ADDRESS FORM UNIBUS MAP .IDENY iVO.O/ ;++ MODULE NAME: UNIPA FUNCTIONAL DESCRIPTION: DETERMINES 22-8IT PHYSICAL ADDRESS FROM ADDRESS AND PROPER UNIBUS MAP REGISTER. ~8-BIT VIRTUAL INPUTS: ADDRESS OF I/O TABLE - CONTAINS 16 BIT PA AND :2 EA BITS IMPLICIT J[NPUTS: PA EA OUTPUTS: NONE IMPLICIT OUTPUTS: 16 BITS AND EA BITS PATHOLOGICAL CONNECTIONS: NONE SUBORDINATE MODULES CALLED: SAVI~EG RESf~EG ;SAVE REGISTERS ;RESTORE REGISTERS FUNCTIONAL SIDE EFFECTS: NONE CALLING SEQUENCE: CALL UNIPA IN
A=ADDRESS OF I/O TABLE VERSION: 0.0 548 EDIT 549 550 551 20-SEP-78 ;-- BY DATE REASON UNIPA - GET PHYSICAL ADDRESS FORM UNIBUS MAP MACY11 30A(1052) 20-SEF-78 UNIPA.MAC 28-JUL-78 09:28 COMMON DEFINTIONS AND REFERENCES 553 554 555 (1) 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 000000 1 000000 1 000001 000001 18:40 PAGE 19-1 SEQ 1023 .SBTTL COMMON DEFINTIONS AND REFERENCES .MCALL STRUCT STRUCT .PRINT jSPMAC: VERSION 1.1 $LSTIN=1 $LSTTAG=1 ;**************** , ; REFERENCED BY OTHER MODULES ; .GLOBL UNIPA , ;MODULE ENTRY POINT ;**************** , ; GLOBAL REFERENCES , .GL08L .GLOBL SAVREG RESREG ;**************** , ; LOCAL EQUATES 170200 MAPREG=1702QO i ;**************** ;SAVE REGISTERS ;RESTORE REGISTERS UNIPA - GET PHYSICAL ADDRESS FORM UNIBUS MAP MACY11 30A(1052) UNIPA.MAC 28-JUl-78 09:28 UNIFA ROUTINE 583 584 585 586 (2) 587 588 589 590 591 592 593 (3) 594 595 596 597 598 599 600 (4) 20-SEP-78 18:40 PAGE 19-2 SEQ 1024 .SBTTL UNIPA ROUTINE ROUTINE UNIPA 000000 1 000000 1 UNIPA: ;+ ; SAVE REGISTERS j- 000000 1 000000 1 004767 CALL SAVREG OOOOOOG J5R PC,SAVREG MOV ADDR ( F!5) , RO ;+ ; GET THE ADDRESS OF THE 1/0 TABLE ', - LET RO := ADDR(R5) 1 000004 000004 1 016500 000000 601 602 603 604 605 60S 607 608 (4 ) 609 (4) 610 611 612 613 614 615 616 617 (6) (6) 618 (7 ) (7 ) (7) 619 (6) 620 (4 ) ( 7) 621 (6) 622 623 624 ;+ ; GET THE 18-BIT ADDRESS TO BE CONVERTED. THE LOW 16 BITS WILL ; BE IN R1 AND THE HIGH 2 BITS WILL BE IN R2 (POSITIONS 4 AND 5). ,' 000010 1 000010 1 012001 000012 1 000012 1 012002 LET R1 '- ( IW)+ LET R2 ·- (I~O) MOV (RO)+"R1 MOV (RO)+"R2 MOV SWAB R1 "R3 R3 ASR ASR ASR R3 R3 R3 BIC #1?7743,R3 MOV ASL R2,R4 R4 ADD R3,R4 + ;+ ; GET THE HIGH 5 BITS OF THIS ADDRESS TO DETERMINE THE PROPER ; UNIBUS MAP REGISTER. ,' - 000014 1 000014 1 000016 1 000020 1 000020' 000022' 000024' 000026 1 000026' 000032' 000032' 000034' 000036' 000036' LET R3 010103 000303 LET R3 006203 006203 006203 LET R3 042703 177743 LET R4 010204 006304 LET R4 060304 ;'+ ·- S\IJAP R1 ·- R:3 SHIFT #-3 ··- ·- R3 CLR.BY #177743 R2 SHIFT #+1 R4 + R3 UNIPA - GET PHYSICAL ADDRESS FORM UNIBUS MAP MACY11 30A(1052) UNIPA.MAC 28-JUL-78 09:28 UNIPA ROUTINE 625 626 627 628 629 (6) 630 (4) 631 (4) 632 633 634 635 636 637 638 639 640 (6) 641 (6) 642 (6) 643 644 645 646 647 648 649 650 (4) 651 (4) 652 653 654 655 656 657 658 (3) 659 660 66; 662 663 664 665 (3) (3) (2) 666 667 20~SEP-78 18:40 PAGE 19-3 SEQ 1025 ; GET THE CONTENTS OF THE PROPER MAP REGISTER. THE LOW ; 16 BITS WILL BE IN R2 AND THE HIGH 6 BITS WILL BE IN R3. 000040' 000040' 062704 000044 1 000044' 012402 000046 1 000046 1 011403 LET R4 "- R4 + #MAPREG 170200 LET R2 '- (R4)+ LET R3 .- (R4) ADD #MAPREG,R4 MOV (R4)+,R2 MOV (R4),R3 BIC #160000,R1 ADD R1 ,R2 ADC R3 MOV R2, (RCI)+ MOV R3,(RO) JSR PC,RESREG RTS PC ;+ ; ADD THE LOW 12 BITS OF THE 18-BIT VIRTUAL ADDRESS TO THE ; VALUE JUST OBTAINED FROM THE MAP REGISTER. THE RESULT ; IS THE 22-BIT PHYSICAL ADDRESS. ' f 000050' 000050 1 042701 0000541 b00054 1 060102 000056' 000056' 005503 LET R1 160000 . - R1 CLR. BY #160000 LET R2 '- R2 + R1 LET R3 .- R3 + CARRY ;+ ; STORE THE 22-BIT PHYSICAL ADDRESS IN THE I/O TABLE. ; 16 BITS GO IN FIRST, THEN THE HIGH 6. THE LOW ;- LET (RO) + . _. R2 000060' 000060' 010220 000062' 00006~' 010310 LET (RO) . - R3 ;+ ; RESTORE REGISTERS ,' 000064' 000064' 004767 CALL RESREG OOOOOOG ;-r ; COME AGAIN, SOON. ;- 000070' 000070' 000070' 000070' 000207 000001 ENDRTN 50000$: :50001$: .END MACY 11 30A(1052} UNIPA - GET PHYSICAL ADDRESS FORM UNIBUS MAP SYMBOL TABLE: 28-JUL-78 09:28 UNIPA.MAC ACSR ACTBIT= ADDR ADDR22= ADR = APTFER= APTPRE= ASB = ASSEM8= ASTAT = AUTO AUTOST= AWAS BITO BITOO BITOl BIT02 B1T03 BIT04 BIT05 BIT06 BIT07 BIT08 BIT09 BIT1 OIT10 BIT11 B1T12 BIT13 BIT14 BIT 15 B1T2 BIT3 BIT4 BITS BIT6 BIT7 BIT8 B1T9 BKDEF BKMOD BKMODE= BK5LSH= CAPRES= CASTAT= CDERCT= CDWDCT= CKTIM = CLKPRE= CONF1G= CQCVF CR CSRA 000102 004000 000000 001000 000006 000004 000200 000106 000010 000104 000010 020000 000110 000001 000001 000002 000004 000010 000020 000040 000100 000200 000400 001000 000002 002000 004000 010000 020000 040000 100000 000004 000010 000020 000040 000100 000200 000400 001000 000002 000020 040000 000134 000004 000004 000146 000144 100000 000001 000056 000001 000015 000100 CSRC CTRLC CTRLO CTRLU DCEVNT= DEFRTN= DIAGMC= DROPMO= DSEVNT= DT.ADD= DT.AP = DT.APK= DT.BLS= DT.CFO= DT.CF1= DT.ERR= DT.ES1= DT.EVN= DT.EXS= DT.FCH= DT.FCN= DT.HMX= DT.KBE= DT.KBP= DT.KBR= DT.KBU= DT.MLS= DT.MTI= DT.OFF= DT.PAS= DT.PC = DT.PFL= DT.PSW= DT. PT A= DT.RCS= DT.REL= DT.SCT= DT.SMX= DT.5P = DT.5S1= DT.STO= DT.ST1= DT.SvJR= DT.SYP= DT. WBU= DT. WH L= DT.WLL= DVID1 = ECCMEM= ECCSTA= EN8EOP= ENBNUL= ENDLST= 000102 000003 000017 000025 000011 000400 000000 100000 000014 000042 000100 000076 000034 000014 000016 000020 000044 000000 000060 0000~7 000036 000104 000024 000026 000022 000030 000032 000110 000070 000074 000002 000062 000004 000064 000102 000040 000066 000106 000006 000046 000010 000012 000056 000072 000050 000054 000052 000014 000100 000010 010000 000001 000000 EOPBIT:::: 000001 ERRTYP= 000106 EVNT BE= 000200 EVNTHD= 000200 EVNTKT.= 000203 EVNTPE= 000202 EVNTRE= 000201 FATERR= 100000 HRDCNT= ·000044 HRDPAS= 000050 ICONT :::: 000036 1COUNT= 000040 1DNUM = 000122 000100 IE 1NDPAR= 000040 1NHDRP= 040000 INHEPR= 020000 INHREL= 001000 INHRRE= 000400 INIT 000030 INTR 000120 IOMOD :::: 100000 IOMODP= 102000 IOMODR= 112000 IOMODX= 1 10000 JACK 035060 KIPARO= 172340 K1PAR1= 172342 KIPAR2= 172344 KIPAR3= 172346 KIPAR4= 172350 KIPAR5= 172352 KIPAR6= 172354 KIPAR7= 172356 KIPDRO= 172300 KIPDR1= 172302 KIPDR2= 172304 KIPDR3= 172306 KIPDR4= 172310 K1PDR5= 172312 KIPDR6= 172314 KIPDR7= 172316 KTERRO= 000040 KTPRES= 000400 KTSTAT= 000020 KTXTND= 040000 000012 LF LPSTAT= 000001 MAPREG= 170200 MAPSTA= 000200 MED 076600 MEMPAS= 040000 MODEXH= 004000 20-SEP-78 18:40 PAGE 20 SEQ 1026 MODHOL:: MODSEL:: MSGCKD:: MSGCKS:: MSGDER:: MSGDRP:: MSGECH::: MSGEOp:: MSGHDR:: MSGHNG::: MSGHRD::: MSGMAp::: MSGNU L:= MSGPnp= MSGPRM::: MSGRES:: MSGSFT:: MSGSKE:: IVlSGSMB= MSGSMH= MSGSMS= MSGSTD= MSGSYS= MSGVEC= NBKMOD= NCPUOP= NOAPTY= NULL OIfJEN PAERR PARPRE= PARSTA= PASCNT= PDPLSI= PDP60 PDP70 = PRIO PRI1 PRI4 PRI5 PRI6 ::: PRI7 PRO PR4 PR5 PR6 PR7 PS PSW RANNUM= RBUFEA= RBUFPA= RBUFSZ= 002000 001000 000010 00001 1 000005 000017 177777 000013 000004 ~OJ022 000C07 000021 177775 000002 177776 000001 000006 000003 000015 000014 000016 000000 000012 000020 001000 000020 000002 000000 024020 000010 002000 000100 000034 02;)000 004000 010000 000000 000040 000200 000240 000300 000340 000000 000200 000240 000300 000340 177776 177776 000054 000130 000126 000132 RBUFVA= RDSERV= RDWHMI::: RELERR= RELMOD= RELTIM= RESREG= RES1 RC:S2 RICHAR= RPTDAT= RSTRT = RUBOUT= 00012'1 000101 000022 000020 020000 010000 ****** G 000056. 000060 031060 002000 000112 000177 RU~~MOD= 100000 RSVALU= 001740 SAM 075464 SAVREG= ****** G SBADR = 000102 SBKMOD= 000000 SBKSEL= 010000 SC.ADR= 000006 Sc. ALC= 000014 SC.APC= 000018 SC.CKL= 000002 SC.CKP= 000004 SC.CLO= 000000 SC.HLD= 000010 SC.SCA::. 000012 SENDLS= 177777 SOFCNT= 000042 SOFPAS= 000046 SPACE = OOOO·'H) SPOINT= 000032 SPVALU= 002200 177572 SRO SR1 177574 17757E> SR2 172516 SR3 000026 STAT STATBl::: 064757 STAT1 = 000027 SUSPND= 000001i SVRO 000062 SVR1 000064 OOOOS£) SVR2 000070 SVR3 SVR4 000072 000074 SVR5 SVR6 00OO7E3 SYSCNT= 000052 SYSE.RR= 000100 000002 TMPIO TQOVF = 000002 UNIPA - GET PHYSICAL ADDRESS FORM UNIBUS MAP MACY11 30A(1052) UNIPA.MAC 28-JUL-78 09:28 SYMBOL TABLE UIPARO= UIPAR1= UIPAR2= UIPAR3= UIPAR4= UIPAR5= UIPAR6= UIPAR7= UIPDRO= UIPDR1= UIPDR2= UIPDR3= UIPDR4= UIPDR5= UIPDR6= UIPDR7= UNIPA ASS. WASADR= WBSTAT= WBUFEA= WBUFPA= WBUFRQ= WBUFSZ= WDFR WDTO WTINRE= WTWHMI= XFLAG = XOFF XON $BGNLE= $ERFLG= $F$AND= $F$SAD= 177640 177642 177644 177646 177650 177652 177654· 177656· 177600 177602 177604 177606 177610 177612 177614 177616 OOOOOORG 000000 000072 000104 000040 000136 000134 060140 000142 000116 000114 000352 000222 000005 000023 000021 177777 000400 000310 000401 000 001 ERRORS DETECTED: 0 DEFAULT GLOSALS .GENERATED: 0 DSKZ:UNIPA,DSKZ:UNIPA=SPMAC/ML,EQUATE,UNIPA RUN-TIME: 12 2 .3 SECONDS RUN-TIME RATIO: 29/15=1.9 CORE USED: 14K (27 PAGES) $F$BLA= $F$CAS:;: $F$DEC= $F$DO = $F$FAL= $F$GOO= $F$IF = $F$INC= $F$LOO= $F$NAM= $F$NO = $F$OR = $F$RTI= $F$RTN= $F$SEL= $F$THE= $F$TRU= 000170 000150 000220 000340 000405 000400 000110 000~10 000200 000160 000403 000320 000350 000300 000140 000330 000404 20-SEP-78 18:40 PAGE 20-1 $ F$UNT== $F$WHI:: $F$YES:: $IFLEV:: $ LOCT A:: $LSTIN:: $LSTTA:: $NESTL:: $NSKO .$SAVLE=: $TAGLE::: $T AGNU::: $TEMP .$$ARGC::: $$BYTE:: $$CASE:: $$DST .- 000130 000120 000402 177777 177777 000001 000001 177777 000300 17'1777 177777 050002 000300 000002 000000 000000 000000 SEQ 1027 $$ElOC= $$ERFL= $$FLAG:: $$FROM= $$LOC :: $$LOCN= $$REG $$RETU= $$RTN1= $$RTN2= $$SRC = $$TGSV= $$TGS1= $$TGS2= $$TO $$$TAG= = 000000 000000 000000 000000 000000 000000 177777 000000 050000 050001 000000 000000 000000 000000 000000 050000 000072R .MAIN. MACV11 30A(1052) 20-SEP-78 EQUATE.MAC 13-SEP-78 16:13 3 558 560 596 18:41 TABLE OF CONTENTS COMMON EQUATE MODULE COMMON DEFINITIONS AND REFERENCES 000000 I • PR I NT WBFLIM ROUTINE i SPMAC: VERS ION 1.1 SEQ 1028 WBFLIM - DETERMINE WRITE BUFFER LIMITS WBFLIM.MAC 14-AUG-78 14:36 508 509 510 511 51-2 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 .537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 MACY11 30A(1052) 20-SEP-78 COMMON EQUATE MODULE 18:41 PAGE 19 SEQ 1029 .TITLE WBFLIM - DETERMINE WRITE BUFFER LIMITS .IDENT /VO.O/ ;++ MODULE NAME: WBFL.IM FUNCTIONAL DESCRIPTION: CALCULATES LOW AND HIGH WRITE BUFFER LIMITS AND INITIALIZES THE WRITE BUFFER ADDRESS POINTER INPUTS: DATA TABLE IMPLICIT INPUTS: DT.ADDR DT.ESIZ DT.SSIZ DT.STO OUTPUTS: NONE: IMPLICIT OUTPUTS: DT.WLLMT DT . vJHLMT DT . vmUF DT.OFFSET PATHOLOGICAL CONNECTIONS NONE SUBORDINATE MODULES CALLED: SAVHEG RESHEG ;SAVE REGISTEI~S ;RESTORE REGISTERS FUNCTIONAL SIDE EFFECTS: NONE CALLiNG SEQUENCE: CALL WBFLIM IN A=ADDRESS OF DATA TABLE VERSION: 0.0 EDI'r BY DATE HEASON WBFLIM - DETERMINE WRITE BUFFER LIMITS WBFLIM.MAC 14-AUG-78 14:36 558 559 560 ( 1) 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 000000 000000' 1 000001 000001 MACY11 30A(1052) 20-SEP-78 18:41 COMMON DEFINITIONS AND REFERENCES PAGE 19-1 .SBTTL COMMON DEFINITIONS AND REFERENCES .MCALL STRUCT STRUCT .PRINT ;SPMAC: VERSION 1.1 $LSTIN=1 $LSTTAG=1 ;**************** . ; REFERENCED BY OTHER MODULES .GLOBL .GLOGL .GLOGL ~JB ;MODULE ENTRY POINT F LIM BL.8,TMBNK BL.TOPBNK ;**************** .GLOBL .GLOBL ; SAVE. REGISTERS ;RESTORE REGISTERS SAVREG RESREG ;**************** ; LOCAL EQUATES , 020000 000200 007600 ;4K OF MEMORY ;4K OF MEMORY IN PAR FORMAT ;PAR FORMAT FOR 124K BANK FOURK=20000 PAR4K=200 BANK=7600 ;**************** , ; LOCAL STOHAGE a 000000' 000000 BL. TOPBNK: .WORD 000002 1 000000 BL.BTMBNK: .WORD 0 ;**************** ;CURRENT 124K BANK OF TOP OF MOVABLE PORTION OF EXERCISER ;CURRENT 124K BANK OF BOTTOM OF MOVABLE PORTION OF EXERCISER SEQ 1030 WBFLIM - DETERMINE WRITE BUFFER LIMITS WBFLIM.MAC 14-AUG-78 14:36 596 597 598 (2) 599 600 601 G02 603 604 605 (3) 606 607 608 609 610 611 612 (4) 613 614 615 616 617 618 619 620 621 (4) (6) 622 (7 ) (7 ) (7 ) ('7 ) ( 7) (7 ) 623 (6) 624 (6) 625 626 627 628 629 (6 ) 630 631 632 633 634 635 636 (4) MACY11 30A(1052) WBFLIM ROUTINE 20-SEP-78 18:41 PAGE 19-2 SEQ 1031 .SBTTL WBFLIM ROUTINE ROUTINE WBFLIM 000004' 000004' WBFLIM: ;+ ; SAVE REGISTERS ;- 000004 1 000004' 004767 CALL SAVREG OOOOOOG JSR PC,SAVREG MOV TABL(R5),RO ;+ ; SET RO TO THE START OF THE DATA TABLE ;- 000010' 000010' 016500 LET RO := TABL(RS) 000000 ;+ ; FIND THE TOP ADDRESS OF THE MOVABLE PORTION OF THE EXERCISER. ; TO DO THIS, FIND THE SIZE OF THE MOVABLE PORTION BY SUBTRACTING 4K FROM ; EXERCISER SIZE, CONVERT IT TO PAR FORMAT 000014 1 000014 1 000020' 000024 1 000024 1 000026' 000030' 000032' 000034 1 000036' 000040 1 000040' 000044 1 000044 1 016001 162701 006201 006201 006201 006201 006201 006201 042701 LET R1 .- DT.ESIZ(RO) - #FOURK LET R1 .- R1 SHIFT #-6 000044 020000 MOV SUB DT.ESIZ(RO),R1 #FOURK,R1 ASR ASn ASR R1 R1 R1 R1 R1 ASR R1 BIC #176000,R1 INC R1 ADD DT.ADDR(RO),R1 CLR DT.OFFSET(RO) ASR ASR LET R1 .- R11 CLR.BY #176000 176000 LET R1 • - R1 + # 1 005201 ;+ ; NOW ADD IT TO THE BASE ADDRESS OF THE MOVABLE PORTION 'f - 000046 1 000046 1 066001 LET R1 . - R"I + DT. ADDR (RO) 000042 ;+ ; INITIALIZE THE OFFSET VALUE TO ZERO. 000052 1 000052 1 005060 LET DT .OFFSI:'T(RO) := #0 000070 WBFLIM - DETERMINE WRITE BUFFER LIMITS WBFLIM.MAC 14-AUG-78 14:36 638 639 640 641 642 643 (6) (9) 644 645 646 647 648 649 650 651 652 653 654 655 656 657 (4) 658 (4) 659 (4) (6) (9) 660 (6) 661 (6) 662 (4) (3) 663 664 (4) 665 (4) 666 (4) (6) (9) 667 (6) 668 (6) 669 (4) (3) MACY11 30A(1052) WBFLIM ROUTINE 2Q-SEP-78 18:41 PAGE 19-3 SEQ 1032 ;+ ; SEE IF MEMORY MANAGEMENT IS TURNED ON. ,' 000056' 000056 1 032760 000064' 001566 IF #KTSTAT SETIN DT.STO(RO) THEN 000020 000010 BIT BEQ #KTSTAT,DT.STO(R 50002$ CLR R2 MOV #-1,BL.TOPBNK CYlP BHIS R2,R1 50004$ ADD #BANK" R2 INC BL.TOPBNK BR 50003$ CLR R2 MOV #-1,BL.BTMBNK eMP BHIS R2,DT .. ADDR(RO) 50006$ ADD #BANK,R2 INC BL., BTMBNK BR 50005$ ;+ ; MEMORY MANAGEMENT IS ON. ', - j+ ; SEE IF THE MOVABLE PORTION OF THE EXERCISER LIES ACROSS A 124K ; BOUNDARY. TO DO THIS, DETERMINE THE RESPECTIVE BANKS OF THE ; TOP AND BOTTOM OF THE MOVABLE PORTION OF THE EXERCISER. ;- 000066' 000066' 000070' 000070' 000076' 000076' 000076' (100100' 000102' 000102' 000106' 000106' 000112' 000112' 000114' 000114' 000114' 000116' 000116' 000124' 000124' 000124' 000130' 000132' 000132' 000136 1 000136 1 000142' 000142 1 000144 1 LET R2 := #0 005002 012767 LET BL.TOPBNK :=#-1 177777 177702 WHILE R2 LO R1 DO ~;00035; 020201 103005 : LET R2 := R2 + #BANK 062702 007600 005267 177666 LET BL.TOPBNK := BL.TOPBNK + #1 ENDDO 000771 50004$: LET R2 := #0 005002 LET BL.BTMBNK := #-1 012767 177777 020260 103005 000042 062702 007600 005267 177640 177656 WHILE R2 LO DT.ADDR(RO) DO ~)0005$ 000770 : LET R2 := R2 + #BANK LET BL.BTMBNK := BL.BTMBNK + #1 ENDDO !50006$ : WBFLIM - DETERMINE WRITE BUFFER LIMITS WBFLIM.MAC 14-AUG-78 14:36 671 672 673 674 675 (6) (9) 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 (4) 691 (4) (6) 692 (6) (9) 693 (4) 694 (4) (6) 695 (6) (9) 696 (4) 697 (4) 698 (4) 699 700 701 702 703 704 705 (4) 706 707 708 (4) (3) MACY11 30A(1052) WBFLIM ROUTINE 20-SEP-78 18:41 PAGE 19-4 SEQ 1033 ;+ ; IF THE BANKS ARE NOT THE SAME, THEN THE EXERCISER IS CROSSING A BOUNDARY. ; -' 000144' 000144' 026767 000152' 001441 IF BL.TOPBNK NE BL.BTMBNK THEN 177630 CMP BEQ 177630 BL.TOPBNK,BL.BTM 500.07$ ;+ THE EXERCISER LIES ACROSS A 124K BANK BOUNDARY. IN THIS CASE, THE LOW BUFFER LIMIT IS THE BOTTOM OF THE MOVABLE PORTION OF THE EXERCISER, AND THE HIGH BUFFER LIMIT IS EITHER 124K ABOVE THAT OR THE TOP OF MEMORY, WHICHEVER IS LOWER. IF, HOWEVER, WE LET THE HIGH LIMIT EQUAL THE TOP OF MEMORY, WE RE-DEFINE THE LOW LIMIT TO EITHER 124K BELOW THE HIGH LIMIT, OR TO 4K, WHICHEVER IS HIGIIER. THIS ASSURES US THAT THERE WILL BE A WRITE BUFFER AREA OF 124K AND THAT THE BOTTOM 4K OF THE EXERCISER WILL BE PROTECTED. 000154' 000154' 000162' 000162' 000170' 000176' 000176' 000204' 000206' 000206' 000214' 000214' 000222' 000230' 000230' 000236' 000240' 000240' 000246' 000246' 000246' 000246' 016060 000042 000052 016060 062760 000042 007600 000054 000054 026060 101420 000054 000046 016060 000046 000054 LET DT.WLLMT(RO) '- DT.ADDR(fW) LET DT.WHLMT(RO) '- DT.ADDR(HO) + #BANK MOV DT.ADDR(RO),DT.W MOV ADD DT.ADDR(RO),DT.W #BANK,DT.WHLMT(R CMP BLOS DT.WHLMT(RO),DT. 50010$ MQV DT.SSIZ(RO),DT.W MOV SUB DT.SSIZ(RO),DT.W #7600,DT.WLLMT(R CMP BHIS DT.WLLMT(RO),#20 50011$ MOV #200,DT.WLLMT(RO MOV DT.WLLMT(RO),DT. ER 50012$ IF DT.WHLMT(RO) HI DT.SSIZ(RO) THEN 016060 162760 000046 007600 000052 000052 026027 103003 000052 000200 012760 000200 000052 LET DT.vJHLMT(RO) .- DT.SSIZ(RO) LET DT.WLLMT(RO) .- DT.SSIZ(RO) - #7600 IF DT.WLLMT(RO) LO #200 THEN LET DT.WLLMT(RO) .- #200 ENDIF 50011$: ENDIF ~i0010$: ;+ ; ALSO, THE OFFSET FROM THE ACTUAL 124K BANK BASE ADDRESS MUST : BE STORED . IT EQUALS, HI THIS CASE, THE LOW BUFfER LIMIT. ;- 000246' 000246' 016060 000254' 000254' 000471 000256' LET 0 T . 0 F FSET ( R0 ) : = DT . WLLM T ( R0 ) 000052 000070 ELSE ~)0007$ : WBFLIM - DETERMINE WRITE BUFFER LIMITS WBFLIM.MAC 14-AUG-78 14:36 710 711 712 713 714 715 716 717 718 719 720 (6) (9) 721 (4 ) 722 (4) (3) 7~~ (4 ) 724 (4 ) 725 '( 4) (6 ) (9) 726 (6 ) 727 (6) 728 (4) (3) 729 730 (4) 731 732 733 734 735 736 737 738 739 (4) 740 (4) 741 (4) (6) (9) 742 (6) 743 (6) MACY11 30A(1052) WBFLIM ROUTINE 20-SEP-78 18:41 PAGE 19-5 SEQ 1034 ;+ ; OTHERWISE, THE MOVABLE PORTION OF "THE EXERCISER IS WITHIN ONE BANK. ;- ;+ ; ; ; , 000256' 000256' 000262' 000264' 000264' 000272' 000272' 000274' 000274' 000274' 000276' 000276' 000302' 000302' 000302' 000306' 000310' 000310' 000316' 000316' 000320' 000320' 000322' IF THE CURRENT BANK IS THE LOWEST ONE, THEN THE LOW BUFFER LIMIT OTHERWISE, THE LOW IS THE TOP OF THE BOTTOM 4K OF THE EXERCISER. BUFFER LIMIT IS THE BOTTOM OF THE CURRENT BANK. IF BL.BTMBNK EO #0 THEN 005767 001004 177520 012760 000200 BNE BL.BTMBNK 50013$ MOV #PAR4K, DT . WI.LMT ( BR 50014$ CLR R2 CLR DT.WLL.MT(RO) TST LET DT.WLLMT(RO) '- #PAR4K 000052 ELSE 000413 50013$: LET R2 := #0 005002 LET DT.WLL.MT(RO) 005060 := #0 000052 WHILE R2 LO BL.BTMBNK DO 5,0015$: 020267 103005 177474 062760 007600 LET DT.WLLMT(RO) 000052 CMP R2,BL.BTMBNK BHIS S0016$. := DT.WL.LMT(RO) + #BANI< ADD #BANK,DT.WLLMT(R LET R2 := R2 + #1 005202 INC R2 BR 50015$ ENDDO 000770 ENDIF 000322' 000322' ~)0014$: ;+ ; IF THE CURRENT BANK IS THE HIGHEST ONE, THEN THE HIGH BUFFER LIMIT OTHERWISE, THE HIGH BUFFER LIMIT IS THE TOP OF ; IS THE TOP OF MEMORY. ; THE CURRENT BANK. ; -~ 000322' 000322' 000324' 000324' 000330' 000330' 000330' 000334' 000336' 000336' 000342' 000342' LET R2 .- #0 LET R3 .- #-1 005002 012703 177777 020260 103004 000046 062702 007600 CLR R2 MOV #-1 CMP BHIS R2 t DT . SSIZ(RO) 50020$ ADD #8t~NK INC R3 ,R~3 WHILE R2 LO DT.SSIZ(RO) DO ~)0017$: 005203 LET R2 .- R2 + #BANK LET R3 .- R3 + #1 0' R2 WBFLIM - DETERMINE WRITE BUFFER LIMITS 14-AUG-78 14:36 WBFUM.MAC 744 (4) (3 ) 745 746 (6) (9) 747 (4) 748 (4) (3 ) 749 (6) (9) 750 (4 ) 751 (4) (3 ) 752 (4) (6) 753 (4) 754 (4) 2Q-SEP-78 18:41 PAGE 19-6- SEQ 1035 ENDDO 000344' 000344' 000771 000346' 000346' 000346' 000352' 000354' 000354' 000362' 000362' 000364' 000364' 000364' 000370' 000372 1 000372 1 000400' 000400' 000402' 000402' 000402' 000410' 000416' 000416 1 000416' 000416 1 MACY11 30A(1052) ~1}8FLIM ROUTINE 8~ 50017$ CMP BNE BL.TOPBNK,R3 50021$ MOV DT.SSIZ(RO)t DT • W BR 50022$ TST BNE BL.BTMBNK 50023$ MOV #BANK, DT . WHL.MT (R 50020$: IF BL.TOPBNK EQ R3 THEN 026703 001004 177426 016060 000046 LET DT.WHLMT(RO) .- en .SSIZ(RO) 000054 ELSE 000415 50021$: IF 8L.8TMSNK EQ #0 THEN 005767 001004 177412 012760 007600 LET DT.WHLMT(RO) .- #BANK .- 50024$ BR 50023$: DT.WLUJlT(RO) + #BANK OT . WLLMT ( RO) ,DT . MOV #BANK,DT.WHLMT(R ADD 000054 ELSE 000406 LET OT.WHLMT(RO) 016060 062760 000052 007600 000054 000054 ENDIF 50024$: ENDIF 50022$: WBFLIM - DETERMINE WRITE BUFFER LIMITS WBFLIM.MAC 14-AUG-78 14:36 756 757 758 759 760 (4) (6) (9) 761 (6) 762 (6) 763 (4) (3) 764 765 766 (4) 767 768 769 (4) (3) 770 771 772 773 774 775 776 777 778 779 (4) 780 781 782 783 784 785 786 787 (6) (9) 788 (4) 789 (4) (3) 790 (4) 791 (4) 792 793 MACY11 30A(1052) WBFLIM ROUTINE + 000416' 000416' 000416' 000422' 000424' 000424' 000432' 000432' 000436' 000436' 000440' 20-SEP-78 18:41 ?AGE 19-7 SEQ 1036 DETERMINE THE OFFSET FORM THE BASE OF THE CURRENT 124K BANK. WHILE BL.BTMBMK GT #0 DO 500255: 005767 003406 177360 062760 007600 005367 177344 LET DT. OF FSET (RO) 000070 TST BlE . - DT. OFFSET (RO) + #7600 ADD #7600,DT.OFFSET( DEC BL.BTMBNK BR 50025$ BR 50027$ LET BL.BTMBNK := Bl.BTMBNK - #1 ENDDO 000767 BL.BTMBMK 50026$ 50026$: ENDIF 000440' 000440' 50012$: ELSE 000440' 000440' 000415 000442' ;+ ; MEMORY MANAGEMENT IS TURNED OFF ;- ;+ ; IN THIS CASE, THE LOW BUFFER LIMIT IS THE TOP OF THE EXERCISER. ;- 000442' 000442' 010160 LET DT.WLLMT(RO) .- R1 MQV 000052 R1,DT"WlLMT(RO) ;+ ; IF TOTAL MEMORY IS GREATER THAN 28K, THEN THE HIGH BUFFER LIMIT ; IS 28K. OTHERWISE, TH~ HIGH BUFFER lIMIT IS THE TOP OF MEMORY. 't - 000446' 000446' 000454' 000456' 000456' 000464' 000464' 000466' 000466' 000466' 000474 1 000474' 000474' IF DT.SSIZ(RO) HIS #1600 THEN 026027 103404 000046 001600 012760 001600 000054 LET DT.WHLMT(RO) DT"SSIZ(RO),#160 50030$ MOV #1600,DT.WHLMT(R BR 50031$ MOV DT . SSIZ(RO) ,DT.W := #1600 ELSI:' 000403 !50030:S: LET DT.WHLMT(RO) 016060 CMP BlO 000046 000054 .- DT.SSIZ(RO) ENDIF !30031$: ENDIF WBFLIM - DETERMINE WRITE BUFFER LIMITS WBFLIM.MAC 14-AUG-78 14:36 (4) 794 795 796 797 798 799 800 801 802 803 804 805 (4) (6) 806 (6) (9) (6) (9) 807 (4) 808 (4) (3) 809 (4) 810 (4) 811 812 813 814 815 816 817 (3) 818 819 (3) (3) (2) 820 821 MACY11 30A(1052) WBFLIM ROUTINE 20-SEP-78 18:41 PAGE 19-8 !:;'0027$ : 000474' 000474' 000474' 000500' 000504' 000504' 000506' 000510' 000516' 000520' 000520' 000526' 000526' 000530' 000530' 000530' 000534' 000534' SEQ 1037 LET R2 .- DT.SSIZ(RO) - #20 016002 162702 000046 000020 MOV S'JB DT.SSIZ(RO),R2 #20,R2 CMP BLO CMP BLOS R1,R2 50032$ DT.ADDR(RO),#PAR 50032$ MOV DT.WLLMT(RO),DT. BR 50033$ MOV R1,DT.WBUF(RO) JSR PC,RESREG RTS PC IF Rt HIS R2 AND DT.ADDR(RO) HI #PAR4K THEN 020102 103410 026027 101404 000042 000200 016060 000052 000050 LET DT.WBUF(RO) := DT.WLLMT(RO) ELSE 000402 LET DT.WBUF(RO) '- R1 010160 000050 ENDIF ;+ ; RESTORE REGISTERS AND RETURN 000534' 000534' 004767 000540' 000540' 000540' 000540' 000207 000001 CALL RESREG OOOOOOG ENDRTN .END 5,0000$ : 5,0001 $: - WBFLIM DETERMINE WRITE BUFFER LIMITS 14-AUG-78 14:36 WBFLIM.MAC 000102 ACSR ACTBIT= 004000 ADDR22= 001000 ADR 000006 APTFER= 000004 APTPRE= 000200 000106 ASB ASSEMB= 000010 ASTAT = 000104 ·000010 AUTO AUTOST= 020000 AWAS 000110 BANK 007600 BITO 000001 BITOO 000001 BIT01 000002 BIT02 000004 B1T03 000010 81T04 000020 BIT05 000040 BIT06 000100 BIT07 000200 BIT08 000400 BIT09 001000 000002 BIT1 BIT10 002000 BIT 1 1 004000 BIT12 010000 020000 BIT13 BIT14 040000 B1T15 100000 BIT:2 000004 000010 BIT3 000020 BIT4 BITS 000040 BIT6 000100 BIT7 000200 BIT8 000400 001000 BIT9 000002 BKDEF BKMOD 000020 BKMODE= 040000 BKSLSH= 000134 8L.BTM 000002RG BL.TOP OOOOOORG CAPRES= 000004 CASTAT= 000004 CDERCT= 000146 CDWDCT= 000144 CKTIM = 100000 CLKPRE= 000001 CONFIG= 000056 CQOVF = 000001 CR CSRA CSRC CTRLC CTRLO CTRLU DCEVNT= DEFRTi-.J= DIAGMC= DROPMO= DSEVNT= DT.ADD= DT.AP = DT.APK= DT.BLS= DT.CFO= DT.CF1= DT.ERR= DT.ES1= DT.EVN= DT.EXS= DT.FCH= DT.FCN= DT.HMX= DT.KBE= DT.KBP= DT.KBR= DT.KBU= DT.MLS= DT.MTI= DT.OFF= DT.PAS= DT.PC = DT.PFL= DT.PSW= DT.PTA= DT.RCS= DT.REL= DT.SCT= DT.SMX= DT. SP = DT.SSI= DT.STO= DT.ST1= DT.SWR= DT.SYP= DT.WBU= DT.WHL= DT.WLL= DVID1 = ECCMEM= ECCSTA= ENBEOP= 000015 000100 000102 000003 000017 000025 000011 000400 000000 100000 000014 000042 000100 000076 000034 000014 000016 000020 000044 000000 000060 000037 000036 000104 000024 000026 000022 000030 000032 000110 000070 000074 000002 000062 000004 000064 000102 000040 000066 000106 000006 000046 000010 000012 000056 000072 000050 000054 000052 000014 000100 000010 010000 MACY11 30A(1052) SYMBOL TABLE 20-SEP-78 ENBNUL= 000001 ENDLST= 000000 EOPBIT= 000001 ERRTYP= 000106 EVNTBE= . 000200 EVNTHD= 000200 EVNTKT= 000203 EVNTPE= 000202 EVNTRE= 000201 FATERR= 100000 FOURK = 020000 HRDCNT= 000044 HRDPAS= 000050 ICONT = 000036 ICOUNT= 000040 IDNUM = 000122 000100 IE INDPAR= 000040 INHDRP= 040000 INHEPR= 020000 INHREL= 001000 INHRRE= 000400 INIT 000030 INTR 000120 IOMOD 100000 IOMODP= 102000 IOMODR= 112000 10MODX= 110000 035060 JACK KIPARO= 172340 I 000052 WBFLIM - DETERMINE WRITE BUFFER LIMI TS 14-AUG-78 14:36 WBFLIM.MAC SYSERR= TABL TMPIO = TQOVF = UIPARO= UIPAR1= UIPAR2= UIPAR3= UIPAR4= UIPAR5= UIPAR6= UIPAR7= UIPDRO= UIPDR1== UIPDR2= UIPDR3= UIPDR4= UIPDR5= UIPDR6= UIPDR7= WASADR= 000100 000000 000002 000002 177640 177642 177644 177646 177650 177652 177654 177656 177600 177602 177604 177606 177610 177612 1 77614 177616 000104 ABS. 000000 000542 WBFLIM WBSTAT= WBUFEA= WBUFPA= WBUFRQ= WBUFSZ= WDrR WDTO WTINRE= WTWHMI= XFLAG = XOFF XON $BGNLE= $ERFLG= $F$AND= $F$BAD= $F$BLA= $F$CAS= $F$DEC= $F$DO = MACY11 30A(1052) SYMBOL TABLE 000004RG 000040 000136 000134 000140 000142 000116 000114 000352 000222 000005 000023 000021 177777 000400 000310 000401 000170 000150 000220 000340 000 001 ERRORS DETECTED: 0 DEFAULT GLOBALS GENERATED: 0 DSKZ:WBFLIM,DSKZ:WBFLIM=SPMAC/ML,EQUATE,WBFLIM RUN-TIME: 20 10 .3 SECONDS RUN-TIME RATIO: 48/31=1.5 CORE USED: 14K (27 PAGES) 20-SEP-']8 $F$FAL= $F$GOO= $F$IF = $F$INC= $F$LOO= $F$NAM= $F$NO == $F$OR == $F$RTI= $F$RTN= $F$SEL= $F$THE= $F$TRU= $F$UNT== $F$WHI= $F$YES= $IFLEV== $ISKO $ISK1 $ISK2 $ISK3 000405 000400 000110 000210 000200 000160 000403 000320 000350 000300 000140 000330 000404 000130 000120 000402 177777 000001 000001 000001 000001 18:41 PAGE 20-1 $ LOCT A=: 177777 000001 $LSTTA:: 000001 $NESTL:: 177777 000300 $NSKO 000110 $NSK1 $NSK2 :: 000110 $NSK3 :: 000120 $NSK4 -- 000110 $SAVLE:: 177777 $SSKO -. 050026 $T AGLE:: 177777 $TAGNU:: 050034 $TEMP 000300 050033 $TSKO $TSK1 050031 $TSK2 050025 050026 $TSK3 050016 $TSK4 $$ARGC:: 000002 $$BYTE;: 000403 $LSTIN~: SEQ 1039 $$CASE= $:£05T == $'£ELOC= $$ERFL== $$FLAG== $$F;:{OM== $$LOC = $$LOCN= $$REG :: $$RETU= $$RTN1= $$RTN2= $$SRC = $$TGSV= $$TGS1= $$TGS2= $$TO $$$TAG= 000000 000000 000402 000000 000001 000000 000516R 000000 177777 000000 050000 050001 000000 OuOOOO 000000 000000 00000;) 050000 000542R .MAIN. MACY11 30A(1052) 20-SEP-78 EQUATE.MAC 13-SEP-78 16:13 3 557 560 631 782 ~37 S68 909 18:42 TABLE OF CONTENTS COMMON EQUATE MODULE COMMON DEFINITIONS AND REFERENCES 000000 1 .PRINT ;SPIVIAC: VERSION 1.1 WSTBUS ROUTINE ROUTINE TO CONTROL THE GENERATION OF TWO 16-81T PATTERN WORDS. ROUTINE TO PRODUCE A ROTATING PATTERN ALTERNATING WITH A CONSTANT. ROUTINE TO PRODUCE A BLOCK OF TWO ALTERNATING CONSTANT VALUES. ROUTINE TO REPORT MEMORY WRITE ERRORS. SEQ 1040 WSTBUS - LOAD WORST-CASE UNIBUS PATTERN MACY11 30A(1052) 20-SEP-7G WSTBUS.MAC 28-JUL-78 09:29 COMMON EQUATE MODULE 508 509 510 511 512 513 514 515 516 517 518 519 ~20 521 522 523 524 525 526 527' 528 529 530 531 532 633 534 535 536 537 538 539 540 541 542 543 544 545 546 547 '548 549 :553 554 :555 PAGE 19 SEQ 1041 .TITLE wSTBUS - LOAD WORST-CASE UNIBUS PATTERN .IDENT JVO.Oj ;++ MODULE NAME: WSTBUS FUNCTIONAL DESCRIPTION: ASSUMES EXERCISER IS IN LOWEST MEMORY AND LOADS ALL OF FREE MEMORY WITH WORST-CASE UNIBUS PATTERNS. INPUTS: DATA TABLE ADDRESS IMPLICIT INPUTS: DT.STO,DT.SSIZ,DT.EXS OUTPUTS: NONE IMPLICIT OUTPUTS: NONE PATHOLOGICAL CONNECTIONS: NONE. SUBORDINATE MODULES CALLED: SAVR:EG RESR:EG BADMEM GPA ;SAVE REGISTERS ;RESTORE REGISTERS ;OUTPUT BAD MEMORY MESSAGE ;GET PHYSICAL ADDRESSES FUNCTIONAL SIDE EFFECTS: NONE CALLING SEQUENCE: CALL WSTBUS IN A=ADDRESS OF DATA TABLE VERSION: 0.0 550 551 552 18:42 .-- EDIT BY DATE REASON WSTBUS - LOAD WORST-CASE UNIBUS PATTERN MACY11 30A(1052) 20-SEP-78 18:42 WSTBUS.MAC 28-JUL-78 09:29 COMMON DEFINITIONS AND REFERENCES ( 1) SEQ 1042 .S8TTL COMMON DEFINITIONS AND REFERENCES 557 .558 559 560 PAGE 19-1 000000' 000000' 561 000001 000001 :562 '563 '564 565 566 .MCALL STRUCT STRUCT .PRINT ;SPMAC: VERSION 1.1 $lSTIN=1 $lSTTAG=1 ;**************** , ; REFERENCED BY OTHER MODULES 567 .568 .GlOBL 569 WSTI3US ;MODULE ENTRY POINT 570 ;**************** , 571 572 ; GLOBAL REFERENCES 573 :574 .GLOBl .GlOBl .GlGBl .GLGBl 575 576 577 '578 SAVf~EG RESf~EG BADMEM GPA 579 ; '580 ;**************** , i581 ; lOCAL 582 585 586 .587 .588 '589 590 :591 '592 STOI~AGE , '583 584 000000' 000002' 000004 1 000006 1 000010 1 000012 1 000014 1 000016 I 000020 I 000000 000000 000000 000400 000000 000000 000003 177777 177776 . ItJORD 0 WB.SAV: WB.DONE: .WORD 0 . ~4JORD 0 WB.CNT: .WORD ~D256 WB.MAX: WB.ROTCNT: .WORD a WB.1MP: .WOIW a WB. TBl: . WOIW 3 WB. SD1: . \!.JOIW 177777 WB.SD2: .WOIW 177776 593 594 ,595 596 597 ; SAVE REGISTEF 000022' 000022' WSTBUS: ;+ ; SAVE REGISTERS ;- 000022' 000022' 004767 CALL SAVREG OOOOOOG uSR PC,SAVREG MOV TABL(Rt5),RO MOV # 1 ,we., DONE CLR WB.CN'- CLR WB.ROTCNT BIT SEQ #KTSTiH ,DT .STO(R 50002$ MOV @#I ELSE BR 000401 #BIT15,R4 50002$ SEC' . 000261 ~W002$ 50003$ : INLlNE CLC 000241 ENDIF :)0003$ : lET R4 .- R4 ROTATE #+1 ROL 006104 R4 ;+ ; ADD TWO TO THE PATTERN COUNT AND SEE IF WE HAVE REACHED THE MAXIMUM. ; IF YES, THEN CLEAR THE COUNT AND SET THE DONE FLAG. 855 (6 ) PAT1 : ;+ ; CALCULATE A NEW SECOND PATTERN WORD. ; CONSTANT.) '853 854 856 857 858 859 SEQ 1050 ,' - 000450' 000450' 000456' 000456' 000464' 000466' 000466' 000472' 000472' 000500' 000500' LET WB.CNT := WB.CNT + #2 062767 000002 026767 002405 177322 005067 177312 012767 00000' 000500' 000500' 000500' 000500' 000207 177326 ADD #2 I \\JB., CNT CMP BlT WB.CNT,WB"MAX 50004$ CLR WB.CNT MOV #1,WB"DONE RTS PC IF WB.CNT GE WB.MAX THEN 177322 LET ~~ 8 . CNT: = # 0 LET WB.DONE := #1 177302 ENDIF ENDRTN ~50004$: ~jOOOO$ : ~50001$: WSTBUS - LOAD WORST-CASE UNIBUS PATTERN MACY11 30A(1052) 20-SEP-78 18:42 PAGE 19-:10 WSTBUS.MAC 28-JUL-78 09:29 ROUTINE TO PRODUCE A BLOCK OF TWO ALTERNATING CONSTANT VALUES. SEQ 1051 .SBTTL ROUTINE TO PRODUCE A BLOCK OF TWO ALTERNATING CONSTANT VALUES. 868 869 870 871 872 873 874 875 876 877 ;+ AFTER A BLOCK IS COMPLETE, ONE OF THE WORDS IS CHANGED (THE OTHER ALWAYS REMAINS CONSTANT) AND ANOTHER BLOCK IS PRODUCED. A ; ROTATING PATTERN IS USED IN THE VJQRD THAT IS CHANGED. THE PATTERN IS ; COMPLETE WHEN THE CHANGING WORD HAS ROTATED ALL THE WAY AROUND ; TO THE STARTING POINT. B78 a79 i( 2) ROUTINE PAT:2 000502 1 000502' , PAT2: 880 881 882 ;+ :a83 884 i885 ADD TWO TO THE PATTERN WORD COUNT. ; IF THE PATTERN WORD COUNT HAS REACHED THE MAXIMUM, THEN ROTATE THE ; CHANGING WORD. IF THE WORD HAS ROTATED COMPLETELY, THEN ; SET THE DONE FLAG. :886 iSS7 iS8a i889 (6) ;890 {6 } (9 ) 891 (4) ;892 (6) ; (9) 893 {2 } i894 ,( 4) : (3) !895 : (:2) 896 (4) .897 , ( 7) 898 ,( 6) 899 ; {6} (9 ) '900 (4) 901 (4) 902 (4) 903 (4) 000502' 000502' 000510' 000510' 000516' 000520' 000520' 000524' 000524' 000530' 000532' 000532' 000534' 000534' 000536' 000535' 000536' 000540' 000540' 000540' 000540' 000542' 000542' 000546' 000546' 000554' 000556' 000556' 000562' 000562' 000570' 000570' 000570' 000570' LET WB.eNT := WB.CNT + #2 062767 000002 177274 ADD #2,WB.CNT CMP BlT WB • Cr'H t WB • MA X 50002$ CLR WB.CNT BIT SEQ #BIT1!:i,R4 50003$ IF WB.CNT GE wB.MAX THEN 026767 002424 177270 005067 177260 177270 LET WB.CNT := #0 IF #BIT15 SETIN R4 THEN 032704 001402 100000 INLINE S:::C 000261 ELSE BR 000401 50004$ :;0003$ : INLINE CLC 000241 ENDJ:F :;0004$ : LET R4 := R4 ROTATE #+1 006104 ROl R4 INC WB.ROTCNT CMP BNE WB.ROTCNT,H"'D16 50005$ CLR WB.ROTCNT MOV #1 ,WB" DONE LET WB.ROTCNT := WB.ROTCNT + #1 005267 177242 026727 001005 177236 005067 177226 01276'1 000001 IF WB.ROTCNT EO #~D16 THEN 000020 LET W6.ROTCNT := #0 LET WB.DONE := #1 177212 ENDIF £50005$ : ENDIF ~50002$ : WSTBUS - LOAD WORST-CASE UNICUS PATTERN MACY11 30A(1052) 20-SEP-78 18:42 PAGE 19-11 WSTBUS.MAC 28-JUL-78 09:29 ROUTINE TO PRODUCE A BLOCK OF iWO ALTERNATING CONSTANT VALUES. 904 (3) (3) (2 ) 905 906- 000570' 000570' 000570' 000570' 000207 SEQ 1052 ENDRiN 50000$: 50001$: RTS PC WSTBUS - lOAD WORST-CASE UNIBUS PATTERN MACY11 30A(1052) 20-SEP-78 18:42 PAGE 19-12 ROUTINE TO PRODUCE A BLOCK QF TWO ALTERNATING CONSTANT VALUES, 28-JUl-7B 09:29 WSTBUS.MAC 908 909 910 911 912 913 914 915 916 917 918 919 920 (2 ) 921 922 (2 ) 923 (4) 924 (3) (5) (4) (3) (3) 925 (3 ) (7 ) (6) (5 ) (4) (3) (3) 926 (2) 927 (3) (3) (2 ) 926 929 930 SEQ 1053 .SBTTl ROUTINE TO REPORT MEMORY WRITE ERRORS. ;+ ; ; ; ; ', - ROUTINE ERROR 000572' 000572' 000572' 000572' 000574' 000574' 000600' 000600' 000602' 000606' 000610' 000614' 000616' 000616' 000620' 000622' 000626' 000632' 000634' 000640' 000642' 000642' 000644' 000644 ' 000644' 000644' THIS ROUTINE PROCESSES BAD MEMORY TRANSFERS. IT POINTS TO THE BAD ADDRESS, PUTS THAT ADDRESS IN A TABLE, AND CALLS GPA TO CONVERT THAT ADDRESS FROM VIRTUAL TO PHYSICAL. THEN BADMEM IS CALLED TO OUTPUT A MESSAGE. FINALLY, THE ADDRESS POINTER IS RESTORED TO THE NEXT MEMORY LOCATION. ERROR: INLINE 010546 012745 010045 004767 012605 010546 011145 016745 012745 010045 004767 012605 MOV MOV MOV JSR MOV 000014' OOOOOOG CALL BADMEM IN 005721 R5,-(SP) #\l.JB. TBL,-(R5) :iOOOO$ : !::iQ001$: - LOAD WORST-CASE UNIBUS PATTERN MACY11 30A(1052) vJSTBUS SYMBOL TABLE 28-JUL-78 09:29 WSTBUS.MAC ACSR ACTBIT= ADDR22= ADR APTFER= APTPRE= ASS ASSEMB= ASTAT = AUTO AUTOST= AWAS BADMEM= BITO BITOO BIT01 BIT02 BIT03 BIT04 BIT05 BIT06 BIT07 BITOB BIT09 BI T1 BIT10 B1 T 11 BIT12 BIT13 BIT14 BIT15 BIT2 BIT3 BIT4 BITS BIT6 BIT7 BIT8 BIT9 ' BKDEF BKMOD BKMODE= BKSLSH= CAPRES= CASTAT= CDERCT= CDWDCT= CKTIM = CLKPRE= CONFIG= CQOVF = CR CSRA 000102 004000 001000 000006 000004 000200 000106 000010 000104 000010 020000 000110 *****'" G 000001 000001 000002 000004 000010 000020 000040 000100 000200 000400 001000 000002 002000 004000 010000 020000 040000 100000 000004 000010 000020 000040 000100 000200 000400 001000 000002 000020 040000 000134 000004 000004 000146 000144 100000 000001 000056 000001 000015 000100 CSRC CTRLC = CTRLO CTRLU OCEVNT= OEFRTN= DIAGMC= DROPMO= DSEVNT= DT.ADD= D1. AP = DT.APK= DT.BLS= DT.CFO= DT.CF1= DT.ERR= DT.ESI= DT.EVN= OT.EXS= DT.FCH= DT.FCN= DT.HMX= DT.KBE= DT.KBP= DT.KBR= DT.KBU= DT.MLS= DT.MTI= DT.OFF= DT.PAS= DT.PC = DT.PFL= DT.PSW= DT.PTA= DT.RCS= DT.REL= DT.seT= DT.SMX= DT.SP DT.SSI= DT.STO= DT.ST1= DT.SWR= DT.SYP= DT . vJBU= DT.WHL= DT.WLL= DVID1 = ECCMEM= ECCSTA= ENBEOP= ENBNUL= ENDLST= 000102 000003 000017 000025 000011 000400 000000 100000 000014 000042 000100 000076 000034 000014 000016 000020 000044 000000 000060 000037 000036 000104 000024 '000026 000022 000030 000032 000110 000070 000074 000002 000062 000004 000064 000102 000040 000066 000106 000006 000046 000010 000012 000056 000072 000050 000054 000052 000014 000100 000010 010000 000001 000000 18:42 20-SEP-78 EOPBIT= ERROR ERRTYP= EVNTBE= EVNTHD= EVNTKT= EVNTPE= EVNTRE= FATERR= GENPAT GPA HRDCNT= HRDPAS= ICONT = ICOUNT= IDNUM = IE INDPAR= INHDRP= INHEPR= INHREL= 1NHRRE= INIT INTR lOMOD lOMODP= lOMODR= IOMODX= JACK KIPARO= KIPAR1= KIPAR2= KIPAR3= KIPAR4= KIPAR5= KIPAR6= KIPAR7= KIPDRO= KIPDR1= KIPDR2= KIPDR3= KIPDR4= KIPDR5= KIPDR6= KIPDR7= KTERRO= KTPRES= KTSTAT= KTXTND= LF LPSTAT= MAPSTA= MED SEQ 1054 000001 000572R 000106 000200 000200 000203 000202 000201 100000 000322R ****** 000044 000050 000036 000040 000122 000100 000040 040000 020000 001000 0004{)O 000030 000120 100000 102000 112000 110000 035060 172340 172342 172344 172346 172350 172352 172354 172356 172300 172302 172304 172306 172310 172312 172314 172316 000040 000400 000020 040000 000012 00000" 000200 0766('0 PAGE 20 G MEMPAS:: 040000 MODEXH," 004000 MODHOL:~ 002000 MOOSE L:= 001000 MSGCKD:: 000010 MSGCKS::: 000011 MSGDER:: 000005 MSGDRp:: 000017 MSGECH:: 177777 MSGEOp:= 000013 MSGHDR:::: 000004 MSGHNG:= 000022 MSGHRO= 000007 MSGMAP:= 000021 MSGNUL= 1777}5 MSGPOP= 000002 MSGPRM= 17"1776 NlSGRES= 000001 MSGSFT= 000006 MSGSKE= 000003 MSGSfVlB= 000015 MSGSMH= 000014MSGSMS= 000016 MSGSTD= 000000 MSGSYS= 000012 MSGVEC= 000020 NBKMOD= 001000 NCPUOP= 000020 NOAPlY= 000002 000000 NULL 024020 OWEN 000010 PAERR PARPRE= 002000 PARSTA= 000100 PASCNT= 000034 000432R PAT1 000502R PAT2 PDPLSI= 020000 004000 POP60 010000 PDP70 000000 PRIO 000040 PRI1 000200 PRI4 PRI5 000240 000:300 PRI6 000340 PRI7 000000 PRO 000200 PR4 PR5 000240 000300 PR6 000340 PR7 177776 PS 177776 PS~~ RANNUM= RBiJFEA= RBUFPA= RBUFSZ= RBUFVA= RPSERV= Rm\lHMI= RELERR= RELMOD= RELTIM= RESREG= RES1 RES2 RLCHAR= RPTOAT= RSTRT = RUBOUT= RUNMOD= R5VALU= SAM SAVREG= SBADR = SBKfvlOD= SBKSE L= SC.AOR= SC.ALC= SC.APC= Sc. CKL= SC.CKP= SC.CLO= SC.HLD:: SC.SCA= SENOLS= SOFCNT= SOFPAS= SPACE = SPOINT= SPVALU= SRO SRi SR2 SR3 STAT SH,TBI= STAT1 = SUSPND= SVRO SVR1 SVR2 SVR3 SVR4 SVR5 SVR6 000054 000130 00012G 000132 000124' 000101 000022 000020 020000 010000 ****** 000056 G 0000601 031060 002000 000112! 00017'7' 100000 001740 075,464 ****** 000 1 O~! OOClOOO 010000 OOOOOE; 000014 00001E> 000 OO~~ 000004 000000 000010 00OO1~~ 177777 00004:2 00004€5 00004() 000032 002200 177572 177574 17757G 1725113 000026 064757 000027 00()00'1 00006:2 000064 000066 000070 00007:2 000074 00007!5 G WSTBUS - LOAD WORST-CASE UNIBUS PATTERN MACY11 30A(1052) SYMBOL TABLE 28-JUL-78 09:29 WSTBUS.MAC SYSCNT= SYSERR= TABL TMPIO = TQOVF = UIPARO= UIPAR1= UIPAR2= UIPAR3= UIPAR4= UIPAR5= UIPAR6= UIPAR7= UIPDRO= UIPDR1= UIPDR2= UIPDR3= U!PDR4= UIPDR5= UIPDR6= UIPDR7= WASADR= ·000052 000100 000000 000002 000002 177640 177642 177644 177646 177650 177652 177654 177656 177600 177602 177604 177606 177610 177612 177614 177616 000104 ASS. 000000 000646 WBSTAT= WBUFEA= WBUFPA= WBUFRQ= WBUFSZ= WB.CNT WB.DON WB.MAX WB.ROT ~IIB. SAV WB.SD1 WB.SD2 vJB.TBL WB.TMP WDFR WDTO WSTBUS WTINRE= WTWHMI= XFLAG XOFF XON 000040 000136 000134 000140 000142 000004R 000002R 000006R 000010R OOOOOOR 000016R 000020R 0OO014R 000012R 000116 000114 000022RG 000352 000222 000005 000023 000021 000 001 0 ERRORS DETECTED: DEFAULT GLOBALS GENERATED: 0 DSKZ:WSiBUS,DSKZ:WSTBUS=SPMAC/ML,EQUATE,WSTBUS RUN-TIME: 20 10 .4 SECONDS RUN-TIME RATIO: 48/31=1.5 CORE USED: 14K (27 PAGES) 20-SEP-78 $BGNLE= $ERFLG= $F$AND= $F$BAD= $F$BLA= $F$CAS= $F$DEC= $F$DO = $F$FAL= $F$GOO= $F$IF = $F$INC= $F$LOO= $F$NAM= $F$NO = $F$OR $F$RTI= $F$RTN= $F$SEL::: $F$THE= $F$TRU= $F$UNT= 177777 000400 000310 000401 000170 000150 000220 000340 000405 000400 000110 000210 000200 000160 000403 000320 000350 000300 000140 000330 000404 000130 18:42 PAGE 20-<1 SEQ 1055 $F$WHI:: $F$YES:: $1 FLEV:: $ISKO .$ISK1 .$ LOCT A:= $LSTIN:: $LSTTA:: $NESTL:: $NSKO $NSK1 ,$NSK2 ,$NSK3 :: $SAV LE:: $SSKO ,$T AGLE:= $TAGNU:= $TEMP $TSKO $TSK1 $TSK2 $TSK3 000120 000402 177777 000001 000001 177777 000001 000001 177777 000300 000110 000110 000120 177777 050013 177777 050002 000:300 050002 050005 050013 050005 $TSK4 = $$ARGC= $$BYTE= $$CASE= $$CST = $$ELOC= $$ERFL= $$FLAG= $$FROM= $$LOC = $$LOCN= $$REG = $$RETU= $$RTN1= $$RTN2= $$SRC = $$TGSV= $$TGS1= $$TGS2= $$TO $$$TAG= 05000l? 000000 000403 000000 000000 000402 000000 000001 000000 000554R 000000 177777 000000 050000 050001 000000 000000 000000 000000 OOOOOLIf 050000 00064EiR .MAIN. MACY11 30A(1052) 20-SEP-78 EQUATE.MAC 13-SEP-78 16:13 3 521 526 581 623 662 710 18:43 TABLE OF CONTENTS COMMON EQUATE MODULE KBDRV - COMMON DEFINITIONS AND REFERENCES 000000' .PRINT jSPMAC: VERSION 1.1 KBINI - KEYBOARD I/O INITIATOR ROUTINE KBINI - KBINI ROUTINE KBINT - KEYBOARD INTERRUPT SERVICE ROUTINE KBINT - ROUTINE KBINT SEQ 1056 KBDRV - KEYBOARD DRIVER ROUTINE MACY11 30A(1052) 20-SEP-78 18:43 KBDRV.MAC 22-AUG-78 08:11 COMMON EQUATE MODULE 508 509 510 511 512 513 514 515 516 .TITLE .IDENT KBDRV - KEYBOARD DRIVER ROUTINE /VO"O/ ;++ MODULE PACKAGE NAME: KBDHV FUNCTIONAL DECSRIPTION: THIS MODULE CONTAI~S THE TWO ROUTINES: KBINI AND KBINT, WHICH TOGETHER MAKE UP THE KEYBOARD DRIVER. 517 518 519 PAGE 19 ;-- SEQ 1057 KBDRV - KEYBOARD DRIVER ROUTINE MACY11 30A(1052) 20-SEP-78 18:43 PAGE 20 KBDRV.MAC 22-AUG-78 08:11 KBDRV - COMMON DEFINITIONS AND REFERENCES 521 522 523 524 525 526 (1) 000000' 000000' 527 528 .SBTTL KBDRV - COMMON DEFINITIONS AND REFERENCES .PRINT .MCALL STRUCT STRllCT ;SPMAC: VERSION 1.1 $LSrIN = 1 $LSTTAG = 1 000001 000001 529 530 531 , ;**************** 532 533 , 534 ; REFERENCED BY OTHER MODULES 535 , 536 .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL 537 538 539 540 541 542 KB.INP KB.HBP KB. F~BF KB.XFLAG KBINT KBrNI 543 ;**************** , 544 545 546 547 ; GLOBAL REFERENCES .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL 548 549 550 551 552 553 554 555 556 557 , 558 559 560 561 ;MONITOR R5 ;MONITOR R6 ;MESSAGE BUSY FLAG ; DL11 DEVICE REGISTER DEFINITIONS .GLOBL .GLOBL .GLOBL RBUF , 563 564 565 566 567 ;RECEIVER CONTROL AND STATUS HEGISTER ;RECEIVER DATA BUFFER REGISTEH ;TRANSMITTER CONTROL AND STATUS REGISTER RCSf~ XCSf~ ;*~************** , 568 569 570 572 573 574 575 DX.~(FL DX.H5 DX.SP MD.BSY ;**************** 562 571 ,DTABLE ADDRESS ;ENABLE/DISABLE TERMIN~L OUTPUT FLAG ;KEYBOARD BUFFER OVERLAY ;KEYBOARD BUFFER SIZE ;HIGH BUFFER ADDRESS ;PROCESS A CTRLC DTABLE CTRLOF OV.KBBUF OV. ~(8SIZ OV.HIKB PCTHLC ; LOCAL STORAGE - PROGRAM IMPURE STORAGE 000000' 000002 1 000004' 000006 1 000010' 000000 000000 000000 000000 000000 KB.XFLAG: .WORD KB.CNT: .WORD KB.INP: .WORD KB.RSP: .WORD KB.RBF: .WORD 0 0 0 0 0 ;XOFF FLAG WORD INDICATOR ;COUNT OF PREVIOUSLY RUBBED OUT CHARACTERS ;POINTER TO KEYBOARD INPUT BUFFER ;POINTER TO NEXT CHAR TO BE RUBBED OUT ;NUMBER OF RUBOUTS RECEIVED SEQ 1058 KBDRV - KEYBOARD DRIVER ROUTINE MACY11 30A(1052) 20-SEP-78 18:43 PAGE 20-1 KBDRV.MAC 22-AUG-78 08:11 K8DRV - COMMON DEFINITIONS AND ~EFERENCES 576 577 578 579 000012' OOOOOOG 000014' OOOOOOG 000016' OOOOOOG KB.KBSIZ: .WORD OV.KBSIZ KB.HIKB: .WORD OV.HIKB KB.KBBUF: .WORD OV.KBBUF KEYBOARD BUFFER SIZE KEYBOARD BUFFER HIGH LIMIT KEYBOARD BUFFER ADDRESS SEQ 1059 KBDRV - KEYBOARD DRIVER ROUTINE MACY11 30A(1052) 20-SEP-78 18:43 PAGE 21 KBDRV.MAC 22-AUG-780B:11 KBINI - KEYBOARD I/O INITIATOR ROUTINE 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 .SBTTL KBINI - KEYBOARD I/O INITIATOR ROUTINE i++ ROUTINE NAME: KBINI FUNCTIONAL DESCRIPTION: THE I/O INITIArOR ROUTINE PERFORMS THE NECESSARY SET-UP FUNCTIONS, SUCH AS CLEARING THE KEYBOARD BUFFER AND RESETTING THE APPROPRIATE POINTERS TO ALLOW THE NEXT KEYBOARD COMMAND TO BE ENTERED. A RETURN TO THE CALLING ROUTINE IS THEN EXECUTED. INPUTS: 1. ADDRESS OF DATA TABLE IMPLICIT INPUTS: 1. ADDRESS OF NEXT CHAR TO BE ECHOED (DATA TABLE + DT.KBECH) OUTPUTS: NONE IMPLICIT OUTPUTS: NONE: PATHOLOGICAL CONNECTIONS: KEY EIOARD CSR 608 SUBORDINATE MODULES CALLED: NONE 609 610 611 FUNCTIONAL SIDE EFFECTS: NONE 612 613 614 615 616 CALLING SEQUENCE: CALL KBINI IN VERSION: o.() 617 618 61.9 620 621 SEQ 1060 EDIT ;-- BY DATE FIEASON KBDRV - KEYBOARD DRIVER ROUTINE MACY11 30A(1052) 20-SEP-78 18:43 KBDRV.MAC 22-AUG-78 08:11 KBINI - KBINI ROUTINE . 623 624 625 626 (2 ) 627 628 629 630 631 632 633 (2) (3 ) 634 (4) 635 636 631 638 639 640 (4) 641 (4) 642 (4) 643 (4) 644 (4) 645 646 647 648 (4 ) 649 (4) (6) (9) 650 (4 ) 651 (6 ) 652 (4) (3) 653 654 655 656 657 658 (2) (3) 659 .SBTTL PAGE 22 SEQ 1061 KBINI - KBINI ROUTINE ROUTINE KBINI 000020' 000020' KlaINI: ;+ ; DO THE N~CESSARY SETUP STUFF, WHICH CONSISTS OF GETTING THE: DATA TABLE ; ADDRESS , 000020' 000020' 010046 000022' 010146 000024' 000024' 016501 RO,R1 PUSH LET R1 MOV MOV RO,-(SP) R1,'-(SP) MOV DTA(R5),R1 MOV KB.KBBUF,RO MOV RO,KB.INP MOV RO,DT.KBECH(R1) CLR KB. RSP CLR KB.RBF Mev KB.KBSIZ,R1 TST BlE R1 50003$ CLRS (RO)+ DEC R1 SR 50002$ MOV MOV (SP)+,R1 (SP)+,RO := DTA(R5) 000000 ;+ ; INITIALIZE THE INPUT, ECHO, AND RUBOUT POINTERS, ; WELL AS THE RUBOUT FLAG AS , 000030' 000030' 000034' 000034' 000040' 000040' 000044' 000044' 000050' 000050' LET RO := KB.KBBUF 016700 177762 010067 177744 LET KB.INP := RO LET DT.KBECH(Rl) 010061 005067 005067 000024 LET KB.RBP .- #0 LET KB.RBF ,- #0 .- RO 177736 177734 + ZERO THE KEYBOARD INPUT 8UFFER 0000541 000054' 000060 1 000060' 000060' 0000621 000064 1 000064' 000066 1 000066' 000070' 000070' 000072' LET R1 016701 := KB.KBSIZ 177732 WHILE R1 GT #0 DO 50002$: 005701 003403 lET (RO)+ :B= #0 105020 LET R1 '- R1 - #1 005301 ENDDO 000773 5·0003$ : i+ RESTORE THE REGISTERS, ENABLE INTERRUPTS ; AND RETURN TO CALLER ;_. POP R1,RO i 000072' 000072' 012601 000074' 012600 000076' LET @RCSR := # KBDRV - KEYBOARD DRIVER ROUTINE MACY11 30A(1052) 20-SEP-78 1B:43 KBDRV.MAC 22-AUG-78 08:11 KBINI - KBIN! ROUTINE (4) 660 (3) (3) (2) 000076 1 012777 000104 1 000104' 000104 1 000104' 000207 000100 PAGE 22-1 SEQ 1062 OOOOOOG MOV #,@lRCSR RTS PC ENDRTN 50000$: 50001$: KBDRV - KEYBOARD DRIVER ROUTINE MACY11 3o.A(1o.52) 2o.-SEP-78 18:43 PAGE 23 KBDRV.MAC 22-AUG-78 0.8:11 KBINT - KEYBOARD INTERRUPT SERVICE ROUTINE 662 .SBTTL 663 664 665 666 667 ;++ 668 669 670. 671 672 673 674 675 676 677 678 679 680. 681 682 683 684 685 SEQ 10.63 KBINT - KEYBOARD INTERRUPT SERVICE ROUTINE ROUTINE NAME: KBINT FUNCTIONAL DESCRIPTION: THE INTERRUPT SERVICE ROUTINE IS ENTERED DIRECTLY VIA THE HARDWARE INTERRUPT VECTOR AND PERFORMS THE NECESSARY FUNCTIONS TO HANDLE THE INTERRUPT. UPON RECEIVING A LINE TERMINATOR EVENT, CONTROL IS PASSED TO THE APPROPRIATE SERVICE ROUTINE, OR THE EVENT-PENDING FLAG IS SET. ALSO, ALL LOWER CASE INPUT IS CONVERTED TO UPPER CASE INPUTS: NONE IMPLICIT INPUTS: NONE. OUTPUTS: EVENT CODE IMPLICIT OUTPUTS: NONE 686 687 688 689 690 691 592 693 694 695 696 697 PATHOLOGICAL CONNECTIONS: 1. CTRLOF 2. DX.KFL 3. Ell ABLE ; CONTROL-'O FLAG SUBORDINATE ROUTINES CALLED: NONE FUNCTIONAL SIDE EFFECTS: IF XOFF (AS) IS GENERATED BY KEYBOARD, THE RESULT WILL BE TO DISABLE TTDRV UNTIL XON (AQ) IS GENERATED. 698 6~9 70.0. 70.1 70.2 703 704 705 70.6 70.7 70.8 CALLING SEQUENCE: ENTERED DIRECTLY VIA THE HARDWARE INTERRUPT MECHANISM VERSION: 0..0 EDIT BY DATE F~EASON KBDRV - KEYBOARD DRIVER ROUTINE MACY11 30A(1052) 20-SEP-78 18:43 KBDRV.MAC 22-AUG-7B 08:11 KBINT - ROUTINE KBINT 710 711 712 713 714 715 716 717 718 (:2 ) 719 (6) 720 (4) 721 (6) 722 723 724 725 726 727 (6) (9) (6) (9) 728 (6) 729 (4) 730 731 732 733 734 735 (6) (9) 736 (4) 737 ('2 ) 738 (4) 739 740 741 742 743 744 745 (6) (9) 746 (4) 747 .SBTTL PAGE 24 SEQ 1064 KBINT - ROUTINE K8INT ;+ ; DISABLE INTERRUPTS, GET THE CHARACTER ONTO THE STACK ; AND STRIP-OFF THE ASCII PARITY BIT , '- 000106 1 000106 1 000106 1 000106 1 042777 000114 1 000114 1 117746 000120 1 000120 1 042716 IROUTINE KBINT KBINT: LET @RCSR := @RCSR CLR.BY # 000100 OOOOOOG LET -(SP) OOOOOOG LET (SP) BIC #,@RCSR MOVB @RBUF,-(SP) BIC #177600,(SP) CMPB BLT CMPB BGT (SP),fl!141 50002$ (SF'),#172 50002$ BICB #BITO~;, CMPB BNE (SP),1I 50003$ MOV #1,KB . XFLAG :13= @RBUF .- (SP) CLR.BY #177600 177600 ;-+; CONVERT LOWER CASE TO UPPER CASE 000124 1 000124 1 000130 1 000132 1 000136 1 000140 1 000140 1 000144 1 000144 1 IFB (SP) GE #141 ANDB (SP) LE #172 THEN 000141 121627 002405 121627 003002 000172 142716 000040 LET (SP) :B= (SP) CLR.BY #BIT05 ENDIF ~)0002$ (SP) : ;+ ; IF XOFF(AS) THEN SET XFLAG ;- 000144 1 000144 1 000150 000152 1 000152 1 000160 1 000160 1 000164 1 000164 1 1 IFB (SP) EQ # THEN 121627 001005 000023 012767 000001 000167 000426 LET KB.XFLAG '- #1 177620 INUNE JMP 2$ ENDIF ~50003$ ;+ ; IF XON(AQ) THEN CLEAR XFLAG AD IF MESSAGE IN ; SET TTRANSMITTER INTERRUPT ENABLE : P~OGRESS ;- 000164 1 000164 1 121627 000170 1 001012 000172 1 000172 1 005067 000176 1 IFB (SP) EQ # THEN 000021 SNE (SP),# 50004$ CLR KB.XFLAG CMPB LET KB.XFLAG '- #0 177602 IF MD.BSY NE #0 THEN KBDRV - KEYBOARD DRIVER ROUTINE MACY11 30A(1052) 20-SEP-78 18:43 KBDRV.MAC 22-AUG-78 08:11 K8INT - ROUTINE KBINT (6) (9) 748 (6) 749 (4) 750 (2) 751 (4) 752 753 754 755 756 757 758 (6) (9) 759 (2) 760 (2 ) 761 (2 ) 762 (2 ) 763 (4 ) 764 (4) 765 (3) (4 ) '( 3) (3) 766 (4) 767 768 769 770 771 (6 ) (8) (6) (9) (6) 772 773 774 775 776 777 (6 ) (9) 000176' 000202' 000204' 000204' 000212' 000212' 000212' 000212' 000216' 000216' 000216' 000216' 000222' 000224' 000224' 000230' 000230' 000234' 000234' 000236' 000236' 000236' 000236' 000242' 000242' 000246' 000246' 000250' 000254' 000260' 000262' 000262' 000262' 000262' 000266' 000270' 000274' 000276' 005767 001403 OOOOOOG 052777 000100 PAGE 24-1 SEQ 1065 LET @XCSR .- @XCSR SET.BY # OOOOOOG TST BEQ MD.BSY 50005$ 8IS #,@XCSR ENDIF 50005$: INLINE 000167 JMP 2$ 000374 ENDIF 50004$: ;+ ; IF THE CHARACTER JUST ENTERED IS A CONTROL-C, THEN RAISE THE ; PRIORITY TO 7, SWITCH TO MONITOR STACKS AND DISPATCH ; CONTROL TO PROCESS ~CONTROL C~ ROUTINE. ;IFB (SP) EO # THEN 121627 001017 000003 012746 000340 012746 000236' PUSH #PRI7 CMPB BNE (SP)t# 50006$ MOV #PRI7,-(SP) MOV #1$,-(SP) PUSH #1$ INLINE RTI 000002 INLINE <1$:> 1 $: LET R5 .- DX.R5 016705 OOOOOOG MOV DX.RS,R5 MOV DX.SP,SP MOV MOV JSR MOV R5,-(SP) #DTABLE,-(R5) PC,PCTRLC (SP)+,R5 LET SP "- DX.SP 016706 OOOOOOG 010546 012745 004767 012605 OOOOOOG OOOOOOG CALL PCTRLC IN ENDIF 121627 001403 121627 001006 000015 000012 ;+ ; IF THE CHARACTER JUST ENTERED IS A CARRIAGE RETURN OR A LINE FEED, THEN ;IFB (SP) EQ # ORB (SP) EQ # THEN CMPB (SP),# BEQ 50007$ CMPS (SP),# BNE 5001"0$ ei0007$ : j+ ; IF THERE HAVE BEEN RUBOUTS, THEN LOAD THE BUFFER WITH RUBOUT CHARACTER ; AND UPDATE INPUT BUFFER POINTER 000276' 000276' 005767 000302' 001402 IF KB.RBF NE #0 THEN 177506 TST SEQ KB.RBF 50011$ KBDRV - KEYBOARD DRIVER ROUTINE MACY11 30A(1052) 20-SEP-78 18:43 KBDRV.MAC 22-AUG-78 08:11 KBINT - ROUTINE KBINT 778 (2 ) 779 (4) 780 781 782 783 7B4 785 ( 2) 786 (4) 787 788 789 790 791 792 793 (6) (9) 794 (6 ) (9) 795 ,( 2) 796 (4 ) 797 798 ;799 '800 801 802 (2 ) 803 804 805 806 807 808 (2 ) 809 (4) 810 811 812 813 814 815 (6) (9) 816 , (6) (9) 000304' , 000304 ' 004767 000310' 000310 ' PAGE 24-2 SEO 1066 IN LINE JSR PC,22222$ 000432 ENDIF 5,0011$: ;+ ; GO LOAD BUFFER , 0- INLlNE
ENOl F B~ 11111$ CMP8 BNE (SP),# 50012$ TST BEQ KB.RBF 50013$ :;0010$: ;+ ; IF THE CHARACTER IS A CONTROL-U t THEN SAVE IT IN THE ; INPUT BUFFER, DEFER SERVICING AND THEN SET THE KEYBOARD FLAG. 000312 ' 000312' 000316 ' 000320 1 000320 ' 000324 ' 000326' 000326 ' 000332 1 000332 ' IFB (SP) EO # THEN 121627 001010 000025 005767 001402 177464 004767 000410 IF KB.RBF NE #0 THEN INLINE JSR PC,22222$ ENDIF ~;0013S : ;+ ; GO LOAD UP INPUT CHARACTER INTO BUFFER ;- 000332' 000332 ' 004767 INLINE JSR PC,33333$ 000430 ;+ ; NOW LOAD UP AND LEAVE ;- INLINE
000336' 000336 ' 000533 000340 ' 000340 ' BR 11 111 $ ENDIF , ~50012$: ;+ ; IF THE CHARACTER IS A CONTROL-O THEN SIMPLY TOGGLE THE ; ENABLE/DISABLE rLAG AND UPDATE THE STACK , 0- 000340 1 000340 ' 000344 ' 000346' 000346 i 000352 ' IFB (SP) EO # THEN 121627 001011 000017 005767 001403 OOOOOOG BNE (SP) ,# 50()14$ TST SEQ CTHLOF 50015$ CMPB IF CTRLOF NE #0 THEN KBDRV - KEYBOARD DRIVER ROUTINE MACY11 30A(1052) 20-SEP-78 18:43 KBDRV.MAC 22-AUG-78 08:11 KBINT - ROUTINE KBINT 817 (4) 818 (4 ) (3) 819 (6) 820 (4) 821 (4 ) (3) 822 823 824 825 826 (6) (9) 827 828 829 830 831 832 (6) (9) 833 (6) (8) (6) ( 9) (6) 834 835 836 837 (6) (9) 838 839 840 841 842 843 844 (6 ) 845 (2 ) 846 (4 ) (6) 847 (4) 848 849 000354 1 000354 1 000360 1 000360 1 000362 1 000362 1 000362 1 000366' 000366' 000366' 000366' 000370' PAGE 24-3 SEQ 1067 LET CTRlOF := #0 005067 OOOOOOG CLR CTRlOF BR 50016$ INC CTRlOF BR 50017$ CMPB BNE (SP),# 50020$ CMP K B • IN P , K B • K BBU F ELSE 000402 50015$: LET CTRlOF '- CTRlOF + #1 005267 OOOOOOG ENDIF 50016$: ELSE 000511 50014$: ;+ ; IF THE CHARACTER IS A RUBOUT, DO THE NECESSARY ;- 000370' 000370' 121627 000374' 001075 STUFF IFB (SP) EO # THEN 000177 ;+ ; MAKE SURE THERE ARE CHARACTERS TO RUBOUTI 1 I!! 11 I! ;- 000376' 000376' 000404' 000406' 000406' 000412' 000414' 000422' 000424' IF KB.INP GT KB.KBBUF THEN 026767 003465 177402 005767 001404 026767 002456 177376 177366 177412 BLE IF KB.RBF EO #0 OR Ka.RBP GE KB.KBBUFF THEN TST CMP BlT KB.RBF 50022$ KB.RBP,KB.KBBUFF 50023$ TST BNE KB.RBF 50024$ BEQ 177374 50021$ :i0022$ : ;+ ; IS IT THE FIRST RUBOUT? ,' 000424' 000424' 005767 000430' 001012 IF KB.RBF EO #0 THEN 177360 ;+ ; FOR THE FIRST RUBOUT, SET UP THE RUBOUT FLAG ; AND RUBOUT POINTER, AND STORE THE RUBOUT CHAR ; IN THE INPUT BUFFER ,' - 000432' 000432' 000436' 000436' 000442' 000442' 000450' 000456' 000456 1 005267 177352 004767 000324 016767 162767 177336 000002 LET KB.RBF := KB.RBF + #1 KB.RBF INC INLINE d SR PC, 333~l3$ lET KB.RBP := KB.INP - #2 MOV KB.INP,KB.RBP SUB #2,KB.RBP 177336 177330 ENDIF ~50024$ ;+ : KBDRV - KEYBOARD DRIVER ROUTINE MACY11 30A(1052) 20-SEP-78 18:43 KBDRV.MAC 22-AUG-78 08:11 KBINT - ROUTINE KBINT 850 851 852 853 854 .(4) 855 (6 ) (9) 856 (6) 857 (4) 858 (6) 859 860 (6 ) (9) 861 (4) 862 (3) 863 (6) 864 (6) 865 (3 ) . (6) 866 (3) 867 (6) 868 (6) 869 (3 ) (6) 870 (4 ) 871 872 (2 ) 873 874 (4) 875 (4) 876 877 878 879 (2) BBO (2) PAGE 24-4 SEQ 1068 ; DELETE THE EXISTING CHARACTER, BACK UP THE RUBOUT POINTER, AND IF ; THERE ARE ANY PREVIOUSLy RUBBED OUT CHARACTERS IN THE BUFFER, ; MOVE THE RUBOUT POINTER PAST THEM. 000456' 000456' 000464' 000464' 000472' 000474' 000474' 000500' 000500' 000500' 000500' 000504' 000504' 000512 1 000514' 000514' 000520' 000520 1 000520' 000520' 000524' 000524' 000530 1 000530 1 000536' 000540 1 000540 1 000540 1 000540 1 000544 1 000544 1 000550' 000550 1 000554' 000556 1 000556' LET @KB.INP :B= @KB.RBP 117777 177324 177320 026767 002002 177314 177322 005267 177304 MOVB @KB.RBP,@KB.INP IF KB.INP LT KB.HIKB THEN CMP BGE LET K8.INP '- KB.INP + #1 KB.INP,KB.HIKB 50025$ HJC KB. IN P DEC KB. RBP CMPB BNE @KB.RBP,NRUBOUT 50026$ CLR KB.CN!' ENDIF 50025$: LET KB.RBP := KB.RBP - #1 005367 177302 127727 001021 177276 005067 177262 IFB @KB.RBP #RUBOUT THEN LET KB.CNT := #0 005367 177262 005267 177252 127727 001370 177252 005367 177242 005367 177232 005767 001371 177226 REPEAT ~i0027$ : LET KB.RBP '- KB.RBP - #1 DEC KB.RBP LET KB.CNT := KB.CNT + #1 INC KB.CNl UNTILB @K8.RBP EO #RUBOUT CMPB @KB.RBP,#RUBOUT BNE 50027$ REPEAT ~;0030~; : LET KB.RBP .- KB.RBP - #1 DEC KB.RBP LET KB.CNT .- KB.eNT - #1 DEC KB.CN" UNTIL KB.eNT EQ #0 TST KB.CNT BNE 50030$ 000177 ENDIF !S0026$ : 1 NLINE
000556 1 000556' 000415 BR 2$ ENDIF 000560' 000560' 000560 1 000560' S0023$: ENDIF ~50021$: + 000560' 000560 1 004767 000564' 000564' 000420 EO 000177 000202 THERE AREN'T ANY CHARACTERS TO RUBOUT, STORE A RUBOUT AND LOAD CRLF NOTE: THE LAST ENTRY IN KEYBOARD BUFFER IS OVERWRITTEN BY A IN LINE JSR PC,33333$ INLINE <8R 11111$> 8R 11111$ KBDRV - KEYBOARD DRIVER ROUTINE MACY11 30A(1052) 20-SEP-78 18:43 KBDRV.MAC 22-AUG-78 08:11 KBINT - ROUTINE KBINT 881 882 (4 ) (3 ) 883 884 885 886 887 888 889 (6 ) (9 ) 890 (4) 891 (2) 892 (4) 893 894 895 896 897 898 899 900 (2 ) 901 (4) 902 (4 ) 903 904 905 906 907 (2) 908 (6) 909 (4) 910 (3) (3) (2) 911 912 913 914 915 916 917 918 919 (2) PAGE 24-5 SEQ 1069 ELSe: 000566' 000566' 000411 000570' SR 50031$ Ei0020$ : ;+ ; IF IT IS NOT THE FIRST RUBOUT CHARACTER THEN CLEAR THE RUBOUT FLAG ; AND LOAD RUBOUT CHARACTER INTO BUFFER 000570' 000570' 000574' 000576' 000576' 000602' 000602' 000606' 000606' IF KB.RBF NE #0 THEN 005767 001404 177214 005067 177206 004767 000134 TST BEQ KB.RBF 50032$ CLR KB.RBF LET KB.RBF := #0 INLINE J5R PC,:22222$ ENDIF 5i0032$ : ;+ ; IT IS NOT THE FIRST NONRUBOUT CHAR, SO SIMPLY ; STORE THE CHAR IN THE INFUT BUFFER, UPDATE THE ; POINTER AND DO A NICE CLEAN RETURN ;- 000606' 000606' 004767 000612' 000612' 000612' 000612' IN LINE JSR PC,:33333$ 000154 ENDIF Ei003l$ : ENDIF Ei0017$ : ;+ ; ENABLE INTERRUPTS AND RETURN 000612' 000612' 000612' 000612' 062706 000616' 000616' 012777 000624' 000624' 000624' 000624' 000002 INLINE <2$:> 2$: LET SP .- 5P + #2 000002 000100 ADD #2,SP MOV #,@RCSR LET @RCSR '- # OOOOOOG ENDRTI EiOOOOli: 5i0001$: RTI ;-tt LINE TERMINATOR EXIT ; EITHER A OR TERMINATOR, OR A CONTROL-U HAS BEEN RECEIVED; SET THE Fl.AG ; AND LOAD AND < LF> HITO BU F FER, ALONG 11,11 TH UPDA TING STACK 000626' 000626' INLINE <11111$:> 11111$: 20-SEP-78 1B:43 KBDRV - KEYBOARD DRIVER ROUTINE MACY11 30A(1052) KBINT - ROUTINE KBINT 22-AUG-78 08:11 KBDRV.MAC 920 (4) 921 (2) (3 ) 922 (6) .( 9) 923 (4) 924 (4) 925 (4 ) (3) 926 (4) 927 ( 4) 928 (4) 929 (4 ) 930 (6 ) (9) 931 (6) 932 (4 ) 933 (4 ) 934 (6) (9 ) 935 (6 ) '936 (4) 937 938 939 940 941 942 (2 ) (3) 943 (2) 944 (2 ) 945 946 947 948 949 000626' 000626' 000634' 000634' 000636' 000640' 000640' 000646' 000650' 000650' 000654' 000654' 000660' 000660' 000662' 000662' 000662' 000666' 000666' 000672' 000672' 000672' 000672' 000676' 000676' 000704' 000706' 000706' 000712' 000712' 000712' 000712' 000716' 000716' 000724' 000726' 000726' 000732' 000732' SEQ 1070 LET DX.KFL : = #1 012767 000001 OOOOOOG PUSH RO,R1 010046 010146 IF 4(SP) EO # THEN 026627 001005 000004 012700 000012 01 2701 000012 LET RO ·- li LET R1 ·- # 000015 ELSE 000404 MOV #1,DX.KFL MOV MOV RO,-(SP) R1,-(SP) CMP BNE 4(SP),# 50033$ MOV #.RO MOV #,R1 BR 50034$ MOV #,RO MOV #,R1 MOVB RO,@lKB.INP CMP BGE KB.INP,KB.HIKB 50035$ INC KB. IN P MOVB R1,@KEI.INP CMP BGE KB.INP,KB.HU(B 50036$ INC KB.INP 50033$: 012700 000015 012701 000012 LEI RO ·- # LET R1 .- # ENDIF 50034$: LET @lKB.INP :B= RO 110077 177106 026767 002002 177102 005267 177072 IF KB. INP LT KB.HIKB THEN 177110 LET KB. INP := KB.INP + 111 ENDIF !:;i0035$ : LET @KB.INP : B= R1 110177 177066 026767 002002 177062 005267 177052 IF KB.INP LT KB.HIKB THEN 177070 LET KB.INP := KB.INP + #1 ENDIF + 000732' 000732' 000734' 000736' 000736' 000740' 000740' PAGE 24-6 INLXNE 005726 : NOW CLEAN UP STACK, RESTORING REGISTERS AND REMOVING INPUT CHARACTER. POP R1 t RO 012601 012600 ~)0036$ INLINE 000002 + LOAD RUBOUT INTO BUFFER AND UPDATE POINTER MOV MOV (SP)+,.R1 (SP)+"RO TST (SP)+ RTI KBDRV - KEYBOARD DRIVER ROUTINE MACY11 30A(1052) 20-S!:P-78 18:43 KBINT - ROUTINE KBINT 22-AUG-78 08:11 KBDRV.MAC 950 951 (2 ) 952 (4) 953 (6) (9) 954 {6 ) 955 (4) 956 (2) 957 958 959 960 961 962 (2 ) 963 (4) 964 (6) (9) 965 (6 ) 966 (4 ) 967 (2) 968 000742 1 000742 1 000742 1 000742 1 000750 1 000750 1 000756 1 000760 1 000760 1 000764 1 000764 1 000764 1 000764 1 PAGE 24-7 SEQ 1071 INLINE <22222$:> 22222$: LET @KB.INP :6= # 11 2777 000177 026767 002002 177030 005267 177020 177034 MOVB #,@lKB.IN CMP BGE KB.INP,K8.HIK6 50037$ INC KB.INP IF KB.INP LT KB.HIKB THEN 177036 LET KB.INP := KB.INP + #1 ENDIF 500375): INLlNE RTS PC 000207 + LOAD CHARACTER INTO BUFFER 000766 1 000766 1 000766 1 000766 1 000774 1 000774 1 001002 1 001004 1 001004 1 001010' 001010' 001010' 001010 1 INLI NE <33333$:> 33333$: LET @lKB.INP :B= 2(SP) 116677 000002 177010 026767 002002 177004 177012 005267 176774 IF K.6. INP LT KB.HIKB THEN MOV6 2(SP) .@lKB. INP CMP BGE KB.INP,KB.HIKB 50040$ INC KB. INP LET KB. INP := KB.INP + #1 ENDIF 50040$: INLINE 000207 000001 RTS PC .END - 20-SEP-78 KEYBOARD DRIVER ROUTINE MACY11 30A(1052) KBDRV SYMBOL TABLE 22-AUG-7S 08:11 KBDRV.MAC ACSR ACTBIT= ADDR22= ADR APTFER= APTPRE= ASB ASSEMB= ASTAT = AUTO· AUTOST= AWAS BITO BITOO BIT01 = BIT02 BIT03 ::::: BIT04 BIT05 BIT06 BIT07 ::: BITOS BIT09 BIT1 BIT1C BI T11 BIT12 BIT13 BIT14 BIT15 BIT2 BIT3 BIT4 BIT5 BIT6BIT7 BITS BIT9 . BKDEF BKMOD BKMODE= BKSLSH= CAPRES= CASTAT= CDERCT= CDWDCT= CKTIM = CLKPRE= CONFIG= CQOVF CR CSRA CSRC 000102 004000 001000 000006 000004 000200 000106 000010 000104 000010 020000 000110 ,000001 000001 000002 000004 000010 000020 000040 000100 000200 000400 001000 000002 0'02000 004000 010000 020000 040000 100000 000004 000010 000020 000040 000100 000200 000400 001000 000002 000020 040000 000134 000004 000004 000146 000144 100000 000001 000056 000001 000015 000100 000102 CTRLC CTRLO CTRLOF= CTRLU = DCEVNT= DEFRTN= DIAGMC= DROPMO= DSEVNT= DTA DTABLE= DT.ADD= DT.AP = DT.APK= DT.BLS= DT.CFO= DT.CF1= DT.ERR= DT.ESI= DT.EVN= DT.EXS= DT.FCH= DT.FCN= DT.HMX= DT.KBE= DT.KBP= DT.KBR= DT.KBU= DT.MLS= DT.MTI= DT.OFF= DT.PAS= DT.PC = DT.PFL= DT.PSW= DT.PTA= DT.RCS= DT.REL= DT.SCT= DT.SMX= DT.SP = DT.SSI= DT.STO= DT.ST1= DT.SWR= DT.SYP= DT.WBU= DT.WHL= DT.WLL= DVID1 = DX.KFL= DX.R5 DX.SP ::: 000003 000017 ****** G 000025 000011 000400 000000 100000 000014 000000 ***'*** G 000042 000100 000076 000034 000014 000016 000020 000044 000000 000060 000037 000036 000104 000024 000026 000022 000030 000032 000110 000070 000074 000002 000062 000004 000064 000102 000040 000066 000106 000006 000046 000010 000012 000056 000072 000050 000054 000052 000014 ****** G ****** G ****** G ECCMEM= ECCSTA= ENBEOP= ENBNUL= ENDLST= EOPBIT= ERRTYP= EVNTBE= EVNTHD= EVNTKT= EVNTPE::::: EVNTRE= FATERR= HRDCNT= HRDP'AS= ICONT = ICOUNT=-= IDNUM = IE INDPAR:= INHDRP= INHEPR= INHREL= INHRRE= INIT INTR IOMOD IOMODP= IOMODR= IOMODX= JACK KBINI KBINT KB.CNT KB.HIK KB.INP KB.KBB KB.KBS KB.RBF KB.RBP KB.XFL KIPARO= KIPAR1= KIPAR2= KIPAR3= KIPAR4= KIPAR5= KIPAR6= KIPAR7= KIPDRO:.: KIPDR1= KIPDR2= KIPDR3= 18:43 PAGE 25 SEQ 1072 000100 000010 010000 000001 000000 000001 000106 000200 000200 000203 000202 000201 100000 000044 000050 000036 000040 000122 000100 000040 040000 020000 001000 000400 000030 000120 ,00000 102000 112000 110000 035060 000020RG 000106RG 000002R 000014R 000004F:G 0000 16F~ 0OO012F< 000010RG 000006RG OOOOOORG 172340 172342 172344 172346 172350 172352 172354 172356 172300 172302 172304 172306 KI PDR4~: KI PDR5:: KI PDR6:: KIPDR7:;; KTERRO:: KTPRES::: KTSTAT:: KTXTND:: LF LPSTAT::: MAPST A::: M.D. BSY:= MED MEMPAS= MODEXH:= MODi10L= MODSEL= MSGCKD= MSGCKS= MSGDER= MSGDRP= MSGECH= MSGEOP= MSGHDR= MSGHNG= MSGHRD= MSGMAP= MSGNUL= MSGPOP= MSGPRM= MSGRES= MSGSFT= MSGSKE= MSGSMB= MSGSMH= MSGSMS::: MSGSTD= MSGSYS= MSGVEC= NBKMOD= NCPUOP= NOAPTY= NULL OV.HIK= OV.KBS= OV.KBS= OWEN PAERR = PARPRE= PARSTA.= PASCNT= PCTRLC= PDPLSI= 172310 172312 172314 172316 000040 000400 000020 040000 000012 000001 000200 ***'1'** G 076600 040000 004000 002000 001000 000010 000011 000005 000017 177777 000013 000004 000022 000007 000021 177775 000002 177776 000001 000006 000003 000015 000014 000016 000000 000012 000020 001000 000020 000002 000000 ****** G ****** G ****** G 024020 000010 002000 000100 000034 ****** G 020000 004000 010000 000000 000040 000200 000240 000300 000340 000000 000200 000240 000300 ::: 000340 17777Ei 177776 PS~~ RANNUM= 000054 RBUF ****** G .RBUFEA= 000130 RBUFPA= 000126 RBUFSZ= 000132 RBUFVA= 000124 RCSR * * * *.* *' G RDSERV= 000101 RDWHMI= 000022 RELERR= 000020 RELMOD= 020000 REL TIM= 010000 000055 RES1 000060 RES2 RICHAR= 031060 RPTDAT= 002000 f~STRT = 00011~~ fWBOUT= 000177 RUNMOD= 100000 R5VALU= 00174() 075464 SAM S8ADR = 00010~~ SBKMOD= 000000 SBKSEL= 010000 SC.ADR= OOOOOG SC.ALC= 000014 SC.APC= 00001(3 SC.CKL= 000002 SC.CKP= 000004 SC.CLO= 000000 SC.HLD= 000010 SC.SCA= 000012 SENDLS= 17777'7 SOFCNT= 000042 SOFPAS= 00OO4l3 SPACE = 000040 SPOINT= 000032 SPVALU= 002200 PDP60 PDP70 PRIO PRI1 PRI4 PRI5 PRI6 , PRI7 PRO PR4 PR5 PR6 PR7 PS KBORV - KEYBOARD DRIVER ROUTINE MACY11 30A(1052) 20-SEP-78 KBORV.MAC 22-AUG-78 08:11 SYMBOL TABLE 18:43 $ERFLG= $F$AND= $F$BAO= $F$BLA= $F$CAS= $F$DEC= $F$DO = $F$FAL= $F$GOO= $F$IF = $F$INC= $F$LOO= $F$NAM= $F$NO = $F$OR = $F$RTI= $F$RTN= .$F$5EL= $F$THE= $F$TRU= $F$UNT= $F$WHI= $F$YES= $IFLEV= $ISKO :: 000400 000310 Q00401 000170 000150 000220 000340 000405 000400 000110 000210 000200 000160 000403 000320 000350 000300 000140 000330 000404 000130 000120 000402 177777 000001 SRO SR1 SR2 SR3 STAT STATBI= STAT1 = SUSPND= SVRO SVR1 SVR2 SVR3 SVR4 SVRS SVR6 SYSCNT= SYSERR= TMPIO = TQOVF = UIPARO;" UIPAR1= UIPAR2= UIPAR3= UIPAR4= UIPAR5= 177572 177574 177576 172516 000026 064757 000027 000001 000062 000064 000066 000070 000072 000074 000076 000052 000100 000002 000002 177640 177642 177644 177646 177650 177652 ASS. 000000 001012 UIPAR6= UIPAR7= UIPDRO= UIPDR1= UI.POR2= UIPOR3= UIPDR4= UIPDR5= UIPDR6= UIPOR7= WASADR= WBSTAT= WBUFEA= WBUFPA= WBUFRQ= WBUFSZ= WDFR WOTO = WTINRE= WTWHMI= XCSR XFLAG = XOFF XON $BGNLE= 177654 177656 177600 177602 177604 177606 177610 177612 177614 177616 000104 000040 000136 000134 000140 000142 000116 000114 000352 000222 G ****** 000005 000023 000021 177777 000 001 0 ERRORS DETECTED: DEFAULT GLOBALS GENERATED: 0 OSKZ:KBORV.OSKZ:KBDRV=SPMAC!ML,EQUATE,KBDRV RUN-TIME: 24 15 .4 SECONDS RUN-TIME RATIO: 60/39=1.5 14K (27 PAGES) CORE USED: PAGE 25-1 SEQ 1073 $ISK1 $ISK2 $ISK3 $ISK4 $LOCTA= $LSTIN= $LSTTA= $NESTL= $NSKO $NSK1 $NSK2 $NSK3 $NSK4 $N5K5 $N5K6 $SAVLE= $SSKO = $TAGLE= $TAGNU= $TEMP $TSKO $TSK1 $TSK2 $TSK3 $TSK4 000001 000001 000001 000001 177777 000001 000001 177777 000110 000110 000110 000110 000110 000110 000130 177777 050003 177777 050041 050040 050040 050031 050032 050023 050026 $TSK5 = $$ARGC= $$BYTE= $$CASE= $$D5T = $$ELOC:: $SERFL= $$FLAG= $$FROM::: $$LOC ::: $$LOCN::: $$REG = $$RETU= $$RTN1= $$RTN2= $$SRC = $$TGSV= $$TGS1= $$TGS2= $$TO $$$TAG= 050030 000000 000403 000000 000000 000402 000000 000001 OOQOOO 00 1 0021~ 000000 177777 000000 050000 050001 000000 000000 000000 000000 000001 050000 001012R .MAIN. MACV11 30A(1052) 20-SEP-78 EQUATE.MAC 13-SEP~78 16:13 3 509 535 540 542 582 636 668 716 18:44 TABLE OF CONTENTS COMMON EQUATE MODULE LPDRV STRUCTURED HEADER COVER SHEET MACRO-SPMAC ROUTINE (INTERRUPT SERVICE ROUTINE) COMMON DEFINITIONS AND REFERENCES 000000· .PRINT jSPMAC: VERSION 1.1 LPINI (LINE PRINTER INITIATOR MODULE) LPINI (CODE) LPINT (LINE PRINTER INTERRUPT HANDLER) LPINT (CODE) SEQ 1074 LPDRV (LINE PRINTER OUTPUT DRIVER MODULE) MACY11 30A(1052) 20-SEP-78 LPDRV.MAC 28-JUL-78 09:29 LPDRV STRUCTURED HEADER COVER SHEET 18:44 PAGE 19 SEQ 1075 511 512 ?13 .TITLE LPDRV (LINE PRINTER OUTPUT DRIVER MODULE) .IDENT JVO.Oj 514 ;++ 515 516 $17 MODULE NAME: LP 518 1519 520 521 522 523 524 525 FUNCTIONAL DESCRIPTION: THIS MODULE CONTAI~S TWO MODULES - LPINl AND LPINT. THE LPINI IS THE INITIALIZATION ROUTINE FOR THE OUTPUT INTERRUPT HANDLING ROUTINE - LPINT. LPINT ACTUALLY PROCESSES ALL MESSAGES TO THE DEVICE. 526 VERSION: A DESCRIPTION IS GIVEN IN EACH MODULE. 527 528 '529 0.0 EDIT i530 '531 532 533 ;-- DATE BY REASON LPDRV (LINE PRINTER OUTPUT DRIVER MODULE) MACY11 30A(1052) 20-SEP-78 LPDRV.MAC 28-JUL-78 09:29 COMMON DEFINITIONS AND REFERENCES 542 000000 1 546 547 548 549 550' 551 552 553 554 ,555 p56 000045 557 000134 558 559 ~60 561 662 563 1564 :565 !S66 567 568 :569 ;570 i571 ;572 !57'3 '574 :575 :576 577 578 000000 1 000002 1 000004 1 000006' 000010 1 000012 1 000014 1 000016' 000016 1 000017 1 000020 1 000021' 000022 1 000023 1 000024 1 000025' 000000 000000 000000 000000 000000 000000 000000 000 000 015 012 001 136 125 001 .PRINT 18:44 PAGE 20 ;SPMAC: VERSION 1.1 ;**************** *~**************************** ;**************** ****************************** ;**************** ****************************** LP.PCNT = LP.BKSLSH ;CHARACTER ;CHARACTER - ; .GLOBL LPCSR .GLOBL LPBUF .GLOBL CTRLOF , .GLOBL LPINT .GLOBL LPINI GLOBAL REFERENCES ;DEVICE REGISTER CONTROL & STATUS ;DEVICE REGISTER DATA BUFFER ;FLAG - OUTPUT SUPPRESS REFERENCED BY OTHER MODULES ;MODULE ENTRY POINT - LP HANDLER ;MODULE ENTRY POINT - LP INITIATOR LOCAL EQUATES 45 134 ;**************** , LP.FCH: LP.PFC: LP.FCF: LP.EXT: LP.PTR: LP .rp: LP.COD: LP.FLG: LP.PCF: LP.CUF: LP.PCB: LOCAL STORAGE 0 0 0 0 0 0 0 .BYTE .BYTE .BYTE .BYTE .BYTE LP.CUB: .BYTE .ByrE LP.BEN: .BYTe:: • EVEN 0 0 15 12 1 136 125 1 1%1 PERCENT 1\' BACKS LASH ****************************** ;CHARACTER ;COUNT :COUNT, FLAG ;POINTER ;POINTER ;POINTER ;CODE :FLAGS ;FLAG ;FLAG ;+BUFFER ;+BUFFER ;+BUFFER ;#BUFFER ;/IBUFFER ;#BUFFER ;FLAG - FILL FILL, PERMANENT FILL (FLAG SET NE 0) LOCATION TO JUMP OUT INDIRECTL.Y ME.SSAGE TEMPORARY BUFFER MESSAGE PERCENT AND CONTROL-U PERCENT CorHROL-Li PERCENT 1%1 + + ECHO <+1>+ TERM HIA TCl!(
# CONTROL-LJ # ECHO <+1># TERMINATOR (LP.BEN) END SPECIAL BUFFEf;t SEQ 1076 LPDRV (LINE PRINTER OUTPUT DRIVER MODULE) MACY11 30A(1052) 20-SEP-78 18:44 LPDRV.MAC 28-JUL-78 09:29 LPINI (LINE PRINTER INITIATOR MODULE) PAGE 21 584 585 586 587 588 589 590 591 :592 i593 :594 1595 1596 i597 598 :599 i600 [601 :602 ,603 ;604 1605 !606 :607 ,608 '609 610 :611 :612 ;613 614 ;615 616 617 618 619 :620 ,621 1622 :623 ;++ MODULE NAME: LPINl FUNCTIONAL DESCRIPTION: THE DEVICE OUTPUT STARTER MODULE (LPINI) SETS UP FOR THE DEVICE OUTPUT INTERRUPT HANDLING MODULE (LPINT). INPUTS: 1. DATA TABLE ADDRESS 2. MESSAGE ADDRESS 3. MESSAGE TYPE CODE 4. RETURN ADDRESS (DRIVER WILL JUMP TO AT END OF MESSAGE). IMPLICIT INPUTS: 1. FILL CHARACTER 2. FILL COUNT OUTPUTS: NONE IMPLICIT OUTPUTS: NONE PATHOLOGICAL CONNECTIONS: NONE SUBORDINATE MODULES CALLED: NONE FUNCTIONAL SIDE EFFECTS: NONE CALLING SEQUENCE: CALL LPINI IN WHERE DTADDR TYPCOD MSGADR RETADR ::: ;624 625 ;626 :627 VERSION: 0.0 628 629 630 631 '632 ADDRESS OF DATA TABLE TYPE CODE ADDRESS OF MESSAGE RETURN ADDRESS THE DRIVER WILL JUMP TO AT THE COMPLETION OF THE MESSAGE. EDIT , '-- DATE BY REASON SEQ 1077 LPDRV (LINE PRINTER OUTPUT DRIVER MODULE) MACY11 30A(1052) LPDRV.MAC 28-JUL-78 09:29 LPINI (CODE) 638 639 640 641 642 643 644 645 646 (2 ) 647 (2 ) 648 (4) 649 ,(4) 650 (4) 651 :( 4) 652 :( 4) 653 ,( 4) 654 (2 ) 655 656 18:44 PAGE 22 SEQ 1078 ;+ INITIALIZE MESSAGE TYPE, MESSAGE ; ADDRESS, FILL COUNT, AND FILL CHARACTER. ; STUFF RETURN ADDRESS AT LP.EXT, ; ENABLE INTERRUPTS AND RETURN. ;000026 1 000026 1 000026 1 000026 1 000030 1 000030 1 000034 1 000034 1 000042 1 000042' 000050 1 000050' 000056 1 000056' 000064' 000064' 000072 1 000072' ROUTINE LPINI LPINI: PUSH RO 010046 LET RO := DTBL(R5) 016500 000000 116067 000037 116067 000036 177736 LET LP.PFC :B= DT.FCN(RO) 016567 000002 016567 000004 177732 LET LP.COD != MSGCOD(R5) LET LP.PTR .- MSGADR(R5) 177736 177724 LET LP.EXT 016567 000006 MOV RO,-(SP) MOV DTBL(R5),RO MOVB DT.FCH(RO),LP.FC MOVB DT.FCN(RO),I.P,PF MOV MSGCOD(R5),LP.CO MOV MSGADR(R5),LP.PT MOV RETADR(R5),LP.EX MOV (SP)+,RO BIC #IE,@L.PCSR BIS #IE,@lL.PCSR RTS PC LET LP.FCH :8= DT.FCH(RO) 9_ RETADR(R5) 177714 POP RO 012600 ;+ ; NOW FIRST CLEAR INTERRUPTS IN CASE THEY WERE STILL ENABLED (BY ; THE LINE PRINTER OPTION MODULE OR SOME OTHER THING p57 658 659 :660 :661 ·662 (6) ;663 :( 6) ;664 '( 3) !(3) :( 2) 20-SEP-78 ,' - 000074' 000074' 042777 000102 1 000102 1 052777 000110' 000110' 000110 1 000110' 000207 LET @LPCSR 000100 OOOOOOG 000100 OOOOOOG LET @LPCSR ENDRTN ·- @LPCSR ·- @lLPCSR CLR.ElY #IE SET.BY #IE !::tOOOO$ : :;0001$: LPDkv (LINE PRINTER OUTPUT DRIVER MODULE) MACY11 30A(1052) 20-SEP-78 18:44 LPDkv.MAC 28-JUL-78 09:29 LPINT (LINE PRINTER INTERRUPT HANDLER) PAGE 23 E>70 671 672 ~73 674 ~75 076 ;++ MODULE NAME: LPINT FUNCTIONAL DESCRIPTION: THIS MODULE HANDLES ALL OUTPUT MESSAGES TO THE DEVICE. 677 THERE ARE TWO KINDS OF MESSAGES : (1) STANDARD (ERROR MSG, PROMPT MSG, ETC.) (2) NON-STANDARD (ECHOING OF INPUT STRINGS, ETC.) ~78 679 ~80 681 ,683 INPUTS: NONE p86 IMPLICIT INPUTS: NONE 682 84 ~ 85 687 688 ~~~ OUTPUTS: NONE. IMPLICIT OUTPUTS: NONE 694 PATHOLOGICAL CONNECTIONS: CONTROL-O FLAG ~89 I 692 ~93 1695 1696 :S97 698 i 169 9 !700 701 j702 1 SUBORDINATE ROUTINES CALLED: NONE FUNCTIONAL SIDE EFFECTS: NONE CALLING SEQUENCE: 703 i ,704 j705 7C6 i707 :708 :709 THE ROUTINE IS ENTERED VIA HARDWARE INTERRUPT VERSION: 1 0.0 EDIT ;710 :711 :712 ;-- DATE BY REASON SEQ 1079 LPDAv (LINE PRINTER OUTPUT DRIVER MODULE) MACY11 30A(1052) LPDRV,MAC 28-JUL-78 09:29 LPINT (CODE) 718 (2 ) I( 6) ;DISABLE INTERRUPTS, , '- 000112 1 000112 1 042777 LET @LPCSR := @LPCSR CLR.BY HIE 000100 OOOOOOG ~24 ~28 ~29 ~31 I( 4) ~32 !( 6) !733 !( 4) !( 3) 1734 1735 !736 1737 1738 i739 1740 ,( 9) 6) I( I(9) 1741 I (4) 1742 1(4 ) 743 1 : (4) 1744 1745 1746 1747 748 1749 1750 1(6 'J i , 1751 (6) I (9) 1 1752 ! (2) ;753 TST BEQ LP.FCF 50002$ MOVO #NULL,@LPBUF DEC LP.FCF BR 50003$ TST SEQ CMPB BNE LP.FLG 50004$ @LP.PTR,LP.BEN 50004$ CLR LP.FLG MOV LP.TP,LP.PTR CMPB BNE @LP.PTR,#NULL 50005SS CMP 8NE LP.COD,#MSGPOP 50006$ IS FILL COUNT-FLAG NOT EQUAL TO ZERO? TRUE OUTPUT THE FILLER-CHARACTER DECREMENT FILL COUNT-FLAG SET INTERRUPTS, RETURN FALSE CONTINUE. IF LP.FCF NE #0 THEN 005767 001406 177660 112777 000000 LET @LPSUF :S~ #NULL OOOOOOG LET LP.FCF .- LP.FCF - #1 005367 177644 ELSE 000524 5,0002$ : i+ IS OUTPUT OF OR <%> BUFF~R COMPLETED ? ; TRUE RESET AND <%> FLAGS , RESTORE MESSAGE POINTER ; FALSE NO ACTION , 000142 1 000142 1 000146 1 000150 1 000156 1 000160 1 000160 1 000164 1 000164 1 000172 1 000172 1 iF LP.FLG NE #0 ANDB@lP.PTR EQ LP.BEN THEN 005767 001411 127767 001005 005067 177650 177634 177647 LET LP.FLG '- #0 177632 LET LP.PTR '- LP.TP 016767 177622 177616 ENDJ:F 50004$: ;+ ; IS INPUT CHARACTER A-NULL? ; TRUE THIS IS THE END OF THE MESSAGE , RETURN BY IJMP @LP.EXTI. ; FALSE NO ACTION ;IFB @LP.PTR EQ HNULL THEN 1 I (9) #IE,@LPCSR '- 000120 1 0001.20' 000124' 000126' 000126' 000134' 000134 1 000140 1 000140 1 000142 1 1 I( 6) BIC ;+ t725 &26 727 I( 9) SEQ 1080 LPINT: &23 730 Ie 6) PAGE 24 ;+ 719 72'0 721 ~22 18:44 LPINT IROUTINE 000112 1 000112 1 20-SEP-78 000172 1 000172 1 000200 1 000202 1 000202 1 000210' 000212 1 000212 1 000214 1 127727 001007 177612 000000 026727 001001 177606 000002 IF LP.COD EQ #MSGPOP THEN INLINE CMP (SP)+, (SP)+ 022626 ENDIF LPD~V (LINE PRINTER OUTPUT DRIVER MODULE) MACY11 30A(1052) LPDRV.MAC 28-JUL-78 09:29 LPINT (CODE) (4) 754 (2 ) 755 (4) 756 757 758 '759 760 t 6) (9) 761 762 763 1764 ~65 766 ~67 &68 I( 6) K9) t769 i( 4) 770 I( 4) 1< 6) 771 i< 4) 772 !( 4) 773 774 775 776 ~77 778 i( 6) !( 9) 779 i(4) 780 !( 4) !( 3) 781 (4 ) 782 (4) 783 :784 785 '786 787 :( 4) (3) 788 000214' 000214' 000214' 000177 000220' 000220' 20-SEP-78 18:44 PAGE 24-1 SEQ 1081 50006$~ INLINE JMP @LP.EXT;LEAVE,FINISH 177566 ENDIF 50005$: ;+ ; NON-STANDARD MESSAGE CODE HANDLING SPECIAL CONDITIONS- CONTROL U,RUBOUT , 000220' 000220' 005767 000224' 002033 IF LP.COD LT #0 THEN 177570 TST BGE LP.COD 50007$ CMPB BNE @LP.PTR,#CTRLU 50010$ Move #1,LP.CUF MOV INC LP.PTR,LP.TP LP.TP MOV #LP.CUB,LP.PTR CMPB BNE @LP.PTR,#RUBOUT 50011$ MOVB #LP.BKSLSH,@LPBU BR 50012$ MOVB @LP.PTR,@LPBUF 8R 50013$ ;+ IS INPUT CHARACTER IS A CONTROL U ? TRUE SET ~U-FLAG SAVE REST OF MESSAGE POINTER POINT TO AU-BUFFER FALSE NO ACTION 000226' 000226' 000234' 000236' 000236' 000244' 000244' 000252' 000256' 000256' 000264' 000264' 000264' 000264' 000272' 000274' 000274 1 000302 1 000302 1 000304 1 0003041 000304 1 000312 ' 000312 1 ;IFB @LP.PTR EO #CTRLU THEN 127727 001013 177556 000025 112767 000001 177553 016767 005267 177540 177534 177540 012767 000023 ' 177524 LET LP.CUF :B= #1 LET LP.TP '- LP.PTR + #1 LET LP.PTR := #LP.CUB ENDIF 50010$: ;+ ; IS INPUT CHARACTER IS A RUBOUT ? ; TRUE OUTPUT BACKS LASH ; FALSE OUTPUT CHARACTER ;IFB @LP.PTR EO #RUBOUT THEN 127727 001004 177520 000177 112777 000134 OOOOOOG LET @LPBUF :B= #LP.BKSLSH ELSE 000403 50011$: LET @LPBUF :B= @LP.PTR 117777 177500 OOOOOOG ENDIF 50012$: ;+ ; STANDARD MESSAGE CODE HANDLING SPECIAL CONDITIONS- PERCENT,SURPRESS 000312 1 000312 1 000426 000314' , ELSE ;+ LPD~V (LINE PRINTER OUTPUT DRIVER MODULE) MACY11 30A(1052) LPDRV.MAC 2S-JUL-78 09:29 LPINT (CODE) 789 790 791 792 793 794 1795 ;( 6) :( 9) 1796 1< 4) 797 I( 4) !( 6) 79S !( 4) ~99 :( 4) 800 000314 1 000314 1 000322' 000324 1 000324 1 000332 1 000332 1 000340 1 000344 1 000344 1 0003521 000352' ', - I( 9) :S06 i( 4) :807 ;( 4) :SOS :(4) iS09 i810 IS11 iB12 813 i814 ! (6) : (9) i815 i (4) [816 i (4) i817 1818 :819 :820 :(6) :821 '(4) 822 823 824 825 826 1 PAGE 24-2 SEQ 1082 IS INPUT CHARACTER IS A <%> PERCENT ? SET %-FLAG TRUE SAVE REST OF MESSAGE POINTER POINT TO %--BLJ F FER NO ACTION FALSE - IFB @LP.PTR EQ #LP.PCNT THEN 127727 001013 177470 000045 112767 000001 177464 016767 177452 177446 177452 005267 012767 000020 1 177436 LET LP.PCF : B= #1 LET LP.TP LET LP.PTR ..- LP.PTR + #1 CMPB BNE @lLP.PTR,#LP . PCNT 50014$ MOVB H1,LP.PCF MOV INC LP.PTR,LP.TP LP.TP MOV #LP.PCB,LP.PTR CMP SEQ CTRLOF,#1 50015$ MOVB @LP.PTR,@LPBUF CMPB BNE @lLP.PTR,LP.FCH 50016$ MOV LP.PFC,LP.FCF INC LP . HLP. PCB ENDIF 50014$: ;+ ; IS MESSAGE SUR PRESS FLAG NDT SET ? OUTPUT CHARACTER ; TRUE NO ACTION ; FALSE ;IF CTRLOF NE H1 THEN 801 ~805 18:44 - - :S02 :S03 :804 !( 6) 20-SEP-78 000352' 000352 1 026727 000360 1 001403 000362' 000362 1 117777 000370' 000370' 000370 1 000370 1 OOOOOOG 000001 LET @lLPBUF :B= @LP.PTR 177422 OOOOOOG ENDIF 000406 1 000406 1 005267 000412 1 000412 1 - - IFB @LP.oTR EQ lP.FCH THEN 177414 177402 177376 177376 LET LP.FCF 000400' 000400' 016767 000406' 000406' :iOO13$: ;+ ; I c· INPUT CHARACTER THE "FILL-CHARACTER!! ? PRESET FILL COUNT-FLAG ; THUE t-!O ACTION ; FALSE ;,) 000370 1 000370' 127767 000376 1 001003 !:i0015$: ENDIF .- LP.PFC ENDIF E50 016$: ;+ ; INCREMENT MESSAGE CHARACTER POINTER ;LP.PTR + #1 LET LP.PTR .- 177376 ENDIF ~50003$ ;+ ;ENABLE I NTI~RRUPTS. BUT FIRST RAISE PRIORITY TO 4 ;- 000412' PuSH HPRI4 : PTf~ LPDRV (LINE PRINTER OUTPUT DRIVER MODULE) MACY11 30A(1052) LPDRV.MAC 28-JUL-78 09:29 LPINT (CODE) 20-SE?-78 18:44 PAGE 24-3 SEQ 1083 ; i( 2) ~27 :( 2) a28 [( 2) B29 !( 2) B30 !( 6) 831 i( 3) i( 3) !( 2) 832 1 000412 1 000416 1 000416 1 000422 1 000422 1 000424 1 000424 1 000424 1 000424 1 000432 1 000432 1 000432 1 000432 1 012746 000200 012746 000424 PUSH #1000$ 1 INLINE LET @lLPCSR MOV 500005: 50001$: RTI .END #IE,@LPCSR MACY11 30A(1052) LPDRV ( LINE PRINTER OUTPUT DRIVER MODULE) SYMBOL TABLE 28-JUL-78 09:29 LPDfW.MAC ACS~ ACTBIT= ADDR22:;:: ADRI APTfER= APTPRE= ASS! ASS~MB= ASTAT = AUTD AUTbsT= AWAS BITO BITK>O BIT01 BITP2 B I Tl03 BI T'04 BI Ti05 BI Ti06 BI T!07 BI Tl08 BI T!09 BI Ti1 BI Ti1 0 BI Ti11 BIt12 BIf;13 Blt14 BIT15 BI~2 BIT3 BIT4 BIr:5 BI ~6· BI117 BI~8 BI~9 . BKOEF BKMOD BKMODE= BK~LSH= CAPRES= CASTAT= CDaRCT= CDIIJDCT= CKtIM = C U~PRE= CO~FIG= CQOVF CRr CS~A CS~C 000102 004000 001000 000006 000004 000200 000106 000010 000104 000010 020000 000110 000001 000001 000002 000004 000010 000020 000040 000100 000200 000400 001000 000002 002000 004000 010000 020000 040000 100000 000004 000010 000020 000040 000100 000200 000400 001000 000002 000020 040000 000134 000004 000004 000146 000144 100000 000001 000056 000001 000015 000100 000102 CTRLC ::: 000003 CTRLO = 000017 CTRLOF= ****** G CTRLU :::; 000025 DCEVNT= 000011 DEFRTN= 000400 DIAGMC= 000000 DROPMO= 100000 DSEVNT= 000014 000000 DTBL DT.ADD= 000042 DT.AP = 000100 DT.APK:: 000076 DT.BlS= 000034 DT.CFO= 000014 DT.CF1='OOO016 DT.ERR= 000020 D1.ESI= 000044 DT.EVN:: 000000 DT.EXS= oe0060 DT.FCH= 000037 DT.FCN= 000036 DT.HMX= 000104 DT.KBE= 000024 DT.KBP= 000026 DT.KBR= 000022 DT.KBU= 000030 DT.MLS= 000032 DT.MTI= 000110 D1.OFF= 000070 DT.PAS= 000074 DT.PC = 000002 DT.PFL= 000062 DT.PSW= 000004 D1. PT A= 000064 DT.Res= 000102 DT.REL= 000040 DT.SCT= 000066 DT.SMX= 000106 DT.SP = 000006 D1.SSI= 000046 DT.STO= 000010 DT.ST1= 000012 DT.SWR= 000056 DT.SYP= 000072 DT.WBU= 000050 DT.WHL= 000054 DT.WLL= 000052 DVID1 = 000014 ECCMEM= 000100 ECCSTA= 000010 ENBEOP= 010000 ENBNUL= 000001 ENDLST::: EOPBIT= ERRTYP::: EVNTBE= EVNTHD= EVNTKT= EVNTPE= EVNTRE= FATERR= HRDCNT:: HRDPAS= ICONT = ICOUNT= IDNUM = IE INDPAR= INHDRP= INHEPR= INHREL= INHRRE= INIT = INTR IOMOD IOMODP= IOMODR= IOMODX= JACK KIPARO= KIPAR1= KIPAR2= KIPAR3= KIPAR4= KIPAR5= KIPAR6= KIPAR7= KIPDRO= KIPDR1= KIPDR2= KIPDR3= KIPDR4= KIPDR5= KIPDR6= KIPDR7= KTERRO= KTPRES= KTSTAT= KTXTND= LF LPBUF LPCSR = LPINI LPINT LPSTAT= 20-SEP-78 000000 000001 000106 000200 000200 000203 000202 000201 100000 000044 000050 000036 000040 000122 000100 000040 040000 020000 001000 000400 000030 000120 100000 102000 112000 110000 035060 172340 172342 172344 172346 172350 172352 172354 172356 172300 172302 172304 172306 172310 172312 172314 172316 000040 000400 000020 040000 000012 ****** GG ****** 000026RG 000112RG 000001 18:44 PAGE 25 SEO 1084 LP.BEN LP.BKS:: LP.COD LP.CUB LP.CUF LP.EXT LP.FCF LP.FCH LP.FlG LP.PCB LP.PCF . LP. PCN::: LP.PFC LP.PTR LP.TP MAPSTA:= MED MEMPAS= MODEXH= MODI-iOL:= MODSEl= MSGADR= MSGCKD= MSGCKS= MSGCOD= MSGDER= MSGDRP= MSGECH= MSGEOP= MSGHDR= MSGHNG= MSGHRD= MSGMAP= MSGNUl= MSGPOP= MSGPRM= MSGRES::: MSGSFT.= MSGSKE= MSGSMB= MSGSMH= MSGSMS= MSGSTD= MSGSYS= MSGVEC= NBKMOD= NCPUOP:: NOAPTY= NULL OWEN PAERR PARPRE= PARSTA.= 000025R 000134 000014R 000023R 000017R 000006R 00OO04R OOOOOOR 000016R 000020R 000016R 000045 000002R 0OO010R 0OO012R 000200 076600 040000 004000 002000 001000 000004 000010 000011 000002 000005 000017 177777 000013 000004 000022 000007 000021 177775 000002 177776 000001 000006 000003 000015 000014 000016 000000 000012 000020 001000 000020 000002 000000 024020 000010 002000 000100 PASCNT= PiJPlSI= PDP60 PDP70 = PRIO PRI1 PRI4 PRI5 PRI6 PRI7 PRO PR4 PR5 PR6 PR7 PS PSw RANNUM= RBUFEA= RSUFPA= RBUFSZ= RBUFVA= RDSERV= RDWHMI= RELERR= RELMOD= REL TIM= RES1 RES2 RETADR= RICHAR= RPTDAT:: RSTRT = RUBOUT= RUNMOD= R5VAlU= SAM SBADR :: S8KMOD= SBKSE L= SC.ADR= SC.ALC= SC.APC= SC.CKL= SC.CKP= SC.CLO= SC.HlD= SC.SCA= SENDlS= SOFCNT= SOFPAS= SPACE = SPOINT= 000034 020000 004000 010000 000000 000040 000200 000240 000300 000340 000000 000200 000240 000300 000340 177776. 177776 000054 0001301 000126 000132 000124 000101 000022 000020 020000 010000 000056 OOOOGO OOOQOE, 031060 00200() 00011~! 000177 100000 001740 on;464 000102 000000 010000 OOOOOE) 000014 00OO1E) 00000:2 000004 OOOOOD 000010 00001:2 17777'7 000042 0000413 000040 00003:2 LPDRV (LINE PRINTER OUTPUT DRIVER MODULE) MACY11 3uA(1052) LPDRV.MAC 28-JUL-78 09:29 SYMBOL TABLE SPVALU= SRO SRi SR2 SR3 = STAT STATBI= STAT1 = SUSPND= SVRO SVR1 SVR~ SVR~ SVR4 SVR$ S VR 9 SYSCNT= SYS~RR·= TMP~O = TQOVF = UIPARO= UIPAR1= UIP~R2= Abs. I UIPAR3= UIPAR4= UIPAR5= UIPAR6= UIPAR7= UIPDRO= UIPDR1= UIPDR2= UIPDR3= UIPDR4= UIPDR5= UIPDR6= UIPDR7= WASADR= WBSTAT= WBUFEA= WBUFPA=, WBUFRQ= WBUFSZ= WDFR WDTO WTINRE= WTWHMI= 002200 177572 177574 177576 172516 000026 064757 000027 000001 000062 000064 000066 000070 000072 000074 000076 000052 000100 000002 000002 177640 177642 177644 000000 000434 177646 177650 177652 177654 177656 177600 177602 177604 177606 177610 177612 177614 177616 000104 000040 000136 000134 000140 000142 000116 000114 000352 000222 000 001 i ! 0 ERRORS DETECTED: DEfAULT GLOBALS GENERATED: 0 DSKZ:LPDRV,DSKZ:LPDRV=SPMAC/ML,EQUATE,LPDRV RuN-TIME: 16 7 .4 SECONDS RUN-TIME RATIO: 40/24=1.6 14K (27 PAGES) COiRE USED: XFLAG = XOFF ::: XON = $8GNLE= $ERFLG= $F$AND= $F$BAD= $F$BLA= $F$CAS= $F$DEC= $F$DO = $F$FAL= $F$GOO= $F$IF = $F$INC= $F$LOO= $F$NAM= $F$NO = $F$OR = $F$RTI= $F$RTN= $F$SEL= $F$THE= 000005 000023 000021 177777 000400 000310 000401 000170 000150 000220 000340 000405 000400 000110 000210 000200 000160 000403 000320 000350 000300 000140 000330 20-SEP-78 18:44 PAGE 25-1 $F$TRU= $F$UNT= $F$WHI= $F$YES= $IFLEV= $ISKO -, $ISK1 -, $ISK2 -, $ LOCT A=: $LSTIN=: $LSTTA= $NESTL:: $NSKO ,$NSK 1 .. $NSK2 .. $NSK3 :: $SAV LE=: $TAGLE:; $T AGNU:: $TEMP $TSKO $TSK1 $TSK2 000404 000130 000120 000402 177777 000001 000001 000001 177777 000001 000001 177777 000350 000110 000110 000110 177777 177777 050017 000350 050003 050016 050015 SEO 1085 $$ARGC= $$8YT£= $$CASE= $$DST = $$ELOC= $SERFL= $$FLAG= $$FROM= $$LOC = $$LOCN= $$REG $$RETU= $$RTN1= $$fHN2= $$SRC $$TGSV= $$TGS1= $$TGS2= $$TO $$$TAG= = = 000000 000402 000000 000000 000402 000000 000001 000000 000376R 000000 177777 000000 050000 050001 000000 000000 000000 000000 000000 050000 000434R .MAlN. MACY11 30A(1052) 20-SEP-78 EQUATE.MAC 13-SEP-78 16:13 3 509 535 540 542 583 637 661 712 18:44 TABLE OF CONTENTS COMMON EQUATE MODULE TTDRV STRUCTURED HEADER COVER SHEET MACRO-SPMAC ROUTINE (INTERRUPT SERVICE ROUTINE) COMMON DEFINITIONS AND REFERENCES 000000' .PRINT jSPMAC: VERSION 1.1 TTINI (TERMINAL INITIATOR MODULE) TTINI (CODE) TTINT (TERMINAL INTERRUPT HANDLER) TTINT (CODE) SEQ 1086 TTDRV (TERMINAL DRIVER MODULE) TTDRV.MAC 22-AUG-78 08:18 511 512 513 514 515 :516 517 518 519 '520 '521 :522 MACY11 30A(1052) 20-SEP-78 18:44 PAGE 19 TTDRV STRUCTURED HEADER CaVER SHEET .TITLE TTDRV (TERMINAL .IDENT IVO.OI SEQ 1087 DRIVER MODULE) ;++ MODULE NAME: TTDRV FUNCTIONAL DESCRIPTION: THIS MODULE CONTAINS TWO MODULES - TTINI AND TTINT. THE TTINI IS THE INITIALIZATION ROUTINE FOR THE TERMINAL INTERRUPT HANDLING ROUTINE - TTINT. TTINT ACTUALLY PROCESSES ALL MESSAGES TO THE DEVICE. :523 A DESCRIPTION IS GIVEN IN EACH MODULE. 524 525 526 VERSION: ;527 0.0 :528 ;529 EDIT '530 531 :532 533 ... , - DATE BY REASON TTDRV (TERMINAL DRIVER MODULE) TTDRV.MAC 22-AUG-78 08:18 542 546 547 548 549 550 551 552 MACY11 30A(1052) 20-SEP-78 18:44 COMMON DEFINITIONS AND REFERENCES .PRINT 000000 1 PAGE 20 SEQ 10B8 jSPMAC: VERSION 1.1 ;**************** ****************************** ;**************** ****************************** , GLOBAL REFERENCES CONTROL & STATUS ;DEVICE REGISTER .GLOBL XCSR DATA BUFFER ;DEVICE REGISTER .GLOBL XBUF ;XOFF FLAG WORD .GLOBL KB.XFLAG ;FLAG - OUTPUt SUPPRESS .GLOBL CTRLOF 553 REFERENCED BY OTHER MODULES ;MODULE ENTRY POINT - TT HANDLER ;MODULE ENTRY POINT - TT INITIATOR 555 .GLOBL TTINT .GLOBL TTINI 556 ;**************** ****************************** TT.PCNT = TT.BKSLSH ;CHARACTER ;CHARACTER - 554 557 658 000045 000134 559 660 561 662 ~63 564 ~65 i566 :567 !568 '569 !570 :571 ;572 :573 i574 :575 576 577 000000 1 000002 1 0000041 000006 1 000010 1 000012 1 000014 1 000016 1 000016 1 000017' 000020' 000021 ' 000022 1 000023' 000024 1 000025 1 000000 000000 000000 000000 000000 000000 000000 000 000 015 012 001 136 125 001 '%' PERCENT '\' BACKSLASH ;**************** LOCAL STORAGE , ****************~************* TT.FCH: TT.PFC: TT.FCF: TT. EXT: TT.PTR: TT. TP: TT.COD: TT.FLG: TT.PCF: TT. CUF: TT.PCB: ;CHARACTER ;COUNT ;COUNT. FLAG ;POINTER ;POINTER ;POINTER ;CODE ;FLAGS ;FLAG ;FLAG ;+BUFFER ;+BUFFER ;+BUFFER ;#BUFFER ;#BUFFER ;#BUFFER ;FLAG - 0 0 0 0 0 0 0 .BYTE .BYTE .BYTE .BYTE .BYTE TT.CUB: .BYTE .BYTE TT,BEN: .BYTE ,578 :579 LOCAL EQUATES 45 134 .EVEN o o 15 12 1 136 125 1 FILL FILL, PERMANENT FILL (FLAG SET NE 0) LOCATION TO JUMP OUT INDIRECTL.Y MESSAGE TEMPORARY BUFFER MESSAGE PERCENT AND CONTROL~U PERCENT CONTROL-U + PERCENT 1 %' + ECHO <+1>+ TERMINATOR <~># CONTROL-Li # ECHO <+1># TERMINATOR ( TT . BSN) END ~;PECIAL BUFFER~ TTDRV (iERMINAL DRIVER MODULE) TTDRV.MAC 22-AUG-78 08:18 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 62£5 629 630 631 632 633 MACY11 30A(1052) 20-SEP-78 18:44 TTINI (TERMINAL INITIATOR MODULE) PAGE 21 ;++ MODULE NAME: TTINI FUNCTIONAL DESCRIPTION: THE DEVICE OUTPUT STARTER MODULE (llIN!) SETS UP FOR THE DEVICE OUTPUT INTERRUPT HANDLING MODULE (TTINT). INPUTS: 1. DATA TABLE ADDRESS 2. MESSAGE ADDRESS 3. MESSAGE TYPE CODE 4. RETURN ADDRESS (DRIVER WILL JUMP TO AT END OF MESSAGE). IMPLICIT INPUTS: 1. FILL CHARACTER 2. FILL COUNT OUTPUTS: NONE IMPLICIT OUTPUTS: NONE PATHOLOGICAL CONNECTIONS: NONE SUBORDINATE MODULES CALLED: NONE FUNCTIONAL SIDE EFFECTS: NONE CALLING SEQUENCE: CALL TTINI IN vlHERE DT ADOR TYPCOD MSGAOR RETADR = ADDRESS OF DATA TABLE TYPE CODE ADDRESS OF MESSAGE RETURN ADDRESS THE DRIVER WILL JUMP TO AT THE COMPLETION OF THE MESSAGE. VERSION: 0.0 EDIT ;-- DATE BY REASON SEQ 1089 MACY 11 30A(1052) TTINI (CODE) TTDRV (TERMINAL DRIVER MODULE) 22-AUG-78 08:18 TTDRV.MAC 639 640 641 642 643 644 645 646 647 (2 ) 648 (2 ) 649 (4) 650 (4 ) 651 (4) 652 (4 ) 653 (4) ·654 (4) 655 (2 ) 656 (6) 657 (3) (3) (2) ;+ ; ; ; ; , 000026 1 000026 1 000026 1 000026 1 000030 1 000030 1 000034 1 000034 1 000042 1 000042 1 000050 1 000050 1 000056 1 000056 1 000064 1 000064 1 000072 1 000072 1 000074 1 000074 1 000102 1 000102 1 000102 1 000102 1 20-SEP-78 18:44 PAGE 22 SEQ 1090 INITIALIZE MESSAGE TYPE, MESSAGE ADDRESS, FILL COUNT, AND FILL CHARACTER. STUFF RETURN ADDRESS AT TT.EXT, ENABLE INTERRUPTS AND RETURN. ROUTINE TTINI TTINI:: PUSH RO 010046 LET RO 016500 000000 116067 000037 177736 116067 000036 177732 .- 000002 016567 000004 016567 000006 lET TT.PFC :B= DT.FCN(RO) 177736 lET TT.PTR 177724 lET TT.EXT ...- DTBL(F~5),RO MOVB DT.FCH(RO),TT.FC MOVB DT.FCN(RO),TT.PF MOV MSGCOD(R5),TT.CO MOV MSGADF? (R5) , TT . PT MOV RETADR(R5),TT.EX MJV (SP)+"RO BIS # IE:,@XCSR RTS PC MSGADR(R5) RETADR(R5) POP RO lET @lXCSR 000100 MOV MSGCOD(R5) 177714 012600 052777 RO,-(SP) LET TT.FCH :B= DT.FCH(RO) LET rT.COD 016567 MOV DTBl(R5} '- @lXCSR SET.BY #IE OOOOOOG ENDRTN ~)OOOO$ : ~)0001$: 000207 TTDRV (TERMINAL DRIVER MODULE) TTDRV.MAC 22-AUG-78 08:18 663 664 665 666 667 668 669 MACY11 30A(1052) 20-SEP-78 18:44 TTINT (TERMINAL INTERRUPT HANDLER) ;++ MODULE NAME: TT II\IT FUNCTIONAL DESCRIPTION: THIS MODULE HANDLES ALL OUTPUT MESSAGES TO THE DEVICE. 670 THERE ARE TWO KINDS OF MESSAGES : (1) STANDARD (ERROR MSG, PROMPT MSG, ETC.) (2) NON-STANDARD (ECHOING OF INPUT STRINGS, ETC.) ,671 672 673 674 675 676 ,677 678 679 680 681 682 683 684 685 686 ,687 :688 689 690 691 ,692 PAGE 23 INPUTS: NONE IMPLICIT INPUTS: NONE OUTPUTS: NONE IMPLICIT OUTPUTS: NONE PATHOLOGICAL CONNECTIONS: CONTROL-O FLAG XOFF 'FLAG WORD SUBORDINATE ROUTINES CALLED: NONE 696 FUNCTIONAL SIDE EFFECTS: IF XOFF FLAG IS DETECTED CONTROL IS RETU~NED TO THE INTERRUPTED CODE IMMEDIATELY WITHOUT RE-ENABLING INTERRUPTS. THIS WILL BE DONE BY THE KBDRV MODULE WHEN A XON IS DETECTED. 697 698 CALLING SEQUENCE: 693 694 695 699 700 '701 702 703 THE ROUTINS IS ENTERED VIA HARDWARE INTERRUPT VERSION: 0.0 704 '705 706 707 :708 EDIT ;-- DATE BY REASON SEQ 1091 MACY11 30A(1052) TTINT (CODE) TTDRV (TERMINAL DRIVER MODULE) TTDRV.MAC 22-AUG-78 08:18 714 (:2 ) 715 716 717 718 , 000104' (6) 000104' 719 720 721 ,22 723 724 725 ~26 000112' :( 6) 000112' :( 9) 000116' 727 000120' (2) 000120' ;728 000122' (4) 000122' 18:44 PAGE 24 SEQ 1092 TTINT IROUTINE 000104' '000104' 20-SEP-78 TTINT: ;+ ;DISABLE INTERRUPTS. , 0- LET @XCSR := @XCSR CLR.BY #IE 042777 000100 OOOOOOG BIC #IE,@XCSR TST BEQ KB.XFLAG 50002$. ;+ ; IF XOFF FLAG SET RTI ; TRUE CONTINUE ; ELSE IF KB.XFLAG NE #0 THEN 005767 001401 OOOOOOG INUNE RTI 000002 ENDIF ,729 ;+ '730 IS FILL COUNT-FLAG NOT EQUAL TO ZERO? TRUE OUTPUT THE FILLER-CHARACTER DECREMENT FILL COUNT-FLAG SET INTERRUPTS, RETURN FALSE CONTINUE. '731 '732 :733 734 '735 '736 737 :( 6} '( 9) 738 '( 4) 739 (6) ,740 : (4) ; (3) ;- 000122' 000122' 000126' 000130' 000130' 000136' 000136' 000142' 000142' 000144' IF TT.FCF NE #0 THEN 005767 001406 177656 112777 000000 005367 177642 LET @XBUF :B= #NULL OOOOOOG ELSE 000524 (6) (9) 748 (4) 749 (4 ) 750 (4) DEC TT.Fcr BR 50004$ TST BEQ CMPB BNE TT.FLG 50005$ @TT.PTR,TT.BEN 50005$ CLR TT.FLG MOV TT ., TP" TT . PT R ;+ ; IS OUTPUT OF OR <%> BUFFER COMPLETED ? ; TRUE RESET AND <%> FLAGS RESTORE MESSAGE POINTER ; FALSE NO ACTION 743 744 :745 746 (9 ) #NULL,@XBUF :;0003$ : 742 (6) TT.FCF 50003$ MOVB LET TT.FCF .- TT.FCF - #1 1741 747 , TST BEQ i- 000144' 000144' 000150' 000152' 000160' 000162' 000162' 000166' 000166' 000174' 000174' IF IT.FLG NE #0 ANDB @TT.PTR EQ TT.BEN THEN 005767 001411 127767 001005 177646 005067 177630 016767 177620 177632 177645 LET TT.FLG '- #0 LET TT.PTR '- TT.TP 177614 ENDIF ~50005$ ~ MACY11 30A(1052) TTINT (CODE) TTDRV (TERMINAL DRIVER MODULE) TTDRV.MAC 22-AUG-78 08:18 751 752 753 754 755 756 757 (6) (9 ) 758 (6) (9) 759 (2) 760 (4 ) 761 (2 ) 762 (4 ) 763 764 765 766 767 (6) (9 ) 768 769 770 771 772 773 774 775 (6) (9) 776 (4) 777 (4) (6) 778 (4 ) 779 (4) 780 781 782 783 784 785 (6) (9) 786 (4) 20-SEP-78 18:44 PAGE 24-~ SEQ 1093 ;+ ; IS INPUT CHARACTER A NULL? ; TRUE THIS IS THE END OF THE MESSAGE ; RETURN BY 'JMP @TT.EXT'. ; FALSE NO ACTION , 000174' 000174' 000202' 000204' 000204' 000212' 000214' 000214' 000216' 000216' 000216' 000216' 000222' 000222' IFB @TT.PTR EO #NULL THEN 127727 001007 177610 000000 026727 001001 177604 000002 CMPB BNE @TT.PTR,#NULL 50006$ CMP BNE TT.COD,#MSGPOP 50007$ IF TT.COD EQ #MSGPOP THEN INLINE CMP (SP)+, (SP)+ 022626 ENDIF ~:;0007$ INLINE JMP 177564 @TT.EXT;LEAVE,FINIS~ ENDIF ~i0006$ 000222 1 000222 1 005767 000226' 002033 : ;+ ; NON-STANDARD MESSAGE CODE HANDLING SPECIAL CONDITIONS- CONTROL U,RUBOUT ;IF TT.COD LT #0 THEN 177566 TST BGE TT.COD 50010$ CMPB BNE @TT.PTR,#CTRLU 50011$ MOVB #1,TT.CUF MOV INC TT.PTR,TT.TP TT,.TP MOV #TT.CUB,TT~PTR CMPB BNE @TT.PTR,#RUBOUT 50012$ MOVB #TT.BKSLSH,@XBUF ;+ IS INPUT CHARACTER IS A CONTROL U ? TRUE ~ SET AU-FLAG SAVE REST OF MESSAGE POINTER POINT TO -U-BUFFER FALSE NO ACTION 000230' 000230' 000236' 000240' 000240' 000246' 000246' 000254' 000260' 000260' 000266' 000266' IFB @TT.PTR EO #CTRLU THEN 127727 001013 177554 000025 112767 000001 177551 016767 005267 177536 177532 012767 000023' 177522 L~T 000266' 000266' 127727 000274' 001004 000276' 0002.76' 112.777 TT.CUF :B= #1 LET TT.TP '- TT.PTR + #1 177536 LET TT.PTR := #TT.CUB ENDIF !50011$: ;+ ; IS INPUT CHARACTER IS A RUBOUT ? ; TRUE OUTPUT BACKS LASH ; FALSE OUTPUT CHARACTER ;IFB @TT.PTR EO #RUBOUT THEN 177516 000177 000134 OOOOOOG LET @XBUF :B= #TT.BKSLSH 787 (4) (3 ) 788 (4) 789 (4) 790 791 792 793 794 (4) ( 3) 795 796 797 798 799 800 801 802 (6) (9) 803 (4) 804 (4) (6) 805 (4) 806 (4) 807 808 B09 810 811 812 (6) (9) 813 (4) 814 (4 ) 815 (4 ) 816 817 818 819 820 821 (6) (9) 822 000304 1 000304 1 000403 000306 1 000306 1 000306 1 11 7777 000314 1 0003141 20-SEP-78 rv1ACY 11 30A(1052) TTINT (CODE) TTDRV (TERMINAL DRIVER MODULE) 22-AUG-78 08:18 TTDRV.MAC 18:44 PAGE 24-2 SEQ 1094 ELSE BR 50013$ MOVB @TT.PTR,@XBUF BR 50014$ CMPB BNE @lTT.PTR,#TT.PCNT 50015$ MOVB # 1 , TT . PCF MOV INC TT. pn!, TT. TP TT.TP MOV #TT.PCB,TT.PTR CMP SEQ CTHLOF,#1 50016$ MOVB @lTT.PTR,@XBUF CMP8 BNE @TT.PTR,TT.FCH 50017$ 50012$: LET @lX8UF : B= @lTT. 177476 PTf~ OOOOOOG ENDIF 50013$: ;+ ; STANDARD MESSAGE CODE HANDLING , 000314 1 000314' 000426 000316 1 SPECIAL CONDITIONS- PERCENT,SURPRESS ELSE 5iOO 10$: ;+ IS INPUT CHARACTER IS A <%> PEF~CENT ? SET %-FLAG TRUE SAVE REST OF MESSAGE POINTER P01NT TO %-BUFFER NO ACTION FALSE - 000316 1 000316 1 000324 1 000326 1 000326 1 000334 1 000334 1 000342 1 000346 1 000346 1 000354 1 000354 1 ;- IFB @lTT.PTR EQ #TT.PCNT THEN 127727 001013 177466 000045 112767 000001 177462 016767 005267 177450 177444 177450 012767 000020' 177434 000354 1 000354 1 026727 000362 1 001403 000364 1 000364 1 117777 000372 1 000372 1 000372' 000372 1 000372' 0003721 127767 000400 1 001003 000402 1 LET TT.PCF :8= #1 LET TT.TP := TT.PTR + #1 LET TT.PTR := #TT.PCB ENDIF ~)0015$: ;+ ; IS MESSAGE SURPRESS FLAG NOT SET ? OUTPUT CHARACTER ; TRUE NO ACTION i FALSE - , IF CTRLOF NE #1 THEN OOOOOOG 000001 'LET @XBUF :B= @TT.PTR 177420 OOOOOOG ENDIF !30016$: ENDIF !30014$: ;+ ; IS INPUT CHARACTER THE "FILL-CHARACTER" ? PRESET FILL COUNT-FLAG ; TRUE NO ACTION ; FALSE ;IFB @TT.PTR EO TT.FCH THEN 177412 177400 LET TT.FCF := TT.PFC TTDRV MACY11 30A(1052) TTINT (CODE) (TERMINAL DRIVER MODULE) 22-AUG-78 08:18 TTD~V.MAC (4) 823 (4) 824 825 826 82.7 (6) 828 (4) 829 830 831 832 833 (2 ) 834 (2 ) 835 (2 ) 836 (2 ) 837 (6) 838 ( 3) (3) (2) 839 000402' 016767 000410' 000410' 20-SEP-78 18:44 PAGE 24-~~ SEQ 1095 177374 177374 MOV TT.PFC,TT.FCF INC TT.PTR MOV #PRI4,-(SP) MOV #1000$,-(SP) ENDIF 50017$: i+ ; INCREMENT MESSAGE CHARACTER POINTEH , 000410' 000410' 005267 000414' 000414' LET TT.PTR := TT.PTR + #1 177374 ENDIF 50004$: ;+ ;ENABLE INTERRUPTS. BUT FIRST RAISE PRIORITY TO 4 ;- 000414' 000414' 000420' 000420 1 000424 1 000424' 000426' 000426 1 000426' 000426' 000434' 000434' 000434' 000434' PUSH #PRI4 012746 000200 PUSH #1000$ 012746 000426 1 INLINE RTI 000002 INUNE <1000$:> LET @lXCSR 052777 000100 1000$ : : = @lXCSR SET.BY #IE BIS OOOOOOG ENDRTI 5,0000$ : 5,0001$: 000002 000001 RTI .END #1 E,@lX.CSR Mft,CY11 30A(1052) SYMBOL TABLE TTDRV (TERMINAL DRIVER MODULE) 22-AUG-78 08: 18 TTDRV.MAC ACSR ACTBIT= ADDR22= ADR APTFER= APTPRE= ASB ASSEMB= ASTAT = AUTO AUTOST= AWAS BITO BITCO BIT01 B1T.02 BIT03 BIT04 BIT05 BIT06 BIT07 BIT08 BIT09 BI T,1 BIno B1 T1 1 Bln2 B1T13 BIT14 BIn5 BI12 BIT3 BIT4 = BIT5 8IT.6 Bll7 BIT8 BIl9 BKDEF BKMOD BKMODE= BK5LSH= CAPRES= CASTAT= CDERCT= CDWDCT= CKTIM = ClKPRE= CONFIG= CQOVF CR CSRA CSRC = 000102 004000 001000 000006 000004 000200 000106 000010 000104 000010 020000 000110 000001 000001 000002 000004 000010 000020 000040 000100 000200 000400 001000 000002 002000 004000 010000 020000 040000 100000 000004 000010 000020 000040 000100 000200 000400 001000 000002 000020 040000 000134 000004 000004 000146 000144 100000 000001 000056 000001 000015 000100 000102 CTRLC = CTRlO = CTRLOF= CTRLU = DCEVNT= DEFRTN= D1AGMC= DROPMO= DSEVNT= DTBl DT.ADD= DT. AP = DT.APK= DT.BlS= DT.CFO= DT.CF1= DT. ERR= DT.ESI= DT.EVN= DT.EXS= DT.FCH= DT.FCN:: DT.HMX= DT.KBE= DT.KBP= DT.KBR= DT.KBU= DT.MLS= DT.MTI= DT.OFF= DT.PAS:: DT.PC = OT.PFl= DT.PSW= DT.PTA= DT.RCS= DT.REL= DT.SCT= DT.SMX= DT. SP = DT.SS1= DT.STO= DT.ST1= DT.SWR= DT.SYP= DT.WBU:: DT.WHL= DT.WLL= DVID1 = ECCMEM= ECCSTA= ENBEOP= ENBNUL= 000003 000017 ****** 000025 000011 000400 000000 100000 000014 000000 000042 000100 000076 000034 000014 000016 000020 000044 000000 000060 000037 000036 000104 000024 000026 000022 000030 000032 000110 000070 000074 000002 000062 000004 000064 000102 000040 000066 000106 000006 000046 000010 000012 000056 000072 000050 000054 000052 000014 000100 000010 010000 000001 G 20-SEP-7S ENDLST= EOPBIT= ERRTYP= EVNTBE= EVNTHD= EVNTKT= EVNTPE= EVNTRE= FATERR= HRDCNT= HRDPAS= ICONT :z: ICOUNT= IDNUM = IE 1 ND·PAR:: INHDRP= INHEPR= INHREL= INHRRE= INIT INTR. IOMOD IOMODP= IOMODR= 10MODX= JACK KB.XFL= KIPARO= KIPAR1= KIPAR2= KIPAR3= KIPAR4= KIPAR5= KIPAR6= KIPAR7= KIPDRO= KIPDR1= KIPDR2= KIPDR3= KIPDr~4= KIPDR5= KIPDR6= KIPDR7= KTERRO= KTPRES= KTSTAT= KTXTND= LF LPSTAT= MAPSTA= MED MEMPAS= 000000 000001 000106 000200 000200 000203 000202 000201 100000 000044 000050 000036 000040 000122 000100 000040 040000 020000 001000 000400 000030 000120 100000 10.2000 1 12000 110000 035060 ****** G 172340 172342 172344 172346 172350 172352 172354 172356 172300 172302 172304 172306 172310 172312 172314 172316 000040 000400 000020 040000 000012 000001 000200 076600 040000 18:44 PAGE 25 MOOEXH:: MODHOL:: MOOSE L:: MSGADR=: MSGCKD:: MSGCKS:: MSGCOD:: MSGDER:: MSGDRP= MSGECH:: MSGEOP:: MSGHDR:: MSGHNG:: MSGHRD:: MSGMAp:: MSGNU L:= MSGPOP;:: MSGPRM:: MSGR ES;: MSGSFT:= MSGSKE::: MSGSMB:: MSGSMH;:: MSGSMS::: MSGSTD::: MSGSYS:: MSGVEC::: NBKMOD= NCPUOP= NOAPTY::: NULL O\I}EN PAERR PARPRE= PARSTA::: PASCNT:: PDPLSI= PDP60 PDP70 PRIO P R Ii PRI4 PRI5 PRI6 PRI7 PRO PR4 PR5 PR6 PR7 PS 004000 002000 001000 000004 000010 000011 000002 000005 000017 177777 000013 000004 000022 000007 000021 177775 000002 177776 000001 00aa06 000003 000015 000014 000016 000000 000012 000020 001000 000020 000002 000000 024020 000010 002000 000100 000034 020000 004000 010000 000000 000040 000200 000240 000300 000340 000000 000200 000240 000300 000340 177776 psw. 177776 RANNUM= 000054 SEQ 1096 RSUFEA= Ri3UFPA= R8UFSZ= RBUFVA= RDSERV= RDWHMI = RELERR= RELMOD= REL TIM= RES1 RES2 RETADR= RICHAR= RPTDAT= RSTRT :: RUBOUT= RUNMOD= R5VALU= SAM SBADR = SBKMOD= S BI,SE L= SC.ADR= SC.AlC:: SC.APC= SC.CKL= SC.CKP= SC.CLO= SC.HLO::: SC.SCA= SENDLS= SOFCNT= S:]FPAS= SPACE = SPOINT= SPVALU= SRO = SR1 SR2 SR~ STAT STATBl= STAT1 = SUSPND= SVRO SVR1 SVR2 SVR3 SVR4 SVR5 SVR6 SYSCNT= SYSERR= 000130 000126 000132 000124 000101 000022 000020 020000 010000 00005(1 000060 000006 031060 002000 000112 0001'71 100000 001740 075464 000102 000000 010000 000006 000014 000016 000002 000004 000000 000010 00001 ;;:~ 177777 000042 00004E; 000040 000032 002200 177572 177574 177576 17251Ei 0OO02Ei 064757 000027 000001i 000062 000064 000066 00007() 000072 000074 00007E:> 00005:2 000100 MACY'1 30A(1052) SYMBOL TABLE TTDRV (TERMINAL DRIVER MODULE) TTDRV.MAC 22-AUG-78 08:18 TMPIO TQOVF = TTINI TTINT TT.BEN TT. BKS= TT.COD TT.CUB TT.CUF TT. ~XT TT.fCr TT.FCH TT.'FLG TT.PCB TT . 'PCF TT.PCN= TT . :PFC TT.PTR Tf .JP UIPARO= UIPAR1= UIPAR2= UIPAR3= ABS. UIPAR4= UIPAR5= UIPAR6= UIPAR7= UIPDRO= UIPDR1= UIPDR2= UIPDR3= UIPDR4= UIPDR5= UIPDR6= UIPDR7= WASADR= WBSTAT= WBUFEA= WBUFPA= WBUFRQ= WBUFSZ=' WDFR WDTO WTINRE= WTWHMI= XBUF 000002 000002 000026RG 000104RG 000025R 000134 000014R 000023R 000017R 00OOO6R 0OOO04R OOOOOOR 000016R 000020R 000016R 000045 000002R 000010R 000012R 177640 177642 177644 177646 000000 000436 177650 177652 177654 177656 177600 177602 177604 177606 177610 177612 177614 177616 000104 000040 000136 000134 000140 000142 000116 000114 000352 000222 ****** G 000 001 ERRORS DETECTED: 0 DEFAULT GLOBALS GENERATED: 0 DSKZ:TTDRV.DSKZ:TTDRV=SPMAC/Ml,EQUATE,TTDRV RUN-TIME: 17 7 .3 SECONDS RUN-TIME RATIO: 40/24=1 .6 CO'RE USED: 14K (27 PAGES) 20-SEP-7B XCSR XFLAG XOFF = XON $BGNLE= $ERFLG= $F$AND= $F$BAD= $F$BLA= $F$CAS= $F$DEC= $F$DO == $F$FAl== $F$GOO= $F$IF = $F$INC= $F$LOO= $F$NAM= $F$NO = $F$OR = $F$RTI= $F$RTN= $F$SEL= ****** G 000005 000023 000021 177777 000400 000310 000401 000170 000150 000220 000340 000405 000400 000110 000210 000200 000160 000403 000320 000350 000300 000140 18:44 PAGE 25-1 $F$THE:: $F$TRU:: $F$UNT:: $F$WHI:: $F$YES:: $IFLEV:: $ISKO -$ISK1 -$ISK2 -$LOCTA::: $LSTIN::: $LSTTA::: $NESTL= $NSKO $NSK1 .$NSK2 .$NSK3 .$SAVLE::: $lAGlE:: $ T AGNU::: $TEMP $TSKO $TSK1 SEQ 1097 000330 000404 000130 000120 000402 177777 000001 000001 000001 177777 000001 000001 177777 000350 000'j10 000110 000110 177777 177777 050020 000350 050004 050017 '$TSK2 = $$ARGC== $$BYTE== $$CASE= $$DST = $$ELOC= $$EqFl= $$FLAG= $$FROM= $$LOC = $$LOCN= $$REG = $$RETU= $$RTN1= $$RTN2= $$SRC = $$TGSV= $$TGS1= $$TGS2= $$TO $$$TAG= = 050016 000000 000402 000000 000000 000402 000000 000001 000000 000400R 000000 177777 oooooa 050000 050001 000000 000000 000000 000000 000000 050000 000436R .MAlN. MACY11 30A(1052) 20-SEP-78 EQUATE.MAC 13-SEP-78 16:13 3 560 563 605 670 719 COMMON COMMON 000000 1 KERNEL KERNEL KERNEL 18:45 TABLE OF CONTENTS EQUATE MODULE DEFINITIONS AND REFERENCES .PRINT - DETERMINE MEMORY SIZE - WRITE GOOD PARITY - SORT MODULE LIST ;SPMAC: VERSION 1.1 SEO 1098 SIZPLA - SIZE AND POLL SYSTEM - NO SUPPORT OF ANY CPU OPTIONS SIZPLA.MAC 12-JUN-78 13:01 COMMON EQUATE MODULE 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550. 551 552 553 554 555 556 557 MACY11 30A(1052) 20-SEP-78 18:45 PAGE 19 .TITLE SIZPLA - SIZE AND POLL SYSTEM - NO SUPPORT OF ANY CPU OPTIONS .IDENT JVO.Oj ;++ MODULE NAME: SIZPLA FUNCTIONAL DESCRIPTION: THIS MODULE WILL SIZE MEMORY TO 28K AND WRITE GOOD PARITY IN THAT AREA. THIS ROUTINE WILL NOT CHECK FOR ANY CPU OPTIONS AND WILL INDICATE THERE Af~E NONE. THE II MODQ" LIST WIll. BE SORTED TO DEVE~OP A BACKGROUND MODULE LIST (QUEUE). INPUTS: DTABLE ADDRESS IMPLICIT INPUTS: CONFIGURATION WORD 0 EXERCISER SIZE SYSTEM SIZE MODULE LIST BACKGROUND LIST OUTPUTS: NONE IMPLICIT OUTPUTS: SYSTEM Q,lZE EXERCIS!f'SIZE CONFIGU~ATION WORD 0 PATHOLOGICAL tONNECTIONS: SUBORDINATE ROUTINES CALLED: SAVREG - SAVE REGISTERS RESREG - 'RESTORE REGISTERS HRDADRCHK - ILLEGAL ADDRESS CHECK FUNCTIONAL SrDE EFFECTS: NONE CALLING SEQUENCE: CALL SIZPOL IN A - DTABLE ADDRESS VERSION: 0.0 ._, EDIr DATE BY REASON SEQ 1099 SIZPLA - SIZE AND POLL SYSTEM - NO SUPPORT OF ANY CPU OPTIONS SIZPLA.MAC 1:2-JUN-78 13:01 COMMON EQUATE MODULE 559 560 561 562 563 (1) 564 565 566 567 568 569 MACY11 30A(1052) 20-SEP-78 18:45 PAGE 20 .. S8TTL COMMON DEFINITIONS AND REFERENCES 000000' 000000' 000001 000001 .MCALL STRUCT STRUCT .PRINT ;SPMAC: VERSION 1.1 $L5TIN = 1 $LSTTAG = 1 ;**************** ; GLOBAL REFERENCES , 5io .GLOBL .GLOBL .GLOBL 571 572 .573 SAVREG RE5R:EG HRDADRCHK ;SARE REGISTERS ;RESTORE REGISTERS ;ILLEGAL ADDRESS CHECK 574 575 576 ;**************** ; LOCAL EQU,o,TES 577 578 579 580 581 582 583 584 585 586 , 004000 000034 160000 55.0KC SS.28 SS.RFS 4000 = "D28 = 160000 ;**************** ; REFERENCED BY OTHER MODULES , .GLOBL SIZPOL 587 588 589 590 591 ; +++++++++++++++++++++++++-:-++++ 592 OVERLAY REGION GLOBALS 593 ;+++++++++++++++++++++++++T++++ 594 595 596 597 598 599 600 601 602 ;ONE K CHUNK ;28 DECIMAL ;RESERVED FOR DIAGNOSTIC USE IN I/O PAGE .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL OV.KBBUF OV.HIKB OV.KBSIZ OV.CQ OV.HICQ OV.CQ5IZ OV.TQ OV.HITQ OV.TQSIZ ;MODULE ENTRY POINT SEQ 1100 SIZPLA - SIZE AND POLL SYSTEM - NO SUPPORT OF ANY CPU OPTIONS 12-JUN-78 13:01 COMMON DEFINITIONS AND SIZPLA.MAC 604 605 606 607 608 (2 ) 609 61!) 611 612 613 614 (3) 615 (4) 616 (4 ) 617 618 619 620 621 622 623 624 (4 ) 625 626 627 628 629 630 631 632 (4) 633 (4) 634 635 636 637 638 639 (3 ) 640 (6) 641 (6 ) 642 (3) (4) (3) (3) 643 (6) 644 .SBTTL KERNEL - MACY11 30A(1052) 20-SEP-78 18:45 PAGE 21 SEO 1101 REFERENC~S DETERMINE MEMORY SIZE ROUTINE SIZPOL 000000' 000000' S I ZPOL: ;+ ; SAVE REGISTERS, GET DTABLE ADDRESS FROM R5 STACK AND CLEAR ; R1 , 000000' 000000' 004767 000004' 000004' 016502 000010' 000010' 005001 CALL SAVREG 00000013 LET R2 := DTABLE(R5) 000000 LET R1 ·- JSR PC,SAVREG MOV DTA8LE(R5),R2 CLR R1 MOV 0,DT.ESIZ(R2) CLR RO CLR R3 INC RO ADD #SS.OKC,R3 #0 ;+ ; NOW TAKE THE CONTENTS OF LOC. 0 (EXERCISER SIZE) ; AND LOAD IT INTO EXERCISER SIZE WORD ;- 000012' 000012' 016762 LET DT.ESIZ(R2) 000000 .- 0 000044 ;+ ; DETERMINE SYSTEM SIZE, WHICH CAN NOT BE GREATER ~ THAN 28K. ; SET UP COUNTER OF 1K CHUNKS AND 1K BLOCK POINTER 'r - LET RO 000020' 000020' 005000 000022' 000022' 005003 LET R3 ··- #0 #0 ;+ ; REPEAT UNTIL NON-EXISTENT MEMORY OR 28K IS FOUND ;000024' 000024' 000024' 000024' 000026' 000026' 000032' 000032 1 000034' 000036 1 000042' 000044 1 000044' 000046' REPEAT 005200 062703 010546 010345 004767 012605 004000 50002$: LET RO .- RO + #1 LET R3 .- R3 + #SS.OKC CALL. HRDADRCHK IN OOOOOOG IF.ERROR THEN 103001 IN!..INE
MOV R5,-(SP) MOV R3,-(f~5) JSR MOV PC,HRDADRCHK (SP)+,R5 Bce 50003$ SIZPLA - SIZE AND POLL SYSTEM - NO SUPPORT OF ANY CPU OPTIONS M~CY11 30A(1052) SIZPLA.MAC 12-JUN-78 13:01 KERNEL - DETERMINE MEMORY SIZE (2 ) 645 (4 ) 646 (3 ) '( 6) 647 648 649 650 651 652 (2) 653 (6) (9) 654 (3) (4 ) (3) (3 ) 655 (6) 656 (6) 657 (4) 658 (4) 659 660 000046 1 000403 000050 1 000050 1 000050 1 000050 1 020027 000054 1 001363 (4 ) ( 7) (7 ) (7 ) (7) (7 ) (7 ) 668 18:45 PAGE 21-1 SEQ 1102 BR 1 $ ENDIF 50003$: UNTIL RO EQ #SS.28 CMP BNE 000034 RO,#SS.28 50002$ ;+ ; DETERMINE IF SYSTEM HAS 30K BY LOOKING AT FIRST ADDRESS IN I/O PAGE 'f 000056 1 000056 1 000056 1 000056 1 000062 1 000064 1 0000641 000066 1 000072 1 000076 1 000100 1 000100 1 0001'02 1 000102 1 000106 1 000106' 000106' 000106' INUNE <1$:> 1 $: IF RO EQ #S5.28 THEN 020027 001011 010546 012745 004767 012605 CALL HRDADRCHK IN <#SS.RFS> 160000 OOOOOOG RO,#SS.28 50004$ MOV MOV JSR MOV R5,-(SP) #SS.RFS,-(R!5) PC,HRDADRCHK (SP)+,R5 BCS 50005$ ADD H10000,R3 IF.NO.ERROR THEN 103402 062703 BNE CMP 000034 LET R3 '- R3 + #10000 010000 ENDIF :;0005$ : ENDIF :i0004$ : ;+ ; NOW GET MEMORY SIZE IN "PAR II FOHrv:AT BY SHIFTING R3, S TIMES ; TO THE RIGHT, ONCE THIS IS DONE LOAD INTO SYSTEM ; SIZE WORD,. 661 662 663 664 665 666 (4) 667 20-SEP-78 000106 1 000106' 000110 1 000110 1 000114' 000120' 000124' 000130' 000134 1 000140' LET CARRY ::: #0 CLC 000241 010362 006062 006062 006062 006062 006062 006062 LET DT.SSIZ(R2) 000046 000046 000046 000046 000046 000046 000046 != R3 ROTATE -6 MOV ROR ROR RDR ROR ROR ROR R3,DT"SSIZ(R2) DT . SSIZ(R2) DT.SSIZ(R2) DT . SSIZ(R2) DT.SSIZ(R2) DT.SSIZ(R2) DT"SSIZ(R2) SIZPLA - SIZE AND POLL SYSTEM - NO SUPPORT OF ANY CPU OPTIONS MACY11 30A(1052) SIZPLA.MAC 12-JUN-78 13:01 KERNEL - WRITE GOOD PARITY 670 671 672 673 674 675 (4) 676 (2) 677 (4) 678 679 680 681 682 683 (2) 684 (4) 685 (2) 686 687 688 689 690 691 692 693 (2) 694 (2) 695 (2) 696 697 698 699 700 701 (6) 702 703 704 705 706 711 18:45 PAGE 21-2 SEQ 1103 .S8TTL KERNEL - WRITE GOOD PARITY ;+ ; SET UP POINTER TO POINT TO LaC. 0 AND SAVE BUSERR VECTOR ,' 000144 1 000144' 005000 000146 1 000146' 013746 000152' 000152' 012737 LET RO . - #0 CLR RO MoV @#4,-(SP) MOV #2$,@#4 PUSH @#4 000004 LET @#4 '- #2$ 000164' 000004 i+ ; NOW WRITE GOOD PARITY , INLINE<3$:> 000160' 000160 1 000160' 000160' 011020 000162 1 000162 1 000776 3$: LET (RO)+ '-, (RO) MOV ( R 0) , ( R0) + INLINE
BR 3$ ;+ ; WILL TRAP HERE WHEN TOP OF MEMORY IS FOUND ; CLEAN UP STACK AND RESTOf~E BUSERR , '- 000164 1 000164 1 000164 1 000164 1 022626 000166' 000166 1 012637 INLINE <2$:> 2$: INLINE CMP (SP)+,(SP)+ POP @#4 000004 ;+ ; LOAD NCPUGP BIT INTO R1 000172 I 000172 1 052701 LET R1 . - R'I SET. BY #NCPUOP BIS 000020 i+ i IF AUTOMATIC MODE(ACT ,SLIDE,XXDP, ETC.), #NCPUOP,R1 SET AUTO BIT IN CONFIGURATION WQFW () j- 707 708 (6) (9) 709 (6) 710 (4) 20~·SEP-78 000176 1 000176 1 005737 000202 1 001402 000204 1 000204 1 052701 000210 1 000210' IF @#42 NE #0 THEN 000042 TST SEQ @#42 50006$ 3IS #AUTO,R1 LET R1 := R1 SET.BY #AUTo 000010 ENDIF !50006.$ : SIZPLA - SIZE AND POLL SYSTEM - NO SUPPORT OF ANY CPU OPTIONS MACV11 30A(1052) SIZPLA.MAC 12-JUN-78 13:01 KERNEL - WRITE GOOD PARITY 712 713 714 715 716 (6) 717 20-SEP-78 18:45 PAGE 21-3 SEQ 1104 i+ ; LOAD UP CONFIGURATION WORD 0 ;000210' 000210' LET DT.CFO(R2) := DT.CFO(R2) SET.8Y R1 050162 000014 BIS R1,DT.CFO(R2) SIZPLA - SIZE AND POLL SYSTEM - NO SUPPORT OF ANY CPU OPTIONS MACY11 30A(1052) SIZPLA.MAC '12-JUN-7813:01 KERNEL - SORT MODULE LIST 719 720 721 722 723 724 725 726 (4) 727 (4) 728 (4) (6) (9) 729 (6) 730 (6) 731 (4) (3 ) 732 733 734 735 736 737 738 (4) 739 740 741 742 743 744 (4 ) (6) (9) 745 (3) 746 747 748 749 750 751 (4 ) 752 (6) (9) 753 754 755 756 757 20-SEP-78 18:45 PAGE 22 SEQ 1105 .SBTTL KERNEL - SORT MODULE LIST + COUNT THE MODULES 000214 1 000214 1 000216' 000216' 000222 1 000222' 000222' 000226' 000230' 000230' 000232' 000232 1 000236 1 000236 1 000240' LET RO 005000 LET R1 016201 000032 021127 001404 000000 ..- #0 WHILE ( R1) NE #ENDLST DO LET RO .- RO + #1 LET Rl .- Rl + #2 005200 062701 CLR RO MOV DT .MLST(R2) .R1 CMP BEQ (R1),#HJDLST 50010$ INC RO ADD #2, R1 BR 50007$ DT.MlST(R2) 50007$: 000002 ENDDO 000771 50010$: ;+ ; START THE SORT OPERATION, AND SORT ; DEVELOPING A II BKMOD QUEUE II • ;- 000240 1 000240' 016201 LET R1 II BKMODS'" TO BOTTOM OF MODQ LIST := DT.MLST{R2) 000032 MOV DT .MlST(R2) ,Rl TST BlE RO 50012$ MOV (Rl),F~4 BIT BEQ #BKMOD,STAT(R4) 50014$ ;+ WORK THRU THE LIST UNTIL THE END IS REACHED i ;- WHILE RO GT #0 DO 000244' 000244' 000244' 005700 000246' 003432 000250 1 000250 1 ~iOO11$: REPEAT :;0013$: ;+ ; IS THE CURRENT ENTRY A BKMOD MODULE? 'r - 000250' 000250' 011104 000252' 000252' 032764 000260 1 001414 LET R4 .- ( R1 ) IF lIBKMOD SETIN STAT(R4) THEN 000020 000026 + THE CURRENT ENTRY IS A BKMOD, WHAT ABOUT THE NEXT ENTRY? SIZPLA - SIZE AND POLL SYSTEM - NO SUPPORT OF ANY CPU OPTIONS MACY11 30A(1052) SIZPLA.MAC 12-JUN-78 13:01 KERNEL - SORT MODULE LIST 758 (4 ) 759 760 761 762 763 764 (6) (9) 765 766 767 768 769 770 (6) (9) 771 (4) 772 (4) 773 (4) 774 (4) 775 (4) 776 777 778 779 780 781 (6) 782 (3) (6) 783 784 785 786 787 788 (6) 789 (4) 790 (4) (3) 791 792 793 794 795 796 000262 1 000262 1 016103 LET R3 PAGE 22-1 SEQ 11 06 2(R1) MOV 2(R1),R3 CMP BEQ R3,#ENDLST 50015$ MAKE SURE ITS NOT THE END OF THE LIST }F R3 NE #ENDLST THEN 000000 + 000274 1 000274 1 000302 1 000304 1 000304 1 000310 1 000310 1 000312 1 000312 1 000312 1 000312 1 000312 1 000312 1 != 18:45 000002 + 000266 1 000266 1 020327 000272 1 001407 20-SEP-78 032763 001003 000020 011161 000002 IF ITS NOT A BKMOD, SWAP THEM IF #BKMOD NOTSETIN STAT(R3) THEN BIT #BKMOD,STAT(R3) BNE 50016$ LET 2(R1) := (R1) MOV ( R 1 ) , 2 ( R1 ) LET (Ri) := R3 MOV R3, (R 1 ) ENDIF 5,0016$: 000026 010311 ENDIF 5,0015$ : ENDIF ;+ ; UPDATE THE POINTER AND CONTINUE SEARCHING THRU THE LIST ;- 000312 1 000312 1 062701 000316 1 000316 1 021127 000322 1 001352 LET R1 000002 : = Ri + #2 ADD #2 1 R1 CMP BNE (R1),NENDLST 50013$ UNTIL (Rl) EQ #ENDLST 000000 ;+ ; THE END OF THE LIST HAS BEEN REACHED, SO UPDATE THE MAIN POINTER & CONTINUE , "·000324 I. 000324 1 005300 000326 1 000326 1 016201 000332 1 000332 1 000744 000334' LET RO .- RO - #1 LET R1 DEC RO MOV DT.MLST(R2),R1 BR 50011$ .- DT.MLST(R2) 000032 ENDDO ~)0012$ : ;+ ; NOW THAT THE BACKGROUND MODULES HAVE BEEN GROUPED TOGETHER AT THE END ; OF THE MODULE LIST , PUT THE ADDRESS OF THIS BACKGROUND LIST (IF THERE IS ; A BACKGROUND ~IST) INTO THE DATA TABLE ;- SIZPLA - SIZE AND POLL SYSTEM - NO SUPPORT OF ANY CPU OPTIONS MACY'1 30A(1052) SIZPLA.MAC 12-JUN-78 13:01 KERNEL - SORT MODULE LIST 797 798 (4) 799 800 801 802 803 804(4) 805 (4) 806 (4) (6) (9) (6 ) (9) 807 (4 ) 808 (6) (9) 809 810 811 812 813 814 (4) 815 (4) 816 (4) 817 (4 ) (3 ) 818 819 820 821 822 823 (6 ) 824 (4) 825 (4) (3 ) 826 827 828 829 830 831 (3) 000334' 000334' 016201 LET R1 PAGE 22-2 := DT.MLST(R2) MOV 000034 012703 177777 021127 001420 005703 001416 000000 SEQ 1107 DT.MLST(R2),R1 WORK THRU THE MODULE LIST UNTIL THE FIRST BACKGROUND MODULE IS FOUND LET DT.BLST(R2) := #0 005062 LET R3 := #-1 CLR DT.BLST(R2) MOV #-1,R3 CMP BEQ TST BEQ (Rl) ,#ENDLST 50020$ R3 50020$ MOV (R1),R4 BIT BEQ #BKMOD,STAT(R4) 50021$ WHILE (R1) NE #ENDLST AND R3 NE #0 DO 50017$: LET R4 . - (R 1 ) 011104 032764 001406 IF #BKMOD SETIN STAT(R4) THEN 000020 000026 + 000374' 000374' 000400' 000400' 000404' 000404' 000406' 000406' 000410' 18:45 000032 + 000340' 000340' 000344' 000344' 000350' 000350' 000350' 000354' (;00356' 000360' 000362' 000362' 000364' 000364' 000372' 20-SEP-78 A BACKGROUND MODULE HAS BEEN FOUND - SO THIS IS THE START OF THE BACKGROUND LIST LET 010162 000034 012701 000000 DT.BLST(R2) := R"I LET R1 MOV R1,DT.BLST(R2) MOV #ENDLST,R1 CLR R3 BR 50022$ ADD #2,R1 SR 50017$ JSR PC,RESREG . - #ENDLST LET R3 '- #0 005003 ELSE 000402 5·0021$: i+ i UPDATE THE POINTER AND CONTINUE TO SEARCH THRU THE MODULE LIST ;- 000410' 000410' 062701 000414' 000414' 000414' 000414' 000755 000416' L.ET R1 . - R1 + #2 000002 ENDIF :i0022$ : ENDDO ei0020$ : + NOW RETURN TO THE CALLER 000416' 000416' 004767 CALL RESREG OOOOOOG SIZPLA - SIZE AND POLL SYSTEM - NO SUPPORT OF ANY CPU OPTIONS MACY11 30A(1052) SIZPLA.MAC 12-JUN-78 13:01 KERNEL - SORT MODULE LIST 832 (3) (3 ) (2 ) 833 834 835 836 837 838 839 840 841 842 843 (2 ) 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 ENDHTN 000422 1 000422 1 000422 1 000422 1 000207 20-SEP-78 18:45 PAGE 22-3 ~;OOOO$ SEQ 1108 : ~>0001$: RTS PC ;+ ; LABEL TYPE QUEUE HIGH LIMI T ;- ;+ ; AllOW STOHAGE FOR TQ ;- 000424 1 000120 000544 1 000544 1 AD .BlKS INLINE OV.TQEND: ;************************************** ; NOTE: THESE OVERLAY EQUATES MUST BE lEFT IN THIS POSITION (THAT IS, AFTER SIZPOL AND TQ.END lABELS) ;++++++++++++++++++++++++++++++++++++++ OVERLAY REGIONS EQUATES ;++++++++++++++++++++++++++++++++++++++ 000000 1 000122 1 000244 1 000120 1 000122 000242 1 000024 000300 000000 000544 1 000030 000001 ;KEYBOARD BUFFER STARTING ADDRESS OV.KBSUF = SIZPOL ;CONTROL QUEUE STARTING ADDRESS OV.CQ= OV.KBBUF + ftD<82> ;TYPE QUEUE STARTING ADDRESS OV.TQ = OV.CQ + ftD<82> ;KEYBOARD BUFFER HIGH LIMIT OV.HIKB = O\/.CQ - 2 ;KEYBOARD BUFFER· SIZE OV.KBSIZ = OV.CQ - OV.KBBUF ;CONTROl QUEUE HIGH lIMIT OV.HICQ = OV.TQ - 2 ;CONTROL QUEUE SIZE OV.CQSIZ = /4 ;GET THE TQ SIZE OV.A = OV.TQEND - OV.TQ ;GET ANY REMAINDER OV.REM = OV.A - «OV.A/10>*10> ;TYPE QUEUE HIGH LIMIT OV.HITQ = OV.TQEND - OV.REM ;TYPE QUEUE SIZE OV.TQSIZ = /10 .END SIZPLA - SIZE AND POLL SYSTEM - NO SUPPORT OF ANY CPU OPTIONS SYMBOL TABLE 12-JUN-78 13;01 SIZPLA.MAC ACSR ACTBlT= ADDR22= ADR APTFER= APTPRE= ASB ASSEMB= ASTAT = AUTO AUTOST= AWAS BITO = BITOO BIT01 BIT02 8IT03 BIT04 BIT05 BIT06 BIT07 BIT08 BIT09 BIT1 BIT10 BIT11 BIT12 BIT13 BIT 14 BIT15 = BIT2 Bl T3· = BIT4 = BIT5 BIT6 = BIT7 = B118 = BIT9 = BKDEF = BKMOD BKMODE= BKSLSH= CAPRES= CASTAT= CDERCT= COWOCT= CKTlM = CLKPRE= CONFIG= CQOVF CR CSRA CSRC = 000102 004000 001000 000006 000004 000200 000106 000010 000104 000010 020000 000110 000001 000001 000002 000004 000010 000020 000040 000100 000200 000400 001000 000002 002000 004000 010000 020000 040000 100000 000004 000010 000020 000040 000100 000200 000400 001000 000002 000020 040000 000134 000004 000004 000146 000144 100000 000001 000056 000001 000015 000100 000102 CTRLC CTRLO CTRLU DCEVNT= DEFRTN= DIAGMC= DROrMO= DSEVNT= DTA8LE= DT.ADD= 01. AP = DT.APK= DT.8LS= D1.CFO:: DT.CF1= DT.ERR= DT.ESI= DT . EVN=. DT.EXS= DT.FCH= DT.FCN= DT.HMX= 01. KBE= DT.KBP= DT.KBR= DT.KBU= DT.ML.S= DT.MTI= DT.OFF= DT.PAS= DT.PC = D1.PFL= DT.PSW= DT.PTA= DT.RCS= DT.REL= DT.SCT= DT.SMX= DT.SP = DT.SSI= DT.STO= D1.ST1= OT.SWR= DT.SYP= DT.WBU= DT.WHL= DT.WLL= OVID1 = ECCMEM= ECCSTA= ENBEOP= ENBNUL= ENDLST= 000003 000017 000025 000011 000400 000000 100000 000014 000000 000042 000100 000076 000034 000014 000016 000020 000044 000000 000060 000037 000a36 000104 000024 000026 000022 000030 000032 000110 000070 000074 000002 000062 000004 000064 000102 000040 000066 000106 000006 000046 000010 000012 000056 000072 000050 000054 000052 000014 000100 000010 010000 000001 000000 EOPBIT= ERRTYP= EVNTBE= EVNTHD= EVNTKT= EVNTPE= EVNTRE= FATERR= HRDADR= HRDCNT= HRDPAS= ICONT = ICOUNT:: IDNUM = IE INDP,i\R= INHD~P= INHEPR= INHREL= INHRRE= INIT INTR IoMoD IOMODP= IOMODR= IOMODX= JACK KIPARO= KIPAR1= KIPAR2= KIPAR3= KIPAR4= KIPAR5= KIPAR6= KIPAR7= KIPDRO= KIPDR1= KIPDR2= KIPDR3= KIPDR4= KIPDR5= KIPDR6= KIPOR7:-:: KTERRO= KTPRE5= KTSTAT= KTXTND= LF LPSTAT::: MAPSTA= MEO MEMPAS= MODEXH:.:: MACY11 30A(1052) 000001 000106 000200 000200 000203 000202 000201 100000 ****** G 000044 000050 000036 000040 000122 000100 000040 040COO 021)000 001000 000400 000030 000120 100000 102000 112000 110000 03501;30 172340 172342 172344 172346 172350 172352 172354 172356 172300 172302 172304 172:306 172310 172312 172314 172316 000040 000400 000020 040000 000012 000001 000200 076600 040000 004000 20-SEP-78 MODHOL= MODSEL= MSGCKD= MSGCKS= MSGDER= MSGDRP= MSGECH= MSGEOP= MSGHDR= MSGHNG= MSGHRD= MSGMAP= MSGNUL= MSGPQP= MSGPRM= MSGRES= MSGSFT= MSGSKE= MSGSMB= MSGSMH= MSGSMS= MSGSTD= MSGSYS= MSGVEC= NBKMOD= NCPUOP= NOARlY: NlJLL OV.A OV·.CQ DV.CQS= OV.HIC= OV.HIK= OV. HIT:: OV . KBB=: OV . KBS=: OV. REM:: OV. TQ :: OV.TQE OV. TQS:: OWEN PAERR _. PARPRE=: PARSTA::: PA5CNT=: PDPLSI:: POP60 PDP70 PRIO PRI1 PRI4 PRI5 PRI6 18 :4~) PAGE 23 SEQ 1109 002000 001000 000010 000011 000005 000017 177777 000013 000004 000022 aOOO07 000021 177775 000002 177776 000001 000006 000003 000015 000014 000016 000000 000012 000020 001000 000020 000002 000000 000300 000122RG 000024 G 000242RG 000120RG 0OO544RG OOOOOORG 000122 G· 000000 000244RG 000544R 000030 G 024020 000010 002000 000100 000034 020000 004000 010000 000000 000040 000200 000240 000300 PRI7 PRO PR4 PR5 PR6 PR7 PS PSW RANNUM= RBUFEA= RBUFPA= RBUFSZ= RBUFVA= RDSERV= RDWHM1= REL.ERR= REL.MOD= RELTIM= RESREG= RES1 RES2 RICHAR= RPTDAT= RSTRT = RuaOUT= RUNMOD= R5VALU= SAM SAVREG= SB/"DR = S6Ki110D= SBKSEL= SC.ADR= SC.ALC= SC . .A.PC= SC.C~ UIPDRO= UIPDR1= UIPDR2= UIPDR3= UIPDR4= UIPDR5= UIPDR6= UIPDR7= WASADR= WBSTAT= WBUFEA= WBUFPA= WBUFRQ= WBUFSZ= WDFR WDTO WTINRE= WTWHMI= XFLAG = XOFF XON $BGNLE= 177656 177600 177602 177604 177606 177610 177612 177614 177616 000104 000040 000136 000134 000140 000142 000116 000114 000352 000222 000005 000023 000021 177777 000 001 0 ERRORS DETECTED: DEFAULT GLOBALS GENERATED: 0 DSKZ:SIZPLA,DSKZ:SIZPLA:::SPMAC/ML,EQUATE,SIZPLA RUN-TIME: 18 8 .4 SECONDS RUN-TIME RATIO: 47/27=1.7 CORE USED: 14K (27 PAGES) $ERFLG:: $F$AND= $F$BAD= $.F$BLA= $F$CAS= $F$DEC= $F$DO = $F$FAL= $F$GOO= $F$IF :: $F$INC:: $F$LOO= $F$NAM= $F$NO :: $F$OR = $F$RTI= $F$RTN= $F$SEL= $F$THE= $F$TRU= $F$UNT= $F$vJHI = $F$YES= MACY11 30A(1052) 000400 000310 000401 000170 000150 000220 000340 000405 000400 000110 000210 000200 000160 000403 000320 000350 000300 000140 000330 000404 000130 000120 000402 20--SEP-78 $IFLEV:: $ISKO .. $ 15K 1 .$ISK2 .$ LOCT A:: $LSTIN:= $LSTTA:: $NESTL:: $NSKO $NSK1 $NSK2 $NSK3 $NSK4 $NSK5 $SAVLE= $SSKO = $TAGlE::: $TAGNU= $TEMP $TSKO $TSK1 $TSK2 $TSK3 18:45 PAGE 23-1 SEQ 1110 177777 000C01 000001 000001 17'77'77 000001 000001 17'7777 000300 000120 000110 000110 000110 000110 177'777 050020 177777 050023 000300 050017 050020 050022 050014 $TSK4 $TSK5 $$ARGC:: $$BYTE= $$CASE= $$D5T = $$E LOC= $$ERFL= $$FLAG= $$FROM= $$LOC = $$LOCN= $$REG = $$RETU= $$RTN1= $$RfN2:: $$SRC = $$TGSV= $$TGS1= $$TGS2= $$TO $$$TAG= 050015 050016 000002 000403 000000 000000 000402 000000 000001 000001) 00037:2'R 000000 177777' 000000 050000 050001 oooooel oooooel OOCOOO 000000 000000 050000 000544R .MAIN. MACY11 30A(1052) 20-SEP-78 EQUATE.MAC 13-SEP-78 16:13 3 561 564 611 68d 700 744 797 868 COMMON COMMON 000000' KERNEL KERNEL KERNEL KERNEL KERNEL KERNEL 18:46 TABLE OF CONTENTS EQUATE MODULE DEFINITIONS AND REFERENCES .PRINT ;SPMAC: VERSION 1.1 - DETERMINE PROCESSOR TYPE - DETERMINE IF CACHE OPTION AVAILABLE - DETERMINE IF PARITY OR ECC MEMORY PRESENT - DETERMINE SYSTEM SIZE - WRITE GOOD PARITY IF ECC OR PARITY PRESENT - SORT MODULE LIST SEQ 1111 SIZPLB SIZE AND POLL SYSTEM - FOR NON-KT MACHINES MACY11 30A(1052) SIZPLB.MAC 02-AUG-7811:44 COMMON EQUATE MODULE 20-SEP-78 18:46 PAGE 19 508 509 510 .TITLE SIZPLB SIZE AND POLL SYSTEM - FOR NON-KT MACHINES .IDENT /VO.O/ 511 512 513 514 515 ;++ 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 ,538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 MODULE NAIVIE: SIZF'LB FUNCTIONAL DESCRIPTION: THIS MODULE WILL SIZE THE SYSTEM AND DETERMINE IF PARITY OR ECC IS PRESENT AND ALSO SORT THE MODQ LIST TO GENERATE A BACKGROUND LIST(QUEUE). INPUTS: DTABLE ADDRESS IMPLICIT INPUTS: CONFIGURATION WORD 0 EXERCISER SIZE SYSTEM SIZE PARITY TABLE ADDRESS MODULE LIST BACKGROUND LI ST OUTPUTS: NONE IMPLICIT OUTPUTS:' PARITY TABLE ADDRESS SYSTEM SIZE EXEHCISE SIZE CONFIGURATION WORD 0 PATHOLOGICAL CONNECTIONS: SUBORDINATE ROUTINES CALLED: SAVREG - SAVE REGISTERS RESREG - RESTORE REGISTERS HRDADRCHK - ILLEGAL ADDRESS CHECK FUNCTIONAL SIDE EFFECTS: NONE CALLING SEQUENCE: CALL SIZPOL IN
A - DTABLE ADDRESS VERSION: 0.0 EDIT ;-- DATE BY F~EASON SEQ 1112 SIZPLB SIZE AND POLL SYSTEM - FOR NON-KT MACHINES MACY11 30A(1052) SIZPLB.MAC 02-AUG-7811:44 COMMON EQUATE MODULE 560 !:?63 ( 1.) 565 566 567 18:46 PAGE 20 .SBTTL COMMON DEFINITIONS AND REFERENCES 561 562 564 20-SEP-78 000000' 000000' 000001 000001 .MCALL STRUCT STRUCT .PRINT ;SPMAC: VERSION 1.1 $LSTIN = 1 $LSTTAG = 1 568~ ;**************** 569 ; GLOBAL REFERENCES 570 571 ; 572 .GLOBL .GLOBL .GL08L .GL08L .GLOBL .GLOBL .GLOBL 573 574 575 576 577 578 SAVREG RESREG HTPAER HRDADRCHK CPUCPE CCNTRL KONTRL iSARE REGISTERS ;RESTORE REGISTERS ;PARITY VECTOR ;ILLEGAL ADDRESS CHECK ;CPU ERROR REGISTER ;CACHE CONTROL REGISTER ;TEMPORARY STORAGE FOR CACHE CONTROL REGISTER 579 ;**************** 580 i 581 582 583 584 585 586 587 588 589 590 591 592 593 172100 172136 004000 000034 177600 160000 LOCAL EQUATES SS.PCSR SS.PCLS SS.OKC 172100 112136 4000 SS.28 ~D28 5S. lOP SS.RFS 177600 160000 ;**************** ; REFERENCED BY OTHER MODULES I .GLOBL SIZPOL 594 595 596 597 598 599 600 601 602 603 604605 606 607 608 609 ;START OF PARITY CSRS ;L.AST PARITY CSR ;ONE K CHUNK :28 DECIMAL ; I/O PAGE ; RESERVED FOI=( DI AGNOS'rI C USE I N I/O PAGE ;++++++++++++++++++++++++++++++ OVERLAY REGION GLOBALS ;++++++++++++++++++++++++++++++ .GLOBL .GLOBL .GL08L .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL OV.KBBUF OV.HIKB OV.KBSIZ OV.CQ OV.HICQ OV.COSIZ OV.TO OV.HITQ OV.TQSIZ ;MODULE ENTRY POINT SEQ 1113 SIZPlB SIZE AND POll SYSTEM - FOR NON-KT MACHINES MACY11 30A(1052) 20-SEP-78 SIZPlB.MAC 02-AUG-7811:44 KERNEL - DETERMINE PROCESSOR TYPE 611 612 613 614 615 (2) 616 617 618 619 620 621 622 623 624 (4 ) 625 (4) 626 (3) 627 (4) 628 (4) 629 630 631 632 633 634 635 (3) (4) (3) (3 ) 636 637 (6 ) 63.8 639 640 641 642 643 (2 ) 644 (4) 645 (2 ) 646 (2 ) 647 (6) 648 (2) 649 18:46 PAGE 21 SEQ 1114 .SBTTl KERNEL - DETERMINE PROCESSOR TYPE 000000 1 000000 I ROUTINE SIZPOl SIZPOL: ;+ ; STUFF PARITY VECTOR ; SAVE REGISTERS, GET DTABLE ADDRESS FROM R5 STACK AND CLEAR ; R1 ,' - 000000 1 000000 1 000006' 000006' 000014 1 000014' 000020 1 000020 1 000024 1 000024 1 012737 lET @l#114 .- IIHTPAER 116 . -, #PRI7 OOOOOOG 000114 lET 012737 000340 (§l# 000116 CALL SAVREG 004767 016502 OOOOOOG lET R2 .- DlABlE(R5) LET R1 .- #0 000000 005001 MOV #HTPAER,@#114 MOV #PRI7,@#116 JSR PC,SAVREG MOV DTABLE(R5),R2 CLR R1 ;+ ; DETERMINE PROCESSOR TYPE; 11/70, 11/60 OR LSI-l1, FIRST CHECK FOR ; CPU ERROR REGISTER , '- 000026' 000026 1 000030' 0000341 000040 1 CALL HRDADRCHK IN 010546 016745 004767 012605 OOOOOOG OOOOOOG 000042 1 000042' 103422 MOV MOV JSR MOV R5,-(SP) CPUCPE,-(R5) PC,HRDADRCHK (SP}+,R5 BCS 50002$ MGV @#10,-(SP) MOV #1$,@l#10 IF.NO.ERROR THEN j+ ; SET UP ILLEGAL ; 11/60 INSTRUCTIO~ TRAP TO FIELD TRAP IF NOT ,' 000044 1 000044' 000050 1 000050' 000056 1 000056 1 000060' 000060 1 000062 1 0000621 000066 1 000066 1 PUSH @#10 013746 000010 012737 000070 1 000010 lET @1I10 := #1$ INUNE MED 076600 IN U NE RDSERV 000101 052701 LET R1 : = R1 SET. BY #PDP60 8IS 004000 INLINE
000405 BR 3$ #PDP60,R1 SIZPLB SIZE AND POLL SYSTEM - FOR NON-KT MACHINES MACY11 30A(1052) 20-SEP-78 SIZPLB.MAC 02-AUG-7811:44 KERNEL - DETERMINE PROCESSOR TYPE 650 (2) 651 652 653 654 655 656 (4 ) 657 (2 ) 658 659 660 661 662 663 (2 ) 664 (6) 665 666 667 668 669 670 (2 ) 671 (2 ) 672 (4 ) (3 ) 673 674 675 676 677 678 (3) (4 ) (3) (3 ) 679 (6) 680 (6) 681 682 (4) 683 (4 ) 684 18:~6 PAGE 21-1 INLINE <1$:> 000070' 000070 1 SEQ 1115 1 $: ;+ ; SET RETURN TO 2$ TO RESTORE PSW ;- 000070 1 000070 1 012716 000074 1 000074 1 000002 LET (SP) 000076 := #2$ MOV 1 #2$,(SP) INLlNE RTI ;+ ; MUST BE AN 11/70, BECAUSE OF TRAP 000076 1 000076 1 000076 1 000076 1 052701 INLINE <2$:> LET R1 2$: :::: R1 SET.BY #PDP70 SIS 010000 #PDP7C1,R1 ;+ ; RESTORE RESERVED INSTRUCTION TRAP 000102 1 000102 1 000102 1 000102 1 012637 000106 1 000106 1 000411 000110 1 INLINE <3$:> 3$: POP @#10 000010 ELSE MOV (SP)+,@#10 BR 50003$ MOV 1VI0V MOV R5,-(SP) #PSW,···(R5) PC t HRDADRCHI-< (SP)+,R5 Bce 50004$ SIS #PDPLSI,R1 :;i0002$ : ;+ ; CHECK TO SEE IF LSI11 ;- 000110 1 000110 1 000112 1 000116 1 000122 1 000124 1 000124 1 000126 1 000126 1 000132 1 000132 1 000132 1 000132 1 CALL HRDADRCHK IN <#PSW> 010546 012745 004767 012605 177776 OOOOOOG dSR IF.ERROR THEN 103002 052701 LET R1 "- R~ SET.BY #PDPLSI 020000 ENDIF 5i0004$ : ENDIF 5i0003$ : SIZPLS SIZE AND POLL SYSTEM - FOR NON-KT MACHINES MACY11 30A(1052) 20-SEP-78 18:46 SIZPLS.MAC 02-AUG-78 11 :44 KERNEL - DETER~,nNEIF CACHE OPTION AVAILABLE 686 687 688 689 690 691 692 693 (3) (4) (3 ) (3) 694 (6) 695 (6) 696 (4) 697 PAGE 21-2 SEQ 1116 .SBTTL KERNEL - DETERMINE IF CACHE OPTION AVAILABLE ;+ ; DETERMINE IF CACHE MEMORY IS PRESENT BY CHECKING CACHE ; CONTROL REGISTER 000132 1 000132 1 000134 1 000140 1 000144 1 000146 1 000146 1 000150 1 000150 1 000154 1 000154 1 CALL HRDADRCHK IN 010546 016745 004767 012605 MOV OOOOOOG OOOOOOG MOV R5 , -(SP) CCNTRL , -(R5) PC,HRDADRCHK (SP)+,R5 8CS 50005$ SIS #CAPRE.S Ri MOV JSR IF.NO.ERROR THEN 103402 lET R1 052701 : = R1 SET. BY #CAPRES 000004 ENDIF 50005$: I SIZPLB SIZE AND POLL SYSTEM - FOR NON-KT MACHINES MACY11 30A(1052) 20-SEP-78 10:46 SIZPLB.MAC 02-AUG-7811:44 KERNEL - DETERMINE IF CACHE OPTION AVAILA8LE 699 700 701 702 703 704 705 706 707 708 (4) 709 710 (4) 711 (4) (6) (9) 712 (3) (4) (3) (3) 713 (6) 714 (4) 715 716 717 718 719 720 721 (6) 722 (6) (9) 723 (6) 724 (4) (3) 725 (6) 726 (4) 727 (4) 728 (4) 729 730 731 732 733 PAGE :21-3 SEQ 1117 .SBTTL KERNEL - DETERMINE IF PARITY OR ECC MEMORY PRESENT ;+ ; GET STARTING ADDRESS OF PARITY TABLE, THEN DETERMINE IF ; PARITY CSR REGISTERS ARE AVAILABLE IF SO PLACE CSR ADDRESS ; IN PARITY TABLE. ;- 000154' 000154' 016200 000160' 000160' 000164' 000164' 000164' 000170' 000172' 000172' 000174' 000176' 000202' 000204' 000204' 000206' 000206' 000210' 000210' 000214' 000214 1 000220' 000222 1 000222 1 000226 1 000226 1 000230 ' 000230 1 000230' 000234 1 000234' 000234 1 000234' 000236' 000236 1 LET RO '- DT.PTA(R2) 000064 MOV DT.PTA(R2),RO MOV #SS.PCSR,R3 CMP BGT R3,#SS.PCLS 50007$ MOV MOV JSR MOV R5,-(SP) R3,-(R5) PC,HRDADRCHK (SP)+,R5 SCS 50010$ MOV R3, (RO)+ SIS #8IT01, (R3) BIT 8EQ #8IT01, (R3) 50011$ 8IS #ECCMEM,R1 SR 50012$ 815 #PA.RPR~ES, CLR (R3) LET R3 '- #SS.PCSR 012703 172100 WHILE R3 LE #SS.PCLS DO 50006$: 020327 003035 010546 010345 004767 012605 172136 CALL HRDADRCHK IN OOOOOOG IF.NO.ERROR THEN 103414 LET (RO)+ .- R3 010320 ;+ ; DETERMINE IF ECC MEMORY, IF IT IS SET Ece MEMORY BIT IN ; CONFIGURATION WORD 0 ELSE SET PARITY PRESENT BIT IN ; CONFIGURATION WORD O. CLEAR THE PARITY CSR1S ;LET (R3) .- (R3) SELBY #BIT01 052713 000002 032713 001403 000002 052701 000100 IF #BIT01 SETIN (R3) THEN LET R1 . - R1 SET. 8Y #ECCMEM ELSE 000402 =,0011$: LET R1 052701 002000 . - R1 SET. BY #PARPRES ENDIF !;:i0012$: LET (R3) .- #0 005013 ENDIF !5001 0$: ;+ IF 11/70 PROCESSOR THEN SET PARITY PRESENT IN CONFIGURATION ; WORD 0 AND POINT TO PARITY CSR + 4, ELSE POINT TO i PARITY CSH + 2 R1 SIZPLB SIZE AND POLL SYSTEM - FOR NON-KT MACHINES MACY11 30A(1052) 20-SEP-78 18:46 SIZPLB.MAC 02-AUG-7811:44 KERNEL - DETERMINE IF PARIIY OR ECC MEMORY PHESENT 734 735 (6) (9) 736 (6) 737 (6) 738 (4) (3) 739 (6) 740 (4) 741 (4) (3) 7~2 PAGE 21-4 SEQ 1118 ;- 000236 1 000236 1 000242 1 000244 1 000244 1 000250 1 000250 1 000254 1 000254 1 000256 1 000256 1 000256 1 000262 1 000262 1 000262 I 000262 1 000264 1 IF #PDP70 SETIN R1 THEN 032701 001405 010000 052701 002000 062703 000004 LET R1 BIT BEQ tlPDP70,R1 50013$ SIS #PARPRES,R1 ADD #4,R3 BR 50014$ ADD #2,R3 BR 50006$ . - R1 SET. BY #PARPRES LET R3 '- R3 + #4 ELSE 000402 50013$: LET R3 .- R3 + #2 062703 000002 ENDIF 50014$: ENDDO 000740 50007$: SIZPLB SIZE AND POLL SYSTEM - FOR NON-KT MACHINES MACY11 30A(1052) SIZPLB.MAC 02-AUG-78 11:44 KERNEL - DETERMINE SYSTEM SIZE 744 745 746 747 748 749 750 751 (4) 752 753 754 755 756 757 758 759 (4) 760 (4) 761 762 763 764 765 766 (3) 767 (6) 768 (6) 769 (3) (4) (3) (3) 770 (6) 771 (2) 772 (4) 773 (3) (6) 774 775 776 777 778 779 (2) 780 (6) (9) 781 20-SEP-78 18:46 PAGE 21-5 SEQ 1119 .SBTTL KERNEL - DETERMINE SYSTEM SIZE ;+ ; NOW TAKE THE CONTENTS OF LOC. 0 (EXERCISER SIZE) ; AND LOAD IT INTO EXERCISER SIZE WORD ,' 000264 1 000264 1 016762 LET DT.ESIZ(R2) 000000 != 0 000044 MOV 0,DT.ESIZ(R2) CLR RO CLR R3 INC RO ADD #SS . OK:C ,R3 MOV MOV JSR MOV R5,-(SP) BCC 50016$ ;+ ; DETERMINE SYSTEM SIZE, WHICH CAN NOT BE GREATER ; THAN 28K. ; SET UP COUNTER OF 1K CHUNKS AND 1K BLOCK POINTER , '- LET RO '- #0 1 000272 000212 1 005000 000274 1 000274 1 005003 LET R3 '- #0 ;+ ; REPEAT UNTIL NON-EXISTENT MEMORY OR 28K OF MEMORY IS FOUND ;- 000276 1 000276 1 000276 1 000276 1 000300 1 000300 1 000304 1 000304 1 000306 1 000310 1 000314 1 000316 1 000316 1 000320 1 000320 1 000322 1 000322 1 000322 1 000322 1 000326 1 REPEAT 5,0015$: LET RO '- RO + #1 005200 LET R3 .- R3 + #SS.OKC 062703 004000 CALL HRDADRCHK IN 010546 010345 004767 012605 OOOOOOG R3,-(~~5) PC, HfWADRCHK (SP)+,R5 IF.ERROR THEN 103001 INLINE
SR 4$ 000403 ENDJ:F ~S0016$: UNTIL RO EQ #SS.28 020027 001363 CMP BNE 000034 RO,#SS.28 50015$ ;+ ; DETERMINE IF SYSTEM HAS 30K BY LOOKING AT FIRST ADDRESS IN I/O PAGE 000330 1 000330 1 000330' 000330 1 020027 000334 1 001011 000336 1 INLINE <4$:> 4$: IF RO EO #55.28 THEN 000034 CMP oNE CALL HRDADRCHK IN <#SS.RFS> RO.#SS.28 50017$ MACY11 30A(1052) SIZPLB SIZE AND POLL SYSTEM - FOR NON-KT MACHINES KERNEL - DETERMINE S~STEM SIZE 02-AUG-7811:44 SIZPLB.MAC (3 ) (4) (3) (3) 782 (6) 783 (6) 784 (4) 785 (4) 786 787 788 789 790 791 792 793 (4 ) 794 (4) (7 ) ( 7) (7 ) (7 ) (7 ) (7) 795 000336 1 000340 1 000344 1 000350 1 000352 1 0003521 000354 1 000354 1 000360' 000360' 000360' 000360' 010546 012745 004767 012605 20-SEP-78 18:46 PAGE 21-6 SEQ 1120 MOV R5,-(SP) #SS.RFS,-(R5) PC,HRDADRCHK (SP)+,R5 BCS 50020$ ADD H10000,R3 MOV MOV 160000 OOOOOOG JSR IF.NO.ERROR THEN 103402 062703 LET R3 := R3 + #10000 010000 ENDIF 5·0020$ : ENDIF 5,0017$: ; -t' ; NOW GET MEMORY SIZE IN "PAR" FORMAT BY SHIFTING R3, 6 TIMES ; TO THE RIGHT, ONCE THIS IS DONE LOAD INTO SYSTEM ; SIZE WORD. '- , 000360' 000360' 000362' 000362' 000366 1 000372 1 000376 1 000402' 000406' 000412 1 LET CARRY . _. #0 000241 LET DT.SSIZ(R2) 010362 006062 006062 006062 006062 006062 006062 000046 000046 000046 000046 000046 000046 000046 .- ClC R3 ROTATE -6 MOV ROR ROR ROR ROR ROR ROR R3,DT.SSIZ(R2) DT.SSIZ(R2) DT.SSIZ(R2) DT.SSIZ(R2) DT.SSIZ(R2) DT.SSIZ(R2) DT.SSIZ(R2) SIZPLB SIZE AND POLL SYSTEM - FOR NON-KT MACHINES MACY11 30A(1052) 20-SEP-78 18:46 PAGE 21-7 SIZPLB.MAC 02-AUG-7811:44 KERNEL - WRITE GOOD PARITY IF ECC OR PARITY PRESENT 797 798 799 800 801 802 803 (6) (8) (6) (9) (6) 804 805 806 807 808 809 810 (6) (9) 811 (4) 812 (4) 813 (4) 814 815 816 817 818 819 820 821 822 823 824 825 826 827 (4 ) 828 (2 ) 829 (4) 830 831 832 833 834 835 (2 ) 836 . (4) 837 SEQ 1121 .SBTTL KERNEL - WRITE GOOD PARITY IF ECC OR PARITY PRESENT ;+ ; DETERMINE IF PARITY OR ECC MEMORY IS PRESENT. 000416' 000416' 000422' 000424' 000430' 000432' IF #PARPRES SETIN R1 OR #ECCMEM SETIN R1 THEN 032701 001003 032701 001424 002000 000100 BIT BNE BIT BEQ #PARPRES,R1 50021$ #ECCMEM,R1 50022$ BIT BEQ IICAPRES,R1 50023$ MOV #3,KONTRL MOV KONTRL,@CCNTRL CLR RO MOV @#4,-(SP) MOV #6$,@#4 50021$: ;+ ; IF CACHE PRESENT, SET BIT 0 AND 1 IN CACHE CONTROL REGISTER ; THIS WILL TURN CACHE OFF ;- 000432' 000432' 000436' 000440' 000440' 000446' 000446' 000454' 000454' IF #CAPRES SETIN R1 THEN 032701 001406 000004 012767 000003 LET KONTRL := 113 OOOOOOG LET @CCNTRL := KONTRL 016777 OOOOOOG OOOOOOG ENDIF 50023$: ;+ , SINCE PARITY OR ECC IS PRESENT AND TURNED OFF ; WILL NOW SET UP TO WRITE GOOD PARITY INTO ALL ; OF MEMORY ,' - ;+ ; SET UP POINTER AND SAVE BUSERR VECTOR ;- 000454' 000454' 005000 000456' 000456' 013746 000462' 000462 1 012737 LET RO '- 110 PUSH @1I4 000004 LET @tl4 ' - #6$ 000474' 000004 ;+ ; NOW WRITE GOOD PARITY 'f 000470' 000470' 000470' 000470' 011020 000472' INLINE 5$: LET (RO)+ '- (RO) MOV INUNE (-RO), (RO)+ SIZPLB SIZE AND POLL SYSTEM - FOR NON-KT MACHINES MACY11 30A(1052) 20-SEP-7818:46 PAGE 21-8 SIZPLB.MAC 02-AUG-7811:44 KERNEL - WRITE GOOD PARITY IF ECC OR PARITY PRESENT (2) 838 839 840 841 842 843 844 (2) 845 (2) 846 (2) 847 848 849 (4) 850 851 852 853 854 855 (6) (9) 856 (6) 857 (4) 858 859 860 861 862 863 864 (6) 865 (6) 866 SEQ 1122 BR 5$ 000472' 000776 ;+ ; WILL TRAP HERE WHEN THROUGH, CLEAN UP STACK AND RESTORE BUSERR ;- 000474 1 000474 1 000474 1 000474 1 022626 000476 1 000476 1 012637 INLINE <6$:> 6$: INLINE CMF (SP)+, (SP)+ POP @H4 MOV 000004 000502 1 000502 1 (SP)+,@#4 ENDIF 50022$: ;+ ; IF AUTOMATIC MODE(ACT,SLIDE,XXDP,ETC.), SET AUTO BIT IN CONFIGURATION WORDO ;- 000502' 000502' 005737 000506' 001402 000510 1 000510' 052701 000514' 000514' IF @#42 NE #0 THEN 000042 LET R1 TST SEQ @l#42 50024$ SIS #AUTO,R1 BIC #SAM,F/1 SIS Ri ,DT .CFO(R2) := R1 SET.BY #AUTO 000010 ENDIF :;i0024$ : :+ ; CLEAN UP R1 BEFORE LOADING CONFIGURATION WORD 0 ; LOAD UP CONFIGURATION WORD 0 0005141 000514' 042701 000520' 000520' 050162 LET R1 •- R1 CLR. SY #5AM 075464 LET DT.CFO(R2) := 000014 DT.CFO(~~) SET.BY R1 SIZPLB SIZE AND POLL SYSTEM - FOR NON-KT MACHINES SIZPLB.MAC 02-AUG-7811:44 KERNEL - SORT 868 869 870 871 872 873 874 875 (4) 876 (4) 877 (4) (6) (9) 878 (6) 879 (6) 880 (4) (3) 881 882 8B3 884 885 886 887 (4) 888 889 890 891 892 893 (4) (6) (9) 894 (3) 895 896 897 898 899 900 (4) 901 (6) (9) 902 903 904 905 906 MACY11 30A(1052) LIST 20-SEP-78 18:46 PAGE 22 SEO 11~3 M~DULE .SBTTL KERNEL - SORT MODULE LIST ;+ ; COUNT THE MODULES ;- 000524 1 000524 1 000526 1 000526 1 000532 1 000532 1 000532 1 000536 1 000540 1 000540 1 000542 1 000542' 000546 1 000546 1 000550 1 LET RO '- #0 005000 LET R1 016201 000032 021127 001404 000000 CLR RO MOV DT.MLST(R2),R1 CMP BEQ (R1 ) ,#ENDLSr 50026$ INC RO ADD #'l,R1 BR 50025$ MOV DT .MLST(R2) ,R1 TST BLE RO 50030$ ,- DT.MlST(R2) WHILE (R1) NE #ENDLST DO 50025$: LET RO '- RO + #1 005200 LET R1 062701 := R1 + #2 000002 ENDDO 000771 50026$: ;+ • START THE SORT OPERATION, AND SORT "BKMODSII TO BOTTOM OF ; MODQ LIST, DEVELOPING A "BKIViOD QUEUE", . '- 000550 1 000550 1 016201 LET R1 := DT.MLST(R2) 000032 ;+ ; WORK THRU THE LIST UNTIL THE END IS PEACHED o- r WHILE RO GT #0 DO 1 000554 000554 1 000554 1 005700 000556 1 003432 000560' 000560 1 50027%: REPEAT ~i0031$: ;+ ; IS THE CURRENT ENTRY A BKMOD MODULE? ;- 000560 I 000560 1 011104 000562 1 000562 1 032764 000570 1 001414 LET R4 . - (R1) MOV IF #BKMOD SETIN STAT(R4) THEN 000020 BIT BEQ 000026 + THE CURRENT ENT~Y IS A B~MOD. WHAT ABOUT THE NEXT ENTRY? #BKMOD,STAT(R4) 50032$ SIZPLB SIZE AND POLL SYSTEM - FOR NON-KT MACHINES MACY11 30A(1052) SIZPLB.MAC 02-AUG-78 11 :44 KERNEL - SORT MODULE LIST 907 (4) 908 909 910 911 912 913 (6) (9) 914 915 916 917 918 919 (6) (9 ) 920 (4) 921 (4) 922 (4 ) 923 (4) 924 (4) 925 926 927 928 929 930 (6) 931 ( 3) (G) 932 933 934 935 936 937 (6) 938 (4 ) 939 (4 ) (3) 940 941 942 943 944 945 000572' 000572' 016103 PAGE 22-1 SEQ 1124 LET R3 := 2(Rl) MOV 2(R1) ,R3 CMP BEQ R3,#ENDLST 50033$ MAKE SURE ITS NOT THE END OF THE LIST IF R3 NE #ENDLST THEN 000000 + 000604' 000604' 000612 1 000614 1 000614 1 000620' 000620' 000622 1 000622' 000622' 000622' 00062.2 ' 000622' 18:46 000002 + 000576' 000576' 020327 000602' 001407 20-SEP-78 032763 001003 000020 011161 000002 IF ITS NOT A BKMOD, SWAP THEM IF #BKMOD NOTSETIN STAT(R3) THEN BIT #BKMOO,STAT{R3) BNE 50034$ LET 2(R1) := (R1) MOV (R1) ,2(Rl) LET (R1) := R3 MOV R3, (R1 ) ENDIF 50034$: 000026 010311 ENDIF 50033;Ji: ENDIF 50032$: .... UPDATE THE POINTER AND CONTINUE SEARCHING THRU THE LIST 000622' 000622' 062701 000626 1 000626' 021127 000632 1 001352 LET R1 .- Rl + #2 000002 ADD #2,R1 CMP BNE (R1 ), II'ENDLST 50031$ UNTIL ( R1) EO #ENDLST 000000 ;+ ; THE END OF THE LIST HAS BEEN REACHED, SO UPDATE THE MAIN POINTER & COI'IJT I NUE . 0- 000634' 000634' 005300 000636' 000636' 016201 000642' 000642 1 000744 000644' LET RO .- RO - #1 LET R1 .- DT.MLST(R2) 000032 DEC RO MOV DT.MLST(R2),Rl BR 50027$. ENDDO 50030$: ;+ ; NOW THAT THE BACKGROUND MODULES HAVE BEEN GROUPED TOGETHER AT THE END ; OF THE MODULE LIST, PUT THE ADDRESS OF THIS BACKGROUND LIST (IF THERE IS ; A BACKGROUND LIST) INTO THE DATA TABLE ; -. SIZPLB SIZE AND POLL SYSTEM - FOR NON-KT MACHINES MACV11 30A(1052) SIZPLB.MAC 02-AUG-7811:44 KERNEL - SORT MODULE LIST 946 947 (4) 948 949 950 951 952 953 (4) 954 (41 955 (4) (6) (9) (6) (9) 956 (4) 957 (6) (9) 958 959 960 961 962 963 (4) 964 (4) 965 (4) 966 (4} (3) 967 968 969 970 971 972 (6) 973 (4) 974 (4) (3) 975 976 977 978 979 980 (3) 000644' 000644' 016201 LET R1 18:46 PAGE 22-2 := DT.MLST(R2) 000034 012703 177777 021127 001420 005703 001416 000000 DT.MLST(R2),R1 WORK THRU THE MODULE LIST UNTIL THE FIRST BACKGROUND MODULE IS FOUND LET DT.BLST(R2) := #0 005062 SEQ 1125 MOV 000032 + 000650' 000650' 000654' 000654' 000660' 000660 ' 000660' 000664' 000666' 000670' 000672' 000672' 000674' 000674' 000702' 20-SEP-78 LET R3 : = #-1 CLR DT.BLST(R2) MOV #-1,R3 CMP BEQ TST BEQ (R1),ltENDLSl' 50036$ R3 50036$ MOV (R1),R4 BIT SEQ #SKMOD,STAT(R4) 50037$ WHILE (R1) NE #ENDLST AND R3 NE #0 DO 50035$: LET R4 . - (R 1 ) 011104 032764 001406 IF #BKMOD SETIN STAT(R4) THEN 000020 000026 ;+ ; A BACKGROUND MODULE HAS BEEN FOUND - SO THIS IS THE START OF THE BACKGROUND LIST ;- 000704' 000704' 000710' 000710' 000714 1 000714 1 000716' 000716' 000720' LET DT.BLST(R2) .- R"I 010162 000034 012701 000000 LET R1 LET R3 .- #0 005003 ELSE 000402 MOV #ENDLST,R1 CLR R3 SR 50040$ ADD #2,R'1 BR 50035$ JSR PC,RESREG UPDATE THE POINTER AND CONTINUE TO SEARCH THRU THE MODULE LIST LET R1 000002 . - Ri + #2 ENDIF 50040$: ENDDO 50036$: + 000726' 000726' 004767 R1,DT.BLST(R2) 50037$: + 000720' 000720' 062701 000724 1 000724' 000724' 000724' 000755 000726' MOV . - #ENDLST NOW RETURN TO THE CALLER CALL RESREG OOOOOOG SIZPLB SIZE AND POLL SYSTEM - FOR NON-KT MACHINES MACY11 30A(1052) SIZPLB.MAC 0.2-AUG-78 11:44 KERNEL - SORT MODULE LIST 981 (3 ) (3 ) (.2 ) 982 983 984 985 986 987 (2 ) 988 989 990 991 992 993 994 995 996' 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 000732 1 000732 1 0007321 000732' 000207 20-SEP-78 18:46 PAGE 22-3 SEQ 1126 ENDRTN 50000$: 50001$: RTS PC ;+ ; LABEL TYPE QUEUE HIGH LIMIT INLINE 000734' 000734 1 OV.TQENO: ;************************************** ; NOTE: THESE OVERLAY EQUATES MUST BE LEFT IN THIS POSITION (THAT IS, AFTER SIZPOL AND TQ.END LABELS) ;++++++++++++++++++++++++++++++++++++++ OVERLAY REGIONS EQUATES 000000 1 0001221 000314 1 000120 1 000122 000312 1 000036 000420 000000 000734 1 000042 000001 ;++++++++++++++++++++++++++++++++++++++ OV.KBBUF = S!ZPOL ;KEYBOARD BUFFER STARTING ADDRESS OV.CQ= OV.KBBUF + AD<82> ;CONTROL QUEUE STARTING ADDRESS Ov.TQ = OV.CQ + AD<122> ;TYPE QUEUE STARTING ADDRESS ;KEYBOARD BUFFER HIGH LIMIT OV.HIKB = OV.CQ - 2 ;KEYBOARD BUFFER SIZE OV.KBSIZ = OV.CQ - OV.KBBUF OV.HICQ = OV.TQ - 2 ;CONTROL QUEUE HIGH LIMIT ;CONTROL QUEUE SIZE OV.CQSIZ = /4 OV.A = OV.TQEND - OV.TQ ;GET THE TO SIZE ;GET ANY REMAINDER OV.REM = OV.A - «OV.A/10>*10> OV.HITQ = OV.TQEND - OV.REM ; TYPE QUEUE HIGH, LIMIT OV.TQSIZ = /10 ;TYPE QUEUE SIZE .END SIZPLB SIZE AND POLL SYSTEM - FOR NON-KT MACHINES SYMBOL TABLE SIZPLB.MAC 02-AUG-78 11 : 44 ACSR ACTBIT= ADDR22= ADR APTFER= APTPRE= ASB ASSEM8= ASTAT = AUTO AUTOST= AWAS BITO BITOO BITOl BIT02 BIT03 BIT04 BIT05 : BIT06 BIT07 BIT08 BIT09 BIT1 BIT10 BI T1 "/ BIT12 BIT13 BIT14 BIT15 BIT2 BIT3 BIT4 BITS BIT6 BIT7 BITB BIT9 BKDEF BKMOD BV,MODE= BKSLSH= CAPRES= CASTAT= CCNTRL= CDERCT= CDWDCT= CKTIM = CLKPRE= CONFIG= CPUCPE= CQOVF CR 000102 004000 001000 000006 000004 000200 000106 000010 000104 000010 020000 000110 000001 000001 000002 000004 000010 000020 000040 000100 000200 000400 001000 000002 002000 004000 010000 020000 040000 100000 000004 000010 000020 000040 000100 000200 000400 001000 000002 000020 04000'0 000134 000004 000004 ****** G ****** G 000146 000144 100000 000001 000056 000001 000015 CSRA :::: CSRC = CTRLC CTRLO CTRLU DCEVNT= DEFRTN= DIAGMC= DROPMO= DSEVNT= DTABLE= DT.ADD= DT.AP = DT.APK= DT.BLS= DT.CFO= DT.CF1= DT.ERR: DT.EST= Dl.EVN= DT.EXS= DT.FCH= DT.FCN= DT.HMX= DT.KBF.= DT.KBP= DT.KBR= DT.KBU= DT.MLS= DT.MTI= DT.OFF= DT.PAS= DT.PC = DT.PFL= DT.PSW= DT.PTA= DT.RCS= DT.REL= DT.SCT= DT.SMX= DT.SP :: DT.SSI= DT.STO::: DT.ST1= DT.SWR= DT.SYP= DT.WBU= DT.WHL= DT.WLL= DVID1 = ECCMEM= ECCSTA= ENBEOP= 000100 00010.2 000003 000017 000025 000011 000400 000000 100000 000014 000000 000042 000100 000076 000034 000014 000016 000020 000044 000000 000060 000037 000036 000104 000024 000026 000022 000030 000032 000110 000070 000074 000002 000062 000004 000064 000102 000040 00CC66 000106 000006 000046 00001C 000012 000056 000072 000050 000054 000052 000014 000100 000010 010000 MACY11 30A(1052} 20-SEP-78 18:46. PAGE :23 SEQ 1127 ENBNUL= 000001 ENDLST·= . 000000 EOPBlt:::: 000001 ERRTYP= 000106 EVNTBE= 000200 EVNTHD= 000200 EVNTKT= 000203 EVNTPE= 000202 EVNTRE= 000201 FATERR= 100000 HRDADR= ****** G HRDCNT= 00004Q HRDPAS= 000050 HTPAER= ****** G ICONT :: 000036 ICOUNT= 000040 00012.2 IDNUM IE - 000100 INDPAR= 000040 INHDRP= 040000 INHEPR= 020000 INHREL= 001000 INHRRE= 000400 INIT 000030 INTR 000120 lOMOD 100000 IOMODP= 102000 IOMODR= 112000 IOMODX= 110000 JACK 035060 KIPARO= 172340 KIPAR1= 172342 KIPAR2= 172344 KIPAR3= 172346 KIPAR4:: 172350 KIPAR5= 172352 f A - DTABLE ADDRESS VEKSION: 0.0 , '-- EDIT DATE BY REASON SIZPLC SIZE AND POLL SYSTEM - KT OPTIONS MACY11 30A(1052) SIZPLC.MAC 08-SEP-78 09:35 COMMON EQUATE MODULE 563 564 565 566 567 (1) 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 ,603 604 605 606 607 608 609 610 611 612 613 614 615 616 20-SEP-78 18:47 PAGE 20 SEQ 1131 .SBTTL COMMON DEFINITIONS AND REFERENCES 000000 1 000000' 000001 000001 .MCAll STRUCT STRUCT .PRINT ;SPMAC: VERSION 1.1 $ LST IN = 1 $LSTTAG = 1 ;**************** ; GLOBAL REFERENCES , .GlO!3L .GlOBL .GlOBl .GLOBL .GLOBl .GLOBL .GlOBl .GlOBl .GlOBl HTPA.ER HTKT SAVf;:EG RESREG KTSET HRDt.DRCHK CPUCPE CCNTRL KONTRL ; PArH TY VECTOR ;KT VECTOR ;SARE REGISTERS ;RESTORE REGISTERS ;SET UP KT ;IllEGAL ADDRESS CHECK ;11/70 CPU ERROR REGISTER ;CACHE CONTROL REGISTER ;TEMPORARY STORAGE FOR CACHE CONTROL REGISTER ;**************** ; LOCAL EQUt.TES , 172100 172136 004000 000034 000040 120000 177600 160000 5S.PCSR 172100 172136 S5.PClS 4000 S5.0KC ~D28 55.28 5S.1 KP :; 40 ,20000 5S.120K S5.l0P 177600 1 EiOOOO S5.RFS ;START OF PARITY CSRS ;LAST PARITY eSR ;ONE K CHUNK ;28 DECIMAL ;1K IN PAR FORMAT ;FIRST ADDRESS IN PAR5 MAP ; I/O PAGE iRESERVED FOR DIAGNOSTIC USE IN I/O ;**************** ; REFERENCED BY OTHER MODULES , .GlOBl SIZPOL ;++++++++++++++++++++++++++++++ OVERLAY REGION GLOBALS ;++++++++++++++++++++++++++++++ .GLOBl .GlOBL .GLOBl .GLOBL .GLOBl .Gl08l .GlOBL .GLG8L .GlOBL OV.KBBUF OV.HII 000000 1 000000 1 012737 000006 1 000006 1 012737 000014 1 000014 1 012737 000022 1 000022' 012737 SIZPOL.: LET @#114 := #HTPAER OOOQOOG 000114 000340 LET @l#116 ._. #PRI7 000116 LET @#250 := #HTKT OOOOOOG 000250 LET @l#252 .- NPRI7 000340 000252 MOV #HTPAER,@l#114 MOV #PRI7,@#116 MOV #HTKT,@l#250 MOV ;+ ; STUFF PARITY AND KT VECTORS ; SAVE REGISTERS, GET DTABLE ADDRESS FROM R5 STACK AND CLEAR ; R1 000030' 000030' 004767 000034' 000034 1 016502 000040 1 000040 1 0050C 1 CALL SAVREG OOOOOOG JSR PC,SA\lREG MOV DTABLE(R5),R2 CLR R1 MOV MOV JSR MOV R5,-(SP) CPUCPE,-(R5) PC,HRDADRCHK (SP)+"R5 BCS 50002$ MOV @l#10,-(SP) MOV #1$,@l#10 LET R2 '- DTABLE(RS) 000000 LET R1 .- #0 ;+ ; DETERMINE PROCESSOR TYPE; 11/70, 11/60 OR LSI11 000042 1 000042 1 000044 1 000050' 000054' CALL HRDADRCHK IN 010546 016745 004767 012605 OOOOOOG OOOOOOG IF.NO.ERROR THEN 000056 1 000056 1 103422 ;+ ; SET UP ILLEGAL INSTRUCTION TRAP TO FIELD TRAP IF NOT ; 11/60 ; .- 000060 1 000060 1 000064 1 000064' 000072 1 000072 1 000074 1 000074' PUSH @l#10 013746 000010 012737 000104' 000010 076600 000101 LET @l#10 := #1$ INLINE MED INLINE RDSERV MACY'I1 30A(1052) 20-SEP-78 SIZPLC SIZE AND POLL SYSTEM - KT OPTIONS KERNEL - DETERMINE PROCESSOR TYPE 08-SEP-78 09:35 SIZPLC.MAC 657 (6) 658 (2 ) 659 660 (2 ) 661 662 663 664 665 666 (4) 667 (2) 668 669 670 671 672 673 (2 ) 674 (6) 675 676 677 678 679 680 (2) 681 (2 ) 682 (4) (3 ) 683 684 685 686 687 688 (3 ) (4) (3) (3) 689 (6) 690 (6) 691 692 (4) 693 (4) 000076 ' 000076 ' 052701 000102 ' 000102 ' 000405 LET I~ 1 18:47 PAGE 21-1 SEQ 1133 : = R1 SET.BY #PDP60 BIS 004000 INLINE
BR 3$ INLINE <1$:> 000104 ' 000104 ' HPDP60,R1 1$: ;+ ; SET RETURN TO 2$ TO RESTORE PSW , 000104 ' 000104 ' 012716 000110 ' 000110 ' 000002 := #2$ LET (SP) 000112 ' MOV INLINE H2$,(SP) RTI ;+ ; MUST BE AN 11/70, BECAUSE OF TRAP , 000112 ' 000112 ' 000112 ' 000112 ' 052701 INLINE <2$:> LET R1 .- 2$: R1 SET.BY #PDP70 BIS 010000 HPDP70,R1 ;+ ; RESTORE RESERVED INSTRUCTION TRAP , 000116 ' 000116 ' 000116 1 000116 1 012637 000122 ' 000122 ' 000411 000124 1 INLINE <3$:> 3$: POP @#10 000010 ELSE MOV (SP)+,@l#10 BR 50003$ MOV MOV JSR MOV R5,-O:;P) #PSW,-'(R5) PC,HRDADRCHK (SP)+,R5 BCC 50004$ BIS #PDPLSI,R1 50002$: + CHECK TO SEE IF LSI11 000124 ' 000124 1 000126 1 000132 1 000136 ' 000140 1 000140 ' 000142 ' 000142 1 000146 1 000146 1 000146 1 000146 ' CALL HRDADRCHK IN 010546 012745 004767 012605 177776 OOOOOOG IF.ERROR THEN 103002 052701 LET R1 .- R1 SET.BY #PDPLSI 020000 ENDIF ~30004$ ENDIF : 50003$: SIZPLC SIZE AND POLL SYSTEM - KT OPTIONS MACYi1 30A(1052) 20-SEP-78 SIZPLC.MAC OB-SEP-78 09:35 KERNEL - DETERMINE CPU OPTIONS 695 696 697 69B 699 700 701 702 (3 ) (4) (3) (3) 703 (6) 704 (6) 705 (3) (4) (3) (3) 706 (6) 707 (6) 708 709 (4 ) 710 (4) 711 712 713 714 715 716 717 718 719 720 (3 ) (4) (3) (3) 721 (5) 722 (6) 722 (4) 724 18:47 PAGE 21-2 SEQ 1134 .SBTTL KERNEL - DETERMINE CPU OPTIONS ;+ ; DETERMINE IF "KTII IS PRESENT AND IF IT IS CHECK TO ; SEE IF EXTENDED KT" IS PRESENT , 000146 1 000146' 000150' 000154' 000160 1 000162 1 000162' 000164' 000164' 000170 1 000170' 000172' 000176' 000202 1 000204' 000204 1 000206' 000206 1 CALL HRDADRCHK IN <#SRO> 010546 012745 004767 012605 IF.NO.ERROR THEN LET R1 000400 010546 012745 004767 012605 172516 OOOOOOG .- IF.NO.ERROR THEN LET R1 .- BIS #KTPRES,R1 MOV MOV JSR MOV R5,-(SP) #SFi:3,--(R5) PC,HRDADRCHK (SP)+,R5 BCS 50006$ BIS #KTXTND,R1 MOV MOV MOV R5,. '"'(SP) CCNTRL,-(H5) PC,HRDADRCHK (SP)+.,R5 BCS 50007$ BIS #CAPRES,R1 R1 SET.BY #KTXTND 040000 ENDrF 000212 1 000212 1 000212 1 000212 1 50005$ R1 SET.BY #KTPRES CALL HRDADRCHK IN <#SR3> 103402 052701 BCS JSR 103413 052701 MOV R5,-(SP) #SRO,-'(R5) PC,HRDADRCHK (SP)+,R5 M:JV MOV 17757'2 OOOOOOG :50006$ : ENDIF ~;0005$ : ;+ ; NOW DETERMINE IF CACHE MEMORY IS PRESENT BY CHECKING ; CACHE CONTROL REGISTER ;- 000212' 000212 1 000214' 000220 1 000224 1 000226' 000226 1 000230 1 000230 1 000234 1 000234' CALL HRDADRCHK IN 010546 016745 004767 012605 OOOOOOG OOOOOOG JSR IF.NO.ERROR THEN 103402 LET R1 032701 := R1 SET.BY #CAPRES 000004 ENDIF !50007$ : SIZPLC SIZE AND POLL SYSTEM - KT OPTIONS MACY11 30A(1052) 20-SEP-78 18:47 PAGE 21-3 SIZPLC.MAC 08-SEP-78 09:35 KERNEL - DETERMINE IF PARITY OR ECC MEMORY PRESENT 726 727 728 729 730 731 732 733 734 (4) 735 736 (4) 737 (4) (6) (9) 736 (3) (4) (3L (3) 739 (6) 740 (4) 741 742 743 744 745 743 747 (6) 748 (6) (9) 749 (6) 750 (4) (3) 751 (6) 752 (4) 753 (4) 754 (4) 755 756 757 758 759 760 SEQ 1135 .SBTTL KERNEL - DETERMINE IF PARITY OR ECC MEMORY PRESENT ;+ ; GET STARTING ADDRESS OF PARITY TABLE. THEN DETERMINE IF ; PARITY CSR REGISTERS ARE AVAILABLE IF SO PLACE CSR ADDRESS ; IN PARITY TABLE. ,' 000234' 000234' 016200 000240' 000240' 000244' 000244' 000244' 000250' 000252' 000252' 000254' 000256' 000262' 000264' 000264' 000266' 000266' LET RO '- DT.PTA(R2) 000064 DT . PT A ( R2) , MOV #SS.PCSR,R3 CMP BGT R3,#SS.PCLS 50011 $, MOV MOV MOV R5,-(SP) R3,-(R:5) PC,HRDADRCHK (SP)+,R5 BCS 50012$ MOV R3 t (R())+ BIS #B1T01i, (R3) EET SEQ 50.0 13$ BIS #ECCMEM,R1 BR 50014$ BIS #PARPHES,H1 CLR (R3) LET R3 '- #SS.PCSR 012703 172100 WHILE R3 LE #SS.PClS DO 020327 003035 010546 010345 004767 012605 172136 CALL HRDADRCHK IN JSR OOOOOOG IF.NO.ERROR THEN 103414 LET (RO)+ .- R3 010320 ;-i- 000270' 000270' 000274' 000274' 000300' 000302' 000302 1 000306' 000306' 000310' 000310' 000310' 000314' 000314' 000314' 000314 1 000316 1 00031E' I~O MOV ; DETERMINE IF ECC MEMORY, IF IT IS SET ECC MEMORY BIT IN ; CONFIGURATION WORD 0 ELSE SET PARITY PRESENT BIT IN ; CONFIGURATIONWORD,O. CLEAR THE PARITY CSR'S ;LET (R3) .- (R3) SELBY #BIT01 052713 000002 IF #BIT01 SETIN (R3) THEN 032713 001403 000002 052701 000100 LET R1 #BIT011, (R3) .- R1 SET.BY #ECCMEM ELSE 000402 ~)0013$: LET R1 052701 .- R1 SET. BY #PARPRES 002000 ENDIF !50014$: LET (R3) ..- #0 005013 ENDIF !30012$: ;+ ; IF 11/70 PROCESSOR THEN SET PARITY PRESENT IN CONFIGURATION ; WORD 0 AND POINT TO PARITY CSR + 4, ELSE POINT fO ; PARITY CSR + 2 ,' - SIZPLC SIZE AND POLL SYSTEM - KT OPTIONS MACY11 30A(1052) 20-SEP-78 18:47 PAGE 21-4 SIZPLC.MAC 08-SEP-78 09:35 KERNEL - DETERMINE IF PARiTY OR ECC MEMORY PHESENT 761 (6) (9 ) 762 (6) 763 (6) 764 ( 4') (3) 765 (6) 766 (4) 767 (4 ) (3) 768 769 000316' 000316' 000322' 000324' 000324' 000330' 000330' 000334' 000334' 000336' 000336' 000336' 000342' 000342' 000342 1 000342 1 000344 1 SEQ 1136 IF #PDP70 SETIN R1 THEN 032701 001405 010000 052701 002000 062703 LET R1 : = R1 SET.BY #PARPRES LET R3 .- BIT BEQ #PDP70,R1 50015$ SIS #PARPRES,R1 ADD #4,R3 SR 50016$ ADD #2,R3 BR 50010$ r<3 + #4 000004 ELSE. 000402 LET R3 062703 000002 .- 50015$: R3 + #2 ENDIF 50016$: ENDDO 000740 6,0011$: SIZPLC SIZE AND POLL SYSTEM - KT OPTIONS MACY11 30A(1052) ~O-SEP-78 SIZPLC.MAC 08-SEP-78 09:35 KERNEL - DETERMINE SYSTEM SIZE 771 772 773 774 775 776 777 778 (4 ) 779 780 781 782 783 784 785 786 (6) (9) 787 788 789 790 791 792 (4) 793 (4) 794 795 796 797 798 799 (3l 800 (6) 801 (6 ) 802 (3 ) (4) (3) (3 ) 803 (6 ) 804 (2 ) B05 (4) 806 (3) (6) B07 B08 B09 18:47 PAGE 21-5 SEQ 1137 .SBTTL KERNEL - DETERMINE SYSTEM SIZE :+ ; NOW TAKE THE CONTENTS OF LOC. 0 (EXERCISER SIZE) ; AND LOAD IT INTO EXERCISER SIZE WORD 000344 1 000344 1 016762 LET DT.ESIZ(R2) "- 0 000000 000044 MOV 0, DT . ES I Z (R.2) BIT BNE #KTPRES,R1 50017$ CLR RO CLR R3 INC RO ADD #SS . O~~C , R3 MOV MOV JSR MOV R5,-(SP) R3,-(H5) PC,HRDADRCHK (SP)+,R5 BCC 50021$ j+ ; IF NO ~KT" DETERMINE SYSTEM SIZE, WHICH CAN NOT BE GREATER ; THAN 28K. ;- 000352 1 000352 1 032701 000356 1 001053 IF #KTPRES NOTSETIN R1 THEN 000400 ;+ ; SET UP COUNTER OF 1K CHUNKS AND 1K BLOCK POINTER LET RO '- #0 000360 1 000360 1 005000 000362 1 000362 1 005003 LET R3 .- #0 ;+ ; REPEAT UNTIL NON-EXISTENT MEMORY OR 28K 000364 1 000364 1 000364 1 000364 1 000366 1 000366 1 000372 1 000372 1 000374 1 000376 1 000402 1 000404 1 000404 1 000406 1 000406 1 000410 1 000410 1 000410 1 000410 1 000414' REPEAT ~;0020$ : LET RO '- kO + #1 005200 062703 010546 010345 004767 012605 LET R3 '- R3 + #5S.0KC 004000 CALL HRDADRCHK IN OOOOOOG IF.ERROR THEN 103001 INLINE
BR 4$ 000403 ENDIF UNTXL RO EQ #5S.28 020027 001363 000034 CMP BNE ;+ ; DETERMINE IF SYSTEM HAS 30K BY LOOKING AT FIRST ADDRESS IN I/O PAGE RO,#SS.28 50020$ SIZPLC SIZE AND POLL SYSTEM - KT OPTIONS MACV11 30A(1052) 20-SEP-78 SIZPLC.MAC 08-SEP-78 09:35 KERNEL - DETERMINE SYSTEM SIZE 810 811 812 (2) 813 (6) (9) 814 (3 ) (4) (3) (3) 815 (6) 816 (6) 817 (4 ) 818 (4) 819 820 821 822 823 824 825 826 (4) 827 (4) (7 ) (7 ) (7 ) (7 ) (7 ) (7 ) 828 (4 ) (3 ) 829 830 831 832 833 (3 ) (4) (3) (3 ) 834 835 836 837 838 839 840 18:47 PAGE 21-6 SEQ '138 , 000416 1 000416 1 000416 1 000416 1 0004221 000424 1 000424 1 000426 1 000432 1 000436 1 000440' 000440 1 000442 1 000442 1 000446 1 000446 1 000446 1 000446' INLINE <4$:> IF 020027 001011 010546 012745 004767 012605 4$: IW EQ #SS.28 THEN 000034 CALL HRDADRCHK IN <#SS.RFS> 160000 OOOOOOG CMP BNE RO,#SS.28 500 22~ii MOV MOV JSR MOV R5,-(SP) #SS.RFS,-(R5) PC,HRDADRCHK (SP)+"R5 BCS 50023$ ADD #10000,R3 IF.NO.ERROR THEN 103402 062703 LET R3 .- R3 + #10000 010000 ENDIF ~)0023$ : ~50022$ : ENDIF ;+ ; NOW GET MEMORY SIZE IN "PAR" FOI~MAT BY SHIFTING R3, 6 TIMES ; TO THE RIGHT, ONCE THIS IS DONE LOAD INTO SYSTEM ; SIZE WORD. ;- 000446 1 000446 1 000450 1 000450' 000454' 000460' 000464 1 000470' 000474' 000500' 000504' 000504' 000506 1 LET CARRY := #0 000241 LET DT.SSIZ(R2) 010362 006062 006062 006062 006062 006062 006062 .' - CLC R3 ROTATE -6 000046 000046 000046 000046 000046 000046 000046 ELSE 000435 MOV ROR ROR ROR ROR ROR RJR R3,DT . SSIZ(R2) DT"SSlZ(R2) DT"SSIZ(R2) DT"SSIZ(R2) DT,SSIZ(R2) DT.SSIZ(R2) DT"SSIZ(R2) BR 50024$ MOV MOV JSR MOV R5,,-(SP) !50017$: ;+ ; KT IS PRESENT, ;- 000506 1 000506 1 000510 1 000512 1 000516 1 FIRST GO MAP APRS' CALL KTSET IN 010546 010245 004767 012605 OOOOOOG ;+ WILL USE KIPAR5 TO SIZE MEMORY. TURN ON KT AND THEN SIZE UNTIL NON-EXISTENT MEMORY IS FOUND OR THE I/O PAGE IS FOUND. SIZING WILL 8E DONE IN 1K STEPS R2.-(f~5) PC,KTSET (SP)+,R5 SIZPLC SIZE AND POLL SYSTEM - KT OPTIONS MACY11 30A(1052) 20-SEP-78 SIZPLC.MAC 08-SEP-78 09:35 KERNEL - DETERMINE SYSTEM SIZE 841 (4) 842 843 (6) 844 845 (3) 846 (6) 847 (3) (4) (3) (3) 848 (6) 849 (2) 850 (4) 851 (3) (6) 852 853 854 855 856 857 (2) 858 (4) 859 (4) 860 000520' 000520' 012737 000040 172352 000526' 000526' 052737 000001 177572 000534' 000534' 000534' 000534' 000542' 000542' 000544' 000550' 000554' 000556' 000556' 000560' 000560' 000562' 000562' 000562' 000562' 000570' 18:47 PAGE 21-7 SEQ 1139 LET @#KIPAR5 := #SS.1KP LET @#SRO '- @#SRO SET.BY HSITOO MOV #S5. 1 K,P,@#K!PAR5 BIS #SITOO,@#SRO ADD #55. 11A:P,@HKI PAR5 MOV MDV JSR MOV R5,-(SP) #SS.120K,-(R5) PC,HRDADRCHK (SP)+,R5 Bec 50026$ REPEAT LET @#KIPAR5 := @#KIPAR5 + #SS.1KP 062737 000040 010546 012745 004767 012605 120000 OOOOOOG 172352 CALL HRDADRCHK IN <#SS.120K> IF. ERROR THEN 103001 INLINE
BR 5$ 000404 ENDIF :;0026$ : UNTXL @#KIPAR5 EO #SS.IOP 023727 001361 172352 + 000572 1 000572 1 000572' 000572 1 013762 000600' 000600 1 CMP BNE 177600 LOAD SYSTEM SIZE WORD WITH CONTENTS OF KIPAR5 INLINE <5$:> 5$: LET DT.SSIZ(R2) '- @#KIPAR5 172352 @#KIPAR5,#SS.IOP 50025$ MOV 000046 ENDIF ~50024$ : @#~(lPAR5,DT .SSIZ SIZPLC SIZE AND POLL SYSTEM - KT OPTICNS MACY11 30A(1052) 20-SEP-78 18=47 PAGE 21-8 SIZPLC.MAC 08-SEP-78 09:35 KERNEL - WRITE GOOD PARITY IF ECC OR PARITY PRESENT 862 863 864 865 866 867 868 (6) (8) (6) (9) (6) 869 870 871 872 873 874 875 (6) (9) 876 (4) 877 (4 ) 878 (4) 879 880 881 882 883 884 885 886 887 (6 ) (9) 888 (3) 889 890 891 892 893 894 895 (4) 896 (4) 897 898 899 900 901 902 SEQ 1140 .S8TTL KERNEL - WRITE GOOD PARITY IF ECC OR PARITY PRESENT ;+ ; DETERMINE IF PARITY OR ECC MEMORY IS PRESENT. ;- 000600 1 000600 1 000604 1 000606 1 000612 1 000614 1 IF #PARPRES SETIN R1 OR #ECCMEM SETIN R1 THEN 032701 001003 032701 001500 002000 000100 BIT BNE BIT BEQ #PARPRES,R1 50027$ #ECCMEM,R1 50030$ 8IT 8EQ #CAPRES,R1 50031$ MOV #3,KONTRL MOV KONTRl.,@CCNTRL BIT 8EQ #KTPRES,R1 50032$ JSR PC"KTSET CLR @#f 000734 1 000734 1 000734 1 000734 1 011020 000736 1 000736 1 000776 6$: LET (RO)+ := (RO) MOV (RO),(RO)+ INUNE
BR 6$ ;+ ; COME HERE BY WAY OF KT TRAP. ; UPDATE PAH5 TO NEXT 4K BLOCK AND RESET RO TO START ; OF BLOCK. LOAD RETURN PC WITH 6$ AND RTI of 000740 1 000740 1 000740' 000740 1 000746 1 000746' 000752' 000752' 000756' 000756' INLINE <7$:> 7$: LET @#KIPARS := @#KIPAR5 + #200 062737 000200 012700 120000 012716 000734' 000002 172352 LET RO := #SS.120K ADD #200,@#KIPAR5 MOV #SS.120K,RO MOV #6$,(SP) LET (SP) := #6$ INUNE RTI SIZPLC SIZE AND POLL SYSTEM - KT OPTIONS MACY11 30A(1052) 20-SEP-78 18:47 PAGE 21-10 SIZPLC.MAC 08-SEP-78 09:35 KERNEL - WRITE GOOD PARITY IF ECC OR PARITY PRESENT 939 940 941 942 943 944 945 946 (2) 947 (6) 948 949 (4) 950 (2 ) 951 952 (2) 953 (2 ) 954 (2 ) 955 (2 ) 956 957 958 959 960 961 962 (2) 963 (2 ) 964 (2 ) 965 966 (4) 967 968 969 970 971 972 973 (2 ) 974 (6) (9) 975 (6) 976 (4) 977 SEO 1142 ;+ ; COME HERE BY WAY OF ILLEGAL ADDRESS TRAP. ; TOP OF MEMORY WAS FOUND, TURN OFF MEMORY MANAGEMENT, ; REMOVE TRAP PC AND PSW FROM STACK AND RESTORE BUSERR AND MEMGMT VECTORS ;- 000760' 000760' 000760' 000760' 042737 000766' 000766' 012716 000772' 000772' 000002 000774' 000774' 000774' 000774' 012637 001000' 001000' 012637 001004' 001004' 000403 INLINE <8$:> 8$: LET @#SRO := @#SRO CLR.BY #BITOO 000001 177572 LET (SP) ; = #9$ 000774' BIC #BITOO,@#SRO MOV #9$,(SP) INLINE RTI INLINE <9$:> 9$: POP @#250 000250 MOV (SP)+,@#250 MOV (SP)+,@#4 POP @#4 000004 INLINE
BR 11 $ ;+ ; WILL TRAP HERE IF NO MEMORY MANAGEMENT, CLEAN UP ; STACK AND RESTORE BUSERR ;- 001006' 001006' 001006' 001006' 022626 001010' 001010' 012637 INLINE <10$:> 10$: INLINE eMP (SP)+, (SP)+ POP @#4 MOV 000004 ENDIF 001014' 001014' (SP)+,@#4 50030$: ;+ ; IF AUTOMATIC MODE(ACT,SLIDE,XXDP,ETC.), SET AUTO BIT IN CONFIGURATION WORDO ;- 001014' 001014' 001014' 001014' 005737 001020' 001402 001022' 001022' 052701 001026' 001026' INLINE <11$::> 11 $: IF @H42 NE #0 THEN 000042 LET R1 @#42 50034$ E:lS #AUTO"R1 := R1 SET.BY #AUTO 000010 ENDIF TST BEQ 50034$: SIZPLC SIZE AND POLL SYSTEM - KT OPTIONS MACY11 30A(1052) 20-SEP-78 18:47 PAGE 21-11 SIZPLC.MAC 08-SEP-78 09:35 KERNEL - WRITE GOOD PARITY IF ECC OR PARITY PRESENT 978 979 980 981 982 983 (6) 984 (6) 985 SEQ 1143 ;+ ; CLEAN UP R1 BEFORE LOADING CONFIGURATION WORD 0 ; LOAD UP CONFIGURATION WORD 0 ;- 001026' 001026' 042701 001032' 001032' 050162 LET R1 .- R1 CLR.BY #JACK 035060 LET DT.CFO(R2) := 000014 BIC #JACK,R1 SIS R1,DT.CFO(R2) DT.CFO(R2) SET.BY R1 SIZPlC SIZE AND POLL SYSTEM - KT OPTIONS MACY11 30A(1052) 20-SEP-78 SIZPLC.MAC 08-SEP-78 09:35 KERNEL - SORT MODULE LIST 987 988 989 990 991 992 993 994 (4) 995 (4) 996 (4) (6 ) (9) 997 (6) 998 (6) 999 (4) (3) 1000 1001 1002 1003 1004 1005 1006 (4) 1007 1008 1009 1010 1011 1012 (4 ) (6) (9) 1013 (3) 1014 1015 1016 1017 1018 1019 (4) 1020 (6) (9) 1021 1022 1023 1024 1025 18:47 PAGE 22 SEQ 1144 .SBTTL KERNEL - SORT MODULE LIST + COUNT THE MODULES 001036' 001036' 001040' 001040' 001044' 001044' 001044' 001050' 001052' 001052' 001054' 001054' 001060' 001060' 001062' LET RO 005000 LET R1 016201 000032 021127 001404 000000 ..- #0 CLR RO MOV DT .MLST(R2) ,R1 CIVIP SEQ (R1) ,#ENDLsr 50036$ INC RO ADD #2,R1 BR 50035$ MOV DT.MLST(R2),R1 TST BlE RO 50040$ MOV (R" ) BIT SEQ #BKMOD,STAT(R4) 50042$ DT.MLST(R2) WHIl.E (R 1 ) NE #ENDLST DO 5,0035$ : 005200 062701 LET RO .- RO + #1 LET R1 .- R1 + #2 000002 ENDDO 000771 !S0036$ : ;+ ; START THE SORT OPERATION, AND SORT IIBKMODSII TO BOTTOM OF MODQ ; LIST, DEVELOPING A IIBKMOD QUEUE II . , 0- 001062' 001062' 016201 LET R1 := DT.MLST{R2) 000032 ;+ ; WORK THRU THE LIST UNTIL THE END IS REACHED ;- WHILE RO GT #0 DO 001066' 001066' 001066' 005700 001070' 003432 001072' 001072' ~)0037$ : REPEAT ~50041$: ;+ ; IS THE CURRENT ENTRY A BKMOD MODULE? 'f - 001072' 001072' 011104 001074' 001074' 032764 001102' 001414 LET R4 .- ( R1) ,1~4 IF #BKMOD SETIN STAT(R4) THEN 000020 000026 ;+ ; THE CURRENT ENTRY IS A BKMOD, 'f - WHAT ABOUT THE NEXT ENTRY? SIZPLC SIZE AND POLL SYSTtM - KT OPTIONS MACY11 30A(1052) 20-SEP-78 SIZPLC.MAC 08-SEP-78 09:35 KERNEL - SORT MODULE LIST 1026 (4 ) 1027 1028 1029 1030 1031 1032 (6 ) (9) 1033 1034 1035 1036 1037 1038 (6) (9 ) 1039 (4) 1040 (4) 1041 (4) 1042 (4 ) 1043 (4 ) 1044 1045 1046 1047 1048 1049 (6) 1050 (3 ) (6) 1051 1052 1053 1054 1055 1056 (6) 1057 (4) 1058 (4) (3) 1059 1060 1061 1062 1063 "\064 001104 1 001104 1 016103 18:47 PAGE 22-1 SEQ 1145 LET R3 := 2(R1) 000002 MOV .2(I~·I) CMP SEQ R3,NENDLST 50043$ ,ii3 + MAKE SURE ITS NOT THE END OF THE LIST 001110 1 001110 1 020327 001114 1 001407 IF R3 NE #ENDLST THEN 000000 + IF ITS NOT A BKMOD, SWAP THEM 001116 1 001116 1 001124 1 001126 1 001126 1 001132' 001132 1 001134 1 001134' 001134' 001134 1 001134 1 001134 1 032763 001003 000020 011161 000002 IF #BKMOO NOTSETIN STAT(R3) THEN BIT #SKMOD,STAT(R3) BNE 50044$ LET 2(R1) := (R1) MOV ( R1 ) 1.2 ( R1 ) LET (R1) := R3 MOV R3, (R1 ) ENDIF 50044$: 000026 010311 ENDIF 50043$: ENDIF 50042$: ;+ ; UPDATE THE POINTER AND CONTINUE SEARCHING THRU THE LIST ;- 001134 1 001134 1 062701 001140 1 001140 1 021127 001144 1 001352 LET R1 : = R1 + #2 000002 ADD #2,R1 CMP BNE (R1 ) ,#ENDLST 50041$ UNTIL (R1) EO #ENDLST 000000 ;+ ; THE END OF THE LIST HAS aEEN REACHED, SO UPDATE THE MAIN POINTER & CONTINUE j- 001146 1 001146 1 005300 001150 1 001150 1 016201 001154 1 001154 1 000744 001156 1 LET RO '- 20 LET R1 #1 DEC RO MOV DT.MLST(R2),R1 BR 50037$ '- DT.MLST(R2) 00003.2 ENDDO !:i0040$ : ;+ ; NOW THAT THE BACKGROUND MODULES HAVE BEEN GROUPED TOGETHER AT THE END ; OF THE MODULE LIST, PUT THE ADDRESS OF THIS BACKGROUND LIST (IF ThERE IS ; A BACKGROUND LIST) INTO THE DATA TABLE i- SIZPLC SIZE AND POLL SYSTEM - KT OPTIONS MACY11 30A(1052) 20-SEP-78 SIZPLC.MAC 08-SEP-78 09:35 KERNEL - SORT MODULE LIST 1065 1066 (4) 1067 1068 1069 , 070 1071 1072 (4 ) 1073 (4) 1074 (4) (6) (9) (6) (9 ) 1075 (4 ) 1076 (6 ) (9) 1077 1078 1079 1080 1081 1082 (4) 1083 (4) 1084 (4) 1085 (4) (3) 1086 1087 1088 1089 1090 1091 (6) 1092 (4) 1093 (4 ) (3 ) 1094 1'095 1096 1097 1098 1099 (3) 001156' 001156' 016201 LET R1 SEQ 1146 := DT.MLST(R2) MOV DT.MLST(R2)tR1 WORK THRU THE MODULE LIST UNTIL THE FIRST BACKGROUND MODULE IS FOUND LET DT.BLST(R2) := #0 005062 000034 012703 177777 021127 001420 005703 001416 000000 CLR DT.BLST(R2) MOV #-1,R3 CMP BEQ TST BEQ (R1),lfENDLST 50046$ R3 50046$ MOV (R1),R4 BIT BEQ #BKMOD,STAT(R4) 50047$ LET R3 := #-1 WHILE (R1) NE #ENDLST AND R3 NE #0 DO 50045$: LET R4 '- (R1) 011104 032764 001406 IF #BKMOD SETIN STAT(R4) THEN 000020 000026 + 001216' 001216' 001222' 001222' 001226' 001226' 001230' 001230' 001232 1 PAGE 22-2 000032 + 001162' 001162' 001166' 001166' 001172' 001172' 001172' 001176' 001200' 001202' 001204' 001204' 001206' 001206' 001214' 18:47 A BACKGROUND MODULE HAS BEEN FOUND - SO THIS IS THE START OF THE BACKGROUND LIST LET DT.BLST(R2) 010162 000034 012701 000000 LET R1 '- R1 MOV Ri ,DT.BLST(R2) MOV #ENDLST,R1 CLR R3 BR 50050$ ADD #2,R1 SR 50045SS JSR PC,RESREG . - #ENDLST LET R3 .- #0 005003 ELSE 000402 :;0047$ : + 001232 1 001232' 062701 001236' 001236 1 001236 1 001236' 000755 001240' UPDATE THE POINTER AND CONTINUE TO SEARCH THRU THE MODULE LIST LET R1 . - R1 + #2 000002 ENDIF I !:50050$ : ENDDO ~50046$ : + NOW RETURN TO THE CALLER 001240 1 001240 1 004767 CALL RESREG OOOOOOG SIZPLC SIZE AND POLL SYSTEM - KT OPTIONS MACY11 30A(1052) 20-SEP-78 SIZPLC.MAC OB-SEP-78 09:35 KERNEL - SORT MODULE LIST 1100 (3 ) (3) (2 ) 1101 1102 1103 1104 1105 1106 (2 ) 18:47 ENDRTN 001244' 001244' 001244' 001244' 000207 PAGE 22-3 SEQ 1147 50000$: 500015: RTS PC ;+ ; LABEL TYPE QUEUE HIGH LIMIT ,' - INLINE 001246' 001246' 0'./ • TO END: 1 107 1108 1109 1110 1111 1112 1113 , , 14 1115 1116 1117 111 B 1119 1120 1121 1122 1'''123 1124 1125 i 126 1127 1128 1129 ;*****************************~***.**** ; NOTE: THESE OVERLAY EQUATES MUST BE LEFT IN THIS POSITION (THAT IS, AFTER SIZPOL AND TQ.END LABELS) ;++++++++++++++++++++++++++++++++++++++ OVERLAY REGIONS EQUATES ;++++++++++++++++++++++++++++++++++++++ 000000 ' 0001221 000364 1 000120 1 000122 000362' 000050 000662 000002 001244' 000066 1130 1131 000001 ;KEYBOARD BUFFER STARTING ADDRESS OV.KBBUF = SIZPOL ;CONTROL QUEUE STARTING AJDRESS OV.CO= OV.KBBUF + AD<82> ;TYPE QUEUE STARTING ADDRESS Ov.TQ = OV.CQ + AD<162> ;KEYBOARD BUFFER HIGH LIMIT OV.HIKB = OV.CQ - 2 ;KEYBOARO BUF~ER SIZE OV.KBSIZ = OV.CQ - OV.KBBUF ;CONTROL QUEU~ HIGH LIMIT OV.HICQ = OV.TQ - 2 ;CONTROL QUEUE SIZE OV.CQSIZ = /4 ;GET THE TO SIZE OV.A = OV.TQEND - OV.TQ ;GET ANY RE;v.AIj~D[H OV.REM = OV.A - «OV.A/10>~10> ; TYPE QUtUE Hr GH' LIM!T OV.HITQ = OV.TOEND - OV.REM ;TYPE ~UEUE SIZE OV.TQSIZ = /10 .END MACY11 30A(1052) SIZPLC SIZE AND POLL SYSTEM - KT OPTIONS SYMBOL TABLE 08-SEP-78 09:35 SIZPLC.MAC ACSR ACTBIT= ADDR22= ADR APTFER= APTPRE= ASB ASSEMB= ASTAT = AUTO AUTOST= AWAS' = BITO BITOO BIT01 BIT02 BIT03 BIT04 BIT05 BIT06 BIT07 BIT08 BIT09 9IT1 BIT10 81T11 B1T12 B1T13 BIT14 BIT15 BIT2 BIT3 BIT4 = BITS BIT6 BIT7 BIT8 BIT9 BKDE'F BKMOD BKMDDE= BKSl.SH= CAPRES= CASTAT= CCNTRL= CDERCT= CDWDCT= CKTIM = CLKPRE= CONFIG= CPUCP!:= CQOVF CR 000102 004000 001000 000006 000004 000200 000106 000010 000104 000010 020000 000110 000001 000001 000002 000004 000010 000020 000040 000100 000200 000400 001000 000002 002000 004000 010000 020000 040000 100000 000004 '000010 000020 000040 000100 000200 000400 001000 000002 000020 040000 000134 000004 000004 ****** G 000146 000144 100000 000001 000056 ****** G 000001 000015 CSRA CSRC CTRLC CTRLO CTRLU DCEVNT= DEFRTN= DIAGMC= DROPMO= DSEVNT= DTABLE= DT.ADD= DT.AP = DT.APK= DT.BLS= DT.CFO= DT.CF1= DT. ERR=' DT.ESI= DT.EVN= DT.EXS= DT.FCH= DT.FCN= DT.HMX= DT.KBE= DT.KBP= DT.KBR= DT.KBU= DT.MLS= DT.MTI= DT.OFF= DT.PAS= DT.PC = DT.PFL= DT.PSW= DT.PTA= DT.RCS= DT.REL= DT.SCT= DT. SMX= DT.SP = DT.SSI= DT.STO= DT.ST1= DT.SWR= DT.SYP= DT.WBU= DT.WHL= DT.WLL= DVIDl = ECCMEM= ECCSTA= ENBEOP= 000100 000102 000003 000017 000025 000011 000400 000000 100000 000014 000000 000042 OOOiOO 000076 000034 000014 000016 000020 000044 000000 000060 000037 000036 000104 000024 000026 000022 000030 000032 000110 000070 000074 000002 000062 000004 000064 00010:2 000040 000066 000106 000006 000046 000010 000012 000056 000072 000050 000054 000052 000014 000100 000010 010000 ENBNUL= ENDLST= EOPBIT= ERRTYP= EVNTBE= EVNTHD= EVNTKT= EVNTPE= EVNTRE= FATERR= HRDADR= HRDCNT= HRDPAS= HTKT HTPAER= ICONT = ICOUNT= IDNUM = IE INDPAR= INHDRP= INHEPR= INHREL= INHRRE= INIT INTR IOMOD IOMODP= IOMODR= IOMODX= JACK KIPARO= KIPAR1= KIPAR2= KIPAR3= KIPAR4= KIPAR5= KIPAR6= KIPAR7= KIPDRO= KIPDR1= KIPDR2= KIPDR3= f< I PDR4= KIPDR5= KIPDR6= KIPDR7= KONTRL= KTERRO= KTPRES= KTSET = KTSTAT= KTXTND= 20-SEP-78 000001 000000 000001 000106 000200 000200 000203 000202 000201 100000 ****** G 000044 000050 ****** G ****** G 000036 000040 000122 000100 000040: 040000 020000 00100D 000400 000030 000120 100000 102000 112000 110000 035060 172340 172342 172344 172346 172350 172352 172354 172356 172300 172302 172304 172306 172310 172312 172314 172316 ****** G 0001)40 000400 ****** G 000020 040000 18:47 PAGE 23 LF LPSTAT:= MAPST A:= ,MED MEMPAS,= MODEXH::: MODHOL= MODSEL= MSGCKD= ' MSGCKS= MSGDER= MSGDRP= MSGECH= MSGEOP= MSGHDR= Iv1SGHNG= MSGHRD= MSGMAP= MSGNUL= MSGPOP= MSGPRM= MSGRES= MSGSFT= MSGSKE= MSGSM9= MSGSMH= MSGSMS= MSGSTD::: MSGSYS= MSGVEC= NBKMOD= NCPUOP= NOAPTY= NULL OV.A OV.CQ OV.CQS= OV.HIC= OV.HIK= OV.HIT= OV.KBB= OV.KBS= OV.REM= OV.TQ = OV.TQE OV. TQS:: OWEN PAERR = PARPRE= PARSTA= PASCNT= PDPLSI= PDP60 = 000012 000001 000200 076600 040000 004000 002000 001000 000010 000011 000005 000017 177777 000013 000004 000022 000007 000021 177775 000002 177776 000001 000006 000003 000015 000014 000016 000000 000012 000020 001000 000020 000002 000000 000662 000122RG 000050 G 000362RG 000120RG 001244RG OOOOOORG 000122 G 000002 000364RG 001246R 000066 G 024020 000010 002000 000100 000034 020000 OC4000 SEQ 1148 PDP70 PRIO PRl1 PRI4 = PRI5 PRI6 PRI7 = PRO PR4 PR5 = PR6 PR7 PS PSW RANNUM= RBUFEA= RBUFPA= RBUFSZ= RBUFVA= RDSERV= RDWHMI= RELERR= RELMOD= REL TIM= RESREG= RESl RES2 RICHAR= f~PTDAT= 010000 000000 000040 000200 000240 000300 000340 000000 000200 000240 000300 000340 177776 177776 00005L~ 000130 000126 000132 000124 000101 00002~~ 000020 020000 010000 ****** G 0OO05E; 000060 031060 002000 000112 000177 100000 001740 075464 RSTRT = RUBOUT= HUNMOD= R5VALU= SAM SAVREG::: ****** G SBADR = 000102 S8K:V~OD= 000000 SBKSEL= 010000 SC.ADR= 00000E5 SC.ALC= 000014 SC.APC= 000016 SC.CKL= 000002 SC.CKP= 000004 SC.CLO= 000000 SC.HLD= 000010 SC.SCA= 000012 SENDLS= 177777 S r ZPO L OOOOOORG ,SOFCNT= 00004~? SOFPAS= 00004G SPACE = 00004() SPOINT= 00OO3~~ SPVALU= 00220() MACY 11 30A(1052) SIZPLC SIZE AND PO LL SYSTEM - KT OPTIONS SYMBOL TABLE 08-SEP-78 09:35 SIZPLC.MAC SRO SR1 SR2 SR3 S5.l0P= 55.PCl= 55.PCS= S5.RFS= 5S.0KC= S5.1KP= 5S.120= SS.28 = STAT STATBI= 5TAT1 = 5U5PND= SVRO SVR1 SVR2 SVR3 SVR4 SVRS SVR6 SYSCNT= SYSERR= TMPIO = 177572 177574 177576 172516 177600 172136 172100 160000 004000 000040 120000 000034 0'00026 064757 000027 000001 000062 000064 000066 000070 000072 000074 000076 000052 000100 000002 A8S. 000000 001246 TQOVF = UIPARO= UIPAR1= UIPAR2= UIPAR3= UIPAR4= UIPAR5= UIPAR5= UlPAR7= UIPDRO= UIPDR1= UIPDR2= UIPDR3= UIPDR4= UIPDR5= UIPDR6= UIPDR7= WASADR= WBSTAT= WBUFEA= WBUFPA= WBUFRQ= WBUFSZ= WDFR WDTO WTINRE= 000002 177640 177642 177644 177646 177650 177652 177654 177656 177600 177602 177604 177606 177610 177612 177614 177616 000104 000040 000136 000134 000140 000142 000116 000114 000352 000 001 ERRORS DETECTED: 0 DEFAULT GLOBALS GENERATED: 0 DSKZ:SIZPLC,DSKZ:SIZPLC=SPMAC/ML,EQUATE,SIZPLC RUN-TIME: 28 19 .4 SECONDS RUN-TIME RATIO: 118/48=2.4 CORE USED: 14K (27 PAGES) WTWHMI= XFLAG = XOFF XON $BGNLE= $ERFLG= $F$AND= $F$BAD= $F$BLA= $F$CAS= $F$DEC= $F$DO = $F$FAL= $F$GOO= $F$IF = $F$INC= $F$LOO= $F$NAM= $F$NO = $F$OR = $F$RTI= $F$RTN= $F$SEl= $F$THE= $F$TRU= $F$UNT= 000222 000005 000023 000021 177777 000400 000310 000401 000170 000150 000220 000340 000405 000400 000110 000210 000200 000160 000403 000320 000350 000300 000140 000330 000404 000130 20-SEP-78 18:47 PAGE 23-1 SEQ 1149 $F$WHI :: $ F$YES:: $IFLEV:: $ISKO :: $I5K1 -$ISK2 :: $LOCTA:: $L5TIN:= $L5TTA:: $NESTL:: $NSKO $NSK1 $NSK2 $NSK3 $N51{4 $NSK5 $5AV LE:: $SSKO :~ $T AG LE:: $TAGNU:= $TEMP $TSKO $TSK1 $TSK2 $TSK3 $TSK4 000120 000402 177777 000001 000001 000001 177777 000001 300001 177777 000300 000120 000110 000110 000110 000110 177777 050046 177777 050051 000300 050045 050046 050050 050042 050043 $T5K5 $$ARGC= $$BYTE= $$CASE= $$D5T = $$ELOC= $$ERFL= $$F LAG= $$FROM= $$LOC = $$LOCN= $$REG = $$RETU= $$RTN1= $$RTN2= $$SRC = $$TGSV= $$TGS 1 = $$TGS2= $$TO $$$TAG= 050044 000002 000403 000000 000000 000402 000000 000001 000000 001214R 000000 177777 000000 050000 050001 000000 000000 000000 000000 000000 050000 001246R .MAIN. MACY11 30A(1052) 20-SEP-78 EQUATE.MAC 13-SEP-78 16:13 3 564 567 618 696 727 772 863 987 COMMON COMMON 000000 1 KERNEL KERNEL KERNEL KERNEL KERNEL KERNEL 18:43 TABLE OF CONTENTS EQUATE MODULE DEFINITIONS AND REFERENCES .PRINT ;SPMAC: VERSION 1.1 - DETERMINE PROCESSOR TYPE - DETERMINE CPU OPTIONS - DETERMINE IF PARITY OR ECC MEMORY PRESENT - DETERMINE SYSTEM SIZE - WRITE GOOD PARITY IF ECC OR PARITY PRESENT - SORT MODULE LIST SEQ 1150 SIZPLD SIZE AND POLL SYSTEM - KT OPTIONS AND 11/60 SUPPORT SIZPlD.MAC 08-SEP-78 09:35 COMMON EQUATE MODULE SOB 509 510 511 512 513 514 515 516 517 51 B. 519 520 521 522 523 524 525 526 527 52B 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 -553 554 555 556 557 558 20-SEP-78 18:49 PAGE 19 .TITLE SIZPLD SIZE AND POll SYSTEM - KT OPTIONS AND 11/60 SUPPORT .IDENT IVO.OI ;++ MODULE NAME: SIZPLD FUNCTIONAL DESCRIPTION: THIS MODULE WIll SIZE THE SYSTEM FOR CPU TYPE AND PROCESSOR OPTIONS. IT WILL ,'\LSO SIZE MEMORY AND IF "PARITY" OR "ECC" MEMOHY WILL WRITE GOOD PARITY. THE "MODQ" LIST WILL BE SORTED TO DEVELDP A BACKGROUND MODULE LIST (QUEUE) NOTE: IT WILL NOT SIZE FOR 22-BIT ADDRESSING BUT WILL SIZ~ FOR 11/60 CPU INPUTS: DTABLE ADDRESS IMPLICIT INPUTS: CONFIGURATION WORD 0 EXEHCISER SIZE SYSTEM SIZE PARITY TABLE ADDRESS MODULE LIST BACKGROUND LI ST OUTPUTS: NONE IMPLICIT OUTPUTS: PARITY TABLE ADDRESS SYSTEM SIZE EXEHCISE SIZE CONFIGURATION WORP 0 PATHOLOGICAL CONNECTIONS: SUBORDINATE ROUTINES CALLED: SAVREG - SAVE REGISTERS RESREG - RESTORE REGISTERS KTSEr - SET UP KT REGISTERS HRDADRCHK - ILLEGAL ADDRESS CHECK FUNCTIONAL SIDE EFFECTS: NONE CALLING SEQUENCE: CALL SIZPOL IN
A - DTABLE ADDRESS VERSION: 0.0 559 560 561 MACY11 30A(1052) ,'-- EDIT DATE BY I~EASON SEQ 1151 SIZPLb SIZE AND POLL SYSTEM - KT OPTIONS AND 11/60 SUPPORT 08-SEP-78 09:35 COMMON EQUATE MODULE SIZPLD.MAC 563 564 565 566 567 (1) 568 569 570 571 572 573 574 575 576 577 578 579 .SBTTL COMMON DEFINITIONS AND 000000· 000000· 000001 000001 589 590 591 592 593 594 595 596 597 598 599 600 601 602 608 609 610 611 612 613 614 615 616 18:49 PAGE 20 RE~ERENCE5 .MCALL STRUCT STRllCT .PRINT ;SPMAC: VERSION 1.1 $LSTIN = 1 $LSTTAG = 1 GLOBAL REFERENCES .;.GLOBL HTKT .GLOBL .GLOBL .GLOBL .GLOSL .GLOBL .GLOBL .GLOBL .GLOBL HTPt\ER SAVHEG RESHEG KTSET HRDADRCHK CPUCPE CCNTRL KONTRL ; SARE REGISTEF~S ;RESTORE REGISTERS ;5ET UP KT ;ILLEGAL ADDRESS CHECK ;11/70 CPU ERROR REGISTER ;CACHE CONTROL REGISTER ;TEMPORARY STORAGE FOR CACHE CONTROL REGIsrER ;**************** . ; LOCAL EQUATES 172100 172136 004000 000034 000040 120000 177600 160000 SS.PCSR S5.PCLS 55.0KC 55.28 S5.1 KP SS.120K SS. lOP SS.RFS 172100 172136 4()00 "[)28 40 120000 177600 160000 ;5TART OF PARITY CSRS ;LAST PARITY CSR ;ONE K CHUNK ;28 DECIMAL ;1K IN PAR FORMAT ;FIRST ADDRESS IN PARS MAP ;1/0 PAGE ;REVERSED FOR DIAGNOSTIC USE IN I/O PAGE ;**************** ; REFERENCED BY OTHER MODULES .GLOBL SIZPOL 603 604 605 606 607 20-SEP-78 ;**************** 580 581 582 583 584 585 586 587 588 MACY1' 30A(1052) ;++++++++++++++++++++++++++++++ OVERLAY REGION GLOBALS ;++++++++++++++++++++++++++++++ .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL. .GLOI3L .GLOBL OV.KBBUF OV.HIKB OV.KB5IZ OV.CQ OV.HICQ OV.CQSIZ OV.TQ OV.HITQ OV.TQSIZ ;MODULE ENTRY POINT SEQ 1152 SIZPlD SIZE AND POll SYSTEM - KT OPTIONS AND 11/60 SUPPORT MACY11 30A(1052) SlZPLO.MAC08-SEP-78 09:35 KERNEL - DETERMINE PROCESSOR TYPE 618 619 620 621 622 (2 ) 623 624 625 62'6 627 628 629 630 631 (4 ) 632 (4) 633 634 (4) 635 (4) 636 637 (3) 638 (4 ) 639 (4) 640 641 642 643 644 645 (3) (4) (3) (3) 646 647 (6) 64B 649 650 651 652 653 (2 ) 654 (4) 655 (2) 656 (2) 20-SEP-78 18:49 PAGE 21 SEQ .SBTTL KERNEL - DETERMINE PROCESSOR TYPE ROUTINE SIZPOL 000000 1 000000 1 SIZPOL: ;+ ; STUFF PARITY AND KT VECTORS ; SAVE REGISTERS, GET DTABlE ADDRESS FROM R5 STACK AND CLEAR ; Rl ;- 000000' 000000' 012737 000006' 000006' 012737 000014' 000014 1 012737 000022 1 000022 1 016737 000030' 000030 1 004767 000034 1 000034 1 016502 000040 1 000040 1 005001 LET @#114 ·- #HTPAER LET @#116 ·- #PRI7 lET @#250 ·- #HTKT lET @#252 ·- PRI7 OOOOOOG 000114 000340 000116 OOOOOOG 000250 000340 000252 r,1QV #HTPAER,@#114 MOV #PRI7,@l#116 MOV #HTKT,@1I250 MOV PRI7,@'#252 JSR PC,SAVREG MOV DTABLE(R5) ,n2 CLR R1 MOV MOV JSR MOV RS,-(SP) CPUCPE,-(R5) PC,HRDADRCHK (SP)+,R5 BCS 50002$ MOV @#10,--(SP) MOV #1$,@#10 CALL SAVREG OOOOOOG LET R2 '- DTABLE(R5) LET R1 .- #0 000000 ; {. ; DETERMINE PROCESSOR TYPE; '- 11/70, 11/60 OR LSI11 f 000042 1 000042 1 000044 1 000050 1 000054' CALL HRDADRCHK IN 010546 016745 004767 012605 OOOOOOG OOOOOOG IF.NO.ERROR THEN 000056 1 000056 1 103422 ;+ ; SET UP ILLEGAL INSTRUCTION TRAP TO FIELD TRAP IF NOT ; 11/60 'f - 000060' 000060' 000064' 000064' 000072' 000072' 000074' 000074' PUSH @#10 013746 012737 076600 00010i 000010 LET @1I10 000104 1 000010 .- #1$ INLINE IVIED INLINE RDSERV "j 153 SIZPLD SIZE AND POLL SYSTEM - KT OPTIONS AND 11/60 SUPPORT MACY11 30A(1052) SIZPLD.MAC 08-SEP-78 09:35 KERNEL - DETERMINE PROCESSOR TYPE 657 (6) 658 (2) 659 660 (2 ) 661 662 663 664 665 666 (4 ) 667 (2) 668 669 670 671 672 673 (2 ) 674 (6 ) 675 676 677 678 679 680 (2 ) 681 (2 ) 682 (4 ) (3) 683 684 685 686 687 688 (3) (4) (3) (3) 689 (6 ) 690 (6) 691 692 (4 ) 693 (4 ) 000076' 000076' 052701 000102' 000102' 000405 LET R1 004000 20-SEP-78 18:49 PAGE 21-1 : = R1 SET. BY 1/ PDP6Cl BIS SEQ 1154 #PDP60,R1 IN LINE
BR 3$ INLINE <1$:> 000104' 000104' 1 $: ;+ ; SET RETURN TO 2$ TO RESTORE PSW j- 000104' 000104' 0~2716 000110' 000110' 000002 := #2$ LET (SP) MOV 000112' #2$,(SP) INLXNE RTI ;+ ; MUST BE AN 11/70 000112' 00"0112' 000112' 000112' 052701 INLINE <2$:> 2$: LET R1 0 .. R1 SET.BY #PDP70 BIS 010000 #PDP70,R1 ;+ ; RESTORE RESERVED INSTRUCTION TRAP 000116' 000116' 000116' 000116' 012637 000122' 000122' 000411 000124' INLINE <3$:> 3$: POP @#10 000010 ELSE ~)0002:6 MOV (SP)+.,@#10 BR 50003$ MOV MOV JSR MOV R5,-(SP) #PSW,·-(R5) PC"HRDADRCHK (SP)+,R5 Bce 50004$ SIS #PDPLSI,R1 : j+ ; CHECK TO SEE IF LSI11 ;- 000124' 000124' 000126' 000132' 000136' 000140' 000140' 00()142' 000142 1 000146' 000146' 000146' 000146' CALL HRDADRCHK IN <#PSW> 010546 012745 004767 012605 177776 OOOOOOG IF ° E.RROR THEN 10300:2 052701 LET R1 . - R1 SET. BY #PDPLSI 020000 ENDIF !50004;S: ENDIF !50003$ : SIZPLD SIZE AND POLL SYSTEM - KT OPTIONS AND 11/60 SUPPORT MACY11 30A(1052) SIZPLD.MAC 08-SEP-78 09:35 KERNEL - DETERMINE PROCESSOR TYPE 694 20··SEP-78 18:49 PhGE 21-2 SEQ 1155 SIZPLD SIZE AND POLL SYSTEM - KT OPTIONS AND 11/60 SUPPORT MACY11 30A(1052) SIZPLD.MAC OB-SEP-78 09:35 KERNEL - DETERMINE CPU OPTIONS 696 697 69B 699 700 701 702 703 (3 ) (4) (3) (3) 704 (6) 705 (6) 706 (3 ) (4) (3) (3) 707 (6) 70B (6) 709 710 (4 ) 711 (4 )' 712 713 714 715 716 717 718 719 720 721 (3) (4 ) (3) (3) 722 (6) 723 (6) 724 (4) 725 20-SEP-78 18:49 PAGE ,21-3 SEQ 1156 .SBTTL KERNEL - DETERMINE CPU OPTIONS ;+ ; DETERMINE IF "KT" IS PRESENT AND IF IT IS CHECK TO ; SEE IF EXTENDED KT" IS PRESENT ;- 000146' 000146 1 000150 1 000154 1 000160' 000162 1 000162 1 000164 1 000164' 000170 1 000170' 000172 1 000176 1 000202 1 000204 1 000204 1 000206 1 000206' CALL HRDADRCHK IN <#SRO> 010546 012745 004767 012605 177572 OOOOOOG MOV MOV uSR MOV RS,-(SP) #SRO,-'(R5) PC,HRDADRCHK (SP)+,R5 BCS 5000S$ BIS #KTPRE:S,R1 MOV MOV uSR MOV R5,-(SP) #SR3,-'(R5) PC,HRDADRCHK (SP)+,R5 BCS SOO06$ BIS #KTXTND,R1 MOV MOV R5,-(SP) CCNTRL,-(RS) PC,HRDADRCHK (SP)+,R5 BCS S0007$ BIS #CAPRES,R1 IF.NO.ERROR THEN 103413 OS2701 LET R1 : = R1 SET. BY #KTPRES 000400 CALL HRDADRCHK IN <#SR3> 010546 012745 004767 01260S 172516 OOOOOOG IF.NO.ERROR THEN 103402 052701 LET R1 := R1 SET.BY #KTXTND 040000 ENDIF 000212 1 000212' 000212 1 000212 1 ~j0006$ ENDIF : :;OOOS$ : ;+ ; NOW DETERMINE IF CACHE MEMORY IS PRESENT BY CHECKING ; CACHE CONTROL REGISTER 000212 1 000212 1 000214 1 000220 1 000224' 000226 1 000226' 000230' 000230' 000234' 000234' CALL HRDADRCHK IN 010546 01674S 004767 012605 MOV OOOOOOG OOOOOOG uSR IF.NO.ERROR THEN 103402 052701 LET R1 : = Ri SET. BY #CAPRES 000004 ENDIF !50007$ : SIZPLD SIZE AND POll SYSTEM - KT OPTIONS AND 11/60 SUPPORT MACY11 30A(105~) 20-·SEP-78 SIZPLD.MAC 08-SEP-78 09:35 KERNEL - DETERMINE IF PARITY OR ECC MEMORY PRESENT 727 728 729 730 731 732 733 734 735 (4) 736 737 (4) 738 (4) (6) (9) 739 (3) (4) (3) PAGE 21-4 , SEQ 1157 .SBTTL KERNEL - DETERMINE IF PARITY OR ECC MEMORY PRESENT ;+ ; GET STARTING ADDRESS OF PARITY TABLE, THEN DETERMINE IF ; PARITY CSR REGISTERS ARE AVAILABLE IF SO PLACE CSR ADDRESS ; IN PARITY TABLE. ;- 000234' 000234' 016200 000240' 000240' 000244' 000244' 000244' 000250' 000252' 000252' 000254' 000256' LET RO .- DT.PTA(R2) 000064 MOV D1 , PT A. (R2) , I~O MOV #SS,PC:SR,R3 CMP BST R3,#SS.PCLS 50011$ MOV MOV JSR MOV R5,-(SP) R3,-(R:5) PC,HRDADRCHK (SP)+,R5 BCS 50012$ MOV R3,(RCI)+ BIS #BIT01,(R3) BIT BEQ #81T01, (R3) 50013$ SIS #ECCMEM,R1 BR 50014$ BIS #PARPF~ES, CLR (R3) lET R3 '- #SS,PCSR 012703 172100 WHILE R3 LE #SS.PClS DO 020327 003035 010546 010345 004767 (3) 000262' 740 (6) 741 (4) 742 743 744 745 746 747 748 (6) 749 (6) (9) 750 (6) 751 (4) (3) 752 000264' 000264' 103414 000266' 000266' 010320 (6) 052701 753 (4) 754 (4) 755 (4) 756 757 758 759 760 761 18:49 5,0010$ : 172136 CALL HRDADRCHK IN OOOOOOG 012605 IF.NO.ERROR THEN LET (RO)+ .- R3 ;+ ; DETERMINE IF ECC MEMORY, IF IT IS SET ECC MEMORY BIT IN ; CONFIGURATION WORD 0 ELSE SET PARITY PRESENT BIT IN ; CONFIGURATION WORD O. CLEAR THE PARITY CSR'S ', - 000270' 000270' 000274' 000274' 000300' 000302' 000302' 000306' 000306' 000310' 000310' 000310' 000314' 000314' 000314' 000314' 000316' 000316' LET (R3) 052713 000002 032713 001403 000002 052701 000100 .- (R3) SELBY #BIT01 IF #BIT01 SETIN (R3) THEN LET R1 . - R1 SET. BY #ECCMEM ELSE 000402 ~)0013$: LET R1 . - R1 SET. BY #PARPRES 002000 ENDIF ~)0014$: LET (R3) 005013 ,'- #0 ENDIF ~)0012$ ;+ ; IF 11/70 PROCESSOR THEN SET PARiTY PRESE,NT IN CONFIGURJnION ; WORD 0 AND POINT TO PARITY CSR + 4, ELSE POINT TO ; PARITY CSR + 2 ', - : R1 , SIZPLD SIZE AND POLL SYSTEM - KT OPTIONS AND 11/60 SUPPORT MACY11 30A(1052) 20--SEP-78 SIZPLD.MAC 08-SEP-78 09:35 KERNEL - DETERMINE IF PARITY OR ECC MEMORY PRESENT 762 (6) (9 ) 763 (6 ) 764 (6) 765 (4 ) (3) 766 (6) 767 (4) 768 (4) (3) 769 770 000316' 000316' 000322' 000324' 000324' 000330' 000330' 000334' 000334' 000336' 000336' 000336' 000342 1 000342' 000342 1 000342' 000344 1 18:49 PAGE 21-5 SEQ 1158 IF HPDP70 SETIN R1 THEN 032701 001405 010000 052701 002000 062703 BIT LET R1 := R1 SET.BY #PARPRES LET R3 .- R3 + #4 000004 SEQ #PDP70,R1 50015$ SIS HPARPHES,R1 ADD #4,R3 SR 50016$ ADD #2,R3 BR 50010$ ELSE 000402 LET R3 062703 .- R3 + #2 !:i0015$: 000002 ENDIF 50016$: ENODO 000740 :>0011$: SIZPLD SIZE AND POLL SYSTEM - KT OPTIONS AND 11/60 SUPPORT MACY11 30A(1052) SIZPLD.MAC 08-SEP-78 09:35 KERNEL - DETERMINE SYSTEM SIZE 772 773 774 775 776 777 778 779 (4) 780 781 782 783 784 785 786 787 (6) (9) 788 789 790 '791 792 793 (4) 794 (4) 795 796 797 798 799 800 (3) 801 (6) 802 (6) 803 (3) (4) (3) (~) 804 (6) 805 (2) 806 (4) 807 (3) (6) 808 809 810 20-SEP-7R. 18:49 PAGE 21-6 SEQ 1159 .SSTTL KERNEL - DETERMINE SYSTEM SIZE ;+ ; NOW TAKE THE CONTENTS OF LOC. 0 (EXERCISER SIZE) ; AND LOAD IT INTO EXERCISER SIZE WORD 0003441 000344 1 016762 LET OT.ESIZ(R2) := 0 000000 000044 MUV 0,DT.ESIZ(R2) BIT BNE #KTPRES,R1 50017$. CLR RO CLR R3 INC RO ADD #SS. MOV R5,-(SP) ;+ ; IF NO "KT" DETERMINE SYSTEM SIZE, WHICH CAN NOT BE GREATER ; THAN 28K. ;- 000352 1 000352' 032701 000356 1 001053 IF #KTPRES NOTSETIN R1 .THEN 000400 ;+ ; SET UP COUNTER OF 1K CHUNKS AND 1K BLOCK POINTER ;- 000360 1 000360' 005000 000362' 000362 1 005003 LET RO '- #0 LET R3 "- #0 + 000364' 0003641 000364 1 000364 1 000366' 000366 1 000372' 000372 1 000374' 000376 1 00Q402' 000404' 000404' 000406' 000406 1 000410' 000410' 000410 1 000410' 000414' REPEAT UNTIL NON-EXISTENT MEMORY OR 28K REPEAT LET RO '- RO + #1 005200 062703 010546 010345 004767 012605 LET R3 .- R3 + #SS.OKC 004000 O~;C, R3 CALL HROADRCHK IN OOOOOOG IF.ERROR THEN 103001 rllov R3,-(~15) JSR MOV PC,HRDADRCHK (SP)+,R5 Bec 50021$ INLINE
SR 4$ 000403 ENDIF UNTIL RO EQ #55.28 020027 001363 CMP BNE 000034 ;+ ; DETERMINE IF SYSTEM HAS 30K BY LOOKING AT FIRST ADDRESS IN 1/0 PAGE RO,#SS.28 50020$ SIZPLD SIZE AND POLL SYSTEM - KT OPTIONS AND 11/60 SUPPORT MACY11 30A(1052) SIZPLD.MAC 08-SEP-78 09:35 KERNEL - DETERMINE SYSTEM SIZE 811 812 813 (2 ) 814 (6) (9) 815 (3) (4) (3) (3 ) 816 (6) 817 (6 ) 818 (4) 819 (4 ) 820 821 822 823 824 825 826 827 (4 ) 828 (4) (7 ) (7 ) ( 7) (7 ) (7 ) (7 ) 829 (4 ) (3 ) 830 831 832 833 834 (3) (4) (3) (3 ) 83S 836 837 831:! 839 840 841 20-SEP-78 18:49 PAGE 21-7 SEQ 1160 ;_. 000416' 000416' 000416' 000416' 000422' 000424' 000424' 000426' 000432' 000436\ 000440' 000440' 000442' 000442' 000446' 000446' 000446' 000446' INLlNE <4$:>- 4$: IF RO EQ #55.28 THEN 020027 001011 010546 012745 004767 012605 BNE RO,#SSi.28 50022$ M'JV MOV JSR MOV R5,-(SP) #SS.RFS,-(R!5) PC, HRDADRCH!{ (SP)+,R5 BCS 50023$ ADD #10000,R3 CALL HRDADRCHK IN <#SS.RFS> 160000 OOOOOOG IF.NO.ERROR THEN 103402 062703 CMP 000034 LET R3 .- R3 + #10000 010000 ENDIF 5·0023$ : ENDIF 5·0022$ : ;+ ; NOW GET MEMORY SIZE IN "PARII FORMAT BY SHIFTING R3, 6 TIMES ; TO THE R I GiHT , ONCE THIS IS DONE LOAD INTO SYSTEM ; SIZE WORD. ', - 000446' 000446' 000450' 000450' 000454' 000460' 000464 1 000470' 000474' 000500' 000504 1 000504' 000506' LET CARRY := #0 000241 LET DT.SSIZ(R2) 010362 006062 006062 006062 006062 006062 006062 .- CLC R3 ROTATE -6 ROR ROR ROR ROR R3,DT.SSIZ(R2) DT.SSIZ(R2) DT.SSIZ(R2) DT.SSIZ(R2) DT.SSIZ(R2) DT.SSIZ(R2) DT.SSIZ(R2) BR 50024$ MOV MOV JSR MOV R5,-(SP) R2,-(R5) PC,KTSET (SP)+,R5 MOV ROR 000046 000046 000046 000046 000046 000046 000046 ROR EL.SE 000435 50017$: ;+ ; KT IS PRESENT, ,'- 000506' 000506' 000510' 000512' 000516' FIRST GO MAP PARIS AND PDR'S CALL KTSET IN 010546 010245 004767 012605 OOOOOOG ;+ WILL USE KIPAR5 TO SIZE MEMORY. TURN ON KT AND THEN SIZE UNTIL NON-EXISTENT MEMORY IS FOUND OR THE I/O PAGE IS FOUND. SIZING WILL BE DONE IN 1K STEPS SIZPLD SIZE AND POLL SYSTEM - KT OPTIONS AND 11/60 SUPPORT MACY'1 30A(1052) SIZPLD.MAC 08-SEP-78 09:35 KERNEL - DETERMINE SYSTEM SIZi 842 (4) 843 844 (6) 845 846 (3) 847 (6) 848 (3) (4) (3) (3) 849 (6) 850 (2) 851 (4) 852 (3) (6) 853 854 855 856 857 858 (:2) 859 (4) 860 (4) 861 000520' 000520' 012737 000040 172352 000526' 000526' 052737 000001 177572 000534' 000534' 000534 1 000534' 000542' 000542' 000544' 000550' 000554' 000556' 000556 ' 000560' 000560' 000562' 000562 ' 000562' 000562 1 000570' 20-SEP-78 18:49 PAGE 21-8 LET @#KIPAR5 := HSS.1KP LET @#SRO :; @#SRO SET.BY #8ITOO REPEAT 000040 010546 012745 004767 012605 120000 OOOOOOG 172352 IF.ERROR THEN IN LINE
BIS #BITOO,@l#SRO ADD #SS .11A:P ,@l#KIPARS MGV MOV JSR MOV R5,-(SP) #SS.120K,-(R5) PC,HRDADRCHK (SP)+,R5 BCC 50026$ 8R 5$ 000404 ENDI F UNTIL @#KIPAR5 17:2352 #SS.1KP,@#KIPARS CALL HRDADRCHK IN <#SS.120K> 103001 0:237:27 001361 MOV :i0025$ : LET @#KIPAR5 := @#KIPAR5 + #SS.1KP 062737 SEQ 1161 =i00:26$ : EO #SS.IOP 177600 CMP BNE @#KIPAR5,#SS.IOP 50025$ + LOAD SYSTEM SIZE WORD WITH CONTENTS OF KIPAR5 000572' 000572' 00057:2' 000572 1 013762 000600' 000600' INLINE <5$:> 5$: LET DT.SSIZ(R2) '- @#KIPAR5 17235:2 MOV 000046 ENDIF @#KIPAR5,DT.SSIZ SIZPLD SIZE AND POLL SYSTEM - KT OPTIONS AND 11/60 SUPPORT MACY1' 30A(1052) 20-SEP-78 SIZPLO.MAC 08-SEP-78 09:35 KERNEL - WRITE GOOD PARITY IF ECC OR PARITY PRESENT (6 ) (9) (6) ', - 000600 1 000600 1 IF #PARPRES SETIN R1. DR #ECCMEM SET IN R1 THEN 032701 000604 1 001003 000606 1 032701 0006121 001500 000614 1 002000 ·81T BNE BIT 000100 Bt::Q 877 (4) 878 (4) B79 (4) #PARPRES,R1 50027$ #ECCMEM,R1 50030$ 50027$: ;+ 871 (6) (9) SEQ 1162 ;+ ; DETERMINE IF PARITY OP ECC MEMORY IS PRESENT. 870 872 873 874 875 876 PAGE 21-9 .SBTTL KERNEL - WRITE GOOD PARITY IF ECC OR PARITY PRESENT 863 864 865 866 867 868 869 (6) (8) 18:49 ; IF CACHE PRESENT, SET BIT 0,' IN CACHE CONTROL REGISTER ; THIS WILL TURN CACHE OFF 0006141 000614 1 000620 1 0006221 0006221 000630 1 000630 1 000636 1 000636 1 IF #CAPRES SETIN R1 THEN 032701 001406 000004 012767 000003 016777 OOOOOOG OOOOOOG BEQ #CA.PRES, R1 50031$ MOV #3, KOr-ITRL MOV KONTRl.,@CCNTRL BIT BEQ #KTPRES,R1 50032$ JSR PC,KTSET CLR @ftKIPDR6 CLR @#KIPAR5 BIT LET KONTRL .- #3 OOOOOOG LET @CCNTRL := KONTRL ENDIF ~;0031$: 8BO 881 882 i+ SINCE PARITY OR ECC IS PRESENT AND TURNED OFF ; WILL NOW SET UP TO WRIlE GOOD PARITY INTO ALL ; OF MEMORY 1 FIRST KT PRESENT THEN SET ; UP KT REGISTERS. 883 884 885 886 887 888 (6) (9) 889 (3) 890 891 892 8"93 894 895 896 (4) 897 {4} 898 899 900 901 902 903 ;- 000636 1 000636 1 032701 000642 1 001426 000644 1 0006441 004767 IF #KTPRES SETIN R1 THEN 000400 CALL KTSET OOOOOOG ;+ ; SET UP KIPDR6 TO TRAP WHEN ENTERING PAGE. AND ; SET UP KIPAR5 TO MAP TO 0 j- 000650 1 000650 1 005037 000654: 000654 1 005037 LET @#KIPDRG '- #0 172314 LET @#KIPAR5 '- #0 172352 ;+ ; SAVE KT ERROR VECTOR AND SET UP KT ERROR VECTOR TO ; GO TO 7$. THEN TURN ON KT AND SET UP BUSERR VECTOR AT 8$ ; SET UP RO TO USE PAR5 SIZPLD SIZE AND POLL SYSTEM - KT OOTIONS AND 11/60 SUPPORT MACY11 30A(1052) 20--ScP-78 SIZPLD.MAC 08-SEP-78 09:35 KERNEL - WRITE GOOD PARITY IF ECC OR PARITY PRESENT 904 905 (2 ) 906 (4 ) 907 (2 ) 90B (4) 909 (6) 910 (4) 911 (4) (3) 912 913 914 915 916 917 (4) 91B (2 ) 919 (4 ) 920 921 (4) 922 923 924 925 926 (2 ) 927 (4) ~2B (2 ) 929 930 931 932 933 934 935 (2) 936 (6) 937 (4) 93B (4) 939 (2) 000660' 000660' 000664' 000664' 000672' 000672' 000676' 000676' 000704' 000704' 000712' 000712' 000716' 000716' 000720' 18:49 PAGE 21-10 PUSH @#4 013746 000004 012737 000760' 000004 013746 000250 012737 000740' 000250 052737 000001 012700 120000 MOV @#4,-(SP) LET @#4 '- #8$ MOV PUSH @#250 MOV @#250,-(SP) MOV #7$,@l#250 SIS #BITOO,@#SRO MOV #SS.120K,RO BR 50033$ CLR RO MOV @#4,-(SP) LET @#250 .- #7$ LET @#SRO .- @#SRO SET.BY #BITOO 177572 LET RO '- #SS.120K ELSE 000406 + 000720' 000720' 005000 000722' 000722' 013746 000726' 000726' 012737 SEQ 1163 IF NOT KT THEN SET UP POINTER AND SAVE BUSERR VECTOR LET RO .- #0 PUSH @#4 000004 LET @#4 '- #10$ MOV 001006' 000004 ENDIF 000734' 000734' ei0033$ : ;+ ; NOW WRITE GOOD PARITY j- INLlNE<6$: > 000734' 000734' 000734' 000734' 011020 000736' 000736' 000776 6$: LET (RO)+ '- (RO) MOV INUNE (RO), (RO)+ BR 6$ j+ ; UPDATE PAR5 TO NEXT 4K BLOCK AND RESET RO TO START ; OF BLOCK. LOAD RETURN PC WiTH 6$ AND RTI 000740' 000740' 000740' 000740' 000746' 000746' 000752' 000752' 000756' 000756' INLlNE <7$:> 7$: LET @#KIPARS := @#KIPAR5 + #200 062737 000200 172352 LET RO := #SS.120K 012700 120000 012716 000734' 000002 LET (SP) := #6$ INLINE ADD #200,@#KIPAR5 MOV #SS. 1 :20K I RO MOV RTI SIZPLD SIZE AND POLL SYSTEM - KT OPTIONS AND 11/60 SUPPORT MACY11 30A(1052) 20-SEP-78 SIZPLD.MAC 08-SEP-78 d9:35 KERNEL - WRITE GOOD PARITY IF ECC OR PARITY PRESENT 940 941 942 943 944 945 946 (2) 947 (6) 948 949 (4) 950 (2 ) 951 952 (2 ) 953 (2 ) 954 ('2 ) 955 (2 ) 956 957 958 959 960 961 962 (2) 963 (2 ) 964 (2 ) 965 966 (4) 967 968 969 970 PAGE 21-11 SEQ 1164 ;+ ; TOP OF MEMORY WAS FOUND, TURN OFF MEMORY MANAGEMENT, ; REMOVE TRJI.P PC AND PSW FROM STACK AND RESTORE BUS ERR AND MEIVIGMT VECTOHS , *- 000760' 000760' 000760' 000760' 042737 000766' 000766' 012716 000772' 000772' 000002 000774' 000774' 000774' 000774' 012637 001000' 001000' 012637 001004' 001Q04' 000403 INLINE <8$:> 8$: LET @#SRO 000001 '- @IISRO CLR.BY IIBITOO 177572 LET (SP) BIC #BITOO,@#SRO MOV #9$,(SP) := #9$ 000774' INLlNE RTI INLINE <9$::::- 9$: POP @#250 000250 POP @#4 000004 MOV (SP)+,.@#250 MOV (SP)+,,@#4 INLXNE
BR 11 $ ;+ ; WILL TRAP HERE IF NO MEMORY MANAGEMENT, CLEAN UP ; STACK AND RESTORE BUSERR , 001006' 001006' 001006' 001006' 022626 001010' 001010' 012637 INLINE <10$:> 10$: INLINE CMP (SP)+, (SP)+ POP @#4 MOV 000004 (SP)+,@#4 ENDIF 001014' 001014' !50030$ : ;+ ; IF SCRIPTING, SET AUTO BIT IN CONFIGURATION WORDO ,' - .97~ 9'72 973 (2 ) 974 (6) (9) 975 (6) 976 (4) 977 978 18:49 001014' 001014' 001014' 001014' 005737 001020' 001402 001022' 001022' 052701 001026' 001026' INLINE <11$:> 11 $: IF @#42 NE #0 THEN 000042 LET R1 *- R1 SEi- * BY # AUTO 000010 ENDIF ;+ 50034$: TST SEQ @#42 50034$ BIS HAUTO,R1 SIZPLD SIZE AND POLL SYSTEM - KT OPTIONS AND 11/60 SUPPORT MACY11 30A(1052) 20-SEP-78 SIZPLD.MAC 08-SEP-78 09:35 KERNEL - WRITE GOOD PARITY IF ECC OR PARITY PRESENT 979 980 981 982 983 (6) 984 (6) 985 18:49 PAGE 21-12 SEQ 1165 ; CLEAN UP R1 BEFORE LOADING CONFIGURATION WORD 0 ; LOAD UP CONFIGURATION WORD 0 ;- 001026' 001026' 042701 001032' 001032' 050162 LET R1 '- R1 CLR.BY #RICHARD 031060 BIC #RICHARD,R1 BIS R1,DT.CFO(R2) LET DT.CFO(R2) := DT.CFO(R2) SET.BY R1 000014 SIZPLD SIZE AND POLL SYSTEM - KT OPTIONS AND "/60 SUPPORT MACY11 30A(1052) SIZPLD.MAC 08-SEP-78 09:35 KERNEL - SORT MODULE LIST 987 988 989 990 991 992 993 994 (4) 995 (4) 996 (4 ) (6) (9) 997 (6 ) 998 (6) 999 (4) (3) 1000 1001 1002 1003 1004 1005 (4) 1006 1007 1008 1009 1010 1011 (4) (6 ) (9) 1012 (3 ) 1013 1014 1015 10·16 1017 1018 (4) 1019 (6) (9) 1020 1021 1022 1023 1024 1025 20-SEP-78 18:49 PAGE 22 SEQ 1166 .SBTTL KERNEL - SORT MODULE LIST + 001036' 001036' 001040' 001040' 001044' 001044' 001044' 001050' 001052' 001052' 001054' 001054' 001060' 001060' 001062' COUNT THE MODULES LET RO '- #0 005000 LET R1 016201 CLR RO MOV OT.MLST(R2),R1 CMP SEQ (R1) ,#ENDLS"r 50036$ INC RO ADD #2,R1 SR 50035$ MOV DT.MLST(R2),R1 TST BLE RO MOV (Rn, H4 := DT.MLST(R2) 000032 WHILE (R1) NE #ENDLST DO 5,0035$ : 021127 001404 000000 LET RO := RO + #1 005200 062701 LET R 1 • - R 1 + # 2 000002 ENDDO 000771 =i0036$ : ;+ ; START THE SORT OPERATION. r' - 001062' 001062' 016201 LET R1 := DT.MLST(R2) 000032 ;+ ; WORK THRU THE LIST UNTIL THE END IS REACHED ;- WHILE RO GT #0 DO 001066' 001066' 001066' 005700 001070' 003432 001072' 001072' ~)0037$ : 50040$ REPEAi ~;0041$: ;+ ; IS THE CURRENT ENTRY A BKMOD MODULE? ;- 001072' 001072' 011104 001074' 001074' 032764 001102' 001414 LET R4 . - IF #BKMOD SETIN STAT(R4) THEN 000020 000026 + 001104' (R 1 ) THE CURRENT ENTRY IS A BKMOD, WHAT ABOUT THE NEXT ENTRY? LET R3 := 2(R1) BIT #B~(MO[),STAT(R4) BEQ 50042$ SIZPLD SIZE AND POLL SYSTEM - KT OPTIONS AND 11/60 SUPPORT MACY11 30A(1052) SIZPLO.MAC OB-SEP-78 09:35 KERNEL - SORT MODULE LIST' (4) 1026 1027 1028 1029 1030 1031 (6) (9 ) 1032 1033 1034 1035 1036 1037 (6) (9 ) 1038 (4) 1039 (4 ) 1040 (4) 'j 041 (4 ) 1042 (4 ) 1043 1044 1045 1046 1047 1048 (6) 1049 (3 ) (6 ) 1050 1051 1052 1053 1054 1055 (6) 1056 (4) 1057 (4) (3 ) 1058 1059 1060 1061 1062 1063 1064 001104' 016103 PAGE 22-1 SEQ 1167 MOV 2(R1),R3 CMP SEQ R3,#ENDLST 50043$ MAKE SURE ITS NOT THE END OF THE LIST IF R3 NE #ENDLST tHEN 000000 + 001116' 001116' 001124' 001126' 001126' 001132' 001132' 001134' 001134' 001134' 001134' 001134' 001134' 18:49 000002 + 001110' 001110' 020327 001114' 001407 20-SEP-78 032763 001003 000020 011161 000002 I FITS NOT A BKMOD, SWAP' THEM IF #BKMOD NOTSETIN STAT(R3) THEN BIT #BKMOD,STAT(R3) BNE 50044$ LET 2(R1) := (Rl) MOV (R 1 ) ,2 ( R 1 ) LET (R1) := R3 MOV R3, (R i ) ENDIF 50044$: 000026 010311 ENDIF 50043$: ENDIF 5,0042$ : ;.- UPDATE THE POINTER AND CONTINUE SEARCHING THRU THE LIST 001134' 001134' 062701 001140' 001140' 021127 001144' 001352 lET R1 000002 .- R1 + #2 000000 ;+ ; THE END OF THE LIST HAS BEEN REACHED, ;- 001146' 001146' 005300 001150' 001150' 016201 001154' 001154' 000744 001156' ADD #2,R1 CIVIP BNE (R1),#ENDLST 50041$ UNTIL ( R1 ) EO #ENDLST LET RO LET R1 .- .- RO - SO UPDATE THE MAIN POINTER & C,ONTINUE #1 DEC RO MOV OT .MLST(R2) ,R1 SR 5003'7$ DT.MLST(R2) 000032 ENDDO ~)0040$ : ;+ ; NOW THAT THE BACKGROUND ~ODULES HAVE BEEN GROUPED TOGETHER AT THE END ; OF THE MODULE LIST, PUT THE ADDRESS OF THIS BACKGROUND LIST (IF THERE IS ; A BACKGROUND LIST) INTO THE DATA TABLE SIZPLD SIZE AND POLL SYSTEM - KT OPTIONS AND 11/60 SUPPORT MACY11 30A(1052) SIZPLD.MAC 08-SEP-78 09:35 KERNEL - SORT MODULE LIST 1065 (4) 1066 1067 1068 1069 1070 1071 (4) 1072 (4 ) 1073 (4) (6) (9) (6) (9 ) 1074 (4) 1075 (6) (9) 1076 1077 1078 1079 1080 1081 (4 ) 1082 (4) 1083 (4) 1084 (4) (3 ) 1085 1086 1087 1088 1089 1090 (6 ) 109. (4) 1092 (4) (3 ) 1093 1094 1095 1096 1097 1098 (3) 1099 001156' 001156' 016201 LET R1 20-SEP-78 1S:49 PAGE 22-2 SEQ '168 := DT.MLST(R2) MOV 000032 DT.MLST(R2),R1 ;+ ; WORK THRU THE MODULE LIST UNTIL THE FIRST BACKGROUND MODULE IS FOUND , '- 001162' 001162' 00'166' 001166' 001172' 001172' 001172' 001176' 001200' 001202' 001204' 001204' 001206' 001206' 001214' LET DT.BLST(R2) := #0 005062 000034 012703 177777 021127 001420 005703 001416 000000 CLR DT.SLST(R2) MOV #-1,R3 CMP SEQ TST SEQ (R1),#ENDLST 50046$ R3 50046$ MOV ( R1 ) , 11~4 SIT SEQ #BKMOD,STAT(R4) 50047$ LET R3 : = #-1 WHILE (R1) NE #ENDLST AND R3 NE #0 DO 50045$: LET R4 := (R1) 011104 032764 001406 IF #SKMOD SETIN STAT(R4) THEN 000020 000026 ;+ ; A BACKGROUND MODULE HAS BEEN FOUND - SO THIS IS THE START OF THE BACKGROUND LIST ;- 001216' 001216' 001222' 001222' 001226' 001226' 001230' 001230' 001232' LET DT.BLST(R2) 010162 000034 012701 000000 LET R1 '- R1 MOV Ri,DT.BLST(R2) MOV #ENDLST,R1 CLR R3 SR 50050$ SR 50045$ JSR PC,RESREG . - #ENDLST LET R3 .- #0 005003 ELSE 000402 + UPDATE THE POINTER AND CONTINUE TO SEARCH THRU THE MODULE LIST LET R1 00~232' 001232' 062701 001236' 001236' 001236' 001236' 000755 001240' . - Ri + #2 000002 ENDIF ~50050$ : ENDDO !50046:S: + NOW RETURN TO THE CALLER 001240' 001240' 004767 001244' CALL RESREG OOOOOOG ENDRTN SIZPLD SIZE AND POLL SYSTEM - KT OPTIONS AND 11/60 SUPPORT MACY11 30A(1052) SIZPLD.MAC 08-SEP-78 09:35 KERNEL - SORT MOPULE LIST (3) (3) (.2 ) 1100 .20-SEP-78 18:49 PAGE 22-3 SEQ 1169 50000$: 50001$: 001244 001244 1 001244 1 000207 1 RTS PC ;+ ; LABEL TYPE QUEUE HIGH LIMIT 1 1 01 11 02 , '- 1103 1104 1105 (2 ) 1106 INLINE 001246 1 001246 1 OV.TQENc): '107 11 OB 1109 1110 1111 , 11.2 , 113 1114 ;************************************** ; NOTE: THESE OVERLAY EQUATES MUST BE LEFT IN THIS POSITION (THAT IS, AFTER SIZPOL AND TQ.END LABELS) , 115 ;++++++++++++++++++++++++++++++++++++++ 11 16 111 7 ;++++++++++++++++++++++++++++++++++++++ 111B 1119 1120 1121 1122 OVERLAY REGIONS EQUATES 000000' 000122' 000364' 000120' 000122 1123 000~62' 1124 1125 000050 000662 000002 1126 1127 1128 1129 1130 001244' 000066 000001 OV.KBBUF = SIZPOL ;KEYBOARD BUFFER STARTING ADDRESS OV.CQ= OV.KBBUF + AD<82> ;CONTROL QUEUE STARTING ADDRESS OV.TQ = OV.CQ + ~D<162> ;TYPE QUEUE STARTING ADDRESS OV.HIKB = OV.CQ - .2 ;KEYBOARD BUFFER HIGH LIMIT OV.KBSIZ = OV.CQ - OV.KBBUF ;KEYBOARD BUFFER SIZE OV.HICQ = OV.TQ - .2 ;CONTROL QUEUE HIGH LIMIT OV.CQSIZ = /4 ;CONTROL QUEUE SIZE OV.A = OV.TQEND - OV.TQ ;GET ~HE TQ SiZE OV.REM = OV.A - «OV.A/10>*10> ;GET ANY REMAINDER OV.HITQ = OV.TQEND - OV.REM ;TYPE QUEUE HIGH LIMIT OV.TQSIZ = /10 ;TYPE QUEUE SIZE .END SIZPLD SIZE AND POLL SYSTEM - KT OPTIONS AND 11/60 SUPPORT SYMBOL TABLE 08-SEP-7B 09:35 SIZPLD.MAC ACSR ACTBIT= ADDR22= ADR APTFER= APTPRE= ASB ASSEM8= ASTAT = AUTO AUTOST= AWAS BITO BITOO BIT01 BIT02 BIT03 OIT04 BIT05 BIT06 BIT07 BITOB BIT09 BIT1 BIT1 0 BIT11 BIT12 BIT13 BIT14 BIT15 BIT2 BIT3 BIT4 BIT5 BIT6 BIT7 BITB BIT9 BI\DEF BKMOD BKMODE= BKSLSH= CAPRES= CASTAT= CCNTRL= CDERCT= CDWDCT= CKTIM = CLKPRE= CONFIG= CPUCPE= CQOVF = CR 000102 004000 001000 000006 000004 000200 000106 000010 000104 000010 020000 000110 000001 000001 000002 000004 000010 000020 000040 000100 000200 000400 001000 000002 002000 004000 010000 020000 040000 100000 000004 000010 000020 000040 000100 000200 000400 001000 000002 000020 040000 000134 000004 000004 ****** G 000146 000144 100000 000001 000056 ****** G 000001 000015 CSRA CSRC = CTRLC CTRLO CTRLU DCEVNT= DEFRTN= DIAGMC= DROPMO= DSEVNT= DTABLE= DT.ADD= DT.AP = DT.APK= DT.SLS= DT.CFO= DT.CF1= DT.ERR= DT.ESI= DT.EVN= DT.EXS= DT.FCH= DT.FCN= DT.HMX= D1. KBE= DT.KBP= DT.KBR= DT.KBU= DT.MLS= DT.MTI= DT.OFF= DT.PAS= DT.PC = DT.PFL= DT.PSW= DT.PTA= DT.RCS= DT.REL= DT.SCT:: Dr. SMX= DT. SP = DT.SS1= DT.STO= DT.ST1= DT.SWR= DT.SYP= DT.WBU= DT.WHL= DT.WLL= DVIC1 = ECCMEM= EceSTA= ENBEOP= 000100 000102 000003 000017 000025 000011 000400 000000 100000 000014 000000 000042 000100 000076 000034 000014 000016 000020 000044 000000 000060 000037 000036 000104 000024 000026 000022 000030 000032 00011'0 000070 000074 000002 000062 000004 000064 000102 000040 000066 000106 000006 000046 00001'0 000012 000056 000072 000050 000054 000052 000014 000100 000010 010000 MACY 11 30A(1052) ENBNUL= 000001 E~mLST= 000000 EOPBIT= 000001 ERRTYP= 000106 EVNTBE= 000200 EVNTHD= 000200 EVNTKT= OQ0203 EVNTPE= 000202 EVNTRE= 000201. FATERR= 100000 HRDADR= ****** HRDCNT= 000044 HRDPAS= 000050 HTKT ****** HTPAER= ****** ICONT = 000036 ICOUNT= 000040 IDNUM = 000122 000100 IE INDPAR= 000040 INHDRP= 040000 INHEPR= 020000 INHREL= 001000 INHRRE= 000400 000030 INIT INTR 000120 IOMOD 100000 IOMODP= 102000 IOMODR= 1120CO IOMODX= 110000 JACK 035060 KIPARO::: 172340 KIPAR1= 172342 KIPAR2= 172344 KIPAR3= 172346 KIPAR4= 1 72:~50 KIPAR5= 172352 KIPAR6= 172354 KIPAR7= 172356 KIPDRO= 172300 KIPDR1= 172302 KIPDR2= 172304 KIPDR3= 172306 KIPDR4= 172310 KIPDR5= 172312 KIPDR6= 172314 KIPDR7= 172316 KONTRL= ****** KTERRO::: 000040 KTPRES= 000400 KTSET = ****** KTSTAT= 000020 KTXTND= 040000 G 20-·SEP-78 LF LPSTAT:: MAPSTA-= MED MEMPAS:: MODEXH:: MODHOL:: MOOSE L:= MSGCKD:: MSGCKS:: MSGDER:: MSGDRP:~ G G G G MSGECH:= MSGEOP::: MSGHDR::: MSGHNG:: MSGHRD::: MSGMAP::: MSGNU L:= MSGPOP:= MSGPRM= MSGRES:: MSGSFT:= MSGSKE= MSGSMB= MSGSMH= MSGSMS= MSGSTD= MSGSYS= MSGVEC= NBKMOD= NCPUOP::: NOAPTY:: NULL OV.A OV.CQ OV.CQS= OV.HIC= OV.HIK= OV.HIT= OV.KBB= OV.KBS= OV.REM= OV.TQ = OV.TQE OV.TQS= OWEN PAERR :: PARPRE= PARSTA= PASCNT= PDPLSI:: PDP60 = 18:49 PAGE 23 SEQ 1170 000012 000001 000200 076600 040000 004000 002000 001000 000010 000011 000005 000017 177777 000013 000004 000022 000007 000021 177775 000002 177776 000001 000006 000003 000015 000014 000016 000000 000012 000020 001000 000020 000002 000000 000662 000122RG 00'J050 G 000362RG 000120RG 001244RG OOOOOORG 000122 G 000002 000364RG 001246R 000066 G 024020 000010 002000 000100 000034 020000 004000 P[)P70 PRIO :: PRI1 PRI4 PRI5 PRI6 PRI7 PRO PR4 PR5 PR6 PR7 PS P3W RANNUM= RBUFEA= RBUFPA= RBUFSZ= RBUFVA= RDSERV= RDWHMI= RELERR= 010000 000000 000040 000200 000240 000300 000340 000000 000200' 000240 000300 000340 1777'76 177776 000054 000130 000126 000132 000124 000101 000022 0000201 F~ELMOD= 020000 REL TIM= 010000 RESREG= *****-l<: G 000056 RES1 RES2 000060 RICHAR= 03106CI RPTDAT= 002.000 RSnH = 000112 RUBOUT=: 000177 RUNrJiOD= 100000 R5VALU= 001740 07~i464 SAM SAVREG= ****** G SBADR = 000102 SBKMOD= 000000 SBKSEL= 010000 SC.ADR= OOOOOE> SC.ALC= 000014 SC.APC= 000016 SC.CKL= 000002 SC.CKP= 000004 SC.CLO= OOOoon SC.HLD= 000010 SC.SCA:: 000012 SENDLS= 177777 S I ZPO L OOOOOORG SOFCNT== 000042 SOFPAS= 00004G SPACE = 000040 SPOINT= 000032 SPVALU= 002200 SIZPLD SIZE AND POLL SYSTEM.- KT OPTIONS AND '1/60 SUPPORT SYMBOL TABLE OB-SEP-78 09:35 SIZPLD.MAC SRO 5R1 5R2 SR3 55.l0P= SS.PCl= 55.PCS= 55.RFS= 5S.0KC= SS.1KP= 5S.1:20= 5S.28 = STAT STATBI= STAT1 = SUSPND= SVRO SVR1 SVR2 5VR3 SVR4 SVR5 SVR6 SYSCNT= SYSERR= TMPIO == 177572 177574 177576 172516 177600 172136 172100 160000 004000 000040 120000 000034 000026 064757 000027 000001 000062 000064 000066 000070 000072 000074 000076 000052 000100 000002 ABS. 000000 001246 TQOVF = UIPARO= UIPAR1= UIPAR2= UIPAR3= UIPAR4= UIPAR5= UIPAR6= UIPAR7= UIPDRO= UIPDR1= U!PDR2= UIPDR3= UIPDR4= UIPDR5= UIPDR6= UIPDR7= WASADR= WBSTAT= WBUFEA= WBUFPA== WBUFRQ= WBUFSZ= WDFR WDTO VJTINRE== 000002 177640 177642 177644 177646 177650 177652 177654 177656 177600 177602 177604 1'17606 177610 177612 177614 177616 000104 000040 000136 000134 000140 000142 000116 000114 000352 WTWHMI= XFLAG = XOFF XON $BGNLE= $ERFLG= $F$AND= $F$BAD= $F$BLA= $F$CAS= $F$DEC= $F$DO = $F$FAl= $F$GOO= $F$IF == $F$INC= $F$lOO= $F$NAM= $F$NO = $F$OR = $F$RTI= $F$RTN= $F$SEl= $F$THE= $F$TRU= $F$UNT= MACY 11 30A(1052) 000222 000005 000023 000021 177777 000400 000310 000401 000170 000150 000220 000340 000405 000400 000110 000210 000200 000160 000403 000320 000350 000300 000140 000330 000404. 000130 20··SEP-78 $F$WHI=: $F$YE5=: $ IF lEV::: $ISKO .. $I5K1 .. $ISK2 .$ LOCT A=: $l5TIN:: $l5TTA:: $NESTL:: $NSKO $NSK1 $NSK2 $NSK3 $NSK4 $NSK5 $SAVLE::: $5SKO $T AGLE::: $ TAGNU:: $TEMP $T5KO $TSK 1 $TSK2 $TSK3 $TSK4 o. 000120 000402 177777 000001 000001 000001 177777 000001 000001 177777. 000300 000120 000110 000110 000110 000110 177777 050046 177777 050051 000300 050045 050046 050050 050042 050043 18:49 PAGE:23-1 SEQ 1171 $TSK5 $$ARGC= $$BYTE= $$CASE= $$DST = $$ELOC= $$ERFL= $$FLAG= $'$FROM= $$LOC = $$LOCN= $$REG = $$RETU= $$RTN1= $$RTN2= $$SRC = $$TGSV= $$TGS1= $$TGS2= $$10 $$$TAG= 050044 000002 000403 000000 000000 000402 000000 000001 000000 001214R 000000 177777 000000 050000 050001 000000 000000 000000 000000 000000 050000 001246R 000 001 0 ERRORS DETECTED: DEFAULT GLOBALS GENERATED: 0 DSKZ:SIZPLD,DSKZ:SIZPlD=SPMAC/ML,EQUATE,SIZPlD RUN-TIME: 29 19 .4 SECONDS RUN-TIME RATIO: 281/49=5.6 CORE USED: 14K (27 PAGES) -,". .MAIN. MACY11 30A(1052) 20-SEP-78 EQUATE.MAC 13-SEP-78 16:13 3 565 568 620 698 738 791 883 1016 COMMON COMMON 000000 1 KERNEL KERNEL KERNEL KERNEL KERNEL KERNEL 18:54 TABLE OF CONTENTS EQUATE MODULE DEFINITIONS AND REFERENCES .PRINT jSPMAC: VERSION 1.1 - DETERMINE PROCESSOR TYPE - DETERMINE CPU OPTIONS - DETERMINE IF PARITY OR ECC MEMORY PRESENT - DETERMINE SySTEM SIZE - WRITE GOOD PARITY IF ECC OR PARITY PRESENT - SORT MODULE LIST SEQ 1172 SIZPLE SIZE AND POLL SYSTEM - 11/70 SUPPORT ALONG WITH 22-81T ADDRESSING SIZPLE.MAC 08-SEP-78 09:33 COMMON EQUATE MODULE 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 MODULE NAME: SIZPLE FUNCTIONAL DESCRIPTION: THIS MODULE WILL SIZE THE SYSTEM FOR CPU TYPE AND PROCESSOR OPTIONS. IT WILL ALSO SIZE MEMORY AND IF "PARITY" OR "ECC MEMO~IY WILL WRITE GOOD PARITY. THE IIMODQ" LIST ItJILL BE SORTED TO DEVELOP A BACKGROUND MODULE LIST (QUEUE) NOTE: SUPPORT 11/70 AND 22-8IT ADDRESSING II INPUTS: DTABLE ADDRESS 532 533 534 OUTPUTS: NONE 527 528 529 530 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 IMPLICIT OUTPUTS: PARITY TABLE ADDRESS SYSTEM SIZE EXERCISE SIZE CONFIGURATION WORD 0 PATHOLOGICAL CONNECTIONS: SUBORQINATE ROUTINES CALLED: SAVREG - SAVE REGISTERS RESREG - RESTORE REGISTERS KTSEr - SET UP KT REGISTERS HRDADRCHK - ILLEGAL ADDRESS CHECK ICSRSZ - INDIRECT ECC CSR SIZING FUNCTIONAL SIDE EFFECTS: NONE CALLING SEQUENCE: CALL SIZPOL IN
A - DTABLE ADDRESS VERSION: 0.0 559 560 561 562 18:54 ;++ 531 526 20-SEP-78 PAGE 19 .TITLE SIZPLE SIZE AND POLL SYSTEM - 11/70 SUPPORT ALONG WITH 22-BIT ADDRESSING .IDENT /VO.O/ IMPLICIT INPUTS: CONFIGURAT!ON WORD 0 EXERCISER SIZE SYSTEM SIZE PARITY TABLE ADDRESS MODULE LIST BACKGROUND LIST 525 MACY11 30A(1052) EDIT ;-- DATE BY REASON SEQ 1173 MACY11 30A(1052) SIZPlE SIZE AND POLL SYSTEM - 11/70 SUPPORT ALONG WITH 22-BIT ADDRESSING 08-SEP-78 .09:33 COMMON EQUATE MODULE SIZPLE.MAC 564 565 566 567 568 (1) 569 57.0 571 572 .0.0.0.0.0.0' 0.0.000.0' 0.000.01 0.0.00.01 .GLOBL .GlOBl .GLOBL .GLOBL .GlOBL .GLOBl .GLOBl .GLOBL .GlOBl .GLOBl 576 577 578 579 58.0 581 582 583 584 585 586 596 597 598 599 6.00 6.01 602 6.03 6.04 6C'S 6.06 6.07 6.08 6.09 61.0 611 612 613 614 615 616 617 618 HTPAER HTKT SAVREG RESREG KTSET HRDADRCHK ICSRSZ CPUCPE CCNTRl KONTRl ;SARE REGISTERS ;RESTORE REGISTERS ;SET UP KT ;IlLEGAL ADDRESS CHECK ;INDIRECT ECC CSR SIZING ;11/7.0 CPU ERROR REGISTER ;CACHE CONTROL REGISTER ;TEMPORARY STORAGE FOR CACHE CONTROL REGISTER ;**************** 587 588 589 594 595 .MCAll STRUCT STRUCT .PRINT ;SPMAC: VERSION 1.1 $LSTIN = 1 $lSTTAG = 1 ; GLOBAL REFERENCES 575 592 593 PAGE 20 ;**************** 574 591 18:54 .SBTTl COMMON DEFINITIONS AND REFERENCES 573 59.0 20-SEP-78 ; lOCAL EQUATES I 1721.0.0 172136 0.04.0.0.0 .00.0.034 0.0.0.04.0 12.0.0.0.0 1776.0.0 16.0.0.00 S5.PCSR 55.PCLS SS.DKC 5S.28 SS.1KP SS.12.oK 5S. lOP S5.RFS 1721.0.0 172136 40.0.0 A[)28 40 12.00.0.0 1'?76C.o 1 E,D.o.o.o ;START OF PARITY CSRS ;LAST PARITY CSR ;ONE K CHUNK ;28 DECIMAL ;1K IN PAR FORMAT ;FIRST ADDRESS IN PAR5 MAP ; I/O PAGE ;RESERVED FOR DIAGNOSTIC USE IN I/O PAGE ;**************** ; REFERENCED BY OTHER MODULES , .GlOBl SIZPOl ; +++++-+-++++++++++++++++++++++++ OVERLAY REGION GLOBAlS ;++++++++++++++++++++++++++++++ .GLOBL OV.KBBUF .GLOBL OV.HIKB .GLGBl OV.KBSIZ .GLGBL OV.CQ .GLOBL OV.HICQ .GlOBl OV.CQSIZ .GlOBL OV.TQ .GlOBl OV.HITQ .GlOBl OV.TQSIZ iMODULE ENTRY POINT SEQ 1174 SIZPLE SIZE AND POLL SYSTEM - 11/70 SUPPORT ALONG WITH 22-81T ADDRESSING 08-SEP-78 09:33 KERNEL - DETERMINE PROCESSOR TYPE SIZPLE.MAC 620 621 622 623 624 (2 ) 625 626 627 629 629 630 631 632 633 (4) 634 (4) 635 636 (4) 637 (4) 638 639 (3 ) 640 (4 ) 641 (4) 642 643 644 645 646 647 (3 ) (4 ) (3) (3 ) 648 649 (6) 650 651 (2) 20-SEP-78 18:54 PAGE 21 SEQ 1175 .SBTTL KERNEL - DETERMINE PROCESSOR TYPE ROUTINE SIZPOL 000000' 000000' SIZPOL: ;+ ; STUFF PARITY AND KT VECTORS ; SAVE REGISTERS, GET DTABLE ADDRESS FROM R5 STACK AND CLEAR ; R1 ;- 000000' 000000' 012737 000006' 000006' 012737 000014' 000014' 012737 000022' 000022' 012737 000030' 000030' 004767 000034' 000034' 016502 000040' 000040' 005001 LET @#114 · .. #HTPAER LET @#116 ·.. #PRI7 LET @#250 · .. #HTKT LET @l#252 ·.. #PRI7 OOOOOOG 000114 000340 000116 OOOOOOG 000250 000340 000252 CALL SAVREG OOOOOOG LET R2 000000 LET R1 ..- DTABLE(R5) MOV #HTPAER,@#114 MOV #PRI7.,@#116 MOV #HTKT,@#250 MOV #PRI7,@#252 dSR PC.SAVREG MOV DTABLE(R5),R2 CLR R1 MOV MOV JSR MOV R5., - (SP) CPUCPE,-(R5) PC,HROADRCHK (SP)+,R5 BCS 50002$ MOV @#10,-(SP) MOV #1$t@l#10 #0 ;+ ; DETERMINE PROCESSOR TYPE; 11/70, 11/60 OR LS 111 ,' 000042' 000042' 000044' 000050 1 000054 1 CALL HRDADRCHK IN 010546 016745 0047137 012605 OOOOOOG OOOOOOG IF.NO.ERROR THEN 000056' . 000056' 103422 ;+ ; SET UP ILLEGAL INSTRUCTION TRAP TO FIELD TRAP IF NOT ; 11/60 ;- 65~ 653 654 655 (2 ) 656 (4 ) 657 (2 ) 659 MACY11 30A(1052) 000060' 000060' 000064' 000064' 000072' 000072' 000074' 000074' PUSH @#10 013746 000010 012737 000104' 000010 076600 000101 LET @#10 .- #1$ INLINE INLlNE MED RDSERV SIZPLE SIZE AND POLL SYSTEM - 11/70 SUPPORT ALONG WITH 22-BIT ADDRESSING KERNEL - DETERMINE PROCESSOR TYPE 08-SEP-78 09:33 SIZPLE.MAC 659 (6 ) 660 (2 ) 661 662 (2 ) 663 664 665 666 667 668 (4) 669 (2 ) 670 671 672 673 674 675 (2 ) 676 (6 ) 677 678 679 680 681 682 (2 ) 683 (2 ) 684 (4 ) (3) 685 686 687 688 689 '690 (3 ) (4) (3 ) (3) 691 (6) 692 (6 ) 693 694 (4) 695 (4) 000076' 000076' 052701 000102' 000102' 000405 LET R1 MACY11 30A(1052} 20-SEP-78 PAGE 21 '-1 SEQ 1176 := R1 SET.BY #PDP60 SIS 004000 INLlNE
#PDP60,R1 BR 3$ INLINE <1$:> 000104' 000104' 18:54 1 $: ;+ ; SET RETURN TO 2$ TO RESTORE PSW ;- 000104' 000104' 012716 000110' 000110' 000002 := #2$ LET (SP) M:JV 000112' 112$,(SP) INUNE RTI ;+ ; MUST BE AN 11/70, BECAUSE OF TRAP , 000112' 000112' 000112' 000112' 052701 INLINE <2$ :~. LET R1 010000 .- 2$: R1 SET.BY #PDP70 BIS #PDP70,R1 ;+ ; RESTORE RESERVED INSTRUCTICN TRAP ;- 000116' 000116' 000116' 000116' 012637 000122' 000122' 000411 000124' INLINE <3$:> 3$: POP @#10 000010 ELSE MOV {SP)+I,@l#10 BR 50003$ MOV MOV MOV R5,-(SP) #PSW,·-(R5) PC,HRDADRCHK (SP)+"R5 Bce 50004$ 8IS #PDPLSI,R' :,0002$ : + CHECK TO SEE IF LSI11 000124' 000124' 000126' 000132' 000136' 000140' 000140' 000142' 000142' 000146' 000146' 000146' 000146' CALI. HRDADRCHK IN <#PSW> 010546 012745 004767 012605 177776 OOOOOOG JSR IF. ERROR THEN 103002 052701 LET R1 '- R1 SET.BY #PDPLSI 020000 ENDIF ENDIF ~50004$ : ~50003$ : SIZPLE SIZE AND POLL SYSTEM - 11/70 SUPPORT ALONG WITH 22-8IT ADDRESSING SIZPLE.MAC 08-SEP-78 09:33 KERNEL - DETERMINE PROCESSOR TYPE 696 MACY11 30A(1052) 20-SEP-78 18:54 PAGE 21-~ SEQ 1177 MACY11 30A(1052) SIZPLE SIZE AND POLL SYSTEM - 11/70 SUPPORT ALONG WITH 22-BIT ADDRESSING SIZPLE.MAC 08-SEP-78 09:33 KERNEL - DETERMINE CPU OPTIONS 698 699 700 701 702 703 704 705 (3 ) (4) (3) (3) 706 (6) 707 (6) 708 (3) (4) (3 ) (3 ) 709 (6) 710 (6) 711 712 713 714 715 716 717 (4 ) 718 (6 ) (9) 719 (6) 720 (4 ) 721 (4 ) 722 (4 ) 723 724 725 726 727 728 729 730 731 732 (3) (4 ) 20-SEP-78 18:54 PA.GE 21-3 SEQ 1178 .SBTTL KERNEL - DETERMINE CPU OPTIONS ;+ ; DETERMINE IF "KT" IS PRESENT AND IF IT IS CHECK TO ; SEE IF EXTENDED KT" IS PRESENT ; _. 000146' 000146' 000150' 000154' 000160' 000162' 000162' 000164' 000164' 000170' 000170' 000172' 000176' 000202' 000204' 000204' 000206' 000206' CALL HRDADRCHK IN <#SRO> 010546 012745 004767 012605 177572 OOOOOOG MOV MOV JSR MOV R5,-(SP) #SRO,···(R5) PC,HRDADRCHK (SP)+,R5 BCS 5000S1; BIS #KTPRES,R1 Mav MJV JSR MOV R5,-(SP) #SR3,-'(RS) PC,HRDADRCHK (SP)+,R5 BCS 50006$ BIS #KTXTND,R1 MOV #100000,@#KIPAR5 CMP SNE @#\o<,IP,o,R5, #1 00000 50007$ SIS #ADDR22,R1 MOV MOV R5,-(SP) CCNTRL.,-(R5) IF.NO.ERROR THEN 103424 LET R1 052701 000400 010546 012745 004767 012605 172516 OOOOOOG .- R1 SET.BY #KTPf'lES CALL HRDADRCHK IN <#SR3> IF.NO.ERROR THEN 103413 LET R1 052701 : = R1 SET.BY #KTXTNO 040000 ;+ ; DETERMINE IF 22-ADDRESSING 8Y LOADING PARS WITH 16 BIT .,i _. WORD (100212' 000212' 000220' 000220' 000226 1 000230 1 000230' 000234' 000234' AND FtEAD PARS TO SEE IF wORD READ IS SAME AS WRITTEN LET @#KIPAR5 := #100000 012737 100000 172352 023727 001002 172352 100000 052701 001000 IF @#KIPAR5 EQ 11100000 THEN LET R1 .- R1 SET.BY #ADDR22 ENDIF ~S0007$ : ENDIF 000234~ ei0006$ : 000234' 000234' 000234' ENDIF ei0005$ : ;+ ; NOW DETERMINE IF CACHE MEMORY IS PRESENT BY CHECKING ; CACHE CONTROL REGISTER ; -- 000234' 000234 1 010546 000236' 016745 CALL HRDADRCHK IN OOOOOOG SIZPLE SIZE AND POLL SYSTEM - 11/70 SUPPORT ALONG WITH 22-8IT ADDRlSSING SIZPLE.MAC 08-SEP-78 09:33 KERNEL - DETERMINE CPU OPTIONS (3) (3) 733 (6) 734 (6) 735 (4) 736 000242 1 000246 1 000250 1 000250 1 000252 1 000252 1 000256 1 000256 1 004767 012605 MACY~ 1 30A( 1052) 20--SEP-78 OOOOOOG 18: 54 PAGE 21--1.\ SEQ 1179 JSR MOV PC,HRDADRCHK (SP)+,R5 BCS 50010$ SIS #CAPRES,R1 IF.NO.ERROR THEN 103402 LET R1 052701 '- R1 SET.BY #CAPRES 000004 ENDIF 50010$: SIZPLE SIZE AND POLL SYSTEM - 11/70 SUPPORT ALONG WITH 22-BIT ADDRESSING MACY11 30A(1052} SIZPLE.MAC 08-SEP-78 09:33 KERNEL - DETERMINE IF PARITY OR ECC MEMORY PRESENT 738 739 740 741 742 743 744 745 746 (4) 747 748 (4) 749 (4) (6) (9) 750 (3) (4) (3) (3) 751 (6) 752 (4) 753 754 755 756 757 758 759 (6) 760 (6) (9) 761 (6) 762 (4) (3) 763 (6) 764 (4) 765 (4) 766 (4) 767 768 769 770 771 772 20-SEP-78 18:54 PAGE 2) ~ SEQ 1180 .SBTTL KERNEL - DETERMINE IF PARITY OR ECC MEMORY PRESENT ;+ ; GET STARTING ADDRESS OF PARITY TABLE, THEN DETERMINE IF ; PARITY CSR REGISTERS ARE AVAILABLE IF SO PLACE CSR ADDRESS ; IN PARITY TABLE. ;- 000256' 000256' 016200 000262 1 000262 1 000266' 000266 1 000266 1 000272' 000274 1 000274 1 000276' 000300' 000304 1 000306 1 000306' 000310 1 000310' LET RO '- DT.PTA(R2) 000064 LET R3 '- #SS.PCSR 012703 172100 MOV DT.PTA(R2),f~0 MOV #SS.PCSR,R3 CMP BGT R3,#SS.PCLS 50012$ MOV MOV MOV R5,-(SP) R3,-(I=1:5) PC,HRDADRCHK (SP)+,R5 BCS 50013$ MOV R3,(RO)+ SIS #BIT01:,(R3) BIT BEQ #B1T011, (R3) 50014$ BIS #ECCMEM,R1 BR 5Q.o 15$ SIS #PARPf~ES, CLR ( R~3 ) WHILE R3 LE #SS.PCLS DO 50011$: 020327 003035 0105'16 010345 004767 012605 172136 CALL HRDADRCHK IN JSR OOOOOOG IF.NO.ERROR THEN 103414 LET (RO)+ '- R3 010320 ;+ ; DETERMINE IF ECC MEMORY, IF IT IS SET ECC MEMORY BIT IN ; CONFIGURATION WORD 0 ELSE SET PARITY PRESENT BIT IN ; CONFIGURATION WORD o. eLEAR THE PARITY CSR1S , '- 000312' 000312 1 000316' 000316 1 000322 I 000324 1 000324 1 000330 1 000330 1 000332 1 000332 1 000332 1 000336' 000336 1 000336 1 000336 1 000340' 000340 1 LET (R3) .- (R3) SET.BY #BIT01 052713 000002 032713 001403 000002 052701 000100 IF #BIT01 SETIN (R3) THEN LET R1 . - R1 SET. BY #ECCMEM ELSE 000402 ~50014$: LET R1 052701 . - R1 SET. BY #PARPRES 002000 ENDIF !30015$: LET (R3) .- #0 005013 ENDrF 50013$: ;+ ; IF 11/70 PROCESSOR THEN SET PARITY PRESENT IN CONFIGURATION ; WORD 0 AND POINT TO PARITY CSR + 4, ELSE POINT TO ; PAR I TY CS'R + 2 ;- R1 MACY11 30A(1052) SIZPLE SIZE AND POLL SYSTEM - 11/70 SUPPORT ALONG WITH 22-BIT ADDRESSING KERNEL - DETERMINE IF PARITY OR ECC MEMORY PRESENT 08-SEP-78 09:33 SIZPLE.MAC 773 (6) (9) 774 (6) 775 (6) 776 (4 ) (3) 777 (6) 778 (4) 779 (4) (3 ) 780 781 782 783 784 785 (6) (9) (6) (9 ) 786 (3) (4) (3) ( 3) 787 (4 ) 788 789 000340' 000340' 000344' 000346' 000346' 000352' 000352' 000356' 000356' 000360' 000360' 000360' 000364' 000364' 000364' 000364' 000366' 20-SEP-78 010000 052701 002000 062703 lET R1 ·- R1 lET R3 ·- R3 + #4 000004 BIT SEQ #PDP70,R1 50016$ SIS #PARPRES,R1 ADD #4,R3 SR 50017$ ADD #2,R3 SR 50011$ BIT SEQ TST SNE #PDP70,R1 50020$ @DT.PTA(R2) 50020$ MOV R5,-(SP) R2,-(FI:5) PC, I CS.RSZ (SP)+,R5 SET.BY #PARPRES ELSE 000402 LET R3 062703 ·- PAGE 2"\ 50016$: R3 + #2 000002 ENDIF 50017$: ENDDO 000740 50012$: ;+ ; DETERMINE IF WE SHOULD CHECK FOR INDIRECT CSRS ON THE 11/70 ;- 000366' 000366' 000372' 000374' 000400' 000402' 000402' 000404' 000406' 000412' 000414" 000414' IF #PDP70 SETIN R1 AND @DT.PTA(R2) EO #0 THEN 032701 001410 005772 001005 010000 000064 CALL ICSRSZ IN 010546 010245 004767 012605 MOV JSR MOV OOOOOOG ENDIF ,) SEQ 1181 IF #PDP70 SETIN Ri THEN 032701 001405 18:54 !:i0020$,: SIZPLE SIZE AND POLL SYSTEM - 11/70 SUPPORT ALONG WITH 22-BIT ADDR~SSING SIZPLE.MAC 08-SEP-78 09:33 KERNEL - DETERMINE SYSTEM SIZE 791 792 793 794 795 796 797 798 (4) 799 800 801 802 803 804 805 (6) (9) 806 807 808 B09 810 B11 (4 ) B12 (4) B13 814 B15 816 B17 81B (3) 819 (6) 820 (6) 821 (3 ) (4) ( 3·) (3) 822 (6) 823 (:2 ) 824 (4 ) 825 (3 ) (6 ) 826 827 828 829 MACY"11 30A ( 1 052) 20-SEP-78 18: 54 PAGE 2, , SEQ 1182 .SBTTL KERNEL - DETERMINE SYSTEM SIZE ;+ ; NOW TAKE THE CONTENTS OF LOC. 0 (EXERCISER SIZE) ; AND LOAD IT INTO EXERCISER SIZE WORD ;- 000414' 000414' 016762 LET DT.ESIZ(R2) '- 0 000000 000044 MOV 0.DT.ESIZ(R2) BIT BNE #KTPRES,R1 50021$ CLR RO CLR R3 INC RO ADD #SS . O~ OOOOOOG IF.ERROR THEN 103001 t INLINE
BR 4$ 000403 ENDIF !50023$ : UNTIL RO EO #S5.28 020027 001363 CMP 000034 BNE .+ DETERMINE IF SYSTEM HAS 30K BY LOOKING AT FIRST ADDRESS IN I/O PAGE RO,#SS.28 50022$ MACY11 30A(1052) SIZPLE SIZE AND POLL SYSTEM - 11/70 SUPPORT ALONG WITH 22-B1T ADD~ESSING SIZPLE.MAC 08-SEP-78 09:33 KERNEL - DETERMINE SYSTEM SIZE 830 831 (2 ) 832 (6) (9) 833 (3) (4) (3) (3 ) 834 (6) 835 (6 ) 836 (4) 837 (4) 838 839 840 841 842 843 844 845 (4 ) 846 (4) ( 7) (7) (7) (7 ) (7) (7 ) 847 (4) (3) 848 849 850 851 852 (3 ) (4) (3 ) (3 ) 853 854 855 856 857 858 859 860 000466 1 000466' 000466 1 000466' 000472' 000474' 000474 1 000476 1 000502 1 000506' 000510 1 000510 1 000512 1 000512' 000516 1 000516 1 000516 1 000516 1 20-SEP-78 INLlNE <4$:> 010546 012745 004767 012605 CMP 000034 BNi:. RO,#SS.28 50024$ CALL HRDADRCHK IN <#SS.RFS> I'v1:JV MOV JSR MOV 160000 OOOQOOG R5,-(SP) #SS.RFS,-(R~;) PC,HRDADRCHK (SP)+.R5 IF.NO.ERROf\ THEN 103402 LET R3 062703 PAGE 21-8 SEQ 1193 4('t· ::l). IF RO EQ #5S.28 THEN 020027 001011 18:54 .- BCS 50025$ ADD #10000,R3 R3 + #10000 010000 ENDIF 50025$: ENDIF 5,0024$ : ;+ ; NOW GET MEMORY SIZE IN "PARI! FORMAT BY SHIFTING R3, 6 TIMES ; TO THE RIGHT, ONCE THIS IS DONE LOAD INTO SYSTEM ; SIZE WORD. , '- 000516 1 000516 1 000520 1 000520 1 000524 1 000530 1 000534' 000540 1 000544 1 000550' 000554 1 000554 1 000556 1 000556 1 000556' 000560 1 000562 1 000566 1 LET CARRY := #0 000241 LET DT.SSIZ(R2) 010362 006062 006062 006062 006062 006062 006062 .- CLC R3 ROTATE -6 000046 000046 000046 000046 000046 000046 000046 BR 50026$ MOV MOV JSR MOV R5,-(SP) R2,.-(F<5) PC,KTSET (SP)+"R5 ~)0021$: ;+ ; KT IS PRESENT, FIRST GO MAP APRS ;CALL KTSET IN 010546 010245 004767 012605 OOOOOOG WILL USE KIPAR5 TO SIZE MEMORY. TURN ON KT AND THEN SIZE UNTIL NON-EXISTENT MEMORY IS FOUND'OR THE I/O PAGE IS FOUND. SIZING WILL BE DONE IN 1K STEPS 1 R3,DT.SSIZ(R2) DT.SSIZ(R2) DT.SSl.Z(R2) DT.SSl.Z(R2) DT.SSIZ(R2) DT.SSIZ(R2) DT.SSIZ(R2) ELSE 000443 ;+ 000570 MOV ROR ROR ROR ROR ROR ROR LET @#KIPAR5 .- #SS. n

010546 012745 004767 012605 120000 OOOOOOG IF.ERROR THEN 103001 INLINE
ENDIF 000656' 000656' 000656' 000656' 013762 000664' 000664' 50031$ PC,HRDADRCHK (SP)+,. R5 @#KIPAR5,#SS.IOP 50030$ LOAD SYSTEM SIZE WORD WITH CONTENTS OF KIPAR5 INLINE <5$:> 5$: LET DT.SSIZ(R2) '- @#KIPAR5 172352 SCC CMP BNE 177600 + R5,-(SP) #SS.1~!OK,-(R5) ~)0031$: UNTIL @#KIPAR5 EO #SS.IOP 172352 MOV MOV J5R MOV SR 5$ 000404 023727 001361 PAGE 21-9 SEQ 1184 MOV LET @#SRO :,,: @#SRO SET. SY # BI TOO IF #ADDR22 SETIN R1 THEN 18:54 MOV 000046 ENDIF !50026$ : @#KIPAR5,DT.SSIZ SIZPLE SIZE AND POLL SYSTEM - 11/70 SUPPORT ALONG WITH 22-8IT ADDR~~SING MACY11 30A(1052) SIZPLE.MAC 08-SEP-78 09:33 KERNEL - WRITE GOOD PARITY IF ECC OR PARITY PRESENT 883 8B4 885 886 887 888 889 (6) (8 ) (6) (9) (6) 890 891 892 893 894 895 896 (6) (9 ) 897 (4 ) 898 (4) 899 (4 ) ; DETERMINE IF PARITY OR ECC MEMORY IS PRESENT. 000664 1 000664' 000670' 000672 1 000676 1 000700 1 IF #PARPRES SETIN R1 OR #ECCMEM SETIN R1 THEN 032701 001003 032701 001506 002000 000100 000700 1 000700' 000704' 000706' 000706' 000714 1 000714' 000722' 000722 1 MOV #3,KONTRL MOV KONTRL.,@CCNTRL BIT BEQ #KTPRES,R1 50035$ JSR PC,KTSET CLR @#f 6$: LET (RO)+ '- (RO) MOV INLINE
BR 6$ ;+ COME HERE BY WAY OF KT TRAP ; UPDATE PAR5 TO NEXT 4K BLOCK AND RESET RO TO START ; OF BLOCK. LOAD RETURN PC WITH 6$ AND RTI (FW), (RO)+ SIZPLE SIZE AND POLL SYSTEM - 11/70 SUPPORT ALONG WITH 22-BIT ADDRESSING MACY11 30A(1052) SIZPLE.MAC 08-SEP-78 09:33 KERNEL - WRITE GOOD PARITY IF ECC OR PARITY PRESENT 961 962 963 (2 ) 964 (6) 965 (4) 966 (4) 967 (:2 ) 968 969 970 971 972 973 974 975 (2 ) 976 (6) 977 9?8 (4 ) 979 (2 ) 980 981 (2 ) 982 (2 ) 983 (2 ) 984 (2 ) 001040' 001040' 001040' 001040' 001046' 001046' 001052' 001052' 001056' 001056' INLINE <7$ D· 992 (2 ) 993 (2) 994 995 (4) 996 997 998 999 PAGE 21-12 SEQ 1187 7$: LET @#KIPAR5 := @JKIPAR5 + #200 062737 000200 012700 120000 012716 001034' 172352 LET RO := #SS.120K LET (SP) := #6$ INLINE ADD #200,@#KIPAR5 MOV #SS.120K,RO MOV #6$,(SP) RTI 000002 :+ ; COME HERE BY WAY OF ILLEGAL ADDRESS TRAP ; TOP OF MEMORY WAS FOUND, TURN OFF MEMORY MANAGEMENT, ; REMOVE TRAP PC AND PSW FROM STACK AND RESTORE BUSERR AND MEMGMT VECTORS 001060 1 001060' 001060' 001060' 042737 001066 1 001066' 012716 001072 1 001072' 000002 001074 1 001074 1 001074 1 001074' 012637 001100' 001100' 012637 001104' 001104' 000403 INLINE <8$:> 8$: LET @#SRO := @#SRO CLR.BY #BITOO 000001 177572 LET (SP) := #9$ 001074' BIC #BITOO,@#SRO MOV #9$,(SP) INUNE RTI INLINE <9$:> 9$: POP @#250 000250 POP @#4 MOV 000004 INUNE
(SP)+v@#4 SR 11 $ ;+ ; WILL TRAP HERE IF NO MEMORY MANAGEMENT, CLEAN UP ; STACK AND RESTORE BUSERR 98'1 (2 ) 18:54 ;- 985 986 "988 989 990 991 20-SEP-78 001106 1 001106' 001106 1 001106 1 022626 001110' 001110' 012637 001114' 001114' INLINE <10$:> 10$: INLINE CMP (SP)+, (SP)+ POP @#4 MOV 000004 ENDIF ~50033$ (SP)+!@#4 : ;+ ; IF AUTOMATIC MODE(ACT,SLIDE,XXDP,ETC.), SET AUTO BIT IN CONFIGURATION WORDO MACY'! 1 30A(1052) SIZPLE SIZE AND POLL SYSTEM - 11/70 SUPPORT ALONG WITH 22-8IT ADDR~SSING KERNEL - WRITE GOOD PARITy IF ECC OR PARITY PRESENT 08-SEP-78 09:33 SIZPLE.MAC 1000 1001 1002 (2 ) 1003 (6 ) (9 ) 1004 (6 ) 1005 (4 ) 1006 1007 1008 1009 1010 1011 1012 (6) 1013 (~ ) 1014 18 ::54 20-SEP-78 PAGE 21-13 SEQ 1188 , 001114' 001114' 001114' 001114' 005737 001120' 001402 001122' 001122' 052701 001126' 001126' INLINE <11$:> 11 $ ~ IF @#42 NE 110 THEN 000042 LET R1 TST SEQ (c,}J#42 SIS #AUTO,R1 BIC #OWEN,R1 BIS R1,DT.CFO(R2) 50040$ := R1 SELBY #AUTO 000010 ENDIF 5,0040$ : ;+ ; LOAD UP CONFIGURATION WORD 0 ; CLEAN UP ~t1 BEFORE LOADING DT.CFO j- 001126' 001126' 042701 001132' 001132' 050162 LET R1 .- R1 CLR.BY #OWE.N 024020 LET DT .CFO(F12) 000014 := DT.CFO(R2) SET.BY R1 MACY11 30A(1052) SIZPLE SIZE AND POLL SYSTEM - 11/70 SUPPORT ALONG WITH 22-BIT ADDRESSING SIZPLE.MAC 08-SEP-78 09:33 KERNEL - SORT MODULE LIST 1016 1017 1018 1019 1020 1021 1022 1023 (4) 1024 (4) 1025 (4) (6) (9) 1026 (6) 1027 (6) 1028 ( 4) ( 3) 1029 1030 1031 1032 1033 1034 1035 (4) 1036 1037 1038 1039 1040 1041 (4) (6) (9 ) 1042 (3) 1043 1044 1045 1046 104'7 1048 (4 ) 1049 (6) (9) 1050 1051 1052 1053 1054 20-SEP-78 18:54 PAGE 22 SEQ 1189 .SBTTL KERNEL - SORT MODULE LIST + COUNT THE MODULES 001136' 001136' 001140' 001140' 001144' 001144\ 001144' 001150' 001152' 001152' 001154' 001154' 001160' 001160' 001162' LET RO .- #0 005000 LET R1 016201 000032 021127 001404 000000 CLR RO MOV DT.MLST(R2),R1 CMP BEQ (Rl ), #ENDLST 50042$ INC RO ADD #2,R1 BR 50041$ .- DT.MLST(R2) WHILE (R1) NE #ENDLST DO 50041$: LET RO .- RO + #1 005200 062701 lET R 1 • - R 1 + # 2 000002 ENDDO 000771 50042$: ;+ ; START THE SORT OPERATION, AND SORT IIBKMODII TO BOTTOM OF MODQ LIST, ; DEVELOPING A "BKMOD QUEUE" 001162' 001162' 016201 LET R1 := DT.MLST(R2) 000032 MOV DT.MLST(R2),R1 TST BlE RO 50044$ MOV ( R1 ) BIT #BKMOD,STAT(R4) 50046$ ;+ ; WORK THRU THE LIST UNTIL THE END IS REACHED ;- WHILE RO GT #0 DO 001166' 001166' 001166' 005700 001170' 003432 001172' 0011'72' 5,0043$ : REPEAT 50045$: ;+ ; 15 THE CURRENT ENTRY A BKMOD MODULE? 001172' 001172' 011104 001174' 001174' 032764 001202' 001414 LET R4 . - (R 1 ) t ~t4 IF #BKMOD SETIN STAT(R4) THEN 000020 000026 BEQ + THE CURRENT ENTRY IS A BKMOD, WHAT ABOUT THE NEXT ENTRY? MACY11 30A(1052) SIZPLE SIZE AND POLL SYSTEM - 11/70 SUPPORT ALONG WITH 22-BIT ADDRESSING SIZPLE.MAC 08-SEP-78 09:33 KERNEL - SORT MODULE LIST 1055 (4 ) 1056 1057 1058 1059 1060 1061 (6) (9) 1062 1063 1064 1065 1066 1067 (6) (9 ) 1068 (4) 1069 001204 1 001204 1 016103 001210 1 001210 1 020327 001214 1 001407 001216 1 001216' 032763 001224' (4) (3) 1088 1089 1090 1091 1092 1093 MOV 2(R1),R3 CMP BEQ R3,#ENDLST 50047$ IF R3 NE #ENDLST THEN 000000 000020 IF ITS NOT A BKMOD, SWAP THEM IF #BKMOD NOTSETIN STAT(R3) THEN BIT #BKMOD,STAT(R3) BNE 50050$. LET 2(R1) := (R1) MOV ( R1 ) ,~~ ( R1 ) LET (H1) := R::I MOV R3,(R1) ENDIF 0.00026 001003 001226' 001226 1 011161 001232 1 001232' (3 ) LET R3 := 2(H1) 000002 + 001234' 001234 1 001234 1 001234 1 001234 1 001234 1 (6) 1080 1081 1082 1083 1084 1085 (6) 1086 (4) 1087 PAGE 22-1 SEQ 1190 MAKE SURE ITS NOT THE END OF THE LIST (4 ) (4) 18:54 + 1070 (4) 1071 (4) 1072 1073 1074 1075 1076 1077 1078 (6) 1079 20-SEP-78 000002 010311 ENDIF :;0047$: ENDIF :;0046$: ;+ ; UPDATE THE POINTER AND CONTINUE SEARCHING THRU THE LIST j- 001234 1 001234 1 062701 001240' 001240 1 021127 001244' 001352 LET Ri : = R1 + #2 000002 ADD #2,R1 CMP BNE (R1),#ENDLST 50045$ UNTIL (R1) EO #ENDLST 000000 ;+ ; THE END OF THE LIST HAS BEEN REACHED, SO UPDATE THE MAIN POINTER & CONTINUE ;-<. . . . . 001246 1 001246' 005300 001250' 001250' 016201 001254 1 001254' 000744 001256 1 LET RO '- RO - #1 LET R1 DEC RO MOV DT.MLST(R2),R1 BR 50043$ '- DT.MLST(R2) 000032 ENDDO !50044$ : ;+ ; NOW THAT THE BACKGROUND MODULES HAVE BEEN GROUPED TOGETHER AT THE END ; OF THE MODULE LIST, PUT THE ADDRESS OF THIS BACKGROUND LIST (IF THERE IS ; A BACKGROUND LIST) INTO THE DATA TABLE ,' - MACY11 30A(1052) SIZPLE SIZE AND POLL SYSTEM - 11/70 SUPPORT ALONG WITH 22-RIT ADDRESSING SIZPLE.MAC 08-SEP-78 09:33 KERNEL - SORT MODULE LIST 1094 1095 (4) 1096 1097 1098 1099 1100 1101 (4) 1102 (4) 1103 (4) (6 ) (9) (6) (9) 1104 (4 ) 1105 (6) (9) 1106 1107 1108 1109 1110 1111 (4) 1112 (4) 1113 (4) 1114 (4) (3 ) 1115 1116 1117 1118 1119 1120 (6) 1121 (4) 1122 (4) (3) 1123 11211 1125 1126 1127 1128 (3 ) 001256 1 001256' 016201 LET Ri 000034 012703 177777 021127 001420 005703 001416 000000 PAGE 22-2 SEQ 1191 DT .MLST(R2) ,Rl WORK THRU THE MODULE LIST UNTI L THE FIRST BACKGROUND MODULE IS FOUND := #0 CLR DT.BLST(R2) 1\10 V #-1, R3 eMF' TST BEQ (R1 ) I ilENDLST 50052$ R3 50052$ MOV (R1),R4 BIT BEQ #BKMOCl,STAT(R4) 50053$ LET R3 := #-1 WHIL.E ( R1 ) NE #ENDLST AND R3 NE #0 00 5005"15: B~Q LET R4 01 1104 032764 001406 .- (R 1 ) IF #BKMOD SETIN STAT(R4) THEN 000020 000026 + 001316' 001316 1 001322' 001322 1 001326 1 001326 1 001330 1 001330 1 001332' MOV LET DT.BLST(R2} 005062 18:54 := DT.MLST(R2) 000032 + 001262 1 001262 1 001266' 001266 1 001272 1 001272 1 001272 1 001276 1 001300 1 001302' 001304' 001304 1 001306' 001306' 001314 1 20-SEP-78 A BACKGROUND MODULE HAS BEEN FOUND - SO THIS IS THE START OF THE BACKGROUND LIST LET DT.BLST(R2) 010162 000034 012701 000000 LET Rl LET R3 005003 ··- .- R1 MOV R1,DT.BLST(R2) MOV #ENDLST,Rl CLR R3 BR 50054$ ADD #2.R1 BR 50051$ JSR PC 'f RESREG #ENDLST #0 ELSE 000402 :;0053$ : + 001332 1 001332 1 062701 001336 1 001336 1 001336' 001336' 000755 001340' UPDATE THE POINTER AND CONTINUE TO SEARCH THRU THE MODULE LIST LET R1 000002 ·- R1 + #2 ENDIF ~50054$ : ENDDO b0052$: + NOW RETURN TO THE CALLER 001340' 001340' 004767 CALL RESREG OOOOOOG SIZPLE SIZE AND POLL SYSTEM - 11/70 SUPPORT ALONG WITH 22-BIT ADDRESSING SIZPLE.MAC 08-SEP-78 09:33 KERNEL - SORT MODULE LIST 1129 (3) (3) (2 ) 1130 18:54 50000$: 50001$: RTS 1131 ;+ ; LABEL TYPE QUEUE HIGH LIMIT 1135 (2 ) 1136 20-SEP-78 ENDRTN 001344 1 001344 1 001344 1 0013441 000207 1132 1133 1134 MACY11 30A(1052) PC 'f - 001346 1 001346' INLINE OV.TQEN[): 1137 1138 '1139 1140 1141 ;************************************** ; NOTE: THESE OVERLAY EQUATES MUST BE LEFT IN THIS POSITION (THAT IS, AFTER SIZPOL AND TO. END LABELS) 1142 1143 1144 ;++++++++++++++++++++++++++++++++++++++ 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 '159 1160 OVERLAY REGIONS EQUATES 000000 1 0001221 000364 1 000120 1 000122 000362 1 000050 000762 000002 001344 1 000076 000001 ;++++++++++++++++++++++++++++++++++++++ OV.KBBUF = SIZPOL ;KEYBOARD BUFFER STARTING ADDRESS OV.CO= OV.KBBUF + AD<82> ;CONTROL QUEUE STARTING ADDRESS OV.TO = OV.CO + AD<162> ;TYPE QUEUE STARTING ADDRESS OV.HIKB = OV.CO - :2 ;KEYBOARD BUFFER HIGH LIMIT OV.KBSIZ = OV.CQ - OV.KBBUF ;KEYBOARD BUFFER SIZE OV.HICQ = OV.TO - :2 ;CONTROL QUEUE HIGH LIMIT OV.CQSIZ = /4 ;CONTROL QUEUE SIZE OV.A = OV.TQEND - Ov.TQ ;GET THE TO SIZE OV.REM = OV.A - «OV.A/10>*10> ;GET ANY REMAINDER OV.HITO = OV.TQEND - OV.REM ;TYPE QUEUE HIGH LIMIT Ov.TOSIZ = /10 ;TYP~ QUEUE SIZE .END PAGE 22-3 SEO 1192 SIZPLE SIZE AND POLL SYSTEM - 11/70 SUPPORT ALONG WITH 22-81T ADDRESSING SIZPLE.MAC OS-SEP-7S 09:33 SYMBOL TABLE ACSR ACTBIT= ADDR22= ADR APTFER= APTPRE= ASB ASSEMB= ASTAT = AUTO AUTOST= AWAS BITO BITOO [31T01 8IT02 BIT03 BIT04 BITOS BIT06 BIT07 BIT08 BIT09 BIT1 BIT10 BIT11 BI112 81113 BIT14 8IT15 8IT2 BIT3 BIT4 BITS BIT6 BIT7 = BITS B1T9 BKDEF BKMOD BKMODE::: BKSLSH= CAPRES= CASTAT= CCNTRL= CDERCT= CDWDCT= CKTIM = CLKPRE= CONFIG= CPUCPE= CQOVF CR 000102 004000 001000 000006 000004 000200 000106 000010 000104 000010 020000 000110 000001 000001 000002 000004 000010 000020 000040 000100 000200 000400 001000 000002 002000 004000 010000 020000 040000 100000 000004 000010 000020 000040 000100 000200 000400 001000 000002 000020 0.40000 000134 000004 000004 "'***** G 000146 000144 100000 000001 000056 "'***** G 000001 000015 CSRA CSRC CTRLC CTRLO CTRLU DCEVNT= DEFRTN= DlAGMC= DROPMO= DSEVNT= DTABLE= DT.ADD= DT.AP = DT.APK= DT.BLS= DT.CFO= DT.CF1= DT.ERR= DT.ESI= DT.EVN= DT.EXS= DT.FCH= DT.FCN= DT.HMX= DT.KBE= 01. KBP= DT.KBR= DT.KBU= DT.MLS= DT.MTl= DT.OFF= DT.PAS= DT.PC = DT.PFL= DT.PSW= DT.PTA= DT.RCS= DT.REL= DT.SCT= DT.SMX= DT.SP = DT.SSI= DT.STO= DT.S11= DT.SWR= DT.SYP= DT.WBU= 01. WHL= DT.WLL= DVID1 = ECCMEM= ECCSTA= ENBEOP= 000100 000102 000003 000017 000025 000011 000400 000000 100000 000014 000000 000042 000100 000076 000034 000014 000016 000020 000044 000000 000060 000037 000036 000104 000024 000026 000022 000030 000032 000110 000070 000074 000002 000062 000004 000064 000102 000040 000066 000106 000006 000046 000010 000012 000056 000072 000050 000054 000052 000014 000100 000010 010000 ENBNUL= ENDLST= EOPBIT= ERRTYP= EVNTBE= EVNTHD= EVNTKT= EVNTPE= EVNTRE= FATERR= HRDADR= HRDCNT= HRDPAS= HTKT HTPAER= ICONT = ICOUNT= ICSRSZ= IDNUM = IE INDPAR= INHDRP= INHEPR= INHREL= INHRRE= INIT INTR IOMOD IOMODP= IOMODR= IOMODX= JACK KIPARO= KIPAR1= KIPAR2= KIPAR3= KIPAR4= KIPAR5= KIPAR6= KIPAR7= KIPDRO= KIPDR1= KIPDR2= KIPDR3= KIPDR4= KIPDR5= KIPDR6= KIPDR7= KONTRL= KTERRO= KTPRES= KTSET ::: KTSTAT= 000001 000000 000001 000106 000200 000200 000203 000202 000201 100000 ****** G 000044 000050 ****** G ****** G 000036 000040 ****"'* G 000122 000100 000040 040000 020000 001000 000400 000030 000120 100000 102000 112000 110000 035060 172340 172342 172344 172346 172350 172352 172354 172356 172300 172302 172304 172306 172310 172312 172314 172316 *"'*"''''''' G 000040 000400 "''''**'''''' G 000020 MACY11 30A(1052) 20-SEP-78 18:54 PAGE 23 SEQ 1193 KTXTND:: LF LPSTAT:: M}\PST A:: MED MEMPAS:: MODEXH:: MODHOL:: MODSEL:: MSGCKD:: MSGCKS:: MSGDER:: MSGDRP.:: MSGECH:: MSGEOP:= MSGHDR:= MSGHNG::: MSGHRD:= MSGMAP:= MSGNUL:= MSGPOp::: MSGPRM::: MSGRES::: MSGSFT::: MSGSKI;:= MSGSIV18:= MSGSMH= MSGSMS= MSGSTD= MSGSYS= MSGVEC= NBKMOD= NCPUOP= NOAPTY= NULL OV.A OV.CQ OV.CQS= OV.HIC= OV.HIK= OV.HIT= OV.KBB= OV.KBS= OV.REM= OV.TQ = OV.TQE OV.TQS= OWEN PAERR = PARPRE= PARSTA= PASCNT= PDPLSI= 040000 000012 000001 000200 076600 040000 004000 002000 001000 000010 000011 000005 000017 177777 000013 000004 000022 000007 000021 177775 000002 177776 000001 000006 000003 000015 000014 000016 000000 000012 000020 001000 000020 000002 000000 000762 000122RG 000050 G 000362RG 000120RG 001344RG OOOOOORG 000122 G 000002 000364RG 001346R 000076 G 024020 000010 002000 000100 000034 020000 PDP60 PDP70 PRIO PRI1 PRI4 PRI5 PRI6 PRI7 PRO 004000 010000 000000 000040 000200 000240 000300 000340 000000 000200 000240 000300 000340 177776 177776 000054 000130 000126 000132 000124 000101 000022 00002·0 020000 010000 PR4 PR5 PR6 PR7 PS PSW RANNUM= RBUFEA= RBUFPA= RBUFSZ= RBUFVA= RDSERV= RDWHMI= RELERR= RELMOD= REL TIM= RESREG= ****** G RES1 00005E, RES2 000060 RICHAR= 031060 RPTDAT= 002000 RSTRT = 000112 RUBOUT= 000177 RUNrv'lOD= 100000 R5VALU= 001740 SAM 07!:,464 SAVREG= ****** G SBADR = 000102 SBKMOD= 000000 SBKSEL= 010000 SC. ADR=Oo.qOOE, SC.ALC= 000014 SC.APC= OOOOH; SC.CKL= 000002 SC.CKP= 000004 SC.CLO= 000000 SC.HLD= 00001C> SC. SCA= 0000 1 ~~ SENDLS= 177777 SIZPOL OOOOOORG SOFCNT= 000042 SOFPAS= 00004E> SPACE = 00004() SPOINT= 000032 SIZPLE SIZE AND POLL SYSTEM - 11/70 SUPPORT ALONG WITH 22-8IT ADDRESSING SYMBOL TABLE 08-SEP-78 09:33 SIZPLE.MAC SPVALU= SRO SR1 SR2 SR3 SS. IOP= SS.PCL= SS.PCS= SS.RFS= 5S.0KC= SS.1KP= SS.120= SS.28 = STAT STATBI= STAT1 = SUSPND= SVRO SVR1 SVR2 SVR3 SVR4 SVR5 SVR6 SYSCNT= SYSERR= 002200 177572 177574 177576 172516 177600 172136 172100 160000 004000 000040 120000 000034 000026 064757 000027 000001 000062 000064 000066 000070 000072 000074 000076 000052 000100 ABS. 000000 001346 TMPIO = TQOVF = UIPARO= UIPAR1= UIPAR2= UIPAR3= UIPAR4= UIPAR3= UIPAR6= UIPAR7= UIPDRO= UIPDR1= UIPDR2= UIPDR3= UIPDR4= UIPDR5= UIPDR6= UIPDR7= WASADR= WBSTAT= WBUFEA= WBUFPA= WBUFRQ= WBUFSZ= WDFR WOTO 000002 000002 177640 177642 177644 177646 177650 177652 177654 177656 177600 177602 177604 177606 177610 177612 177614 177616 000104 000040 000136 000134 000140 000142 000116 000114 000 001 0 ERRORS DETECTED: DEFAULT GLOBALS GENERATED: 0 DSKZ:SIZPLE,DSKZ:SIZPLE=SPMAC/ML,EQUATE,SIZPLE RUN-TIME: 30 21 .4 SECONDS RUN-TIME RATIO: 257/53=4.8 CORE USED: 14K (27 PAGES) WTINRE= WTWHMI=. XFLAG '" XOFF XON $BGNLE= $ERFLG= $F$AND= $F$BAD= $F$BLA= $F$CAS= $F$DEC= $F$DO = $F$FAL= $F$GOO= $F$IF = $F$INC= $F$LOO= $F$NAM= $F$NO = $F$OR = $F$RTI= $F$RTN= $F$SEL= $F$THE= $F$TRU= 000352 000222 000005 000023 000021 177777 000400 000310 000401 000170 000150 000220 000340 0004:)5 000400 000110 000:d10 000200 000160 000403 000320 000350 000300 000140 000330 000404 MACY~1 $F$UNT:: $F$WHI:: $F$Yf:S::' $IFLEV:: $ISKO -$ISK1 -$ISK2 $LOCTA= $LSTIN:= $LSTTA:= $NESTL:= $NSKO $NSK-I $NSK2 $NSK3 $NSK4 $I'JSK5 $SAVLE:= $SSKO .$TAGLE= $TAGNU= $TEMP $TSKO $TSK1 $TSK2 $TSK3 30A(1052) 000130 000120 000402 177777 000G01 000001 000001 177777 000001 000001 177777 OOOJOO 000120 000110 00O~10 000110 000 \1 0 17'1777 050052 177777 050055 000300 050051 050052 050054 050046 20-SEp':'-78 18:54 $TSK4 = $TSK5 = $$ARGC= $$BYTE= $$CASE= $$05T = $$ELOC= $$ERFL= $$F LAG= $$FROM= $$LOC = $'~LOCN= $$REG = $$F.:ETU= $'!'iRTN1= $$RTN2= $$SRC = $$TGSV= $$TGS1= $$TGS2= $$TO $$$TAG= P,~GE 050047 050050 000002 000403 000000 000000 000402 000000 000001 000000 001314R 000000 177777 000000 050000 05000\ 000000 000000 000000 000000 000000 05000Ci 001346R 23-'1 SEQ 1194 **END** User CARPENTER,SA [400,4372] Job XMONAO Seq. 4205 Cate 25-Sep-78 12:28:45 Monitor IPC-F 603 [687] **END** **END** User CARPENTER,SA [400,4372] Job XMONAO Seq. 4205 Date **END** User CARPENTER,SA [400,4372J Job XMONAO Seq. 4205 Date 25-Sep-78 12:28:45 Monitor IPC-F 603 [687] **END** * * * X E R S P L 12:27:16 LPDAT 12~27:16 LPDAT 12:27:17 LPMSG 12:28:44 LPMSG 12:28:45· LPSUM Run Log * * ~5-Sep-78 12:28:45 Monitor IPC-F 603 [6B7] **END** * [XERLSJ XERSPL version 102(2263)/3(61) running on MTA061, 25-Sep-78 12:27:16] [XERSJS Starting Job XMONAO, Seq #4205, request created at 25-Sep-78 11:13:24] [XERSTF Starting Fi le DSKZ:XMONAO.SEQ<057>[400,3341]] [XERFPF Finished Printing File DSKZ:XMONAO.SEQ<057>[400,3341]] Spooler runtime 39 Seconds~ 437 KCS, 4010 disk reads, 1194 pages printed /TO:ML21-4:CARPEN -- Distribution to ML21-4, slot 133 **END** User CARPENTER,SA [400,43721 Job XMONAO Seq. 4205 Date 25-Sep-78 12:28:45 Monitor IPC-F S03 [6B7] **END** /TO:ML21-4:CARPEN -- Distribution to ML21-4, slot 133 **END** User CARPENTER,SA [400,43721 Job XMONAO Seq. 4205 Date i5-Sep-78 12:28:45 Monitor IPC~F 603 [SB7] **END** /TO:ML21-4:CARPEN -- Distribution to ML21-4, slot **END** User CARPENTER,SA [400,4372] JOb 1~33 XMONAO Seq. 4205 Date ~5-Sep-78 12:28:45 Monitor IPC-F S03 [6B7] **END** /TO:ML21-4:CARPEN -- Distribution to ML21-4, slot 133 **END** User CARPENTER,SA [400,43721 Job XMONAO Seq. 4205 Date 25-Sep-78 12:28:45 Monitor IPC-F 603 [6B7J **END** /TD:ML21-4:CARPEN -- Distribution to ML21-4, slot 133 **END** User CARPENTER,SA [400,43721 Job XMONAO Seq. 4205 Date 25-Sep-78 12:28:45 Monitor IPC-F 603 [687] **END**


Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.3
Linearized                      : No
XMP Toolkit                     : Adobe XMP Core 4.2.1-c043 52.372728, 2009/01/18-15:56:37
Create Date                     : 2004:12:10 17:10:11-08:00
Modify Date                     : 2010:11:23 17:14:34-07:00
Metadata Date                   : 2010:11:23 17:14:34-07:00
Producer                        : Adobe Acrobat 9.4 Paper Capture Plug-in
Format                          : application/pdf
Document ID                     : uuid:c01ba20a-e5e2-48b8-85ba-6ba699e7262c
Instance ID                     : uuid:c9dec701-01e4-4e53-adca-278f9b0505fb
Page Layout                     : SinglePage
Page Mode                       : UseOutlines
Page Count                      : 1196
EXIF Metadata provided by
EXIF.tools

Navigation menu