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

📄 debug.lis

📁 AVRmega28L的串口发送数据程序
💻 LIS
字号:
                        .module debug.c
                        .area text(rom, con, rel)
 0000                   .dbfile F:\我的BACK\淘宝\128开发板\程序\128L_USART1\debug.c
 0000                   .dbfunc e Usart0_byte _Usart0_byte fV
 0000           ;        OneByte -> R16
                        .even
 0000           _Usart0_byte::
 0000                   .dbline -1
 0000                   .dbline 5
 0000           ; #include "config.h"
 0000           ; 
 0000           ; 
 0000           ; void Usart0_byte( BYTE OneByte )
 0000           ;   {     
 0000           L2:
 0000                   .dbline 6
 0000           L3:
 0000                   .dbline 6
 0000           ;       while ( ! (UCSR0A & (1 << UDRE0) ) );    /* Waiting for empty transmit buffer */              
 0000 5D9B              sbis 0xb,5
 0002 FECF              rjmp L2
 0004                   .dbline 7
 0004           ;       UDR0 = OneByte;     
 0004 0CB9              out 0xc,R16
 0006           L5:
 0006                   .dbline 8
 0006           L6:
 0006                   .dbline 8
 0006           ;       while( ! (UCSR0A & (1 << TXC0) ) );                
 0006 5E9B              sbis 0xb,6
 0008 FECF              rjmp L5
 000A                   .dbline -2
 000A           L1:
 000A                   .dbline 0 ; func end
 000A 0895              ret
 000C                   .dbsym r OneByte 16 c
 000C                   .dbend
 000C                   .dbfunc e Usart1_byte _Usart1_byte fV
 000C           ;        OneByte -> R16
                        .even
 000C           _Usart1_byte::
 000C                   .dbline -1
 000C                   .dbline 11
 000C           ;   }
 000C           ; void Usart1_byte(BYTE OneByte)
 000C           ; {
 000C           L9:
 000C                   .dbline 20
 000C           L10:
 000C                   .dbline 20
 000C           ;       /*///while (!CHECK_BIT(UCSR0A,1<<UDRE0));
 000C           ;       int i,j;
 000C           ;       UDR0 = data ;
 000C           ;       for(i=0;i<200;i++)
 000C           ;               for(j=0;j<200;j++);
 000C           ;       ///while (!CHECK_BIT(UCSR0A, 1<<TXC0));
 000C           ;       
 000C           ;       return 0;*/
 000C           ;       while ( ! (UCSR1A & (1 << UDRE1) ) );    /* Waiting for empty transmit buffer */              
 000C 20909B00          lds R2,155
 0010 25FE              sbrs R2,5
 0012 FCCF              rjmp L9
 0014                   .dbline 21
 0014           ;       UDR1 = OneByte;     
 0014 00939C00          sts 156,R16
 0018           L12:
 0018                   .dbline 22
 0018           L13:
 0018                   .dbline 22
 0018           ;       while( ! (UCSR1A & (1 << TXC1) ) );     
 0018 20909B00          lds R2,155
 001C 26FE              sbrs R2,6
 001E FCCF              rjmp L12
 0020                   .dbline -2
 0020           L8:
 0020                   .dbline 0 ; func end
 0020 0895              ret
 0022                   .dbsym r OneByte 16 c
 0022                   .dbend
 0022                   .dbfunc e debug0_Print _debug0_Print fV
 0022           ;            buf -> R20,R21
                        .even
 0022           _debug0_Print::
 0022 0E940000          xcall push_gset1
 0026 A801              movw R20,R16
 0028                   .dbline -1
 0028                   .dbline 27
 0028           ; } 
 0028           ;   
 0028           ;   
 0028           ; void debug0_Print(char* buf)
 0028           ; {
 0028 05C0              xjmp L17
 002A           L16:
 002A                   .dbline 29
 002A                   .dbline 30
 002A FA01              movw R30,R20
 002C 0081              ldd R16,z+0
 002E E8DF              xcall _Usart0_byte
 0030                   .dbline 31
 0030 4F5F              subi R20,255  ; offset = 1
 0032 5F4F              sbci R21,255
 0034                   .dbline 32
 0034           L17:
 0034                   .dbline 28
 0034           ;        while ( *buf != '\0' )
 0034 FA01              movw R30,R20
 0036 2080              ldd R2,z+0
 0038 2220              tst R2
 003A B9F7              brne L16
 003C                   .dbline -2
 003C           L15:
 003C 0E940000          xcall pop_gset1
 0040                   .dbline 0 ; func end
 0040 0895              ret
 0042                   .dbsym r buf 20 pc
 0042                   .dbend
 0042                   .dbfunc e debug1_Print _debug1_Print fV
 0042           ;            buf -> R20,R21
                        .even
 0042           _debug1_Print::
 0042 0E940000          xcall push_gset1
 0046 A801              movw R20,R16
 0048                   .dbline -1
 0048                   .dbline 36
 0048           ;         {
 0048           ;             Usart0_byte( *buf );
 0048           ;             buf++;                                  
 0048           ;         }
 0048           ; }
 0048           ;   
 0048           ; void debug1_Print(char* buf)
 0048           ; {
 0048 05C0              xjmp L21
 004A           L20:
 004A                   .dbline 38
 004A                   .dbline 39
 004A FA01              movw R30,R20
 004C 0081              ldd R16,z+0
 004E DEDF              xcall _Usart1_byte
 0050                   .dbline 40
 0050 4F5F              subi R20,255  ; offset = 1
 0052 5F4F              sbci R21,255
 0054                   .dbline 41
 0054           L21:
 0054                   .dbline 37
 0054           ;        while ( *buf != '\0' )
 0054 FA01              movw R30,R20
 0056 2080              ldd R2,z+0
 0058 2220              tst R2
 005A B9F7              brne L20
 005C                   .dbline -2
 005C           L19:
 005C 0E940000          xcall pop_gset1
 0060                   .dbline 0 ; func end
 0060 0895              ret
 0062                   .dbsym r buf 20 pc
 0062                   .dbend

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -