comment A5 -- Genuine library A5 taken from KQX, but with P291 from Walgol;
procedure write(device,form,value); value device,form,value;
real value; integer device,form;
kdf9 12/9/14/0;
{value}; {form}; {device}; JSP291; exit;
P291V28; (PROCEDURE WRITE);
V1=B1212121212121212;
V2=B2020202020202020;
V3=B2030446722743250; (1.024 TO 1I.P.);
V4=B175/8; (1000/1024 TO 1I.P.);
V5=B1463 1463 1463 1463; (.8 TO 1I.P.);
V6=B2400 0000 0000 0000; (10/8 TO 1I.P.);
V7=Q0/3/3; (INITIAL SPACES/SIGN/EXP SIGN);
V8=B0013573716200001; (FORMAT/DS/ZS/DPM/APM/;/C/NDP);
V9=B0314631463146315; (.1);
V10=B0024365605075341; (.01);
V11=B0000150667056544; (.0001);
V12=B0000000005274617; (.00000001);
V13=B12; (10);
V14=B144; (100);
V15=B23420; (10000);
V16=B575360400; (100000000);
V20=Q12/11/1; (S/F/E);
V25=B0000 0003 7777 7775;
V26=B0000 0001 7777 7777;
101; PERM;
102; =V21;
103; =V22; JS12P295; ZERO; =V28;
V21; ZERO; SHLD+24;
REV; ZERO; SHLD+4; =C10; ZERO;
SHLD+2; =I10; ZERO; SHLD+5; NEG;
=C7; ZERO; SHLD+4; =C11; ZERO;
SHLD+2; =M10; ZERO; SHLD+4; =M7;
SHC+3; =I7; DUP; ZERO; REV;
SHLDC7; BITS; NEG; NOT; =I11;
BITS; =M11; V22;
I13=+1; DUP; J5>=Z;
NEGF; I13=-1; I10; J5#Z;
SET135; JS100;
1; JS80;
70; M7; SHC-2; J95<Z;
I7; ZERO; =V27; J4#Z;
C10; I10; J2=Z;
NOT; NEG;
2; M10; J3=Z;
SET4; +;
3; M7; SHC-1; SHL-47; +;
M7; SETB4; AND; SHL-2; +;
CAB; DUP; SHL+23; SET23; FLOAT;
FIX; REV; ERASE; CAB;
+; V31P295; SHL-24; C9; -; +;
=V27; REV;
4; I7; NOT; =C13; V31P295; SHL-24; C9;
-; J167=Z;
SET2; JS18P295;
167; V20; =Q11; V7; =Q10; REV;
ERASE; V8; ZERO; SHLD+24; PERM;
ZERO; SHLD+5; =M7; ZERO; SHLD+3;
=I7; SHL-32; =C7; SET11; =M13;
J7;
5; NC7; JS80;
C11; NEG; NOT; =M13; M10;
J7#Z;
M14; M11; -; J69>=Z;
117; M14; I11; +; DUP; =M15;
M13; REV; -; J7<Z;
M15TOQ13; M13; J7>=Z;
M13; NOT; J6#Z;
SET5; SHA+43; M13; NOT; NEG; =M13; ZERO;
NOT; =TR; J10;
6; ERASE; ZERO; J12;
7; SET4; =RC15; ZERO; NOT; NEG;
SHC-2; M13;
8; SHC-1; DUP; J9>=Z;
REV; V9M15; *; REV;
9; M+I15; DC15; J8C15NZ;
ERASE; SHA-4;
10; +;
11; DUP; SHL-43; SET10; -; J113<Z;
STR; SET10; %D; M+I14; M10;
J12#Z;
M13; NOT; NEG; C11; NEV;
J110=Z;
J110TR;
SET1; =+M13;
110; M14; M11; -; J71>=Z;
12; ZERO; DUP; =TR; NOT; NEG; M13;
SET4; =RC15;
13; SHC-1; DUP; J14>=Z;
REV; V13M15; *D; CONT; REV;
14; M+I15; DC15; J13C15NZ;
ERASE; *D; SHAD+4; REV; ERASE;
DUP; =V0; JS90;
=V23; =V24; I10; NEG; NOT;
SHL-1; J15#Z;
SETB20; M7; OR; =M7;
15; I11; M11; +; C11; -;
ZERO; =RM15; I11; NOT; NEG;
NOT; NEG; =M13; J18<=Z;
M14; C11; -; NOT; NEG;
DUP; J32<Z;
I11; +;
72; =C15;
18; SET8; =RC11; M+I11; SET24; =C13;
SHL+24;
$16; DUP; J17<Z;
SHL+1; DC13; J16C13NZS;
ERASE; SET136; J74;
113; J12NTR;
J6;
32; I11; +; DUP; J72>=Z;
ERASE; ZERO; J72;
17; DC13; SHL+1; J73C13Z;
C0TOQ14; SET8; =RC12;
19; DUP; J21<Z;
98; SETB76; SHC-6; J26;
22; SETB77; SHC-6;
26; V17M12; SHLD+6; DC12; =V17M12; ERASE;
J24C12NZ;
M+I12; SET8; =C12;
24; DC14;
29; DC13; SHL+1; J19C13NZ;
20; M11; J28=Z;
V23M11; M-I11; NOT; J20=Z;
ERASE; SET137; J74;
21; M13; J107=Z;
M13; NEG; NOT; =M13;
107; J31C15Z;
DC15; M13; SET2; -; J98>=Z;
ZERO; J26;
31; ZERO; V23M11; DC11; SHAD-6; =V23M11;
J25C11NZ;
M-I11; SET8; =C11;
25; SHL+1; M7; SETB10; AND; J27#Z;
SETB77; SHL+42; J26#;
ERASE; ZERO; J26;
27; SETB77; SHL+42; J30#;
M13; J96=Z;
ERASE; ZERO; J26;
96; ERASE; M7; SHL-4; J98=Z;
M+I15; J29;
30; M7; SHL-4; J26=Z;
M15; J26=Z;
ERASE; ERASE; SET138; J74;
28; ERASE; M15; DUP; =+C10; NEG;
=+C7; I10; J35=Z;
I13; J34<Z;
I10; SHC-1; J33<Z;
SETB236; J36;
33; SETB301; J36;
34; SETB321; J36;
35; ZERO; NOT;
36; =I10; NC14; C14; C7; -; M7;
SHC-3; J67>=Z;
SETB13; =M13; J77<=Z;
68; M10; J75=Z;
V0; J64=Z;
C0TOQ13; M14; DUP; J37>=Z;
NEG; DC13;
37; JS90;
NOT; J78#Z;
ZERO; REV; SHAD-12; NOT; J79#Z;
ZERO; SHLD+7; JS40;
SETB12; JS14P295;
SETB77; J51=;
C13; J38<Z;
M10; NEG; NOT; NEG; NOT; J50#Z;
ZERO; JS18P295;
J39;
38; SETB321; JS14P295;
J39;
50; SETB301; JS14P295;
J39;
51; M10; SET3; J52=;
ZERO; JS18P295;
C13; J55<Z;
NEG; NOT; J56=Z;
53; ERASE; ZERO; JS18P295;
J58;
52; ERASE; C13; J54<Z;
SETB301; JS14P295;
J53;
54; SETB321; JS14P295;
J53;
55; ERASE; ERASE; SETB321; J39;
56; ERASE; SETB301;
39; JS14P295;
58; SHC+6; JS14P295;
66; M7; SHC-1; J57>=Z;
SETB230; JS14P295;
57; I7; SHL-2; J63#Z;
I7; =C7; J60C7Z;
59; SET2; JS18P295;
DC7; J59C7NZ;
60; M7; SHC-2; J62>=Z;
V27; DUP; =C14; J62<Z;
J62C14Z;
61; DC14; ZERO; JS18P295;
J61C14NZ;
62; JS16P295;
V28; J111=Z;
V28; JSP299;
111; EXIT 1;
63; SET3; JS18P295;
J60;
64; JS40;
SET4; =C14;
65; ZERO; JS18P295;
DC14; J65C14NZ;
J66;
67; M0TOQ13; J68=Z;
SET139; J74;
69; DUP; J116=Z; SET140; JS100;
J70;
116; ZERO; NOT; =M14; J117;
71; ERASE; ZERO; =TR; SET141; JS100;
V22; J1;
73; ERASE; SET142;
74; JS100;
V21; SHL-24; V22; J1;
75; JS40; J66;
77; SET143; J74;
78; ERASE; SET144; J74;
79; ERASE; SET145; J74;
95; SET146; JP299;
40; J42C10Z;
41; DC10; ZERO; JS18P295;
J41C10NZ;
42; M7; SHC-2; J43>=Z;
SETB216; JS14P295;
43; I10; J44<Z;
I10; JS14P295;
44; SET8; C12; -; =C12;
M13; J88=Z;
J112C7Z;
46; J45C12NZ;
M-I12; SET8; =C12;
45; ZERO; V17M12; SHLD-6; =V17M12; SHC+6;
M13; J93=Z;
C7; NEG; NOT; J93=Z;
SETB77; J47=;
94; SETB76; J47=;
97; JS14P295;
48; DC14; DC12; DC7; J46C7NZ;
M13; J49=Z;
112; M13; JS14P295;
M0TOQ13; C14TOQ7; J46;
47; ERASE; ZERO; JS18P295;
J48;
93; SETB77; J94#;
ERASE; ZERO; J97;
49; EXIT1;
88; J89C12NZ;
M-I12; SET8; =C12;
89; ZERO; V17M12; SHLD-6; =V17M12; SHC+6;
SETB76; J99=;
SETB77; J104=;
105; JS14P295;
106; DC14; DC12; DC7; J88C7NZ;
EXIT1;
99; ERASE; ZERO; JS18P295; J106;
104; ERASE; ZERO; J105;
80; DUP; =TR; ABSF; FIX; DUP;
SHL-47; =M14; ABS; =C14; SETAV25;
=RM15; SHA-1; DUP; J109=Z;
SET-10;
81; =I14; M15M14H; SHA-24; =I15;
82; C14; I14; DUP; PERM; +;
J83<Z;
=+C14; I15; =+C15; V3M14; *D;
SHAD+1; ROUND; J82;
83; SHA-3; J84=Z;
SET2; =+M14; SET-3; J81;
84; M14; SHC-1; J85<Z;
NC14;
85; DC14; NC14; STR; SHADC14; J87;
86; ERASE; SET10; *D; DC15;
87; DUP; J86=Z;
SHAD-4; ERASE;
109; C15; =M14; I14=+1; J108NTR;
NEG;
108; EXIT1;
90; DUP; J76#Z;
NOT; DUP; SHL+6; J92;
76; V16; NEG; DUPD; +; J91<Z;
NEG; %I; V1; REV; FRB;
91; REV; V1; REV; FRB; V2;
DUPD; REV; -; AND; V2;
NEV; ZERO; FLOAT; FIX; NOT;
NEG; =C15; ERASE; ZERO; NOT;
STR; NEV; SHAC15; OR; REV;
DUP; J92>=Z;
SHA-27; REV;
92; REV; EXIT1;
100; =V28; EXIT1;
algol;
integer procedure format(lay out);
string lay out;
kdf9 12/9/14/6;
(format);
V2=B0013573703034671;
V5=B4321221604215035;
V6=B4720000000000000;
{lay out};
DUP; =V1; =RM14; SET2; SHC-8;
=V0; Q0TOQ15; SET24; DUP; =C12;
SHA-1; =C11; Q0TOQ13; IM0TOQ12; IM0TOQ11;
Q12TOQ10; Q0TOQ9; ZERO; JS27;
SETB215; J32#;
ERASE; J2;
1; REV; DUP; SHA+2; +; SHA+1;
+;
2; JS27;
DUP; SET10; -; J1<Z;
SETB70; (s); J26#;
ERASE; DUP; SHL-4; J33#Z;
DUP; J23=Z;
=V3; DC15;
3; ZERO; DUP; NOT; NEG;
4; JS27;
J22C15Z;
SETB70; (s); J13=;
5; SETB51; (d); J11=;
SETB301; (+); J14=;
SETB321; (-); J14=;
SETB322; (#); J14=;
SETB13; (.); J16=;
DUP; (zero); J17=Z;
SETB63; (n); J10=;
SETB12; (10); J18=;
SETB230; (;); J19=;
SETB50; (c); J20=;
SETB65; (p); J21=;
SETB235; J31#;
6; I12; J7#Z;
SET24; C12; -; J31=Z;
ERASE; OR; =V4; J8;
7; C12; NEG; NOT; J31#Z;
M11; J31=Z;
ERASE; ERASE; SETB3; DUP; PERM;
AND; NEV; J34#Z;
8; ZERO; M10; SHLD-3; ERASE; I9;
SHLD-1; ERASE; SHL-1;
I10; SHLD-1; ERASE;
I13; SHLD-1; ERASE;
M11; SHLD-2; ERASE;
SET12; C11; -; SHLD-4; ERASE;
SET24; C10; -; SHLD-5; ERASE;
I11; SHLD-2; ERASE;
V3; SHLD-4; ERASE;
V4; SHLD-24; ERASE;
9; exit;
10; (n); C11; SET12; -; J11#Z;
I13=+1;
11; J31C9NZ; (d, zero or terminator);
I12; J12#Z; (EXM);
J31C11Z; (SFC>12);
DC11;
12; PERM; DUP; PERM; OR; REV;
CAB; (insert digit in field lay out);
13; ERASE; SHL+1; DC12; J32C12Z; (EFC>24);
I10; J4#Z; (DPM);
DC10; J4C10NZ; (NDP);
J32;
14; (+-#); SHC-4; DUP; SHL+46; REV;
SHL-44; ROUND; (1=+, 2=-, 3=#);
I12; J15#Z; (EXM);
C12; SET24; -; J31#Z; (SFC=0);
I11; J31#Z; (first sign);
=I11; J4;
15; (EXP SIGN); SET3; C12; -; J31#Z;
M11; J31#Z;
= M11; J4;
16; I10; J31#Z; (DPM);
ERASE; I10=+1; J4;
17; (zero); J12C9NZ;
C11; SET12; -; J31=Z;
DC9; J12;
18; (subten); I12; J31#Z;
I10; J31=Z;
I12=+1; ERASE; OR; DUP; =V4;
SHLC10; SHL+24; BITS; NEG; NOT; J34#Z;
SET3; =C12; J3;
19; (;); I9; J31#Z;
I9=+1; DC9; ERASE; J4;
20; (c); M10; SHL-2; J31#Z;
DC9; ZERO; NOT; NEG; =+M10;
ERASE; J4;
21; (p); M10; J31#Z;
DC9; SET4; =M10; ERASE; J4;
22; SETB70; (s); J24#;
ERASE; ERASE;
23; NOT; NEG; DUP; DUP; SHL-4;
J4=Z;
NEG; NOT; =V3; DC15; ZERO;
DUP; NOT; NEG; CAB; J13;
24; PERM; ERASE;
25; =V3; DC15; ZERO; DUP; NOT;
NEG; CAB; J5;
26; REV; DUP; J25=Z;
J32;
27; ZERO; V0;
28; ZERO; SHLD+8; PERM; OR; DUP;
J29=Z;
=V0; EXIT1;
29; ERASE; M0M14Q; J28;
30; ERASE;
31; ERASE;
32; ERASE;
33; ERASE;
34; SETAV5; V0P299; JSP288; V1; V0P299;
JSP288; V2; J9;
algol;
procedure output(device,value); value device,value;
real value; integer device;
kdf9 12/9/14/0;
{value}; V0; {device}; JSP291; exit;
V0=B0013573703034651;
algol;
procedure write boolean(device,boolean);
value device,boolean; integer device;
boolean boolean;
kdf9 12/9/14/0;
{boolean}; {device};
(write boolean);
JS12P295;
J2<Z;
SETB315;
1; JS14P295;
JS16P295;
exit;
2; SETB335; J1;
algol;
****