📄 mytask.lst
字号:
C166 COMPILER V6.04, MYTASK 08/29/2006 12:26:02 PAGE 1
C166 COMPILER V6.04, COMPILATION OF MODULE MYTASK
OBJECT MODULE PLACED IN mytask.obj
COMPILER INVOKED BY: C:\Keil\C166\BIN\C166.EXE mytask\mytask.c MODV2 LARGE BROWSE MODV2 DEBUG CODE PRINT(.\mytask.lst) O
-BJECT(mytask.obj)
stmt lvl source
1 #include "mytask.h"
2
3 /*********************************************************************************************************
-*********
4 @Function void MAIN_vUnlockProtecReg(void)
5
6 ----------------------------------------------------------------------------------------------------------
----------
7 @Description This function makes it possible to write one protected
8 register. After calling of this function and write on the
9 protected register is the security level set to low
10 protected mode.
11
12
13 **********************************************************************************************************
-**********/
14
15 // USER CODE BEGIN (UnlockProtecReg,1)
16
17 // USER CODE END
18
19 void MAIN_vUnlockProtecReg(void)
20 {
21 1 INT8U ubPASSWORD;
22 1
23 1 if((SCUSLS & 0x1800) == 0x0800) // if low protected mode
24 1 {
25 2
26 2 ubPASSWORD = SCUSLS & 0x00FF;
*** WARNING C192 IN LINE 26 OF MYTASK\MYTASK.C: '=': value truncated
27 2 ubPASSWORD = ~ubPASSWORD;
28 2 SCUSLC = 0x8E00 | ubPASSWORD; // command 4
29 2
30 2 } // end if low protected mode
31 1
32 1 if((SCUSLS & 0x1800) == 0x1800) // if write protected mode
33 1 {
34 2 SCUSLC = 0xAAAA; // command 0
35 2 SCUSLC = 0x5554; // command 1
36 2
37 2 ubPASSWORD = SCUSLS & 0x00FF;
*** WARNING C192 IN LINE 37 OF MYTASK\MYTASK.C: '=': value truncated
38 2 ubPASSWORD = ~ubPASSWORD;
39 2
40 2 SCUSLC = 0x9600 | ubPASSWORD; // command 2
41 2 SCUSLC = 0x0800; // command 3; new PASSWOR is 0x00
42 2
43 2 ubPASSWORD = SCUSLS & 0x00FF;
*** WARNING C192 IN LINE 43 OF MYTASK\MYTASK.C: '=': value truncated
44 2 ubPASSWORD = ~ubPASSWORD;
45 2 SCUSLC = 0x8E00 | ubPASSWORD; // command 4
46 2
47 2 } // end if write protected mode
48 1
C166 COMPILER V6.04, MYTASK 08/29/2006 12:26:02 PAGE 2
49 1 } // End of function MAIN_vUnlockProtecReg
50
51
52
53 void DemoTask(void *pdata)
54 {
55 1
56 1 INT32U i;
57 1 pdata = pdata;
58 1
59 1 while(1)
60 1 {
61 2 for(i=0; i<3000000; i++); //delay time
62 2 // LED_off; //control the led
63 2 OSSemPost(FirstSem);
64 2 }
65 1 }
66
67 void TestTask(void *pdata)
68 {
69 1
70 1 INT8U err;
71 1 INT32U i;
72 1 pdata = pdata;
73 1 while (1)
74 1 {
75 2 OSSemPend(FirstSem, 0, &err);
76 2 for(i=0; i<3000000; i++); //delay time
77 2 // LED_on; //control the led
78 2 }
79 1 }
80
81
C166 COMPILER V6.04, MYTASK 08/29/2006 12:26:02 PAGE 3
ASSEMBLY LISTING OF GENERATED OBJECT CODE
; FUNCTION MAIN_vUnlockProtecReg (BEGIN RMASK = @0x4030)
; SOURCE LINE # 19
;---- Variable 'ubPASSWORD' assigned to Register 'RL5' ----
; SOURCE LINE # 20
; SOURCE LINE # 23
0000 F2F4C2F0 MOV R4,SCUSLS
0004 66F40018 AND R4,#01800H
0008 46F40008 CMP R4,#0800H
000C 3D0B JMPR cc_NZ,?C0001
; SOURCE LINE # 26
000E F2F4C2F0 MOV R4,SCUSLS
0012 66F4FF00 AND R4,#0FFH
0016 F1A8 MOVB RL5,RL4
; SOURCE LINE # 27
0018 B1A0 CPLB RL5
; SOURCE LINE # 28
001A C0A4 MOVBZ R4,RL5
001C 76F4008E OR R4,#08E00H
0020 F6F4C0F0 MOV SCUSLC,R4
; SOURCE LINE # 30
0024 ?C0001:
; SOURCE LINE # 32
0024 F2F4C2F0 MOV R4,SCUSLS
0028 66F40018 AND R4,#01800H
002C 46F40018 CMP R4,#01800H
0030 3D1E JMPR cc_NZ,?C0002
; SOURCE LINE # 34
0032 D190 EXTR #02H
0034 E660AAAA MOV SCUSLC,#0AAAAH
; SOURCE LINE # 35
0038 E6605455 MOV SCUSLC,#05554H
; SOURCE LINE # 37
003C F2F4C2F0 MOV R4,SCUSLS
0040 66F4FF00 AND R4,#0FFH
0044 F1A8 MOVB RL5,RL4
; SOURCE LINE # 38
0046 B1A0 CPLB RL5
; SOURCE LINE # 40
0048 C0A4 MOVBZ R4,RL5
004A 76F40096 OR R4,#09600H
004E F6F4C0F0 MOV SCUSLC,R4
; SOURCE LINE # 41
0052 D180 EXTR #01H
0054 E6600008 MOV SCUSLC,#0800H
; SOURCE LINE # 43
0058 F2F4C2F0 MOV R4,SCUSLS
005C 66F4FF00 AND R4,#0FFH
0060 F1A8 MOVB RL5,RL4
; SOURCE LINE # 44
0062 B1A0 CPLB RL5
; SOURCE LINE # 45
0064 C0A4 MOVBZ R4,RL5
0066 76F4008E OR R4,#08E00H
006A F6F4C0F0 MOV SCUSLC,R4
; SOURCE LINE # 47
006E ?C0002:
006E DB00 RETS
; FUNCTION MAIN_vUnlockProtecReg (END RMASK = @0x4030)
C166 COMPILER V6.04, MYTASK 08/29/2006 12:26:02 PAGE 4
; FUNCTION DemoTask (BEGIN RMASK = @0x7FFF)
; SOURCE LINE # 53
;---- Variable 'pdata' assigned to Register 'R8/R9' ----
; SOURCE LINE # 54
; SOURCE LINE # 59
; SOURCE LINE # 61
0070 ?C0011:
0070 E006 MOV R6,#00H
0072 E007 MOV R7,#00H
;---- Variable 'i' assigned to Register 'R6/R7' ----
0074 ?C0007:
0074 0861 ADD R6,#01H
0076 1870 ADDC R7,#00H
0078 F046 MOV R4,R6
007A F057 MOV R5,R7
007C 26F4C0C6 SUB R4,#0C6C0H
0080 36F52D00 SUBC R5,#02DH
0084 8DF7 JMPR cc_ULT,?C0007
0086 ?C0008:
; SOURCE LINE # 63
0086 F2F90200 R MOV R9,FirstSem+02H
008A F2F80000 R MOV R8,FirstSem
008E DA000000 E CALLS SEG (OSSemPost),OSSemPost
; SOURCE LINE # 64
0092 0DEE JMPR cc_UC,?C0011
; FUNCTION DemoTask (END RMASK = @0x7FFF)
; FUNCTION TestTask (BEGIN RMASK = @0x7FFF)
; SOURCE LINE # 67
0094 ECFE PUSH R14
0096 ECFF PUSH R15
;---- Variable 'pdata' assigned to Register 'R8/R9' ----
0098 2802 SUB R0,#02H
; SOURCE LINE # 68
; SOURCE LINE # 73
009A ?C0014:
; SOURCE LINE # 75
009A F0B0 MOV R11,R0
009C 66FBFF3F AND R11,#03FFFH
00A0 F2FC04FE MOV R12,DPP2
00A4 E00A MOV R10,#00H
00A6 F2F90200 R MOV R9,FirstSem+02H
00AA F2F80000 R MOV R8,FirstSem
00AE DA000000 E CALLS SEG (OSSemPend),OSSemPend
; SOURCE LINE # 76
00B2 E00E MOV R14,#00H
00B4 E00F MOV R15,#00H
;---- Variable 'i' assigned to Register 'R14/R15' ----
00B6 ?C0016:
00B6 08E1 ADD R14,#01H
00B8 18F0 ADDC R15,#00H
00BA F04E MOV R4,R14
00BC F05F MOV R5,R15
00BE 26F4C0C6 SUB R4,#0C6C0H
00C2 36F52D00 SUBC R5,#02DH
00C6 8DF7 JMPR cc_ULT,?C0016
00C8 ?C0017:
; SOURCE LINE # 78
00C8 0DE8 JMPR cc_UC,?C0014
; FUNCTION TestTask (END RMASK = @0x7FFF)
C166 COMPILER V6.04, MYTASK 08/29/2006 12:26:02 PAGE 5
MODULE INFORMATION: INITIALIZED UNINITIALIZED
CODE SIZE = 202 --------
NEAR-CONST SIZE = -------- --------
FAR-CONST SIZE = -------- --------
HUGE-CONST SIZE = -------- --------
XHUGE-CONST SIZE = -------- --------
NEAR-DATA SIZE = 4 --------
FAR-DATA SIZE = -------- --------
XHUGE-DATA SIZE = -------- --------
IDATA-DATA SIZE = -------- --------
SDATA-DATA SIZE = -------- --------
BDATA-DATA SIZE = -------- --------
HUGE-DATA SIZE = -------- --------
BIT SIZE = -------- --------
INIT'L SIZE = -------- --------
END OF MODULE INFORMATION.
C166 COMPILATION COMPLETE. 3 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -