📄 lib24c16.rst
字号:
0109 5A 379 anl a,r2
010A 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
010B BC 00 04 385 cjne r4,#0x00,00102$
386 ;00114$:
387 ; Peephole 200 removed redundant sjmp
010E 388 00115$:
389 ;C:/Maxx/Proyectos/APublicar/lib24c16.c:249: SDA = 0; // then SDA = 0
390 ; genAssign
010E C2 91 391 clr _SDA
392 ; Peephole 132 changed ljmp to sjmp
0110 80 02 393 sjmp 00103$
0112 394 00102$:
395 ;C:/Maxx/Proyectos/APublicar/lib24c16.c:251: SDA = 1; // else MSB = 1, the SDA = 1
396 ; genAssign
0112 D2 91 397 setb _SDA
0114 398 00103$:
399 ;C:/Maxx/Proyectos/APublicar/lib24c16.c:252: SCK = 1; // clock = 1
400 ; genAssign
0114 D2 90 401 setb _SCK
402 ;C:/Maxx/Proyectos/APublicar/lib24c16.c:259: _endasm;
403 ; genInline
0116 00 404 nop
0117 00 405 nop
0118 00 406 nop
0119 00 407 nop
011A 00 408 nop
409 ;C:/Maxx/Proyectos/APublicar/lib24c16.c:260: SCK = 0; // clock = 0
410 ; genAssign
011B C2 90 411 clr _SCK
412 ;C:/Maxx/Proyectos/APublicar/lib24c16.c:261: datum = datum << 1; // rotate for next bit
413 ; genLeftShift
414 ; genLeftShiftLiteral
415 ; genlshOne
011D EA 416 mov a,r2
011E 25 E0 417 add a,acc
0120 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
0121 0B 422 inc r3
423 ; Peephole 132 changed ljmp to sjmp
0122 80 DB 424 sjmp 00104$
0124 425 00107$:
426 ;C:/Maxx/Proyectos/APublicar/lib24c16.c:263: SDA = 1; // set port pin for ack
427 ; genAssign
0124 D2 91 428 setb _SDA
429 ;C:/Maxx/Proyectos/APublicar/lib24c16.c:268: _endasm;
430 ; genInline
0126 00 431 nop
0127 00 432 nop
0128 00 433 nop
434 ;C:/Maxx/Proyectos/APublicar/lib24c16.c:269: SCK = 1; // clock ack
435 ; genAssign
0129 D2 90 436 setb _SCK
437 ;C:/Maxx/Proyectos/APublicar/lib24c16.c:276: _endasm;
438 ; genInline
012B 00 439 nop
012C 00 440 nop
012D 00 441 nop
012E 00 442 nop
012F 00 443 nop
444 ;C:/Maxx/Proyectos/APublicar/lib24c16.c:277: SCK = 0; // clock = 0
445 ; genAssign
0130 C2 90 446 clr _SCK
0132 447 00108$:
0132 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 ; -----------------------------------------
0133 457 _in:
458 ;C:/Maxx/Proyectos/APublicar/lib24c16.c:296: char aux = 0; // auxiliary storage
459 ; genAssign
0133 7A 00 460 mov r2,#0x00
461 ;C:/Maxx/Proyectos/APublicar/lib24c16.c:297: SDA = 1; // insure port pin = 1 for input
462 ; genAssign
0135 D2 91 463 setb _SDA
464 ;C:/Maxx/Proyectos/APublicar/lib24c16.c:298: for (i = 0; i < 8; i++) // bit shifting cycle
465 ; genAssign
0137 7B 00 466 mov r3,#0x00
0139 467 00104$:
468 ; genCmpLt
469 ; genCmp
0139 C3 470 clr c
013A EB 471 mov a,r3
013B 64 80 472 xrl a,#0x80
013D 94 88 473 subb a,#0x88
474 ; genIfxJump
475 ; Peephole 108 removed ljmp by inverse jump logic
013F 50 1C 476 jnc 00107$
0141 477 00113$:
478 ;C:/Maxx/Proyectos/APublicar/lib24c16.c:300: SCK = 0; // clock = 0
479 ; genAssign
0141 C2 90 480 clr _SCK
481 ;C:/Maxx/Proyectos/APublicar/lib24c16.c:308: _endasm;
482 ; genInline
0143 00 483 nop
0144 00 484 nop
0145 00 485 nop
0146 00 486 nop
0147 00 487 nop
0148 00 488 nop
489 ;C:/Maxx/Proyectos/APublicar/lib24c16.c:309: SCK = 1; // clock = 1
490 ; genAssign
0149 D2 90 491 setb _SCK
492 ;C:/Maxx/Proyectos/APublicar/lib24c16.c:310: aux = aux << 1; // load bit position
493 ; genLeftShift
494 ; genLeftShiftLiteral
495 ; genlshOne
014B EA 496 mov a,r2
014C 25 E0 497 add a,acc
014E 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
014F 30 91 05 503 jnb _SDA,00102$
0152 504 00114$:
505 ;C:/Maxx/Proyectos/APublicar/lib24c16.c:312: aux = aux | 0x01; // if port pin = 1, set LSB (bit position)
506 ; genOr
0152 43 02 01 507 orl ar2,#0x01
508 ; Peephole 132 changed ljmp to sjmp
0155 80 03 509 sjmp 00106$
0157 510 00102$:
511 ;C:/Maxx/Proyectos/APublicar/lib24c16.c:314: aux = aux & 0xFE; // else port pin = ,clear LSB (bit position)
512 ; genAnd
0157 53 02 FE 513 anl ar2,#0xFE
015A 514 00106$:
515 ;C:/Maxx/Proyectos/APublicar/lib24c16.c:298: for (i = 0; i < 8; i++) // bit shifting cycle
516 ; genPlus
517 ; genPlusIncr
015A 0B 518 inc r3
519 ; Peephole 132 changed ljmp to sjmp
015B 80 DC 520 sjmp 00104$
015D 521 00107$:
522 ;C:/Maxx/Proyectos/APublicar/lib24c16.c:316: SCK = 0; // clock = 0
523 ; genAssign
015D C2 90 524 clr _SCK
525 ;C:/Maxx/Proyectos/APublicar/lib24c16.c:317: return (aux); // return data received
526 ; genRet
015F 8A 82 527 mov dpl,r2
0161 528 00108$:
0161 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 ; -----------------------------------------
0162 538 _stop:
539 ;C:/Maxx/Proyectos/APublicar/lib24c16.c:334: SDA = 0; // stop condition, data = 0
540 ; genAssign
0162 C2 91 541 clr _SDA
542 ;C:/Maxx/Proyectos/APublicar/lib24c16.c:341: _endasm;
543 ; genInline
0164 00 544 nop
0165 00 545 nop
0166 00 546 nop
0167 00 547 nop
0168 00 548 nop
549 ;C:/Maxx/Proyectos/APublicar/lib24c16.c:342: SCK = 1; // clock = 1
550 ; genAssign
0169 D2 90 551 setb _SCK
552 ;C:/Maxx/Proyectos/APublicar/lib24c16.c:349: _endasm;
553 ; genInline
016B 00 554 nop
016C 00 555 nop
016D 00 556 nop
016E 00 557 nop
016F 00 558 nop
559 ;C:/Maxx/Proyectos/APublicar/lib24c16.c:350: SDA = 1; // data = 1
560 ; genAssign
0170 D2 91 561 setb _SDA
0172 562 00101$:
0172 22 563 ret
564 .area CSEG (CODE)
565 .area XINIT (CODE)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -