⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 24c01.lst

📁 通过MEGA128的串口对I2C芯片24c01的读写程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
    0395 9518      RETI
_uart0_tx_isr:
  RTbuf                --> R20
    0396 922A      ST	R2,-Y
    0397 923A      ST	R3,-Y
    0398 930A      ST	R16,-Y
    0399 931A      ST	R17,-Y
    039A 938A      ST	R24,-Y
    039B 939A      ST	R25,-Y
    039C 93EA      ST	R30,-Y
    039D 93FA      ST	R31,-Y
    039E B62F      IN	R2,0x3F
    039F 922A      ST	R2,-Y
    03A0 940E04B0  CALL	push_gset1
(0437) //SEI();
(0438) }
(0439) 	
(0440) #pragma interrupt_handler uart0_tx_isr: iv_USART0_TXC
(0441) void uart0_tx_isr(void)
(0442) {
(0443) //CLI();
(0444)  siocirqueue *RTbuf;
(0445)  //WDR(); //喂狗
(0446)  RTbuf=&RTbuf_UART0;
    03A2 E34E      LDI	R20,0x3E
    03A3 E051      LDI	R21,1
(0447)  if (RTbuf->T_count>0){
    03A4 2422      CLR	R2
    03A5 01FA      MOVW	R30,R20
    03A6 59E6      SUBI	R30,0x96
    03A7 4FFF      SBCI	R31,0xFF
    03A8 8030      LDD	R3,Z+0
    03A9 1423      CP	R2,R3
    03AA F008      BCS	0x03AC
    03AB C020      RJMP	0x03CC
(0448) 	UDR0=RTbuf->T_buf[RTbuf->T_front];
    03AC 01CA      MOVW	R24,R20
    03AD 5985      SUBI	R24,0x95
    03AE 4F9F      SBCI	R25,0xFF
    03AF 01FA      MOVW	R30,R20
    03B0 59E8      SUBI	R30,0x98
    03B1 4FFF      SBCI	R31,0xFF
    03B2 81E0      LDD	R30,Z+0
    03B3 27FF      CLR	R31
    03B4 0FE8      ADD	R30,R24
    03B5 1FF9      ADC	R31,R25
    03B6 8020      LDD	R2,Z+0
    03B7 B82C      OUT	0x0C,R2
(0449) 	RTbuf->T_count--;
    03B8 01CA      MOVW	R24,R20
    03B9 5986      SUBI	R24,0x96
    03BA 4F9F      SBCI	R25,0xFF
    03BB 01FC      MOVW	R30,R24
    03BC 8180      LDD	R24,Z+0
    03BD 5081      SUBI	R24,1
    03BE 8380      STD	Z+0,R24
(0450) 	RTbuf->T_front=(RTbuf->T_front+1) % TBUF_SIZE;
    03BF 01CA      MOVW	R24,R20
    03C0 5988      SUBI	R24,0x98
    03C1 4F9F      SBCI	R25,0xFF
    03C2 011C      MOVW	R2,R24
    03C3 E614      LDI	R17,0x64
    03C4 01FC      MOVW	R30,R24
    03C5 8100      LDD	R16,Z+0
    03C6 5F0F      SUBI	R16,0xFF
    03C7 940E0454  CALL	mod8u
    03C9 01F1      MOVW	R30,R2
    03CA 8300      STD	Z+0,R16
(0451) 	}
    03CB C005      RJMP	0x03D1
(0452)  else RTbuf->T_disabled=1;
FILE: <library>
    03CC E081      LDI	R24,1
    03CD 01FA      MOVW	R30,R20
    03CE 53E1      SUBI	R30,0x31
    03CF 4FFF      SBCI	R31,0xFF
    03D0 8380      STD	Z+0,R24
    03D1 940E04B3  CALL	pop_gset1
    03D3 9029      LD	R2,Y+
    03D4 BE2F      OUT	0x3F,R2
    03D5 91F9      LD	R31,Y+
    03D6 91E9      LD	R30,Y+
    03D7 9199      LD	R25,Y+
    03D8 9189      LD	R24,Y+
    03D9 9119      LD	R17,Y+
    03DA 9109      LD	R16,Y+
    03DB 9039      LD	R3,Y+
    03DC 9029      LD	R2,Y+
    03DD 9518      RETI
push_arg4:
    03DE 933A      ST	R19,-Y
    03DF 932A      ST	R18,-Y
push_arg2:
    03E0 931A      ST	R17,-Y
    03E1 930A      ST	R16,-Y
    03E2 9508      RET
div32u:
    03E3 94E8      BCLR	6
    03E4 C001      RJMP	0x03E6
mod32u:
    03E5 9468      BSET	6
    03E6 D02F      RCALL	long_div_prolog
    03E7 24CC      CLR	R12
    03E8 C008      RJMP	0x03F1
div32s:
    03E9 94E8      BCLR	6
    03EA C001      RJMP	0x03EC
mod32s:
    03EB 9468      BSET	6
    03EC D029      RCALL	long_div_prolog
    03ED FD37      SBRC	R19,7
    03EE D053      RCALL	neg_R16_R19
    03EF FDB7      SBRC	R27,7
    03F0 D05A      RCALL	neg_R24_R27
    03F1 2477      CLR	R7
    03F2 2488      CLR	R8
    03F3 2499      CLR	R9
    03F4 24AA      CLR	R10
    03F5 24BB      CLR	R11
    03F6 D041      RCALL	tst_R16_R19
    03F7 F0C1      BEQ	0x0410
    03F8 D044      RCALL	tst_R24_R27
    03F9 F0B1      BEQ	0x0410
    03FA E2E8      LDI	R30,0x28
    03FB 0F00      LSL	R16
    03FC 1F11      ROL	R17
    03FD 1F22      ROL	R18
    03FE 1F33      ROL	R19
    03FF 1C77      ROL	R7
    0400 1C88      ROL	R8
    0401 1C99      ROL	R9
    0402 1CAA      ROL	R10
    0403 1CBB      ROL	R11
    0404 1688      CP	R8,R24
    0405 0699      CPC	R9,R25
    0406 06AA      CPC	R10,R26
    0407 06BB      CPC	R11,R27
    0408 F028      BCS	0x040E
    0409 1A88      SUB	R8,R24
    040A 0A99      SBC	R9,R25
    040B 0AAA      SBC	R10,R26
    040C 0ABB      SBC	R11,R27
    040D 9503      INC	R16
    040E 95EA      DEC	R30
    040F F759      BNE	0x03FB
    0410 F426      BRTC	0x0415
    0411 2D08      MOV	R16,R8
    0412 2D19      MOV	R17,R9
    0413 2D2A      MOV	R18,R10
    0414 2D3B      MOV	R19,R11
    0415 C013      RJMP	long_div_epilog
long_div_prolog:
    0416 927A      ST	R7,-Y
    0417 928A      ST	R8,-Y
    0418 929A      ST	R9,-Y
    0419 92AA      ST	R10,-Y
    041A 92BA      ST	R11,-Y
    041B 92CA      ST	R12,-Y
    041C 93EA      ST	R30,-Y
    041D 938A      ST	R24,-Y
    041E 939A      ST	R25,-Y
    041F 93AA      ST	R26,-Y
    0420 93BA      ST	R27,-Y
    0421 858B      LDD	R24,Y+11
    0422 859C      LDD	R25,Y+12
    0423 85AD      LDD	R26,Y+13
    0424 85BE      LDD	R27,Y+14
    0425 2EC3      MOV	R12,R19
    0426 F00E      BRTS	0x0428
    0427 26CB      EOR	R12,R27
    0428 9508      RET
long_div_epilog:
    0429 FCC7      SBRC	R12,7
    042A D017      RCALL	neg_R16_R19
    042B 91B9      LD	R27,Y+
    042C 91A9      LD	R26,Y+
    042D 9199      LD	R25,Y+
    042E 9189      LD	R24,Y+
    042F 91E9      LD	R30,Y+
    0430 90C9      LD	R12,Y+
    0431 90B9      LD	R11,Y+
    0432 90A9      LD	R10,Y+
    0433 9099      LD	R9,Y+
    0434 9089      LD	R8,Y+
    0435 9079      LD	R7,Y+
    0436 9624      ADIW	R28,4
    0437 9508      RET
tst_R16_R19:
    0438 2FE0      MOV	R30,R16
    0439 2BE1      OR	R30,R17
    043A 2BE2      OR	R30,R18
    043B 2BE3      OR	R30,R19
    043C 9508      RET
tst_R24_R27:
    043D 2FE8      MOV	R30,R24
    043E 2BE9      OR	R30,R25
    043F 2BEA      OR	R30,R26
    0440 2BEB      OR	R30,R27
    0441 9508      RET
neg_R16_R19:
    0442 9500      COM	R16
    0443 9510      COM	R17
    0444 9520      COM	R18
    0445 9530      COM	R19
    0446 5F0F      SUBI	R16,0xFF
    0447 4F1F      SBCI	R17,0xFF
    0448 4F2F      SBCI	R18,0xFF
    0449 4F3F      SBCI	R19,0xFF
    044A 9508      RET
neg_R24_R27:
    044B 9580      COM	R24
    044C 9590      COM	R25
    044D 95A0      COM	R26
    044E 95B0      COM	R27
    044F 5F8F      SUBI	R24,0xFF
    0450 4F9F      SBCI	R25,0xFF
    0451 4FAF      SBCI	R26,0xFF
    0452 4FBF      SBCI	R27,0xFF
    0453 9508      RET
mod8u:
    0454 9468      BSET	6
    0455 C001      RJMP	xdiv8u
div8u:
    0456 94E8      BCLR	6
xdiv8u:
    0457 932A      ST	R18,-Y
    0458 92FA      ST	R15,-Y
    0459 92EA      ST	R14,-Y
    045A 24FF      CLR	R15
    045B 24EE      CLR	R14
    045C E120      LDI	R18,0x10
    045D 0F00      LSL	R16
    045E 1CFF      ROL	R15
    045F 1CEE      ROL	R14
    0460 16E1      CP	R14,R17
    0461 F010      BCS	0x0464
    0462 1AE1      SUB	R14,R17
    0463 9503      INC	R16
    0464 952A      DEC	R18
    0465 F7B9      BNE	0x045D
    0466 F40E      BRTC	0x0468
    0467 2D0E      MOV	R16,R14
    0468 90E9      LD	R14,Y+
    0469 90F9      LD	R15,Y+
    046A 9129      LD	R18,Y+
    046B 9508      RET
empy32u:
empy32s:
    046C 940E04C7  CALL	long_prolog
    046E 927F      PUSH	R7
    046F 940E04E0  CALL	tstzero1
    0471 F139      BEQ	0x0499
    0472 2477      CLR	R7
    0473 940E04E6  CALL	tstzero2
    0475 F419      BNE	0x0479
    0476 018C      MOVW	R16,R24
    0477 019D      MOVW	R18,R26
    0478 C020      RJMP	0x0499
    0479 9F08      MUL	R16,R24
    047A 2CB0      MOV	R11,R0
    047B 2CA1      MOV	R10,R1
    047C 9F28      MUL	R18,R24
    047D 2C90      MOV	R9,R0
    047E 2C81      MOV	R8,R1
    047F 9F18      MUL	R17,R24
    0480 0CA0      ADD	R10,R0
    0481 1C91      ADC	R9,R1
    0482 1C87      ADC	R8,R7
    0483 9F09      MUL	R16,R25
    0484 0CA0      ADD	R10,R0
    0485 1C91      ADC	R9,R1
    0486 1C87      ADC	R8,R7
    0487 9F19      MUL	R17,R25
    0488 0C90      ADD	R9,R0
    0489 1C81      ADC	R8,R1
    048A 9F0A      MUL	R16,R26
    048B 0C90      ADD	R9,R0
    048C 1C81      ADC	R8,R1
    048D 9F38      MUL	R19,R24
    048E 0C80      ADD	R8,R0
    048F 9F29      MUL	R18,R25
    0490 0C80      ADD	R8,R0
    0491 9F1A      MUL	R17,R26
    0492 0C80      ADD	R8,R0
    0493 9F0B      MUL	R16,R27
    0494 0C80      ADD	R8,R0
    0495 2D0B      MOV	R16,R11
    0496 2D1A      MOV	R17,R10
    0497 2D29      MOV	R18,R9
    0498 2D38      MOV	R19,R8
    0499 907F      POP	R7
    049A 940C04D5  JMP	long_epilog
pop_gset2:
    049C E0E2      LDI	R30,2
    049D 940C04B4  JMP	pop
pop_gset3:
    049F E0E4      LDI	R30,4
    04A0 940C04B4  JMP	pop
pop_gset4:
    04A2 E0E8      LDI	R30,0x8
    04A3 940C04B4  JMP	pop
pop_gset5:
    04A5 27EE      CLR	R30
    04A6 940C04B4  JMP	pop
push_gset5:
    04A8 92FA      ST	R15,-Y
    04A9 92EA      ST	R14,-Y
push_gset4:
    04AA 92DA      ST	R13,-Y
    04AB 92CA      ST	R12,-Y
push_gset3:
    04AC 92BA      ST	R11,-Y
    04AD 92AA      ST	R10,-Y
push_gset2:
    04AE 937A      ST	R23,-Y
    04AF 936A      ST	R22,-Y
push_gset1:
    04B0 935A      ST	R21,-Y
    04B1 934A      ST	R20,-Y
    04B2 9508      RET
pop_gset1:
    04B3 E0E1      LDI	R30,1
pop:
    04B4 9149      LD	R20,Y+
    04B5 9159      LD	R21,Y+
    04B6 FDE0      SBRC	R30,0
    04B7 9508      RET
    04B8 9169      LD	R22,Y+
    04B9 9179      LD	R23,Y+
    04BA FDE1      SBRC	R30,1
    04BB 9508      RET
    04BC 90A9      LD	R10,Y+
    04BD 90B9      LD	R11,Y+
    04BE FDE2      SBRC	R30,2
    04BF 9508      RET
    04C0 90C9      LD	R12,Y+
    04C1 90D9      LD	R13,Y+
    04C2 FDE3      SBRC	R30,3
    04C3 9508      RET
    04C4 90E9      LD	R14,Y+
    04C5 90F9      LD	R15,Y+
    04C6 9508      RET
long_prolog:
    04C7 928A      ST	R8,-Y
    04C8 929A      ST	R9,-Y
    04C9 92AA      ST	R10,-Y
    04CA 92BA      ST	R11,-Y
    04CB 93EA      ST	R30,-Y
    04CC 938A      ST	R24,-Y
    04CD 939A      ST	R25,-Y
    04CE 93AA      ST	R26,-Y
    04CF 93BA      ST	R27,-Y
    04D0 8589      LDD	R24,Y+9
    04D1 859A      LDD	R25,Y+10
    04D2 85AB      LDD	R26,Y+11
    04D3 85BC      LDD	R27,Y+12
    04D4 9508      RET
long_epilog:
    04D5 91B9      LD	R27,Y+
    04D6 91A9      LD	R26,Y+
    04D7 9199      LD	R25,Y+
    04D8 9189      LD	R24,Y+
    04D9 91E9      LD	R30,Y+
    04DA 90B9      LD	R11,Y+
    04DB 90A9      LD	R10,Y+
    04DC 9099      LD	R9,Y+
    04DD 9089      LD	R8,Y+
    04DE 9624      ADIW	R28,4
    04DF 9508      RET
tstzero1:
    04E0 27EE      CLR	R30
    04E1 2BE0      OR	R30,R16
    04E2 2BE1      OR	R30,R17
    04E3 2BE2      OR	R30,R18
    04E4 2BE3      OR	R30,R19
    04E5 9508      RET
tstzero2:
    04E6 27EE      CLR	R30
    04E7 2BE8      OR	R30,R24
    04E8 2BE9      OR	R30,R25
    04E9 2BEA      OR	R30,R26
    04EA 2BEB      OR	R30,R27
    04EB 9508      RET

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -