; D1Prinasm.asm -- strings for D1Prin1.bcpl
;	Last edited: 21 July 1980

.bext FFtab,BCtab,ShiftTab,ALUStab,RMtab,IMWriteT,IMReadT,MemRT,SMemRT

.txtm B

.srel

FFtab:		.FFtab
BCtab:		.BCtab
ShiftTab:	.ShiftTab
ALUStab:	.ALUStab
RMtab:		.RMtab
IMWriteT:	.IMWriteT
IMReadT:	.IMReadT
MemRT:		.MemRT
SMemRT:		.SMemRT

.nrel

; Table of 400 functions
.FFtab:	SS0-.		; 20 A←small constant
	SS1-.
	SS2-.
	SS3-.
	SS4-.
	SS5-.
	SS6-.
	SS7-.

	SS10-.
	SS11-.
	SS12-.
	SS13-.
	SS14-.
	SS15-.
	SS16-.
	SS17-.

	Null-.		; A←RM/STK
	T-.
	Md-.
	Q-.
	XorCarry-.
	XorSavedCarry-.
	Carry20-.
	Null-.		; ModStkPBeforeW

	UndFF-.
	ReadMap-.
	Input-.
	InputNoPE-.
	RisId-.
	TisId-.
	Outputd-.
	FlipMemBase-.

	Null-.		; RSTK for write
	Null-.
	Null-.
	Null-.
	Null-.
	Null-.
	Null-.
	Null-.

	Null-.
	Null-.
	Null-.
	Null-.
	Null-.
	Null-.
	Null-.
	Null-.

.BCtab:	ALUz-.
	ALUl-.
	ALUnc-.
	Cntz-.
	Rl-.
	Rodd-.
	IOAttenx-.
	Overflow-.

	BigBDispatch-.
	BDispatch-.
	Multiply-.
	Q-.
	UndFF-.
	Null-.		; TGetsMd
	FreezeBC-.
	Null-.		; This is the only legit no-op

	PCFd-.
	IFUTestd-.
	IFUTick-.
	RescheduleNow-.
	UndFF-.
	MemBase-.
	RBase-.
	Pointers-.

	UndFF-.
	UndFF-.
	UndFF-.
	UndFF-.
	UndFF-.
	UndFF-.
	UndFF-.
	UndFF-.

	MarMuxd-.
	MarMuxd-.
	CFlagsd-.
	BrLod-.
	BrHid-.
	TestSd-.
	LoadMcr-.
	ProcSRNd-.

	InsSetOrEventd-.
	EventCntBd-.
	Reschedule-.
	NoReschedule-.
	IFUMRH-.
	IFUMLH-.
	IFUReset-.
	BrkInsd-.

	UseDMD-.
	MidasStrobed-.
	Taskingoff-.
	Taskingon-.
	StkPd-.
	RestoreStkP-.
	Cnt-.
	Link-.

	Qlsh1-.
	Qrsh1-.
	TIOAd-.
	UndFF-.
	HoldTSim-.
	WFd-.
	RFd-.
	ShC-.

	FaultInfox-.
	VaHi-.
	VaLo-.
	Pipe2x-.
	Pipe3x-.
	Pipe4x-.
	Configx-.
	Pipe5x-.

	PCXx-.
	EventCntAx-.
	IFUMRHx-.
	IFUMLHx-.
	EventCntBx-.
	DBuf-.
	RWCPReg-.
	Link-.

	RBased-.	; 20 RBased←sc
	RBased-.
	RBased-.
	RBased-.
	RBased-.
	RBased-.
	RBased-.
	RBased-.

	RBased-.
	RBased-.
	RBased-.
	RBased-.
	RBased-.
	RBased-.
	RBased-.
	RBased-.

	Null-.		; 20 change-RBase-for-write
	Null-.
	Null-.
	Null-.
	Null-.
	Null-.
	Null-.
	Null-.

	Null-.
	Null-.
	Null-.
	Null-.
	Null-.
	Null-.
	Null-.
	Null-.

	TIOAf-.		; 10 TIOA[n]
	TIOAf-.
	TIOAf-.
	TIOAf-.
	TIOAf-.
	TIOAf-.
	TIOAf-.
	TIOAf-.

	MemBaseXd-.	; 4 MemBaseX←
	MemBaseXd-.
	MemBaseXd-.
	MemBaseXd-.
	MemBXd-.	; 4 MemBXd←
	MemBXd-.
	MemBXd-.
	MemBXd-.

	UndFF-.
	UndFF-.
	ALUFMRW-.
	ALUFMEM-.
	Cnt-.
	Pointers-.
	TIOASB-.
	ShC-.

	Rsh1-.
	Rcy1-.
	Brsh1-.
	Arsh1-.
	Lsh1-.
	Lcy1-.
	Divide-.
	CDivide-.

	MemBased-.	; 40 MemBase←
	MemBased-.
	MemBased-.
	MemBased-.
	MemBased-.
	MemBased-.
	MemBased-.
	MemBased-.

	MemBased-.
	MemBased-.
	MemBased-.
	MemBased-.
	MemBased-.
	MemBased-.
	MemBased-.
	MemBased-.

	MemBased-.
	MemBased-.
	MemBased-.
	MemBased-.
	MemBased-.
	MemBased-.
	MemBased-.
	MemBased-.

	MemBased-.
	MemBased-.
	MemBased-.
	MemBased-.
	MemBased-.
	MemBased-.
	MemBased-.
	MemBased-.

	Cntd-.		; 20 Cnt←
	Cntd-.
	Cntd-.
	Cntd-.
	Cntd-.
	Cntd-.
	Cntd-.
	Cntd-.

	Cntd-.
	Cntd-.
	Cntd-.
	Cntd-.
	Cntd-.
	Cntd-.
	Cntd-.
	Cntd-.

	Wakeupf-.	; 20 Wakeup[task]
	Wakeupf-.
	Wakeupf-.
	Wakeupf-.
	Wakeupf-.
	Wakeupf-.
	Wakeupf-.
	Wakeupf-.

	Wakeupf-.
	Wakeupf-.
	Wakeupf-.
	Wakeupf-.
	Wakeupf-.
	Wakeupf-.
	Wakeupf-.
	Wakeupf-.

