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

📄 cgiparse.asm

📁 dm642通过网络接收烧写文件
💻 ASM
📖 第 1 页 / 共 2 页
字号:
;******************************************************************************
;* TMS320C6x C/C++ Codegen                                          PC v5.1.0 *
;* Date/Time created: Mon Aug 13 17:31:57 2007                                *
;******************************************************************************
	.compiler_opts --endian=little --mem_model:code=far --mem_model:data=far --predefine_memory_model_macros --quiet --silicon_version=6400 

;******************************************************************************
;* GLOBAL FILE PARAMETERS                                                     *
;*                                                                            *
;*   Architecture      : TMS320C64xx                                          *
;*   Optimization      : Enabled at level 3                                   *
;*   Optimizing for    : Speed                                                *
;*                       Based on options: -o3, no -ms                        *
;*   Endian            : Little                                               *
;*   Interrupt Thrshld : Disabled                                             *
;*   Data Access Model : Far                                                  *
;*   Pipelining        : Enabled                                              *
;*   Speculate Loads   : Disabled                                             *
;*   Memory Aliases    : Presume not aliases (optimistic)                     *
;*   Debug Info        : Optimized w/Profiling Info                           *
;*                                                                            *
;******************************************************************************

	.asg	A15, FP
	.asg	B14, DP
	.asg	B15, SP
	.global	$bss


DW$CU	.dwtag  DW_TAG_compile_unit
	.dwattr DW$CU, DW_AT_name("cgiparse.c")
	.dwattr DW$CU, DW_AT_producer("TMS320C6x C/C++ Codegen PC v5.1.0 Copyright (c) 1996-2005 Texas Instruments Incorporated")
	.dwattr DW$CU, DW_AT_stmt_list(0x00)
	.dwattr DW$CU, DW_AT_TI_VERSION(0x01)

DW$1	.dwtag  DW_TAG_subprogram, DW_AT_name("strtol"), DW_AT_symbol_name("_strtol")
	.dwattr DW$1, DW_AT_type(*DW$T$12)
	.dwattr DW$1, DW_AT_declaration(0x01)
	.dwattr DW$1, DW_AT_external(0x01)
DW$2	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*DW$T$29)
DW$3	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*DW$T$30)
DW$4	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*DW$T$10)
	.dwendtag DW$1

;	C:\CCStudio_v3.1\C6000\cgtools\bin\opt6x.exe C:\DOCUME~1\new\LOCALS~1\Temp\TI8602 C:\DOCUME~1\new\LOCALS~1\Temp\TI8604 
	.sect	".text"
	.global	_cgiParseVars

DW$5	.dwtag  DW_TAG_subprogram, DW_AT_name("cgiParseVars"), DW_AT_symbol_name("_cgiParseVars")
	.dwattr DW$5, DW_AT_low_pc(_cgiParseVars)
	.dwattr DW$5, DW_AT_high_pc(0x00)
	.dwattr DW$5, DW_AT_begin_file("cgiparse.c")
	.dwattr DW$5, DW_AT_begin_line(0x18)
	.dwattr DW$5, DW_AT_begin_column(0x07)
	.dwattr DW$5, DW_AT_frame_base[DW_OP_breg31 48]
	.dwattr DW$5, DW_AT_skeletal(0x01)
	.dwpsn	"cgiparse.c",25,1

;******************************************************************************
;* FUNCTION NAME: _cgiParseVars                                               *
;*                                                                            *
;*   Regs Modified     : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,B0,*
;*                           B1,B2,B3,B4,B5,B6,B7,B8,B9,B10,B11,B12,B13,SP,   *
;*                           A16,A17,A18,A19,A20,A21,A22,A23,A24,A25,A26,A27, *
;*                           A28,A29,A30,A31,B16,B17,B18,B19,B20,B21,B22,B23, *
;*                           B24,B25,B26,B27,B28,B29,B30,B31                  *
;*   Regs Used         : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,B0,*
;*                           B1,B2,B3,B4,B5,B6,B7,B8,B9,B10,B11,B12,B13,SP,   *
;*                           A16,A17,A18,A19,A20,A21,A22,A23,A24,A25,A26,A27, *
;*                           A28,A29,A30,A31,B16,B17,B18,B19,B20,B21,B22,B23, *
;*                           B24,B25,B26,B27,B28,B29,B30,B31                  *
;*   Local Frame Size  : 0 Args + 8 Auto + 40 Save = 48 byte                  *
;******************************************************************************
_cgiParseVars:
;** --------------------------------------------------------------------------*
DW$6	.dwtag  DW_TAG_formal_parameter, DW_AT_name("PostIn"), DW_AT_symbol_name("_PostIn")
	.dwattr DW$6, DW_AT_type(*DW$T$21)
	.dwattr DW$6, DW_AT_location[DW_OP_reg4]
DW$7	.dwtag  DW_TAG_formal_parameter, DW_AT_name("pParseIndex"), DW_AT_symbol_name("_pParseIndex")
	.dwattr DW$7, DW_AT_type(*DW$T$22)
	.dwattr DW$7, DW_AT_location[DW_OP_reg20]

           MV      .L1X    SP,A31            ; |25| 
||         STW     .D2T1   A14,*SP--(48)     ; |25| 
||         ZERO    .L2     B5                ; |37| 

           STDW    .D2T2   B13:B12,*+SP(40)
||         MV      .L2     B4,B13            ; |25| 
||         STDW    .D1T1   A13:A12,*-A31(24)
||         MV      .S2X    A4,B12            ; |25| 

           LDW     .D2T2   *B13,B4           ; |35| 
||         STDW    .D1T1   A11:A10,*-A31(32)

           STDW    .D2T2   B11:B10,*+SP(32)
           ZERO    .L2     B10               ; |39| 
           STW     .D2T2   B3,*+SP(12)
           STB     .D2T2   B5,*+SP(10)       ; |37| 

           CMPEQ   .L2     B4,-1,B0          ; |40| 
||         MV      .L1X    B4,A0             ; |40| 

   [!A0]   ZERO    .L2     B0                ; |41| nullify predicate
|| [!A0]   B       .S2     L1                ; |38| 
||         MV      .L1X    B4,A11            ; |35| 
|| [ A0]   ZERO    .S1     A4                ; |41| 
||         MV      .D1     A0,A2             ; guard predicate rewrite

   [ B0]   B       .S2     L6                ; |41| 
|| [!A0]   ADD     .L1X    A11,B12,A10       ; |46| 
|| [!A0]   MV      .D1     A11,A12
|| [!A2]   MVK     .S1     61,A3             ; |46| 

   [!A0]   ADD     .L2X    A11,B12,B5        ; |46| 
   [!A0]   LDB     .D2T1   *B5,A0            ; |46| 
           NOP             2
           ; BRANCHCC OCCURS {L1}            ; |38| 
;** --------------------------------------------------------------------------*

   [!B0]   ADD     .L2X    1,A11,B10         ; |43| 
|| [!B0]   ADD     .L1     1,A11,A11         ; |43| 

           ; BRANCHCC OCCURS {L6}            ; |41| 
;** --------------------------------------------------------------------------*

           MVK     .S1     61,A3             ; |46| 
||         MV      .L1     A11,A12
||         ADD     .D1X    A11,B12,A10       ; |46| 

           ADD     .L2X    A11,B12,B5        ; |46| 
           LDB     .D2T1   *B5,A0            ; |46| 
           NOP             2
;** --------------------------------------------------------------------------*
L1:    
           MVK     .S1     0x26,A14
           MVK     .S1     0x3d,A13          ; |46| 
           CMPEQ   .L1     A0,A3,A1          ; |46| 

   [ A1]   BNOP    .S1     L5,3              ; |46| 
|| [!A1]   CMPEQ   .L2X    A0,0,B4           ; |46| 
|| [!A1]   CMPEQ   .L1     A0,A14,A3         ; |46| 

           MV      .L2X    A1,B0             ; guard predicate rewrite

   [!A1]   OR      .L1X    B4,A3,A1          ; |46| 
|| [!B0]   MVK     .S1     43,A3             ; |48| 

           ; BRANCHCC OCCURS {L5}            ; |46| 
;** --------------------------------------------------------------------------*

   [!A1]   ADD     .L2     B10,B12,B11
||         MV      .S1     A1,A2             ; guard predicate rewrite
|| [ A1]   B       .S2     L5                ; |46| 
||         CMPEQ   .L1     A0,A3,A1          ; |48| 

	.dwpsn	"cgiparse.c",46,0
   [ A2]   ZERO    .L1     A1                ; |48| nullify predicate
;*----------------------------------------------------------------------------*
;*   SOFTWARE PIPELINE INFORMATION
;*      Disqualified loop: Loop contains control code
;*----------------------------------------------------------------------------*
L2:    
DW$L$_cgiParseVars$6$B:
	.dwpsn	"cgiparse.c",47,0
   [ A1]   BNOP    .S1     L3,3              ; |48| 
           ; BRANCHCC OCCURS {L5}            ; |46| 
DW$L$_cgiParseVars$6$E:
;** --------------------------------------------------------------------------*
DW$L$_cgiParseVars$7$B:

   [!A1]   MVK     .S1     37,A3             ; |50| 
||         MVK     .S2     32,B4             ; |49| 

           CMPEQ   .L1     A0,A3,A1          ; |50| 
           ; BRANCHCC OCCURS {L3}            ; |48| 
DW$L$_cgiParseVars$7$E:
;** --------------------------------------------------------------------------*
DW$L$_cgiParseVars$8$B:

           MVKL    .S2     _strtol,B5        ; |54| 
|| [!A1]   B       .S1     L4                ; |58| 
|| [ A1]   ADD     .L1     1,A10,A10         ; |52| 
|| [!A1]   STB     .D2T1   A0,*B11           ; |58| 
|| [!A1]   ADD     .D1     1,A11,A11         ; |59| 
|| [!A1]   ADD     .L2     1,B10,B10         ; |58| 

   [ A1]   LDB     .D1T1   *A10++,A4         ; |52| 
||         MVKH    .S2     _strtol,B5        ; |54| 

   [ A1]   CALL    .S2     B5                ; |54| 
|| [ A1]   LDB     .D1T1   *A10,A3           ; |53| 

   [!A1]   LDB     .D1T1   *++A10,A0         ; |59| 
           NOP             2
           ; BRANCHCC OCCURS {L4}            ; |58| 
DW$L$_cgiParseVars$8$E:
;** --------------------------------------------------------------------------*
DW$L$_cgiParseVars$9$B:
           STB     .D2T1   A4,*+SP(8)        ; |52| 

           STB     .D2T1   A3,*+SP(9)        ; |53| 
||         MVK     .S1     0x10,A6           ; |54| 
||         ADDKPC  .S2     RL0,B3,0          ; |54| 
||         ZERO    .L2     B4                ; |54| 
||         ADD     .L1X    8,SP,A4           ; |54| 

RL0:       ; CALL OCCURS {_strtol}           ; |54| 
DW$L$_cgiParseVars$9$E:
;** --------------------------------------------------------------------------*
DW$L$_cgiParseVars$10$B:

           BNOP    .S1     L4,2              ; |56| 
||         ADD     .L1     2,A11,A11         ; |52| 
||         STB     .D2T1   A4,*B11           ; |55| 
||         ADD     .L2     1,B10,B10         ; |55| 

           LDB     .D1T1   *++A10,A0         ; |59| 
||         ADD     .L1     1,A11,A11         ; |59| 

           NOP             2
           ; BRANCH OCCURS {L4}              ; |56| 
DW$L$_cgiParseVars$10$E:
;** --------------------------------------------------------------------------*
L3:    
DW$L$_cgiParseVars$11$B:

           STB     .D2T2   B4,*B11           ; |49| 
||         ADD     .L1     1,A11,A11         ; |59| 
||         ADD     .L2     1,B10,B10         ; |49| 

           LDB     .D1T1   *++A10,A0         ; |59| 
           NOP             2
DW$L$_cgiParseVars$11$E:
;** --------------------------------------------------------------------------*
L4:    
DW$L$_cgiParseVars$12$B:
           NOP             2

           CMPEQ   .L2X    A0,0,B4           ; |46| 
||         CMPEQ   .L1     A0,A13,A1         ; |59| 

   [!A1]   CMPEQ   .L1     A0,A14,A3         ; |46| 
|| [!A1]   B       .S1     L2                ; |59| 

           MVK     .S1     43,A3             ; |48| 
||         OR      .L1X    B4,A3,A1          ; |46| 
||         MV      .L2X    A1,B0             ; guard predicate rewrite

   [ B0]   ZERO    .L1     A1                ; |48| nullify predicate

   [!A1]   ADD     .L2     B10,B12,B11
||         MV      .L1     A1,A2             ; guard predicate rewrite

           CMPEQ   .L1     A0,A3,A1          ; |48| 
|| [ A1]   B       .S1     L5                ; |46| 

	.dwpsn	"cgiparse.c",60,0
   [ A2]   ZERO    .L1     A1                ; |48| nullify predicate
           ; BRANCHCC OCCURS {L2}            ; |59| 
DW$L$_cgiParseVars$12$E:
;** --------------------------------------------------------------------------*
L5:    
   [!A0]   MVK     .L2     0xffffffff,B4     ; |64| 
           ADD     .L2     B10,B12,B31
   [!A0]   MV      .L1X    B4,A11            ; |64| 
           ZERO    .S2     B5                ; |37| 

           STB     .D2T2   B5,*B31           ; |67| 
||         MV      .L2X    A11,B4            ; |64| 

           STW     .D2T2   B4,*B13           ; |70| 
||         ADD     .L1X    B12,A12,A4        ; |73| 

;** --------------------------------------------------------------------------*
L6:    
           LDW     .D2T2   *+SP(12),B3       ; |74| 
           MV      .L1X    SP,A31            ; |74| 
           LDDW    .D1T1   *+A31(24),A13:A12 ; |74| 
           LDDW    .D2T2   *+SP(40),B13:B12  ; |74| 
           LDDW    .D1T1   *+A31(16),A11:A10 ; |74| 

           RET     .S2     B3                ; |74| 
||         LDDW    .D2T2   *+SP(32),B11:B10  ; |74| 

           LDW     .D2T1   *++SP(48),A14     ; |74| 
	.dwpsn	"cgiparse.c",74,1
           NOP             4
           ; BRANCH OCCURS {B3}              ; |74| 

DW$8	.dwtag  DW_TAG_loop
	.dwattr DW$8, DW_AT_name("D:\dm642_qian\video_networking_ip\jpeg_netcam\src\network\cgiparse.asm:L2:1:1186997517")
	.dwattr DW$8, DW_AT_begin_file("cgiparse.c")
	.dwattr DW$8, DW_AT_begin_line(0x2e)
	.dwattr DW$8, DW_AT_end_line(0x3c)
DW$9	.dwtag  DW_TAG_loop_range
	.dwattr DW$9, DW_AT_low_pc(DW$L$_cgiParseVars$6$B)
	.dwattr DW$9, DW_AT_high_pc(DW$L$_cgiParseVars$6$E)
DW$10	.dwtag  DW_TAG_loop_range
	.dwattr DW$10, DW_AT_low_pc(DW$L$_cgiParseVars$9$B)
	.dwattr DW$10, DW_AT_high_pc(DW$L$_cgiParseVars$9$E)
DW$11	.dwtag  DW_TAG_loop_range
	.dwattr DW$11, DW_AT_low_pc(DW$L$_cgiParseVars$7$B)
	.dwattr DW$11, DW_AT_high_pc(DW$L$_cgiParseVars$7$E)
DW$12	.dwtag  DW_TAG_loop_range
	.dwattr DW$12, DW_AT_low_pc(DW$L$_cgiParseVars$8$B)
	.dwattr DW$12, DW_AT_high_pc(DW$L$_cgiParseVars$8$E)
DW$13	.dwtag  DW_TAG_loop_range
	.dwattr DW$13, DW_AT_low_pc(DW$L$_cgiParseVars$10$B)
	.dwattr DW$13, DW_AT_high_pc(DW$L$_cgiParseVars$10$E)
DW$14	.dwtag  DW_TAG_loop_range
	.dwattr DW$14, DW_AT_low_pc(DW$L$_cgiParseVars$11$B)
	.dwattr DW$14, DW_AT_high_pc(DW$L$_cgiParseVars$11$E)
DW$15	.dwtag  DW_TAG_loop_range
	.dwattr DW$15, DW_AT_low_pc(DW$L$_cgiParseVars$12$B)
	.dwattr DW$15, DW_AT_high_pc(DW$L$_cgiParseVars$12$E)
	.dwendtag DW$8

⌨️ 快捷键说明

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