-
Notifications
You must be signed in to change notification settings - Fork 85
/
Copy pathpatches
45 lines (45 loc) · 1.1 KB
/
patches
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
;PUT"@0:PATCHES"
.PAG 'PATCHES'
; 29SEPT83 (FAB)
;
; GARBAGE COLLECTION MUST RECOGNIZE NULL TEMPORARYS
; AND SKIP THE GENERATION OF BACK POINTERS TO THEM.
;
PSLRA
JSR SLR1 ;PUT ADDRESS OF TEMP. STRING'S BACK POINTER IN TEMPF2
BEQ PSLRA1
JMP LA0 ;PROTECT TEMP STRING BY BUILDING IT A BACK POINTER
PSLRA1 JMP LA1 ;NULL TEMPORARY- SKIP BACK POINTER GENERATION
.SKI 2
PSLRB
JSR SLR1 ;PUT ADDRESS OF TEMP. STRING'S BACK POINTER IN TEMPF2
BEQ PSLRB1
JMP FA0 ;MAKE TEMP STRING TEMPORARY AGAIN
PSLRB1 JMP FA1 ;NULL TEMPORARY- STILL NOTHING TO DO
.SKI 2
PSLR1
PHA ;SAVE TEMPORARY STRING'S LENGTH
CLC
ADC TEMPF2 ;ADJUST TEMPF2 TO POINT AT BACK POINTER
STA TEMPF2 ;RATHER THAN BODY OF STRING
BCC PSLR2
INC TEMPF2+1
PSLR2
PLA ;RECALL LENGTH & SET Z-FLAG
RTS
.SKI 2
;
;FOLLOWING TWO PATCHES ADDED BY JCL SOFTWARE 09.04.83
;TO RECONCILE THE DUMP 'CBM256.BIN1' AND THE TWO UN-
;DECLARED LABELS 'PCH401' AND 'PCH402' IN THE FILES
;'MATH4' AND 'USING'.
;
PCH402 JSR MLDEXP
RTS
;
PCH401 JSR NOS3
JMP RNDD
;
;R.J.L ---- E AND O.E !
;
.END