SS0:		.txt "0S"
SS1:		.txt "1S"
SS2:		.txt "2S"
SS3:		.txt "3S"
SS4:		.txt "4S"
SS5:		.txt "5S"
SS6:		.txt "6S"
SS7:		.txt "7S"
SS10:		.txt "10S"
SS11:		.txt "11S"
SS12:		.txt "12S"
SS13:		.txt "13S"
SS14:		.txt "14S"
SS15:		.txt "15S"
SS16:		.txt "16S"
SS17:		.txt "17S"

RM:		.txt "RM"
XorCarry:	.txt "XorCarry"
XorSavedCarry:	.txt "XorSavedCarry"
Carry20:	.txt "Carry20"

ReadMap:	.txt "ReadMap"
Input:		.txt "Input"
InputNoPE:	.txt "InputNoPE"
RisId:		.txt "RisId"
TisId:		.txt "TisId"
Outputd:	.txt "Output"
FlipMemBase:	.txt "FlipMemBase"

ALUz:		.txt "ALU=0"
ALUl:		.txt "ALU<0"
ALUnc:		.txt "Carry'"
Cntz:		.txt "Cnt=0&-1"
Rl:		.txt "R<0"
Rodd:		.txt "R odd"
IOAttenx:	.txt "IOAtten'"
Overflow:	.txt "Overflow"

BDispatch:	.txt "BDispatch"
BigBDispatch:	.txt "BigBDispatch"
Multiply:	.txt "Multiply"
FreezeBC:	.txt "FreezeBC"

PCFd:		.txt "PCF"
IFUTestd:	.txt "IFUTest"
IFUTick:	.txt "IFUTick"
RescheduleNow:	.txt "RescheduleNow"
MemBase:	.txt "MemBase"
RBase:		.txt "RBase"
Pointers:	.txt "Pointers"

MarMuxd:	.txt "UndMarMux"
CFlagsd:	.txt "CFlags"
BrLod:		.txt "BrLo"
BrHid:		.txt "BrHi"
TestSd:		.txt "LoadTestSyndrome"
LoadMcr:	.txt "LoadMcr"
ProcSRNd:	.txt "ProcSRN"

InsSetOrEventd:	.txt "InsSetOrEvent"
EventCntBd:	.txt "EventCntB"
Reschedule:	.txt "Reschedule"
NoReschedule:	.txt "NoReschedule"
IFUMRH:		.txt "IFUMRH"
IFUMLH:		.txt "IFUMLH"
IFUReset:	.txt "IFUReset"
BrkInsd:	.txt "BrkIns"

