📄 bitoperation.asm
字号:
;******************************************************************************
;* 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 + -