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

📄 bitoperation.asm

📁 OMAP1030 处理器的ARM 侧硬件测试代码 OMAP1030 是TI的双核处理器
💻 ASM
📖 第 1 页 / 共 2 页
字号:
;******************************************************************************
;* TMS470 C/C++ Codegen                                             PC v4.1.4 *
;* Date/Time created: Wed Jun 25 14:11:13 2008                                *
;******************************************************************************
	.compiler_opts --abi=ti_arm9_abi --endian=little --float_support=fpalib --quiet --silicon_version=5e 
	.state32

DW$CU	.dwtag  DW_TAG_compile_unit
	.dwattr DW$CU, DW_AT_name("bitoperation.c")
	.dwattr DW$CU, DW_AT_producer("TMS470 C/C++ Codegen PC v4.1.4 Copyright (c) 1996-2006 Texas Instruments Incorporated")
	.dwattr DW$CU, DW_AT_stmt_list(0x00)
	.dwattr DW$CU, DW_AT_TI_VERSION(0x01)
;	C:\CCStudio_v3.3\tms470\cgtools\bin\acp470.exe -@C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\TI43212 
	.sect	".text"
	.align	4
	.clink
	.armfunc _Setgroupbit
	.state32
	.global	_Setgroupbit

DW$1	.dwtag  DW_TAG_subprogram, DW_AT_name("Setgroupbit"), DW_AT_symbol_name("_Setgroupbit")
	.dwattr DW$1, DW_AT_low_pc(_Setgroupbit)
	.dwattr DW$1, DW_AT_high_pc(0x00)
	.dwattr DW$1, DW_AT_begin_file("bitoperation.c")
	.dwattr DW$1, DW_AT_begin_line(0x15)
	.dwattr DW$1, DW_AT_begin_column(0x06)
	.dwpsn	"bitoperation.c",22,1

	.dwfde DW$CIE

;*****************************************************************************
;* FUNCTION NAME: Setgroupbit                                                *
;*                                                                           *
;*   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                 *
;*****************************************************************************
_Setgroupbit:
;* --------------------------------------------------------------------------*
	.dwcfa	0x0e, 0
	.dwcfa	0x09, 26, 14
        SUB       SP, SP, #20
	.dwcfa	0x0e, 20
;* A1    assigned to _regOriginalValue
DW$2	.dwtag  DW_TAG_formal_parameter, DW_AT_name("regOriginalValue"), DW_AT_symbol_name("_regOriginalValue")
	.dwattr DW$2, DW_AT_type(*DW$T$10)
	.dwattr DW$2, DW_AT_location[DW_OP_reg0]
;* A2    assigned to _bitPosition
DW$3	.dwtag  DW_TAG_formal_parameter, DW_AT_name("bitPosition"), DW_AT_symbol_name("_bitPosition")
	.dwattr DW$3, DW_AT_type(*DW$T$10)
	.dwattr DW$3, DW_AT_location[DW_OP_reg1]
;* A3    assigned to _bitWidth
DW$4	.dwtag  DW_TAG_formal_parameter, DW_AT_name("bitWidth"), DW_AT_symbol_name("_bitWidth")
	.dwattr DW$4, DW_AT_type(*DW$T$10)
	.dwattr DW$4, DW_AT_location[DW_OP_reg2]
;* A4    assigned to _confValue
DW$5	.dwtag  DW_TAG_formal_parameter, DW_AT_name("confValue"), DW_AT_symbol_name("_confValue")
	.dwattr DW$5, DW_AT_type(*DW$T$10)
	.dwattr DW$5, DW_AT_location[DW_OP_reg3]
DW$6	.dwtag  DW_TAG_variable, DW_AT_name("regOriginalValue"), DW_AT_symbol_name("_regOriginalValue")
	.dwattr DW$6, DW_AT_type(*DW$T$10)
	.dwattr DW$6, DW_AT_location[DW_OP_breg13 0]
DW$7	.dwtag  DW_TAG_variable, DW_AT_name("bitPosition"), DW_AT_symbol_name("_bitPosition")
	.dwattr DW$7, DW_AT_type(*DW$T$10)
	.dwattr DW$7, DW_AT_location[DW_OP_breg13 4]
DW$8	.dwtag  DW_TAG_variable, DW_AT_name("bitWidth"), DW_AT_symbol_name("_bitWidth")
	.dwattr DW$8, DW_AT_type(*DW$T$10)
	.dwattr DW$8, DW_AT_location[DW_OP_breg13 8]
DW$9	.dwtag  DW_TAG_variable, DW_AT_name("confValue"), DW_AT_symbol_name("_confValue")
	.dwattr DW$9, DW_AT_type(*DW$T$10)
	.dwattr DW$9, DW_AT_location[DW_OP_breg13 12]
