File UTIL.SB (8k SABR macro assembler source file)

Directory of image this file is from
This file as a plain text file

"/*M2/NI7O	P3R
I+HCT.1Z9*8B,3D
I3IGT3LV 3Q	U3PWM+NCT7CKO+P2.2 GM3YGN+R3D2 GM+S;S*M>J6ISU3I	L+TCY3SKU7RWO3T;I7EB 3A/C3AWG*M>J6IZI7EOR3I;O6 SU7ISL7YZ.*0B72(GJ3NGU+RCY*7B,.1Z9"96)"J6/*J*/****6*BI3AOT3HSE* >8.3^/*1B.2(GP3TC* B3LKI*8" +P?S*8B)*2B,7MKA+CCH.1^9*1&.*M>J2IGP3TC+ECD*1:87AKP+ICL.
^9*5B 7D[E3IWC2-?C+DCE22Z 7UKE6 SV*0B52 3L+SCI3O3P*M>J"M&J7ESNR	Y3OWP+NBI* B 2 &/7NSI3I3A3I	Z+NCG3ASN2 3F+ACG7SSE3T;I7GJ 7OSU3IWN"M&J7ESNR	Y3G;EI7O2JVI7NKT3YVI7XSI*I>I3E	X7TR 3OR 3I/S2 ?M7NSI+OCR7SOY3T7E"M&J7ESNR	Y7EKRO7R2JVI7NKT3YNI3K?I6IV/3S3E7EOS2 ?R3U
TN7E2J>I3PWD3F.IR	S.6N0"4*M6ICO3D[E2IOK/CZI.0J3"M&J3OSP+ECF3TSA/IF .4B0"M&J3OSP+ECF3DGC/IN .4B0"M&J3OSPE	F7JOM/IRI.4B0"M&J3OSP+ECF7JCM/IV .4B0*M>J2IGC+RCD3RGE7DKE2 ?I7TN	"M&J3OSPE	F7ROC/EZI.6J7"M&J3OSPE	F7ROC/PZI.6F7"M&J3OSPE	F7ROC/FZI.6F3"M&J3OSPE	F7RKC/
ZI.6J3*M>J3L;I7EB 3R;I7TKE2 ?I7TN	"M&J3OSPE	F3LKL.IZ6"6662J>I3PWD3F2IS	F.6Z6"1*M"M&J7LCA"M6J.JGU"7&,"1&7*I*/**B*7MOU3TJ 3EZ 7IOR3T2 +OCC+ICN3P
A+E* "*6*"J*M3IWOR&,.1F1"7*M.IV0"2&2*IJ/3IWO+RB"7EKRO7R2JWG3N?I2,JI3LOO/KJ *I>I3G;E3EGR3L& 7NWP3T>/7UCT+UCT7RWO3T;IE*M2IOD/A^I6IN/3AWV2 ;E7T	R2 OA2M^J3E3NP&,3TSA"I676JJIT7L6JJIT7L6JJIA7L.JKU*0202I;A7DVI"1676JRIA	D7JCM3IKT"M&J3DGC6IOD3POA+H>I3ISN+ECX3J7U7P
 3A3B3EJ 3YR 3E	V+CCE3N7U7BKE"M&J3TSA.IKU"0602J.IR7S6JRIA	D/UKM"0636JNI+NCA3CGL"M&J3K[S*I>I3CWH+CCK7FKO2 O^2 ;O2 WT7LSE3YWP2MRJ3SGP+C3H2I?NP&I2/?N2 O^* B-7DOI7PSA+CCH+TCO3I>/2 ?R3U	TN7E2JNI3A3L*I203E	XT*M2M*J3M	P+T3B2I7JP	I7D[E3TKA2MRJ7ESV+A3B6IST7YWOT*M6
OH7PWOT*M6ICL7TWOT*M2IWG7NWOT*M6IST3Y;I"M&J7HKSI7N2JNI3D	RN*M2IWG3N;I"M&J7T	T3F+U*I>I3FSU+GCE6-N +ECE3T3E7E	T+PCE7ICN+UCT7RWO3T;IE*M7CKD+C3T"I602JSC/RB1"0&,.1B02M.J"3&,"3&I2/?S7NSS2 GW3R. 3E;I2 3P7A+T2 WMH7R.JKK*122.IF2"2*M3PSC3RKT2,NI7DSRB7L2JSC/RF2"5&,.
V12M.J/MF2"5&,.-F2"5*M2M"J3S?P+U3T.IR6"1612J*IM	P3G;EL7P6JRIA	D"7*M.IR6"1662JWG7NSRN&,3CGL"M&J7RSER	N3G;EI7O"J*M7T	T+I3N6IOKF*M2I7J3P^I3E3NP*M2I3C3AN +LCL3C3M6 SR+R>I****2*WD3P;E+DCS+OCN3N7U7BKE2 [O2 WD3VOI+ECS****"**M2I7J3P^I3E3N+P>I7TOE3TZ +OCR+^CC3OWN2
GL+SCT3T7IE*M2M"J3S	RN&,.6B4"1*M2I7J3P^I3E3NP*M.IR6"0662J?L/OGK.,ZI.4F1"M&J7JCM2I?L/OGK"M&J.6F4"6*M2IGT3D.I/MF2"5*M2I;SA*M2I7J3P:I7ESX"M&J3TSA2ISC/RF2"5*M2I7J3P^I7EKN+TON2M:J7ESX6,RIA	D/KF2"2*M3L?O+K22.IR6"1612J*IM	P3L?OK62.JZI.4Z1"M&J3TSA.IOK"M&J7JCM2IWG
NSRN6"J*M/UKM*023.IJ-"0632JSC3R;I6,RIA	D7CKDC7T6JNI+NCA3CGL"M&J7JCM2ISC7RN+T>I7N
E2 GC+RCD3NOE7EOS7A	R"M&J7I+S2ISC7RSC2IF/3DGV3NWC2 ?T2 WN+XCT3C3O3U;M"M&J7JCM2ISC3RWGT*M2IGT3DNI/DKR"1&52/?N2 ?M+RCE6-N 3ESN* CA7CKA3RGI+GCE7RSE3U;R"M&J7JCM2IWG7NSRN6"J*M7CKD7NSX6,JI3CWS"M&J7JCM2IWG7NCL2IN/3HOE3KZ +OCR+^CC3W	H+LCE3W	A3T;I3GZ +OCR7NE3TN 3A
R2MNJ7DSR+S3T2IORS7P2J*IM	P7CKD3C3O2I:/+OCT3ESN2 [O2 GC+RCD7YSE"M&J3TSA2ISC7RSC2IV/+NCD+OCF7CKA+D6 2 WS7TV 3PZ +OCR7ESX3ROA3T?I3N> 3FN 7HKAS*M2I	CA*M2IOD3ANI3D3RE7N2J*IM	P7CKD7GSE2IN/3HOE3KZ +OCR+^CC3AGGI7N2JSC7ROET&,3K[S"M&J7JCM2ISC7ROTT*M2IOKC*M2I7J3PNI
D;RX7T2JSC3R?CL&,7ROCF&I2/;A3YT3I
N2 WYT6?2J*IM	P7CKD7ESS2I./7ECE2 ?L3O	KN7G6JJI3CGR*I>I3RGE3D& T*M2I3C7LJ A7R6JRIA	D3PSC3RKT"M&J7JOM" 	I3PSC3ROG2I^/+ECT3TKA+LCE7ESN+R3Y2 ?F3R	C+NCG7DSA3AZ 3I3E3DN 7UKR7ESN"M&J3DGC2ISC3RWL+N>I7S[A3E& 7TR 7ECM3OGR3R3IY*M2IGT3DNI3DORT*M2I	CA*M2I3C7LJ A7R6JRI
	D7CKD.1B02I&/3NWD7XR 3A3B3EF 3T2 +OCC.1F0"0602JRIC	A7DCS3AC"M&J.6F2"1&I2/SC/FF "0*M2IGT3DNI3D3RE7N6JNIZ	L6I^/3HOI3H" 3A[L"?*M2I7J3PNI3D?NR	T2/	R7GSH2 GHL7F6JJIT7L6JJIT7L6JJIT7L6JNIK7P2JSC7NKOT&,3TSA3IRI3SGPC	H2/SA3DV 7XOI3T;I3G2 7ESF2 GHL7F2JRI3C	A6IOD3P
A+H>I7S[A7EV 3PGD3TSE2 ;E7T	R"M&J3CGL2 7CA*M2IGT3DNI3DORT*M2IOD3ANI3DOR+T>I3USP3AWT2 ?C3L7U7NB 3O;I7TKE"M&J7JCM2ISC3R?CL*M2MNJ3D
R+E3T2IGT3DNI3DORT*M2IGT3DNI3D3RE	N2/?F+RCM3CGH7RB 3O;I7TKE2 ;I+TCO3TKA+LCE+ACT.1F0"0602JNI+LCL7RKA"M&J3TSA2ISC/RB1"0*M.IJ6"1612J*I3M	S2IOP3D
RC	H2/;I7DE2 GT3BWL2 ;A7DB 3U3L6 WO3TN 7HKA2 R(/FF="06)6JRIA	D7CKD.2B42IN/3H;A+GCE+TCO3AOSI7I2J*IM	P3G;E3R;T*>I7RSE3U;R6MBJ7CKD+G3C2ISC3ROGH&I6/OU+ECD+TCO7FKO+CCE/D7F7CKU3R;E7T^ 3H;E2 WN7COE7SKAY*M2MNJ/DKR*420.IR2"0*M7CKD3L;E.,BI"M6J6JBI3AWG"M2J/U^3"7&,.3
7*I>I7MOU3TJ 3EZ 7IOR3T2 +OCC+ICN3T	H7SB 3AWG2M^J3E	NN&,.6B2"1*M2IGTD	I3I;H7DKL"M&J3SGN2 3CA&I6/CO+ECN7ICN+UCT3F3IE6?2J*IM	P3IWOR	R2/?N"M&J.6B2"2*M2I7J3S& 2I	F3CGH+R>I7GSE* CA3CGHR*M2I7J3P&I7OKE+R>I7ICN+UCT7EKRO7R6JWU.2B02,FIN	D/U^3"7*M7GSR+N222IWR3T;R2IW
3N?I"M6J2JWG7NWOT&,.6B2"1*M2IGTD	I3O;H7DKL"M&J3SGN2 3CA&I6/CO+ECN7OSU7PSU2 	F/L?E"M&J7JCM2I?I7EKR2I:/O*M.IJ6"0626JRIA	D*7>I7GSE2 C+ACR+TCO+BCE7OSU7PSU"M&J3ASN.IOU"7672J*I+MCS3IZI3OCA	R6/WP3TF 2 C3AGR3CWTR*M2I7J3P&I7OKE+R>I7OSU7PSU6 KE7RKO"M&J7JCM6IKG/TKN"
6J2JI3N3DR&,.1J2*I>I****3A3L2 T3EWS2 ?L7CSA3I;O3SF +RCE7VKE7YZ 3OGL3T3I+EF!* **"**M3FOI7HKA.,ZI"0&6*I*/********2M>J3HSN+L3R.IJ1"1&I*/******"*6*2J?F3CGHR&,.6F5*I>I************************"M6J"J6/"J&/3I	N3TGI7L+I3I
N6 WS3B?R3U	T+NCE3C3A3LSE6 	B2 ?F7RKTA7N"J&/3CWL7AOR2 3F7OSA3I
N2 OA2 ;A7DN 7EOT2 3F7AOG*M>J2M>J3P;E2,JI3LOO/KJI"M&J3TSA.IJ("1626JRIL	S6/WP3T2 3IWN2-WF+ECD+OCN7T	T"M&J3LKL2I&/7NSI3I3A3IWZ6 CLT*M2IOK+C>I3CWL+ACR7K	E3BGO+RCD3FGL+G" 3ASN2 OA")*M.IR6"166.JZI.4J0"M&J3C3A/LBI2,3C7EKA"M&J.6B2"1*M2IODA	I3I;H7DKL"M&J3DGC3I>I3
SNL	R6I*/3E?R2 WD3VOI3E&-3NWD3P;E3D;E3T& 3OZ 3L
AS*M2IWR3T;R6ICOE7N"J*M2M2J3P?T+U3T6IOLF*M2I7J3P^I3E3NP*M2IGT/D^I"M&J7I+S2I[P3SOTH*M2I7J3P:I7OOFT*M2IGT+D"I.-J1"6&22/?L+OCK7FKO2 ?C7NKT+OCL3CGH+RCS+ICN3P	R+NCT7POO3I	T+OCN"1*M2I3C3L& A7C2J&IA7C6JNIN7L2J*IM	P3DGCC7H2JNI+LCL3R3A"M&J3TSA.IJ("1622J?N7FSS2,2IL
B6JRIA	D.(F-.2J12MRJ3COAH&,3SGN2 3CA&I2/[I2 	L+NCE3FWED*M2I7CA&I2/WS+TJ 7FKI+SCT3CGH+RB"3S	W3TC2 ;O"M&J3DGC2I[P3SOTH*M2I7J3P^I3R;T"2*M7POF3TC*,6I"1*M6MRJ3T[Y+U3J2IGT7DVI/UB2"0*M6IKKS*M2IOD/A^I6IN/3AWV2 WK3Y?B3ASR2 CA7R2J.IC	C2IN/3LGE3RZ 3L
A"M&J3TSA"I676JRIA	D.(J-"1626JNI+ZCA3CGL"M&J7JOM6I	TP7E6JRIA	D"7*M2IGT+D"I.-F2"5*M6I+S3AN L7A2J*IM	P7TKYT7N2JNI+LCA3C3L2 7C7AJ T7L2J*IM	S7TCYE*M7TKY+T3N2IGT/D^I"M&J7JCM6IKG/TKN6IJ/7EWT+RCN7WSI3HN 7HKA2 ;I2 OA"M6J6J	T+P3E"I606JRIA	D"7*M7TCY7ECL6,RIS7F2J*IM
P7TCY7ECL"M&J7TOL"M&J3CGL"M&J7JCM7IRI3YWP"M6J6JST7YWOT&,7JOM6I	TP7E2J*IM	P7GSRN62"J*M3IWO+R3R2IGCL	L21V,3R?RR*M6IKA3G&I7OKE"M6J2JSC3RKTL&,.0J0.1J;.2N2.;R2.2.5.2J6"7*M.IB3.3.1.3B2.3R;.0^0.;V3"062.JJI.0^1.;N6.6.4.6Z5.6Z;.7B7"M&J.7^1.2^;.5R1.;V0.7.7.3N6"7*M.
V1.5.2.5V3.4V;.5Z5.;^5"660.JZI.1J6.;F0.0.4.1F2.1N;.3R7"M&J.0R6.1R;.2N4.;R4.4.5.4R6"7*M.IB5.5.1.7F3.6N;.4B1.;N1"766"J*M2IGPG7E"J6L2J7P3E
S2,6I3E
S2M6J3E
S.,^I.7^7"M&J.7^7"7*M.IB4"065.JJI.2J2"M&J.1J7"2*M.IB4"061.JJI.4B4"M&J.1F4"7*M.IN0"4602J	L+T27.IB0"067"J*M7EKR+O3R2I3B3O/C" &22IV/3R?R7RB 3ROO7EOSO7R.J
U.6B0.,^I.6B0"M&J3TSA6IKE7RKO"M&J3DGC2IWTM612JWT+M212I?NP&I2/WS3TR 3AGT2 	F3ESL2 [O2 N"3A3L6 KE7RKO""*M2IGTD	I7EKR+OOR"M&J3DGC2IWTM632J&IN	C7EKR+OOR2MVJ*6202I3C3AN +MCA3C3M2IN/+MCL+ICS3W;I7D
O6 KD7EOS3I
N"M&J3TSA3IVI3R?RR62JRIC	A"1602J&IN	C7EKR+OOR6MRJ/EOM2,:IO	P2IR/3AGT2 	F3ESL2 [O2 WM3SGS+G[E7ESN+RCY3P	ON7T2JRIC	A3C	K+O>I7ZKE+OJ 7FSA+ACL7EKR+OKR2 3FA7G6JRI3A	D.IB1"M&J3R3A"M&J3S3Z*I>I3N;O2-GF3T3A2 	B3T> N6?2J&IS	Z3C	K+O>I7YOE* B-7SSE2 Z"3AGT3LZ 3L
A6"R 3O: +O7N7FSAA7L2JNI+LCL7RKA*I>I7SKT+ICP3N;O2-GF3T3A2 	B3TZ 3R7O2 WM3SGSG7E2JRIC	A7MOEG*M2IGTD	I"1&02/WS3C;O7D^ 3OSR2 [O2 WM3SGSG7E2JRIC	A7MOEG66JRI3A	D.IB1"M&J3DGC2IWTM616JRI3A	D.IB1"M&J3DGC2IWTM&32/GC3L	L+NCG3ASD7ROES*M2IGT7DBI7MOEG*M2IOD7ARI/EKM"M6
6JKE+L3P2IGT3D& 2IWTM626JJIT7R6JJIT7R6JJIT7R2J*IM	S/P[R7BSI"M&J3TSA" 	I3T7E"2*M2I7J7SBI3RJ6I7T2J&IN	C3T7E"2*M2I7J3PVI7RCL"M6J6JKP3LOO6,RIA	D3T7E"1*M6ISRR*M6ISRR*M2I7J3SVI7RST+Y>I3P	R+NCT3C3A3L;I3GZ 3I3ED*M2IGT+D"I"-642JRIC	A3T7E"2*M3N7U+L3P2IGT7DRI/EOM"M&
3R3T"M&J3R3A"M&J3DGC2IWTM636JRIA	D3T7E"3*M2I7J3SVI7RSTY*M6IOI7ZRI/EKM"M&J7JCM6IWN7MCL"M&J3TSA.IJ("1652JRIC	A"7*M2I7J7SRI3YWP"M&J3CGL2 3C3LN +MCA3R3T"M&J7JOM6I	TP7E6JRIA	D3C	K+O>I7GSE2 T3EZ 3AGT3LV 3R?R3RZ 3L
A"M&J3SGN2 3CA&I2/W3ASD3OWW/D?O"?*M2I7J3PVI7XSIX*M2IWR3T;R6IKE7RKO2I"/7EN 7AOY6 SI3S: +O7N7FSA+ACL2-2 +ECT3H7I2 GH3N3D3E& T*M2MVJ7RSTY&,*0>I3D
I+ICT3P	R3N	T+NCG7RWO3T;IE*M2IGRL*M2I;A3D2I/I
T"M&J3TSA.I[E"0*M2I7J7SBI3RJ6I7T2J*I+MCP3IVI7RSTY*M6MBJ3RJ6+I3T"I&0.IZ/7BSI2 ?T2 J8+ICT3C;O7VKE7TKO"M&J3ASN.I^("7*M2I;SA*M2I7J7PBI3R?L+C>I7MOE3S
A3E> 7VKE"M&J3TSA.I^(.7B4"M&J3SGP"M&J3TSA.IF("0606JRIA	D.(R2"0*M2IGCL	L20^,3E	N+O>I3L?O3KZ +OCR+^CC3W	H+LCE7TCY3I
N"M&J7JCM" 	I/P[R7BSI"M6J"J6/2JV/7XSI2 ?T2 	D+SCK3M;O3I?T7RN 7YSSE7M"J6/6JE+I3T2I3B3O/C"I626JE7IT2,NI3A3L*I203C	KO*M.IJ6"0632J*I3M	P.I
U.6B06IJ/7EWT+RCN+TCO3M;O3I?TR*M2MNJ3K?I.,BI6MRJ/EKM.,BI2IR/3U7M7YN 7UKB7OSU3IWN2 ?T2 GW+ICT7FKO* ?I3ON 7OCM7LSEE*M7C
K7ASI.,ZI.0F4"M&J7JCM2I/C3W	AT*M2IWR3T;R2I/CI7O"J*M7CKD3GC.,BI2I^/+ECT3AN 7HKA6 KF+OCM7AB 3A/C+ECD3TKAL7E2JRIC	A3T7E*2>I7WKO7DB +TCR+ICN+A3C2 WL+F?T3R
I+HCT+SCW+ICN3L;IK*M2IGTD	I3T7E*2>I3PWR7SKE+VCE7ESN+RCY3FWIL7D6JNIZ7L2J*IM	P7CKD3ASN6IJ/3IG3T" 3A[L"M&J7RKT"M&J7RKT"M&J7RKT2MNJ3DGR+N3D2I;A3DNI/D
R"7*M2I7J3P& 2 SC3ROG+H>I7ROE7TKO3EN 7UKR7ESN2 	F3ESL2 ;A3D^ +ECT7OSU2MNJ/D
R"7&,"767"J*M2I;ED*MBLBZ

Note: Lines longer than 256 characters were wrapped



Feel free to contact me, David Gesswein djg@pdp8online.com with any questions, comments on the web site, or if you have related equipment, documentation, software etc. you are willing to part with.  I am interested in anything PDP-8 related, computers, peripherals used with them, DEC or third party, or documentation. 

PDP-8 Home Page   PDP-8 Site Map   PDP-8 Site Search