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

📄 test_func.lis

📁 ucos-ii-at90S-icc-avr
💻 LIS
📖 第 1 页 / 共 2 页
字号:
                        .module test_func.c
                        .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\test_func.c
 0000                   .dbfunc e myOSTimeDly _myOSTimeDly fV
 0000           ;              p -> R22,R23
 0000           ;          ticks -> R20,R21
                        .even
 0000           _myOSTimeDly::
 0000 00D0              rcall push_gset2
 0002 402F              mov R20,R16
 0004 512F              mov R21,R17
 0006                   .dbline -1
 0006                   .dbline 4
 0006           ; #include "includes.h"
 0006           ; 
 0006           ; void myOSTimeDly (INT16U ticks)
 0006           ; {
 0006                   .dbline 6
 0006           ;   /*OSTCBCur*/
 0006           ;   OS_TCB      *p=OSTCBCur;
 0006 60910000          lds R22,_OSTCBCur
 000A 70910100          lds R23,_OSTCBCur+1
 000E                   .dbline 7
 000E           ;   if( ((OS_TCB*)0)==p)
 000E 6030              cpi R22,0
 0010 6707              cpc R22,R23
 0012 11F4              brne L4
 0014           X0:
 0014                   .dbline 8
 0014           ;   {
 0014                   .dbline 9
 0014           ;     ProgramError();
 0014 9BD0              rcall _ProgramError
 0016                   .dbline 10
 0016           ;       return;
 0016 03C0              rjmp L3
 0018           L4:
 0018                   .dbline 12
 0018           ;   }
 0018           ;   OSTimeDly(ticks);
 0018 042F              mov R16,R20
 001A 152F              mov R17,R21
 001C 00D0              rcall _OSTimeDly
 001E                   .dbline -2
 001E                   .dbline 13
 001E           ; }
 001E           L3:
 001E 00D0              rcall pop_gset2
 0020                   .dbline 0 ; func end
 0020 0895              ret
 0022                   .dbsym r p 22 pX
 0022                   .dbsym r ticks 20 i
 0022                   .dbend
 0022                   .dbfunc e Flash_Port _Flash_Port fV
 0022           ;      port_foot -> R22
 0022           ;          port_ -> R20
                        .even
 0022           _Flash_Port::
 0022 00D0              rcall push_gset2
 0024 622F              mov R22,R18
 0026 402F              mov R20,R16
 0028                   .dbline -1
 0028                   .dbline 18
 0028           ; 
 0028           ; /* flash port*/
 0028           ; void Flash_Port(unsigned char port_,
 0028           ;        unsigned char port_foot)
 0028           ; {
 0028                   .dbline 19
 0028           ;   OS_ENTER_CRITICAL();
 0028 0A93              st -y,r16
 002A 0FB7               in r16,0x3f
 002C F894               cli
 002E 0F93               push r16
 0030 0991              ld r16,y+
 0032                   .dbline 19
 0032                   .dbline 20
 0032           ;   if(PORT_TO_FLASH_B==port_)
 0032 4423              tst R20
 0034 21F4              brne L7
 0036                   .dbline 21
 0036           ;   {
 0036                   .dbline 22
 0036           ;   DDRB = 0xff;
 0036 8FEF              ldi R24,255
 0038 87BB              out 0x17,R24
 003A                   .dbline 23
 003A           ;   PORTB = port_foot;
 003A 68BB              out 0x18,R22
 003C                   .dbline 24
 003C           ;   }else
 003C 03C0              rjmp L8
 003E           L7:
 003E                   .dbline 25
 003E           ;   {
 003E                   .dbline 26
 003E           ;   DDRC = 0xff;
 003E 8FEF              ldi R24,255
 0040 84BB              out 0x14,R24
 0042                   .dbline 27
 0042           ;   PORTC = port_foot;
 0042 65BB              out 0x15,R22
 0044                   .dbline 28
 0044           ;   }
 0044           L8:
 0044                   .dbline 29
 0044           ;   OS_EXIT_CRITICAL();
 0044 0A93              st -y,r16
 0046 0F91              pop r16
 0048 0FBF               out 0x3F,r16
 004A 0991              ld r16,y+
 004C                   .dbline 29
 004C                   .dbline 30
 004C           ;   Delay(DELAY_COUNT);         
 004C 0AE0              ldi R16,10
 004E 10E0              ldi R17,0
 0050 21D0              rcall _Delay
 0052                   .dbline 32
 0052           ;   
 0052           ;   OS_ENTER_CRITICAL();
 0052 0A93              st -y,r16
 0054 0FB7               in r16,0x3f
 0056 F894               cli
 0058 0F93               push r16
 005A 0991              ld r16,y+
 005C                   .dbline 32
 005C                   .dbline 33
 005C           ;   if(PORT_TO_FLASH_B==port_)
 005C 4423              tst R20
 005E 21F4              brne L9
 0060                   .dbline 34
 0060           ;   {
 0060                   .dbline 35
 0060           ;   DDRB = 0xff;
 0060 8FEF              ldi R24,255
 0062 87BB              out 0x17,R24
 0064                   .dbline 36
 0064           ;   PORTB = 0xff;
 0064 88BB              out 0x18,R24
 0066                   .dbline 37
 0066           ;   }else
 0066 03C0              rjmp L10
 0068           L9:
 0068                   .dbline 38
 0068           ;   {
 0068                   .dbline 39
 0068           ;   DDRC = 0xff;
 0068 8FEF              ldi R24,255
 006A 84BB              out 0x14,R24
 006C                   .dbline 40
 006C           ;   PORTC = 0xff;
 006C 85BB              out 0x15,R24
 006E                   .dbline 41
 006E           ;   }
 006E           L10:
 006E                   .dbline 42
 006E           ;   OS_EXIT_CRITICAL();
 006E 0A93              st -y,r16
 0070 0F91              pop r16
 0072 0FBF               out 0x3F,r16
 0074 0991              ld r16,y+
 0076                   .dbline 42
 0076                   .dbline 43
 0076           ;   Delay(DELAY_COUNT);          
 0076 0AE0              ldi R16,10
 0078 10E0              ldi R17,0
 007A 0CD0              rcall _Delay
 007C                   .dbline -2
 007C                   .dbline 44
 007C           ; }
 007C           L6:
 007C 00D0              rcall pop_gset2
 007E                   .dbline 0 ; func end
 007E 0895              ret
 0080                   .dbsym r port_foot 22 c
 0080                   .dbsym r port_ 20 c
 0080                   .dbend
 0080                   .dbfunc e test_OSTickISR0 _test_OSTickISR0 fV
 0080           ;             b1 -> <dead>
                        .even
 0080           _test_OSTickISR0::
 0080                   .dbline -1
 0080                   .dbline 48
 0080           ; 
 0080           ; /* test timer isr,flash PORT C 2*/
 0080           ; void test_OSTickISR0()
 0080           ; {
 0080                   .dbline 51
 0080           ;   unsigned char b1;
 0080           ;   /*reset timer*/
 0080           ;   TCNT0 =256-(7372800/50/1024);  /* ; Reload timer to overflow at a rate of 50Hz*/
 0080 80E7              ldi R24,112
 0082 82BF              out 0x32,R24
 0084                   .dbline 53
 0084           ;   /*flash port A.2*/
 0084           ;   FLASH_PORT_B2();
 0084 2BEF              ldi R18,251
 0086 0027              clr R16
 0088 CCDF              rcall _Flash_Port
 008A                   .dbline 55
 008A           ;   /*enable global interrupt*/
 008A           ;   OS_EXIT_CRITICAL();
 008A 0A93              st -y,r16
 008C 0F91              pop r16
 008E 0FBF               out 0x3F,r16
 0090 0991              ld r16,y+
 0092                   .dbline 55
 0092                   .dbline -2
 0092                   .dbline 56
 0092           ; }
 0092           L11:
 0092                   .dbline 0 ; func end
 0092 0895              ret
 0094                   .dbsym l b1 1 c
 0094                   .dbend
 0094                   .dbfunc e Delay _Delay fV
 0094           ;              i -> R20
 0094           ;              j -> R10
 0094           ;              k -> R12
 0094           ;           loop -> R22,R23
                        .even
 0094           _Delay::
 0094 00D0              rcall push_gset4
 0096 602F              mov R22,R16
 0098 712F              mov R23,R17
 009A                   .dbline -1
 009A                   .dbline 59
 009A           ; 
 009A           ; void Delay(int loop)
 009A           ; {
 009A                   .dbline 63
 009A           ;   unsigned char i,j,k;
 009A           ; /*  myOSTimeDly(1);return;*/
 009A           ; /*  myOSTimeDly(OS_TICKS_PER_SEC);  return;*/
 009A           ;   for(i=1;i<loop;i++)
 009A 41E0              ldi R20,1
 009C 10C0              rjmp L16
 009E           L13:
 009E                   .dbline 64
 009E           ;   {
 009E                   .dbline 65
 009E           ;     myOSTimeDly(1);
 009E 01E0              ldi R16,1
 00A0 10E0              ldi R17,0
 00A2 AEDF              rcall _myOSTimeDly
 00A4                   .dbline 66
 00A4           ;   for(j=1;j;j++)
 00A4 AA24              clr R10
 00A6 A394              inc R10
 00A8 07C0              rjmp L20
 00AA           L17:
 00AA                   .dbline 67
 00AA           ;   {
 00AA                   .dbline 68
 00AA           ;     for(k=1;k;k++)
 00AA CC24              clr R12
 00AC C394              inc R12
 00AE 01C0              rjmp L24
 00B0           L21:
 00B0                   .dbline 69
 00B0           L22:
 00B0                   .dbline 68
 00B0 C394              inc R12
 00B2           L24:
 00B2                   .dbline 68
 00B2 CC20              tst R12
 00B4 E9F7              brne L21
 00B6                   .dbline 70
 00B6           L18:
 00B6                   .dbline 66
 00B6 A394              inc R10
 00B8           L20:
 00B8                   .dbline 66
 00B8 AA20              tst R10
 00BA B9F7              brne L17
 00BC                   .dbline 71
 00BC           L14:
 00BC                   .dbline 63
 00BC 4395              inc R20
 00BE           L16:
 00BE                   .dbline 63
 00BE 242E              mov R2,R20
 00C0 3324              clr R3
 00C2 2616              cp R2,R22
 00C4 3706              cpc R3,R23
 00C6 5CF3              brlt L13
 00C8                   .dbline -2
 00C8                   .dbline 72
 00C8           ;       ;
 00C8           ;   }
 00C8           ;   }
 00C8           ; }
 00C8           L12:
 00C8 00D0              rcall pop_gset4
 00CA                   .dbline 0 ; func end
 00CA 0895              ret
 00CC                   .dbsym r i 20 c
 00CC                   .dbsym r j 10 c
 00CC                   .dbsym r k 12 c
 00CC                   .dbsym r loop 22 I
 00CC                   .dbend
 00CC                   .dbfunc e Delay_Real _Delay_Real fV
 00CC           ;              i -> R20
 00CC           ;              j -> R22
 00CC           ;              k -> R10
 00CC           ;           loop -> R16,R17
                        .even
 00CC           _Delay_Real::
 00CC 00D0              rcall push_gset3
 00CE                   .dbline -1
 00CE                   .dbline 75
 00CE           ; 
 00CE           ; void Delay_Real(int loop)
 00CE           ; {
 00CE                   .dbline 77
 00CE           ;   unsigned char i,j,k;
 00CE           ;   for(i=1;i<loop;i++)
 00CE 41E0              ldi R20,1
 00D0 0CC0              rjmp L29
 00D2           L26:
 00D2                   .dbline 78
 00D2           ;   {
 00D2                   .dbline 79
 00D2           ;   for(j=1;j;j++)
 00D2 61E0              ldi R22,1
 00D4 07C0              rjmp L33
 00D6           L30:

⌨️ 快捷键说明

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