📄 test_funcs.lis
字号:
.module test_funcs.c
.area text(rom, con, rel)
0000 .dbfile G:\编程2002-10-15-HOME\做过的项目\2002-10-22\home-c\software\ucos-ii-at90S-icc-avr\os-task-switch\test_funcs.c
0000 .dbfunc e TC2_Init _TC2_Init fV
.even
0000 _TC2_Init::
0000 .dbline -1
0000 .dbline 7
0000 ; #include "includes.h"
0000 ;
0000 ; //*****************************************************************************
0000 ; // TickISR
0000 ; //*****************************************************************************
0000 ; // Init Timer/Counter2 fuer Takterzeugung
0000 ; void TC2_Init (void){
0000 .dbline 8
0000 ; TCCR0 = 0x05; /* Set TIMER0 prescaler to CLK/1024 */
0000 85E0 ldi R24,5
0002 83BF out 0x33,R24
0004 .dbline 9
0004 ; TIMSK = 0x02; /* Enable TIMER0 overflow interrupt */
0004 82E0 ldi R24,2
0006 89BF out 0x39,R24
0008 .dbline -2
0008 .dbline 10
0008 ; }
0008 L1:
0008 .dbline 0 ; func end
0008 0895 ret
000A .dbend
000A .dbfunc e Delay _Delay fV
000A ; i -> R16
000A ; j -> R18
000A ; k -> R20
.even
000A _Delay::
000A 00D0 rcall push_gset1
000C .dbline -1
000C .dbline 13
000C ;
000C ; void Delay(void)
000C ; {
000C .dbline 15
000C ; unsigned char i,j,k;
000C ; for(i=1;i<10;i++)
000C 01E0 ldi R16,1
000E 0BC0 rjmp L6
0010 L3:
0010 .dbline 16
0010 ; for(j=1;j;j++)
0010 21E0 ldi R18,1
0012 06C0 rjmp L10
0014 L7:
0014 .dbline 17
0014 ; {
0014 .dbline 18
0014 ; for(k=1;k;k++)
0014 41E0 ldi R20,1
0016 01C0 rjmp L14
0018 L11:
0018 .dbline 19
0018 L12:
0018 .dbline 18
0018 4395 inc R20
001A L14:
001A .dbline 18
001A 4423 tst R20
001C E9F7 brne L11
001E .dbline 20
001E L8:
001E .dbline 16
001E 2395 inc R18
0020 L10:
0020 .dbline 16
0020 2223 tst R18
0022 C1F7 brne L7
0024 L4:
0024 .dbline 15
0024 0395 inc R16
0026 L6:
0026 .dbline 15
0026 0A30 cpi R16,10
0028 98F3 brlo L3
002A .dbline -2
002A .dbline 21
002A ; ;
002A ; }
002A ; }
002A L2:
002A 00D0 rcall pop_gset1
002C .dbline 0 ; func end
002C 0895 ret
002E .dbsym r i 16 c
002E .dbsym r j 18 c
002E .dbsym r k 20 c
002E .dbend
002E .dbfunc e task_Delay _task_Delay fV
002E ; k -> <dead>
002E ; j -> <dead>
002E ; i -> R20
.even
002E _task_Delay::
002E 00D0 rcall push_gset1
0030 .dbline -1
0030 .dbline 24
0030 ;
0030 ; void task_Delay(void)
0030 ; {
0030 .dbline 26
0030 ; unsigned char i,j,k;
0030 ; for(i=1;i<2;i++)
0030 41E0 ldi R20,1
0032 04C0 rjmp L19
0034 L16:
0034 .dbline 28
0034 .dbline 29
0034 03E0 ldi R16,3
0036 10E0 ldi R17,0
0038 00D0 rcall _OSTimeDly
003A .dbline 31
003A L17:
003A .dbline 26
003A 4395 inc R20
003C L19:
003C .dbline 26
003C 4230 cpi R20,2
003E D0F3 brlo L16
0040 .dbline -2
0040 .dbline 32
0040 ; // for(j=1;j;j++)
0040 ; {
0040 ; OSTimeDly(3);
0040 ; // for(k=1;k;k++) ;
0040 ; }
0040 ; }
0040 L15:
0040 00D0 rcall pop_gset1
0042 .dbline 0 ; func end
0042 0895 ret
0044 .dbsym l k 1 c
0044 .dbsym l j 1 c
0044 .dbsym r i 20 c
0044 .dbend
0044 .dbfunc e ProgramStart_Flash _ProgramStart_Flash fV
0044 ; v -> R20
.even
0044 _ProgramStart_Flash::
0044 00D0 rcall push_gset1
0046 402F mov R20,R16
0048 .dbline -1
0048 .dbline 35
0048 ;
0048 ; void ProgramStart_Flash(INT8U v)
0048 ; {
0048 .dbline 36
0048 ; DDRB=0xff;
0048 8FEF ldi R24,255
004A 87BB out 0x17,R24
004C .dbline 37
004C ; PORTB=v;
004C 48BB out 0x18,R20
004E .dbline 38
004E ; DDRD=0xff;
004E 81BB out 0x11,R24
0050 .dbline 39
0050 ; PORTD=v;
0050 42BB out 0x12,R20
0052 .dbline 43
0052 ; // DDRA=0xff; PORTA=v;
0052 ; // DDRC=0xff;
0052 ; // PORTC=v;
0052 ; Delay();
0052 DBDF rcall _Delay
0054 .dbline -2
0054 .dbline 44
0054 ; }
0054 L20:
0054 00D0 rcall pop_gset1
0056 .dbline 0 ; func end
0056 0895 ret
0058 .dbsym r v 20 c
0058 .dbend
0058 .dbfunc e ProgramStart _ProgramStart fV
.even
0058 _ProgramStart::
0058 .dbline -1
0058 .dbline 47
0058 ;
0058 ; void ProgramStart(void)
0058 ; {
0058 .dbline 48
0058 ; DDRA=0xff; PORTA=0xff;
0058 8FEF ldi R24,255
005A 8ABB out 0x1a,R24
005C .dbline 48
005C 8BBB out 0x1b,R24
005E .dbline 49
005E ; DDRC=0xff; PORTC=0xff;
005E 84BB out 0x14,R24
0060 .dbline 49
0060 85BB out 0x15,R24
0062 .dbline 50
0062 ; ProgramStart_Flash(0);
0062 0027 clr R16
0064 EFDF rcall _ProgramStart_Flash
0066 .dbline 51
0066 ; ProgramStart_Flash(0xff);
0066 0FEF ldi R16,255
0068 EDDF rcall _ProgramStart_Flash
006A .dbline 52
006A ; ProgramStart_Flash(0);
006A 0027 clr R16
006C EBDF rcall _ProgramStart_Flash
006E .dbline 53
006E ; ProgramStart_Flash(0xff);
006E 0FEF ldi R16,255
0070 E9DF rcall _ProgramStart_Flash
0072 .dbline 54
0072 ; ProgramStart_Flash(0);
0072 0027 clr R16
0074 E7DF rcall _ProgramStart_Flash
0076 .dbline 55
0076 ; ProgramStart_Flash(0xff);
0076 0FEF ldi R16,255
0078 .dbline -2
0078 .dbline 56
0078 ; }
0078 L21:
0078 .dbline 0 ; func end
0078 E5CF rjmp _ProgramStart_Flash
007A .dbend
007A .dbfunc e OSError _OSError fV
007A ; i -> R20
007A ; err -> R16
.even
007A _OSError::
007A 00D0 rcall push_gset1
007C .dbline -1
007C .dbline 60
007C ;
007C ; #if OS_STRICT
007C ; void OSError(INT8U err)
007C ; {
007C .dbline 61
007C ; INT8U i=err;
007C 402F mov R20,R16
007E 01C0 rjmp L24
0080 L23:
0080 .dbline 63
0080 402F mov R20,R16
0082 L24:
0082 .dbline 62
0082 FECF rjmp L23
0084 X0:
0084 .dbline -2
0084 .dbline 64
0084 ; while(1)
0084 ; i=err;
0084 ; }
0084 L22:
0084 00D0 rcall pop_gset1
0086 .dbline 0 ; func end
0086 0895 ret
0088 .dbsym r i 20 c
0088 .dbsym r err 16 c
0088 .dbend
0088 .dbfunc e task1 _task1 fV
0088 ; i -> R20
0088 ; pdata -> R22,R23
.even
0088 _task1::
0088 00D0 rcall push_gset2
008A 602F mov R22,R16
008C 712F mov R23,R17
008E .dbline -1
008E .dbline 68
008E ; #endif
008E ;
008E ; void task1(void *pdata)
008E ; {
008E .dbline 69
008E ; INT8U i=0;
008E 4427 clr R20
0090 .dbline 70
0090 ; DDRA=0xff;
0090 8FEF ldi R24,255
0092 8ABB out 0x1a,R24
0094 05C0 rjmp L28
0096 L27:
0096 .dbline 72
0096 .dbline 74
0096 4395 inc R20
0098 .dbline 75
0098 4BBB out 0x1b,R20
009A .dbline 77
009A 03E0 ldi R16,3
009C 10E0 ldi R17,0
009E 00D0 rcall _OSTimeDly
00A0 .dbline 78
00A0 L28:
00A0 .dbline 71
00A0 FACF rjmp L27
00A2 X1:
00A2 .dbline -2
00A2 .dbline 79
00A2 ; while(1)
00A2 ; {
00A2 ; // SEI();
00A2 ; i++;
00A2 ; PORTA=i;
00A2 ; //task_Delay();
00A2 ; OSTimeDly(3);
00A2 ; }
00A2 ; }
00A2 L26:
00A2 00D0 rcall pop_gset2
00A4 .dbline 0 ; func end
00A4 0895 ret
00A6 .dbsym r i 20 c
00A6 .dbsym r pdata 22 pV
00A6 .dbend
00A6 .dbfunc e task2 _task2 fV
00A6 ; i -> R20
00A6 ; pdata -> R22,R23
.even
00A6 _task2::
00A6 00D0 rcall push_gset2
00A8 602F mov R22,R16
00AA 712F mov R23,R17
00AC .dbline -1
00AC .dbline 82
00AC ;
00AC ; void task2(void *pdata)
00AC ; {
00AC .dbline 83
00AC ; unsigned char i=0;
00AC 4427 clr R20
00AE .dbline 84
00AE ; DDRC=0xff;
00AE 8FEF ldi R24,255
00B0 84BB out 0x14,R24
00B2 05C0 rjmp L32
00B4 L31:
00B4 .dbline 86
00B4 .dbline 88
00B4 4395 inc R20
00B6 .dbline 89
00B6 45BB out 0x15,R20
00B8 .dbline 91
00B8 03E0 ldi R16,3
00BA 10E0 ldi R17,0
00BC 00D0 rcall _OSTimeDly
00BE .dbline 92
00BE L32:
00BE .dbline 85
00BE FACF rjmp L31
00C0 X2:
00C0 .dbline -2
00C0 .dbline 93
00C0 ; while(1)
00C0 ; {
00C0 ; // SEI();
00C0 ; i++;
00C0 ; PORTC=i;
00C0 ; // task_Delay();
00C0 ; OSTimeDly(3);
00C0 ; }
00C0 ; }
00C0 L30:
00C0 00D0 rcall pop_gset2
00C2 .dbline 0 ; func end
00C2 0895 ret
00C4 .dbsym r i 20 c
00C4 .dbsym r pdata 22 pV
00C4 .dbend
00C4 .dbfunc e task3 _task3 fV
00C4 ; pdata -> R16,R17
.even
00C4 _task3::
00C4 .dbline -1
00C4 .dbline 96
00C4 ;
00C4 ; void task3(void *pdata)
00C4 ; {
00C4 02C0 rjmp L36
00C6 L35:
00C6 .dbline 98
00C6 .dbline 99
00C6 7894 sei
00C8 .dbline 100
00C8 0000 nop
00CA .dbline 101
00CA L36:
00CA .dbline 97
00CA FDCF rjmp L35
00CC X3:
00CC .dbline -2
00CC .dbline 102
00CC ; while(1)
00CC ; {
00CC ; SEI();
00CC ; asm("nop");
00CC ; }
00CC ; }
00CC L34:
00CC .dbline 0 ; func end
00CC 0895 ret
00CE .dbsym r pdata 16 pV
00CE .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -