Commit | Line | Data |
---|---|---|
84b5715c PH |
1 | / SUBROUTINE A5TOA1(A,B,D)\r |
2 | /(pdp11:)SUBROUTINE A5TOA1(A,B,C,D)\r | |
3 | /\r | |
4 | / THIS ROUTINE TAKES THE UP TO 6 CHARACTER "WORD" IN A:B:C\r | |
5 | / AND TYPES IT OUT, FOLLOWED BY THE PUNCTUATION MARK IN D.\r | |
6 | / IT ALSO APPENDS A CRLF TO GET TO A NEW LINE.\r | |
7 | / For OS/8: the word is in A,B with nothing in C.\r | |
8 | /\r | |
9 | / IMPLICIT INTEGER (A-Z)\r | |
10 | / COMMON /ALPHAS/ BLANK\r | |
11 | \r | |
12 | EXTERN SIXOUT\r | |
13 | EXTERN CGET\r | |
14 | EXTERN CPUT\r | |
15 | SECT A5TOA1\r | |
16 | JA #ST\r | |
17 | #XR, ORG .+10\r | |
18 | TEXT +A5TOA1+\r | |
19 | #RET, SETX #XR\r | |
20 | SETB #BASE\r | |
21 | JA .+3\r | |
22 | #BASE, ORG .+6\r | |
81e70d48 | 23 | ZERO, F 0\r |
84b5715c PH |
24 | A, ORG .+3\r |
25 | B, ORG .+3\r | |
26 | D, ORG .+3\r | |
81e70d48 | 27 | ONE, F 1\r |
84b5715c | 28 | THREE, F 3\r |
81e70d48 | 29 | BLANK, TEXT + +\r |
84b5715c PH |
30 | ORG #BASE+30\r |
31 | FNOP\r | |
32 | JA #RET\r | |
33 | FNOP\r | |
34 | #GOBAK, 0;0\r | |
84b5715c PH |
35 | #RTN, BASE #BASE\r |
36 | JA #GOBAK\r | |
84b5715c PH |
37 | #ST, STARTD\r |
38 | 0210\r | |
39 | FSTA #GOBAK,0\r | |
40 | 0200\r | |
41 | SETX #XR\r | |
42 | SETB #BASE\r | |
43 | LDX 0,1\r | |
44 | FSTA #BASE\r | |
45 | FLDA% #BASE,1+\r | |
46 | FSTA A\r | |
47 | FLDA% #BASE,1+\r | |
48 | FSTA B\r | |
49 | FLDA% #BASE,1+\r | |
50 | FSTA D\r | |
51 | STARTF\r | |
52 | FLDA% A\r | |
53 | FSTA A\r | |
54 | FLDA% B\r | |
55 | FSTA B\r | |
56 | FLDA% D\r | |
57 | FSTA D\r | |
58 | / IF (A .NE. BLANK) TYPE 1,A\r | |
59 | FLDA A\r | |
60 | FSUB BLANK\r | |
61 | JEQ #G0001\r | |
62 | JSR TRIM\r | |
63 | JA .+4\r | |
64 | JA A\r | |
65 | JSR SIXOUT\r | |
66 | JA .+10\r | |
67 | JA A\r | |
68 | JA ZERO\r | |
81e70d48 | 69 | JA THREE\r |
84b5715c PH |
70 | / IF (B .NE. BLANK) TYPE 1,B\r |
71 | #G0001, FLDA B\r | |
72 | FSUB BLANK\r | |
73 | JEQ #G0002\r | |
74 | JSR TRIM\r | |
75 | JA .+4\r | |
76 | JA B\r | |
77 | JSR SIXOUT\r | |
78 | JA .+10\r | |
79 | JA B\r | |
80 | JA ZERO\r | |
81e70d48 | 81 | JA THREE\r |
84b5715c PH |
82 | / IF (C .NE. BLANK) TYPE 1,C\r |
83 | / TYPE 2,D\r | |
84 | #G0002, JSR TRIM\r | |
85 | JA .+4\r | |
86 | JA D\r | |
87 | JSR SIXOUT\r | |
88 | JA #RTN\r | |
89 | JA D\r | |
90 | JA ZERO\r | |
81e70d48 | 91 | JA ONE\r |
84b5715c PH |
92 | / RETURN\r |
93 | / END\r | |
94 | \r | |
95 | /1 FORMAT('+',A2,$)\r | |
96 | /2 FORMAT('+',A2)\r | |
97 | \r | |
98 | SECT TRIM\r | |
99 | JA #TST\r | |
100 | #TXR, ORG .+10\r | |
101 | TEXT +TRIM +\r | |
102 | #TRET, SETX #TXR\r | |
103 | SETB #TBASE\r | |
104 | JA .+3\r | |
105 | #TBASE, ORG .+6\r | |
106 | PSTR, ORG .+3\r | |
107 | I, ORG .+3\r | |
108 | CH, ORG .+3\r | |
109 | K1, F 1\r | |
110 | K6, F 6\r | |
111 | K32, F 32\r | |
112 | ORG #TBASE+30\r | |
113 | FNOP\r | |
114 | JA #TRET\r | |
115 | FNOP\r | |
116 | #TGOBK, 0;0\r | |
117 | \r | |
118 | #TRTN, BASE #TBASE\r | |
119 | JA #TGOBK\r | |
120 | #TST, STARTD\r | |
121 | 0210\r | |
122 | FSTA #TGOBK,0\r | |
123 | 0200\r | |
124 | SETX #TXR\r | |
125 | SETB #TBASE\r | |
126 | LDX 0,1\r | |
127 | FSTA #TBASE\r | |
128 | FLDA% #TBASE,1+\r | |
129 | FSTA PSTR\r | |
130 | STARTF\r | |
131 | \r | |
132 | FLDA K6\r | |
133 | FSTA I\r | |
134 | #T10, FLDA PSTR\r | |
135 | STARTD\r | |
136 | FSTA #TG001\r | |
137 | FSTA #TG002\r | |
138 | STARTF\r | |
139 | JSR CGET\r | |
140 | JA .+0010\r | |
141 | #TG001, JA .\r | |
142 | JA I\r | |
143 | JA CH\r | |
144 | FLDA CH\r | |
145 | FSUB K32\r | |
146 | JNE #TRTN\r | |
147 | JSR CPUT\r | |
148 | JA .+0010\r | |
149 | #TG002, JA .\r | |
150 | JA I\r | |
151 | JA ZERO\r | |
152 | FLDA I\r | |
153 | FSUB K1\r | |
154 | FSTA I\r | |
155 | JGT #T10\r | |
156 | \r | |
157 | JA #TRTN\r |