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

📄 main.lis

📁 atmega128单片机串口调试程序
💻 LIS
字号:
                        .module main.c
                        .area text(rom, con, rel)
 0000                   .dbfile F:\全物理仿真\mega128\uart_0\main.c
 0000                   .dbfunc e main _main fV
 0000           ;           out2 -> R22
 0000           ;           out1 -> R10
 0000           ;             rc -> R12
 0000           ;              i -> R14
                        .even
 0000           _main::
 0000                   .dbline -1
 0000                   .dbline 6
 0000           ; #include "includes.h"
 0000           ; 
 0000           ; 
 0000           ; /*main function of USART communication */
 0000           ; void main()
 0000           ; {
 0000                   .dbline 9
 0000           ;       U8 i,rc,out1,out2;
 0000           ;       
 0000           ;       port_init();
 0000 0E940000          xcall _port_init
 0004                   .dbline 10
 0004           ;       uart0_init();
 0004 0E940000          xcall _uart0_init
 0008                   .dbline 12
 0008           ;       
 0008           ;       printf("Main running  ...");
 0008 00E0              ldi R16,<L2
 000A 10E0              ldi R17,>L2
 000C 0E940000          xcall _printf
 0010 64C0              xjmp L4
 0012           L3:
 0012                   .dbline 15
 0012           ;               
 0012           ;       while(1)
 0012           ;       {
 0012                   .dbline 16
 0012           ;           uart0_putchar('a');
 0012 01E6              ldi R16,97
 0014 0E940000          xcall _uart0_putchar
 0018                   .dbline 17
 0018           ;           uart0_putchar(0xd);uart0_putchar(0xa);
 0018 0DE0              ldi R16,13
 001A 0E940000          xcall _uart0_putchar
 001E                   .dbline 17
 001E 0AE0              ldi R16,10
 0020 0E940000          xcall _uart0_putchar
 0024                   .dbline 18
 0024           ;           rc=uart0_waitchar();
 0024 0E940000          xcall _uart0_waitchar
 0028 C02E              mov R12,R16
 002A                   .dbline 20
 002A           ;           
 002A           ;               switch(rc)
 002A 4C2D              mov R20,R12
 002C 5527              clr R21
 002E 4033              cpi R20,48
 0030 E0E0              ldi R30,0
 0032 5E07              cpc R21,R30
 0034 C1F0              breq L13
 0036 4133              cpi R20,49
 0038 E0E0              ldi R30,0
 003A 5E07              cpc R21,R30
 003C 39F1              breq L18
 003E 4233              cpi R20,50
 0040 E0E0              ldi R30,0
 0042 5E07              cpc R21,R30
 0044 09F4              brne X3
 0046 36C0              xjmp L23
 0048           X3:
 0048 4033              cpi R20,48
 004A E0E0              ldi R30,0
 004C 5E07              cpc R21,R30
 004E 0CF4              brge X4
 0050 44C0              xjmp L6
 0052           X4:
 0052           L28:
 0052 4837              cpi R20,120
 0054 E0E0              ldi R30,0
 0056 5E07              cpc R21,R30
 0058 09F0              breq L9
 005A 3FC0              xjmp L6
 005C           X0:
 005C                   .dbline 21
 005C           ;         {
 005C           L9:
 005C                   .dbline 23
 005C           ;             case 'x':
 005C           ;                       WDR();
 005C A895              wdr
 005E                   .dbline 24
 005E           ;                           WDTCR = 0x0E;
 005E 8EE0              ldi R24,14
 0060 81BD              out 0x21,R24
 0062           L10:
 0062                   .dbline 25
 0062           L11:
 0062                   .dbline 25
 0062           ;                           while(1);
 0062 FFCF              xjmp L10
 0064           X1:
 0064                   .dbline 26
 0064           ;                               break;
 0064 3AC0              xjmp L7
 0066           L13:
 0066                   .dbline 29
 0066           ;            
 0066           ;                   case '0':
 0066           ;                           for(i=0;i<5;i++)
 0066 EE24              clr R14
 0068 05C0              xjmp L17
 006A           L14:
 006A                   .dbline 30
 006A                   .dbline 31
 006A 0E2D              mov R16,R14
 006C 005D              subi R16,208    ; addi 48
 006E 0E940000          xcall _uart0_putchar
 0072                   .dbline 32
 0072           L15:
 0072                   .dbline 29
 0072 E394              inc R14
 0074           L17:
 0074                   .dbline 29
 0074 8E2D              mov R24,R14
 0076 8530              cpi R24,5
 0078 C0F3              brlo L14
 007A                   .dbline 33
 007A           ;                   {
 007A           ;                     uart0_putchar('0'+i);
 007A           ;                   }
 007A           ;                           delay_ms(100);
 007A 04E6              ldi R16,100
 007C 10E0              ldi R17,0
 007E 0E940000          xcall _delay_ms
 0082                   .dbline 34
 0082           ;                               port_init0();
 0082 0E940000          xcall _port_init0
 0086                   .dbline 35
 0086           ;                           out1 = PINA;
 0086 A9B2              in R10,0x19
 0088                   .dbline 36
 0088           ;                           out2 = PINC;
 0088 63B3              in R22,0x13
 008A                   .dbline 37
 008A           ;                               break;
 008A 27C0              xjmp L7
 008C           L18:
 008C                   .dbline 40
 008C           ;                               
 008C           ;                   case '1':
 008C           ;                       for(i=5;i<10;i++)
 008C 85E0              ldi R24,5
 008E E82E              mov R14,R24
 0090 05C0              xjmp L22
 0092           L19:
 0092                   .dbline 41
 0092                   .dbline 42
 0092 0E2D              mov R16,R14
 0094 005D              subi R16,208    ; addi 48
 0096 0E940000          xcall _uart0_putchar
 009A                   .dbline 43
 009A           L20:
 009A                   .dbline 40
 009A E394              inc R14
 009C           L22:
 009C                   .dbline 40
 009C 8E2D              mov R24,R14
 009E 8A30              cpi R24,10
 00A0 C0F3              brlo L19
 00A2                   .dbline 44
 00A2           ;                   {
 00A2           ;                   uart0_putchar('0'+i);  
 00A2           ;                   }
 00A2           ;                           delay_ms(100);
 00A2 04E6              ldi R16,100
 00A4 10E0              ldi R17,0
 00A6 0E940000          xcall _delay_ms
 00AA                   .dbline 45
 00AA           ;                               port_init1();
 00AA 0E940000          xcall _port_init1
 00AE                   .dbline 46
 00AE           ;                           out1 = PINA;
 00AE A9B2              in R10,0x19
 00B0                   .dbline 47
 00B0           ;                       out2 = PINC;
 00B0 63B3              in R22,0x13
 00B2                   .dbline 48
 00B2           ;                               break;
 00B2 13C0              xjmp L7
 00B4           L23:
 00B4                   .dbline 51
 00B4           ;                
 00B4           ;                   case '2':
 00B4           ;                       for(i='a';i<='z';i++)
 00B4 81E6              ldi R24,97
 00B6 E82E              mov R14,R24
 00B8 05C0              xjmp L27
 00BA           L24:
 00BA                   .dbline 52
 00BA                   .dbline 53
 00BA 0E2D              mov R16,R14
 00BC 0F59              subi R16,159    ; addi 97
 00BE 0E940000          xcall _uart0_putchar
 00C2                   .dbline 54
 00C2           L25:
 00C2                   .dbline 51
 00C2 E394              inc R14
 00C4           L27:
 00C4                   .dbline 51
 00C4 8AE7              ldi R24,122
 00C6 8E15              cp R24,R14
 00C8 C0F7              brsh L24
 00CA                   .dbline 55
 00CA           ;                   {
 00CA           ;                   uart0_putchar('a'+i);  
 00CA           ;                   }
 00CA           ;                               delay_ms(100);
 00CA 04E6              ldi R16,100
 00CC 10E0              ldi R17,0
 00CE 0E940000          xcall _delay_ms
 00D2                   .dbline 56
 00D2           ;                               port_init2();
 00D2 0E940000          xcall _port_init2
 00D6                   .dbline 57
 00D6           ;                           out1 = PINA;
 00D6 A9B2              in R10,0x19
 00D8                   .dbline 58
 00D8           ;                       out2 = PINC;
 00D8 63B3              in R22,0x13
 00DA                   .dbline 59
 00DA           ;                               break;
 00DA           L6:
 00DA           L7:
 00DA                   .dbline 62
 00DA           L4:
 00DA                   .dbline 14
 00DA 9BCF              xjmp L3
 00DC           X2:
 00DC                   .dbline -2
 00DC           L1:
 00DC                   .dbline 0 ; func end
 00DC 0895              ret
 00DE                   .dbsym r out2 22 c
 00DE                   .dbsym r out1 10 c
 00DE                   .dbsym r rc 12 c
 00DE                   .dbsym r i 14 c
 00DE                   .dbend
                        .area data(ram, con, rel)
 0000                   .dbfile F:\全物理仿真\mega128\uart_0\main.c
 0000           L2:
 0000                   .blkb 18
                        .area idata
 0000 4D61696E2072756E6E696E6720202E2E  .byte 'M,'a,'i,'n,32,'r,'u,'n,'n,'i,'n,'g,32,32,46,46
 0010 2E00              .byte 46,0
                        .area data(ram, con, rel)
 0012                   .dbfile F:\全物理仿真\mega128\uart_0\main.c

⌨️ 快捷键说明

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