source: thomson/code/3rdparty/sources3-lambinet/SOURCER2.ASM@ ceffc47

main
Last change on this file since ceffc47 was ceffc47, checked in by Adrien Destugues <pulkomandy@…>, 10 years ago

Add that collection of 3rdparty source I had lying on my disk for some time...

git-svn-id: svn://localhost/thomson@51 85ae3b6b-dc8f-4344-a89d-598714f2e4e5

  • Property mode set to 100644
File size: 4.8 KB
Line 
1
2****************************************
3*SOURCER II (RECALCUL DES ETIQUETTES ***
4****************************************
5
6
7
8
9 ORG $8000
10
11 PSHS A,B,CC,DP,X,Y,U
12G LDX #FILE
13 LDU #$624F
14 LDB #11
15COP LDA ,X+
16 STA ,Y+
17 DECB
18 BNE COP
19 LDD #$0440
20 STA $6049 RAMDISK
21 STB $624B ACCES DIRECT
22 LDX #35 LONGUEUR DES (41)
23 STX $6247 ENREGISTREMENTS
24 LDB #3 CODE DE OPEN
25 JSR $EC0C OUVERTURE
26 LDX #0
27 STX PTRP POINTEUR PRINCIPAL
28 LDX #BUFFER DECLARATION D'UN
29 STX $62AA BUFFER
30
31*ANALYSE D'UNE NOUVELLE LIGNE
32
33NEWLIN LDX PTRP
34 LEAX 1,X
35 STX PTRP
36 CMPX FINPTR DERNIER ENREGISTR.
37 LBHI FIN
38 CLR EXIST FLAG D'EXISTENCE
39 CLR $6249 GET
40 LDB #7
41 JSR $EC0C
42 LDX #BUFFER
43 LDY #NUMERO
44 LDU #NBHEX0
45 LDA ,X+
46 STA ,U+
47 CMPA #$24 SI CE N'EST PAS UN
48 BNE NEWLIN $ ->NOUVELLE LIGNE
49 LDA ,X+
50 SUBA #$30 SI MOINS DE ZERO
51 BMI NEWLIN --> PAS BON
52 CMPA #$A SI MOINS DE 10
53 BLO CHIF1 --> ON PREND
54 CMPA #$11 SI >9 ET <A
55 BLO NEWLIN --> PAS BON
56 SUBA #7
57 CMPA #15 SI PLUS DE 15
58 BHI NEWLIN --> PAS BON
59CHIF1 ASLA
60 ASLA
61 ASLA
62 ASLA
63 STA ,Y
64 LDA ,X+
65 STA ,U+
66 SUBA #$30
67 BMI NEWLIN
68 CMPA #$A
69 BLO CHIF2
70 CMPA #$11
71 BLO NEWLIN
72 SUBA #7
73 CMPA #15
74 BHI NEWLIN
75CHIF2 ORA ,Y
76 STA ,Y
77 LDA ,X+
78 STA ,U+
79 CMPA #$24
80 BNE NEWLIN
81 LDA ,X+
82 SUBA #$30
83 BMI NEWLIN
84 CMPA #$A
85 BLO CHIF3
86 CMPA #$11
87 BLO NEWLIN
88 SUBA #7
89 CMPA #15
90 BHI NEWLIN
91CHIF3 ASLA
92 ASLA
93 ASLA
94 ASLA
95 STA 1,Y
96 LDA ,X+
97 STA ,U+
98 SUBA #$30
99 LBMI NEWLIN
100 CMPA #$A
101 BLO CHIF4
102 CMPA #$11
103 LBLO NEWLIN
104 SUBA #7
105 CMPA #15
106 LBHI NEWLIN
107CHIF4 LDX #NUMERO
108 ORA 1,Y
109 STA 1,Y
110NWNBRE LDX ,Y
111 LEAX 1,X
112 STX ,Y
113 CLRB
114NWDIGI LDA B,Y
115 LSRA
116 LSRA
117 LSRA
118 LSRA
119 ADDA #$30
120 CMPA #$3A
121 BLO HEX
122 ADDA #7
123HEX STA ,U+
124 INCB
125 CMPB #4
126 BLO NWDIGI
127 CMPU #ETIQ
128 BLO NWNBRE
129 LDX #0
130 STX PTRS
131
132*RECHERCHE DU NBRE 'NBHEXA' DANS LES
133*AUTRES LIGNES
134
135AUTLIN LDX PTRS
136 LEAX 1,X
137 STX PTRS
138 CMPX FINPTR DERNIER ENREGISTR.
139 BHI FINLIN
140* CLR $6249 GET
141 LDB #7
142 JSR $EC0C
143 LDX #BUFFER+19
144 LDU #NBHEX3+3
145 LDB #3
146 LDA ,X
147TYPE CMPA ,U
148 BEQ TEST
149 LEAU 4,U
150 DECB
151 BPL TYPE
152 BRA NONEGA
153TEST LDA ,-X
154 CMPA ,-U
155 BNE NONEGA
156 CMPX #BUFFER+16
157 BHI TEST
158 STA EXIST
159 LDU #ETIQ
160 TSTB SI B=0 NBRE
161 BNE DECALE SINON NBRE+B
162 LDB #5
163COP0 LDA ,U+
164 STA ,X+
165 DECB
166 BNE COP0
167 BRA RECRIT
168DECALE PSHS B
169 LDD #$3D05 '='
170 LDX #BUFFER+22 (PUIS29)
171 STA ,X+
172COP1 LDA ,U+
173 STA ,X+
174 DECB
175 BNE COP1
176 LDA #$2B '+'
177 PULS B
178 ADDB #$30
179 STD ,X
180RECRIT LDD #$FF07
181 STA $6249
182 LDX PTRS
183 JSR $EC0C
184NONEGA LBRA AUTLIN
185
186* EN FIN DE LIGNE ON TESTE LE FLAG
187
188FINLIN TST EXIST
189 BEQ REPART
190 LDX PTRP
191 LDD #$0007
192 STA $6249
193 JSR $EC0C
194 LDX #BUFFER
195 LDU #ETIQ
196 LDB #5
197COP2 LDA ,U+
198 STA ,X+
199 DECB
200 BNE COP2
201 LDX PTRP
202 LDD #$FF07
203 STA $6249
204 JSR $EC0C
205 LDD ETIQ+3
206 ADDB PAS+1
207 STB ETIQ+4
208 CMPB #$3A
209 BLO RETIQ1
210 SUBB #10
211 STB ETIQ+4
212 INCA
213RETIQ1 ADDA PAS
214 STA ETIQ+3
215 CMPA #$3A
216 BLO REPART
217 SUBA #10
218 STA ETIQ+3
219 LDD ETIQ+1
220 INCB
221 CMPB #$3A
222 BLO RETIQ2
223 SUBB #10
224 INCA
225 CMPA #$3A
226 BEQ TOOBIG
227RETIQ2 STD ETIQ+1
228REPART LBRA NEWLIN
229
230TOOBIG
231
232
233FIN LDB #6
234 JSR $EC0C
235K PULS A,B,DP,CC,X,Y,U,PC
236
237PTRP FDB 0
238PTRS FDB 0
239FINPTR FDB 0
240NUMERO FDB 0
241EXIST FCB 0
242NBHEX0 FCC #ABCD#
243NBHEX1 FCC #ABCD#
244NBHEX2 FCC #ABCD#
245NBHEX3 FCC #ABCD#
246ETIQ FCC #E0000#
247PAS FCB 1,0
248FILE FCC #ESSAI ASM#
249BUFFER RMB 50
250
251
252
253 END
Note: See TracBrowser for help on using the repository browser.