📄 test.lst
字号:
014F 0192 MOVW R18,R4
0150 940E01DD CALL mod32u
0152 E644 LDI R20,0x64
0153 E050 LDI R21,0
0154 E060 LDI R22,0
0155 E070 LDI R23,0
0156 937A ST R23,-Y
0157 936A ST R22,-Y
0158 935A ST R21,-Y
0159 934A ST R20,-Y
015A 940E01DB CALL div32u
015C 0118 MOVW R2,R16
015D 0129 MOVW R4,R18
015E E340 LDI R20,0x30
015F E050 LDI R21,0
0160 E060 LDI R22,0
0161 E070 LDI R23,0
0162 0E24 ADD R2,R20
0163 1E35 ADC R3,R21
0164 1E46 ADC R4,R22
0165 1E57 ADC R5,R23
0166 01F5 MOVW R30,R10
0167 8221 STD Z+1,R2
(0104) ss[2]=48+(hh%100)/10;
0168 E644 LDI R20,0x64
0169 E050 LDI R21,0
016A E060 LDI R22,0
016B E070 LDI R23,0
016C 01FE MOVW R30,R28
016D 8026 LDD R2,Z+6
016E 8037 LDD R3,Z+7
016F 8440 LDD R4,Z+8
0170 8451 LDD R5,Z+9
0171 937A ST R23,-Y
0172 936A ST R22,-Y
0173 935A ST R21,-Y
0174 934A ST R20,-Y
0175 0181 MOVW R16,R2
0176 0192 MOVW R18,R4
0177 940E01DD CALL mod32u
0179 E04A LDI R20,0xA
017A E050 LDI R21,0
017B E060 LDI R22,0
017C E070 LDI R23,0
017D 937A ST R23,-Y
017E 936A ST R22,-Y
017F 935A ST R21,-Y
0180 934A ST R20,-Y
0181 940E01DB CALL div32u
0183 0118 MOVW R2,R16
0184 0129 MOVW R4,R18
0185 E340 LDI R20,0x30
0186 E050 LDI R21,0
0187 E060 LDI R22,0
0188 E070 LDI R23,0
0189 0E24 ADD R2,R20
018A 1E35 ADC R3,R21
018B 1E46 ADC R4,R22
018C 1E57 ADC R5,R23
018D 01F5 MOVW R30,R10
018E 8222 STD Z+2,R2
(0105) ss[3]=48+(hh%10);
018F E04A LDI R20,0xA
0190 E050 LDI R21,0
0191 E060 LDI R22,0
0192 E070 LDI R23,0
0193 01FE MOVW R30,R28
0194 8026 LDD R2,Z+6
0195 8037 LDD R3,Z+7
0196 8440 LDD R4,Z+8
0197 8451 LDD R5,Z+9
0198 937A ST R23,-Y
0199 936A ST R22,-Y
019A 935A ST R21,-Y
019B 934A ST R20,-Y
019C 0181 MOVW R16,R2
019D 0192 MOVW R18,R4
019E 940E01DD CALL mod32u
01A0 0118 MOVW R2,R16
01A1 0129 MOVW R4,R18
01A2 E340 LDI R20,0x30
01A3 E050 LDI R21,0
01A4 E060 LDI R22,0
01A5 E070 LDI R23,0
01A6 0E24 ADD R2,R20
01A7 1E35 ADC R3,R21
01A8 1E46 ADC R4,R22
01A9 1E57 ADC R5,R23
01AA 01F5 MOVW R30,R10
01AB 8223 STD Z+3,R2
(0106)
(0107) return ss;
01AC 0185 MOVW R16,R10
01AD 940E024C CALL pop_gset3
01AF 9624 ADIW R28,4
01B0 9508 RET
FILE: C:\AVR_TOOL\test\delay.c
(0001) /*--------------------------------------------------*/
(0002) /* AVR-ARM开发网论坛 */
(0003) /* http://www.avrarm.com */
(0004) /* AVR生成代码测试程序 */
(0005) /*--------------------------------------------------*/
(0006) /* 程序由AVR辅助开发工具V2.1.1自动生成 */
(0007) /* AVR系统的处理器为: ATMega128 */
(0008) /* AVR系统的晶振频率: 8.0000 Mhz */
(0009) /*--------------------------------------------------*/
(0010)
(0011) #include <iom128v.h>
(0012) #include "delay.h"
(0013)
(0014) /*-----------------------------------------------------------------------
(0015) delay_us :1us延时函数
(0016) -----------------------------------------------------------------------*/
(0017) void delay_us(void)
(0018) {
(0019) unsigned char t=2;
_delay_us:
t --> R16
01B1 E002 LDI R16,2
(0020) t--;
01B2 950A DEC R16
01B3 9508 RET
_delay_nus:
t --> R20
01B4 940E0257 CALL push_gset1
01B6 01A8 MOVW R20,R16
(0021) }
(0022)
(0023) /*-----------------------------------------------------------------------
(0024) delay_nus :长延时函数
(0025)
(0026) 输入参数: t :延时时间 us
(0027) -----------------------------------------------------------------------*/
(0028) void delay_nus(unsigned int t)
(0029) {
01B7 C001 RJMP 0x01B9
(0030) while (t--)
(0031) delay_us();
01B8 DFF8 RCALL _delay_us
01B9 011A MOVW R2,R20
01BA 5041 SUBI R20,1
01BB 4050 SBCI R21,0
01BC 2022 TST R2
01BD F7D1 BNE 0x01B8
01BE 2033 TST R3
01BF F7C1 BNE 0x01B8
01C0 940E025A CALL pop_gset1
01C2 9508 RET
(0032) }
(0033)
(0034) /*-----------------------------------------------------------------------
(0035) delay_ms :1ms延时函数
(0036) -----------------------------------------------------------------------*/
(0037) void delay_ms(void)
(0038) {
(0039) delay_nus(1000);
_delay_ms:
01C3 EE08 LDI R16,0xE8
01C4 E013 LDI R17,3
01C5 DFEE RCALL _delay_nus
01C6 9508 RET
_delay_nms:
t --> R20
01C7 940E0257 CALL push_gset1
01C9 01A8 MOVW R20,R16
(0040) }
(0041)
(0042) /*-----------------------------------------------------------------------
(0043) delay_nms :长延时函数
(0044)
(0045) 输入参数: t :延时时间 ms
(0046) -----------------------------------------------------------------------*/
(0047) void delay_nms(unsigned int t)
(0048) {
01CA C001 RJMP 0x01CC
(0049) while (t--)
(0050) delay_ms();
FILE: <library>
01CB DFF7 RCALL _delay_ms
01CC 011A MOVW R2,R20
01CD 5041 SUBI R20,1
01CE 4050 SBCI R21,0
01CF 2022 TST R2
01D0 F7D1 BNE 0x01CB
01D1 2033 TST R3
01D2 F7C1 BNE 0x01CB
01D3 940E025A CALL pop_gset1
01D5 9508 RET
push_arg4:
01D6 933A ST R19,-Y
01D7 932A ST R18,-Y
push_arg2:
01D8 931A ST R17,-Y
01D9 930A ST R16,-Y
01DA 9508 RET
div32u:
01DB 94E8 BCLR 6
01DC C001 RJMP 0x01DE
mod32u:
01DD 9468 BSET 6
01DE D02F RCALL long_div_prolog
01DF 24CC CLR R12
01E0 C008 RJMP 0x01E9
div32s:
01E1 94E8 BCLR 6
01E2 C001 RJMP 0x01E4
mod32s:
01E3 9468 BSET 6
01E4 D029 RCALL long_div_prolog
01E5 FD37 SBRC R19,7
01E6 D053 RCALL neg_R16_R19
01E7 FDB7 SBRC R27,7
01E8 D05A RCALL neg_R24_R27
01E9 2477 CLR R7
01EA 2488 CLR R8
01EB 2499 CLR R9
01EC 24AA CLR R10
01ED 24BB CLR R11
01EE D041 RCALL tst_R16_R19
01EF F0C1 BEQ 0x0208
01F0 D044 RCALL tst_R24_R27
01F1 F0B1 BEQ 0x0208
01F2 E2E8 LDI R30,0x28
01F3 0F00 LSL R16
01F4 1F11 ROL R17
01F5 1F22 ROL R18
01F6 1F33 ROL R19
01F7 1C77 ROL R7
01F8 1C88 ROL R8
01F9 1C99 ROL R9
01FA 1CAA ROL R10
01FB 1CBB ROL R11
01FC 1688 CP R8,R24
01FD 0699 CPC R9,R25
01FE 06AA CPC R10,R26
01FF 06BB CPC R11,R27
0200 F028 BCS 0x0206
0201 1A88 SUB R8,R24
0202 0A99 SBC R9,R25
0203 0AAA SBC R10,R26
0204 0ABB SBC R11,R27
0205 9503 INC R16
0206 95EA DEC R30
0207 F759 BNE 0x01F3
0208 F426 BRTC 0x020D
0209 2D08 MOV R16,R8
020A 2D19 MOV R17,R9
020B 2D2A MOV R18,R10
020C 2D3B MOV R19,R11
020D C013 RJMP long_div_epilog
long_div_prolog:
020E 927A ST R7,-Y
020F 928A ST R8,-Y
0210 929A ST R9,-Y
0211 92AA ST R10,-Y
0212 92BA ST R11,-Y
0213 92CA ST R12,-Y
0214 93EA ST R30,-Y
0215 938A ST R24,-Y
0216 939A ST R25,-Y
0217 93AA ST R26,-Y
0218 93BA ST R27,-Y
0219 858B LDD R24,Y+11
021A 859C LDD R25,Y+12
021B 85AD LDD R26,Y+13
021C 85BE LDD R27,Y+14
021D 2EC3 MOV R12,R19
021E F00E BRTS 0x0220
021F 26CB EOR R12,R27
0220 9508 RET
long_div_epilog:
0221 FCC7 SBRC R12,7
0222 D017 RCALL neg_R16_R19
0223 91B9 LD R27,Y+
0224 91A9 LD R26,Y+
0225 9199 LD R25,Y+
0226 9189 LD R24,Y+
0227 91E9 LD R30,Y+
0228 90C9 LD R12,Y+
0229 90B9 LD R11,Y+
022A 90A9 LD R10,Y+
022B 9099 LD R9,Y+
022C 9089 LD R8,Y+
022D 9079 LD R7,Y+
022E 9624 ADIW R28,4
022F 9508 RET
tst_R16_R19:
0230 2FE0 MOV R30,R16
0231 2BE1 OR R30,R17
0232 2BE2 OR R30,R18
0233 2BE3 OR R30,R19
0234 9508 RET
tst_R24_R27:
0235 2FE8 MOV R30,R24
0236 2BE9 OR R30,R25
0237 2BEA OR R30,R26
0238 2BEB OR R30,R27
0239 9508 RET
neg_R16_R19:
023A 9500 COM R16
023B 9510 COM R17
023C 9520 COM R18
023D 9530 COM R19
023E 5F0F SUBI R16,0xFF
023F 4F1F SBCI R17,0xFF
0240 4F2F SBCI R18,0xFF
0241 4F3F SBCI R19,0xFF
0242 9508 RET
neg_R24_R27:
0243 9580 COM R24
0244 9590 COM R25
0245 95A0 COM R26
0246 95B0 COM R27
0247 5F8F SUBI R24,0xFF
0248 4F9F SBCI R25,0xFF
0249 4FAF SBCI R26,0xFF
024A 4FBF SBCI R27,0xFF
024B 9508 RET
pop_gset3:
024C E0E4 LDI R30,4
024D 940C025B JMP pop
push_gset5:
024F 92FA ST R15,-Y
0250 92EA ST R14,-Y
push_gset4:
0251 92DA ST R13,-Y
0252 92CA ST R12,-Y
push_gset3:
0253 92BA ST R11,-Y
0254 92AA ST R10,-Y
push_gset2:
0255 937A ST R23,-Y
0256 936A ST R22,-Y
push_gset1:
0257 935A ST R21,-Y
0258 934A ST R20,-Y
0259 9508 RET
pop_gset1:
025A E0E1 LDI R30,1
pop:
025B 9149 LD R20,Y+
025C 9159 LD R21,Y+
025D FDE0 SBRC R30,0
025E 9508 RET
025F 9169 LD R22,Y+
0260 9179 LD R23,Y+
0261 FDE1 SBRC R30,1
0262 9508 RET
0263 90A9 LD R10,Y+
0264 90B9 LD R11,Y+
0265 FDE2 SBRC R30,2
0266 9508 RET
0267 90C9 LD R12,Y+
0268 90D9 LD R13,Y+
0269 FDE3 SBRC R30,3
026A 9508 RET
026B 90E9 LD R14,Y+
026C 90F9 LD R15,Y+
026D 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -