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

📄 cgiparse.asm

📁 这是DM642(EVM开发板)的视频采集和视频输出到网络调用的一个很好的例子原代码,用CCS3.3可以打开,调试通过.
💻 ASM
📖 第 1 页 / 共 3 页
字号:
           LDB     .D1T1   *++A10,A0         ; |59| 
           ADD     .L1     1,A11,A11         ; |59| 
           ADD     .L2     1,B10,B10         ; |49| 
$C$DW$L$_cgiParseVars$11$E:
;** --------------------------------------------------------------------------*
$C$L4:    
$C$DW$L$_cgiParseVars$12$B:
           NOP             2

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

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

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

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

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

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

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

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

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

;** --------------------------------------------------------------------------*
$C$L6:    
           LDW     .D2T2   *+SP(12),B3       ; |74| 
           MV      .L1X    SP,A31            ; |74| 
           LDDW    .D1T1   *+A31(16),A11:A10 ; |74| 
           LDDW    .D2T2   *+SP(32),B11:B10  ; |74| 
           LDDW    .D1T1   *+A31(24),A13:A12 ; |74| 

           LDDW    .D2T2   *+SP(40),B13:B12  ; |74| 
||         RET     .S2     B3                ; |74| 

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

$C$DW$8	.dwtag  DW_TAG_TI_loop
	.dwattr $C$DW$8, DW_AT_name("C:\CCStudio_v3.3\MyProjects\video_networking_ip_xiao\video_networking_ip\jpeg_netcam\src\network\cgiparse.asm:$C$L2:1:1205161318")
	.dwattr $C$DW$8, DW_AT_TI_begin_file("cgiparse.c")
	.dwattr $C$DW$8, DW_AT_TI_begin_line(0x2e)
	.dwattr $C$DW$8, DW_AT_TI_end_line(0x3c)
$C$DW$9	.dwtag  DW_TAG_TI_loop_range
	.dwattr $C$DW$9, DW_AT_low_pc($C$DW$L$_cgiParseVars$6$B)
	.dwattr $C$DW$9, DW_AT_high_pc($C$DW$L$_cgiParseVars$6$E)
$C$DW$10	.dwtag  DW_TAG_TI_loop_range
	.dwattr $C$DW$10, DW_AT_low_pc($C$DW$L$_cgiParseVars$9$B)
	.dwattr $C$DW$10, DW_AT_high_pc($C$DW$L$_cgiParseVars$9$E)
$C$DW$11	.dwtag  DW_TAG_TI_loop_range
	.dwattr $C$DW$11, DW_AT_low_pc($C$DW$L$_cgiParseVars$7$B)
	.dwattr $C$DW$11, DW_AT_high_pc($C$DW$L$_cgiParseVars$7$E)
$C$DW$12	.dwtag  DW_TAG_TI_loop_range
	.dwattr $C$DW$12, DW_AT_low_pc($C$DW$L$_cgiParseVars$8$B)
	.dwattr $C$DW$12, DW_AT_high_pc($C$DW$L$_cgiParseVars$8$E)
$C$DW$13	.dwtag  DW_TAG_TI_loop_range
	.dwattr $C$DW$13, DW_AT_low_pc($C$DW$L$_cgiParseVars$10$B)
	.dwattr $C$DW$13, DW_AT_high_pc($C$DW$L$_cgiParseVars$10$E)
$C$DW$14	.dwtag  DW_TAG_TI_loop_range
	.dwattr $C$DW$14, DW_AT_low_pc($C$DW$L$_cgiParseVars$11$B)
	.dwattr $C$DW$14, DW_AT_high_pc($C$DW$L$_cgiParseVars$11$E)
$C$DW$15	.dwtag  DW_TAG_TI_loop_range
	.dwattr $C$DW$15, DW_AT_low_pc($C$DW$L$_cgiParseVars$12$B)
	.dwattr $C$DW$15, DW_AT_high_pc($C$DW$L$_cgiParseVars$12$E)
	.dwendtag $C$DW$8

	.dwattr $C$DW$5, DW_AT_TI_end_file("cgiparse.c")
	.dwattr $C$DW$5, DW_AT_TI_end_line(0x4a)
	.dwattr $C$DW$5, DW_AT_TI_end_column(0x01)
	.dwendtag $C$DW$5

;*****************************************************************************
;* UNDEFINED EXTERNAL REFERENCES                                             *
;*****************************************************************************
	.global	_strtol

;******************************************************************************
;* TYPE INFORMATION                                                           *
;******************************************************************************
$C$DW$T$4	.dwtag  DW_TAG_base_type, DW_AT_name("bool")
	.dwattr $C$DW$T$4, DW_AT_encoding(DW_ATE_boolean)
	.dwattr $C$DW$T$4, DW_AT_byte_size(0x01)