UseDMD:		.txt "UseDMD"
MidasStrobed:	.txt "MidasStrobe"
Taskingoff:	.txt "TaskingOff"
Taskingon:	.txt "TaskingOn"
StkPd:		.txt "StkP"
RestoreStkP:	.txt "RestoreStkP"
Cnt:		.txt "Cnt"
Link:		.txt "Link"

RBased:		.txt "RBase←"

Qlsh1:		.txt "Q lsh 1"
Qrsh1:		.txt "Q rsh 1"
TIOAd:		.txt "TIOA"
HoldTSim:	.txt "Hold&TaskSim"
WFd:		.txt "WF"
RFd:		.txt "RF"
ShC:		.txt "ShC"

FaultInfox:	.txt "FaultInfo'"
VaHi:		.txt "VaHi"
VaLo:		.txt "VaLo"
Pipe2x:		.txt "Pipe2'"
Pipe3x:		.txt "Pipe3'"
Pipe4x:		.txt "Pipe4'"
Configx:	.txt "Config'"
Pipe5x:		.txt "Pipe5'"

PCXx:		.txt "PCX'"
EventCntAx:	.txt "EventCntA'"
IFUMRHx:	.txt "IFUMRH'"
IFUMLHx:	.txt "IFUMLH'"
EventCntBx:	.txt "EventCntB'"
DBuf:		.txt "DBuf"
RWCPReg:	.txt "RWCPReg"

TIOAf:		.txt "TIOA["

MemBaseXd:	.txt "MemBaseX←"
MemBXd:		.txt "MemBX←"

Rsh1:		.txt ") rsh 1"
Rcy1:		.txt ") rcy 1"
Brsh1:		.txt ") brsh 1"
Arsh1:		.txt ") arsh 1"
Lsh1:		.txt ") lsh 1"
Lcy1:		.txt ") lcy 1"
Divide:		.txt "Divide"
CDivide:	.txt "CDivide"

MemBased:	.txt "MemBase←"

Cntd:		.txt "Cnt←"

Wakeupf:	.txt "Wakeup["

ALUFMRW:	.txt "ALUFMEMRW"
ALUFMEM:	.txt "ALUFMEM"
TIOASB:		.txt "TIOA&StkP"

UndFF:		.txt "UndFF"
Null:		0

.ShiftTab:
	ShiftNoMask-.
	ShiftLMask-.
	ShiftRMask-.
	ShiftBothMasks-.
	ShMdNoMask-.
	ShMdLMask-.
	ShMdRMask-.
	ShMdBothMasks-.

ShiftNoMask:	.txt "ShiftNoMask"
ShiftLMask:	.txt "ShiftLMask"
ShiftRMask:	.txt "ShiftRMask"
ShiftBothMasks:	.txt "ShiftBothMasks"
ShMdNoMask:	.txt "ShMdNoMask"
ShMdLMask:	.txt "ShMdLMask"
ShMdRMask:	.txt "ShMdRMask"
ShMdBothMasks:	.txt "ShMdBothMasks"

.ALUStab:
	Null-.		; 0
	A0-.		; 1
	A1-.		; 2
	NotL-.		; 3
	L-.		; 4
	R-.		; 5
	RandnotL-.	; 6
	RxorL-.		; 7
	RxnorL-.	; 8
	RorL-.		; 9
	RornotL-.	; 10
	RandL-.		; 11
	RML-.		; 12
	RPL-.		; 13
	RM1-.		; 14
	RP1-.		; 15
	TwoL-.		; 16
	StrangeL-.	; 17
	Comma-.		; 18

A0:		.txt "A0"
A1:		.txt "A1"
NotL:		.txt "not ("
L:		.txt "("
R:		.txt ")"
RandnotL:	.txt ") and not ("
RxorL:		.txt ") xor ("
RxnorL:		.txt ") xnor ("
RorL:		.txt ") or ("
RornotL:	.txt ") or not ("
RandL:		.txt ") and ("
RML:		.txt ")-("
RPL:		.txt ")+("
RM1:		.txt ")-1"
RP1:		.txt ")+1"
TwoL:		.txt "2("
StrangeL:	.txt "Strange("
Comma:		.txt ","

.RMtab:	S0-.	; Regular printout when STK read/written
	S1-.
	S2-.
	S3-.
	S4-.
	S5-.
	S6-.
	S7-.
	S10-.
	S11-.
	S12-.
	S13-.
	S14-.
	S15-.
	S16-.
	S17-.

	MS0-.	; ModStkPAfterW printout when stack read/written
	MS1-.
	MS2-.
	MS3-.
	MS4-.
	MS5-.
	MS6-.
	MS7-.
	MS10-.
	MS11-.
	MS12-.
	MS13-.
	MS14-.
	MS15-.
	MS16-.
	MS17-.

	PS0-.	; StkP+/-n printout when stack not read or written
	PS1-.
	PS2-.
	PS3-.
	PS4-.
	PS5-.
	PS6-.
	PS7-.
	PS10-.
	PS11-.
	PS12-.
	PS13-.
	PS14-.
	PS15-.
	PS16-.
	PS17-.

S0:	.txt "Stack"
S1:	.txt "Stack&+1"
S2:	.txt "Stack&+2"
S3:	.txt "Stack&+3"
S14:
S4:	.txt "Stack&-4"
S15:
S5:	.txt "Stack&-3"
S16:
S6:	.txt "Stack&-2"
S17:
S7:	.txt "Stack&-1"
S10:	.txt "Stack&ChkUFL"
S11:	.txt "Stack&+1&ChkUFL"
S12:	.txt "Stack&+2&ChkUFL"
S13:	.txt "Stack&+3&ChkUFL"

MS0:	.txt "Stack"
MS1:	.txt "Stack+1"
MS2:	.txt "Stack+2"
MS3:	.txt "Stack+3"
MS14:
MS4:	.txt "Stack-4"
MS15:
MS5:	.txt "Stack-3"
MS16:
MS6:	.txt "Stack-2"
MS17:
MS7:	.txt "Stack-1"
MS10:	.txt "Stack+ChkUFL"
MS11:	.txt "Stack+1&ChkUFL"
MS12:	.txt "Stack+2&ChkUFL"
MS13:	.txt "Stack+3&ChkUFL"

PS0:	0
PS1:	.txt "Stkp+1"
PS2:	.txt "Stkp+2"
PS3:	.txt "Stkp+3"
PS14:
PS4:	.txt "Stkp-4"
PS15:
PS5:	.txt "Stkp-3"
PS16:
PS6:	.txt "Stkp-2"
PS17:
PS7:	.txt "Stkp-1"
PS10:	.txt "ChkStkUFL"
PS11:	.txt "Stkp+1&ChkUFL"
PS12:	.txt "Stkp+2&ChkUFL"
PS13:	.txt "Stkp+3&ChkUFL"

.IMWriteT:
	imrhbxpok-.
	imlhr0xpok-.
	imrhbpok-.
	imlhr0pok-.
	imrhbxpbad-.
	imlhr0xpbad-.
	imrhbpbad-.
	imlhr0pbad-.

imrhbxpok:	.txt "IMrhB'Pok"
imlhr0xpok:	.txt "IMlhR0'Pok"
imrhbpok:	.txt "IMrhBPok"
imlhr0pok:	.txt "IMlhR0Pok"
imrhbxpbad:	.txt "IMrhB'Pbad"
imlhr0xpbad:	.txt "IMlhR0'Pbad"
imrhbpbad:	.txt "IMrhBPbad"
imlhr0pbad:	.txt "IMlhR0Pbad"

.IMReadT:
	readim0-.
	readim1-.
	readim2-.
	readim3-.

readim0:	.txt "ReadIM0"
readim1:	.txt "ReadIM1"
readim2:	.txt "ReadIM2"
readim3:	.txt "ReadIM3"

.MemRT:
	PreFetch-.
	Map-.
	LongFetch-.
	Store-.
	DummyRef-.
	Flush-.
	IFetch-.
	Fetch-.
	Store-.
	Store-.
	Store-.
	Store-.
	Fetch-.
	Fetch-.
	Fetch-.
	Fetch-.

PreFetch:	.txt "PreFetch"
Map:		.txt "Map"
LongFetch:	.txt "LongFetch"
Store:		.txt "Store"
DummyRef:	.txt "DummyRef"
Flush:		.txt "Flush"
IFetch:		.txt "IFetch"
Fetch:		.txt "Fetch"

.SMemRT:
	Md-.
	Id-.
	Q-.
	T-.

Md:		.txt "Md"
Id:		.txt "Id"
Q:		.txt "Q"
T:		.txt "T"

.end