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

📄 hc595.lst

📁 ATMEGA128的EEPROM驱动程序
💻 LST
📖 第 1 页 / 共 4 页
字号:
    02A8 93000105  STS	Seg7_Led_Buf+3,R16
(0169)  	 Seg7_Led_Buf[2]=(temp%1000)/100;
    02AA EE28      LDI	R18,0xE8
    02AB E033      LDI	R19,3
    02AC 018A      MOVW	R16,R20
    02AD 940E03D8  CALL	mod16u
    02AF E624      LDI	R18,0x64
    02B0 E030      LDI	R19,0
    02B1 940E03DA  CALL	div16u
    02B3 93000104  STS	Seg7_Led_Buf+2,R16
(0170)  	 Seg7_Led_Buf[1]=(temp%100)/10;
    02B5 E624      LDI	R18,0x64
    02B6 E030      LDI	R19,0
    02B7 018A      MOVW	R16,R20
    02B8 940E03D8  CALL	mod16u
    02BA E02A      LDI	R18,0xA
    02BB E030      LDI	R19,0
    02BC 940E03DA  CALL	div16u
    02BE 93000103  STS	Seg7_Led_Buf+1,R16
(0171)  	 Seg7_Led_Buf[0]=temp%10;
    02C0 E02A      LDI	R18,0xA
    02C1 E030      LDI	R19,0
    02C2 018A      MOVW	R16,R20
    02C3 940E03D8  CALL	mod16u
    02C5 93000102  STS	Seg7_Led_Buf,R16
(0172) 	 Seg7_Led_Update();
    02C7 DE30      RCALL	_Seg7_Led_Update
(0173) 	}
    02C8 C102      RJMP	0x03CB
(0174)  else if(data>9)
    02C9 EA05      LDI	R16,0xA5
    02CA E010      LDI	R17,0
    02CB 940E041F  CALL	lpm32
    02CD 933A      ST	R19,-Y
    02CE 932A      ST	R18,-Y
    02CF 931A      ST	R17,-Y
    02D0 930A      ST	R16,-Y
    02D1 01FE      MOVW	R30,R28
    02D2 8424      LDD	R2,Z+12
    02D3 8435      LDD	R3,Z+13
    02D4 8446      LDD	R4,Z+14
    02D5 8457      LDD	R5,Z+15
    02D6 925A      ST	R5,-Y
    02D7 924A      ST	R4,-Y
    02D8 923A      ST	R3,-Y
    02D9 922A      ST	R2,-Y
    02DA 940E0506  CALL	cmp32f
    02DC F00C      BLT	0x02DE
    02DD C077      RJMP	0x0355
(0175)  	{
(0176) 	 temp=data*100;
    02DE EA01      LDI	R16,0xA1
    02DF E010      LDI	R17,0
    02E0 940E041F  CALL	lpm32
    02E2 933A      ST	R19,-Y
    02E3 932A      ST	R18,-Y
    02E4 931A      ST	R17,-Y
    02E5 930A      ST	R16,-Y
    02E6 01FE      MOVW	R30,R28
    02E7 8424      LDD	R2,Z+12
    02E8 8435      LDD	R3,Z+13
    02E9 8446      LDD	R4,Z+14
    02EA 8457      LDD	R5,Z+15
    02EB 925A      ST	R5,-Y
    02EC 924A      ST	R4,-Y
    02ED 923A      ST	R3,-Y
    02EE 922A      ST	R2,-Y
    02EF 940E053A  CALL	empy32f
    02F1 01FE      MOVW	R30,R28
    02F2 8300      STD	Z+0,R16
    02F3 8311      STD	Z+1,R17
    02F4 8322      STD	Z+2,R18
    02F5 8333      STD	Z+3,R19
    02F6 01FE      MOVW	R30,R28
    02F7 8020      LDD	R2,Z+0
    02F8 8031      LDD	R3,Z+1
    02F9 8042      LDD	R4,Z+2
    02FA 8053      LDD	R5,Z+3
    02FB 925A      ST	R5,-Y
    02FC 924A      ST	R4,-Y
    02FD 923A      ST	R3,-Y
    02FE 922A      ST	R2,-Y
    02FF EA09      LDI	R16,0xA9
    0300 E010      LDI	R17,0
    0301 940E041F  CALL	lpm32
    0303 933A      ST	R19,-Y
    0304 932A      ST	R18,-Y
    0305 931A      ST	R17,-Y
    0306 930A      ST	R16,-Y
    0307 940E0506  CALL	cmp32f
    0309 F0CC      BLT	0x0323
    030A 01FE      MOVW	R30,R28
    030B 8020      LDD	R2,Z+0
    030C 8031      LDD	R3,Z+1
    030D 8042      LDD	R4,Z+2
    030E 8053      LDD	R5,Z+3
    030F 925A      ST	R5,-Y
    0310 924A      ST	R4,-Y
    0311 923A      ST	R3,-Y
    0312 922A      ST	R2,-Y
    0313 EA09      LDI	R16,0xA9
    0314 E010      LDI	R17,0
    0315 940E041F  CALL	lpm32
    0317 933A      ST	R19,-Y
    0318 932A      ST	R18,-Y
    0319 931A      ST	R17,-Y
    031A 930A      ST	R16,-Y
    031B 940E04B0  CALL	sub32f
    031D 940E0433  CALL	fp2int
    031F 01B8      MOVW	R22,R16
    0320 5060      SUBI	R22,0
    0321 4870      SBCI	R23,0x80
    0322 C008      RJMP	0x032B
    0323 01FE      MOVW	R30,R28
    0324 8100      LDD	R16,Z+0
    0325 8111      LDD	R17,Z+1
    0326 8122      LDD	R18,Z+2
    0327 8133      LDD	R19,Z+3
    0328 940E0433  CALL	fp2int
    032A 01B8      MOVW	R22,R16
    032B 01AB      MOVW	R20,R22
(0177) 	 point_pos=2;
    032C E082      LDI	R24,2
    032D 93800101  STS	point_pos,R24
(0178) 	 Seg7_Led_Buf[3]=temp/1000;
    032F EE28      LDI	R18,0xE8
    0330 E033      LDI	R19,3
    0331 018A      MOVW	R16,R20
    0332 940E03DA  CALL	div16u
    0334 93000105  STS	Seg7_Led_Buf+3,R16
(0179)  	 Seg7_Led_Buf[2]=(temp%1000)/100;
    0336 EE28      LDI	R18,0xE8
    0337 E033      LDI	R19,3
    0338 018A      MOVW	R16,R20
    0339 940E03D8  CALL	mod16u
    033B E624      LDI	R18,0x64
    033C E030      LDI	R19,0
    033D 940E03DA  CALL	div16u
    033F 93000104  STS	Seg7_Led_Buf+2,R16
(0180)  	 Seg7_Led_Buf[1]=(temp%100)/10;
    0341 E624      LDI	R18,0x64
    0342 E030      LDI	R19,0
    0343 018A      MOVW	R16,R20
    0344 940E03D8  CALL	mod16u
    0346 E02A      LDI	R18,0xA
    0347 E030      LDI	R19,0
    0348 940E03DA  CALL	div16u
    034A 93000103  STS	Seg7_Led_Buf+1,R16
(0181)  	 Seg7_Led_Buf[0]=temp%10;
    034C E02A      LDI	R18,0xA
    034D E030      LDI	R19,0
    034E 018A      MOVW	R16,R20
    034F 940E03D8  CALL	mod16u
    0351 93000102  STS	Seg7_Led_Buf,R16
(0182) 	 Seg7_Led_Update();
    0353 DDA4      RCALL	_Seg7_Led_Update
(0183) 	}
    0354 C076      RJMP	0x03CB
(0184)  else
(0185)  	{
(0186) 	 temp=data*1000;
    0355 E90D      LDI	R16,0x9D
    0356 E010      LDI	R17,0
    0357 940E041F  CALL	lpm32
    0359 933A      ST	R19,-Y
    035A 932A      ST	R18,-Y
    035B 931A      ST	R17,-Y
    035C 930A      ST	R16,-Y
    035D 01FE      MOVW	R30,R28
    035E 8424      LDD	R2,Z+12
    035F 8435      LDD	R3,Z+13
    0360 8446      LDD	R4,Z+14
    0361 8457      LDD	R5,Z+15
    0362 925A      ST	R5,-Y
    0363 924A      ST	R4,-Y
    0364 923A      ST	R3,-Y
    0365 922A      ST	R2,-Y
    0366 940E053A  CALL	empy32f
    0368 01FE      MOVW	R30,R28
    0369 8300      STD	Z+0,R16
    036A 8311      STD	Z+1,R17
    036B 8322      STD	Z+2,R18
    036C 8333      STD	Z+3,R19
    036D 01FE      MOVW	R30,R28
    036E 8020      LDD	R2,Z+0
    036F 8031      LDD	R3,Z+1
    0370 8042      LDD	R4,Z+2
    0371 8053      LDD	R5,Z+3
    0372 925A      ST	R5,-Y
    0373 924A      ST	R4,-Y
    0374 923A      ST	R3,-Y
    0375 922A      ST	R2,-Y
    0376 EA09      LDI	R16,0xA9
    0377 E010      LDI	R17,0
    0378 940E041F  CALL	lpm32
    037A 933A      ST	R19,-Y
    037B 932A      ST	R18,-Y
    037C 931A      ST	R17,-Y
    037D 930A      ST	R16,-Y
    037E 940E0506  CALL	cmp32f
    0380 F0CC      BLT	0x039A
    0381 01FE      MOVW	R30,R28
    0382 8020      LDD	R2,Z+0
    0383 8031      LDD	R3,Z+1
    0384 8042      LDD	R4,Z+2
    0385 8053      LDD	R5,Z+3
    0386 925A      ST	R5,-Y
    0387 924A      ST	R4,-Y
    0388 923A      ST	R3,-Y
    0389 922A      ST	R2,-Y
    038A EA09      LDI	R16,0xA9
    038B E010      LDI	R17,0
    038C 940E041F  CALL	lpm32
    038E 933A      ST	R19,-Y
    038F 932A      ST	R18,-Y
    0390 931A      ST	R17,-Y
    0391 930A      ST	R16,-Y
    0392 940E04B0  CALL	sub32f
    0394 940E0433  CALL	fp2int
    0396 01B8      MOVW	R22,R16
    0397 5060      SUBI	R22,0
    0398 4870      SBCI	R23,0x80
    0399 C008      RJMP	0x03A2
    039A 01FE      MOVW	R30,R28
    039B 8100      LDD	R16,Z+0
    039C 8111      LDD	R17,Z+1
    039D 8122      LDD	R18,Z+2
    039E 8133      LDD	R19,Z+3
    039F 940E0433  CALL	fp2int
    03A1 01B8      MOVW	R22,R16
    03A2 01AB      MOVW	R20,R22
(0187) 	 point_pos=3;
    03A3 E083      LDI	R24,3
    03A4 93800101  STS	point_pos,R24
(0188) 	 Seg7_Led_Buf[3]=temp/1000;
    03A6 EE28      LDI	R18,0xE8
    03A7 E033      LDI	R19,3
    03A8 018A      MOVW	R16,R20
    03A9 940E03DA  CALL	div16u
    03AB 93000105  STS	Seg7_Led_Buf+3,R16
(0189)  	 Seg7_Led_Buf[2]=(temp%1000)/100;
    03AD EE28      LDI	R18,0xE8
    03AE E033      LDI	R19,3
    03AF 018A      MOVW	R16,R20
    03B0 940E03D8  CALL	mod16u
    03B2 E624      LDI	R18,0x64
    03B3 E030      LDI	R19,0
    03B4 940E03DA  CALL	div16u
    03B6 93000104  STS	Seg7_Led_Buf+2,R16
(0190)  	 Seg7_Led_Buf[1]=(temp%100)/10;
    03B8 E624      LDI	R18,0x64
    03B9 E030      LDI	R19,0
    03BA 018A      MOVW	R16,R20
    03BB 940E03D8  CALL	mod16u
    03BD E02A      LDI	R18,0xA
    03BE E030      LDI	R19,0
    03BF 940E03DA  CALL	div16u
    03C1 93000103  STS	Seg7_Led_Buf+1,R16
(0191)  	 Seg7_Led_Buf[0]=temp%10;
    03C3 E02A      LDI	R18,0xA
    03C4 E030      LDI	R19,0
    03C5 018A      MOVW	R16,R20
    03C6 940E03D8  CALL	mod16u
    03C8 93000102  STS	Seg7_Led_Buf,R16
(0192) 	 Seg7_Led_Update();
    03CA DD2D      RCALL	_Seg7_Led_Update
(0193) 	}
(0194)  point=0;
FILE: <library>
    03CB 2422      CLR	R2
    03CC 92200100  STS	point,R2
    03CE 9624      ADIW	R28,4
    03CF 940E03F4  CALL	pop_gset2
    03D1 9624      ADIW	R28,4
    03D2 9508      RET
push_arg4:
    03D3 933A      ST	R19,-Y
    03D4 932A      ST	R18,-Y
push_arg2:
    03D5 931A      ST	R17,-Y
    03D6 930A      ST	R16,-Y
    03D7 9508      RET
mod16u:
    03D8 9468      BSET	6
    03D9 C001      RJMP	xdiv16u
div16u:
    03DA 94E8      BCLR	6
xdiv16u:
    03DB 92EA      ST	R14,-Y
    03DC 92FA      ST	R15,-Y
    03DD 938A      ST	R24,-Y
    03DE 24EE      CLR	R14
    03DF 24FF      CLR	R15
    03E0 E180      LDI	R24,0x10
    03E1 0F00      LSL	R16
    03E2 1F11      ROL	R17
    03E3 1CEE      ROL	R14
    03E4 1CFF      ROL	R15
    03E5 16E2      CP	R14,R18
    03E6 06F3      CPC	R15,R19
    03E7 F018      BCS	0x03EB
    03E8 1AE2      SUB	R14,R18
    03E9 0AF3      SBC	R15,R19
    03EA 9503      INC	R16
    03EB 958A      DEC	R24
    03EC F7A1      BNE	0x03E1
    03ED F416      BRTC	0x03F0
    03EE 2D0E      MOV	R16,R14
    03EF 2D1F      MOV	R17,R15
    03F0 9189      LD	R24,Y+
    03F1 90F9      LD	R15,Y+
    03F2 90E9      LD	R14,Y+
    03F3 9508      RET
pop_gset2:
    03F4 E0E2      LDI	R30,2
    03F5 940C0403  JMP	pop
push_gset5:
    03F7 92FA      ST	R15,-Y
    03F8 92EA      ST	R14,-Y
push_gset4:
    03F9 92DA      ST	R13,-Y
    03FA 92CA      ST	R12,-Y
push_gset3:
    03FB 92BA      ST	R11,-Y
    03FC 92AA      ST	R10,-Y
push_gset2:
    03FD 937A      ST	R23,-Y
    03FE 936A      ST	R22,-Y
push_gset1:
    03FF 935A      ST	R21,-Y
    0400 934A      ST	R20,-Y
    0401 9508      RET
pop_gset1:
    0402 E0E1      LDI	R30,1
pop:
    0403 9149      LD	R20,Y+
    0404 9159      LD	R21,Y+
    0405 FDE0      SBRC	R30,0
    0406 9508      RET
    0407 9169      LD	R22,Y+
    0408 9179      LD	R23,Y+
    0409 FDE1      SBRC	R30,1
    040A 9508      RET
    040B 90A9      LD	R10,Y+
    040C 90B9      LD	R11,Y+
    040D FDE2      SBRC	R30,2
    040E 9508      RET
    040F 90C9      LD	R12,Y+
    0410 90D9      LD	R13,Y+
    0411 FDE3      SBRC	R30,3
    0412 9508      RET
    0413 90E9      LD	R14,Y+
    0414 90F9      LD	R15,Y+
    0415 9508      RET
neg32:
    0416 9500      COM	R16
    0417 9510      COM	R17
    0418 9520      COM	R18
    0419 9530      COM	R19
    041A 5F0F      SUBI	R16,0xFF
    041B 4F1F      SBCI	R17,0xFF
    041C 4F2F      SBCI	R18,0xFF
    041D 4F3F      SBCI	R19,0xFF
    041E 9508      RET
lpm32:
    041F 93EA      ST	R30,-Y
    0420 93FA      ST	R31,-Y
    0421 920A      ST	R0,-Y
    0422 2FE0      MOV	R30,R16
    0423 2FF1      MOV	R31,R17
    0424 95C8      LPM
    0425 2D00      MOV	R16,R0
    0426 9631      ADIW	R30,1
    0427 95C8      LPM
    0428 2D10      MOV	R17,R0
    0429 9631      ADIW	R30,1
    042A 95C8      LPM
    042B 2D20      MOV	R18,R0
    042C 9631      ADIW	R30,1
    042D 95C8      LPM
    042E 2D30      MOV	R19,R0
    042F 9009      LD	R0,Y+
    0430 91F9      LD	R31,Y+
    0431 91E9      LD	R30,Y+
    0432 9508      RET
fp2int:
    0433 940E0584  CALL	savfacc1
    0435 D014      RCALL	FTOI
    0436 2F02      MOV	R16,R18
    0437 2F13      MOV	R17,R19
    0438 FD87      SBRC	R24,7
    0439 C002      RJMP	nojump1
    043A 940C0587  JMP	restorefacc1
nojump1:
    043C 9510      COM	R17
    043D 9501      NEG	R16
    043E 4F1F      SBCI	R17,0xFF
    043F 940C0587  JMP	restorefacc1
fp2long:
    0441 940E0584  CALL	savfacc1
    0443 D008      RCALL	FTOL
    0444 FF87      SBRS	R24,7
    0445 C002      RJMP	nojump2
    0446 940E0416  CALL	neg32
nojump2:

⌨️ 快捷键说明

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