$C$DW$T$5	.dwtag  DW_TAG_base_type, DW_AT_name("signed char")
	.dwattr $C$DW$T$5, DW_AT_encoding(DW_ATE_signed_char)
	.dwattr $C$DW$T$5, DW_AT_byte_size(0x01)
$C$DW$T$6	.dwtag  DW_TAG_base_type, DW_AT_name("unsigned char")
	.dwattr $C$DW$T$6, DW_AT_encoding(DW_ATE_unsigned_char)
	.dwattr $C$DW$T$6, DW_AT_byte_size(0x01)
$C$DW$T$7	.dwtag  DW_TAG_base_type, DW_AT_name("wchar_t")
	.dwattr $C$DW$T$7, DW_AT_encoding(DW_ATE_signed_char)
	.dwattr $C$DW$T$7, DW_AT_byte_size(0x02)
$C$DW$T$8	.dwtag  DW_TAG_base_type, DW_AT_name("short")
	.dwattr $C$DW$T$8, DW_AT_encoding(DW_ATE_signed)
	.dwattr $C$DW$T$8, DW_AT_byte_size(0x02)
$C$DW$T$9	.dwtag  DW_TAG_base_type, DW_AT_name("unsigned short")
	.dwattr $C$DW$T$9, DW_AT_encoding(DW_ATE_unsigned)
	.dwattr $C$DW$T$9, DW_AT_byte_size(0x02)
$C$DW$T$10	.dwtag  DW_TAG_base_type, DW_AT_name("int")
	.dwattr $C$DW$T$10, DW_AT_encoding(DW_ATE_signed)
	.dwattr $C$DW$T$10, DW_AT_byte_size(0x04)
$C$DW$T$22	.dwtag  DW_TAG_pointer_type, DW_AT_type(*$C$DW$T$10)
	.dwattr $C$DW$T$22, DW_AT_address_class(0x20)
$C$DW$T$11	.dwtag  DW_TAG_base_type, DW_AT_name("unsigned int")
	.dwattr $C$DW$T$11, DW_AT_encoding(DW_ATE_unsigned)
	.dwattr $C$DW$T$11, DW_AT_byte_size(0x04)
$C$DW$T$12	.dwtag  DW_TAG_base_type, DW_AT_name("long")
	.dwattr $C$DW$T$12, DW_AT_encoding(DW_ATE_signed)
	.dwattr $C$DW$T$12, DW_AT_byte_size(0x08)
	.dwattr $C$DW$T$12, DW_AT_bit_size(0x28)
	.dwattr $C$DW$T$12, DW_AT_bit_offset(0x18)

$C$DW$T$31	.dwtag  DW_TAG_subroutine_type, DW_AT_type(*$C$DW$T$12)
	.dwattr $C$DW$T$31, DW_AT_language(DW_LANG_C)
$C$DW$16	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$29)
$C$DW$17	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$30)
$C$DW$18	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$10)
	.dwendtag $C$DW$T$31

$C$DW$T$13	.dwtag  DW_TAG_base_type, DW_AT_name("unsigned long")
	.dwattr $C$DW$T$13, DW_AT_encoding(DW_ATE_unsigned)
	.dwattr $C$DW$T$13, DW_AT_byte_size(0x08)
	.dwattr $C$DW$T$13, DW_AT_bit_size(0x28)
	.dwattr $C$DW$T$13, DW_AT_bit_offset(0x18)
$C$DW$T$14	.dwtag  DW_TAG_base_type, DW_AT_name("long long")
	.dwattr $C$DW$T$14, DW_AT_encoding(DW_ATE_signed)
	.dwattr $C$DW$T$14, DW_AT_byte_size(0x08)
$C$DW$T$15	.dwtag  DW_TAG_base_type, DW_AT_name("unsigned long long")
	.dwattr $C$DW$T$15, DW_AT_encoding(DW_ATE_unsigned)
	.dwattr $C$DW$T$15, DW_AT_byte_size(0x08)
$C$DW$T$16	.dwtag  DW_TAG_base_type, DW_AT_name("float")
	.dwattr $C$DW$T$16, DW_AT_encoding(DW_ATE_float)
	.dwattr $C$DW$T$16, DW_AT_byte_size(0x04)
$C$DW$T$17	.dwtag  DW_TAG_base_type, DW_AT_name("double")
	.dwattr $C$DW$T$17, DW_AT_encoding(DW_ATE_float)
	.dwattr $C$DW$T$17, DW_AT_byte_size(0x08)
$C$DW$T$18	.dwtag  DW_TAG_base_type, DW_AT_name("long double")
	.dwattr $C$DW$T$18, DW_AT_encoding(DW_ATE_float)
	.dwattr $C$DW$T$18, DW_AT_byte_size(0x08)
$C$DW$T$20	.dwtag  DW_TAG_base_type, DW_AT_name("signed char")
	.dwattr $C$DW$T$20, DW_AT_encoding(DW_ATE_signed_char)
	.dwattr $C$DW$T$20, DW_AT_byte_size(0x01)