DW$10	.dwtag  DW_TAG_variable, DW_AT_name("regValueTemp"), DW_AT_symbol_name("_regValueTemp")
	.dwattr DW$10, DW_AT_type(*DW$T$10)
	.dwattr DW$10, DW_AT_location[DW_OP_breg13 16]
        STR       A4, [SP, #12]         ; |22| 
        STR       A3, [SP, #8]          ; |22| 
        STR       A2, [SP, #4]          ; |22| 
        STR       A1, [SP, #0]          ; |22| 
	.dwpsn	"bitoperation.c",23,9
        MOV       V9, #0                ; |23| 
        STR       V9, [SP, #16]         ; |23| 
	.dwpsn	"bitoperation.c",24,3
        LDR       V9, [SP, #0]          ; |24| 
        LDR       V9, [V9, #0]          ; |24| 
        STR       V9, [SP, #16]         ; |24| 
	.dwpsn	"bitoperation.c",25,3
        LDR       V9, [SP, #8]          ; |25| 
        MVN       A1, #0                ; |25| 
        RSB       V9, V9, #32           ; |25| 
        MOV       A1, A1, LSR V9        ; |25| 
        LDR       A2, [SP, #16]         ; |25| 
        LDR       V9, [SP, #4]          ; |25| 
        BIC       V9, A2, A1, LSL V9    ; |25| 
        STR       V9, [SP, #16]         ; |25| 
	.dwpsn	"bitoperation.c",26,3
        LDR       V9, [SP, #8]          ; |26| 
        MVN       A2, #0                ; |26| 
        LDR       A1, [SP, #12]         ; |26| 
        RSB       V9, V9, #32           ; |26| 
        AND       A1, A1, A2, LSR V9    ; |26| 
        LDR       A2, [SP, #16]         ; |26| 
        LDR       V9, [SP, #4]          ; |26| 
        ORR       V9, A2, A1, LSL V9    ; |26| 
        STR       V9, [SP, #16]         ; |26| 
	.dwpsn	"bitoperation.c",27,3
        LDR       V9, [SP, #16]         ; |27| 
        LDR       A1, [SP, #0]          ; |27| 
        STR       V9, [A1, #0]          ; |27| 
	.dwpsn	"bitoperation.c",29,3
        ADD       SP, SP, #20
	.dwcfa	0x0e, 0
        BX        LR
	.dwattr DW$1, DW_AT_end_file("bitoperation.c")
	.dwattr DW$1, DW_AT_end_line(0x1d)
	.dwattr DW$1, DW_AT_end_column(0x03)
	.dwendentry
	.dwendtag DW$1

	.sect	".text"
	.align	4
	.clink
	.armfunc _Setgroup16bit
	.state32
	.global	_Setgroup16bit

DW$11	.dwtag  DW_TAG_subprogram, DW_AT_name("Setgroup16bit"), DW_AT_symbol_name("_Setgroup16bit")
	.dwattr DW$11, DW_AT_low_pc(_Setgroup16bit)
	.dwattr DW$11, DW_AT_high_pc(0x00)
	.dwattr DW$11, DW_AT_begin_file("bitoperation.c")
	.dwattr DW$11, DW_AT_begin_line(0x28)
	.dwattr DW$11, DW_AT_begin_column(0x06)
	.dwpsn	"bitoperation.c",41,1

	.dwfde DW$CIE

;*****************************************************************************
;* FUNCTION NAME: Setgroup16bit                                              *
;*                                                                           *
;*   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                 *
;*****************************************************************************
_Setgroup16bit:
;* --------------------------------------------------------------------------*
	.dwcfa	0x0e, 0
	.dwcfa	0x09, 26, 14
        SUB       SP, SP, #20
	.dwcfa	0x0e, 20
;* A1    assigned to _regOriginalValue
DW$12	.dwtag  DW_TAG_formal_parameter, DW_AT_name("regOriginalValue"), DW_AT_symbol_name("_regOriginalValue")
	.dwattr DW$12, DW_AT_type(*DW$T$10)
	.dwattr DW$12, DW_AT_location[DW_OP_reg0]
;* A2    assigned to _bitPosition
DW$13	.dwtag  DW_TAG_formal_parameter, DW_AT_name("bitPosition"), DW_AT_symbol_name("_bitPosition")
	.dwattr DW$13, DW_AT_type(*DW$T$10)
	.dwattr DW$13, DW_AT_location[DW_OP_reg1]
;* A3    assigned to _bitWidth
DW$14	.dwtag  DW_TAG_formal_parameter, DW_AT_name("bitWidth"), DW_AT_symbol_name("_bitWidth")
	.dwattr DW$14, DW_AT_type(*DW$T$10)
	.dwattr DW$14, DW_AT_location[DW_OP_reg2]
;* A4    assigned to _confValue
DW$15	.dwtag  DW_TAG_formal_parameter, DW_AT_name("confValue"), DW_AT_symbol_name("_confValue")
	.dwattr DW$15, DW_AT_type(*DW$T$10)
	.dwattr DW$15, DW_AT_location[DW_OP_reg3]
DW$16	.dwtag  DW_TAG_variable, DW_AT_name("regOriginalValue"), DW_AT_symbol_name("_regOriginalValue")
	.dwattr DW$16, DW_AT_type(*DW$T$10)
	.dwattr DW$16, DW_AT_location[DW_OP_breg13 0]
DW$17	.dwtag  DW_TAG_variable, DW_AT_name("bitPosition"), DW_AT_symbol_name("_bitPosition")
	.dwattr DW$17, DW_AT_type(*DW$T$10)
	.dwattr DW$17, DW_AT_location[DW_OP_breg13 4]
DW$18	.dwtag  DW_TAG_variable, DW_AT_name("bitWidth"), DW_AT_symbol_name("_bitWidth")
	.dwattr DW$18, DW_AT_type(*DW$T$10)
	.dwattr DW$18, DW_AT_location[DW_OP_breg13 8]
DW$19	.dwtag  DW_TAG_variable, DW_AT_name("confValue"), DW_AT_symbol_name("_confValue")
	.dwattr DW$19, DW_AT_type(*DW$T$10)
	.dwattr DW$19, DW_AT_location[DW_OP_breg13 12]
DW$20	.dwtag  DW_TAG_variable, DW_AT_name("regValueTemp"), DW_AT_symbol_name("_regValueTemp")
	.dwattr DW$20, DW_AT_type(*DW$T$9)
	.dwattr DW$20, DW_AT_location[DW_OP_breg13 16]
        STR       A4, [SP, #12]         ; |41| 
        STR       A3, [SP, #8]          ; |41| 
        STR       A2, [SP, #4]          ; |41| 
        STR       A1, [SP, #0]          ; |41| 
	.dwpsn	"bitoperation.c",42,19
        MOV       V9, #0                ; |42| 
        STRH      V9, [SP, #16]         ; |42| 
	.dwpsn	"bitoperation.c",43,4
        LDR       V9, [SP, #0]          ; |43| 
        LDRH      V9, [V9, #0]          ; |43| 
        STRH      V9, [SP, #16]         ; |43| 
	.dwpsn	"bitoperation.c",44,4
        MOV       A1, #65536            ; |44| 
        LDR       V9, [SP, #8]          ; |44| 
        SUB       A1, A1, #1            ; |44| 
        RSB       V9, V9, #16           ; |44| 
        MOV       A1, A1, ASR V9        ; |44| 
        LDRH      A2, [SP, #16]         ; |44| 
        LDR       V9, [SP, #4]          ; |44| 
        BIC       V9, A2, A1, LSL V9    ; |44| 
        STRH      V9, [SP, #16]         ; |44| 
	.dwpsn	"bitoperation.c",45,4
        MOV       A1, #65536            ; |45| 
        LDR       V9, [SP, #8]          ; |45| 
        SUB       A1, A1, #1            ; |45| 
        LDR       A2, [SP, #12]         ; |45| 
        RSB       V9, V9, #16           ; |45| 
        AND       A1, A2, A1, ASR V9    ; |45| 
        LDRH      A2, [SP, #16]         ; |45| 
        LDR       V9, [SP, #4]          ; |45| 
        ORR       V9, A2, A1, LSL V9    ; |45| 
        STRH      V9, [SP, #16]         ; |45| 
	.dwpsn	"bitoperation.c",46,4
        LDRH      V9, [SP, #16]         ; |46| 
        LDR       A1, [SP, #0]          ; |46| 
        STRH      V9, [A1, #0]          ; |46| 
	.dwpsn	"bitoperation.c",48,3
        ADD       SP, SP, #20
	.dwcfa	0x0e, 0
        BX        LR
	.dwattr DW$11, DW_AT_end_file("bitoperation.c")
	.dwattr DW$11, DW_AT_end_line(0x30)
	.dwattr DW$11, DW_AT_end_column(0x03)
	.dwendentry
	.dwendtag DW$11

	.sect	".text"
	.align	4
	.clink
	.armfunc _Setgroup32bit
	.state32

⌨️ 快捷键说明

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