61685b6e |
1 | * (O$LA) |
2 | * |
3 | * |
4 | * PROGRAM TITLE: O$LA (O$LA,O$LE,O$LH,O$LC,O$LF) |
5 | * LINE PRINTER ROUTINES |
6 | * |
7 | * REVISIONS: |
8 | * 1.0 (2005-02.04) |
9 | * |
10 | * AUTHOR |
11 | * |
12 | * PHILIPP HACHTMANN |
13 | * |
14 | * |
15 | * PURPOSE |
16 | * |
17 | * THESE ARE THE LIBRARY ROUTINES FOR HACHTI'S LINE PRINTER INTERFACE |
18 | * |
19 | * |
20 | * RESTRICTIONS |
21 | * |
22 | * DEPENDS ON HACHTI'S HARDWARE AND FORTRAN IV COMPILER TAPE |
23 | * |
24 | * |
25 | * STORAGE |
26 | * |
27 | * 420 (OCTAL) |
28 | * 271 (DECIMAL) |
29 | * |
30 | * |
31 | * USE |
32 | * |
33 | * CALL O$LA |
34 | * DAC (BUFFER ADDRESS) |
35 | * NORMAL |
36 | * |
37 | * THIS PRINTS ONE LINE OF LISING TEXT |
38 | * (60 2-CHAR WORDS MAX) TO THE LINE PRINTER. |
39 | * |
40 | * |
41 | * |
42 | ******************************************************************************** |
43 | * |
44 | SUBR O$PA TYPE A COMPLETE LINE WITH CR/LF, HEADING ETC. |
45 | * |
46 | ******************************************************************************** |
47 | * |
48 | REL RELOCATEABLE MODE |
49 | * |
50 | O$PA DAC ** |
51 | LDA* O$PA BUFFER ADDRESS |
52 | STA LBUF STORE |
53 | JST T1 PUNCH THE RECORD |
54 | LBUF OCT 0 ADDRESS OF LINE BUFFER |
55 | JST T20 CARRIAGE RETURN |
56 | JST T30 LINE FEED |
57 | IRS O$LA MAKE RETURN ADDRESS |
58 | JMP* O$LA RETURN |
59 | |
60 | ************************************************************ |
61 | * |
62 | * OUTPUT LINE |
63 | T1 DAC ** |
64 | STX XR SAVE CALLER'S INDEX REGISTER |
65 | LDA* T1 LOAD BUFFER ADDRESS |
66 | ADD LNW LINE WIDTH |
67 | ADD ='40000 SET INDEXING TAG |
68 | STA T6 |
69 | IRS T1 INCREMENT RETURN ADDRESS |
70 | LDA LNW LINE WIDTH |
71 | TCA NEGATE |
72 | STA 0 PUT INTO INDEX REG |
73 | T3 LDA* T6 |
74 | CAS ='120240 |
75 | JMP *+2 |
76 | * |
77 | JMP T8 |
78 | T4 JST T14 |
79 | IRS 0 |
80 | JMP T3 |
81 | LDX XR RESTORE CALLER'S INDEX REGISTER |
82 | JMP* T1 |
83 | T6 *** ** |
84 | * |
85 | * |
86 | T8 LDA 0 |
87 | STA T12 |
88 | T10 IRS 0 |
89 | JMP *+2 |
90 | JMP* T1 |
91 | LDA* T6 |
92 | CAS ='120240 |
93 | JMP *+2 |
94 | JMP T10 |
95 | LDA T12 |
96 | STA 0 |
97 | LDA ='120240 |
98 | JMP T4 |
99 | T12 *** ** |
100 | * |
101 | * |
102 | T14 DAC ** |
103 | ICA |
104 | OTA 0 |
105 | JMP *-1 |
106 | ICA |
107 | OTA 0 |
108 | JMP *-1 |
109 | JMP* T14 |
110 | **** |
111 | * |
112 | * CARRIAGE RETURN |
113 | T20 DAC ** |
114 | LDA =13 CR CHARACTER |
115 | OTA 0 OUTPUT |
116 | JMP *-1 |
117 | JMP* T20 RETURN |
118 | * |
119 | * LINE FEED |
120 | T30 DAC ** |
121 | LDA =10 LF CHARACTER |
122 | OTA 0 OUTPUT |
123 | JMP *-1 RETURN |
124 | JMP* T30 |
125 | * |
126 | * |
127 | FIN WRITE OUT LITERALS |
128 | * |
129 | * PUH..... |
130 | * |
131 | END |