| 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 |
| 23 | ZERO, F 0\r |
| 24 | A, ORG .+3\r |
| 25 | B, ORG .+3\r |
| 26 | D, ORG .+3\r |
| 27 | ONE, F 1\r |
| 28 | THREE, F 3\r |
| 29 | BLANK, TEXT + +\r |
| 30 | ORG #BASE+30\r |
| 31 | FNOP\r |
| 32 | JA #RET\r |
| 33 | FNOP\r |
| 34 | #GOBAK, 0;0\r |
| 35 | #RTN, BASE #BASE\r |
| 36 | JA #GOBAK\r |
| 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 |
| 69 | JA THREE\r |
| 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 |
| 81 | JA THREE\r |
| 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 |
| 91 | JA ONE\r |
| 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 |