📄 debug.lis
字号:
00CE ;
00CE ; cBuf=(c%1000)/100;
00CE 28EE ldi R18,1000
00D0 33E0 ldi R19,3
00D2 0C2D mov R16,R12
00D4 1127 clr R17
00D6 0E940000 xcall mod16s
00DA 24E6 ldi R18,100
00DC 30E0 ldi R19,0
00DE 0E940000 xcall div16s
00E2 .dbline 111
00E2 ; debug_string[i++]=dtoc(cBuf);
00E2 1A01 movw R2,R20
00E4 4F5F subi R20,255 ; offset = 1
00E6 5F4F sbci R21,255
00E8 2F92 push R2
00EA 3F92 push R3
00EC E3DF xcall _dtoc
00EE 3F90 pop R3
00F0 2F90 pop R2
00F2 CE01 movw R24,R28
00F4 F101 movw R30,R2
00F6 E80F add R30,R24
00F8 F91F adc R31,R25
00FA 0083 std z+0,R16
00FC .dbline 112
00FC ; cBuf=(c%100)/10;
00FC 14E6 ldi R17,100
00FE 0C2D mov R16,R12
0100 0E940000 xcall mod8u
0104 1AE0 ldi R17,10
0106 0E940000 xcall div8u
010A .dbline 113
010A ; debug_string[i++]=dtoc(cBuf);
010A BA01 movw R22,R20
010C 4F5F subi R20,255 ; offset = 1
010E 5F4F sbci R21,255
0110 D1DF xcall _dtoc
0112 E02E mov R14,R16
0114 CE01 movw R24,R28
0116 FB01 movw R30,R22
0118 E80F add R30,R24
011A F91F adc R31,R25
011C E082 std z+0,R14
011E .dbline 114
011E ; cBuf=c%10;
011E 1AE0 ldi R17,10
0120 0C2D mov R16,R12
0122 0E940000 xcall mod8u
0126 .dbline 115
0126 ; debug_string[i++]=dtoc(cBuf);
0126 BA01 movw R22,R20
0128 4F5F subi R20,255 ; offset = 1
012A 5F4F sbci R21,255
012C C3DF xcall _dtoc
012E A02E mov R10,R16
0130 CE01 movw R24,R28
0132 FB01 movw R30,R22
0134 E80F add R30,R24
0136 F91F adc R31,R25
0138 A082 std z+0,R10
013A .dbline 117
013A ;
013A ; debug_send_chars(debug_string,i);
013A 9A01 movw R18,R20
013C 8E01 movw R16,R28
013E 68DF xcall _debug_send_chars
0140 .dbline 118
0140 ; debug_send_string("\n",1);
0140 21E0 ldi R18,1
0142 30E0 ldi R19,0
0144 00E0 ldi R16,<L11
0146 10E0 ldi R17,>L11
0148 77DF xcall _debug_send_string
014A .dbline -2
014A L17:
014A .dbline 0 ; func end
014A 2596 adiw R28,5
014C 0C940000 xjmp pop_xgsetF0FC
0150 .dbsym l debug_string 0 A[5:5]c
0150 .dbsym r i 20 i
0150 .dbsym r cBuf 10 c
0150 .dbsym r c 12 c
0150 .dbend
0150 .dbfunc e debug_num_uint _debug_num_uint fV
0150 ; debug_string -> y+0
0150 ; i -> R20,R21
0150 ; cBuf -> R10
0150 ; lBuf -> R12,R13
.even
0150 _debug_num_uint::
0150 0E940000 xcall push_xgsetF0FC
0154 6801 movw R12,R16
0156 2A97 sbiw R28,10
0158 .dbline -1
0158 .dbline 127
0158 ; #else
0158 ; c=0;
0158 ; #endif
0158 ; }
0158 ; /*************************************************
0158 ;
0158 ; *************************************************/
0158 ; void debug_num_uint(unsigned int lBuf)
0158 ; {
0158 .dbline 131
0158 ; #ifdef DEBUG
0158 ; unsigned char debug_string[10];
0158 ; unsigned char cBuf;
0158 ; unsigned int i=0;
0158 4427 clr R20
015A 5527 clr R21
015C .dbline 133
015C ;
015C ; cBuf=(lBuf%100000)/10000;
015C 80EA ldi R24,160
015E 96E8 ldi R25,134
0160 A1E0 ldi R26,1
0162 B0E0 ldi R27,0
0164 8601 movw R16,R12
0166 9701 movw R18,R14
0168 2227 clr R18
016A 3327 clr R19
016C BA93 st -y,R27
016E AA93 st -y,R26
0170 9A93 st -y,R25
0172 8A93 st -y,R24
0174 0E940000 xcall mod32s
0178 80E1 ldi R24,16
017A 97E2 ldi R25,39
017C A0E0 ldi R26,0
017E B0E0 ldi R27,0
0180 BA93 st -y,R27
0182 AA93 st -y,R26
0184 9A93 st -y,R25
0186 8A93 st -y,R24
0188 0E940000 xcall div32s
018C .dbline 134
018C ; debug_string[i++]=dtoc(cBuf);
018C 1A01 movw R2,R20
018E 4F5F subi R20,255 ; offset = 1
0190 5F4F sbci R21,255
0192 2F92 push R2
0194 3F92 push R3
0196 8EDF xcall _dtoc
0198 3F90 pop R3
019A 2F90 pop R2
019C CE01 movw R24,R28
019E F101 movw R30,R2
01A0 E80F add R30,R24
01A2 F91F adc R31,R25
01A4 0083 std z+0,R16
01A6 .dbline 135
01A6 ; cBuf=(lBuf%10000)/1000;
01A6 20E1 ldi R18,10000
01A8 37E2 ldi R19,39
01AA 8601 movw R16,R12
01AC 0E940000 xcall mod16u
01B0 28EE ldi R18,1000
01B2 33E0 ldi R19,3
01B4 0E940000 xcall div16u
01B8 .dbline 136
01B8 ; debug_string[i++]=dtoc(cBuf);
01B8 BA01 movw R22,R20
01BA 4F5F subi R20,255 ; offset = 1
01BC 5F4F sbci R21,255
01BE 7ADF xcall _dtoc
01C0 E02E mov R14,R16
01C2 CE01 movw R24,R28
01C4 FB01 movw R30,R22
01C6 E80F add R30,R24
01C8 F91F adc R31,R25
01CA E082 std z+0,R14
01CC .dbline 137
01CC ; cBuf=(lBuf%1000)/100;
01CC 28EE ldi R18,1000
01CE 33E0 ldi R19,3
01D0 8601 movw R16,R12
01D2 0E940000 xcall mod16u
01D6 24E6 ldi R18,100
01D8 30E0 ldi R19,0
01DA 0E940000 xcall div16u
01DE .dbline 138
01DE ; debug_string[i++]=dtoc(cBuf);
01DE BA01 movw R22,R20
01E0 4F5F subi R20,255 ; offset = 1
01E2 5F4F sbci R21,255
01E4 67DF xcall _dtoc
01E6 E02E mov R14,R16
01E8 CE01 movw R24,R28
01EA FB01 movw R30,R22
01EC E80F add R30,R24
01EE F91F adc R31,R25
01F0 E082 std z+0,R14
01F2 .dbline 139
01F2 ; cBuf=(lBuf%100)/10;
01F2 24E6 ldi R18,100
01F4 30E0 ldi R19,0
01F6 8601 movw R16,R12
01F8 0E940000 xcall mod16u
01FC 2AE0 ldi R18,10
01FE 30E0 ldi R19,0
0200 0E940000 xcall div16u
0204 .dbline 140
0204 ; debug_string[i++]=dtoc(cBuf);
0204 BA01 movw R22,R20
0206 4F5F subi R20,255 ; offset = 1
0208 5F4F sbci R21,255
020A 54DF xcall _dtoc
020C E02E mov R14,R16
020E CE01 movw R24,R28
0210 FB01 movw R30,R22
0212 E80F add R30,R24
0214 F91F adc R31,R25
0216 E082 std z+0,R14
0218 .dbline 141
0218 ; cBuf=lBuf%10;
0218 2AE0 ldi R18,10
021A 30E0 ldi R19,0
021C 8601 movw R16,R12
021E 0E940000 xcall mod16u
0222 .dbline 142
0222 ; debug_string[i++]=dtoc(cBuf);
0222 BA01 movw R22,R20
0224 4F5F subi R20,255 ; offset = 1
0226 5F4F sbci R21,255
0228 45DF xcall _dtoc
022A A02E mov R10,R16
022C CE01 movw R24,R28
022E FB01 movw R30,R22
0230 E80F add R30,R24
0232 F91F adc R31,R25
0234 A082 std z+0,R10
0236 .dbline 144
0236 ;
0236 ; debug_send_chars(debug_string,i);
0236 9A01 movw R18,R20
0238 8E01 movw R16,R28
023A EADE xcall _debug_send_chars
023C .dbline 145
023C ; debug_send_string("\n",1);
023C 21E0 ldi R18,1
023E 30E0 ldi R19,0
0240 00E0 ldi R16,<L11
0242 10E0 ldi R17,>L11
0244 F9DE xcall _debug_send_string
0246 .dbline -2
0246 L18:
0246 .dbline 0 ; func end
0246 2A96 adiw R28,10
0248 0C940000 xjmp pop_xgsetF0FC
024C .dbsym l debug_string 0 A[10:10]c
024C .dbsym r i 20 i
024C .dbsym r cBuf 10 c
024C .dbsym r lBuf 12 i
024C .dbend
024C .dbfunc e debug_num_ulong _debug_num_ulong fV
024C ; debug_string -> y+0
024C ; i -> R20,R21
024C ; cBuf -> R10
024C ; lBuf -> y+18
.even
024C _debug_num_ulong::
024C 0E940000 xcall push_arg4
0250 0E940000 xcall push_xgsetF03C
0254 2A97 sbiw R28,10
0256 .dbline -1
0256 .dbline 154
0256 ; #else
0256 ; lBuf=0;
0256 ; #endif
0256 ; }
0256 ; /*************************************************
0256 ;
0256 ; *************************************************/
0256 ; void debug_num_ulong(unsigned long lBuf)
0256 ; {
0256 .dbline 158
0256 ; #ifdef DEBUG
0256 ; unsigned char debug_string[10];
0256 ; unsigned char cBuf;
0256 ; unsigned int i=0;
0256 4427 clr R20
0258 5527 clr R21
025A .dbline 160
025A ;
025A ; cBuf=(lBuf%1000000)/100000;
025A 80E4 ldi R24,64
025C 92E4 ldi R25,66
025E AFE0 ldi R26,15
0260 B0E0 ldi R27,0
0262 0A89 ldd R16,y+18
0264 1B89 ldd R17,y+19
0266 2C89 ldd R18,y+20
0268 3D89 ldd R19,y+21
026A BA93 st -y,R27
026C AA93 st -y,R26
026E 9A93 st -y,R25
0270 8A93 st -y,R24
0272 0E940000 xcall mod32u
0276 80EA ldi R24,160
0278 96E8 ldi R25,134
027A A1E0 ldi R26,1
027C B0E0 ldi R27,0
027E BA93 st -y,R27
0280 AA93 st -y,R26
0282 9A93 st -y,R25
0284 8A93 st -y,R24
0286 0E940000 xcall div32u
028A .dbline 161
028A ; debug_string[i++]=dtoc(cBuf);
028A 1A01 movw R2,R20
028C 4F5F subi R20,255 ; offset = 1
028E 5F4F sbci R21,255
0290 2F92 push R2
0292 3F92 push R3
0294 0FDF xcall _dtoc
0296 3F90 pop R3
0298 2F90 pop R2
029A CE01 movw R24,R28
029C F101 movw R30,R2
029E E80F add R30,R24
02A0 F91F adc R31,R25
02A2 0083 std z+0,R16
02A4 .dbline 162
02A4 ; cBuf=(lBuf%100000)/10000;
02A4 80EA ldi R24,160
02A6 96E8 ldi R25,134
02A8 A1E0 ldi R26,1
02AA B0E0 ldi R27,0
02AC 0A89 ldd R16,y+18
02AE 1B89 ldd R17,y+19
02B0 2C89 ldd R18,y+20
02B2 3D89 ldd R19,y+21
02B4 BA93 st -y,R27
02B6 AA93 st -y,R26
02B8 9A93 st -y,R25
02BA 8A93 st -y,R24
02BC 0E940000 xcall mod32u
02C0 80E1 ldi R24,16
02C2 97E2 ldi R25,39
02C4 A0E0 ldi R26,0
02C6 B0E0 ldi R27,0
02C8 BA93 st -y,R27
02CA AA93 st -y,R26
02CC 9A93 st -y,R25
02CE 8A93 st -y,R24
02D0 0E940000 xcall div32u
02D4 .dbline 163
02D4 ; debug_string[i++]=dtoc(cBuf);
02D4 BA01 movw R22,R20
02D6 4F5F subi R20,255 ; offset = 1
02D8 5F4F sbci R21,255
02DA ECDE xcall _dtoc
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -