📄 wave50%.lst
字号:
00F0 BE25 OUT 0x35,R2
(0074) GICR = 0x00;
00F1 BE2B OUT 0x3B,R2
(0075) TIMSK = 0x01; //timer interrupt sources
00F2 E081 LDI R24,1
00F3 BF89 OUT 0x39,R24
(0076) SEI(); //re-enable interrupts
00F4 9478 BSET 7
(0077) //all peripherals are now initialised
(0078) }
00F5 9508 RET
(0079)
(0080) void main()
(0081) {
(0082) init_devices();
_main:
00F6 DFF4 RCALL _init_devices
(0083) Ddummy = 0; //临时变量,赋初值
00F7 E040 LDI R20,0
00F8 E050 LDI R21,0
00F9 E060 LDI R22,0
00FA E070 LDI R23,0
00FB 93500063 STS _Ddummy+1,R21
00FD 93400062 STS _Ddummy,R20
00FF 93700065 STS _Ddummy+3,R23
0101 93600064 STS _Ddummy+2,R22
(0084) Settings_PerDotGroupNum =10; //每10个墨滴选一个进行打印
0103 E08A LDI R24,0xA
0104 93800061 STS _Settings_PerDotGroupNum,R24
(0085) Settings_PrintPhase =10;
0106 93800060 STS _Settings_PrintPhase,R24
(0086) }
FILE: <library>
0108 9508 RET
div32u:
0109 94E8 BCLR 6
010A C001 RJMP 0x010C
mod32u:
010B 9468 BSET 6
010C D02F RCALL long_div_prolog
010D 24CC CLR R12
010E C008 RJMP 0x0117
div32s:
010F 94E8 BCLR 6
0110 C001 RJMP 0x0112
mod32s:
0111 9468 BSET 6
0112 D029 RCALL long_div_prolog
0113 FD37 SBRC R19,7
0114 D053 RCALL neg_R16_R19
0115 FDB7 SBRC R27,7
0116 D05A RCALL neg_R24_R27
0117 2477 CLR R7
0118 2488 CLR R8
0119 2499 CLR R9
011A 24AA CLR R10
011B 24BB CLR R11
011C D041 RCALL tst_R16_R19
011D F0C1 BEQ 0x0136
011E D044 RCALL tst_R24_R27
011F F0B1 BEQ 0x0136
0120 E2E8 LDI R30,0x28
0121 0F00 LSL R16
0122 1F11 ROL R17
0123 1F22 ROL R18
0124 1F33 ROL R19
0125 1C77 ROL R7
0126 1C88 ROL R8
0127 1C99 ROL R9
0128 1CAA ROL R10
0129 1CBB ROL R11
012A 1688 CP R8,R24
012B 0699 CPC R9,R25
012C 06AA CPC R10,R26
012D 06BB CPC R11,R27
012E F028 BCS 0x0134
012F 1A88 SUB R8,R24
0130 0A99 SBC R9,R25
0131 0AAA SBC R10,R26
0132 0ABB SBC R11,R27
0133 9503 INC R16
0134 95EA DEC R30
0135 F759 BNE 0x0121
0136 F426 BRTC 0x013B
0137 2D08 MOV R16,R8
0138 2D19 MOV R17,R9
0139 2D2A MOV R18,R10
013A 2D3B MOV R19,R11
013B C013 RJMP long_div_epilog
long_div_prolog:
013C 927A ST R7,-Y
013D 928A ST R8,-Y
013E 929A ST R9,-Y
013F 92AA ST R10,-Y
0140 92BA ST R11,-Y
0141 92CA ST R12,-Y
0142 93EA ST R30,-Y
0143 938A ST R24,-Y
0144 939A ST R25,-Y
0145 93AA ST R26,-Y
0146 93BA ST R27,-Y
0147 858B LDD R24,Y+11
0148 859C LDD R25,Y+12
0149 85AD LDD R26,Y+13
014A 85BE LDD R27,Y+14
014B 2EC3 MOV R12,R19
014C F00E BRTS 0x014E
014D 26CB EOR R12,R27
014E 9508 RET
long_div_epilog:
014F FCC7 SBRC R12,7
0150 D017 RCALL neg_R16_R19
0151 91B9 LD R27,Y+
0152 91A9 LD R26,Y+
0153 9199 LD R25,Y+
0154 9189 LD R24,Y+
0155 91E9 LD R30,Y+
0156 90C9 LD R12,Y+
0157 90B9 LD R11,Y+
0158 90A9 LD R10,Y+
0159 9099 LD R9,Y+
015A 9089 LD R8,Y+
015B 9079 LD R7,Y+
015C 9624 ADIW R28,4
015D 9508 RET
tst_R16_R19:
015E 2FE0 MOV R30,R16
015F 2BE1 OR R30,R17
0160 2BE2 OR R30,R18
0161 2BE3 OR R30,R19
0162 9508 RET
tst_R24_R27:
0163 2FE8 MOV R30,R24
0164 2BE9 OR R30,R25
0165 2BEA OR R30,R26
0166 2BEB OR R30,R27
0167 9508 RET
neg_R16_R19:
0168 9500 COM R16
0169 9510 COM R17
016A 9520 COM R18
016B 9530 COM R19
016C 5F0F SUBI R16,0xFF
016D 4F1F SBCI R17,0xFF
016E 4F2F SBCI R18,0xFF
016F 4F3F SBCI R19,0xFF
0170 9508 RET
neg_R24_R27:
0171 9580 COM R24
0172 9590 COM R25
0173 95A0 COM R26
0174 95B0 COM R27
0175 5F8F SUBI R24,0xFF
0176 4F9F SBCI R25,0xFF
0177 4FAF SBCI R26,0xFF
0178 4FBF SBCI R27,0xFF
0179 9508 RET
empy32u:
empy32s:
017A D047 RCALL long_prolog
017B 927F PUSH R7
017C D05E RCALL tstzero1
017D F131 BEQ 0x01A4
017E 2477 CLR R7
017F D061 RCALL tstzero2
0180 F419 BNE 0x0184
0181 018C MOVW R16,R24
0182 019D MOVW R18,R26
0183 C020 RJMP 0x01A4
0184 9F08 MUL R16,R24
0185 2CB0 MOV R11,R0
0186 2CA1 MOV R10,R1
0187 9F28 MUL R18,R24
0188 2C90 MOV R9,R0
0189 2C81 MOV R8,R1
018A 9F18 MUL R17,R24
018B 0CA0 ADD R10,R0
018C 1C91 ADC R9,R1
018D 1C87 ADC R8,R7
018E 9F09 MUL R16,R25
018F 0CA0 ADD R10,R0
0190 1C91 ADC R9,R1
0191 1C87 ADC R8,R7
0192 9F19 MUL R17,R25
0193 0C90 ADD R9,R0
0194 1C81 ADC R8,R1
0195 9F0A MUL R16,R26
0196 0C90 ADD R9,R0
0197 1C81 ADC R8,R1
0198 9F38 MUL R19,R24
0199 0C80 ADD R8,R0
019A 9F29 MUL R18,R25
019B 0C80 ADD R8,R0
019C 9F1A MUL R17,R26
019D 0C80 ADD R8,R0
019E 9F0B MUL R16,R27
019F 0C80 ADD R8,R0
01A0 2D0B MOV R16,R11
01A1 2D1A MOV R17,R10
01A2 2D29 MOV R18,R9
01A3 2D38 MOV R19,R8
01A4 907F POP R7
01A5 C02A RJMP long_epilog
pop_gset2:
01A6 E0E2 LDI R30,2
01A7 C004 RJMP pop
push_gset1:
01A8 935A ST R21,-Y
01A9 934A ST R20,-Y
01AA 9508 RET
pop_gset1:
01AB E0E1 LDI R30,1
pop:
01AC 9149 LD R20,Y+
01AD 9159 LD R21,Y+
01AE FDE0 SBRC R30,0
01AF 9508 RET
01B0 9169 LD R22,Y+
01B1 9179 LD R23,Y+
01B2 FDE1 SBRC R30,1
01B3 9508 RET
01B4 90A9 LD R10,Y+
01B5 90B9 LD R11,Y+
01B6 FDE2 SBRC R30,2
01B7 9508 RET
01B8 90C9 LD R12,Y+
01B9 90D9 LD R13,Y+
01BA FDE3 SBRC R30,3
01BB 9508 RET
01BC 90E9 LD R14,Y+
01BD 90F9 LD R15,Y+
01BE 9508 RET
push_gset2:
01BF 937A ST R23,-Y
01C0 936A ST R22,-Y
01C1 CFE6 RJMP push_gset1
long_prolog:
01C2 928A ST R8,-Y
01C3 929A ST R9,-Y
01C4 92AA ST R10,-Y
01C5 92BA ST R11,-Y
01C6 93EA ST R30,-Y
01C7 938A ST R24,-Y
01C8 939A ST R25,-Y
01C9 93AA ST R26,-Y
01CA 93BA ST R27,-Y
01CB 8589 LDD R24,Y+9
01CC 859A LDD R25,Y+10
01CD 85AB LDD R26,Y+11
01CE 85BC LDD R27,Y+12
01CF 9508 RET
long_epilog:
01D0 91B9 LD R27,Y+
01D1 91A9 LD R26,Y+
01D2 9199 LD R25,Y+
01D3 9189 LD R24,Y+
01D4 91E9 LD R30,Y+
01D5 90B9 LD R11,Y+
01D6 90A9 LD R10,Y+
01D7 9099 LD R9,Y+
01D8 9089 LD R8,Y+
01D9 9624 ADIW R28,4
01DA 9508 RET
tstzero1:
01DB 27EE CLR R30
01DC 2BE0 OR R30,R16
01DD 2BE1 OR R30,R17
01DE 2BE2 OR R30,R18
01DF 2BE3 OR R30,R19
01E0 9508 RET
tstzero2:
01E1 27EE CLR R30
01E2 2BE8 OR R30,R24
01E3 2BE9 OR R30,R25
01E4 2BEA OR R30,R26
01E5 2BEB OR R30,R27
01E6 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -