⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 debug.lis

📁 u-blox的GPS模块LEA-5x,三本例子为ATMEGA1280对他的操作的程序
💻 LIS
📖 第 1 页 / 共 3 页
字号:
                        .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 + -