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

📄 bitoperation.asm

📁 OMAP1030 处理器的ARM 侧硬件测试代码 OMAP1030 是TI的双核处理器
💻 ASM
📖 第 1 页 / 共 2 页
字号:
	.global	_Setgroup32bit

DW$21	.dwtag  DW_TAG_subprogram, DW_AT_name("Setgroup32bit"), DW_AT_symbol_name("_Setgroup32bit")
	.dwattr DW$21, DW_AT_low_pc(_Setgroup32bit)
	.dwattr DW$21, DW_AT_high_pc(0x00)
	.dwattr DW$21, DW_AT_begin_file("bitoperation.c")
	.dwattr DW$21, DW_AT_begin_line(0x37)
	.dwattr DW$21, DW_AT_begin_column(0x06)
	.dwpsn	"bitoperation.c",56,1

	.dwfde DW$CIE

;*****************************************************************************
;* FUNCTION NAME: Setgroup32bit                                              *
;*                                                                           *
;*   Regs Modified     : A1,A2,V9,SP                                         *
;*   Regs Used         : A1,A2,A3,A4,V9,SP                                   *
;*   Local Frame Size  : 0 Args + 20 Auto + 0 Save = 20 byte                 *
;*****************************************************************************
_Setgroup32bit:
;* --------------------------------------------------------------------------*
	.dwcfa	0x0e, 0
	.dwcfa	0x09, 26, 14
        SUB       SP, SP, #20
	.dwcfa	0x0e, 20
;* A1    assigned to _RegisterAddr
DW$22	.dwtag  DW_TAG_formal_parameter, DW_AT_name("RegisterAddr"), DW_AT_symbol_name("_RegisterAddr")
	.dwattr DW$22, DW_AT_type(*DW$T$11)
	.dwattr DW$22, DW_AT_location[DW_OP_reg0]
;* A2    assigned to _bitPosition
DW$23	.dwtag  DW_TAG_formal_parameter, DW_AT_name("bitPosition"), DW_AT_symbol_name("_bitPosition")
	.dwattr DW$23, DW_AT_type(*DW$T$11)
	.dwattr DW$23, DW_AT_location[DW_OP_reg1]
;* A3    assigned to _bitWidth
DW$24	.dwtag  DW_TAG_formal_parameter, DW_AT_name("bitWidth"), DW_AT_symbol_name("_bitWidth")
	.dwattr DW$24, DW_AT_type(*DW$T$11)
	.dwattr DW$24, DW_AT_location[DW_OP_reg2]
;* A4    assigned to _confValue
DW$25	.dwtag  DW_TAG_formal_parameter, DW_AT_name("confValue"), DW_AT_symbol_name("_confValue")
	.dwattr DW$25, DW_AT_type(*DW$T$11)
	.dwattr DW$25, DW_AT_location[DW_OP_reg3]
DW$26	.dwtag  DW_TAG_variable, DW_AT_name("RegisterAddr"), DW_AT_symbol_name("_RegisterAddr")
	.dwattr DW$26, DW_AT_type(*DW$T$11)
	.dwattr DW$26, DW_AT_location[DW_OP_breg13 0]
DW$27	.dwtag  DW_TAG_variable, DW_AT_name("bitPosition"), DW_AT_symbol_name("_bitPosition")
	.dwattr DW$27, DW_AT_type(*DW$T$11)
	.dwattr DW$27, DW_AT_location[DW_OP_breg13 4]
DW$28	.dwtag  DW_TAG_variable, DW_AT_name("bitWidth"), DW_AT_symbol_name("_bitWidth")
	.dwattr DW$28, DW_AT_type(*DW$T$11)
	.dwattr DW$28, DW_AT_location[DW_OP_breg13 8]
DW$29	.dwtag  DW_TAG_variable, DW_AT_name("confValue"), DW_AT_symbol_name("_confValue")
	.dwattr DW$29, DW_AT_type(*DW$T$11)
	.dwattr DW$29, DW_AT_location[DW_OP_breg13 12]
DW$30	.dwtag  DW_TAG_variable, DW_AT_name("temp"), DW_AT_symbol_name("_temp")
	.dwattr DW$30, DW_AT_type(*DW$T$10)
	.dwattr DW$30, DW_AT_location[DW_OP_breg13 16]
        STR       A4, [SP, #12]         ; |56| 
        STR       A3, [SP, #8]          ; |56| 
        STR       A2, [SP, #4]          ; |56| 
        STR       A1, [SP, #0]          ; |56| 
	.dwpsn	"bitoperation.c",57,9
        LDR       V9, [SP, #0]          ; |57| 
        LDR       V9, [V9, #0]          ; |57| 
        STR       V9, [SP, #16]         ; |57| 
	.dwpsn	"bitoperation.c",58,2
        LDR       V9, [SP, #8]          ; |58| 
        MVN       A1, #0                ; |58| 
        RSB       V9, V9, #32           ; |58| 
        MOV       A1, A1, LSR V9        ; |58| 
        LDR       A2, [SP, #16]         ; |58| 
        LDR       V9, [SP, #4]          ; |58| 
        BIC       V9, A2, A1, LSL V9    ; |58| 
        STR       V9, [SP, #16]         ; |58| 
	.dwpsn	"bitoperation.c",59,5
        LDR       V9, [SP, #8]          ; |59| 
        MVN       A2, #0                ; |59| 
        LDR       A1, [SP, #12]         ; |59| 
        RSB       V9, V9, #32           ; |59| 
        AND       A1, A1, A2, LSR V9    ; |59| 
        LDR       A2, [SP, #16]         ; |59| 
        LDR       V9, [SP, #4]          ; |59| 
        ORR       V9, A2, A1, LSL V9    ; |59| 
        STR       V9, [SP, #16]         ; |59| 
	.dwpsn	"bitoperation.c",60,2
        LDR       V9, [SP, #16]         ; |60| 
        LDR       A1, [SP, #0]          ; |60| 
        STR       V9, [A1, #0]          ; |60| 
	.dwpsn	"bitoperation.c",63,1
        ADD       SP, SP, #20
	.dwcfa	0x0e, 0
        BX        LR
	.dwattr DW$21, DW_AT_end_file("bitoperation.c")
	.dwattr DW$21, DW_AT_end_line(0x3f)
	.dwattr DW$21, DW_AT_end_column(0x01)
	.dwendentry
	.dwendtag DW$21


;******************************************************************************
;* TYPE INFORMATION                                                           *
;******************************************************************************

DW$T$19	.dwtag  DW_TAG_subroutine_type
	.dwattr DW$T$19, DW_AT_language(DW_LANG_C)
DW$31	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*DW$T$10)
DW$32	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*DW$T$10)
DW$33	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*DW$T$10)
DW$34	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*DW$T$10)
	.dwendtag DW$T$19


DW$T$20	.dwtag  DW_TAG_subroutine_type
	.dwattr DW$T$20, DW_AT_language(DW_LANG_C)
DW$35	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*DW$T$11)
DW$36	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*DW$T$11)
DW$37	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*DW$T$11)
DW$38	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*DW$T$11)
	.dwendtag DW$T$20

DW$T$9	.dwtag  DW_TAG_base_type, DW_AT_name("unsigned short")
	.dwattr DW$T$9, DW_AT_encoding(DW_ATE_unsigned)
	.dwattr DW$T$9, DW_AT_byte_size(0x02)
DW$T$10	.dwtag  DW_TAG_base_type, DW_AT_name("int")
	.dwattr DW$T$10, DW_AT_encoding(DW_ATE_signed)
	.dwattr DW$T$10, DW_AT_byte_size(0x04)
DW$T$11	.dwtag  DW_TAG_base_type, DW_AT_name("unsigned int")
	.dwattr DW$T$11, DW_AT_encoding(DW_ATE_unsigned)
	.dwattr DW$T$11, DW_AT_byte_size(0x04)

	.dwattr DW$11, DW_AT_external(0x01)
	.dwattr DW$21, DW_AT_external(0x01)
	.dwattr DW$1, DW_AT_external(0x01)
	.dwattr DW$CU, DW_AT_language(DW_LANG_C)

;***************************************************************
;* DWARF CIE ENTRIES                                           *
;***************************************************************

DW$CIE	.dwcie 1, 26
	.dwcfa	0x0c, 13, 0
	.dwcfa	0x07, 0
	.dwcfa	0x07, 1
	.dwcfa	0x07, 2
	.dwcfa	0x07, 3
	.dwcfa	0x08, 4
	.dwcfa	0x08, 5
	.dwcfa	0x08, 6
	.dwcfa	0x08, 7
	.dwcfa	0x08, 8
	.dwcfa	0x08, 9
	.dwcfa	0x08, 10
	.dwcfa	0x08, 11
	.dwcfa	0x07, 12
	.dwcfa	0x07, 13
	.dwcfa	0x07, 14
	.dwcfa	0x07, 15
	.dwcfa	0x07, 16
	.dwcfa	0x07, 17
	.dwcfa	0x07, 18
	.dwcfa	0x07, 19
	.dwcfa	0x07, 20
	.dwcfa	0x07, 21
	.dwcfa	0x07, 22
	.dwcfa	0x07, 23
	.dwcfa	0x07, 24
	.dwcfa	0x07, 25
	.dwcfa	0x07, 26

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

DW$39	.dwtag  DW_TAG_assign_register, DW_AT_name("A1")
	.dwattr DW$39, DW_AT_location[DW_OP_reg0]
DW$40	.dwtag  DW_TAG_assign_register, DW_AT_name("A2")
	.dwattr DW$40, DW_AT_location[DW_OP_reg1]
DW$41	.dwtag  DW_TAG_assign_register, DW_AT_name("A3")
	.dwattr DW$41, DW_AT_location[DW_OP_reg2]
DW$42	.dwtag  DW_TAG_assign_register, DW_AT_name("A4")
	.dwattr DW$42, DW_AT_location[DW_OP_reg3]
DW$43	.dwtag  DW_TAG_assign_register, DW_AT_name("V1")
	.dwattr DW$43, DW_AT_location[DW_OP_reg4]
DW$44	.dwtag  DW_TAG_assign_register, DW_AT_name("V2")
	.dwattr DW$44, DW_AT_location[DW_OP_reg5]
DW$45	.dwtag  DW_TAG_assign_register, DW_AT_name("V3")
	.dwattr DW$45, DW_AT_location[DW_OP_reg6]
DW$46	.dwtag  DW_TAG_assign_register, DW_AT_name("V4")
	.dwattr DW$46, DW_AT_location[DW_OP_reg7]
DW$47	.dwtag  DW_TAG_assign_register, DW_AT_name("V5")
	.dwattr DW$47, DW_AT_location[DW_OP_reg8]
DW$48	.dwtag  DW_TAG_assign_register, DW_AT_name("V6")
	.dwattr DW$48, DW_AT_location[DW_OP_reg9]
DW$49	.dwtag  DW_TAG_assign_register, DW_AT_name("V7")
	.dwattr DW$49, DW_AT_location[DW_OP_reg10]
DW$50	.dwtag  DW_TAG_assign_register, DW_AT_name("V8")
	.dwattr DW$50, DW_AT_location[DW_OP_reg11]
DW$51	.dwtag  DW_TAG_assign_register, DW_AT_name("V9")
	.dwattr DW$51, DW_AT_location[DW_OP_reg12]
DW$52	.dwtag  DW_TAG_assign_register, DW_AT_name("SP")
	.dwattr DW$52, DW_AT_location[DW_OP_reg13]
DW$53	.dwtag  DW_TAG_assign_register, DW_AT_name("LR")
	.dwattr DW$53, DW_AT_location[DW_OP_reg14]
DW$54	.dwtag  DW_TAG_assign_register, DW_AT_name("PC")
	.dwattr DW$54, DW_AT_location[DW_OP_reg15]
DW$55	.dwtag  DW_TAG_assign_register, DW_AT_name("C0")
	.dwattr DW$55, DW_AT_location[DW_OP_reg16]
DW$56	.dwtag  DW_TAG_assign_register, DW_AT_name("C1")
	.dwattr DW$56, DW_AT_location[DW_OP_reg17]
DW$57	.dwtag  DW_TAG_assign_register, DW_AT_name("C2")
	.dwattr DW$57, DW_AT_location[DW_OP_reg18]
DW$58	.dwtag  DW_TAG_assign_register, DW_AT_name("C3")
	.dwattr DW$58, DW_AT_location[DW_OP_reg19]
DW$59	.dwtag  DW_TAG_assign_register, DW_AT_name("C4")
	.dwattr DW$59, DW_AT_location[DW_OP_reg20]
DW$60	.dwtag  DW_TAG_assign_register, DW_AT_name("C5")
	.dwattr DW$60, DW_AT_location[DW_OP_reg21]
DW$61	.dwtag  DW_TAG_assign_register, DW_AT_name("C6")
	.dwattr DW$61, DW_AT_location[DW_OP_reg22]
DW$62	.dwtag  DW_TAG_assign_register, DW_AT_name("C7")
	.dwattr DW$62, DW_AT_location[DW_OP_reg23]
DW$63	.dwtag  DW_TAG_assign_register, DW_AT_name("AP")
	.dwattr DW$63, DW_AT_location[DW_OP_reg24]
DW$64	.dwtag  DW_TAG_assign_register, DW_AT_name("SR")
	.dwattr DW$64, DW_AT_location[DW_OP_reg25]
DW$65	.dwtag  DW_TAG_assign_register, DW_AT_name("CIE_RETA")
	.dwattr DW$65, DW_AT_location[DW_OP_reg26]
	.dwendtag DW$CU

⌨️ 快捷键说明

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