📄 test1.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 + -