📄 uart.asm
字号:
.dwpsn "UART.c",123,1
LDR A1, CON7 ; |123|
LDR V9, [SP, #0] ; |123|
LDR V9, [A1, +V9, LSL #2] ; |123|
ADD V9, V9, #8 ; |123|
LDRB A1, [V9, #0] ; |123|
ORR A1, A1, #16 ; |123|
STRB A1, [V9, #0] ; |123|
.dwpsn "UART.c",124,1
LDR A1, CON7 ; |124|
LDR V9, [SP, #0] ; |124|
LDR V9, [A1, +V9, LSL #2] ; |124|
ADD V9, V9, #12 ; |124|
LDRB A1, [V9, #0] ; |124|
BIC A1, A1, #128 ; |124|
STRB A1, [V9, #0] ; |124|
.dwpsn "UART.c",125,1
LDR A1, CON7 ; |125|
LDR V9, [SP, #0] ; |125|
LDR V9, [A1, +V9, LSL #2] ; |125|
MOV A1, #0 ; |125|
STRB A1, [V9, #4] ; |125|
.dwpsn "UART.c",127,1
LDR A1, CON7 ; |127|
LDR V9, [SP, #0] ; |127|
LDR V9, [A1, +V9, LSL #2] ; |127|
MOV A1, #0 ; |127|
STRB A1, [V9, #16] ; |127|
.dwpsn "UART.c",128,1
LDR A1, CON7 ; |128|
LDR V9, [SP, #0] ; |128|
LDR V9, [A1, +V9, LSL #2] ; |128|
ADD V9, V9, #12 ; |128|
LDRB A1, [V9, #0] ; |128|
BIC A1, A1, #64 ; |128|
STRB A1, [V9, #0] ; |128|
.dwpsn "UART.c",129,1
LDR A1, CON7 ; |129|
LDR V9, [SP, #0] ; |129|
LDR V9, [A1, +V9, LSL #2] ; |129|
ADD V9, V9, #32 ; |129|
LDRB A1, [V9, #0] ; |129|
ORR A1, A1, #7 ; |129|
STRB A1, [V9, #0] ; |129|
.dwpsn "UART.c",131,1
MOV A2, #8 ; |131|
LDR A1, [SP, #0] ; |131|
BL _UART_CharLenConfigure ; |131|
; |131|
.dwpsn "UART.c",132,1
MOV A2, #1 ; |132|
LDR A1, [SP, #0] ; |132|
BL _UART_StopBitConfigure ; |132|
; |132|
.dwpsn "UART.c",133,1
MOV A2, #0 ; |133|
LDR A1, [SP, #0] ; |133|
BL _UART_ParityConfigure ; |133|
; |133|
.dwpsn "UART.c",134,1
MOV A2, #15 ; |134|
MOV A3, #0 ; |134|
LDR A1, [SP, #0] ; |134|
BL _UART_BaudRateConfigure ; |134|
; |134|
.dwpsn "UART.c",135,1
MOV A2, #0 ; |135|
LDR A1, [SP, #0] ; |135|
BL _UART_FIFOConfigure ; |135|
; |135|
.dwpsn "UART.c",136,1
MOV A2, #0 ; |136|
LDR A1, [SP, #0] ; |136|
BL _UART_DMAConfigure ; |136|
; |136|
.dwpsn "UART.c",137,1
MOV A2, #2 ; |137|
LDR A1, [SP, #0] ; |137|
BL _UART_FlowCtrlConfigure ; |137|
; |137|
.dwpsn "UART.c",138,1
.dwcfa 0x0e, 8
LDMFD SP!, {A4, PC}
.dwattr DW$26, DW_AT_end_file("UART.c")
.dwattr DW$26, DW_AT_end_line(0x8a)
.dwattr DW$26, DW_AT_end_column(0x01)
.dwendentry
.dwendtag DW$26
.sect ".text"
.align 4
.clink
.armfunc _UART_CharLenConfigure
.state32
.global _UART_CharLenConfigure
DW$29 .dwtag DW_TAG_subprogram, DW_AT_name("UART_CharLenConfigure"), DW_AT_symbol_name("_UART_CharLenConfigure")
.dwattr DW$29, DW_AT_low_pc(_UART_CharLenConfigure)
.dwattr DW$29, DW_AT_high_pc(0x00)
.dwattr DW$29, DW_AT_begin_file("UART.c")
.dwattr DW$29, DW_AT_begin_line(0x8f)
.dwattr DW$29, DW_AT_begin_column(0x06)
.dwpsn "UART.c",144,1
.dwfde DW$CIE
;*****************************************************************************
;* FUNCTION NAME: UART_CharLenConfigure *
;* *
;* Regs Modified : A1,V9,SP,SR *
;* Regs Used : A1,A2,V9,SP,SR *
;* Local Frame Size : 0 Args + 8 Auto + 0 Save = 8 byte *
;*****************************************************************************
_UART_CharLenConfigure:
;* --------------------------------------------------------------------------*
.dwcfa 0x0e, 0
.dwcfa 0x09, 26, 14
SUB SP, SP, #8
.dwcfa 0x0e, 8
;* A1 assigned to _dev_num
DW$30 .dwtag DW_TAG_formal_parameter, DW_AT_name("dev_num"), DW_AT_symbol_name("_dev_num")
.dwattr DW$30, DW_AT_type(*DW$T$10)
.dwattr DW$30, DW_AT_location[DW_OP_reg0]
;* A2 assigned to _char_len
DW$31 .dwtag DW_TAG_formal_parameter, DW_AT_name("char_len"), DW_AT_symbol_name("_char_len")
.dwattr DW$31, DW_AT_type(*DW$T$10)
.dwattr DW$31, DW_AT_location[DW_OP_reg1]
DW$32 .dwtag DW_TAG_variable, DW_AT_name("dev_num"), DW_AT_symbol_name("_dev_num")
.dwattr DW$32, DW_AT_type(*DW$T$10)
.dwattr DW$32, DW_AT_location[DW_OP_breg13 0]
DW$33 .dwtag DW_TAG_variable, DW_AT_name("char_len"), DW_AT_symbol_name("_char_len")
.dwattr DW$33, DW_AT_type(*DW$T$10)
.dwattr DW$33, DW_AT_location[DW_OP_breg13 4]
STR A2, [SP, #4] ; |144|
STR A1, [SP, #0] ; |144|
.dwpsn "UART.c",145,1
B L20 ; |145|
; |145|
;* --------------------------------------------------------------------------*
;* --------------------------------------------------------------------------*
L16:
.dwpsn "UART.c",150,5
LDR V9, [SP, #0] ; |150|
LDR A1, CON7 ; |150|
LDR V9, [A1, +V9, LSL #2] ; |150|
ADD V9, V9, #12 ; |150|
LDRB A1, [V9, #0] ; |150|
ORR A1, A1, #1 ; |150|
STRB A1, [V9, #0] ; |150|
.dwpsn "UART.c",151,10
B L21 ; |151|
; |151|
;* --------------------------------------------------------------------------*
L17:
.dwpsn "UART.c",153,5
LDR V9, [SP, #0] ; |153|
LDR A1, CON7 ; |153|
LDR V9, [A1, +V9, LSL #2] ; |153|
ADD V9, V9, #12 ; |153|
LDRB A1, [V9, #0] ; |153|
ORR A1, A1, #2 ; |153|
STRB A1, [V9, #0] ; |153|
.dwpsn "UART.c",154,10
B L21 ; |154|
; |154|
;* --------------------------------------------------------------------------*
L18:
.dwpsn "UART.c",156,5
LDR V9, [SP, #0] ; |156|
LDR A1, CON7 ; |156|
LDR V9, [A1, +V9, LSL #2] ; |156|
ADD V9, V9, #12 ; |156|
LDRB A1, [V9, #0] ; |156|
ORR A1, A1, #3 ; |156|
STRB A1, [V9, #0] ; |156|
.dwpsn "UART.c",157,10
B L21 ; |157|
; |157|
;* --------------------------------------------------------------------------*
L19:
.dwpsn "UART.c",159,5
LDR V9, [SP, #0] ; |159|
LDR A1, CON7 ; |159|
LDR V9, [A1, +V9, LSL #2] ; |159|
ADD V9, V9, #12 ; |159|
LDRB A1, [V9, #0] ; |159|
ORR A1, A1, #3 ; |159|
STRB A1, [V9, #0] ; |159|
.dwpsn "UART.c",160,10
B L21 ; |160|
; |160|
;* --------------------------------------------------------------------------*
L20:
.dwpsn "UART.c",145,1
LDR V9, [SP, #4] ; |145|
SUBS V9, V9, #5 ; |145|
BEQ L21 ; |145|
; |145|
;* --------------------------------------------------------------------------*
SUBS V9, V9, #1 ; |145|
BEQ L16 ; |145|
; |145|
;* --------------------------------------------------------------------------*
SUBS V9, V9, #1 ; |145|
BEQ L17 ; |145|
; |145|
;* --------------------------------------------------------------------------*
SUBS V9, V9, #1 ; |145|
BEQ L18 ; |145|
; |145|
;* --------------------------------------------------------------------------*
B L19 ; |145|
; |145|
;* --------------------------------------------------------------------------*
L21:
.dwpsn "UART.c",162,1
ADD SP, SP, #8
.dwcfa 0x0e, 0
BX LR
.dwattr DW$29, DW_AT_end_file("UART.c")
.dwattr DW$29, DW_AT_end_line(0xa2)
.dwattr DW$29, DW_AT_end_column(0x01)
.dwendentry
.dwendtag DW$29
.sect ".text"
.align 4
.clink
.armfunc _UART_StopBitConfigure
.state32
.global _UART_StopBitConfigure
DW$34 .dwtag DW_TAG_subprogram, DW_AT_name("UART_StopBitConfigure"), DW_AT_symbol_name("_UART_StopBitConfigure")
.dwattr DW$34, DW_AT_low_pc(_UART_StopBitConfigure)
.dwattr DW$34, DW_AT_high_pc(0x00)
.dwattr DW$34, DW_AT_begin_file("UART.c")
.dwattr DW$34, DW_AT_begin_line(0xa7)
.dwattr DW$34, DW_AT_begin_column(0x06)
.dwpsn "UART.c",168,1
.dwfde DW$CIE
;*****************************************************************************
;* FUNCTION NAME: UART_StopBitConfigure *
;* *
;* Regs Modified : A1,V9,SP,SR *
;* Regs Used : A1,A2,V9,SP,SR *
;* Local Frame Size : 0 Args + 8 Auto + 0 Save = 8 byte *
;*****************************************************************************
_UART_StopBitConfigure:
;* --------------------------------------------------------------------------*
.dwcfa 0x0e, 0
.dwcfa 0x09, 26, 14
SUB SP, SP, #8
.dwcfa 0x0e, 8
;* A1 assigned to _dev_num
DW$35 .dwtag DW_TAG_formal_parameter, DW_AT_name("dev_num"), DW_AT_symbol_name("_dev_num")
.dwattr DW$35, DW_AT_type(*DW$T$10)
.dwattr DW$35, DW_AT_location[DW_OP_reg0]
;* A2 assigned to _stop_bit
DW$36 .dwtag DW_TAG_formal_parameter, DW_AT_name("stop_bit"), DW_AT_symbol_name("_stop_bit")
.dwattr DW$36, DW_AT_type(*DW$T$10)
.dwattr DW$36, DW_AT_location[DW_OP_reg1]
DW$37 .dwtag DW_TAG_variable, DW_AT_name("dev_num"), DW_AT_symbol_name("_dev_num")
.dwattr DW$37, DW_AT_type(*DW$T$10)
.dwattr DW$37, DW_AT_location[DW_OP_breg13 0]
DW$38 .dwtag DW_TAG_variable, DW_AT_name("stop_bit"), DW_AT_symbol_name("_stop_bit")
.dwattr DW$38, DW_AT_type(*DW$T$10)
.dwattr DW$38, DW_AT_location[DW_OP_breg13 4]
STR A2, [SP, #4] ; |168|
STR A1, [SP, #0] ; |168|
.dwpsn "UART.c",169,1
B L23 ; |169|
; |169|
;* --------------------------------------------------------------------------*
;* --------------------------------------------------------------------------*
L22:
.dwpsn "UART.c",174,6
LDR V9, [SP, #0] ; |174|
LDR A1, CON7 ; |174|
LDR V9, [A1, +V9, LSL #2] ; |174|
ADD V9, V9, #12 ; |174|
LDRB A1, [V9, #0] ; |174|
ORR A1, A1, #4 ; |174|
STRB A1, [V9, #0] ; |174|
.dwpsn "UART.c",175,10
B L24 ; |175|
; |175|
;* --------------------------------------------------------------------------*
;* --------------------------------------------------------------------------*
L23:
.dwpsn "UART.c",169,1
LDR V9, [SP, #4] ; |169|
SUBS V9, V9, #1 ; |169|
BEQ L24 ; |169|
; |169|
;* --------------------------------------------------------------------------*
SUBS V9, V9, #1 ; |169|
BEQ L22 ; |169|
; |169|
;* --------------------------------------------------------------------------*
;* --------------------------------------------------------------------------*
L24:
.dwpsn "UART.c",179,1
ADD SP, SP, #8
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -