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

📄 pwr_c.txt

📁 支持三星原产的S3C24A0开发板
💻 TXT
📖 第 1 页 / 共 5 页
字号:
;;;723            /* then */
;;;724          *Enum_Ref_Par = Ident_1;
000848  e3a00000          MOV      r0,#0
00084c  e5c30000          STRB     r0,[r3,#0]
000850  ea000001          B        |L1.2140|
;;;725          else *Enum_Ref_Par = Ident_4;
                  |L1.2132|
000854  e3a00003          MOV      r0,#3
000858  e5c30000          STRB     r0,[r3,#0]
;;;726          break;
                  |L1.2140|
00085c  ea000006          B        |L1.2172|
;;;727        case Ident_3: /* executed */
;;;728          *Enum_Ref_Par = Ident_2;
                  |L1.2144|
000860  e3a00001          MOV      r0,#1
000864  e5c30000          STRB     r0,[r3,#0]
;;;729          break;
000868  ea000003          B        |L1.2172|
;;;730        case Ident_4: break;
                  |L1.2156|
00086c  ea000002          B        |L1.2172|
;;;731        case Ident_5: 
;;;732          *Enum_Ref_Par = Ident_3;
                  |L1.2160|
000870  e3a00002          MOV      r0,#2
000874  e5c30000          STRB     r0,[r3,#0]
;;;733          break;
000878  e1a00000          NOP      
;;;734      } /* switch */
;;;735    } /* Proc_6 */
                  |L1.2172|
00087c  e8bd8010          LDMFD    sp!,{r4,pc}
                          ENDP

                  Func_1 PROC
;;;791    Capital_Letter   Ch_2_Par_Val;
;;;792    {
000880  e92d4010          STMFD    sp!,{r4,lr}
000884  e1a02000          MOV      r2,r0
000888  e202c0ff          AND      r12,r2,#0xff          ;790
00088c  e201e0ff          AND      lr,r1,#0xff           ;790
;;;793      Capital_Letter        Ch_1_Loc;
;;;794      Capital_Letter        Ch_2_Loc;
;;;795    
;;;796      Ch_1_Loc = Ch_1_Par_Val;
000890  e1a0300c          MOV      r3,r12
;;;797      Ch_2_Loc = Ch_1_Loc;
000894  e1a04003          MOV      r4,r3
;;;798      if (Ch_2_Loc != Ch_2_Par_Val)
000898  e1a03004          MOV      r3,r4
00089c  e154000e          CMP      r4,lr
0008a0  0a000001          BEQ      |L1.2220|
;;;799        /* then, executed */
;;;800        return (Ident_1);
0008a4  e3a00000          MOV      r0,#0
;;;801      else  /* not executed */
;;;802      {
;;;803        Ch_1_Glob = Ch_1_Loc;
;;;804        return (Ident_2);
;;;805       }
;;;806    } /* Func_1 */
                  |L1.2216|
0008a8  e8bd8010          LDMFD    sp!,{r4,pc}
                  |L1.2220|
0008ac  e59f049c          LDR      r0,|L1.3408|          ;803
0008b0  e5c03000          STRB     r3,[r0,#0]            ;803  ; Ch_1_Glob
0008b4  e3a00001          MOV      r0,#1                 ;804
0008b8  eafffffa          B        |L1.2216|             ;804
                          ENDP

                  Proc_7 PROC
;;;749    One_Fifty      *Int_Par_Ref;
;;;750    {
0008bc  e2803002          ADD      r3,r0,#2
;;;751      One_Fifty Int_Loc;
;;;752    
;;;753      Int_Loc = Int_1_Par_Val + 2;
;;;754      *Int_Par_Ref = Int_2_Par_Val + Int_Loc;
0008c0  e081c003          ADD      r12,r1,r3
0008c4  e582c000          STR      r12,[r2,#0]
;;;755    } /* Proc_7 */
0008c8  e12fff1e          BX       lr
                          ENDP

                  Proc_3 PROC
;;;634    
;;;635    {
0008cc  e92d4010          STMFD    sp!,{r4,lr}
0008d0  e1a04000          MOV      r4,r0
;;;636      if (Ptr_Glob != Null)
0008d4  e59f047c          LDR      r0,|L1.3416|
0008d8  e5900000          LDR      r0,[r0,#0]  ; Ptr_Glob
0008dc  e3500000          CMP      r0,#0
0008e0  0a000003          BEQ      |L1.2292|
;;;637        /* then, executed */
;;;638        *Ptr_Ref_Par = Ptr_Glob->Ptr_Comp;
0008e4  e59f046c          LDR      r0,|L1.3416|
0008e8  e5900000          LDR      r0,[r0,#0]  ; Ptr_Glob
0008ec  e5900000          LDR      r0,[r0,#0]
0008f0  e5840000          STR      r0,[r4,#0]
;;;639      Proc_7 (10, Int_Glob, &Ptr_Glob->variant.var_1.Int_Comp);
                  |L1.2292|
0008f4  e59f045c          LDR      r0,|L1.3416|
0008f8  e5900000          LDR      r0,[r0,#0]  ; Ptr_Glob
0008fc  e280200c          ADD      r2,r0,#0xc
000900  e59f044c          LDR      r0,|L1.3412|
000904  e5901000          LDR      r1,[r0,#0]  ; Int_Glob
000908  e3a0000a          MOV      r0,#0xa
00090c  ebfffffe          BL       Proc_7
;;;640    } /* Proc_3 */
000910  e8bd8010          LDMFD    sp!,{r4,pc}
                          ENDP

                  Proc_1 PROC
;;;575        /* executed once */
;;;576    {
000914  e92d4038          STMFD    sp!,{r3-r5,lr}
000918  e1a05000          MOV      r5,r0
;;;577      REG Rec_Pointer Next_Record = Ptr_Val_Par->Ptr_Comp;  
00091c  e5954000          LDR      r4,[r5,#0]
;;;578                                            /* == Ptr_Glob_Next */
;;;579      /* Local variable, initialized with Ptr_Val_Par->Ptr_Comp,    */
;;;580      /* corresponds to "rename" in Ada, "with" in Pascal           */
;;;581      
;;;582      structassign (*Ptr_Val_Par->Ptr_Comp, *Ptr_Glob); 
000920  e3a02030          MOV      r2,#0x30
000924  e59f142c          LDR      r1,|L1.3416|
000928  e5950000          LDR      r0,[r5,#0]
00092c  e5911000          LDR      r1,[r1,#0]  ; Ptr_Glob
000930  ebfffffe          BL       __rt_memcpy_w
;;;583      Ptr_Val_Par->variant.var_1.Int_Comp = 5;
000934  e3a00005          MOV      r0,#5
000938  e585000c          STR      r0,[r5,#0xc]
;;;584      Next_Record->variant.var_1.Int_Comp 
00093c  e595000c          LDR      r0,[r5,#0xc]
000940  e584000c          STR      r0,[r4,#0xc]
;;;585            = Ptr_Val_Par->variant.var_1.Int_Comp;
;;;586      Next_Record->Ptr_Comp = Ptr_Val_Par->Ptr_Comp;
000944  e5950000          LDR      r0,[r5,#0]
000948  e5840000          STR      r0,[r4,#0]
;;;587      Proc_3 (&Next_Record->Ptr_Comp);
00094c  e1a00004          MOV      r0,r4
000950  ebfffffe          BL       Proc_3
;;;588        /* Ptr_Val_Par->Ptr_Comp->Ptr_Comp 
;;;589                            == Ptr_Glob->Ptr_Comp */
;;;590      if (Next_Record->Discr == Ident_1)
000954  e5d40004          LDRB     r0,[r4,#4]
000958  e3500000          CMP      r0,#0
00095c  1a00000d          BNE      |L1.2456|
;;;591        /* then, executed */
;;;592      {
;;;593        Next_Record->variant.var_1.Int_Comp = 6;
000960  e3a00006          MOV      r0,#6
000964  e584000c          STR      r0,[r4,#0xc]
;;;594        Proc_6 (Ptr_Val_Par->variant.var_1.Enum_Comp, 
000968  e5d50008          LDRB     r0,[r5,#8]
00096c  e2841008          ADD      r1,r4,#8
000970  ebfffffe          BL       Proc_6
;;;595               &Next_Record->variant.var_1.Enum_Comp);
;;;596        Next_Record->Ptr_Comp = Ptr_Glob->Ptr_Comp;
000974  e59f03dc          LDR      r0,|L1.3416|
000978  e5900000          LDR      r0,[r0,#0]  ; Ptr_Glob
00097c  e5900000          LDR      r0,[r0,#0]
000980  e5840000          STR      r0,[r4,#0]
;;;597        Proc_7 (Next_Record->variant.var_1.Int_Comp, 10, 
000984  e594000c          LDR      r0,[r4,#0xc]
000988  e284200c          ADD      r2,r4,#0xc
00098c  e3a0100a          MOV      r1,#0xa
000990  ebfffffe          BL       Proc_7
000994  ea000003          B        |L1.2472|
;;;598               &Next_Record->variant.var_1.Int_Comp);
;;;599      }
;;;600      else /* not executed */
;;;601        structassign (*Ptr_Val_Par, *Ptr_Val_Par->Ptr_Comp);
                  |L1.2456|
000998  e3a02030          MOV      r2,#0x30
00099c  e5951000          LDR      r1,[r5,#0]
0009a0  e1a00005          MOV      r0,r5
0009a4  ebfffffe          BL       __rt_memcpy_w
;;;602    } /* Proc_1 */
                  |L1.2472|
0009a8  e8bd8038          LDMFD    sp!,{r3-r5,pc}
                          ENDP

                  Proc_8 PROC
;;;766    int             Int_2_Par_Val;
;;;767    {
0009ac  e92d4070          STMFD    sp!,{r4-r6,lr}
;;;768      REG One_Fifty Int_Index;
;;;769      REG One_Fifty Int_Loc;
;;;770    
;;;771      Int_Loc = Int_1_Par_Val + 5;
0009b0  e282c005          ADD      r12,r2,#5
;;;772      Arr_1_Par_Ref [Int_Loc] = Int_2_Par_Val;
0009b4  e780310c          STR      r3,[r0,r12,LSL #2]
;;;773      Arr_1_Par_Ref [Int_Loc+1] = Arr_1_Par_Ref [Int_Loc];
0009b8  e790410c          LDR      r4,[r0,r12,LSL #2]
0009bc  e080510c          ADD      r5,r0,r12,LSL #2
0009c0  e5854004          STR      r4,[r5,#4]
;;;774      Arr_1_Par_Ref [Int_Loc+30] = Int_Loc;
0009c4  e080410c          ADD      r4,r0,r12,LSL #2
0009c8  e584c078          STR      r12,[r4,#0x78]
;;;775      for (Int_Index = Int_Loc; Int_Index <= Int_Loc+1; ++Int_Index)
0009cc  e1a0e00c          MOV      lr,r12
                  |L1.2512|
0009d0  e28c4001          ADD      r4,r12,#1
0009d4  e15e0004          CMP      lr,r4
0009d8  ca000007          BGT      |L1.2556|
0009dc  ea000001          B        |L1.2536|
                  |L1.2528|
0009e0  e28ee001          ADD      lr,lr,#1
0009e4  eafffff9          B        |L1.2512|
;;;776        Arr_2_Par_Ref [Int_Loc] [Int_Index] = Int_Loc;
                  |L1.2536|
0009e8  e3a04019          MOV      r4,#0x19
0009ec  e0050c94          MUL      r5,r4,r12
0009f0  e0814185          ADD      r4,r1,r5,LSL #3
0009f4  e784c10e          STR      r12,[r4,lr,LSL #2]
0009f8  eafffff8          B        |L1.2528|
;;;777      Arr_2_Par_Ref [Int_Loc] [Int_Loc-1] += 1;
                  |L1.2556|
0009fc  e3a05019          MOV      r5,#0x19
000a00  e0060c95          MUL      r6,r5,r12
000a04  e0815186          ADD      r5,r1,r6,LSL #3
000a08  e085510c          ADD      r5,r5,r12,LSL #2
000a0c  e2454004          SUB      r4,r5,#4
000a10  e5155004          LDR      r5,[r5,#-4]
000a14  e2855001          ADD      r5,r5,#1
000a18  e5845000          STR      r5,[r4,#0]
;;;778      Arr_2_Par_Ref [Int_Loc+20] [Int_Loc] = Arr_1_Par_Ref [Int_Loc];
000a1c  e790410c          LDR      r4,[r0,r12,LSL #2]
000a20  e3a05019          MOV      r5,#0x19
000a24  e0060c95          MUL      r6,r5,r12
000a28  e0815186          ADD      r5,r1,r6,LSL #3
000a2c  e085510c          ADD      r5,r5,r12,LSL #2
000a30  e5854fa0          STR      r4,[r5,#0xfa0]
;;;779      Int_Glob = 5;
000a34  e3a04005          MOV      r4,#5
000a38  e59f5314          LDR      r5,|L1.3412|
000a3c  e5854000          STR      r4,[r5,#0]  ; Int_Glob
;;;780    } /* Proc_8 */
000a40  e8bd8070          LDMFD    sp!,{r4-r6,pc}
                          ENDP

                  Func_2 PROC
;;;816    Str_30  Str_2_Par_Ref;
;;;817    {
000a44  e92d40f8          STMFD    sp!,{r3-r7,lr}
000a48  e1a06000          MOV      r6,r0
000a4c  e1a07001          MOV      r7,r1
;;;818      REG One_Thirty        Int_Loc;
;;;819          Capital_Letter    Ch_Loc;
;;;820    
;;;821      Int_Loc = 2;
000a50  e3a04002          MOV      r4,#2
;;;822      while (Int_Loc <= 2) /* loop body executed once */
000a54  e1a00000          NOP      
                  |L1.2648|
000a58  e3540002          CMP      r4,#2
000a5c  ca000008          BGT      |L1.2692|
;;;823        if (Func_1 (Str_1_Par_Ref[Int_Loc],
000a60  e0872004          ADD      r2,r7,r4
000a64  e5d21001          LDRB     r1,[r2,#1]
000a68  e7d60004          LDRB     r0,[r6,r4]
000a6c  ebfffffe          BL       Func_1
000a70  e3500000          CMP      r0,#0
000a74  1a000001          BNE      |L1.2688|
;;;824                    Str_2_Par_Ref[Int_Loc+1]) == Ident_1)
;;;825          /* then, executed */
;;;826        {
;;;827          Ch_Loc = 'A';
000a78  e3a05041          MOV      r5,#0x41
;;;828          Int_Loc += 1;
000a7c  e2844001          ADD      r4,r4,#1
;;;829        } /* if, while */
                  |L1.2688|
000a80  eafffff4          B        |L1.2648|
;;;830      if (Ch_Loc >= 'W' && Ch_Loc < 'Z')
                  |L1.2692|
000a84  e2450057          SUB      r0,r5,#0x57
000a88  e3500003          CMP      r0,#3
000a8c  2a000000          BCS      |L1.2708|
;;;831        /* then, not executed */
;;;832        Int_Loc = 7;
000a90  e3a04007          MOV      r4,#7
;;;833      if (Ch_Loc == 'R')
                  |L1.2708|
000a94  e3550052          CMP      r5,#0x52
000a98  1a000001          BNE      |L1.2724|
;;;834        /* then, not executed */
;;;835        return (true);
000a9c  e3a00001          MOV      r0,#1
;;;836      else /* executed */
;;;837      {
;;;838        if (strcmp (Str_1_Par_Ref, Str_2_Par_Ref) > 0)
;;;839          /* then, not executed */
;;;840        {
;;;841          Int_Loc += 7;
;;;842          Int_Glob = Int_Loc;
;;;843          return (true);
;;;844        }
;;;845        else /* executed */
;;;846          return (false);
;;;847      } /* if Ch_Loc */
;;;848    } /* Func_2 */
                  |L1.2720|

⌨️ 快捷键说明

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