📄 debug.lis
字号:
.module debug.c
.area text(rom, con, rel)
0000 .dbfile E:\item\GPS-1280\debug.c
.area lit(rom, con, rel)
0000 _char_buf::
0000 3031 .byte 48,49
0002 3233 .byte 50,51
0004 3435 .byte 52,53
0006 3637 .byte 54,55
0008 3839 .byte 56,57
000A 4142 .byte 'A,'B
000C 4344 .byte 'C,'D
000E 4546 .byte 'E,'F
0010 .dbsym e char_buf _char_buf A[16:16]kc
.area text(rom, con, rel)
0000 .dbfile E:\item\GPS-1280\debug.c
0000 .dbfunc e debug_init _debug_init fV
.even
0000 _debug_init::
0000 .dbline -1
0000 .dbline 14
0000 ; #include <string.h>
0000 ; #include "uart3.h"
0000 ;
0000 ; #define DEBUG
0000 ;
0000 ; const unsigned char char_buf[]=
0000 ; {
0000 ; '0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F',
0000 ; };
0000 ; /*************************************************
0000 ;
0000 ; *************************************************/
0000 ; void debug_init(void)
0000 ; {
0000 .dbline -2
0000 L1:
0000 .dbline 0 ; func end
0000 0895 ret
0002 .dbend
0002 .dbfunc e debug_send_char _debug_send_char fV
0002 ; ch -> R10
.even
0002 _debug_send_char::
0002 AA92 st -y,R10
0004 A02E mov R10,R16
0006 .dbline -1
0006 .dbline 21
0006 ;
0006 ; }
0006 ; /*************************************************
0006 ;
0006 ; *************************************************/
0006 ; void debug_send_char(unsigned char ch)
0006 ; {
0006 .dbline 22
0006 ; uart3_send_char(ch);
0006 0A2D mov R16,R10
0008 0E940000 xcall _uart3_send_char
000C .dbline -2
000C L2:
000C .dbline 0 ; func end
000C A990 ld R10,y+
000E 0895 ret
0010 .dbsym r ch 10 c
0010 .dbend
0010 .dbfunc e debug_send_chars _debug_send_chars fV
0010 ; i -> R20,R21
0010 ; len -> R10,R11
0010 ; ch -> R12,R13
.even
0010 _debug_send_chars::
0010 0E940000 xcall push_xgset303C
0014 5901 movw R10,R18
0016 6801 movw R12,R16
0018 .dbline -1
0018 .dbline 28
0018 ; }
0018 ; /*************************************************
0018 ;
0018 ; *************************************************/
0018 ; void debug_send_chars(unsigned char *ch,unsigned int len)
0018 ; {
0018 .dbline 30
0018 ; unsigned int i;
0018 ; for(i=0;i<len;i++)
0018 4427 clr R20
001A 5527 clr R21
001C 08C0 xjmp L7
001E L4:
001E .dbline 31
001E ; {
001E .dbline 32
001E ; uart3_send_char(*(ch+i));
001E FA01 movw R30,R20
0020 EC0D add R30,R12
0022 FD1D adc R31,R13
0024 0081 ldd R16,z+0
0026 0E940000 xcall _uart3_send_char
002A .dbline 33
002A ; }
002A L5:
002A .dbline 30
002A 4F5F subi R20,255 ; offset = 1
002C 5F4F sbci R21,255
002E L7:
002E .dbline 30
002E 4A15 cp R20,R10
0030 5B05 cpc R21,R11
0032 A8F3 brlo L4
0034 X0:
0034 .dbline -2
0034 L3:
0034 .dbline 0 ; func end
0034 0C940000 xjmp pop_xgset303C
0038 .dbsym r i 20 i
0038 .dbsym r len 10 i
0038 .dbsym r ch 12 pc
0038 .dbend
0038 .dbfunc e debug_send_string _debug_send_string fV
0038 ; len -> R12,R13
0038 ; str -> R10,R11
.even
0038 _debug_send_string::
0038 0E940000 xcall push_xgset003C
003C 6901 movw R12,R18
003E 5801 movw R10,R16
0040 .dbline -1
0040 .dbline 39
0040 ; }
0040 ; /*************************************************
0040 ;
0040 ; *************************************************/
0040 ; void debug_send_string(char *str,unsigned int len)
0040 ; {
0040 .dbline 40
0040 ; uart3_data_send(str,len);
0040 9601 movw R18,R12
0042 8501 movw R16,R10
0044 0E940000 xcall _uart3_data_send
0048 .dbline -2
0048 L8:
0048 .dbline 0 ; func end
0048 0C940000 xjmp pop_xgset003C
004C .dbsym r len 12 i
004C .dbsym r str 10 pc
004C .dbend
004C .dbfunc e debug_str_without_n _debug_str_without_n fV
004C ; debugstr -> R10,R11
.even
004C _debug_str_without_n::
004C AA92 st -y,R10
004E BA92 st -y,R11
0050 5801 movw R10,R16
0052 .dbline -1
0052 .dbline 46
0052 ; }
0052 ; /*************************************************
0052 ; *输完字符串后不自动换行
0052 ; *************************************************/
0052 ; void debug_str_without_n(char *debugstr)
0052 ; {
0052 .dbline 48
0052 ; #ifdef DEBUG
0052 ; debug_send_string(debugstr,strlen(debugstr));
0052 8501 movw R16,R10
0054 0E940000 xcall _strlen
0058 9801 movw R18,R16
005A 8501 movw R16,R10
005C EDDF xcall _debug_send_string
005E .dbline -2
005E L9:
005E .dbline 0 ; func end
005E B990 ld R11,y+
0060 A990 ld R10,y+
0062 0895 ret
0064 .dbsym r debugstr 10 pc
0064 .dbend
0064 .dbfunc e debug_str _debug_str fV
0064 ; debugstr -> R10,R11
.even
0064 _debug_str::
0064 AA92 st -y,R10
0066 BA92 st -y,R11
0068 5801 movw R10,R16
006A .dbline -1
006A .dbline 57
006A ; #else
006A ;
006A ; #endif
006A ; }
006A ; /*************************************************
006A ; *输完字符串后自动换行
006A ; *************************************************/
006A ; void debug_str(char *debugstr)
006A ; {
006A .dbline 59
006A ; #ifdef DEBUG
006A ; debug_send_string(debugstr,strlen(debugstr));
006A 8501 movw R16,R10
006C 0E940000 xcall _strlen
0070 9801 movw R18,R16
0072 8501 movw R16,R10
0074 E1DF xcall _debug_send_string
0076 .dbline 60
0076 ; debug_send_string("\n",1);
0076 21E0 ldi R18,1
0078 30E0 ldi R19,0
007A 00E0 ldi R16,<L11
007C 10E0 ldi R17,>L11
007E DCDF xcall _debug_send_string
0080 .dbline -2
0080 L10:
0080 .dbline 0 ; func end
0080 B990 ld R11,y+
0082 A990 ld R10,y+
0084 0895 ret
0086 .dbsym r debugstr 10 pc
0086 .dbend
0086 .dbfunc e debug_uchars _debug_uchars fV
0086 ; len -> R12,R13
0086 ; debugstr -> R10,R11
.even
0086 _debug_uchars::
0086 0E940000 xcall push_xgset003C
008A 6901 movw R12,R18
008C 5801 movw R10,R16
008E .dbline -1
008E .dbline 69
008E ; #else
008E ;
008E ; #endif
008E ; }
008E ; /*************************************************
008E ;
008E ; *************************************************/
008E ; void debug_uchars(unsigned char* debugstr,unsigned int len)
008E ; {
008E .dbline 71
008E ; #ifdef DEBUG
008E ; debug_send_chars(debugstr,len);
008E 9601 movw R18,R12
0090 8501 movw R16,R10
0092 BEDF xcall _debug_send_chars
0094 .dbline 72
0094 ; debug_send_string("\n",1);
0094 21E0 ldi R18,1
0096 30E0 ldi R19,0
0098 00E0 ldi R16,<L11
009A 10E0 ldi R17,>L11
009C CDDF xcall _debug_send_string
009E .dbline -2
009E L12:
009E .dbline 0 ; func end
009E 0C940000 xjmp pop_xgset003C
00A2 .dbsym r len 12 i
00A2 .dbsym r debugstr 10 pc
00A2 .dbend
00A2 .dbfunc e debug_uchars_without_n _debug_uchars_without_n fV
00A2 ; len -> R12,R13
00A2 ; debugstr -> R10,R11
.even
00A2 _debug_uchars_without_n::
00A2 0E940000 xcall push_xgset003C
00A6 6901 movw R12,R18
00A8 5801 movw R10,R16
00AA .dbline -1
00AA .dbline 81
00AA ; #else
00AA ;
00AA ; #endif
00AA ; }
00AA ; /*************************************************
00AA ;
00AA ; *************************************************/
00AA ; void debug_uchars_without_n(unsigned char* debugstr,unsigned int len)
00AA ; {
00AA .dbline 83
00AA ; #ifdef DEBUG
00AA ; debug_send_chars(debugstr,len);
00AA 9601 movw R18,R12
00AC 8501 movw R16,R10
00AE B0DF xcall _debug_send_chars
00B0 .dbline -2
00B0 L13:
00B0 .dbline 0 ; func end
00B0 0C940000 xjmp pop_xgset003C
00B4 .dbsym r len 12 i
00B4 .dbsym r debugstr 10 pc
00B4 .dbend
00B4 .dbfunc s dtoc _dtoc fc
00B4 ; d -> R16
.even
00B4 _dtoc:
00B4 .dbline -1
00B4 .dbline 92
00B4 ; #else
00B4 ;
00B4 ; #endif
00B4 ; }
00B4 ; /*************************************************
00B4 ;
00B4 ; *************************************************/
00B4 ; static unsigned char dtoc(unsigned char d)
00B4 ; {
00B4 .dbline 94
00B4 ; #ifdef DEBUG
00B4 ; if(d<=9)
00B4 89E0 ldi R24,9
00B6 8017 cp R24,R16
00B8 10F0 brlo L15
00BA X1:
00BA .dbline 95
00BA ; return(d+0x30);
00BA 005D subi R16,208 ; addi 48
00BC 01C0 xjmp L14
00BE L15:
00BE .dbline 97
00BE ; else
00BE ; return(d+0x37);
00BE 095C subi R16,201 ; addi 55
00C0 .dbline -2
00C0 L14:
00C0 .dbline 0 ; func end
00C0 0895 ret
00C2 .dbsym r d 16 c
00C2 .dbend
00C2 .dbfunc e debug_num_uchar _debug_num_uchar fV
00C2 ; debug_string -> y+0
00C2 ; i -> R20,R21
00C2 ; cBuf -> R10
00C2 ; c -> R12
.even
00C2 _debug_num_uchar::
00C2 0E940000 xcall push_xgsetF0FC
00C6 C02E mov R12,R16
00C8 2597 sbiw R28,5
00CA .dbline -1
00CA .dbline 104
00CA ; #endif
00CA ; }
00CA ; /*************************************************
00CA ;
00CA ; *************************************************/
00CA ; void debug_num_uchar(unsigned char c)
00CA ; {
00CA .dbline 108
00CA ; #ifdef DEBUG
00CA ; unsigned char debug_string[5];
00CA ; unsigned char cBuf;
00CA ; unsigned int i=0;
00CA 4427 clr R20
00CC 5527 clr R21
00CE .dbline 110
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -