📄 ac12-2.lst
字号:
0142 0FE8 ADD R30,R24
0143 1FF9 ADC R31,R25
0144 91E4 LPM R30,0(Z)
0145 BBEB OUT 0x1B,R30
0146 E6E0 LDI R30,0x60
0147 E0F0 LDI R31,0
0148 91E4 LPM R30,0(Z)
0149 BBE5 OUT 0x15,R30
014A C014 RJMP 0x015F
(0075) case 3:PORTA=SEG7[Disval/1000]|0x80;PORTC=ACT[3];break;
014B EE28 LDI R18,0xE8
014C E033 LDI R19,3
014D 91000060 LDS R16,Disval
014F 91100061 LDS R17,Disval+1
0151 940E0198 CALL div16u
0153 01F8 MOVW R30,R16
0154 E584 LDI R24,0x54
0155 E090 LDI R25,0
0156 0FE8 ADD R30,R24
0157 1FF9 ADC R31,R25
0158 91E4 LPM R30,0(Z)
0159 68E0 ORI R30,0x80
015A BBEB OUT 0x1B,R30
015B E6E1 LDI R30,0x61
015C E0F0 LDI R31,0
015D 91E4 LPM R30,0(Z)
015E BBE5 OUT 0x15,R30
(0076) default:break;
(0077) }
(0078) if(key_cnt==0)
015F 90200066 LDS R2,key_cnt
0161 90300067 LDS R3,key_cnt+1
0163 2022 TST R2
0164 F521 BNE 0x0189
0165 2033 TST R3
0166 F511 BNE 0x0189
(0079) {
(0080) if(SINT0==0){if(Wide<1023)Wide++;}
0167 9982 SBIC 0x10,2
0168 C00D RJMP 0x0176
0169 91800062 LDS R24,Wide
016B 91900063 LDS R25,Wide+1
016D 3F8F CPI R24,0xFF
016E E0E3 LDI R30,3
016F 079E CPC R25,R30
0170 F428 BCC 0x0176
0171 9601 ADIW R24,1
0172 93900063 STS Wide+1,R25
0174 93800062 STS Wide,R24
(0081) if(SINT1==0){if(Wide>0)Wide--;}
0176 9983 SBIC 0x10,3
0177 C011 RJMP 0x0189
0178 90200062 LDS R2,Wide
017A 90300063 LDS R3,Wide+1
017C 2022 TST R2
017D F411 BNE 0x0180
017E 2033 TST R3
017F F049 BEQ 0x0189
0180 91800062 LDS R24,Wide
0182 91900063 LDS R25,Wide+1
0184 9701 SBIW R24,1
0185 93900063 STS Wide+1,R25
0187 93800062 STS Wide,R24
(0082) }
FILE: <library>
0189 9029 LD R2,Y+
018A BE2F OUT 0x3F,R2
018B 91F9 LD R31,Y+
018C 91E9 LD R30,Y+
018D 9199 LD R25,Y+
018E 9189 LD R24,Y+
018F 9139 LD R19,Y+
0190 9129 LD R18,Y+
0191 9119 LD R17,Y+
0192 9109 LD R16,Y+
0193 9039 LD R3,Y+
0194 9029 LD R2,Y+
0195 9518 RETI
mod16u:
0196 9468 BSET 6
0197 C001 RJMP xdiv16u
div16u:
0198 94E8 BCLR 6
xdiv16u:
0199 92EA ST R14,-Y
019A 92FA ST R15,-Y
019B 938A ST R24,-Y
019C 24EE CLR R14
019D 24FF CLR R15
019E E180 LDI R24,0x10
019F 0F00 LSL R16
01A0 1F11 ROL R17
01A1 1CEE ROL R14
01A2 1CFF ROL R15
01A3 16E2 CP R14,R18
01A4 06F3 CPC R15,R19
01A5 F018 BCS 0x01A9
01A6 1AE2 SUB R14,R18
01A7 0AF3 SBC R15,R19
01A8 9503 INC R16
01A9 958A DEC R24
01AA F7A1 BNE 0x019F
01AB F416 BRTC 0x01AE
01AC 2D0E MOV R16,R14
01AD 2D1F MOV R17,R15
01AE 9189 LD R24,Y+
01AF 90F9 LD R15,Y+
01B0 90E9 LD R14,Y+
01B1 9508 RET
div32u:
01B2 94E8 BCLR 6
01B3 C001 RJMP 0x01B5
mod32u:
01B4 9468 BSET 6
01B5 D02F RCALL long_div_prolog
01B6 24CC CLR R12
01B7 C008 RJMP 0x01C0
div32s:
01B8 94E8 BCLR 6
01B9 C001 RJMP 0x01BB
mod32s:
01BA 9468 BSET 6
01BB D029 RCALL long_div_prolog
01BC FD37 SBRC R19,7
01BD D053 RCALL neg_R16_R19
01BE FDB7 SBRC R27,7
01BF D05A RCALL neg_R24_R27
01C0 2477 CLR R7
01C1 2488 CLR R8
01C2 2499 CLR R9
01C3 24AA CLR R10
01C4 24BB CLR R11
01C5 D041 RCALL tst_R16_R19
01C6 F0C1 BEQ 0x01DF
01C7 D044 RCALL tst_R24_R27
01C8 F0B1 BEQ 0x01DF
01C9 E2E8 LDI R30,0x28
01CA 0F00 LSL R16
01CB 1F11 ROL R17
01CC 1F22 ROL R18
01CD 1F33 ROL R19
01CE 1C77 ROL R7
01CF 1C88 ROL R8
01D0 1C99 ROL R9
01D1 1CAA ROL R10
01D2 1CBB ROL R11
01D3 1688 CP R8,R24
01D4 0699 CPC R9,R25
01D5 06AA CPC R10,R26
01D6 06BB CPC R11,R27
01D7 F028 BCS 0x01DD
01D8 1A88 SUB R8,R24
01D9 0A99 SBC R9,R25
01DA 0AAA SBC R10,R26
01DB 0ABB SBC R11,R27
01DC 9503 INC R16
01DD 95EA DEC R30
01DE F759 BNE 0x01CA
01DF F426 BRTC 0x01E4
01E0 2D08 MOV R16,R8
01E1 2D19 MOV R17,R9
01E2 2D2A MOV R18,R10
01E3 2D3B MOV R19,R11
01E4 C013 RJMP long_div_epilog
long_div_prolog:
01E5 927A ST R7,-Y
01E6 928A ST R8,-Y
01E7 929A ST R9,-Y
01E8 92AA ST R10,-Y
01E9 92BA ST R11,-Y
01EA 92CA ST R12,-Y
01EB 93EA ST R30,-Y
01EC 938A ST R24,-Y
01ED 939A ST R25,-Y
01EE 93AA ST R26,-Y
01EF 93BA ST R27,-Y
01F0 858B LDD R24,Y+11
01F1 859C LDD R25,Y+12
01F2 85AD LDD R26,Y+13
01F3 85BE LDD R27,Y+14
01F4 2EC3 MOV R12,R19
01F5 F00E BRTS 0x01F7
01F6 26CB EOR R12,R27
01F7 9508 RET
long_div_epilog:
01F8 FCC7 SBRC R12,7
01F9 D017 RCALL neg_R16_R19
01FA 91B9 LD R27,Y+
01FB 91A9 LD R26,Y+
01FC 9199 LD R25,Y+
01FD 9189 LD R24,Y+
01FE 91E9 LD R30,Y+
01FF 90C9 LD R12,Y+
0200 90B9 LD R11,Y+
0201 90A9 LD R10,Y+
0202 9099 LD R9,Y+
0203 9089 LD R8,Y+
0204 9079 LD R7,Y+
0205 9624 ADIW R28,4
0206 9508 RET
tst_R16_R19:
0207 2FE0 MOV R30,R16
0208 2BE1 OR R30,R17
0209 2BE2 OR R30,R18
020A 2BE3 OR R30,R19
020B 9508 RET
tst_R24_R27:
020C 2FE8 MOV R30,R24
020D 2BE9 OR R30,R25
020E 2BEA OR R30,R26
020F 2BEB OR R30,R27
0210 9508 RET
neg_R16_R19:
0211 9500 COM R16
0212 9510 COM R17
0213 9520 COM R18
0214 9530 COM R19
0215 5F0F SUBI R16,0xFF
0216 4F1F SBCI R17,0xFF
0217 4F2F SBCI R18,0xFF
0218 4F3F SBCI R19,0xFF
0219 9508 RET
neg_R24_R27:
021A 9580 COM R24
021B 9590 COM R25
021C 95A0 COM R26
021D 95B0 COM R27
021E 5F8F SUBI R24,0xFF
021F 4F9F SBCI R25,0xFF
0220 4FAF SBCI R26,0xFF
0221 4FBF SBCI R27,0xFF
0222 9508 RET
empy32s:
empy32u:
0223 940E0253 CALL long_prolog
0225 927F PUSH R7
0226 940E026C CALL tstzero1
0228 F139 BEQ 0x0250
0229 2477 CLR R7
022A 940E0272 CALL tstzero2
022C F419 BNE 0x0230
022D 018C MOVW R16,R24
022E 019D MOVW R18,R26
022F C020 RJMP 0x0250
0230 9F08 MUL R16,R24
0231 2CB0 MOV R11,R0
0232 2CA1 MOV R10,R1
0233 9F28 MUL R18,R24
0234 2C90 MOV R9,R0
0235 2C81 MOV R8,R1
0236 9F18 MUL R17,R24
0237 0CA0 ADD R10,R0
0238 1C91 ADC R9,R1
0239 1C87 ADC R8,R7
023A 9F09 MUL R16,R25
023B 0CA0 ADD R10,R0
023C 1C91 ADC R9,R1
023D 1C87 ADC R8,R7
023E 9F19 MUL R17,R25
023F 0C90 ADD R9,R0
0240 1C81 ADC R8,R1
0241 9F0A MUL R16,R26
0242 0C90 ADD R9,R0
0243 1C81 ADC R8,R1
0244 9F38 MUL R19,R24
0245 0C80 ADD R8,R0
0246 9F29 MUL R18,R25
0247 0C80 ADD R8,R0
0248 9F1A MUL R17,R26
0249 0C80 ADD R8,R0
024A 9F0B MUL R16,R27
024B 0C80 ADD R8,R0
024C 2D0B MOV R16,R11
024D 2D1A MOV R17,R10
024E 2D29 MOV R18,R9
024F 2D38 MOV R19,R8
0250 907F POP R7
0251 940C0261 JMP long_epilog
long_prolog:
0253 928A ST R8,-Y
0254 929A ST R9,-Y
0255 92AA ST R10,-Y
0256 92BA ST R11,-Y
0257 93EA ST R30,-Y
0258 938A ST R24,-Y
0259 939A ST R25,-Y
025A 93AA ST R26,-Y
025B 93BA ST R27,-Y
025C 8589 LDD R24,Y+9
025D 859A LDD R25,Y+10
025E 85AB LDD R26,Y+11
025F 85BC LDD R27,Y+12
0260 9508 RET
long_epilog:
0261 91B9 LD R27,Y+
0262 91A9 LD R26,Y+
0263 9199 LD R25,Y+
0264 9189 LD R24,Y+
0265 91E9 LD R30,Y+
0266 90B9 LD R11,Y+
0267 90A9 LD R10,Y+
0268 9099 LD R9,Y+
0269 9089 LD R8,Y+
026A 9624 ADIW R28,4
026B 9508 RET
tstzero1:
026C 27EE CLR R30
026D 2BE0 OR R30,R16
026E 2BE1 OR R30,R17
026F 2BE2 OR R30,R18
0270 2BE3 OR R30,R19
0271 9508 RET
tstzero2:
0272 27EE CLR R30
0273 2BE8 OR R30,R24
0274 2BE9 OR R30,R25
0275 2BEA OR R30,R26
0276 2BEB OR R30,R27
0277 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -