📄 adc.lst
字号:
0120 0FE8 ADD R30,R24
0121 1FF9 ADC R31,R25
0122 8020 LDD R2,Z+0
0123 BA28 OUT 0x18,R2
(0089) PORTD=0xf7;
0124 EF87 LDI R24,0xF7
0125 BB82 OUT 0x12,R24
(0090) DelayUS(500);
0126 EF04 LDI R16,0xF4
0127 E011 LDI R17,1
0128 DF2C RCALL _DelayUS
(0091) PORTB=led_date[vol/10%10];
0129 E02A LDI R18,0xA
012A E030 LDI R19,0
012B 91000075 LDS R16,vol
012D 2711 CLR R17
012E 940E017B CALL div16s
0130 E02A LDI R18,0xA
0131 E030 LDI R19,0
0132 940E0177 CALL mod16s
0134 01F8 MOVW R30,R16
0135 E680 LDI R24,0x60
0136 E090 LDI R25,0
0137 0FE8 ADD R30,R24
0138 1FF9 ADC R31,R25
0139 8020 LDD R2,Z+0
013A BA28 OUT 0x18,R2
(0092) PORTD=0xfb;
013B EF8B LDI R24,0xFB
013C BB82 OUT 0x12,R24
(0093) DelayUS(500);
013D EF04 LDI R16,0xF4
013E E011 LDI R17,1
013F DF15 RCALL _DelayUS
(0094) PORTB=led_date[vol/100%10];
0140 E624 LDI R18,0x64
0141 E030 LDI R19,0
0142 91000075 LDS R16,vol
0144 2711 CLR R17
0145 940E017B CALL div16s
0147 E02A LDI R18,0xA
0148 E030 LDI R19,0
0149 940E0177 CALL mod16s
014B 01F8 MOVW R30,R16
014C E680 LDI R24,0x60
014D E090 LDI R25,0
014E 0FE8 ADD R30,R24
014F 1FF9 ADC R31,R25
0150 8020 LDD R2,Z+0
0151 BA28 OUT 0x18,R2
(0095) PORTD=0xfd;
0152 EF8D LDI R24,0xFD
0153 BB82 OUT 0x12,R24
(0096) DelayUS(500);
0154 EF04 LDI R16,0xF4
0155 E011 LDI R17,1
0156 DEFE RCALL _DelayUS
(0097) PORTB=led_date[vol/1000%10];
0157 EE28 LDI R18,0xE8
0158 E033 LDI R19,3
0159 91000075 LDS R16,vol
015B 2711 CLR R17
015C 940E017B CALL div16s
015E E02A LDI R18,0xA
015F E030 LDI R19,0
0160 940E0177 CALL mod16s
0162 01F8 MOVW R30,R16
0163 E680 LDI R24,0x60
0164 E090 LDI R25,0
0165 0FE8 ADD R30,R24
0166 1FF9 ADC R31,R25
0167 8020 LDD R2,Z+0
0168 BA28 OUT 0x18,R2
(0098) PORTD=0xfe;
0169 EF8E LDI R24,0xFE
016A BB82 OUT 0x12,R24
(0099) DelayUS(500);
FILE: <library>
016B EF04 LDI R16,0xF4
016C E011 LDI R17,1
016D DEE7 RCALL _DelayUS
016E CFA7 RJMP 0x0116
016F 9508 RET
asr16:
0170 2322 TST R18
0171 F021 BEQ 0x0176
0172 9515 ASR R17
0173 9507 ROR R16
0174 952A DEC R18
0175 CFFA RJMP asr16
0176 9508 RET
mod16s:
0177 9468 BSET 6
0178 92DA ST R13,-Y
0179 2ED1 MOV R13,R17
017A C004 RJMP 0x017F
div16s:
017B 94E8 BCLR 6
017C 92DA ST R13,-Y
017D 2ED1 MOV R13,R17
017E 26D3 EOR R13,R19
017F FF17 SBRS R17,7
0180 C004 RJMP 0x0185
0181 9510 COM R17
0182 9500 COM R16
0183 5F0F SUBI R16,0xFF
0184 4F1F SBCI R17,0xFF
0185 FF37 SBRS R19,7
0186 C004 RJMP 0x018B
0187 9530 COM R19
0188 9520 COM R18
0189 5F2F SUBI R18,0xFF
018A 4F3F SBCI R19,0xFF
018B 940E0198 CALL xdiv16u
018D FED7 SBRS R13,7
018E C004 RJMP 0x0193
018F 9510 COM R17
0190 9500 COM R16
0191 5F0F SUBI R16,0xFF
0192 4F1F SBCI R17,0xFF
0193 90D9 LD R13,Y+
0194 9508 RET
mod16u:
0195 9468 BSET 6
0196 C001 RJMP xdiv16u
div16u:
0197 94E8 BCLR 6
xdiv16u:
0198 92EA ST R14,-Y
0199 92FA ST R15,-Y
019A 938A ST R24,-Y
019B 24EE CLR R14
019C 24FF CLR R15
019D E180 LDI R24,0x10
019E 0F00 LSL R16
019F 1F11 ROL R17
01A0 1CEE ROL R14
01A1 1CFF ROL R15
01A2 16E2 CP R14,R18
01A3 06F3 CPC R15,R19
01A4 F018 BCS 0x01A8
01A5 1AE2 SUB R14,R18
01A6 0AF3 SBC R15,R19
01A7 9503 INC R16
01A8 958A DEC R24
01A9 F7A1 BNE 0x019E
01AA F416 BRTC 0x01AD
01AB 2D0E MOV R16,R14
01AC 2D1F MOV R17,R15
01AD 9189 LD R24,Y+
01AE 90F9 LD R15,Y+
01AF 90E9 LD R14,Y+
01B0 9508 RET
empy32s:
empy32u:
01B1 940E0203 CALL long_prolog
01B3 927F PUSH R7
01B4 940E021C CALL tstzero1
01B6 F139 BEQ 0x01DE
01B7 2477 CLR R7
01B8 940E0222 CALL tstzero2
01BA F419 BNE 0x01BE
01BB 018C MOVW R16,R24
01BC 019D MOVW R18,R26
01BD C020 RJMP 0x01DE
01BE 9F08 MUL R16,R24
01BF 2CB0 MOV R11,R0
01C0 2CA1 MOV R10,R1
01C1 9F28 MUL R18,R24
01C2 2C90 MOV R9,R0
01C3 2C81 MOV R8,R1
01C4 9F18 MUL R17,R24
01C5 0CA0 ADD R10,R0
01C6 1C91 ADC R9,R1
01C7 1C87 ADC R8,R7
01C8 9F09 MUL R16,R25
01C9 0CA0 ADD R10,R0
01CA 1C91 ADC R9,R1
01CB 1C87 ADC R8,R7
01CC 9F19 MUL R17,R25
01CD 0C90 ADD R9,R0
01CE 1C81 ADC R8,R1
01CF 9F0A MUL R16,R26
01D0 0C90 ADD R9,R0
01D1 1C81 ADC R8,R1
01D2 9F38 MUL R19,R24
01D3 0C80 ADD R8,R0
01D4 9F29 MUL R18,R25
01D5 0C80 ADD R8,R0
01D6 9F1A MUL R17,R26
01D7 0C80 ADD R8,R0
01D8 9F0B MUL R16,R27
01D9 0C80 ADD R8,R0
01DA 2D0B MOV R16,R11
01DB 2D1A MOV R17,R10
01DC 2D29 MOV R18,R9
01DD 2D38 MOV R19,R8
01DE 907F POP R7
01DF 940C0211 JMP long_epilog
pop_gset3:
01E1 E0E4 LDI R30,4
01E2 940C01F0 JMP pop
push_gset5:
01E4 92FA ST R15,-Y
01E5 92EA ST R14,-Y
push_gset4:
01E6 92DA ST R13,-Y
01E7 92CA ST R12,-Y
push_gset3:
01E8 92BA ST R11,-Y
01E9 92AA ST R10,-Y
push_gset2:
01EA 937A ST R23,-Y
01EB 936A ST R22,-Y
push_gset1:
01EC 935A ST R21,-Y
01ED 934A ST R20,-Y
01EE 9508 RET
pop_gset1:
01EF E0E1 LDI R30,1
pop:
01F0 9149 LD R20,Y+
01F1 9159 LD R21,Y+
01F2 FDE0 SBRC R30,0
01F3 9508 RET
01F4 9169 LD R22,Y+
01F5 9179 LD R23,Y+
01F6 FDE1 SBRC R30,1
01F7 9508 RET
01F8 90A9 LD R10,Y+
01F9 90B9 LD R11,Y+
01FA FDE2 SBRC R30,2
01FB 9508 RET
01FC 90C9 LD R12,Y+
01FD 90D9 LD R13,Y+
01FE FDE3 SBRC R30,3
01FF 9508 RET
0200 90E9 LD R14,Y+
0201 90F9 LD R15,Y+
0202 9508 RET
long_prolog:
0203 928A ST R8,-Y
0204 929A ST R9,-Y
0205 92AA ST R10,-Y
0206 92BA ST R11,-Y
0207 93EA ST R30,-Y
0208 938A ST R24,-Y
0209 939A ST R25,-Y
020A 93AA ST R26,-Y
020B 93BA ST R27,-Y
020C 8589 LDD R24,Y+9
020D 859A LDD R25,Y+10
020E 85AB LDD R26,Y+11
020F 85BC LDD R27,Y+12
0210 9508 RET
long_epilog:
0211 91B9 LD R27,Y+
0212 91A9 LD R26,Y+
0213 9199 LD R25,Y+
0214 9189 LD R24,Y+
0215 91E9 LD R30,Y+
0216 90B9 LD R11,Y+
0217 90A9 LD R10,Y+
0218 9099 LD R9,Y+
0219 9089 LD R8,Y+
021A 9624 ADIW R28,4
021B 9508 RET
tstzero1:
021C 27EE CLR R30
021D 2BE0 OR R30,R16
021E 2BE1 OR R30,R17
021F 2BE2 OR R30,R18
0220 2BE3 OR R30,R19
0221 9508 RET
tstzero2:
0222 27EE CLR R30
0223 2BE8 OR R30,R24
0224 2BE9 OR R30,R25
0225 2BEA OR R30,R26
0226 2BEB OR R30,R27
0227 9508 RET
push_lset:
0228 93FA ST R31,-Y
0229 93EA ST R30,-Y
022A 93BA ST R27,-Y
022B 93AA ST R26,-Y
022C 939A ST R25,-Y
022D 938A ST R24,-Y
022E 933A ST R19,-Y
022F 932A ST R18,-Y
0230 931A ST R17,-Y
0231 930A ST R16,-Y
0232 929A ST R9,-Y
0233 928A ST R8,-Y
0234 927A ST R7,-Y
0235 926A ST R6,-Y
0236 925A ST R5,-Y
0237 924A ST R4,-Y
0238 923A ST R3,-Y
0239 922A ST R2,-Y
023A 921A ST R1,-Y
023B 920A ST R0,-Y
023C B60F IN R0,0x3F
023D 920A ST R0,-Y
023E 9508 RET
pop_lset:
023F 9009 LD R0,Y+
0240 BE0F OUT 0x3F,R0
0241 9009 LD R0,Y+
0242 9019 LD R1,Y+
0243 9029 LD R2,Y+
0244 9039 LD R3,Y+
0245 9049 LD R4,Y+
0246 9059 LD R5,Y+
0247 9069 LD R6,Y+
0248 9079 LD R7,Y+
0249 9089 LD R8,Y+
024A 9099 LD R9,Y+
024B 9109 LD R16,Y+
024C 9119 LD R17,Y+
024D 9129 LD R18,Y+
024E 9139 LD R19,Y+
024F 9189 LD R24,Y+
0250 9199 LD R25,Y+
0251 91A9 LD R26,Y+
0252 91B9 LD R27,Y+
0253 91E9 LD R30,Y+
0254 91F9 LD R31,Y+
0255 9508 RET
lsr32:
0256 920F PUSH R0
0257 9009 LD R0,Y+
0258 2000 TST R0
0259 F031 BEQ 0x0260
025A 9536 LSR R19
025B 9527 ROR R18
025C 9517 ROR R17
025D 9507 ROR R16
025E 940A DEC R0
025F CFF8 RJMP 0x0258
0260 900F POP R0
0261 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -