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

📄 cdbfileformat.txt

📁 This a FREE tool chain which compiles C codes into 8051 binary code, converts the binary to RTL ROM,
💻 TXT
📖 第 1 页 / 共 3 页
字号:
|      

L        | 

Link record type indicator                                            |
+-----------------+-------------------------------------------------------------------------+
|      

C        | 

Link assembly file line record sub type indicator                     |
+-----------------+-------------------------------------------------------------------------+
|  

<Filename>   | 

Filename of the assembly file.                                        |
+-----------------+-------------------------------------------------------------------------+
|    

<Line>     | 

Line number in the above filename. These numbers start 
at 1 (not 0). |
+-----------------+-------------------------------------------------------------------------+
|   

<Level>     | 

Current level at this line and address.                               |
+-----------------+-------------------------------------------------------------------------+
|   

<Block>     | 

Current block at this line and address.                               |
+-----------------+-------------------------------------------------------------------------+
| 

<EndAddress>  | 

End address                                                           |
+-----------------+-------------------------------------------------------------------------+


Purpose

The linker C-Line record is used to bind the execution 
address with a source file, line number and the level, 
block information.

The following is an example source module with its 
lines showing the corresponding C-Line Records. You 
will notice in this example that there are no line 
entries for lines 18, 19. This is because the code was 
optimized and removed.

  

01    

                        

                                         
  

02    

                        

struct complex                           
  

03    

                        

{                                        
  

04    

                        

  int count;                             
  

05    

                        

  int Max;                               
  

06    

                        

};                                       
  

07    

                        

                                         
  

08    

L:C$vars.c$8$0$0:38     

void main(void)                          
  

09    

                        

{                                        
  

10    

                        

  int iterA;                             
  

11    

                        

  int iterB;                             
  

12    

                        

  struct complex myStruct;               
  

13    

                        

                                         
  

14    

L:C$vars.c$14$1$1:C1    

  for(iterA = 0; iterA < 10; iterA++)    
  

15    

                        

  {                                      
  

16    

L:C$vars.c$16$2$2:B9    

    for(iterB = 0; iterB < 10; iterB++)  
  

17    

                        

    {                                    
  

18    

                        

      int iterA = 6 + iterB;             
  

19    

                        

      iterA++;                           
  

20    

                        

                                         
  

21    

L:C$vars.c$21$1$1:69    

      myStruct.count++;                  
  

22    

                        

                                         
  

23    

L:C$vars.c$23$3$3:83    

      if(myStruct.count > myStruct.Max)  
  

24    

L:C$vars.c$24$3$3:A3    

        myStruct.Max = mystruct.count;   
  

25    

                        

    }                                    
  

26    

                        

  }                                      
  

27    

L:C$vars.c$27$1$1:CE    

}                                        


Example

L:C$max1270.c$35$1$1:CA9
L:C$Timer0.c$20$1$1:D9D

5 Source File Example 

sfr IM = 0x90;



struct complex

{

  int count;

  int Max;

};



void main(void)

{

  int iterA;

  int iterB;

  struct complex myStruct;



  for(iterA = 0; iterA < 10; iterA++)

  {

    for(iterB = 0; iterB < 10; iterB++) 

    {

      int iterA = 6 + iterB;

      iterA++;



      myStruct.count++;

 

      IM = iterA;



      if(myStruct.count > myStruct.Max)

        myStruct.Max = myStruct.count;

    }

  }

}

6 CDB File Example

M:vars
F:G$main$0$0({2}DF,SV:S),C,0,0,0,0,0

















T:Fvars$complex[({0}S:S$count$0$0({2}SI:S),Z,0,0)({2}S:S$Max$0$0({2}SI:S),Z,0,0)]

S:Lmain$iterA$1$1({2}SI:S),R,0,0,[r0,r1]

S:Lmain$iterB$1$1({2}SI:S),R,0,0,[r4,r5]

S:Lmain$myStruct$1$1({4}STcomplex:S),E,0,0

S:Lmain$iterA$3$3({2}SI:S),R,0,0,[r6,r7]
S:G$IM$0$0({1}SC:U),I,0,0

S:G$main$0$0({2}DF,SV:S),C,0,0
L:G$IM$0$0:90
L:Lmain$myStruct$1$1:8

L:A$vars$64:0
L:A$vars$65:3
L:A$vars$67:B
L:A$vars$69:13

L:A$vars$71:1B
L:A$vars$73:23
L:A$vars$75:2B
L:A$vars$129:33

L:A$vars$131:36
L:A$vars$158:38
L:C$vars.c$10$0$0:38
L:G$main$0$0:38

L:A$vars$159:3A
L:A$vars$163:3C
L:A$vars$164:3D
L:A$vars$165:3E

L:A$vars$166:40
L:A$vars$167:41
L:A$vars$168:43
L:A$vars$170:45

L:A$vars$171:47
L:A$vars$176:4A
L:A$vars$177:4C
L:A$vars$181:4E

L:A$vars$182:4F
L:A$vars$183:50
L:A$vars$184:52
L:A$vars$185:53

L:A$vars$186:55
L:A$vars$191:57
L:A$vars$196:59
L:C$vars.c$20$3$3:59

L:A$vars$197:5B
L:A$vars$198:5D
L:A$vars$200:5E
L:A$vars$201:5F

L:A$vars$202:61
L:A$vars$207:62
L:C$vars.c$21$3$3:62
L:A$vars$208:63

L:A$vars$209:66
L:A$vars$216:67
L:C$vars.c$23$3$3:67
L:A$vars$217:69

L:A$vars$220:6B
L:A$vars$221:6C
L:A$vars$222:6F
L:A$vars$227:70

L:A$vars$228:72
L:A$vars$232:74
L:C$vars.c$25$3$3:74
L:A$vars$238:76

L:C$vars.c$27$3$3:76
L:A$vars$239:77
L:A$vars$240:79
L:A$vars$241:7A

L:A$vars$242:7C
L:A$vars$243:7E
L:A$vars$244:80
L:A$vars$245:83

L:A$vars$248:85
L:A$vars$256:87
L:C$vars.c$28$3$3:87
L:A$vars$257:8A

L:A$vars$263:8D
L:C$vars.c$18$2$2:8D
L:A$vars$264:8E
L:A$vars$265:91

L:A$vars$268:92
L:A$vars$274:94
L:C$vars.c$16$1$1:94
L:A$vars$275:95

L:A$vars$276:98
L:A$vars$278:99
L:A$vars$282:9C
L:C$vars.c$31$1$1:9C

L:XG$main$0$0:9C
L:A$vars$84:A1
L:A$vars$85:A4
L:A$vars$86:A7

L:A$vars$87:A9
L:A$vars$88:AB
L:A$vars$91:AE
L:A$vars$92:B0

L:A$vars$93:B2
L:A$vars$94:B4
L:A$vars$95:B6
L:A$vars$96:B8

L:A$vars$97:B9
L:A$vars$98:BB
L:A$vars$99:BD
L:A$vars$100:BE

L:A$vars$101:C1
L:A$vars$102:C3
L:A$vars$103:C6
L:A$vars$104:C7

L:A$vars$105:C8
L:A$vars$106:C9
L:A$vars$107:CA
L:A$vars$108:CB

L:A$vars$109:CE
L:A$vars$110:D0
L:A$vars$111:D2
L:A$vars$112:D5

L:A$vars$113:D7
L:A$vars$114:DA
L:A$vars$118:DD

⌨️ 快捷键说明

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