📄 lib24c16.lst
字号:
00C0 5A 379 anl a,r2
00C1 FC 380 mov r4,a
381 ;C:/Maxx/Proyectos/APublicar/lib24c16.c:248: if (aux == 0) // MSB = 0
382 ; genCmpEq
383 ; Peephole 132 changed ljmp to sjmp
384 ; Peephole 199 optimized misc jump sequence
00C2 BC 00 04 385 cjne r4,#0x00,00102$
386 ;00114$:
387 ; Peephole 200 removed redundant sjmp
00C5 388 00115$:
389 ;C:/Maxx/Proyectos/APublicar/lib24c16.c:249: SDA = 0; // then SDA = 0
390 ; genAssign
00C5 C2*00 391 clr _SDA
392 ; Peephole 132 changed ljmp to sjmp
00C7 80 02 393 sjmp 00103$
00C9 394 00102$:
395 ;C:/Maxx/Proyectos/APublicar/lib24c16.c:251: SDA = 1; // else MSB = 1, the SDA = 1
396 ; genAssign
00C9 D2*00 397 setb _SDA
00CB 398 00103$:
399 ;C:/Maxx/Proyectos/APublicar/lib24c16.c:252: SCK = 1; // clock = 1
400 ; genAssign
00CB D2*00 401 setb _SCK
402 ;C:/Maxx/Proyectos/APublicar/lib24c16.c:259: _endasm;
403 ; genInline
00CD 00 404 nop
00CE 00 405 nop
00CF 00 406 nop
00D0 00 407 nop
00D1 00 408 nop
409 ;C:/Maxx/Proyectos/APublicar/lib24c16.c:260: SCK = 0; // clock = 0
410 ; genAssign
00D2 C2*00 411 clr _SCK
412 ;C:/Maxx/Proyectos/APublicar/lib24c16.c:261: datum = datum << 1; // rotate for next bit
413 ; genLeftShift
414 ; genLeftShiftLiteral
415 ; genlshOne
00D4 EA 416 mov a,r2
00D5 25 E0 417 add a,acc
00D7 FA 418 mov r2,a
419 ;C:/Maxx/Proyectos/APublicar/lib24c16.c:245: for (i = 0; i < 8; i++) // bit shifting cycle
420 ; genPlus
421 ; genPlusIncr
00D8 0B 422 inc r3
423 ; Peephole 132 changed ljmp to sjmp
00D9 80 DB 424 sjmp 00104$
00DB 425 00107$:
426 ;C:/Maxx/Proyectos/APublicar/lib24c16.c:263: SDA = 1; // set port pin for ack
427 ; genAssign
00DB D2*00 428 setb _SDA
429 ;C:/Maxx/Proyectos/APublicar/lib24c16.c:268: _endasm;
430 ; genInline
00DD 00 431 nop
00DE 00 432 nop
00DF 00 433 nop
434 ;C:/Maxx/Proyectos/APublicar/lib24c16.c:269: SCK = 1; // clock ack
435 ; genAssign
00E0 D2*00 436 setb _SCK
437 ;C:/Maxx/Proyectos/APublicar/lib24c16.c:276: _endasm;
438 ; genInline
00E2 00 439 nop
00E3 00 440 nop
00E4 00 441 nop
00E5 00 442 nop
00E6 00 443 nop
444 ;C:/Maxx/Proyectos/APublicar/lib24c16.c:277: SCK = 0; // clock = 0
445 ; genAssign
00E7 C2*00 446 clr _SCK
00E9 447 00108$:
00E9 22 448 ret
449 ;------------------------------------------------------------
450 ;Allocation info for local variables in function 'in'
451 ;------------------------------------------------------------
452 ;------------------------------------------------------------
453 ;C:/Maxx/Proyectos/APublicar/lib24c16.c:293: char in (void)
454 ; -----------------------------------------
455 ; function in
456 ; -----------------------------------------
00EA 457 _in:
458 ;C:/Maxx/Proyectos/APublicar/lib24c16.c:296: char aux = 0; // auxiliary storage
459 ; genAssign
00EA 7A 00 460 mov r2,#0x00
461 ;C:/Maxx/Proyectos/APublicar/lib24c16.c:297: SDA = 1; // insure port pin = 1 for input
462 ; genAssign
00EC D2*00 463 setb _SDA
464 ;C:/Maxx/Proyectos/APublicar/lib24c16.c:298: for (i = 0; i < 8; i++) // bit shifting cycle
465 ; genAssign
00EE 7B 00 466 mov r3,#0x00
00F0 467 00104$:
468 ; genCmpLt
469 ; genCmp
00F0 C3 470 clr c
00F1 EB 471 mov a,r3
00F2 64 80 472 xrl a,#0x80
00F4 94 88 473 subb a,#0x88
474 ; genIfxJump
475 ; Peephole 108 removed ljmp by inverse jump logic
00F6 50 1C 476 jnc 00107$
00F8 477 00113$:
478 ;C:/Maxx/Proyectos/APublicar/lib24c16.c:300: SCK = 0; // clock = 0
479 ; genAssign
00F8 C2*00 480 clr _SCK
481 ;C:/Maxx/Proyectos/APublicar/lib24c16.c:308: _endasm;
482 ; genInline
00FA 00 483 nop
00FB 00 484 nop
00FC 00 485 nop
00FD 00 486 nop
00FE 00 487 nop
00FF 00 488 nop
489 ;C:/Maxx/Proyectos/APublicar/lib24c16.c:309: SCK = 1; // clock = 1
490 ; genAssign
0100 D2*00 491 setb _SCK
492 ;C:/Maxx/Proyectos/APublicar/lib24c16.c:310: aux = aux << 1; // load bit position
493 ; genLeftShift
494 ; genLeftShiftLiteral
495 ; genlshOne
0102 EA 496 mov a,r2
0103 25 E0 497 add a,acc
0105 FA 498 mov r2,a
499 ;C:/Maxx/Proyectos/APublicar/lib24c16.c:311: if (SDA) // check SDA data from port pin
500 ; genIfx
501 ; genIfxJump
502 ; Peephole 111 removed ljmp by inverse jump logic
0106 30*00 05 503 jnb _SDA,00102$
0109 504 00114$:
505 ;C:/Maxx/Proyectos/APublicar/lib24c16.c:312: aux = aux | 0x01; // if port pin = 1, set LSB (bit position)
506 ; genOr
0109 43 02 01 507 orl ar2,#0x01
508 ; Peephole 132 changed ljmp to sjmp
010C 80 03 509 sjmp 00106$
010E 510 00102$:
511 ;C:/Maxx/Proyectos/APublicar/lib24c16.c:314: aux = aux & 0xFE; // else port pin = ,clear LSB (bit position)
512 ; genAnd
010E 53 02 FE 513 anl ar2,#0xFE
0111 514 00106$:
515 ;C:/Maxx/Proyectos/APublicar/lib24c16.c:298: for (i = 0; i < 8; i++) // bit shifting cycle
516 ; genPlus
517 ; genPlusIncr
0111 0B 518 inc r3
519 ; Peephole 132 changed ljmp to sjmp
0112 80 DC 520 sjmp 00104$
0114 521 00107$:
522 ;C:/Maxx/Proyectos/APublicar/lib24c16.c:316: SCK = 0; // clock = 0
523 ; genAssign
0114 C2*00 524 clr _SCK
525 ;C:/Maxx/Proyectos/APublicar/lib24c16.c:317: return (aux); // return data received
526 ; genRet
0116 8A 82 527 mov dpl,r2
0118 528 00108$:
0118 22 529 ret
530 ;------------------------------------------------------------
531 ;Allocation info for local variables in function 'stop'
532 ;------------------------------------------------------------
533 ;------------------------------------------------------------
534 ;C:/Maxx/Proyectos/APublicar/lib24c16.c:332: void stop (void)
535 ; -----------------------------------------
536 ; function stop
537 ; -----------------------------------------
0119 538 _stop:
539 ;C:/Maxx/Proyectos/APublicar/lib24c16.c:334: SDA = 0; // stop condition, data = 0
540 ; genAssign
0119 C2*00 541 clr _SDA
542 ;C:/Maxx/Proyectos/APublicar/lib24c16.c:341: _endasm;
543 ; genInline
011B 00 544 nop
011C 00 545 nop
011D 00 546 nop
011E 00 547 nop
011F 00 548 nop
549 ;C:/Maxx/Proyectos/APublicar/lib24c16.c:342: SCK = 1; // clock = 1
550 ; genAssign
0120 D2*00 551 setb _SCK
552 ;C:/Maxx/Proyectos/APublicar/lib24c16.c:349: _endasm;
553 ; genInline
0122 00 554 nop
0123 00 555 nop
0124 00 556 nop
0125 00 557 nop
0126 00 558 nop
559 ;C:/Maxx/Proyectos/APublicar/lib24c16.c:350: SDA = 1; // data = 1
560 ; genAssign
0127 D2*00 561 setb _SDA
0129 562 00101$:
0129 22 563 ret
564 .area CSEG (CODE)
565 .area XINIT (CODE)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -