📄 function.lst
字号:
148 00:0098: C9 00 CMP #0
149 00:009A: F0 12 BEQ WriteByteError
150
151 00:009C: AD xx xx LDA WriteBuff
152 00:009F: 8D xx xx STA SDBuff
153 00:00A2: 20 xx xx JSR SendData
154
155 00:00A5: 20 xx xx JSR CheckAck
156 00:00A8: C9 00 CMP #0
157 00:00AA: F0 02 BEQ WriteByteError
158 00:00AC: A9 01 LDA #1
159 WriteByteError:
160 00:00AE: 20 xx xx JSR StopEpp
161 00:00B1: 60 RTS
162 ;======================================================
163 ;all subroutine for control the EEPROM 24C128 ||
164 ;PC0->SDA,PC1->SCL,PC2->WP ||
165 ;======================================================
166 SendData:
167 00:00B2: 48 PHA
168 00:00B3: DA PHX
Sat Sep 20 2008 11:08 Page 4
169 00:00B4: A2 08 LDX #8
170 SendDataLP:
171 00:00B6: 0E xx xx ASL SDBuff
172 00:00B9: 90 05 BCC SendData1
173 00:00BB: 20 xx xx JSR SendHigh
174 00:00BE: 80 03 BRA SendData2
175 SendData1:
176 00:00C0: 20 xx xx JSR SendLow
177 SendData2:
178 00:00C3: CA DEX
179 00:00C4: E0 00 CPX #0
180 00:00C6: D0 EE BNE SendDataLP
181 00:00C8: FA PLX
182 00:00C9: 68 PLA
183 00:00CA: 60 RTS
184 ;======================================================
185 InceptData:
186 00:00CB: 48 PHA
187 00:00CC: DA PHX
188 00:00CD: A2 08 LDX #8
189 InceptLP:
190 00:00CF: 97 xx SMB1 <PC
191 00:00D1: EA NOP
192 00:00D2: EA NOP
193 00:00D3: EA NOP
194 00:00D4: EA NOP
195 00:00D5: 0F xx 06 BBR0 <PC,StoreLow
196 ;--- store hight bit ----
197 00:00D8: 38 SEC
198 00:00D9: 2E xx xx ROL RDBuff
199 00:00DC: 80 04 BRA InceptD1
200 StoreLow:
201 00:00DE: 18 CLC
202 00:00DF: 2E xx xx ROL RDBuff
203 InceptD1:
204 00:00E2: 17 xx RMB1 <PC
205 00:00E4: 20 xx xx JSR DelayTime
206 00:00E7: CA DEX
207 00:00E8: E0 00 CPX #0
208 00:00EA: D0 E3 BNE InceptLP
209 00:00EC: FA PLX
210 00:00ED: 68 PLA
211 00:00EE: 60 RTS
212 ;======================================================
213 StartEpp:
214 00:00EF: 07 xx RMB0 <PC ;SDA->LOW
215 00:00F1: 20 xx xx JSR DelayTime
216 00:00F4: 17 xx RMB1 <PC ;SCL->LOW
217 00:00F6: 20 xx xx JSR DelayTime
218 00:00F9: 60 RTS
219 ;======================================================
220 EnableCEpp:
221 00:00FA: 27 xx RMB2 <PC ;WP ->LOW
222 00:00FC: 20 xx xx JSR DelayTime
223 00:00FF: 60 RTS
224 ;======================================================
225 StopEpp:
226 00:0100: 97 xx SMB1 <PC ;SCL->HIGH
Sat Sep 20 2008 11:08 Page 5
227 00:0102: 20 xx xx JSR DelayTime
228 00:0105: 87 xx SMB0 <PC ;SDA->HIGH
229 00:0107: 20 xx xx JSR DelayTime
230 00:010A: 60 RTS
231 ;======================================================
232 DisableCEpp:
233 00:010B: A7 xx SMB2 <PC
234 00:010D: 60 RTS
235 ;======================================================
236 SendHigh:
237 00:010E: 87 xx SMB0 <PC ;SDA->HIGH
238 00:0110: 20 xx xx JSR DelayTime
239 00:0113: 97 xx SMB1 <PC ;SCL->HIGH
240 00:0115: 20 xx xx JSR DelayTime
241 00:0118: 17 xx RMB1 <PC
242 00:011A: 07 xx RMB0 <PC
243 00:011C: 60 RTS
244 ;======================================================
245 SendLow:
246 00:011D: 07 xx RMB0 <PC ;SDA->HIGH
247 00:011F: 20 xx xx JSR DelayTime
248 00:0122: 97 xx SMB1 <PC ;SCL->HIGH
249 00:0124: 20 xx xx JSR DelayTime
250 00:0127: 17 xx RMB1 <PC
251 00:0129: 07 xx RMB0 <PC
252 00:012B: 60 RTS
253 ;======================================================
254 DelayTime:
255 00:012C: A9 00 LDA #0
256 00:012E: 3A DEC
257 00:012F: EA NOP
258 00:0130: D0 xx BNE $-2
259 00:0132: 60 RTS
260
261 ;======================================================
262 ;; If A=0 then ACK error
263 ;; If A>0 then ACK right
264 ;======================================================
265 CheckAck:
266 00:0133: A9 10 LDA #11111110H ;PC0 as input
267 00:0135: 8D xx xx STA PCC
268 00:0138: 87 xx SMB0 <PC ;enable PC0 pull high
269 00:013A: EA NOP
270 00:013B: EA NOP
271 00:013C: EA NOP
272
273 00:013D: A9 FF LDA #255
274 00:013F: 97 xx SMB1 <PC ;SCL High
275 00:0141: EA NOP
276 00:0142: EA NOP
277 00:0143: EA NOP
278 CheckAckLp:
279 00:0144: 0F xx 07 BBR0 <PC,CheckAckNext
280 00:0147: EA NOP
281 00:0148: EA NOP
282 00:0149: 3A DEC
283 00:014A: C9 00 CMP #0
284 00:014C: D0 F6 BNE CheckAckLp
Sat Sep 20 2008 11:08 Page 6
285 CheckAckNext:
286
287 00:014E: A9 FF LDA #FFH
288 00:0150: 8D xx xx STA PCC
289 00:0153: 17 xx RMB1 <PC
290 00:0155: 07 xx RMB0 <PC
291 00:0157: 20 xx xx JSR DelayTime
292 00:015A: 60 RTS
293 ;======================================================
294
295
Lines assembled: 377
Errors: 0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -