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

📄 test1.lis

📁 UCOS/II for ICCAVR - The version of UCOS/II is 2.04 - the original port was done by Ole Saether
💻 LIS
字号:
                        .module test1.c
                        .area text(rom, con, rel)
 0000                   .dbfile F:\开发工具\AVR开发工具\RTOSIC~1\source\test1.c
 0000                   .dbfunc e main _main fV
                        .even
 0000           _main::
 0000 2497              sbiw R28,4
 0002                   .dbline -1
 0002                   .dbline 32
 0002           ; /*
 0002           ; ********************************************************************************
 0002           ; * Portierung des RTOS "礐/OS-II" von Jean J. Labrosse auf den ATmega103
 0002           ; * 
 0002           ; * Compiler:           IIC von imagecraft
 0002           ; * File:                       Test1.c (Testapplikation)
 0002           ; * By:                 Joerg Meyer
 0002           ; * Revision:           0
 0002           ; *
 0002           ; *
 0002           ; *
 0002           ; ********************************************************************************
 0002           ; */
 0002           ; #define Test1_GLOBALS
 0002           ; #include "includes.h"
 0002           ; 
 0002           ; //******************************************************************************
 0002           ; // Constants
 0002           ; #define TaskStartPrio 10              // Task-Prioritaeten
 0002           ; 
 0002           ; 
 0002           ; //*****************************************************************************
 0002           ; // Variablen
 0002           ; OS_STK        Task1Stack[OS_TASK_DEF_STK_SIZE];               // startup task stack
 0002           ; OS_STK        Task2Stack[OS_TASK_DEF_STK_SIZE];       
 0002           ; 
 0002           ; //*****************************************************************************
 0002           ; // Prototypes
 0002           ; void Task1(void *pdata);
 0002           ; //*****************************************************************************
 0002           ; // Start
 0002           ; void main(void){
 0002                   .dbline 33
 0002           ;       OSInit();               // OS init
 0002 0E940000          xcall _OSInit
 0006                   .dbline 35
 0006           ; 
 0006           ;       OSTaskCreate(Task1,
 0006 8BE0              ldi R24,11
 0008 90E0              ldi R25,0
 000A 9B83              std y+3,R25
 000C 8A83              std y+2,R24
 000E 80E0              ldi R24,<_Task1Stack+127
 0010 90E0              ldi R25,>_Task1Stack+127
 0012 9983              std y+1,R25
 0014 8883              std y+0,R24
 0016 21E6              ldi R18,97
 0018 30E0              ldi R19,0
 001A 00E0              ldi R16,<PL_Task1
 001C 10E0              ldi R17,>PL_Task1
 001E 0E940000          xcall _OSTaskCreate
 0022                   .dbline 39
 0022           ;                               (void *)(int)'a',
 0022           ;                               &Task1Stack[OS_TASK_DEF_STK_SIZE-1],
 0022           ;                               TaskStartPrio+1);
 0022           ;       OSTaskCreate(Task1,
 0022 8AE0              ldi R24,10
 0024 90E0              ldi R25,0
 0026 9B83              std y+3,R25
 0028 8A83              std y+2,R24
 002A 80E0              ldi R24,<_Task2Stack+127
 002C 90E0              ldi R25,>_Task2Stack+127
 002E 9983              std y+1,R25
 0030 8883              std y+0,R24
 0032 22E6              ldi R18,98
 0034 30E0              ldi R19,0
 0036 00E0              ldi R16,<PL_Task1
 0038 10E0              ldi R17,>PL_Task1
 003A 0E940000          xcall _OSTaskCreate
 003E                   .dbline 45
 003E           ;                               (void *)(int)'b',
 003E           ;                               &Task2Stack[OS_TASK_DEF_STK_SIZE-1],
 003E           ;                               TaskStartPrio); 
 003E           ;                 
 003E           ;       // init und start tick
 003E           ;       TC2_Init();                     // Timer/Counter#2 Overflow and Comp init
 003E 0E940000          xcall _TC2_Init
 0042                   .dbline 48
 0042           ; 
 0042           ; 
 0042           ;       OSStart();              // start multitasking
 0042 0E940000          xcall _OSStart
 0046                   .dbline -2
 0046                   .dbline 50
 0046           ; 
 0046           ; }
 0046           L1:
 0046 2496              adiw R28,4
 0048                   .dbline 0 ; func end
 0048 0895              ret
 004A                   .dbend
 004A                   .dbfunc e Task1 _Task1 fV
 004A           ;              c -> R20
 004A           ;           data -> R20,R21
                        .even
 004A           _Task1::
 004A 0E940000          xcall push_gset1
 004E 402F              mov R20,R16
 0050 512F              mov R21,R17
 0052                   .dbline -1
 0052                   .dbline 53
 0052           ; 
 0052           ; //*****************************************************************************
 0052           ; void Task1(void *data){
 0052                   .dbline 54
 0052           ;       char c = (int)data;
 0052                   .dbline 55
 0052           L5:
 0052                   .dbline 55
 0052                   .dbline 56
 0052 042F              mov R16,R20
 0054 1127              clr R17
 0056 0E940000          xcall _putchar
 005A                   .dbline 57
 005A 02E0              ldi R16,2
 005C 10E0              ldi R17,0
 005E 0E940000          xcall _OSTimeDly
 0062                   .dbline 59
 0062                   .dbline 55
 0062                   .dbline 55
 0062 F7CF              xjmp L5
 0064           X0:
 0064                   .dbline -2
 0064           L4:
 0064 0E940000          xcall pop_gset1
 0068                   .dbline 0 ; func end
 0068 0895              ret
 006A                   .dbsym r c 20 c
 006A                   .dbsym r data 20 pV
 006A                   .dbend
                        .area bss(ram, con, rel)
 0000                   .dbfile F:\开发工具\AVR开发工具\RTOSIC~1\source\test1.c
 0000           _Task2Stack::
 0000                   .blkb 128
 0080                   .dbsym e Task2Stack _Task2Stack A[128:128]c
 0080           _Task1Stack::
 0080                   .blkb 128
 0100                   .dbsym e Task1Stack _Task1Stack A[128:128]c
                        .area func_lit
 0000 2500      PL_Task1:       .word `_Task1

⌨️ 快捷键说明

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