📄 pcf8583.lst
字号:
270
271 .sym _Pcf8583DelayI2c,_Pcf8583DelayI2c,32,2,0
272 .globl _Pcf8583DelayI2c
273
274 .func 44
275 ;>>>> void Pcf8583DelayI2c()
276 ;>>>> int i;
277 ******************************************************
278 * FUNCTION DEF : _Pcf8583DelayI2c
279 ******************************************************
280 0023 _Pcf8583DelayI2c:
281 0023 8aa0 POPD *+
282 0024 80a0 SAR AR0,*+
283 0025 8180 SAR AR1,*
284 0026 b002 LARK AR0,2
285 0027 00ea LAR AR0,*0+,AR2
286
287 .sym _i,1,4,1,16
288 .line 4
289 ;>>>> for(i=0x7d;i--;) i=i; //unused action
290 0028 b97d LACK 125
291 0029 b201 LARK AR2,1
292 002a 8be0 MAR *0+
293 002b 9080 SACL *
294 002c be47 SSXM
295 002d 1080 LAC *
296 002e ba01 SUBK 1
297 002f 9080 SACL *
298 0030 b801 ADDK 1
299 0031 e388 BZ L2
0032 003b'
300 0033 L1:
301 0033 1080 LAC *
302 0034 9080 SACL *
303 0035 1080 LAC *
304 0036 ba01 SUBK 1
305 0037 9080 SACL *
306 0038 b801 ADDK 1
307 0039 e308 BNZ L1
003a 0033'
308 003b L2:
309 003b EPI0_2:
310 .line 5
311 003b 8b89 MAR * ,AR1
312 003c 7c03 SBRK 3
313 003d 0090 LAR AR0,*-
314 003e 7680 PSHD *
315 003f ef00 RET
316
317 .endfunc 48,000000000H,2
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00 Thu Dec 8 11:06:32 2005
Copyright (c) 1987-1999 Texas Instruments Incorporated
pcf8583.asm PAGE 7
318
319 .sym _Pcf8583Start,_Pcf8583Start,32,2,0
320 .globl _Pcf8583Start
321
322 .func 52
323 ;>>>> void Pcf8583Start()
324 ******************************************************
325 * FUNCTION DEF : _Pcf8583Start
326 ******************************************************
327 0040 _Pcf8583Start:
328 0040 8aa0 POPD *+
329 0041 80a0 SAR AR0,*+
330 0042 8180 SAR AR1,*
331 0043 b001 LARK AR0,1
332 0044 00e0 LAR AR0,*0+
333
334 .line 3
335 ;>>>> sda_1;
336 0045 bf80 LACK 61439
0046 efff
337 0047 bc00! LDPK _MCRC
338 0048 6e00! AND _MCRC
339 0049 9000! SACL _MCRC
340 004a bf80 LACK 4112
004b 1010
341 004c bc00! LDPK _PFDATDIR
342 004d 6d00! OR _PFDATDIR
343 004e 9000! SACL _PFDATDIR
344 .line 4
345 ;>>>> scl_1;
346 004f bf80 LACK 49151
0050 bfff
347 0051 bc00! LDPK _MCRA
348 0052 6e00! AND _MCRA
349 0053 9000! SACL _MCRA
350 0054 bf80 LACK 16448
0055 4040
351 0056 bc00! LDPK _PBDATDIR
352 0057 6d00! OR _PBDATDIR
353 0058 9000! SACL _PBDATDIR
354 .line 5
355 ;>>>> Pcf8583DelayI2c();
356 0059 7a80 CALL _Pcf8583DelayI2c
005a 0023'
357 .line 6
358 ;>>>> sda_0;
359 005b bf80 LACK 61439
005c efff
360 005d bc00! LDPK _MCRC
361 005e 6e00! AND _MCRC
362 005f 9000! SACL _MCRC
363 0060 bf80 LACK 4096
0061 1000
364 0062 bc00! LDPK _PFDATDIR
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00 Thu Dec 8 11:06:32 2005
Copyright (c) 1987-1999 Texas Instruments Incorporated
pcf8583.asm PAGE 8
365 0063 6d00! OR _PFDATDIR
366 0064 9000! SACL _PFDATDIR
367 0065 bf80 LACK 65519
0066 ffef
368 0067 6e00! AND _PFDATDIR
369 0068 9000! SACL _PFDATDIR
370 .line 7
371 ;>>>> Pcf8583DelayI2c();
372 0069 7a80 CALL _Pcf8583DelayI2c
006a 0023'
373 .line 8
374 ;>>>> scl_0;
375 006b bf80 LACK 49151
006c bfff
376 006d bc00! LDPK _MCRA
377 006e 6e00! AND _MCRA
378 006f 9000! SACL _MCRA
379 0070 bf80 LACK 16384
0071 4000
380 0072 bc00! LDPK _PBDATDIR
381 0073 6d00! OR _PBDATDIR
382 0074 9000! SACL _PBDATDIR
383 0075 bf80 LACK 65471
0076 ffbf
384 0077 6e00! AND _PBDATDIR
385 0078 9000! SACL _PBDATDIR
386 .line 9
387 ;>>>> Pcf8583DelayI2c();
388 0079 7a80 CALL _Pcf8583DelayI2c
007a 0023'
389 007b EPI0_3:
390 .line 10
391 007b 7c02 SBRK 2
392 007c 0090 LAR AR0,*-
393 007d 7680 PSHD *
394 007e ef00 RET
395
396 .endfunc 61,000000000H,1
397
398 .sym _Pcf8583sendByte,_Pcf8583sendByte,32,2,0
399 .globl _Pcf8583sendByte
400
401 .func 65
402 ;>>>> void Pcf8583sendByte(uchar byte)
403 ******************************************************
404 * FUNCTION DEF : _Pcf8583sendByte
405 ******************************************************
406 007f _Pcf8583sendByte:
407
408 0000 LF4 .set 0
409
410 007f 8aa0 POPD *+
411 0080 80a0 SAR AR0,*+
412 0081 8180 SAR AR1,*
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00 Thu Dec 8 11:06:32 2005
Copyright (c) 1987-1999 Texas Instruments Incorporated
pcf8583.asm PAGE 9
413 0082 b003 LARK AR0,3
414 0083 00e0 LAR AR0,*0+
415
416 .sym _byte,-3+LF4,12,9,16
417 .sym _flag,1,12,1,16
418 .sym _sz,2,12,1,16
419 .line 2
420 ;>>>> uchar flag,sz;
421 .line 4
422 ;>>>> scl_0; //scl = 0;
423 0084 bf80 LACK 49151
0085 bfff
424 0086 bc00! LDPK _MCRA
425 0087 6e00! AND _MCRA
426 0088 9000! SACL _MCRA
427 0089 bf80 LACK 16384
008a 4000
428 008b bc00! LDPK _PBDATDIR
429 008c 6d00! OR _PBDATDIR
430 008d 9000! SACL _PBDATDIR
431 008e bf80 LACK 65471
008f ffbf
432 0090 6e00! AND _PBDATDIR
433 0091 9000! SACL _PBDATDIR
434 .line 5
435 ;>>>> Pcf8583DelayI2c();
436 0092 7a80 CALL _Pcf8583DelayI2c
0093 0023'
437 .line 6
438 ;>>>> for(flag=0x80;flag!=0x00;flag=flag/2)
439 0094 b980 LACK 128
440 0095 8b8a MAR * ,AR2
441 0096 b201 LARK AR2,1
442 0097 8be0 MAR *0+
443 0098 9080 SACL *
444 0099 1080 LAC *
445 009a e388 BZ L4
009b 00e5'
446 009c L3:
447 .line 8
448 ;>>>> sz=byte&flag; //clear unused bits
449 009c 1080 LAC *
450 009d 7c04 SBRK 4-LF4
451 009e 6e80 AND *
452 009f 7805 ADRK 5-LF4
453 00a0 9080 SACL *
454 .line 9
455 ;>>>> if(sz==0) {sda_0;} //if relatived bit is 0,sda = 0
456 00a1 1080 LAC *
457 00a2 e308 BNZ L5
00a3 00b4'
458 00a4 bf80 LACK 61439
00a5 efff
459 00a6 bc00! LDPK _MCRC
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00 Thu Dec 8 11:06:32 2005
Copyright (c) 1987-1999 Texas Instruments Incorporated
pcf8583.asm PAGE 10
460 00a7 6e00! AND _MCRC
461 00a8 9000! SACL _MCRC
462 00a9 bf80 LACK 4096
00aa 1000
463 00ab bc00! LDPK _PFDATDIR
464 00ac 6d00! OR _PFDATDIR
465 00ad 9000! SACL _PFDATDIR
466 00ae bf80 LACK 65519
00af ffef
467 00b0 6e00! AND _PFDATDIR
468 00b1 9000! SACL _PFDATDIR
469 00b2 7980 B L6
00b3 00be'
470 00b4 L5:
471 .line 10
472 ;>>>> else {sda_1;} //if relatived bit is 1,sda = 1
473 00b4 bf80 LACK 61439
00b5 efff
474 00b6 bc00! LDPK _MCRC
475 00b7 6e00! AND _MCRC
476 00b8 9000! SACL _MCRC
477 00b9 bf80 LACK 4112
00ba 1010
478 00bb bc00! LDPK _PFDATDIR
479 00bc 6d00! OR _PFDATDIR
480 00bd 9000! SACL _PFDATDIR
481 00be L6:
482 .line 11
483 ;>>>> Pcf8583DelayI2c();
484 00be 7a89 CALL _Pcf8583DelayI2c,AR1
00bf 0023'
485 .line 12
486 ;>>>> scl_1; //scl = 1
487 00c0 bf80 LACK 49151
00c1 bfff
488 00c2 bc00! LDPK _MCRA
489 00c3 6e00! AND _MCRA
490 00c4 9000! SACL _MCRA
491 00c5 bf80 LACK 16448
00c6 4040
492 00c7 bc00! LDPK _PBDATDIR
493 00c8 6d00! OR _PBDATDIR
494 00c9 9000! SACL _PBDATDIR
495 .line 13
496 ;>>>> Pcf8583DelayI2c();
497 00ca 7a80 CALL _Pcf8583DelayI2c
00cb 0023'
498 .line 14
499 ;>>>> scl_0; //scl = 0
500 00cc bf80 LACK 49151
00cd bfff
501 00ce bc00! LDPK _MCRA
502 00cf 6e00! AND _MCRA
503 00d0 9000! SACL _MCRA
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00 Thu Dec 8 11:06:32 2005
Copyright (c) 1987-1999 Texas Instruments Incorporated
pcf8583.asm PAGE 11
504 00d1 bf80 LACK 16384
00d2 4000
505 00d3 bc00! LDPK _PBDATDIR
506 00d4 6d00! OR _PBDATDIR
507 00d5 9000! SACL _PBDATDIR
508 00d6 bf80 LACK 65471
00d7 ffbf
509 00d8 6e00! AND _PBDATDIR
510 00d9 9000! SACL _PBDATDIR
511 .line 15
512 ;>>>> Pcf8583DelayI2c();
513 00da 7a80 CALL _Pcf8583DelayI2c
00db 0023'
514 .line 6
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -