📄 gf-indirec.asm
字号:
.dwattr DW$8, DW_AT_end_line(0x36)
.dwattr DW$8, DW_AT_end_column(0x01)
.dwendentry
.dwendtag DW$8
.sect ".text:v$2"
.clink
.global _GF5500_WriteMem
DW$17 .dwtag DW_TAG_subprogram, DW_AT_name("GF5500_WriteMem"), DW_AT_symbol_name("_GF5500_WriteMem")
.dwattr DW$17, DW_AT_veneer(0x01)
.dwattr DW$17, DW_AT_low_pc(_GF5500_WriteMem)
.dwattr DW$17, DW_AT_high_pc(0x00)
.dwattr DW$17, DW_AT_external(0x01)
.state32
;*****************************************************************************
;* FUNCTION VENEER: _GF5500_WriteMem *
;*****************************************************************************
_GF5500_WriteMem:
LDR ip, [pc]
BX ip
.field $GF5500_WriteMem+1, 32
.state16
.dwendtag DW$17
.sect ".text"
.clink
.global $GF5500_WriteMem
DW$18 .dwtag DW_TAG_subprogram, DW_AT_name("GF5500_WriteMem"), DW_AT_symbol_name("$GF5500_WriteMem")
.dwattr DW$18, DW_AT_low_pc($GF5500_WriteMem)
.dwattr DW$18, DW_AT_high_pc(0x00)
.dwattr DW$18, DW_AT_begin_file("GF-indirec.c")
.dwattr DW$18, DW_AT_begin_line(0x38)
.dwattr DW$18, DW_AT_begin_column(0x06)
.dwpsn "GF-indirec.c",57,1
.dwfde DW$CIE
;*****************************************************************************
;* FUNCTION NAME: GF5500_WriteMem *
;* *
;* Regs Modified : A1,A2,A3,SP,SR *
;* Regs Used : A1,A2,A3,SP,SR *
;* Local Frame Size : 0 Args + 20 Auto + 0 Save = 20 byte *
;*****************************************************************************
$GF5500_WriteMem:
;* --------------------------------------------------------------------------*
.dwcfa 0x0e, 0
.dwcfa 0x09, 26, 14
ADD SP, #-20
.dwcfa 0x0e, 20
;* A1 assigned to _index
DW$19 .dwtag DW_TAG_formal_parameter, DW_AT_name("index"), DW_AT_symbol_name("_index")
.dwattr DW$19, DW_AT_type(*DW$T$19)
.dwattr DW$19, DW_AT_location[DW_OP_reg0]
;* A2 assigned to _data
DW$20 .dwtag DW_TAG_formal_parameter, DW_AT_name("data"), DW_AT_symbol_name("_data")
.dwattr DW$20, DW_AT_type(*DW$T$20)
.dwattr DW$20, DW_AT_location[DW_OP_reg1]
DW$21 .dwtag DW_TAG_variable, DW_AT_name("index"), DW_AT_symbol_name("_index")
.dwattr DW$21, DW_AT_type(*DW$T$19)
.dwattr DW$21, DW_AT_location[DW_OP_breg13 0]
DW$22 .dwtag DW_TAG_variable, DW_AT_name("data"), DW_AT_symbol_name("_data")
.dwattr DW$22, DW_AT_type(*DW$T$20)
.dwattr DW$22, DW_AT_location[DW_OP_breg13 4]
DW$23 .dwtag DW_TAG_variable, DW_AT_name("Addr1"), DW_AT_symbol_name("_Addr1")
.dwattr DW$23, DW_AT_type(*DW$T$20)
.dwattr DW$23, DW_AT_location[DW_OP_breg13 6]
DW$24 .dwtag DW_TAG_variable, DW_AT_name("Addr2"), DW_AT_symbol_name("_Addr2")
.dwattr DW$24, DW_AT_type(*DW$T$20)
.dwattr DW$24, DW_AT_location[DW_OP_breg13 8]
DW$25 .dwtag DW_TAG_variable, DW_AT_name("pointer_index"), DW_AT_symbol_name("_pointer_index")
.dwattr DW$25, DW_AT_type(*DW$T$26)
.dwattr DW$25, DW_AT_location[DW_OP_breg13 12]
DW$26 .dwtag DW_TAG_variable, DW_AT_name("pointer_data"), DW_AT_symbol_name("_pointer_data")
.dwattr DW$26, DW_AT_type(*DW$T$26)
.dwattr DW$26, DW_AT_location[DW_OP_breg13 16]
MOV A3, SP
STRH A2, [A3, #4] ; |57|
STR A1, [SP, #0] ; |57|
.dwpsn "GF-indirec.c",58,6
MOV A2, #0 ; |58|
MOV A1, SP
STRH A2, [A1, #6] ; |58|
.dwpsn "GF-indirec.c",58,14
MOV A2, #0 ; |58|
MOV A1, SP
STRH A2, [A1, #8] ; |58|
.dwpsn "GF-indirec.c",63,2
LDR A1, [SP, #0] ; |63|
LSL A1, A1, #1 ; |63|
MOV A2, SP
STRH A1, [A2, #6] ; |63|
.dwpsn "GF-indirec.c",65,2
MOV A1, #17
LSL A1, A1, #22
STR A1, [SP, #12] ; |65|
.dwpsn "GF-indirec.c",67,2
MOV A1, SP
LDRH A1, [A1, #6] ; |67|
LDR A2, [SP, #12] ; |67|
STRH A1, [A2, #0] ; |67|
.dwpsn "GF-indirec.c",69,2
MOV A1, #1
LSL A1, A1, #26
STR A1, [SP, #16] ; |69|
.dwpsn "GF-indirec.c",70,2
MOV A1, SP
LDRH A1, [A1, #4] ; |70|
LDR A2, [SP, #16] ; |70|
STRH A1, [A2, #0] ; |70|
.dwpsn "GF-indirec.c",72,1
ADD SP, #20
.dwcfa 0x0e, 0
BX LR
.dwattr DW$18, DW_AT_end_file("GF-indirec.c")
.dwattr DW$18, DW_AT_end_line(0x48)
.dwattr DW$18, DW_AT_end_column(0x01)
.dwendentry
.dwendtag DW$18
.sect ".text:v$3"
.clink
.global _GF5500_ReadReg
DW$27 .dwtag DW_TAG_subprogram, DW_AT_name("GF5500_ReadReg"), DW_AT_symbol_name("_GF5500_ReadReg")
.dwattr DW$27, DW_AT_veneer(0x01)
.dwattr DW$27, DW_AT_low_pc(_GF5500_ReadReg)
.dwattr DW$27, DW_AT_high_pc(0x00)
.dwattr DW$27, DW_AT_external(0x01)
.state32
;*****************************************************************************
;* FUNCTION VENEER: _GF5500_ReadReg *
;*****************************************************************************
_GF5500_ReadReg:
LDR ip, [pc]
BX ip
.field $GF5500_ReadReg+1, 32
.state16
.dwendtag DW$27
.sect ".text"
.clink
.global $GF5500_ReadReg
DW$28 .dwtag DW_TAG_subprogram, DW_AT_name("GF5500_ReadReg"), DW_AT_symbol_name("$GF5500_ReadReg")
.dwattr DW$28, DW_AT_low_pc($GF5500_ReadReg)
.dwattr DW$28, DW_AT_high_pc(0x00)
.dwattr DW$28, DW_AT_begin_file("GF-indirec.c")
.dwattr DW$28, DW_AT_begin_line(0x4a)
.dwattr DW$28, DW_AT_begin_column(0x05)
.dwpsn "GF-indirec.c",75,1
.dwfde DW$CIE
;*****************************************************************************
;* FUNCTION NAME: GF5500_ReadReg *
;* *
;* Regs Modified : A1,A2,SP,SR *
;* Regs Used : A1,A2,SP,SR *
;* Local Frame Size : 0 Args + 20 Auto + 0 Save = 20 byte *
;*****************************************************************************
$GF5500_ReadReg:
;* --------------------------------------------------------------------------*
.dwcfa 0x0e, 0
.dwcfa 0x09, 26, 14
ADD SP, #-20
.dwcfa 0x0e, 20
;* A1 assigned to _index
DW$29 .dwtag DW_TAG_formal_parameter, DW_AT_name("index"), DW_AT_symbol_name("_index")
.dwattr DW$29, DW_AT_type(*DW$T$19)
.dwattr DW$29, DW_AT_location[DW_OP_reg0]
DW$30 .dwtag DW_TAG_variable, DW_AT_name("index"), DW_AT_symbol_name("_index")
.dwattr DW$30, DW_AT_type(*DW$T$19)
.dwattr DW$30, DW_AT_location[DW_OP_breg13 0]
DW$31 .dwtag DW_TAG_variable, DW_AT_name("Addr1"), DW_AT_symbol_name("_Addr1")
.dwattr DW$31, DW_AT_type(*DW$T$20)
.dwattr DW$31, DW_AT_location[DW_OP_breg13 4]
DW$32 .dwtag DW_TAG_variable, DW_AT_name("Addr2"), DW_AT_symbol_name("_Addr2")
.dwattr DW$32, DW_AT_type(*DW$T$20)
.dwattr DW$32, DW_AT_location[DW_OP_breg13 6]
DW$33 .dwtag DW_TAG_variable, DW_AT_name("pointer_index"), DW_AT_symbol_name("_pointer_index")
.dwattr DW$33, DW_AT_type(*DW$T$26)
.dwattr DW$33, DW_AT_location[DW_OP_breg13 8]
DW$34 .dwtag DW_TAG_variable, DW_AT_name("pointer_data"), DW_AT_symbol_name("_pointer_data")
.dwattr DW$34, DW_AT_type(*DW$T$26)
.dwattr DW$34, DW_AT_location[DW_OP_breg13 12]
DW$35 .dwtag DW_TAG_variable, DW_AT_name("data"), DW_AT_symbol_name("_data")
.dwattr DW$35, DW_AT_type(*DW$T$20)
.dwattr DW$35, DW_AT_location[DW_OP_breg13 16]
STR A1, [SP, #0] ; |75|
.dwpsn "GF-indirec.c",76,6
MOV A2, #0 ; |76|
MOV A1, SP
STRH A2, [A1, #4] ; |76|
.dwpsn "GF-indirec.c",76,14
MOV A2, #0 ; |76|
MOV A1, SP
STRH A2, [A1, #6] ; |76|
.dwpsn "GF-indirec.c",79,6
MOV A2, #0 ; |79|
MOV A1, SP
STRH A2, [A1, #16] ; |79|
.dwpsn "GF-indirec.c",81,2
LDR A1, [SP, #0] ; |81|
LSL A2, A1, #17 ; |90|
LSR A2, A2, #16 ; |90|
MOV A1, #1 ; |81|
ORR A1, A2 ; |81|
MOV A2, SP
STRH A1, [A2, #4] ; |81|
.dwpsn "GF-indirec.c",83,2
MOV A1, #17
LSL A1, A1, #22
STR A1, [SP, #8] ; |83|
.dwpsn "GF-indirec.c",85,2
MOV A1, SP
LDRH A1, [A1, #4] ; |85|
LDR A2, [SP, #8] ; |85|
STRH A1, [A2, #0] ; |85|
.dwpsn "GF-indirec.c",87,2
MOV A1, #1
LSL A1, A1, #26
STR A1, [SP, #12] ; |87|
.dwpsn "GF-indirec.c",88,2
LDR A1, [SP, #12] ; |88|
LDRH A1, [A1, #0] ; |88|
MOV A2, SP
STRH A1, [A2, #16] ; |88|
.dwpsn "GF-indirec.c",90,2
MOV A1, SP
LDRH A1, [A1, #16] ; |90|
.dwpsn "GF-indirec.c",91,1
ADD SP, #20 ; |90|
.dwcfa 0x0e, 0
BX LR
.dwattr DW$28, DW_AT_end_file("GF-indirec.c")
.dwattr DW$28, DW_AT_end_line(0x5b)
.dwattr DW$28, DW_AT_end_column(0x01)
.dwendentry
.dwendtag DW$28
.sect ".text:v$4"
.clink
.global _GF5500_ReadMem
DW$36 .dwtag DW_TAG_subprogram, DW_AT_name("GF5500_ReadMem"), DW_AT_symbol_name("_GF5500_ReadMem")
.dwattr DW$36, DW_AT_veneer(0x01)
.dwattr DW$36, DW_AT_low_pc(_GF5500_ReadMem)
.dwattr DW$36, DW_AT_high_pc(0x00)
.dwattr DW$36, DW_AT_external(0x01)
.state32
;*****************************************************************************
;* FUNCTION VENEER: _GF5500_ReadMem *
;*****************************************************************************
_GF5500_ReadMem:
LDR ip, [pc]
BX ip
.field $GF5500_ReadMem+1, 32
.state16
.dwendtag DW$36
.sect ".text"
.clink
.global $GF5500_ReadMem
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -