📄 car.lst
字号:
03BC 2F62 MOV R22,R18
03BD 2F40 MOV R20,R16
(0122) /**********************************************************
(0123) /* LCD_write : 英文字符显示函数
(0124) /* 输入参数:data :英文字符
(0125) /* X、Y : 显示字符的位置
(0126) ***********************************************************/
(0127) void LCD_write(unsigned char X, unsigned char Y,unsigned data)
(0128) {
(0129) LCD_set_xy( X, Y );
03BE 2F26 MOV R18,R22
03BF 2F04 MOV R16,R20
03C0 DFD0 RCALL _LCD_set_xy
(0130) LCD_write_char(0, data);
03C1 812C LDD R18,Y+4
03C2 813D LDD R19,Y+5
03C3 2700 CLR R16
03C4 2711 CLR R17
03C5 DF5C RCALL _LCD_write_char
(0131) }
03C6 D036 RCALL pop_gset2
03C7 9508 RET
(0132) /**********************************************************
(0133) /* LCD_clr : 清屏函数
(0134) ***********************************************************/
(0135) void LCD_clr(void)
(0136) {
(0137) LCD_write_char(0x01,0);
_LCD_clr:
03C8 2722 CLR R18
03C9 2733 CLR R19
03CA E001 LDI R16,1
03CB E010 LDI R17,0
03CC DF55 RCALL _LCD_write_char
(0138) delay_nms(2);
03CD E002 LDI R16,2
03CE E010 LDI R17,0
(0139) }
03CF C01A RJMP _delay_nms
FILE: C:\DOCUME~1\Administrator\桌面\自动往返小汽车\源程序\自动往返小车lcd版\delay.c
(0001) /*-----------------------------------------------------------------------
(0002) 延时函数
(0003) 系统时钟:8M
(0004) -----------------------------------------------------------------------*/
(0005) void delay_1us(void) //1us延时函数
(0006) {
(0007) asm("nop");
_delay_1us:
03D0 0000 NOP
(0008) }
03D1 9508 RET
_delay_nus:
i --> R20
n --> R22
03D2 D047 RCALL push_gset2
03D3 2F60 MOV R22,R16
03D4 2F71 MOV R23,R17
(0009)
(0010) void delay_nus(unsigned int n) //N us延时函数
(0011) {
(0012) unsigned int i=0;
03D5 2744 CLR R20
03D6 2755 CLR R21
(0013) for (i=0;i<n;i++)
03D7 C003 RJMP 0x03DB
(0014) delay_1us();
03D8 DFF7 RCALL _delay_1us
03D9 5F4F SUBI R20,0xFF
03DA 4F5F SBCI R21,0xFF
03DB 1746 CP R20,R22
03DC 0757 CPC R21,R23
03DD F3D0 BCS 0x03D8
(0015) }
03DE D01E RCALL pop_gset2
03DF 9508 RET
(0016)
(0017) void delay_1ms(void) //1ms延时函数
(0018) {
(0019) unsigned int i;
(0020) for (i=0;i<1140;i++);
_delay_1ms:
i --> R16
03E0 2700 CLR R16
03E1 2711 CLR R17
03E2 C002 RJMP 0x03E5
03E3 5F0F SUBI R16,0xFF
03E4 4F1F SBCI R17,0xFF
03E5 3704 CPI R16,0x74
03E6 E0E4 LDI R30,4
03E7 071E CPC R17,R30
03E8 F3D0 BCS 0x03E3
(0021) }
03E9 9508 RET
_delay_nms:
i --> R20
n --> R22
03EA D02F RCALL push_gset2
03EB 2F60 MOV R22,R16
03EC 2F71 MOV R23,R17
(0022)
(0023) void delay_nms(unsigned int n) //N ms延时函数
(0024) {
(0025) unsigned int i=0;
03ED 2744 CLR R20
03EE 2755 CLR R21
(0026) for (i=0;i<n;i++)
03EF C003 RJMP 0x03F3
(0027) delay_1ms();
03F0 DFEF RCALL _delay_1ms
03F1 5F4F SUBI R20,0xFF
03F2 4F5F SBCI R21,0xFF
03F3 1746 CP R20,R22
03F4 0757 CPC R21,R23
03F5 F3D0 BCS 0x03F0
(0028) }
FILE: <library>
03F6 D006 RCALL pop_gset2
03F7 9508 RET
push_arg4:
03F8 933A ST R19,-Y
03F9 932A ST R18,-Y
push_arg2:
03FA 931A ST R17,-Y
03FB 930A ST R16,-Y
03FC 9508 RET
pop_gset2:
03FD E0E2 LDI R30,2
03FE C008 RJMP pop
pop_gset3:
03FF E0E4 LDI R30,4
0400 C006 RJMP pop
pop_gset4:
0401 E0E8 LDI R30,0x8
0402 C004 RJMP pop
push_gset1:
0403 935A ST R21,-Y
0404 934A ST R20,-Y
0405 9508 RET
pop_gset1:
0406 E0E1 LDI R30,1
pop:
0407 9149 LD R20,Y+
0408 9159 LD R21,Y+
0409 FDE0 SBRC R30,0
040A 9508 RET
040B 9169 LD R22,Y+
040C 9179 LD R23,Y+
040D FDE1 SBRC R30,1
040E 9508 RET
040F 90A9 LD R10,Y+
0410 90B9 LD R11,Y+
0411 FDE2 SBRC R30,2
0412 9508 RET
0413 90C9 LD R12,Y+
0414 90D9 LD R13,Y+
0415 FDE3 SBRC R30,3
0416 9508 RET
0417 90E9 LD R14,Y+
0418 90F9 LD R15,Y+
0419 9508 RET
push_gset2:
041A 937A ST R23,-Y
041B 936A ST R22,-Y
041C CFE6 RJMP push_gset1
push_gset3:
041D 92BA ST R11,-Y
041E 92AA ST R10,-Y
041F CFFA RJMP push_gset2
push_gset4:
0420 92DA ST R13,-Y
0421 92CA ST R12,-Y
0422 CFFA RJMP push_gset3
neg32:
0423 9500 COM R16
0424 9510 COM R17
0425 9520 COM R18
0426 9530 COM R19
0427 5F0F SUBI R16,0xFF
0428 4F1F SBCI R17,0xFF
0429 4F2F SBCI R18,0xFF
042A 4F3F SBCI R19,0xFF
042B 9508 RET
lpm32:
042C 93EA ST R30,-Y
042D 93FA ST R31,-Y
042E 920A ST R0,-Y
042F 2FE0 MOV R30,R16
0430 2FF1 MOV R31,R17
0431 95C8 LPM
0432 2D00 MOV R16,R0
0433 9631 ADIW R30,1
0434 95C8 LPM
0435 2D10 MOV R17,R0
0436 9631 ADIW R30,1
0437 95C8 LPM
0438 2D20 MOV R18,R0
0439 9631 ADIW R30,1
043A 95C8 LPM
043B 2D30 MOV R19,R0
043C 9009 LD R0,Y+
043D 91F9 LD R31,Y+
043E 91E9 LD R30,Y+
043F 9508 RET
push_lset:
0440 93FA ST R31,-Y
0441 93EA ST R30,-Y
0442 93BA ST R27,-Y
0443 93AA ST R26,-Y
0444 939A ST R25,-Y
0445 938A ST R24,-Y
0446 933A ST R19,-Y
0447 932A ST R18,-Y
0448 931A ST R17,-Y
0449 930A ST R16,-Y
044A 929A ST R9,-Y
044B 928A ST R8,-Y
044C 927A ST R7,-Y
044D 926A ST R6,-Y
044E 925A ST R5,-Y
044F 924A ST R4,-Y
0450 923A ST R3,-Y
0451 922A ST R2,-Y
0452 921A ST R1,-Y
0453 920A ST R0,-Y
0454 B60F IN R0,0x3F
0455 920A ST R0,-Y
0456 9508 RET
pop_lset:
0457 9009 LD R0,Y+
0458 BE0F OUT 0x3F,R0
0459 9009 LD R0,Y+
045A 9019 LD R1,Y+
045B 9029 LD R2,Y+
045C 9039 LD R3,Y+
045D 9049 LD R4,Y+
045E 9059 LD R5,Y+
045F 9069 LD R6,Y+
0460 9079 LD R7,Y+
0461 9089 LD R8,Y+
0462 9099 LD R9,Y+
0463 9109 LD R16,Y+
0464 9119 LD R17,Y+
0465 9129 LD R18,Y+
0466 9139 LD R19,Y+
0467 9189 LD R24,Y+
0468 9199 LD R25,Y+
0469 91A9 LD R26,Y+
046A 91B9 LD R27,Y+
046B 91E9 LD R30,Y+
046C 91F9 LD R31,Y+
046D 9508 RET
mpy16s:
046E 920A ST R0,-Y
046F 921A ST R1,-Y
0470 2400 CLR R0
0471 2411 CLR R1
0472 3000 CPI R16,0
0473 0701 CPC R16,R17
0474 F041 BEQ 0x047D
0475 9516 LSR R17
0476 9507 ROR R16
0477 F410 BCC 0x047A
0478 0E02 ADD R0,R18
0479 1E13 ADC R1,R19
047A 0F22 LSL R18
047B 1F33 ROL R19
047C CFF5 RJMP 0x0472
047D 2D00 MOV R16,R0
047E 2D11 MOV R17,R1
047F 9019 LD R1,Y+
0480 9009 LD R0,Y+
0481 9508 RET
fp2int:
0482 D19C RCALL savfacc1
0483 D00F RCALL FTOI
0484 2F02 MOV R16,R18
0485 2F13 MOV R17,R19
0486 FD87 SBRC R24,7
0487 C001 RJMP nojump1
0488 C199 RJMP restorefacc1
nojump1:
0489 9510 COM R17
048A 9501 NEG R16
048B 4F1F SBCI R17,0xFF
048C C195 RJMP restorefacc1
fp2long:
048D D191 RCALL savfacc1
048E D006 RCALL FTOL
048F FF87 SBRS R24,7
0490 C001 RJMP nojump2
0491 DF91 RCALL neg32
nojump2:
0492 C18F RJMP restorefacc1
FTOI:
0493 E0BE LDI R27,0xE
0494 C001 RJMP 0x0496
FTOL:
0495 E1BE LDI R27,0x1E
0496 D18E RCALL unpackfacc1
0497 F059 BEQ 0x04A3
0498 1BB3 SUB R27,R19
0499 F009 BEQ 0x049B
049A F45A BPL 0x04A6
049B 2388 TST R24
049C F01A BMI 0x04A0
049D E010 LDI R17,0
049E E206 LDI R16,0x26
049F CF8C RJMP lpm32
04A0 E010 LDI R17,0
04A1 E20C LDI R16,0x2C
04A2 CF89 RJMP lpm32
04A3 E010 LDI R17,0
04A4 E20A LDI R16,0x2A
04A5 CF86 RJMP lpm32
04A6 9533 INC R19
04A7 F3DA BMI 0x04A3
04A8 E030 LDI R19,0
04A9 50B8 SUBI R27,0x8
04AA F452 BPL 0x04B5
04AB 5FB8 SUBI R27,0xF8
04AC 2F32 MOV R19,R18
04AD 2F21 MOV R18,R17
04AE 2F10 MOV R17,R16
04AF E800 LDI R16,0x80
04B0 C006 RJMP 0x04B7
04B1 2F01 MOV R16,R17
04B2 2F12 MOV R17,R18
04B3 E020 LDI R18,0
04B4 50B8 SUBI R27,0x8
04B5 30B8 CPI R27,0x8
04B6 F7D0 BCC 0x04B1
04B7 23BB TST R27
04B8 F031 BEQ 0x04BF
04B9 9536 LSR R19
04BA 9527 ROR R18
04BB 9517 ROR R17
04BC 9507 ROR R16
04BD 95BA DEC R27
04BE F7D1 BNE 0x04B9
04BF 9508 RET
int2fp:
04C0 2722 CLR R18
04C1 FD17 SBRC R17,7
04C2 9520 COM R18
04C3 2733 CLR R19
04C4 FD27 SBRC R18,7
04C5 9530 COM R19
long2fp:
04C6 D158 RCALL savfacc1
04C7 D001 RCALL ITOF
04C8 C159 RJMP restorefacc1
ITOF:
04C9 2788 CLR R24
04CA 2333 TST R19
04CB F412 BPL 0x04CE
04CC DF56 RCALL neg32
04CD 9580 COM R24
04CE 2FB0 MOV R27,R16
04CF 2BB1 OR R27,R17
04D0 2BB2 OR R27,R18
04D1 2BB3 OR R27,R19
04D2 F409 BNE 0x04D4
04D3 C167 RJMP minres
04D4 E1B6 LDI R27,0x16
04D5 C005 RJMP 0x04DB
04D6 95B3 INC R27
04D7 9536 LSR R19
04D8 9527 ROR R18
04D9 9517 ROR R17
04DA 9507 ROR R16
04DB 2333 TST R19
04DC F7C9 BNE 0x04D6
04DD 2322 TST R18
04DE F449 BNE 0x04E8
04DF 50B8 SUBI R27,0x8
04E0 2F21 MOV R18,R17
04E1 2F10 MOV R17,R16
04E2 E000 LDI R16,0
04E3 CFF9 RJMP 0x04DD
04E4 95BA DEC R27
04E5 0F00 LSL R16
04E6 1F11 ROL R17
04E7 1F22 ROL R18
04E8 F7DA BPL 0x04E4
04E9 2F3B MOV R19,R27
04EA C17A RJMP repack
save_floatregs:
04EB 92DA ST R13,-Y
04EC 92EA ST R14,-Y
04ED 92FA ST R15,-Y
04EE 938A ST R24,-Y
04EF 922A ST R2,-Y
04F0 923A ST R3,-Y
04F1 924A ST R4,-Y
04F2 939A ST R25,-Y
04F3 93AA ST R26,-Y
04F4 93BA ST R27,-Y
04F5 9508 RET
restore_floatregs:
04F6 91B9 LD R27,Y+
04F7 91A9 LD R26,Y+
04F8 9199 LD R25,Y+
04F9 9049 LD R4,Y+
04FA 9039 LD R3,Y+
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -