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

📄 test1.lis

📁 ucos-ii-at90S-icc-avr
💻 LIS
字号:
                        .module test1.c
                        .area vector(rom, abs)
                        .org 14
 000E 00C0              rjmp _OSTickISR
                        .area text(rom, con, rel)
 0000                   .dbfile G:\编程2002-10-15-HOME\做过的项目\2002-10-22\home-c\software\ucos-ii-at90S-icc-avr\ucos-ii-source\test1.c
 0000                   .dbfunc e main _main fV
                        .even
 0000           _main::
 0000 2397              sbiw R28,3
 0002                   .dbline -1
 0002                   .dbline 24
 0002           ; /*
 0002           ; */
 0002           ; #define Test1_GLOBALS
 0002           ; #include "includes.h"
 0002           ; 
 0002           ; //******************************************************************************
 0002           ; // Variablen
 0002           ; OS_STK        Task2Stack[OS_TASK_DEF_STK_SIZE];               // startup task stack
 0002           ; OS_STK        Task3Stack[OS_TASK_DEF_STK_SIZE];       
 0002           ; 
 0002           ; //*****************************************************************************
 0002           ; // Prototypes
 0002           ; void Task2(void *pdata);
 0002           ; void Task3(void *pdata);
 0002           ; //*****************************************************************************
 0002           ; 
 0002           ; //*****************************************************************************
 0002           ; // Interrupt Timer/Counter0 Overflow
 0002           ; // OVF_Takt:  4MHz / 1024 / 39 = 10ms
 0002           ; #pragma interrupt_handler OSTickISR:8
 0002           ; //#pragma interrupt_handler test_OSTickISR0:8
 0002           ; 
 0002           ; void main()
 0002           ; { 
 0002                   .dbline 25
 0002           ;   CLI();//close interrupt
 0002 F894              cli
 0004                   .dbline 26
 0004           ;   ProgramRest(FLASH_WHEN_RESET);
 0004 03E0              ldi R16,3
 0006 10E0              ldi R17,0
 0008 00D0              rcall _ProgramRest
 000A                   .dbline 27
 000A           ;   OSInit();           // OS init
 000A 00D0              rcall _OSInit
 000C                   .dbline 29
 000C           ; //check OSTCBFreeList;
 000C           ;   if(OSRunning || (0==OSTCBFreeList))//stack destroyed
 000C 20900000          lds R2,_OSRunning
 0010 2220              tst R2
 0012 41F4              brne L6
 0014 20900000          lds R2,_OSTCBFreeList
 0018 30900100          lds R3,_OSTCBFreeList+1
 001C 2220              tst R2
 001E 19F4              brne L4
 0020 3320              tst R3
 0022 09F4              brne L4
 0024           X0:
 0024           L6:
 0024                   .dbline 30
 0024           ;     goto OSTASKCREATE_ERROR;  
 0024 2CC0              rjmp L7
 0026           L4:
 0026                   .dbline 32
 0026           ;   
 0026           ;   if(OS_NO_ERR!=OSTaskCreate(Task2,
 0026 82E0              ldi R24,2
 0028 8A83              std y+2,R24
 002A 80E0              ldi R24,<_Task2Stack+111
 002C 90E0              ldi R25,>_Task2Stack+111
 002E 8883              std y+0,R24
 0030 9983              std y+1,R25
 0032 22E3              ldi R18,50
 0034 30E0              ldi R19,0
 0036 00E0              ldi R16,<PL_Task2
 0038 10E0              ldi R17,>PL_Task2
 003A 00D0              rcall _OSTaskCreate
 003C 0023              tst R16
 003E 09F0              breq L8
 0040                   .dbline 36
 0040           ;               (void *)(int)'2',
 0040           ;               &Task2Stack[OS_TASK_DEF_STK_SIZE-1],
 0040           ;               TaskStartPrio))
 0040           ;     goto OSTASKCREATE_ERROR;
 0040 1EC0              rjmp L7
 0042           L8:
 0042                   .dbline 38
 0042           ; 
 0042           ;   if(OSRunning || (0==OSTCBFreeList))//stack destroyed
 0042 20900000          lds R2,_OSRunning
 0046 2220              tst R2
 0048 41F4              brne L13
 004A 20900000          lds R2,_OSTCBFreeList
 004E 30900100          lds R3,_OSTCBFreeList+1
 0052 2220              tst R2
 0054 19F4              brne L11
 0056 3320              tst R3
 0058 09F4              brne L11
 005A           X1:
 005A           L13:
 005A                   .dbline 39
 005A           ;     goto OSTASKCREATE_ERROR;
 005A 11C0              rjmp L7
 005C           L11:
 005C                   .dbline 41
 005C           ; 
 005C           ;   if(OS_NO_ERR!=OSTaskCreate(Task3,
 005C 83E0              ldi R24,3
 005E 8A83              std y+2,R24
 0060 80E0              ldi R24,<_Task3Stack+111
 0062 90E0              ldi R25,>_Task3Stack+111
 0064 8883              std y+0,R24
 0066 9983              std y+1,R25
 0068 23E3              ldi R18,51
 006A 30E0              ldi R19,0
 006C 00E0              ldi R16,<PL_Task3
 006E 10E0              ldi R17,>PL_Task3
 0070 00D0              rcall _OSTaskCreate
 0072 0023              tst R16
 0074 09F0              breq L14
 0076                   .dbline 45
 0076           ;               (void *)(int)'3',
 0076           ;               &Task3Stack[OS_TASK_DEF_STK_SIZE-1],
 0076           ;               TaskStartPrio+1))
 0076           ;     goto OSTASKCREATE_ERROR;
 0076 03C0              rjmp L7
 0078           L14:
 0078                   .dbline 47
 0078           ;                 
 0078           ;   TC2_Init();
 0078 00D0              rcall _TC2_Init
 007A                   .dbline 49
 007A           ;   
 007A           ;   SEI();
 007A 7894              sei
 007C                   .dbline 52
 007C           ;   //check OSTCBCur
 007C           ;   //if(0==OSTCBCur)goto OSTASKCREATE_ERROR;
 007C           ;   OSStart();          // start multitasking
 007C 00D0              rcall _OSStart
 007E           L7:
 007E                   .dbline 56
 007E           ;   //error
 007E           ; OSTASKCREATE_ERROR:
 007E           ;   //dead loop
 007E           ;   ProgramError();
 007E 00D0              rcall _ProgramError
 0080                   .dbline -2
 0080                   .dbline 57
 0080           ; }
 0080           L3:
 0080 2396              adiw R28,3
 0082                   .dbline 0 ; func end
 0082 0895              ret
 0084                   .dbend
 0084                   .dbfunc e Task2 _Task2 fV
 0084           ;           data -> R20,R21
                        .even
 0084           _Task2::
 0084 00D0              rcall push_gset1
 0086 402F              mov R20,R16
 0088 512F              mov R21,R17
 008A                   .dbline -1
 008A                   .dbline 60
 008A           ; 
 008A           ; //*****************************************************************************
 008A           ; void Task2(void *data){
 008A                   .dbline 61
 008A           ;   Task2_porta(data);
 008A 042F              mov R16,R20
 008C 152F              mov R17,R21
 008E 02D0              rcall _Task2_porta
 0090                   .dbline -2
 0090                   .dbline 62
 0090           ; }
 0090           L17:
 0090 00D0              rcall pop_gset1
 0092                   .dbline 0 ; func end
 0092 0895              ret
 0094                   .dbsym r data 20 pV
 0094                   .dbend
 0094                   .dbfunc e Task2_porta _Task2_porta fV
 0094           ;              j -> R20
 0094           ;              i -> R22
 0094           ;           data -> R10,R11
                        .even
 0094           _Task2_porta::
 0094 00D0              rcall push_gset3
 0096 A02E              mov R10,R16
 0098 B12E              mov R11,R17
 009A                   .dbline -1
 009A                   .dbline 63
 009A           ; void Task2_porta(void *data){
 009A                   .dbline 64
 009A           ;   INT8U i,j=0;
 009A 4427              clr R20
 009C                   .dbline 65
 009C           ;   DDRA=0xff;
 009C 8FEF              ldi R24,255
 009E 8ABB              out 0x1a,R24
 00A0 05C0              rjmp L20
 00A2           L19:
 00A2                   .dbline 67
 00A2                   .dbline 68
 00A2 6395              inc R22
 00A4                   .dbline 69
 00A4 6BBB              out 0x1b,R22
 00A6                   .dbline 70
 00A6 0AE0              ldi R16,10
 00A8 10E0              ldi R17,0
 00AA 00D0              rcall _OSTimeDly
 00AC                   .dbline 71
 00AC           L20:
 00AC                   .dbline 66
 00AC FACF              rjmp L19
 00AE           X2:
 00AE                   .dbline -2
 00AE                   .dbline 72
 00AE           ;   while(1)
 00AE           ;   {
 00AE           ;     i++;
 00AE           ;     PORTA=i;
 00AE           ;       OSTimeDly(10);
 00AE           ;   }
 00AE           ; }
 00AE           L18:
 00AE 00D0              rcall pop_gset3
 00B0                   .dbline 0 ; func end
 00B0 0895              ret
 00B2                   .dbsym r j 20 c
 00B2                   .dbsym r i 22 c
 00B2                   .dbsym r data 10 pV
 00B2                   .dbend
 00B2                   .dbfunc e Task3 _Task3 fV
 00B2           ;              i -> R20
 00B2           ;              j -> R22
 00B2           ;              k -> R10
 00B2           ;           data -> R20,R21
                        .even
 00B2           _Task3::
 00B2 00D0              rcall push_gset3
 00B4 402F              mov R20,R16
 00B6 512F              mov R21,R17
 00B8                   .dbline -1
 00B8                   .dbline 74
 00B8           ; 
 00B8           ; void Task3(void *data){
 00B8 14C0              rjmp L24
 00BA           L23:
 00BA                   .dbline 77
 00BA           ;   unsigned char i,j,k;
 00BA           ;   while(1)
 00BA           ;   {
 00BA                   .dbline 78
 00BA           ;   DDRC=0xff;
 00BA 8FEF              ldi R24,255
 00BC 84BB              out 0x14,R24
 00BE                   .dbline 79
 00BE           ;   SEI();
 00BE 7894              sei
 00C0                   .dbline 80
 00C0           ;   for(i=0;i<8;i++)
 00C0 4427              clr R20
 00C2 0DC0              rjmp L29
 00C4           L26:
 00C4                   .dbline 81
 00C4           ;   {
 00C4                   .dbline 82
 00C4           ;     j=1;
 00C4 61E0              ldi R22,1
 00C6                   .dbline 83
 00C6           ;     for(k=0;k<=i;k++)
 00C6 AA24              clr R10
 00C8 02C0              rjmp L33
 00CA           L30:
 00CA                   .dbline 84
 00CA 660F              lsl R22
 00CC           L31:
 00CC                   .dbline 83
 00CC A394              inc R10
 00CE           L33:
 00CE                   .dbline 83
 00CE 4A15              cp R20,R10
 00D0 E0F7              brsh L30
 00D2                   .dbline 85
 00D2 6095              com R22
 00D4                   .dbline 86
 00D4 65BB              out 0x15,R22
 00D6                   .dbline 87
 00D6 0AE0              ldi R16,10
 00D8 10E0              ldi R17,0
 00DA 00D0              rcall _OSTimeDly
 00DC                   .dbline 88
 00DC           L27:
 00DC                   .dbline 80
 00DC 4395              inc R20
 00DE           L29:
 00DE                   .dbline 80
 00DE 4830              cpi R20,8
 00E0 88F3              brlo L26
 00E2                   .dbline 89
 00E2           L24:
 00E2                   .dbline 76
 00E2 EBCF              rjmp L23
 00E4           X3:
 00E4                   .dbline -2
 00E4                   .dbline 90
 00E4           ;         j*=2;
 00E4           ;       asm("com %j");
 00E4           ;       PORTC=j;
 00E4           ;       OSTimeDly(10);
 00E4           ;   }
 00E4           ;   }
 00E4           ; }
 00E4           L22:
 00E4 00D0              rcall pop_gset3
 00E6                   .dbline 0 ; func end
 00E6 0895              ret
 00E8                   .dbsym r i 20 c
 00E8                   .dbsym r j 22 c
 00E8                   .dbsym r k 10 c
 00E8                   .dbsym r data 20 pV
 00E8                   .dbend
                        .area bss(ram, con, rel)
 0000                   .dbfile G:\编程2002-10-15-HOME\做过的项目\2002-10-22\home-c\software\ucos-ii-at90S-icc-avr\ucos-ii-source\test1.c
 0000           _Task3Stack::
 0000                   .blkb 112
 0070                   .dbsym e Task3Stack _Task3Stack A[112:112]c
 0070           _Task2Stack::
 0070                   .blkb 112
 00E0                   .dbsym e Task2Stack _Task2Stack A[112:112]c
                        .area func_lit
 0000 5900      PL_Task3:       .word `_Task3
 0002 4200      PL_Task2:       .word `_Task2

⌨️ 快捷键说明

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