$C$DW$T$21	.dwtag  DW_TAG_pointer_type, DW_AT_type(*$C$DW$T$20)
	.dwattr $C$DW$T$21, DW_AT_address_class(0x20)
$C$DW$T$30	.dwtag  DW_TAG_pointer_type, DW_AT_type(*$C$DW$T$21)
	.dwattr $C$DW$T$30, DW_AT_address_class(0x20)

$C$DW$T$33	.dwtag  DW_TAG_subroutine_type, DW_AT_type(*$C$DW$T$21)
	.dwattr $C$DW$T$33, DW_AT_language(DW_LANG_C)
$C$DW$19	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$21)
$C$DW$20	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$22)
	.dwendtag $C$DW$T$33

$C$DW$T$28	.dwtag  DW_TAG_const_type
	.dwattr $C$DW$T$28, DW_AT_type(*$C$DW$T$20)
$C$DW$T$29	.dwtag  DW_TAG_pointer_type, DW_AT_type(*$C$DW$T$28)
	.dwattr $C$DW$T$29, DW_AT_address_class(0x20)
	.dwattr $C$DW$CU, DW_AT_language(DW_LANG_C)

;***************************************************************
;* DWARF REGISTER MAP                                          *
;***************************************************************

$C$DW$21	.dwtag  DW_TAG_TI_assign_register, DW_AT_name("A0")
	.dwattr $C$DW$21, DW_AT_location[DW_OP_reg0]
$C$DW$22	.dwtag  DW_TAG_TI_assign_register, DW_AT_name("A1")
	.dwattr $C$DW$22, DW_AT_location[DW_OP_reg1]
$C$DW$23	.dwtag  DW_TAG_TI_assign_register, DW_AT_name("A2")
	.dwattr $C$DW$23, DW_AT_location[DW_OP_reg2]
$C$DW$24	.dwtag  DW_TAG_TI_assign_register, DW_AT_name("A3")
	.dwattr $C$DW$24, DW_AT_location[DW_OP_reg3]
$C$DW$25	.dwtag  DW_TAG_TI_assign_register, DW_AT_name("A4")
	.dwattr $C$DW$25, DW_AT_location[DW_OP_reg4]
$C$DW$26	.dwtag  DW_TAG_TI_assign_register, DW_AT_name("A5")
	.dwattr $C$DW$26, DW_AT_location[DW_OP_reg5]
$C$DW$27	.dwtag  DW_TAG_TI_assign_register, DW_AT_name("A6")
	.dwattr $C$DW$27, DW_AT_location[DW_OP_reg6]
$C$DW$28	.dwtag  DW_TAG_TI_assign_register, DW_AT_name("A7")
	.dwattr $C$DW$28, DW_AT_location[DW_OP_reg7]
$C$DW$29	.dwtag  DW_TAG_TI_assign_register, DW_AT_name("A8")
	.dwattr $C$DW$29, DW_AT_location[DW_OP_reg8]
$C$DW$30	.dwtag  DW_TAG_TI_assign_register, DW_AT_name("A9")
	.dwattr $C$DW$30, DW_AT_location[DW_OP_reg9]
$C$DW$31	.dwtag  DW_TAG_TI_assign_register, DW_AT_name("A10")
	.dwattr $C$DW$31, DW_AT_location[DW_OP_reg10]
$C$DW$32	.dwtag  DW_TAG_TI_assign_register, DW_AT_name("A11")
	.dwattr $C$DW$32, DW_AT_location[DW_OP_reg11]
$C$DW$33	.dwtag  DW_TAG_TI_assign_register, DW_AT_name("A12")
	.dwattr $C$DW$33, DW_AT_location[DW_OP_reg12]
$C$DW$34	.dwtag  DW_TAG_TI_assign_register, DW_AT_name("A13")
	.dwattr $C$DW$34, DW_AT_location[DW_OP_reg13]
$C$DW$35	.dwtag  DW_TAG_TI_assign_register, DW_AT_name("A14")
	.dwattr $C$DW$35, DW_AT_location[DW_OP_reg14]
$C$DW$36	.dwtag  DW_TAG_TI_assign_register, DW_AT_name("A15")
	.dwattr $C$DW$36, DW_AT_location[DW_OP_reg15]
$C$DW$37	.dwtag  DW_TAG_TI_assign_register, DW_AT_name("B0")
	.dwattr $C$DW$37, DW_AT_location[DW_OP_reg16]
$C$DW$38	.dwtag  DW_TAG_TI_assign_register, DW_AT_name("B1")
	.dwattr $C$DW$38, DW_AT_location[DW_OP_reg17]
$C$DW$39	.dwtag  DW_TAG_TI_assign_register, DW_AT_name("B2")
	.dwattr $C$DW$39, DW_AT_location[DW_OP_reg18]
$C$DW$40	.dwtag  DW_TAG_TI_assign_register, DW_AT_name("B3")

⌨️ 快捷键说明

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