
GPIO-Output-DirectAddressMSP432-20210406.out:     file format elf32-littlearm
GPIO-Output-DirectAddressMSP432-20210406.out
architecture: arm, flags 0x00000112:
EXEC_P, HAS_SYMS, D_PAGED
start address 0x0001b000

Program Header:
0x70000001 off    0x0000f8e4 vaddr 0x0001f8e4 paddr 0x0001f8e4 align 2**2
         filesz 0x00000008 memsz 0x00000008 flags r--
    LOAD off    0x00000000 vaddr 0x00010000 paddr 0x00010000 align 2**16
         filesz 0x0000a0e4 memsz 0x0000a0e4 flags r--
    LOAD off    0x0000b000 vaddr 0x0001b000 paddr 0x0001b000 align 2**16
         filesz 0x000048ec memsz 0x000048ec flags r-x
    LOAD off    0x00012000 vaddr 0x20002000 paddr 0x0001f8ec align 2**16
         filesz 0x00000134 memsz 0x00000134 flags rw-
    LOAD off    0x00012134 vaddr 0x20002134 paddr 0x20002134 align 2**16
         filesz 0x00000000 memsz 0x0000102c flags rw-
private flags = 5000400: [Version5 EABI] [hard-float ABI]

Sections:
Idx Name            Size      VMA       LMA       File off  Algn  Flags
  0 .intvecs        000000e4  0001a000  0001a000  0000a000  2**2  CONTENTS, ALLOC, LOAD, READONLY, DATA
  1 .text           000047e4  0001b000  0001b000  0000b000  2**3  CONTENTS, ALLOC, LOAD, READONLY, CODE
  2 .rodata         00000100  0001f7e4  0001f7e4  0000f7e4  2**2  CONTENTS, ALLOC, LOAD, READONLY, DATA
  3 .ARM.exidx      00000008  0001f8e4  0001f8e4  0000f8e4  2**2  CONTENTS, ALLOC, LOAD, READONLY, DATA
  4 .data           00000134  20002000  0001f8ec  00012000  2**2  CONTENTS, ALLOC, LOAD, DATA
  5 .bss            00001028  20002134  20002134  00012134  2**2  ALLOC
  6 .heap           00000004  2000315c  2000315c  00012134  2**0  ALLOC
  7 .stack          00000000  20003160  20003160  00012134  2**0  CONTENTS
  8 .ARM.attributes 00000030  00000000  00000000  00012134  2**0  CONTENTS, READONLY
  9 .comment        0000007e  00000000  00000000  00012164  2**0  CONTENTS, READONLY
 10 .debug_info     00008b9e  00000000  00000000  000121e2  2**0  CONTENTS, READONLY, DEBUGGING
 11 .debug_abbrev   00001746  00000000  00000000  0001ad80  2**0  CONTENTS, READONLY, DEBUGGING
 12 .debug_aranges  00000140  00000000  00000000  0001c4c6  2**0  CONTENTS, READONLY, DEBUGGING
 13 .debug_line     000024a7  00000000  00000000  0001c606  2**0  CONTENTS, READONLY, DEBUGGING
 14 .debug_str      0000190c  00000000  00000000  0001eaad  2**0  CONTENTS, READONLY, DEBUGGING
 15 .debug_frame    00000d88  00000000  00000000  000203bc  2**2  CONTENTS, READONLY, DEBUGGING
SYMBOL TABLE:
0001a000 l    d  .intvecs	00000000 .intvecs
0001b000 l    d  .text	00000000 .text
0001f7e4 l    d  .rodata	00000000 .rodata
0001f8e4 l    d  .ARM.exidx	00000000 .ARM.exidx
20002000 l    d  .data	00000000 .data
20002134 l    d  .bss	00000000 .bss
2000315c l    d  .heap	00000000 .heap
20003160 l    d  .stack	00000000 .stack
00000000 l    d  .ARM.attributes	00000000 .ARM.attributes
00000000 l    d  .comment	00000000 .comment
00000000 l    d  .debug_info	00000000 .debug_info
00000000 l    d  .debug_abbrev	00000000 .debug_abbrev
00000000 l    d  .debug_aranges	00000000 .debug_aranges
00000000 l    d  .debug_line	00000000 .debug_line
00000000 l    d  .debug_str	00000000 .debug_str
00000000 l    d  .debug_frame	00000000 .debug_frame
00000000 l    df *ABS*	00000000 startup_msp432p401r_gcc.c
0001bb94 l     F .text	00000000 zero_loop
00000000 l    df *ABS*	00000000 d:/ahl-gec-ide(4.20)/gcc/bin/../lib/gcc/arm-none-eabi/7.2.1/thumb/v7e-m/fpv4-sp/hard/crti.o
00000000 l    df *ABS*	00000000 crtstuff.c
0001b000 l     F .text	00000000 __do_global_dtors_aux
20002134 l       .bss	00000001 completed.9929
0001b024 l     F .text	00000000 frame_dummy
20002138 l       .bss	00000018 object.9934
0001f7d8 l     O .text	00000000 __frame_dummy_init_array_entry
00000000 l    df *ABS*	00000000 d:/ahl-gec-ide(4.20)/gcc/bin/../lib/gcc/arm-none-eabi/7.2.1/../../../../arm-none-eabi/lib/thumb/v7e-m/fpv4-sp/hard/crt0.o
00000000 l    df *ABS*	00000000 emuart.c
20002004 l     O .data	00000006 emuartTerminStr1
2000200c l     O .data	00000002 emuartFrameHead
20002010 l     O .data	00000002 emuartFrameTail
20002014 l     O .data	00000008 emuartTerminStr2
20002150 l       .bss	00000001 UART_NO
2000201c l     O .data	00000001 markPos.7455
2000201e l     O .data	00000002 index.7453
20002020 l     O .data	00000002 length.7454
20002022 l     O .data	00000001 markPos.7470
20002024 l     O .data	00000002 index.7468
20002026 l     O .data	00000002 length.7469
00000000 l    df *ABS*	00000000 system_msp432p401r.c
00000000 l    df *ABS*	00000000 main.c
00000000 l    df *ABS*	00000000 flash.c
00000000 l    df *ABS*	00000000 gpio.c
0001c504 l     F .text	00000034 NVIC_EnableIRQ
0001c538 l     F .text	00000034 NVIC_DisableIRQ
0001c56c l     F .text	0000002e gpio_port_pin_resolution
00000000 l    df *ABS*	00000000 gec.c
0001d15c l     F .text	00000028 NVIC_SystemReset
00000000 l    df *ABS*	00000000 uart.c
0001d4f0 l     F .text	00000034 NVIC_EnableIRQ
0001d524 l     F .text	00000034 NVIC_DisableIRQ
20002054 l     O .data	00000010 UART_ARR
0001f8dc l     O .rodata	00000004 table_irq_uart
00000000 l    df *ABS*	00000000 isr.c
00000000 l    df *ABS*	00000000 printf.c
0001dc1c l     F .text	00000050 printk_putc
0001df84 l     F .text	000000fe printk_mknumstr
0001e082 l     F .text	00000034 printk_pad_zero
0001e0b6 l     F .text	00000034 printk_pad_space
00000000 l    df *ABS*	00000000 exit.c
00000000 l    df *ABS*	00000000 impure.c
200020d4 l     O .data	00000060 impure_data
00000000 l    df *ABS*	00000000 init.c
00000000 l    df *ABS*	00000000 memcpy-stub.c
00000000 l    df *ABS*	00000000 memset.c
00000000 l    df *ABS*	00000000 lib_a-strcmp.o
00000000 l    df *ABS*	00000000 lib_a-strlen.o
00000000 l    df *ABS*	00000000 strncmp.c
00000000 l    df *ABS*	00000000 _arm_addsubdf3.o
00000000 l    df *ABS*	00000000 _arm_muldivdf3.o
00000000 l    df *ABS*	00000000 _arm_cmpdf2.o
00000000 l    df *ABS*	00000000 _arm_fixunsdfsi.o
00000000 l    df *ABS*	00000000 _aeabi_uldivmod.o
00000000 l    df *ABS*	00000000 libgcc2.c
00000000 l    df *ABS*	00000000 libgcc2.c
00000000 l    df *ABS*	00000000 _dvmd_tls.o
00000000 l    df *ABS*	00000000 _exit.c
00000000 l    df *ABS*	00000000 crtstuff.c
0001be54 g     F .text	000001ac flash_write
0001bbc0  w    F .text	00000006 CS_IRQHandler
20003160 g       .heap	00000000 __HeapBase
0001f358 g     F .text	00000012 .hidden __aeabi_dcmple
0001f294 g     F .text	0000007a .hidden __cmpdf2
0001bbc0  w    F .text	00000006 DebugMon_Handler
0001c184 g     F .text	00000026 flash_read_physical
0001f294 g     F .text	0000007a .hidden __eqdf2
0001cfbc g     F .text	000001a0 gpio_drive_strength
20002000 g       .data	00000000 __data_start__
0001ee04 g     F .text	0000005a .hidden __floatdidf
0001bbc0  w    F .text	00000006 AES256_IRQHandler
0000003f g       *ABS*	00000000 GEC_USER_SECTOR_END
0001bbc0  w    F .text	00000006 HardFault_Handler
0001bbc0  w    F .text	00000006 SysTick_Handler
20002064 g     O .data	00000048 BRSxS
0001bbc0  w    F .text	00000006 PendSV_Handler
0001bbc0  w    F .text	00000006 NMI_Handler
0001f8ec g       .ARM.exidx	00000000 __exidx_end
0001d7f0 g     F .text	00000068 uart_sendN
0001bbc0  w    F .text	00000006 RTC_C_IRQHandler
0001f284 g     F .text	0000008a .hidden __gtdf2
0001f8ec g       .ARM.exidx	00000000 __etext
0001d9ae g     F .text	00000052 uart_enable_re_int
0001f320 g     F .text	00000010 .hidden __aeabi_cdcmple
20002000 g       *ABS*	00000000 _vtable_base_address
0000001a g       *ABS*	00000000 GEC_USER_SECTOR_START
0001f788 g     F .text	00000016 memcpy
0001f310 g     F .text	00000020 .hidden __aeabi_cdrcmple
0001c252 g     F .text	000000ba flash_protect
0001ed8c g     F .text	00000022 .hidden __floatsidf
0001bbc0  w    F .text	00000006 PORT1_IRQHandler
0001f28c g     F .text	00000082 .hidden __ltdf2
0001f3d4 g     F .text	00000000 .hidden __aeabi_uldivmod
0001bbc0  w    F .text	00000006 FPU_IRQHandler
0001bbc0  w    F .text	00000006 PORT2_IRQHandler
20002028 g     O .data	00000004 SystemCoreClock
0001dac2 g     F .text	0000006e BRSxSel
0001bbc0  w    F .text	00000006 TA3_0_IRQHandler
0001bbc0  w    F .text	00000006 UsageFault_Handler
0001f394 g     F .text	00000040 .hidden __fixunsdfsi
20003160 g       .heap	00000000 __HeapLimit
20002134 g       .bss	00000000 __bss_start__
20002000 g     O .data	00000000 .hidden __dso_handle
0001bd00 g     F .text	00000154 flash_erase
0001ed6c g     F .text	0000001e .hidden __aeabi_ui2d
0001bbc0  w    F .text	00000006 DMA_INT3_IRQHandler
0001bbc0  w    F .text	00000006 TA2_0_IRQHandler
0001f448 g     F .text	000002cc .hidden __udivmoddi4
0001eae8 g     F .text	00000000 .hidden __aeabi_drsub
0001da00 g     F .text	00000050 uart_disable_re_int
0001f344 g     F .text	00000012 .hidden __aeabi_dcmplt
0001bbc0  w    F .text	00000006 DMA_INT1_IRQHandler
0001edb0 g     F .text	00000042 .hidden __extendsfdf2
0001f0b4 g     F .text	000001d0 .hidden __aeabi_ddiv
0001eaf4 g     F .text	00000276 .hidden __adddf3
200020ac g     O .data	00000024 ValBRSxS
0001f8e4 g       .ARM.exidx	00000000 __exidx_start
0001ee60 g     F .text	00000254 .hidden __aeabi_dmul
0001bbc0  w    F .text	00000006 WDT_A_IRQHandler
0001f8e0 g     O .rodata	00000004 _global_impure_ptr
0001f740 g     F .text	00000048 __libc_init_array
0001bcd4 g     F .text	0000002c flash_init
0001b040 g     F .text	00000000 _mainCRTStartup
0001ed6c g     F .text	0000001e .hidden __floatunsidf
0001b0b4 g     F .text	00000030 emuart_init
0001dc6c g     F .text	00000318 printk_mkfloatstr
0001f7dc g     F .text	00000000 _init
0001bbc0  w    F .text	00000006 TA2_N_IRQHandler
0001f404 g     F .text	00000044 .hidden __aeabi_d2ulz
0001b0e4 g     F .text	0000001c emuart_send1
0001bbc0  w    F .text	00000006 TA1_0_IRQHandler
00001000 g       *ABS*	00000000 MCU_SECTORSIZE
0001bb64  w    F .text	0000005c Reset_Handler
20002040 g     O .data	00000014 GPIO_EVEN_ARR
0001bbc0  w    F .text	00000006 PSS_IRQHandler
0001bbc0  w    F .text	00000006 DMA_INT2_IRQHandler
0001da50 g     F .text	00000050 uart_get_re_int
0001db30 g     F .text	0000004e EUSCIA3_IRQHandler
0001d940 g     F .text	0000006e uart_reN
0001bbc0  w    F .text	00000006 DMA_INT0_IRQHandler
0001eaf4 g     F .text	00000276 .hidden __aeabi_dadd
0001f28c g     F .text	00000082 .hidden __ledf2
20010000 g       *ABS*	00000000 GEC_USER_RAM_END
0001ea88 g     F .text	0000003c myprintf
0001edf4 g     F .text	0000006a .hidden __aeabi_ul2d
0001bbc0  w    F .text	00000006 PORT4_IRQHandler
0001bbc0  w    F .text	00000006 PORT5_IRQHandler
0001d858 g     F .text	00000064 uart_send_string
20002134 g       .data	00000000 __data_end__
0001f380 g     F .text	00000012 .hidden __aeabi_dcmpgt
0001d558 g     F .text	00000220 uart_init
0001bbc0  w    F .text	00000006 EUSCIB0_IRQHandler
2000315c g       .bss	00000000 __bss_end__
0001c9ac g     F .text	000000c0 gpio_get
0001f36c g     F .text	00000012 .hidden __aeabi_dcmpge
0001eaf0 g     F .text	0000027a .hidden __aeabi_dsub
0001bbc0 g     F .text	00000006 Default_Handler
0001b040 g     F .text	00000000 _start
20002154 g     O .bss	00000004 component_fun
0001edf4 g     F .text	0000006a .hidden __floatundidf
20002000 g       *ABS*	00000000 GEC_USER_RAM_START
0001bbc0  w    F .text	00000006 T32_INTC_IRQHandler
0001c3cc g     F .text	00000080 flash_isSectorProtected
0001f7ae g     F .text	00000024 strncmp
0001b724 g     F .text	00000078 crc16
0001bbc0  w    F .text	00000006 TA3_N_IRQHandler
0001db7e g     F .text	0000007e User_SysFun
0001f8ec g       *ABS*	00000000 __data_load__
0001bbc0  w    F .text	00000006 TA0_0_IRQHandler
0001ed8c g     F .text	00000022 .hidden __aeabi_i2d
0001dc00 g     F .text	0000001c out_char
0001bbc0  w    F .text	00000006 EUSCIA2_IRQHandler
0001bbc0  w    F .text	00000006 PORT6_IRQHandler
0001cecc g     F .text	000000f0 gpio_disable_int
0001e0ea g     F .text	0000099e printk
0001f714  w    F .text	00000002 .hidden __aeabi_ldiv0
0001f0b4 g     F .text	000001d0 .hidden __divdf3
0001c1aa g     F .text	000000a8 flash_read_logic
0001bbc0  w    F .text	00000006 PORT3_IRQHandler
0001ee60 g     F .text	00000254 .hidden __muldf3
0001d8bc g     F .text	00000084 uart_re1
0001c30c g     F .text	000000c0 flash_unprotect
0001b660 g     F .text	000000c4 sendFrame
0001f79e g     F .text	00000010 memset
0001bbc0  w    F .text	00000006 MemManage_Handler
0001bbd0 g     F .text	00000104 main
0001bbc0  w    F .text	00000006 SVC_Handler
0001bbc0  w    F .text	00000006 TA1_N_IRQHandler
0001f7dc g       .text	00000000 __init_array_end
0001b3c4 g     F .text	0000029c useremuart_frame
0001ee04 g     F .text	0000005a .hidden __aeabi_l2d
20003160 g       .heap	00000000 __end__
0001eac4 g     F .text	00000014 strcmp
0001ba9c g     F .text	000000c8 SystemInit
0001f404 g     F .text	00000044 .hidden __fixunsdfdi
0001f294 g     F .text	0000007a .hidden __nedf2
0001f7e0 g     F .text	00000000 _fini
20010000 g       .heap	00000000 __StackTop
200020d0 g     O .data	00000004 _impure_ptr
20002158 g     O .bss	00000002 gcRecvLen
0001c000 g     F .text	00000184 flash_write_physical
0001bbc0  w    F .text	00000006 EUSCIA1_IRQHandler
0001c44c g     F .text	000000b6 flash_isempty
0001bbc0  w    F .text	00000006 COMP_E1_IRQHandler
0001bbc0  w    F .text	00000006 EUSCIB2_IRQHandler
0001cd14 g     F .text	000001b8 gpio_enable_int
0001bbc0  w    F .text	00000006 FLCTL_IRQHandler
0001f394 g     F .text	00000040 .hidden __aeabi_d2uiz
0001d184 g     F .text	000000d4 Vectors_Init
2000215a g     O .bss	00000002 gcRecvDCLen
0001b150 g     F .text	00000274 emuart_frame
0001bbc0  w    F .text	00000006 EUSCIB3_IRQHandler
0001f330 g     F .text	00000012 .hidden __aeabi_dcmpeq
0001b11e g     F .text	00000032 emuart_send_string
0001cbd4 g     F .text	00000140 gpio_pull
0001b100 g     F .text	0000001e emuart_sendN
2000202c g     O .data	00000014 GPIO_ODD_ARR
0001a000 g     O .intvecs	000000e4 interruptVectors
0001f718 g     F .text	00000028 exit
0001b79c g     F .text	00000300 SystemCoreClockUpdate
0001d258 g     F .text	00000298 SYSTEM_FUNCTION
0001bbc0  w    F .text	00000006 T32_INT1_IRQHandler
0001bbc0  w    F .text	00000006 DMA_ERR_IRQHandler
0001bbc0  w    F .text	00000006 ADC14_IRQHandler
0001f714  w    F .text	00000002 .hidden __aeabi_idiv0
0001f7d8 g       .text	00000000 __init_array_start
0001f7d4 g     F .text	00000002 _exit
0001bbc0  w    F .text	00000006 EUSCIA0_IRQHandler
0001bbc0  w    F .text	00000006 BusFault_Handler
0001ead8 g     F .text	00000010 strlen
0001f320 g     F .text	00000010 .hidden __aeabi_cdcmpeq
0001f284 g     F .text	0000008a .hidden __gedf2
0001d778 g     F .text	00000078 uart_send1
0001daa0 g     F .text	00000022 uart_is_uartNo
0001c86c g     F .text	00000140 gpio_set
0001bbc0  w    F .text	00000006 PCM_IRQHandler
0001ca6c g     F .text	00000168 gpio_reverse
0001edb0 g     F .text	00000042 .hidden __aeabi_f2d
0001c59a g     F .text	000002d2 gpio_init
0001bbc0  w    F .text	00000006 TA0_N_IRQHandler
0001eaf0 g     F .text	0000027a .hidden __subdf3
0001bbc0  w    F .text	00000006 COMP_E0_IRQHandler
0001bbc0  w    F .text	00000006 EUSCIB1_IRQHandler
0001a000 g       *ABS*	00000000 _intvecs_base_address
0001bbc0  w    F .text	00000006 T32_INT2_IRQHandler
2000215c g     O .bss	00001000 gcRecvBuf
00000000 g       *ABS*	00000000 MCU_FLASH_ADDR_START



Disassembly of section .text:

0001b000 <__do_global_dtors_aux>:
__do_global_dtors_aux():
   1b000:	b510      	push	{r4, lr}
   1b002:	4c05      	ldr	r4, [pc, #20]	; (1b018 <__do_global_dtors_aux+0x18>)
   1b004:	7823      	ldrb	r3, [r4, #0]
   1b006:	b933      	cbnz	r3, 1b016 <__do_global_dtors_aux+0x16>
   1b008:	4b04      	ldr	r3, [pc, #16]	; (1b01c <__do_global_dtors_aux+0x1c>)
   1b00a:	b113      	cbz	r3, 1b012 <__do_global_dtors_aux+0x12>
   1b00c:	4804      	ldr	r0, [pc, #16]	; (1b020 <__do_global_dtors_aux+0x20>)
   1b00e:	f3af 8000 	nop.w
   1b012:	2301      	movs	r3, #1
   1b014:	7023      	strb	r3, [r4, #0]
   1b016:	bd10      	pop	{r4, pc}
   1b018:	20002134 	.word	0x20002134
   1b01c:	00000000 	.word	0x00000000
   1b020:	0001f8e4 	.word	0x0001f8e4

0001b024 <frame_dummy>:
frame_dummy():
   1b024:	b508      	push	{r3, lr}
   1b026:	4b03      	ldr	r3, [pc, #12]	; (1b034 <frame_dummy+0x10>)
   1b028:	b11b      	cbz	r3, 1b032 <frame_dummy+0xe>
   1b02a:	4903      	ldr	r1, [pc, #12]	; (1b038 <frame_dummy+0x14>)
   1b02c:	4803      	ldr	r0, [pc, #12]	; (1b03c <frame_dummy+0x18>)
   1b02e:	f3af 8000 	nop.w
   1b032:	bd08      	pop	{r3, pc}
   1b034:	00000000 	.word	0x00000000
   1b038:	20002138 	.word	0x20002138
   1b03c:	0001f8e4 	.word	0x0001f8e4

0001b040 <_mainCRTStartup>:
_start():
   1b040:	4b15      	ldr	r3, [pc, #84]	; (1b098 <_mainCRTStartup+0x58>)
   1b042:	2b00      	cmp	r3, #0
   1b044:	bf08      	it	eq
   1b046:	4b13      	ldreq	r3, [pc, #76]	; (1b094 <_mainCRTStartup+0x54>)
   1b048:	469d      	mov	sp, r3
   1b04a:	f5a3 3a80 	sub.w	sl, r3, #65536	; 0x10000
   1b04e:	2100      	movs	r1, #0
   1b050:	468b      	mov	fp, r1
   1b052:	460f      	mov	r7, r1
   1b054:	4813      	ldr	r0, [pc, #76]	; (1b0a4 <_mainCRTStartup+0x64>)
   1b056:	4a14      	ldr	r2, [pc, #80]	; (1b0a8 <_mainCRTStartup+0x68>)
   1b058:	1a12      	subs	r2, r2, r0
   1b05a:	f004 fba0 	bl	1f79e <memset>
   1b05e:	4b0f      	ldr	r3, [pc, #60]	; (1b09c <_mainCRTStartup+0x5c>)
   1b060:	2b00      	cmp	r3, #0
   1b062:	d000      	beq.n	1b066 <_mainCRTStartup+0x26>
   1b064:	4798      	blx	r3
   1b066:	4b0e      	ldr	r3, [pc, #56]	; (1b0a0 <_mainCRTStartup+0x60>)
   1b068:	2b00      	cmp	r3, #0
   1b06a:	d000      	beq.n	1b06e <_mainCRTStartup+0x2e>
   1b06c:	4798      	blx	r3
   1b06e:	2000      	movs	r0, #0
   1b070:	2100      	movs	r1, #0
   1b072:	0004      	movs	r4, r0
   1b074:	000d      	movs	r5, r1
   1b076:	480d      	ldr	r0, [pc, #52]	; (1b0ac <_mainCRTStartup+0x6c>)
   1b078:	2800      	cmp	r0, #0
   1b07a:	d002      	beq.n	1b082 <_mainCRTStartup+0x42>
   1b07c:	480c      	ldr	r0, [pc, #48]	; (1b0b0 <_mainCRTStartup+0x70>)
   1b07e:	f3af 8000 	nop.w
   1b082:	f004 fb5d 	bl	1f740 <__libc_init_array>
   1b086:	0020      	movs	r0, r4
   1b088:	0029      	movs	r1, r5
   1b08a:	f000 fda1 	bl	1bbd0 <main>
   1b08e:	f004 fb43 	bl	1f718 <exit>
   1b092:	bf00      	nop
   1b094:	00080000 	.word	0x00080000
	...
   1b0a4:	20002134 	.word	0x20002134
   1b0a8:	2000315c 	.word	0x2000315c
	...

0001b0b4 <emuart_init>:
emuart_init():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:31
//参数说明： uartNo：emuart使用的串口； baud：emuart的波特率。
//功能概要：初始化emuart
//更新记录：20180602，wb；
//=====================================================================
void emuart_init(uint8_t uartNo,uint32_t baud)
{
   1b0b4:	b580      	push	{r7, lr}
   1b0b6:	b082      	sub	sp, #8
   1b0b8:	af00      	add	r7, sp, #0
   1b0ba:	4603      	mov	r3, r0
   1b0bc:	6039      	str	r1, [r7, #0]
   1b0be:	71fb      	strb	r3, [r7, #7]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:32
	uart_init(uartNo,baud);
   1b0c0:	79fb      	ldrb	r3, [r7, #7]
   1b0c2:	6839      	ldr	r1, [r7, #0]
   1b0c4:	4618      	mov	r0, r3
   1b0c6:	f002 fa47 	bl	1d558 <uart_init>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:33
	uart_enable_re_int(uartNo);
   1b0ca:	79fb      	ldrb	r3, [r7, #7]
   1b0cc:	4618      	mov	r0, r3
   1b0ce:	f002 fc6e 	bl	1d9ae <uart_enable_re_int>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:34
	UART_NO = uartNo;
   1b0d2:	4a03      	ldr	r2, [pc, #12]	; (1b0e0 <emuart_init+0x2c>)
   1b0d4:	79fb      	ldrb	r3, [r7, #7]
   1b0d6:	7013      	strb	r3, [r2, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:35
}
   1b0d8:	bf00      	nop
   1b0da:	3708      	adds	r7, #8
   1b0dc:	46bd      	mov	sp, r7
   1b0de:	bd80      	pop	{r7, pc}
   1b0e0:	20002150 	.word	0x20002150

0001b0e4 <emuart_send1>:
emuart_send1():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:45
//参数说明： a：待发送的一个字节数据
//功能概要：通过emuart发送一个字节数据
//更新记录：20180602，wb；
//=====================================================================
void emuart_send1(uint8_t a)
{
   1b0e4:	b580      	push	{r7, lr}
   1b0e6:	b082      	sub	sp, #8
   1b0e8:	af00      	add	r7, sp, #0
   1b0ea:	4603      	mov	r3, r0
   1b0ec:	71fb      	strb	r3, [r7, #7]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:46
	sendFrame(1,&a);
   1b0ee:	1dfb      	adds	r3, r7, #7
   1b0f0:	4619      	mov	r1, r3
   1b0f2:	2001      	movs	r0, #1
   1b0f4:	f000 fab4 	bl	1b660 <sendFrame>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:47
}
   1b0f8:	bf00      	nop
   1b0fa:	3708      	adds	r7, #8
   1b0fc:	46bd      	mov	sp, r7
   1b0fe:	bd80      	pop	{r7, pc}

0001b100 <emuart_sendN>:
emuart_sendN():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:57
//参数说明： len：待发送数组的长度；buff：待发送数据缓冲区
//功能概要：通过emuart发送一个字节数组
//更新记录：20180602，wb；
//=====================================================================
void emuart_sendN(uint16_t len ,uint8_t* buff)
{
   1b100:	b580      	push	{r7, lr}
   1b102:	b082      	sub	sp, #8
   1b104:	af00      	add	r7, sp, #0
   1b106:	4603      	mov	r3, r0
   1b108:	6039      	str	r1, [r7, #0]
   1b10a:	80fb      	strh	r3, [r7, #6]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:58
	sendFrame(len,buff);
   1b10c:	88fb      	ldrh	r3, [r7, #6]
   1b10e:	6839      	ldr	r1, [r7, #0]
   1b110:	4618      	mov	r0, r3
   1b112:	f000 faa5 	bl	1b660 <sendFrame>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:59
}
   1b116:	bf00      	nop
   1b118:	3708      	adds	r7, #8
   1b11a:	46bd      	mov	sp, r7
   1b11c:	bd80      	pop	{r7, pc}

0001b11e <emuart_send_string>:
emuart_send_string():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:69
//参数说明： buff：待发送的字符串
//功能概要：通过emuart发送一个字符串
//更新记录：20180602，wb；
//=====================================================================
void emuart_send_string(uint8_t * buff)
{
   1b11e:	b580      	push	{r7, lr}
   1b120:	b084      	sub	sp, #16
   1b122:	af00      	add	r7, sp, #0
   1b124:	6078      	str	r0, [r7, #4]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:70
	uint16_t len=0;
   1b126:	2300      	movs	r3, #0
   1b128:	81fb      	strh	r3, [r7, #14]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:71
	while(buff[len])len++;
   1b12a:	e002      	b.n	1b132 <emuart_send_string+0x14>
   1b12c:	89fb      	ldrh	r3, [r7, #14]
   1b12e:	3301      	adds	r3, #1
   1b130:	81fb      	strh	r3, [r7, #14]
   1b132:	89fb      	ldrh	r3, [r7, #14]
   1b134:	687a      	ldr	r2, [r7, #4]
   1b136:	4413      	add	r3, r2
   1b138:	781b      	ldrb	r3, [r3, #0]
   1b13a:	2b00      	cmp	r3, #0
   1b13c:	d1f6      	bne.n	1b12c <emuart_send_string+0xe>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:72
	sendFrame(len,buff);
   1b13e:	89fb      	ldrh	r3, [r7, #14]
   1b140:	6879      	ldr	r1, [r7, #4]
   1b142:	4618      	mov	r0, r3
   1b144:	f000 fa8c 	bl	1b660 <sendFrame>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:73
}
   1b148:	bf00      	nop
   1b14a:	3710      	adds	r7, #16
   1b14c:	46bd      	mov	sp, r7
   1b14e:	bd80      	pop	{r7, pc}

0001b150 <emuart_frame>:
emuart_frame():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:89
//      有效数据(N字节 N=len[0]*256+len[1])
//      CRC校验(2字节)
//      emuartFrameTail(2字节)
//===========================================================================
uint16_t emuart_frame(uint8_t ch, uint8_t *data)
{
   1b150:	b580      	push	{r7, lr}
   1b152:	b084      	sub	sp, #16
   1b154:	af00      	add	r7, sp, #0
   1b156:	4603      	mov	r3, r0
   1b158:	6039      	str	r1, [r7, #0]
   1b15a:	71fb      	strb	r3, [r7, #7]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:99
	uint16_t i;
	uint8_t CRC_check[2];
	uint16_t crc;

	//(0)逐字符比较，判断输入字符是否为终结组帧字符190226hzx（2/2）------------
	if(markPos<=6)
   1b15c:	4b90      	ldr	r3, [pc, #576]	; (1b3a0 <emuart_frame+0x250>)
   1b15e:	781b      	ldrb	r3, [r3, #0]
   1b160:	2b06      	cmp	r3, #6
   1b162:	d82a      	bhi.n	1b1ba <emuart_frame+0x6a>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:101
	{
		if(ch == emuartTerminStr1[(markPos-1)])
   1b164:	4b8e      	ldr	r3, [pc, #568]	; (1b3a0 <emuart_frame+0x250>)
   1b166:	781b      	ldrb	r3, [r3, #0]
   1b168:	3b01      	subs	r3, #1
   1b16a:	4a8e      	ldr	r2, [pc, #568]	; (1b3a4 <emuart_frame+0x254>)
   1b16c:	5cd3      	ldrb	r3, [r2, r3]
   1b16e:	79fa      	ldrb	r2, [r7, #7]
   1b170:	429a      	cmp	r2, r3
   1b172:	d115      	bne.n	1b1a0 <emuart_frame+0x50>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:103
		{
			markPos++;  //字符位置+1
   1b174:	4b8a      	ldr	r3, [pc, #552]	; (1b3a0 <emuart_frame+0x250>)
   1b176:	781b      	ldrb	r3, [r3, #0]
   1b178:	3301      	adds	r3, #1
   1b17a:	b2da      	uxtb	r2, r3
   1b17c:	4b88      	ldr	r3, [pc, #544]	; (1b3a0 <emuart_frame+0x250>)
   1b17e:	701a      	strb	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:105
			//判断是否比对成功，如成功则终结组帧过程
			if((markPos-1)==12)
   1b180:	4b87      	ldr	r3, [pc, #540]	; (1b3a0 <emuart_frame+0x250>)
   1b182:	781b      	ldrb	r3, [r3, #0]
   1b184:	2b0d      	cmp	r3, #13
   1b186:	d142      	bne.n	1b20e <emuart_frame+0xbe>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:107
			{
				markPos=1;
   1b188:	4b85      	ldr	r3, [pc, #532]	; (1b3a0 <emuart_frame+0x250>)
   1b18a:	2201      	movs	r2, #1
   1b18c:	701a      	strb	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:108
				index = 1;
   1b18e:	4b86      	ldr	r3, [pc, #536]	; (1b3a8 <emuart_frame+0x258>)
   1b190:	2201      	movs	r2, #1
   1b192:	801a      	strh	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:109
				length = 1;
   1b194:	4b85      	ldr	r3, [pc, #532]	; (1b3ac <emuart_frame+0x25c>)
   1b196:	2201      	movs	r2, #1
   1b198:	801a      	strh	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:110
				ret_val = 0;
   1b19a:	2300      	movs	r3, #0
   1b19c:	81fb      	strh	r3, [r7, #14]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:111
				goto uecom_recv_exit;
   1b19e:	e0f9      	b.n	1b394 <emuart_frame+0x244>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:117
			}
		}
		else
		{
			//比对失败，重新进行比对
			if(ch == emuartTerminStr1[0])
   1b1a0:	4b80      	ldr	r3, [pc, #512]	; (1b3a4 <emuart_frame+0x254>)
   1b1a2:	781b      	ldrb	r3, [r3, #0]
   1b1a4:	79fa      	ldrb	r2, [r7, #7]
   1b1a6:	429a      	cmp	r2, r3
   1b1a8:	d103      	bne.n	1b1b2 <emuart_frame+0x62>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:118
				markPos=2;
   1b1aa:	4b7d      	ldr	r3, [pc, #500]	; (1b3a0 <emuart_frame+0x250>)
   1b1ac:	2202      	movs	r2, #2
   1b1ae:	701a      	strb	r2, [r3, #0]
   1b1b0:	e02d      	b.n	1b20e <emuart_frame+0xbe>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:120
			else
				markPos=1;
   1b1b2:	4b7b      	ldr	r3, [pc, #492]	; (1b3a0 <emuart_frame+0x250>)
   1b1b4:	2201      	movs	r2, #1
   1b1b6:	701a      	strb	r2, [r3, #0]
   1b1b8:	e029      	b.n	1b20e <emuart_frame+0xbe>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:125
		}
	}
	else
	{
		if(ch == emuartTerminStr2[(markPos-7)])
   1b1ba:	4b79      	ldr	r3, [pc, #484]	; (1b3a0 <emuart_frame+0x250>)
   1b1bc:	781b      	ldrb	r3, [r3, #0]
   1b1be:	3b07      	subs	r3, #7
   1b1c0:	4a7b      	ldr	r2, [pc, #492]	; (1b3b0 <emuart_frame+0x260>)
   1b1c2:	5cd3      	ldrb	r3, [r2, r3]
   1b1c4:	79fa      	ldrb	r2, [r7, #7]
   1b1c6:	429a      	cmp	r2, r3
   1b1c8:	d115      	bne.n	1b1f6 <emuart_frame+0xa6>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:127
		{
			markPos++;  //字符位置+1
   1b1ca:	4b75      	ldr	r3, [pc, #468]	; (1b3a0 <emuart_frame+0x250>)
   1b1cc:	781b      	ldrb	r3, [r3, #0]
   1b1ce:	3301      	adds	r3, #1
   1b1d0:	b2da      	uxtb	r2, r3
   1b1d2:	4b73      	ldr	r3, [pc, #460]	; (1b3a0 <emuart_frame+0x250>)
   1b1d4:	701a      	strb	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:129
			//判断是否比对成功，如成功则终结组帧过程
			if((markPos-1)==13)
   1b1d6:	4b72      	ldr	r3, [pc, #456]	; (1b3a0 <emuart_frame+0x250>)
   1b1d8:	781b      	ldrb	r3, [r3, #0]
   1b1da:	2b0e      	cmp	r3, #14
   1b1dc:	d117      	bne.n	1b20e <emuart_frame+0xbe>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:131
			{
				markPos=1;
   1b1de:	4b70      	ldr	r3, [pc, #448]	; (1b3a0 <emuart_frame+0x250>)
   1b1e0:	2201      	movs	r2, #1
   1b1e2:	701a      	strb	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:132
				index = 1;
   1b1e4:	4b70      	ldr	r3, [pc, #448]	; (1b3a8 <emuart_frame+0x258>)
   1b1e6:	2201      	movs	r2, #1
   1b1e8:	801a      	strh	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:133
				length = 1;
   1b1ea:	4b70      	ldr	r3, [pc, #448]	; (1b3ac <emuart_frame+0x25c>)
   1b1ec:	2201      	movs	r2, #1
   1b1ee:	801a      	strh	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:134
				ret_val = 0;
   1b1f0:	2300      	movs	r3, #0
   1b1f2:	81fb      	strh	r3, [r7, #14]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:135
				goto uecom_recv_exit;
   1b1f4:	e0ce      	b.n	1b394 <emuart_frame+0x244>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:141
			}
		}
		else
		{
			//比对失败，重新进行比对
			if(ch == emuartTerminStr1[0])
   1b1f6:	4b6b      	ldr	r3, [pc, #428]	; (1b3a4 <emuart_frame+0x254>)
   1b1f8:	781b      	ldrb	r3, [r3, #0]
   1b1fa:	79fa      	ldrb	r2, [r7, #7]
   1b1fc:	429a      	cmp	r2, r3
   1b1fe:	d103      	bne.n	1b208 <emuart_frame+0xb8>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:142
				markPos=2;
   1b200:	4b67      	ldr	r3, [pc, #412]	; (1b3a0 <emuart_frame+0x250>)
   1b202:	2202      	movs	r2, #2
   1b204:	701a      	strb	r2, [r3, #0]
   1b206:	e002      	b.n	1b20e <emuart_frame+0xbe>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:144
			else
				markPos=1;
   1b208:	4b65      	ldr	r3, [pc, #404]	; (1b3a0 <emuart_frame+0x250>)
   1b20a:	2201      	movs	r2, #1
   1b20c:	701a      	strb	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:151
	}
	


	//（1）若未接收到数据或者未遇到帧头，则退出并返回0  帧头长度为两个字节
	if(((index-1) == 0 && ch != emuartFrameHead[0]) ||
   1b20e:	4b66      	ldr	r3, [pc, #408]	; (1b3a8 <emuart_frame+0x258>)
   1b210:	881b      	ldrh	r3, [r3, #0]
   1b212:	2b01      	cmp	r3, #1
   1b214:	d104      	bne.n	1b220 <emuart_frame+0xd0>
   1b216:	4b67      	ldr	r3, [pc, #412]	; (1b3b4 <emuart_frame+0x264>)
   1b218:	781b      	ldrb	r3, [r3, #0]
   1b21a:	79fa      	ldrb	r2, [r7, #7]
   1b21c:	429a      	cmp	r2, r3
   1b21e:	d108      	bne.n	1b232 <emuart_frame+0xe2>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:152
			((index-1) == 1 && ch != emuartFrameHead[1]))
   1b220:	4b61      	ldr	r3, [pc, #388]	; (1b3a8 <emuart_frame+0x258>)
   1b222:	881b      	ldrh	r3, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:151
	if(((index-1) == 0 && ch != emuartFrameHead[0]) ||
   1b224:	2b02      	cmp	r3, #2
   1b226:	d10d      	bne.n	1b244 <emuart_frame+0xf4>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:152
			((index-1) == 1 && ch != emuartFrameHead[1]))
   1b228:	4b62      	ldr	r3, [pc, #392]	; (1b3b4 <emuart_frame+0x264>)
   1b22a:	785b      	ldrb	r3, [r3, #1]
   1b22c:	79fa      	ldrb	r2, [r7, #7]
   1b22e:	429a      	cmp	r2, r3
   1b230:	d008      	beq.n	1b244 <emuart_frame+0xf4>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:154
	{
		index = 1;
   1b232:	4b5d      	ldr	r3, [pc, #372]	; (1b3a8 <emuart_frame+0x258>)
   1b234:	2201      	movs	r2, #1
   1b236:	801a      	strh	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:155
		length = 1;
   1b238:	4b5c      	ldr	r3, [pc, #368]	; (1b3ac <emuart_frame+0x25c>)
   1b23a:	2201      	movs	r2, #1
   1b23c:	801a      	strh	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:156
		ret_val = 0;     //接收数据错误
   1b23e:	2300      	movs	r3, #0
   1b240:	81fb      	strh	r3, [r7, #14]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:157
		goto uecom_recv_exit;
   1b242:	e0a7      	b.n	1b394 <emuart_frame+0x244>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:160
	}
	//（2）正确接收到了帧头，继续执行，将数据存入data数组
	data[(index++)-1] = ch;
   1b244:	4b58      	ldr	r3, [pc, #352]	; (1b3a8 <emuart_frame+0x258>)
   1b246:	881b      	ldrh	r3, [r3, #0]
   1b248:	1c5a      	adds	r2, r3, #1
   1b24a:	b291      	uxth	r1, r2
   1b24c:	4a56      	ldr	r2, [pc, #344]	; (1b3a8 <emuart_frame+0x258>)
   1b24e:	8011      	strh	r1, [r2, #0]
   1b250:	3b01      	subs	r3, #1
   1b252:	683a      	ldr	r2, [r7, #0]
   1b254:	4413      	add	r3, r2
   1b256:	79fa      	ldrb	r2, [r7, #7]
   1b258:	701a      	strb	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:164
	//（3）当获取到第四个数据时，求出有效数据长度


	if((index-1) == 4)
   1b25a:	4b53      	ldr	r3, [pc, #332]	; (1b3a8 <emuart_frame+0x258>)
   1b25c:	881b      	ldrh	r3, [r3, #0]
   1b25e:	2b05      	cmp	r3, #5
   1b260:	d10f      	bne.n	1b282 <emuart_frame+0x132>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:166
	{
		length = ((uint16_t)(data[2]<<8)) + data[3]+1;
   1b262:	683b      	ldr	r3, [r7, #0]
   1b264:	3302      	adds	r3, #2
   1b266:	781b      	ldrb	r3, [r3, #0]
   1b268:	b29b      	uxth	r3, r3
   1b26a:	021b      	lsls	r3, r3, #8
   1b26c:	b29a      	uxth	r2, r3
   1b26e:	683b      	ldr	r3, [r7, #0]
   1b270:	3303      	adds	r3, #3
   1b272:	781b      	ldrb	r3, [r3, #0]
   1b274:	b29b      	uxth	r3, r3
   1b276:	4413      	add	r3, r2
   1b278:	b29b      	uxth	r3, r3
   1b27a:	3301      	adds	r3, #1
   1b27c:	b29a      	uxth	r2, r3
   1b27e:	4b4b      	ldr	r3, [pc, #300]	; (1b3ac <emuart_frame+0x25c>)
   1b280:	801a      	strh	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:170
	}
	//（4）如果接收到的数据达到一帧长度（帧长度=有效数据长度+8），进行CRC校验，
	//     如果校验通过将进行数据的处理。
	if((length-1) != 0 && (index-1) >= length+7)
   1b282:	4b4a      	ldr	r3, [pc, #296]	; (1b3ac <emuart_frame+0x25c>)
   1b284:	881b      	ldrh	r3, [r3, #0]
   1b286:	2b01      	cmp	r3, #1
   1b288:	f000 8082 	beq.w	1b390 <emuart_frame+0x240>
   1b28c:	4b46      	ldr	r3, [pc, #280]	; (1b3a8 <emuart_frame+0x258>)
   1b28e:	881b      	ldrh	r3, [r3, #0]
   1b290:	1e5a      	subs	r2, r3, #1
   1b292:	4b46      	ldr	r3, [pc, #280]	; (1b3ac <emuart_frame+0x25c>)
   1b294:	881b      	ldrh	r3, [r3, #0]
   1b296:	3307      	adds	r3, #7
   1b298:	429a      	cmp	r2, r3
   1b29a:	db79      	blt.n	1b390 <emuart_frame+0x240>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:173
	{
		//（4.1）对有效数据进行CRC校验
		crc = crc16((data+4),(length-1));
   1b29c:	683b      	ldr	r3, [r7, #0]
   1b29e:	1d1a      	adds	r2, r3, #4
   1b2a0:	4b42      	ldr	r3, [pc, #264]	; (1b3ac <emuart_frame+0x25c>)
   1b2a2:	881b      	ldrh	r3, [r3, #0]
   1b2a4:	3b01      	subs	r3, #1
   1b2a6:	b29b      	uxth	r3, r3
   1b2a8:	4619      	mov	r1, r3
   1b2aa:	4610      	mov	r0, r2
   1b2ac:	f000 fa3a 	bl	1b724 <crc16>
   1b2b0:	4603      	mov	r3, r0
   1b2b2:	817b      	strh	r3, [r7, #10]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:174
		CRC_check[0] = (crc>>8)&0xff;
   1b2b4:	897b      	ldrh	r3, [r7, #10]
   1b2b6:	0a1b      	lsrs	r3, r3, #8
   1b2b8:	b29b      	uxth	r3, r3
   1b2ba:	b2db      	uxtb	r3, r3
   1b2bc:	723b      	strb	r3, [r7, #8]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:175
		CRC_check[1] = crc&0xff;
   1b2be:	897b      	ldrh	r3, [r7, #10]
   1b2c0:	b2db      	uxtb	r3, r3
   1b2c2:	727b      	strb	r3, [r7, #9]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:177
		//（4.2）当未获取到帧尾或CRC校验出错，则出错返回0
		if(data[index-3]!=emuartFrameTail[0] || data[index-2]!= emuartFrameTail[1]//δ?????β
   1b2c4:	4b38      	ldr	r3, [pc, #224]	; (1b3a8 <emuart_frame+0x258>)
   1b2c6:	881b      	ldrh	r3, [r3, #0]
   1b2c8:	3b03      	subs	r3, #3
   1b2ca:	683a      	ldr	r2, [r7, #0]
   1b2cc:	4413      	add	r3, r2
   1b2ce:	781a      	ldrb	r2, [r3, #0]
   1b2d0:	4b39      	ldr	r3, [pc, #228]	; (1b3b8 <emuart_frame+0x268>)
   1b2d2:	781b      	ldrb	r3, [r3, #0]
   1b2d4:	429a      	cmp	r2, r3
   1b2d6:	d11b      	bne.n	1b310 <emuart_frame+0x1c0>
   1b2d8:	4b33      	ldr	r3, [pc, #204]	; (1b3a8 <emuart_frame+0x258>)
   1b2da:	881b      	ldrh	r3, [r3, #0]
   1b2dc:	3b02      	subs	r3, #2
   1b2de:	683a      	ldr	r2, [r7, #0]
   1b2e0:	4413      	add	r3, r2
   1b2e2:	781a      	ldrb	r2, [r3, #0]
   1b2e4:	4b34      	ldr	r3, [pc, #208]	; (1b3b8 <emuart_frame+0x268>)
   1b2e6:	785b      	ldrb	r3, [r3, #1]
   1b2e8:	429a      	cmp	r2, r3
   1b2ea:	d111      	bne.n	1b310 <emuart_frame+0x1c0>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:178
			||	CRC_check[0] != data[index-5] || CRC_check[1] != data[index-4])//CRC???????
   1b2ec:	7a3a      	ldrb	r2, [r7, #8]
   1b2ee:	4b2e      	ldr	r3, [pc, #184]	; (1b3a8 <emuart_frame+0x258>)
   1b2f0:	881b      	ldrh	r3, [r3, #0]
   1b2f2:	3b05      	subs	r3, #5
   1b2f4:	6839      	ldr	r1, [r7, #0]
   1b2f6:	440b      	add	r3, r1
   1b2f8:	781b      	ldrb	r3, [r3, #0]
   1b2fa:	429a      	cmp	r2, r3
   1b2fc:	d108      	bne.n	1b310 <emuart_frame+0x1c0>
   1b2fe:	7a7a      	ldrb	r2, [r7, #9]
   1b300:	4b29      	ldr	r3, [pc, #164]	; (1b3a8 <emuart_frame+0x258>)
   1b302:	881b      	ldrh	r3, [r3, #0]
   1b304:	3b04      	subs	r3, #4
   1b306:	6839      	ldr	r1, [r7, #0]
   1b308:	440b      	add	r3, r1
   1b30a:	781b      	ldrb	r3, [r3, #0]
   1b30c:	429a      	cmp	r2, r3
   1b30e:	d008      	beq.n	1b322 <emuart_frame+0x1d2>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:181
		{
			//出错返回
			index = 1;
   1b310:	4b25      	ldr	r3, [pc, #148]	; (1b3a8 <emuart_frame+0x258>)
   1b312:	2201      	movs	r2, #1
   1b314:	801a      	strh	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:182
			length = 1;
   1b316:	4b25      	ldr	r3, [pc, #148]	; (1b3ac <emuart_frame+0x25c>)
   1b318:	2201      	movs	r2, #1
   1b31a:	801a      	strh	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:183
			ret_val = 0;
   1b31c:	2300      	movs	r3, #0
   1b31e:	81fb      	strh	r3, [r7, #14]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:184
			goto uecom_recv_exit;
   1b320:	e038      	b.n	1b394 <emuart_frame+0x244>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:187
		}
		//（4.3）将前4个字节移出buf数组，令buf数组全为有效数据，并返回有效数据
		for(i=0;i<(length-1);i++)
   1b322:	2300      	movs	r3, #0
   1b324:	81bb      	strh	r3, [r7, #12]
   1b326:	e00b      	b.n	1b340 <emuart_frame+0x1f0>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:190
		{

			data[i] = data[i+4];
   1b328:	89bb      	ldrh	r3, [r7, #12]
   1b32a:	3304      	adds	r3, #4
   1b32c:	683a      	ldr	r2, [r7, #0]
   1b32e:	441a      	add	r2, r3
   1b330:	89bb      	ldrh	r3, [r7, #12]
   1b332:	6839      	ldr	r1, [r7, #0]
   1b334:	440b      	add	r3, r1
   1b336:	7812      	ldrb	r2, [r2, #0]
   1b338:	701a      	strb	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:187
		for(i=0;i<(length-1);i++)
   1b33a:	89bb      	ldrh	r3, [r7, #12]
   1b33c:	3301      	adds	r3, #1
   1b33e:	81bb      	strh	r3, [r7, #12]
   1b340:	89ba      	ldrh	r2, [r7, #12]
   1b342:	4b1a      	ldr	r3, [pc, #104]	; (1b3ac <emuart_frame+0x25c>)
   1b344:	881b      	ldrh	r3, [r3, #0]
   1b346:	3b01      	subs	r3, #1
   1b348:	429a      	cmp	r2, r3
   1b34a:	dbed      	blt.n	1b328 <emuart_frame+0x1d8>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:192
		}
		index = 1;
   1b34c:	4b16      	ldr	r3, [pc, #88]	; (1b3a8 <emuart_frame+0x258>)
   1b34e:	2201      	movs	r2, #1
   1b350:	801a      	strh	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:193
		ret_val = (length-1); //返回有效数据长度
   1b352:	4b16      	ldr	r3, [pc, #88]	; (1b3ac <emuart_frame+0x25c>)
   1b354:	881b      	ldrh	r3, [r3, #0]
   1b356:	3b01      	subs	r3, #1
   1b358:	81fb      	strh	r3, [r7, #14]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:194
		data[(length-1)] = 0; //令数组长度为0
   1b35a:	4b14      	ldr	r3, [pc, #80]	; (1b3ac <emuart_frame+0x25c>)
   1b35c:	881b      	ldrh	r3, [r3, #0]
   1b35e:	3b01      	subs	r3, #1
   1b360:	683a      	ldr	r2, [r7, #0]
   1b362:	4413      	add	r3, r2
   1b364:	2200      	movs	r2, #0
   1b366:	701a      	strb	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:196
		//（4.4）收到的数据若为上位机搜寻emuart设备的字符串，则进行响应
		if((length-1) == 21 &&
   1b368:	4b10      	ldr	r3, [pc, #64]	; (1b3ac <emuart_frame+0x25c>)
   1b36a:	881b      	ldrh	r3, [r3, #0]
   1b36c:	2b16      	cmp	r3, #22
   1b36e:	d10b      	bne.n	1b388 <emuart_frame+0x238>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:197
			!strcmp((const char*)data,"[Are you an emuart??]"))
   1b370:	4912      	ldr	r1, [pc, #72]	; (1b3bc <emuart_frame+0x26c>)
   1b372:	6838      	ldr	r0, [r7, #0]
   1b374:	f003 fba6 	bl	1eac4 <strcmp>
   1b378:	4603      	mov	r3, r0
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:196
		if((length-1) == 21 &&
   1b37a:	2b00      	cmp	r3, #0
   1b37c:	d104      	bne.n	1b388 <emuart_frame+0x238>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:199
		{
			emuart_send_string((uint8_t*)"[Yes,I am an emuart!!]");
   1b37e:	4810      	ldr	r0, [pc, #64]	; (1b3c0 <emuart_frame+0x270>)
   1b380:	f7ff fecd 	bl	1b11e <emuart_send_string>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:200
			ret_val = 0;
   1b384:	2300      	movs	r3, #0
   1b386:	81fb      	strh	r3, [r7, #14]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:202
		}
		length = 1; //令有效数据长度为0
   1b388:	4b08      	ldr	r3, [pc, #32]	; (1b3ac <emuart_frame+0x25c>)
   1b38a:	2201      	movs	r2, #1
   1b38c:	801a      	strh	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:203
		goto uecom_recv_exit;
   1b38e:	e001      	b.n	1b394 <emuart_frame+0x244>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:205
	}
	ret_val = 0;
   1b390:	2300      	movs	r3, #0
   1b392:	81fb      	strh	r3, [r7, #14]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:207
uecom_recv_exit:
    return ret_val;
   1b394:	89fb      	ldrh	r3, [r7, #14]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:208
}
   1b396:	4618      	mov	r0, r3
   1b398:	3710      	adds	r7, #16
   1b39a:	46bd      	mov	sp, r7
   1b39c:	bd80      	pop	{r7, pc}
   1b39e:	bf00      	nop
   1b3a0:	2000201c 	.word	0x2000201c
   1b3a4:	20002004 	.word	0x20002004
   1b3a8:	2000201e 	.word	0x2000201e
   1b3ac:	20002020 	.word	0x20002020
   1b3b0:	20002014 	.word	0x20002014
   1b3b4:	2000200c 	.word	0x2000200c
   1b3b8:	20002010 	.word	0x20002010
   1b3bc:	0001f7e4 	.word	0x0001f7e4
   1b3c0:	0001f7fc 	.word	0x0001f7fc

0001b3c4 <useremuart_frame>:
useremuart_frame():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:224
//      有效数据(N字节 N=len[0]*256+len[1])
//      CRC校验(2字节)
//      emuartFrameTail(2字节)
//===========================================================================
uint16_t useremuart_frame(uint8_t ch, uint8_t *data)
{
   1b3c4:	b580      	push	{r7, lr}
   1b3c6:	b088      	sub	sp, #32
   1b3c8:	af00      	add	r7, sp, #0
   1b3ca:	4603      	mov	r3, r0
   1b3cc:	6039      	str	r1, [r7, #0]
   1b3ce:	71fb      	strb	r3, [r7, #7]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:234
	uint16_t i;
	uint8_t CRC_check[2];
	uint16_t crc;
    uint8_t imei[16];
	//(0)逐字符比较，判断输入字符是否为终结组帧字符190226hzx（2/2）------------
	if(markPos<=6)
   1b3d0:	4b9a      	ldr	r3, [pc, #616]	; (1b63c <useremuart_frame+0x278>)
   1b3d2:	781b      	ldrb	r3, [r3, #0]
   1b3d4:	2b06      	cmp	r3, #6
   1b3d6:	d82a      	bhi.n	1b42e <useremuart_frame+0x6a>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:236
	{
		if(ch == emuartTerminStr1[(markPos-1)])
   1b3d8:	4b98      	ldr	r3, [pc, #608]	; (1b63c <useremuart_frame+0x278>)
   1b3da:	781b      	ldrb	r3, [r3, #0]
   1b3dc:	3b01      	subs	r3, #1
   1b3de:	4a98      	ldr	r2, [pc, #608]	; (1b640 <useremuart_frame+0x27c>)
   1b3e0:	5cd3      	ldrb	r3, [r2, r3]
   1b3e2:	79fa      	ldrb	r2, [r7, #7]
   1b3e4:	429a      	cmp	r2, r3
   1b3e6:	d115      	bne.n	1b414 <useremuart_frame+0x50>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:238
		{
			markPos++;  //字符位置+1
   1b3e8:	4b94      	ldr	r3, [pc, #592]	; (1b63c <useremuart_frame+0x278>)
   1b3ea:	781b      	ldrb	r3, [r3, #0]
   1b3ec:	3301      	adds	r3, #1
   1b3ee:	b2da      	uxtb	r2, r3
   1b3f0:	4b92      	ldr	r3, [pc, #584]	; (1b63c <useremuart_frame+0x278>)
   1b3f2:	701a      	strb	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:240
			//判断是否比对成功，如成功则终结组帧过程
			if((markPos-1)==12)
   1b3f4:	4b91      	ldr	r3, [pc, #580]	; (1b63c <useremuart_frame+0x278>)
   1b3f6:	781b      	ldrb	r3, [r3, #0]
   1b3f8:	2b0d      	cmp	r3, #13
   1b3fa:	d142      	bne.n	1b482 <useremuart_frame+0xbe>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:242
			{
				markPos=1;
   1b3fc:	4b8f      	ldr	r3, [pc, #572]	; (1b63c <useremuart_frame+0x278>)
   1b3fe:	2201      	movs	r2, #1
   1b400:	701a      	strb	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:243
				index = 1;
   1b402:	4b90      	ldr	r3, [pc, #576]	; (1b644 <useremuart_frame+0x280>)
   1b404:	2201      	movs	r2, #1
   1b406:	801a      	strh	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:244
				length = 1;
   1b408:	4b8f      	ldr	r3, [pc, #572]	; (1b648 <useremuart_frame+0x284>)
   1b40a:	2201      	movs	r2, #1
   1b40c:	801a      	strh	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:245
				ret_val = 0;
   1b40e:	2300      	movs	r3, #0
   1b410:	83fb      	strh	r3, [r7, #30]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:246
				goto uecom_recv_exit;
   1b412:	e10e      	b.n	1b632 <useremuart_frame+0x26e>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:252
			}
		}
		else
		{
			//比对失败，重新进行比对
			if(ch == emuartTerminStr1[0])
   1b414:	4b8a      	ldr	r3, [pc, #552]	; (1b640 <useremuart_frame+0x27c>)
   1b416:	781b      	ldrb	r3, [r3, #0]
   1b418:	79fa      	ldrb	r2, [r7, #7]
   1b41a:	429a      	cmp	r2, r3
   1b41c:	d103      	bne.n	1b426 <useremuart_frame+0x62>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:253
				markPos=2;
   1b41e:	4b87      	ldr	r3, [pc, #540]	; (1b63c <useremuart_frame+0x278>)
   1b420:	2202      	movs	r2, #2
   1b422:	701a      	strb	r2, [r3, #0]
   1b424:	e02d      	b.n	1b482 <useremuart_frame+0xbe>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:255
			else
				markPos=1;
   1b426:	4b85      	ldr	r3, [pc, #532]	; (1b63c <useremuart_frame+0x278>)
   1b428:	2201      	movs	r2, #1
   1b42a:	701a      	strb	r2, [r3, #0]
   1b42c:	e029      	b.n	1b482 <useremuart_frame+0xbe>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:260
		}
	}
	else
	{
		if(ch == emuartTerminStr2[(markPos-7)])
   1b42e:	4b83      	ldr	r3, [pc, #524]	; (1b63c <useremuart_frame+0x278>)
   1b430:	781b      	ldrb	r3, [r3, #0]
   1b432:	3b07      	subs	r3, #7
   1b434:	4a85      	ldr	r2, [pc, #532]	; (1b64c <useremuart_frame+0x288>)
   1b436:	5cd3      	ldrb	r3, [r2, r3]
   1b438:	79fa      	ldrb	r2, [r7, #7]
   1b43a:	429a      	cmp	r2, r3
   1b43c:	d115      	bne.n	1b46a <useremuart_frame+0xa6>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:262
		{
			markPos++;  //字符位置+1
   1b43e:	4b7f      	ldr	r3, [pc, #508]	; (1b63c <useremuart_frame+0x278>)
   1b440:	781b      	ldrb	r3, [r3, #0]
   1b442:	3301      	adds	r3, #1
   1b444:	b2da      	uxtb	r2, r3
   1b446:	4b7d      	ldr	r3, [pc, #500]	; (1b63c <useremuart_frame+0x278>)
   1b448:	701a      	strb	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:264
			//判断是否比对成功，如成功则终结组帧过程
			if((markPos-1)==13)
   1b44a:	4b7c      	ldr	r3, [pc, #496]	; (1b63c <useremuart_frame+0x278>)
   1b44c:	781b      	ldrb	r3, [r3, #0]
   1b44e:	2b0e      	cmp	r3, #14
   1b450:	d117      	bne.n	1b482 <useremuart_frame+0xbe>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:266
			{
				markPos=1;
   1b452:	4b7a      	ldr	r3, [pc, #488]	; (1b63c <useremuart_frame+0x278>)
   1b454:	2201      	movs	r2, #1
   1b456:	701a      	strb	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:267
				index = 1;
   1b458:	4b7a      	ldr	r3, [pc, #488]	; (1b644 <useremuart_frame+0x280>)
   1b45a:	2201      	movs	r2, #1
   1b45c:	801a      	strh	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:268
				length = 1;
   1b45e:	4b7a      	ldr	r3, [pc, #488]	; (1b648 <useremuart_frame+0x284>)
   1b460:	2201      	movs	r2, #1
   1b462:	801a      	strh	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:269
				ret_val = 0;
   1b464:	2300      	movs	r3, #0
   1b466:	83fb      	strh	r3, [r7, #30]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:270
				goto uecom_recv_exit;
   1b468:	e0e3      	b.n	1b632 <useremuart_frame+0x26e>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:276
			}
		}
		else
		{
			//比对失败，重新进行比对
			if(ch == emuartTerminStr1[0])
   1b46a:	4b75      	ldr	r3, [pc, #468]	; (1b640 <useremuart_frame+0x27c>)
   1b46c:	781b      	ldrb	r3, [r3, #0]
   1b46e:	79fa      	ldrb	r2, [r7, #7]
   1b470:	429a      	cmp	r2, r3
   1b472:	d103      	bne.n	1b47c <useremuart_frame+0xb8>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:277
				markPos=2;
   1b474:	4b71      	ldr	r3, [pc, #452]	; (1b63c <useremuart_frame+0x278>)
   1b476:	2202      	movs	r2, #2
   1b478:	701a      	strb	r2, [r3, #0]
   1b47a:	e002      	b.n	1b482 <useremuart_frame+0xbe>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:279
			else
				markPos=1;
   1b47c:	4b6f      	ldr	r3, [pc, #444]	; (1b63c <useremuart_frame+0x278>)
   1b47e:	2201      	movs	r2, #1
   1b480:	701a      	strb	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:286
	}
	


	//（1）若未接收到数据或者未遇到帧头，则退出并返回0  帧头长度为两个字节
	if(((index-1) == 0 && ch != emuartFrameHead[0]) ||
   1b482:	4b70      	ldr	r3, [pc, #448]	; (1b644 <useremuart_frame+0x280>)
   1b484:	881b      	ldrh	r3, [r3, #0]
   1b486:	2b01      	cmp	r3, #1
   1b488:	d104      	bne.n	1b494 <useremuart_frame+0xd0>
   1b48a:	4b71      	ldr	r3, [pc, #452]	; (1b650 <useremuart_frame+0x28c>)
   1b48c:	781b      	ldrb	r3, [r3, #0]
   1b48e:	79fa      	ldrb	r2, [r7, #7]
   1b490:	429a      	cmp	r2, r3
   1b492:	d108      	bne.n	1b4a6 <useremuart_frame+0xe2>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:287
			((index-1) == 1 && ch != emuartFrameHead[1]))
   1b494:	4b6b      	ldr	r3, [pc, #428]	; (1b644 <useremuart_frame+0x280>)
   1b496:	881b      	ldrh	r3, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:286
	if(((index-1) == 0 && ch != emuartFrameHead[0]) ||
   1b498:	2b02      	cmp	r3, #2
   1b49a:	d10d      	bne.n	1b4b8 <useremuart_frame+0xf4>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:287
			((index-1) == 1 && ch != emuartFrameHead[1]))
   1b49c:	4b6c      	ldr	r3, [pc, #432]	; (1b650 <useremuart_frame+0x28c>)
   1b49e:	785b      	ldrb	r3, [r3, #1]
   1b4a0:	79fa      	ldrb	r2, [r7, #7]
   1b4a2:	429a      	cmp	r2, r3
   1b4a4:	d008      	beq.n	1b4b8 <useremuart_frame+0xf4>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:289
	{
		index = 1;
   1b4a6:	4b67      	ldr	r3, [pc, #412]	; (1b644 <useremuart_frame+0x280>)
   1b4a8:	2201      	movs	r2, #1
   1b4aa:	801a      	strh	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:290
		length = 1;
   1b4ac:	4b66      	ldr	r3, [pc, #408]	; (1b648 <useremuart_frame+0x284>)
   1b4ae:	2201      	movs	r2, #1
   1b4b0:	801a      	strh	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:291
		ret_val = 0;     //接收数据错误
   1b4b2:	2300      	movs	r3, #0
   1b4b4:	83fb      	strh	r3, [r7, #30]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:292
		goto uecom_recv_exit;
   1b4b6:	e0bc      	b.n	1b632 <useremuart_frame+0x26e>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:295
	}
	//（2）正确接收到了帧头，继续执行，将数据存入data数组
	data[(index++)-1] = ch;
   1b4b8:	4b62      	ldr	r3, [pc, #392]	; (1b644 <useremuart_frame+0x280>)
   1b4ba:	881b      	ldrh	r3, [r3, #0]
   1b4bc:	1c5a      	adds	r2, r3, #1
   1b4be:	b291      	uxth	r1, r2
   1b4c0:	4a60      	ldr	r2, [pc, #384]	; (1b644 <useremuart_frame+0x280>)
   1b4c2:	8011      	strh	r1, [r2, #0]
   1b4c4:	3b01      	subs	r3, #1
   1b4c6:	683a      	ldr	r2, [r7, #0]
   1b4c8:	4413      	add	r3, r2
   1b4ca:	79fa      	ldrb	r2, [r7, #7]
   1b4cc:	701a      	strb	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:299
	//（3）当获取到第四个数据时，求出有效数据长度


	if((index-1) == 4)
   1b4ce:	4b5d      	ldr	r3, [pc, #372]	; (1b644 <useremuart_frame+0x280>)
   1b4d0:	881b      	ldrh	r3, [r3, #0]
   1b4d2:	2b05      	cmp	r3, #5
   1b4d4:	d10f      	bne.n	1b4f6 <useremuart_frame+0x132>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:301
	{
		length = ((uint16_t)(data[2]<<8)) + data[3]+1;
   1b4d6:	683b      	ldr	r3, [r7, #0]
   1b4d8:	3302      	adds	r3, #2
   1b4da:	781b      	ldrb	r3, [r3, #0]
   1b4dc:	b29b      	uxth	r3, r3
   1b4de:	021b      	lsls	r3, r3, #8
   1b4e0:	b29a      	uxth	r2, r3
   1b4e2:	683b      	ldr	r3, [r7, #0]
   1b4e4:	3303      	adds	r3, #3
   1b4e6:	781b      	ldrb	r3, [r3, #0]
   1b4e8:	b29b      	uxth	r3, r3
   1b4ea:	4413      	add	r3, r2
   1b4ec:	b29b      	uxth	r3, r3
   1b4ee:	3301      	adds	r3, #1
   1b4f0:	b29a      	uxth	r2, r3
   1b4f2:	4b55      	ldr	r3, [pc, #340]	; (1b648 <useremuart_frame+0x284>)
   1b4f4:	801a      	strh	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:305
	}
	//（4）如果接收到的数据达到一帧长度（帧长度=有效数据长度+8），进行CRC校验，
	//     如果校验通过将进行数据的处理。
	if((length-1) != 0 && (index-1) >= length+7)
   1b4f6:	4b54      	ldr	r3, [pc, #336]	; (1b648 <useremuart_frame+0x284>)
   1b4f8:	881b      	ldrh	r3, [r3, #0]
   1b4fa:	2b01      	cmp	r3, #1
   1b4fc:	f000 8097 	beq.w	1b62e <useremuart_frame+0x26a>
   1b500:	4b50      	ldr	r3, [pc, #320]	; (1b644 <useremuart_frame+0x280>)
   1b502:	881b      	ldrh	r3, [r3, #0]
   1b504:	1e5a      	subs	r2, r3, #1
   1b506:	4b50      	ldr	r3, [pc, #320]	; (1b648 <useremuart_frame+0x284>)
   1b508:	881b      	ldrh	r3, [r3, #0]
   1b50a:	3307      	adds	r3, #7
   1b50c:	429a      	cmp	r2, r3
   1b50e:	f2c0 808e 	blt.w	1b62e <useremuart_frame+0x26a>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:308
	{
		//（4.1）对有效数据进行CRC校验
		crc = crc16((data+4),(length-1));
   1b512:	683b      	ldr	r3, [r7, #0]
   1b514:	1d1a      	adds	r2, r3, #4
   1b516:	4b4c      	ldr	r3, [pc, #304]	; (1b648 <useremuart_frame+0x284>)
   1b518:	881b      	ldrh	r3, [r3, #0]
   1b51a:	3b01      	subs	r3, #1
   1b51c:	b29b      	uxth	r3, r3
   1b51e:	4619      	mov	r1, r3
   1b520:	4610      	mov	r0, r2
   1b522:	f000 f8ff 	bl	1b724 <crc16>
   1b526:	4603      	mov	r3, r0
   1b528:	837b      	strh	r3, [r7, #26]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:309
		CRC_check[0] = (crc>>8)&0xff;
   1b52a:	8b7b      	ldrh	r3, [r7, #26]
   1b52c:	0a1b      	lsrs	r3, r3, #8
   1b52e:	b29b      	uxth	r3, r3
   1b530:	b2db      	uxtb	r3, r3
   1b532:	763b      	strb	r3, [r7, #24]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:310
		CRC_check[1] = crc&0xff;
   1b534:	8b7b      	ldrh	r3, [r7, #26]
   1b536:	b2db      	uxtb	r3, r3
   1b538:	767b      	strb	r3, [r7, #25]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:312
		//（4.2）当未获取到帧尾或CRC校验出错，则出错返回0
		if(data[index-3]!=emuartFrameTail[0] || data[index-2]!= emuartFrameTail[1]//δ?????β
   1b53a:	4b42      	ldr	r3, [pc, #264]	; (1b644 <useremuart_frame+0x280>)
   1b53c:	881b      	ldrh	r3, [r3, #0]
   1b53e:	3b03      	subs	r3, #3
   1b540:	683a      	ldr	r2, [r7, #0]
   1b542:	4413      	add	r3, r2
   1b544:	781a      	ldrb	r2, [r3, #0]
   1b546:	4b43      	ldr	r3, [pc, #268]	; (1b654 <useremuart_frame+0x290>)
   1b548:	781b      	ldrb	r3, [r3, #0]
   1b54a:	429a      	cmp	r2, r3
   1b54c:	d11b      	bne.n	1b586 <useremuart_frame+0x1c2>
   1b54e:	4b3d      	ldr	r3, [pc, #244]	; (1b644 <useremuart_frame+0x280>)
   1b550:	881b      	ldrh	r3, [r3, #0]
   1b552:	3b02      	subs	r3, #2
   1b554:	683a      	ldr	r2, [r7, #0]
   1b556:	4413      	add	r3, r2
   1b558:	781a      	ldrb	r2, [r3, #0]
   1b55a:	4b3e      	ldr	r3, [pc, #248]	; (1b654 <useremuart_frame+0x290>)
   1b55c:	785b      	ldrb	r3, [r3, #1]
   1b55e:	429a      	cmp	r2, r3
   1b560:	d111      	bne.n	1b586 <useremuart_frame+0x1c2>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:313
			||	CRC_check[0] != data[index-5] || CRC_check[1] != data[index-4])//CRC???????
   1b562:	7e3a      	ldrb	r2, [r7, #24]
   1b564:	4b37      	ldr	r3, [pc, #220]	; (1b644 <useremuart_frame+0x280>)
   1b566:	881b      	ldrh	r3, [r3, #0]
   1b568:	3b05      	subs	r3, #5
   1b56a:	6839      	ldr	r1, [r7, #0]
   1b56c:	440b      	add	r3, r1
   1b56e:	781b      	ldrb	r3, [r3, #0]
   1b570:	429a      	cmp	r2, r3
   1b572:	d108      	bne.n	1b586 <useremuart_frame+0x1c2>
   1b574:	7e7a      	ldrb	r2, [r7, #25]
   1b576:	4b33      	ldr	r3, [pc, #204]	; (1b644 <useremuart_frame+0x280>)
   1b578:	881b      	ldrh	r3, [r3, #0]
   1b57a:	3b04      	subs	r3, #4
   1b57c:	6839      	ldr	r1, [r7, #0]
   1b57e:	440b      	add	r3, r1
   1b580:	781b      	ldrb	r3, [r3, #0]
   1b582:	429a      	cmp	r2, r3
   1b584:	d008      	beq.n	1b598 <useremuart_frame+0x1d4>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:316
		{
			//出错返回
			index = 1;
   1b586:	4b2f      	ldr	r3, [pc, #188]	; (1b644 <useremuart_frame+0x280>)
   1b588:	2201      	movs	r2, #1
   1b58a:	801a      	strh	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:317
			length = 1;
   1b58c:	4b2e      	ldr	r3, [pc, #184]	; (1b648 <useremuart_frame+0x284>)
   1b58e:	2201      	movs	r2, #1
   1b590:	801a      	strh	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:318
			ret_val = 0;
   1b592:	2300      	movs	r3, #0
   1b594:	83fb      	strh	r3, [r7, #30]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:319
			goto uecom_recv_exit;
   1b596:	e04c      	b.n	1b632 <useremuart_frame+0x26e>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:322
		}
		//（4.3）将前4个字节移出buf数组，令buf数组全为有效数据，并返回有效数据
		for(i=0;i<(length-1);i++)
   1b598:	2300      	movs	r3, #0
   1b59a:	83bb      	strh	r3, [r7, #28]
   1b59c:	e00b      	b.n	1b5b6 <useremuart_frame+0x1f2>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:325
		{

			data[i] = data[i+4];
   1b59e:	8bbb      	ldrh	r3, [r7, #28]
   1b5a0:	3304      	adds	r3, #4
   1b5a2:	683a      	ldr	r2, [r7, #0]
   1b5a4:	441a      	add	r2, r3
   1b5a6:	8bbb      	ldrh	r3, [r7, #28]
   1b5a8:	6839      	ldr	r1, [r7, #0]
   1b5aa:	440b      	add	r3, r1
   1b5ac:	7812      	ldrb	r2, [r2, #0]
   1b5ae:	701a      	strb	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:322
		for(i=0;i<(length-1);i++)
   1b5b0:	8bbb      	ldrh	r3, [r7, #28]
   1b5b2:	3301      	adds	r3, #1
   1b5b4:	83bb      	strh	r3, [r7, #28]
   1b5b6:	8bba      	ldrh	r2, [r7, #28]
   1b5b8:	4b23      	ldr	r3, [pc, #140]	; (1b648 <useremuart_frame+0x284>)
   1b5ba:	881b      	ldrh	r3, [r3, #0]
   1b5bc:	3b01      	subs	r3, #1
   1b5be:	429a      	cmp	r2, r3
   1b5c0:	dbed      	blt.n	1b59e <useremuart_frame+0x1da>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:327
		}
		index = 1;
   1b5c2:	4b20      	ldr	r3, [pc, #128]	; (1b644 <useremuart_frame+0x280>)
   1b5c4:	2201      	movs	r2, #1
   1b5c6:	801a      	strh	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:328
		ret_val = (length-1); //返回有效数据长度
   1b5c8:	4b1f      	ldr	r3, [pc, #124]	; (1b648 <useremuart_frame+0x284>)
   1b5ca:	881b      	ldrh	r3, [r3, #0]
   1b5cc:	3b01      	subs	r3, #1
   1b5ce:	83fb      	strh	r3, [r7, #30]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:329
		data[(length-1)] = 0; //令数组长度为0
   1b5d0:	4b1d      	ldr	r3, [pc, #116]	; (1b648 <useremuart_frame+0x284>)
   1b5d2:	881b      	ldrh	r3, [r3, #0]
   1b5d4:	3b01      	subs	r3, #1
   1b5d6:	683a      	ldr	r2, [r7, #0]
   1b5d8:	4413      	add	r3, r2
   1b5da:	2200      	movs	r2, #0
   1b5dc:	701a      	strb	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:331
		//（4.4）收到的数据若为上位机搜寻emuart设备的字符串，则进行响应
		if((length-1) == 45)
   1b5de:	4b1a      	ldr	r3, [pc, #104]	; (1b648 <useremuart_frame+0x284>)
   1b5e0:	881b      	ldrh	r3, [r3, #0]
   1b5e2:	2b2e      	cmp	r3, #46	; 0x2e
   1b5e4:	d11f      	bne.n	1b626 <useremuart_frame+0x262>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:333
		{
		    if(!strcmp((const char*)(data+24),"[Are you an emuart??]"))
   1b5e6:	683b      	ldr	r3, [r7, #0]
   1b5e8:	3318      	adds	r3, #24
   1b5ea:	491b      	ldr	r1, [pc, #108]	; (1b658 <useremuart_frame+0x294>)
   1b5ec:	4618      	mov	r0, r3
   1b5ee:	f003 fa69 	bl	1eac4 <strcmp>
   1b5f2:	4603      	mov	r3, r0
   1b5f4:	2b00      	cmp	r3, #0
   1b5f6:	d116      	bne.n	1b626 <useremuart_frame+0x262>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:335
		    {
		        flash_read_physical((uint8_t*)imei,(MCU_SECTOR_NUM-1)*MCU_SECTORSIZE+MCU_FLASH_ADDR_START,16);
   1b5f8:	f107 0308 	add.w	r3, r7, #8
   1b5fc:	2210      	movs	r2, #16
   1b5fe:	f44f 317c 	mov.w	r1, #258048	; 0x3f000
   1b602:	4618      	mov	r0, r3
   1b604:	f000 fdbe 	bl	1c184 <flash_read_physical>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:336
                if(!strncmp((char*)imei,(char*)data,16))
   1b608:	f107 0308 	add.w	r3, r7, #8
   1b60c:	2210      	movs	r2, #16
   1b60e:	6839      	ldr	r1, [r7, #0]
   1b610:	4618      	mov	r0, r3
   1b612:	f004 f8cc 	bl	1f7ae <strncmp>
   1b616:	4603      	mov	r3, r0
   1b618:	2b00      	cmp	r3, #0
   1b61a:	d102      	bne.n	1b622 <useremuart_frame+0x25e>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:338
                {
                    emuart_send_string((uint8_t*)"[Yes,I am an emuart!!]");
   1b61c:	480f      	ldr	r0, [pc, #60]	; (1b65c <useremuart_frame+0x298>)
   1b61e:	f7ff fd7e 	bl	1b11e <emuart_send_string>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:341
			        
                }
                ret_val = 0;
   1b622:	2300      	movs	r3, #0
   1b624:	83fb      	strh	r3, [r7, #30]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:344
		    }
		}
		length = 1; //令有效数据长度为0
   1b626:	4b08      	ldr	r3, [pc, #32]	; (1b648 <useremuart_frame+0x284>)
   1b628:	2201      	movs	r2, #1
   1b62a:	801a      	strh	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:345
		goto uecom_recv_exit;
   1b62c:	e001      	b.n	1b632 <useremuart_frame+0x26e>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:347
	}
	ret_val = 0;
   1b62e:	2300      	movs	r3, #0
   1b630:	83fb      	strh	r3, [r7, #30]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:349
uecom_recv_exit:
    return ret_val;
   1b632:	8bfb      	ldrh	r3, [r7, #30]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:350
}
   1b634:	4618      	mov	r0, r3
   1b636:	3720      	adds	r7, #32
   1b638:	46bd      	mov	sp, r7
   1b63a:	bd80      	pop	{r7, pc}
   1b63c:	20002022 	.word	0x20002022
   1b640:	20002004 	.word	0x20002004
   1b644:	20002024 	.word	0x20002024
   1b648:	20002026 	.word	0x20002026
   1b64c:	20002014 	.word	0x20002014
   1b650:	2000200c 	.word	0x2000200c
   1b654:	20002010 	.word	0x20002010
   1b658:	0001f7e4 	.word	0x0001f7e4
   1b65c:	0001f7fc 	.word	0x0001f7fc

0001b660 <sendFrame>:
sendFrame():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:362
//参数说明： length：待发送数据的长度；data：待发送数据缓冲区。
//功能概要：通过emuart发送指定长度的字节数组。
//更新记录：20180602，wb；
//=====================================================================
void sendFrame(uint16_t length,uint8_t *data)
{
   1b660:	b580      	push	{r7, lr}
   1b662:	b084      	sub	sp, #16
   1b664:	af00      	add	r7, sp, #0
   1b666:	4603      	mov	r3, r0
   1b668:	6039      	str	r1, [r7, #0]
   1b66a:	80fb      	strh	r3, [r7, #6]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:365
	uint16_t crc;
	//计算得到CRC校验码
	crc = crc16(data,length);
   1b66c:	88fb      	ldrh	r3, [r7, #6]
   1b66e:	4619      	mov	r1, r3
   1b670:	6838      	ldr	r0, [r7, #0]
   1b672:	f000 f857 	bl	1b724 <crc16>
   1b676:	4603      	mov	r3, r0
   1b678:	81fb      	strh	r3, [r7, #14]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:367
	//发送帧头
	uart_send1(UART_NO,emuartFrameHead[0]);
   1b67a:	4b27      	ldr	r3, [pc, #156]	; (1b718 <sendFrame+0xb8>)
   1b67c:	781a      	ldrb	r2, [r3, #0]
   1b67e:	4b27      	ldr	r3, [pc, #156]	; (1b71c <sendFrame+0xbc>)
   1b680:	781b      	ldrb	r3, [r3, #0]
   1b682:	4619      	mov	r1, r3
   1b684:	4610      	mov	r0, r2
   1b686:	f002 f877 	bl	1d778 <uart_send1>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:368
	uart_send1(UART_NO,emuartFrameHead[1]);
   1b68a:	4b23      	ldr	r3, [pc, #140]	; (1b718 <sendFrame+0xb8>)
   1b68c:	781a      	ldrb	r2, [r3, #0]
   1b68e:	4b23      	ldr	r3, [pc, #140]	; (1b71c <sendFrame+0xbc>)
   1b690:	785b      	ldrb	r3, [r3, #1]
   1b692:	4619      	mov	r1, r3
   1b694:	4610      	mov	r0, r2
   1b696:	f002 f86f 	bl	1d778 <uart_send1>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:370
	//发送帧长
	uart_send1(UART_NO,length>>8);
   1b69a:	4b1f      	ldr	r3, [pc, #124]	; (1b718 <sendFrame+0xb8>)
   1b69c:	781a      	ldrb	r2, [r3, #0]
   1b69e:	88fb      	ldrh	r3, [r7, #6]
   1b6a0:	0a1b      	lsrs	r3, r3, #8
   1b6a2:	b29b      	uxth	r3, r3
   1b6a4:	b2db      	uxtb	r3, r3
   1b6a6:	4619      	mov	r1, r3
   1b6a8:	4610      	mov	r0, r2
   1b6aa:	f002 f865 	bl	1d778 <uart_send1>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:371
	uart_send1(UART_NO,length);
   1b6ae:	4b1a      	ldr	r3, [pc, #104]	; (1b718 <sendFrame+0xb8>)
   1b6b0:	781b      	ldrb	r3, [r3, #0]
   1b6b2:	88fa      	ldrh	r2, [r7, #6]
   1b6b4:	b2d2      	uxtb	r2, r2
   1b6b6:	4611      	mov	r1, r2
   1b6b8:	4618      	mov	r0, r3
   1b6ba:	f002 f85d 	bl	1d778 <uart_send1>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:373
	//发送帧数据
	uart_sendN(UART_NO,length,data);
   1b6be:	4b16      	ldr	r3, [pc, #88]	; (1b718 <sendFrame+0xb8>)
   1b6c0:	781b      	ldrb	r3, [r3, #0]
   1b6c2:	88f9      	ldrh	r1, [r7, #6]
   1b6c4:	683a      	ldr	r2, [r7, #0]
   1b6c6:	4618      	mov	r0, r3
   1b6c8:	f002 f892 	bl	1d7f0 <uart_sendN>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:375
    //发送校验码
	uart_send1(UART_NO,crc>>8);
   1b6cc:	4b12      	ldr	r3, [pc, #72]	; (1b718 <sendFrame+0xb8>)
   1b6ce:	781a      	ldrb	r2, [r3, #0]
   1b6d0:	89fb      	ldrh	r3, [r7, #14]
   1b6d2:	0a1b      	lsrs	r3, r3, #8
   1b6d4:	b29b      	uxth	r3, r3
   1b6d6:	b2db      	uxtb	r3, r3
   1b6d8:	4619      	mov	r1, r3
   1b6da:	4610      	mov	r0, r2
   1b6dc:	f002 f84c 	bl	1d778 <uart_send1>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:376
	uart_send1(UART_NO,crc);
   1b6e0:	4b0d      	ldr	r3, [pc, #52]	; (1b718 <sendFrame+0xb8>)
   1b6e2:	781b      	ldrb	r3, [r3, #0]
   1b6e4:	89fa      	ldrh	r2, [r7, #14]
   1b6e6:	b2d2      	uxtb	r2, r2
   1b6e8:	4611      	mov	r1, r2
   1b6ea:	4618      	mov	r0, r3
   1b6ec:	f002 f844 	bl	1d778 <uart_send1>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:378
	//发送帧尾
	uart_send1(UART_NO,emuartFrameTail[0]);
   1b6f0:	4b09      	ldr	r3, [pc, #36]	; (1b718 <sendFrame+0xb8>)
   1b6f2:	781a      	ldrb	r2, [r3, #0]
   1b6f4:	4b0a      	ldr	r3, [pc, #40]	; (1b720 <sendFrame+0xc0>)
   1b6f6:	781b      	ldrb	r3, [r3, #0]
   1b6f8:	4619      	mov	r1, r3
   1b6fa:	4610      	mov	r0, r2
   1b6fc:	f002 f83c 	bl	1d778 <uart_send1>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:379
	uart_send1(UART_NO,emuartFrameTail[1]);
   1b700:	4b05      	ldr	r3, [pc, #20]	; (1b718 <sendFrame+0xb8>)
   1b702:	781a      	ldrb	r2, [r3, #0]
   1b704:	4b06      	ldr	r3, [pc, #24]	; (1b720 <sendFrame+0xc0>)
   1b706:	785b      	ldrb	r3, [r3, #1]
   1b708:	4619      	mov	r1, r3
   1b70a:	4610      	mov	r0, r2
   1b70c:	f002 f834 	bl	1d778 <uart_send1>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:380
}
   1b710:	bf00      	nop
   1b712:	3710      	adds	r7, #16
   1b714:	46bd      	mov	sp, r7
   1b716:	bd80      	pop	{r7, pc}
   1b718:	20002150 	.word	0x20002150
   1b71c:	2000200c 	.word	0x2000200c
   1b720:	20002010 	.word	0x20002010

0001b724 <crc16>:
crc16():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:389
//参数说明：ptr:需要校验的数据缓存区
//      len:需要检验的数据长度
//函数返回：计算得到的校验值?
//=====================================================================
uint16_t crc16(uint8_t *ptr,uint16_t len)
{
   1b724:	b480      	push	{r7}
   1b726:	b085      	sub	sp, #20
   1b728:	af00      	add	r7, sp, #0
   1b72a:	6078      	str	r0, [r7, #4]
   1b72c:	460b      	mov	r3, r1
   1b72e:	807b      	strh	r3, [r7, #2]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:392
	uint16_t i,j,tmp,crc16;

	crc16 = 0xffff;
   1b730:	f64f 73ff 	movw	r3, #65535	; 0xffff
   1b734:	817b      	strh	r3, [r7, #10]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:393
	for(i = (uint16_t)0;i < len;i++)
   1b736:	2300      	movs	r3, #0
   1b738:	81fb      	strh	r3, [r7, #14]
   1b73a:	e024      	b.n	1b786 <crc16+0x62>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:395
	{
		crc16 = (uint16_t)ptr[i]^crc16;
   1b73c:	89fb      	ldrh	r3, [r7, #14]
   1b73e:	687a      	ldr	r2, [r7, #4]
   1b740:	4413      	add	r3, r2
   1b742:	781b      	ldrb	r3, [r3, #0]
   1b744:	b29a      	uxth	r2, r3
   1b746:	897b      	ldrh	r3, [r7, #10]
   1b748:	4053      	eors	r3, r2
   1b74a:	817b      	strh	r3, [r7, #10]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:396
		for(j = 0;j< 8;j++)
   1b74c:	2300      	movs	r3, #0
   1b74e:	81bb      	strh	r3, [r7, #12]
   1b750:	e013      	b.n	1b77a <crc16+0x56>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:398
		{
			tmp = crc16 & 0x0001;
   1b752:	897b      	ldrh	r3, [r7, #10]
   1b754:	f003 0301 	and.w	r3, r3, #1
   1b758:	813b      	strh	r3, [r7, #8]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:399
			crc16 = crc16>>1;
   1b75a:	897b      	ldrh	r3, [r7, #10]
   1b75c:	085b      	lsrs	r3, r3, #1
   1b75e:	817b      	strh	r3, [r7, #10]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:400
			if(tmp)
   1b760:	893b      	ldrh	r3, [r7, #8]
   1b762:	2b00      	cmp	r3, #0
   1b764:	d006      	beq.n	1b774 <crc16+0x50>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:401
				crc16 = crc16^0xa001;
   1b766:	897b      	ldrh	r3, [r7, #10]
   1b768:	f483 43bf 	eor.w	r3, r3, #24448	; 0x5f80
   1b76c:	f083 037e 	eor.w	r3, r3, #126	; 0x7e
   1b770:	43db      	mvns	r3, r3
   1b772:	817b      	strh	r3, [r7, #10]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:396
		for(j = 0;j< 8;j++)
   1b774:	89bb      	ldrh	r3, [r7, #12]
   1b776:	3301      	adds	r3, #1
   1b778:	81bb      	strh	r3, [r7, #12]
   1b77a:	89bb      	ldrh	r3, [r7, #12]
   1b77c:	2b07      	cmp	r3, #7
   1b77e:	d9e8      	bls.n	1b752 <crc16+0x2e>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:393
	for(i = (uint16_t)0;i < len;i++)
   1b780:	89fb      	ldrh	r3, [r7, #14]
   1b782:	3301      	adds	r3, #1
   1b784:	81fb      	strh	r3, [r7, #14]
   1b786:	89fa      	ldrh	r2, [r7, #14]
   1b788:	887b      	ldrh	r3, [r7, #2]
   1b78a:	429a      	cmp	r2, r3
   1b78c:	d3d6      	bcc.n	1b73c <crc16+0x18>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:404
		}
	}
	return crc16;
   1b78e:	897b      	ldrh	r3, [r7, #10]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/emuart.c:405
}
   1b790:	4618      	mov	r0, r3
   1b792:	3714      	adds	r7, #20
   1b794:	46bd      	mov	sp, r7
   1b796:	f85d 7b04 	ldr.w	r7, [sp], #4
   1b79a:	4770      	bx	lr

0001b79c <SystemCoreClockUpdate>:
SystemCoreClockUpdate():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:102
 *
 * @brief  Updates the SystemCoreClock with current core Clock
 *         retrieved from cpu registers.
 */
void SystemCoreClockUpdate(void)
{
   1b79c:	b480      	push	{r7}
   1b79e:	b089      	sub	sp, #36	; 0x24
   1b7a0:	af00      	add	r7, sp, #0
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:111
    float dcoConst;
    int32_t calVal;
    uint32_t centeredFreq;
    int16_t dcoTune;

    divider = (CS->CTL1 & CS_CTL1_DIVM_MASK) >> CS_CTL1_DIVM_OFS;
   1b7a2:	4ba6      	ldr	r3, [pc, #664]	; (1ba3c <SystemCoreClockUpdate+0x2a0>)
   1b7a4:	689b      	ldr	r3, [r3, #8]
   1b7a6:	0c1b      	lsrs	r3, r3, #16
   1b7a8:	f003 0307 	and.w	r3, r3, #7
   1b7ac:	60fb      	str	r3, [r7, #12]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:112
    dividerValue = 1 << divider;
   1b7ae:	2201      	movs	r2, #1
   1b7b0:	68fb      	ldr	r3, [r7, #12]
   1b7b2:	fa02 f303 	lsl.w	r3, r2, r3
   1b7b6:	72fb      	strb	r3, [r7, #11]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:113
    source = CS->CTL1 & CS_CTL1_SELM_MASK;
   1b7b8:	4ba0      	ldr	r3, [pc, #640]	; (1ba3c <SystemCoreClockUpdate+0x2a0>)
   1b7ba:	689b      	ldr	r3, [r3, #8]
   1b7bc:	f003 0307 	and.w	r3, r3, #7
   1b7c0:	607b      	str	r3, [r7, #4]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:115

    switch(source)
   1b7c2:	687b      	ldr	r3, [r7, #4]
   1b7c4:	2b05      	cmp	r3, #5
   1b7c6:	f200 815f 	bhi.w	1ba88 <SystemCoreClockUpdate+0x2ec>
   1b7ca:	a201      	add	r2, pc, #4	; (adr r2, 1b7d0 <SystemCoreClockUpdate+0x34>)
   1b7cc:	f852 f023 	ldr.w	pc, [r2, r3, lsl #2]
   1b7d0:	0001b7e9 	.word	0x0001b7e9
   1b7d4:	0001b869 	.word	0x0001b869
   1b7d8:	0001b87b 	.word	0x0001b87b
   1b7dc:	0001b8a9 	.word	0x0001b8a9
   1b7e0:	0001b9bf 	.word	0x0001b9bf
   1b7e4:	0001b9cf 	.word	0x0001b9cf
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:118
    {
    case CS_CTL1_SELM__LFXTCLK:
        if(BITBAND_PERI(CS->IFG, CS_IFG_LFXTIFG_OFS))
   1b7e8:	4b95      	ldr	r3, [pc, #596]	; (1ba40 <SystemCoreClockUpdate+0x2a4>)
   1b7ea:	781b      	ldrb	r3, [r3, #0]
   1b7ec:	b2db      	uxtb	r3, r3
   1b7ee:	2b00      	cmp	r3, #0
   1b7f0:	d031      	beq.n	1b856 <SystemCoreClockUpdate+0xba>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:121
        {
            // Clear interrupt flag
            CS->KEY = CS_KEY_VAL;
   1b7f2:	4b92      	ldr	r3, [pc, #584]	; (1ba3c <SystemCoreClockUpdate+0x2a0>)
   1b7f4:	f646 125a 	movw	r2, #26970	; 0x695a
   1b7f8:	601a      	str	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:122
            CS->CLRIFG |= CS_CLRIFG_CLR_LFXTIFG;
   1b7fa:	4b90      	ldr	r3, [pc, #576]	; (1ba3c <SystemCoreClockUpdate+0x2a0>)
   1b7fc:	6d1b      	ldr	r3, [r3, #80]	; 0x50
   1b7fe:	4a8f      	ldr	r2, [pc, #572]	; (1ba3c <SystemCoreClockUpdate+0x2a0>)
   1b800:	f043 0301 	orr.w	r3, r3, #1
   1b804:	6513      	str	r3, [r2, #80]	; 0x50
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:123
            CS->KEY = 1;
   1b806:	4b8d      	ldr	r3, [pc, #564]	; (1ba3c <SystemCoreClockUpdate+0x2a0>)
   1b808:	2201      	movs	r2, #1
   1b80a:	601a      	str	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:125

            if(BITBAND_PERI(CS->IFG, CS_IFG_LFXTIFG_OFS))
   1b80c:	4b8c      	ldr	r3, [pc, #560]	; (1ba40 <SystemCoreClockUpdate+0x2a4>)
   1b80e:	781b      	ldrb	r3, [r3, #0]
   1b810:	b2db      	uxtb	r3, r3
   1b812:	2b00      	cmp	r3, #0
   1b814:	d016      	beq.n	1b844 <SystemCoreClockUpdate+0xa8>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:127
            {
                if(BITBAND_PERI(CS->CLKEN, CS_CLKEN_REFOFSEL_OFS))
   1b816:	4b8b      	ldr	r3, [pc, #556]	; (1ba44 <SystemCoreClockUpdate+0x2a8>)
   1b818:	781b      	ldrb	r3, [r3, #0]
   1b81a:	b2db      	uxtb	r3, r3
   1b81c:	2b00      	cmp	r3, #0
   1b81e:	d008      	beq.n	1b832 <SystemCoreClockUpdate+0x96>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:129
                {
                    SystemCoreClock = (128000 / dividerValue);
   1b820:	7afb      	ldrb	r3, [r7, #11]
   1b822:	f44f 32fa 	mov.w	r2, #128000	; 0x1f400
   1b826:	fb92 f3f3 	sdiv	r3, r2, r3
   1b82a:	461a      	mov	r2, r3
   1b82c:	4b86      	ldr	r3, [pc, #536]	; (1ba48 <SystemCoreClockUpdate+0x2ac>)
   1b82e:	601a      	str	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:145
        }
        else
        {
            SystemCoreClock = __LFXT / dividerValue;
        }
        break;
   1b830:	e12a      	b.n	1ba88 <SystemCoreClockUpdate+0x2ec>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:133
                    SystemCoreClock = (32000 / dividerValue);
   1b832:	7afb      	ldrb	r3, [r7, #11]
   1b834:	f44f 42fa 	mov.w	r2, #32000	; 0x7d00
   1b838:	fb92 f3f3 	sdiv	r3, r2, r3
   1b83c:	461a      	mov	r2, r3
   1b83e:	4b82      	ldr	r3, [pc, #520]	; (1ba48 <SystemCoreClockUpdate+0x2ac>)
   1b840:	601a      	str	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:145
        break;
   1b842:	e121      	b.n	1ba88 <SystemCoreClockUpdate+0x2ec>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:138
                SystemCoreClock = __LFXT / dividerValue;
   1b844:	7afb      	ldrb	r3, [r7, #11]
   1b846:	f44f 4200 	mov.w	r2, #32768	; 0x8000
   1b84a:	fb92 f3f3 	sdiv	r3, r2, r3
   1b84e:	461a      	mov	r2, r3
   1b850:	4b7d      	ldr	r3, [pc, #500]	; (1ba48 <SystemCoreClockUpdate+0x2ac>)
   1b852:	601a      	str	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:145
        break;
   1b854:	e118      	b.n	1ba88 <SystemCoreClockUpdate+0x2ec>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:143
            SystemCoreClock = __LFXT / dividerValue;
   1b856:	7afb      	ldrb	r3, [r7, #11]
   1b858:	f44f 4200 	mov.w	r2, #32768	; 0x8000
   1b85c:	fb92 f3f3 	sdiv	r3, r2, r3
   1b860:	461a      	mov	r2, r3
   1b862:	4b79      	ldr	r3, [pc, #484]	; (1ba48 <SystemCoreClockUpdate+0x2ac>)
   1b864:	601a      	str	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:145
        break;
   1b866:	e10f      	b.n	1ba88 <SystemCoreClockUpdate+0x2ec>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:147
    case CS_CTL1_SELM__VLOCLK:
        SystemCoreClock = __VLOCLK / dividerValue;
   1b868:	7afb      	ldrb	r3, [r7, #11]
   1b86a:	f242 7210 	movw	r2, #10000	; 0x2710
   1b86e:	fb92 f3f3 	sdiv	r3, r2, r3
   1b872:	461a      	mov	r2, r3
   1b874:	4b74      	ldr	r3, [pc, #464]	; (1ba48 <SystemCoreClockUpdate+0x2ac>)
   1b876:	601a      	str	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:148
        break;
   1b878:	e106      	b.n	1ba88 <SystemCoreClockUpdate+0x2ec>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:150
    case CS_CTL1_SELM__REFOCLK:
        if (BITBAND_PERI(CS->CLKEN, CS_CLKEN_REFOFSEL_OFS))
   1b87a:	4b72      	ldr	r3, [pc, #456]	; (1ba44 <SystemCoreClockUpdate+0x2a8>)
   1b87c:	781b      	ldrb	r3, [r3, #0]
   1b87e:	b2db      	uxtb	r3, r3
   1b880:	2b00      	cmp	r3, #0
   1b882:	d008      	beq.n	1b896 <SystemCoreClockUpdate+0xfa>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:152
        {
            SystemCoreClock = (128000 / dividerValue);
   1b884:	7afb      	ldrb	r3, [r7, #11]
   1b886:	f44f 32fa 	mov.w	r2, #128000	; 0x1f400
   1b88a:	fb92 f3f3 	sdiv	r3, r2, r3
   1b88e:	461a      	mov	r2, r3
   1b890:	4b6d      	ldr	r3, [pc, #436]	; (1ba48 <SystemCoreClockUpdate+0x2ac>)
   1b892:	601a      	str	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:158
        }
        else
        {
            SystemCoreClock = (32000 / dividerValue);
        }
        break;
   1b894:	e0f8      	b.n	1ba88 <SystemCoreClockUpdate+0x2ec>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:156
            SystemCoreClock = (32000 / dividerValue);
   1b896:	7afb      	ldrb	r3, [r7, #11]
   1b898:	f44f 42fa 	mov.w	r2, #32000	; 0x7d00
   1b89c:	fb92 f3f3 	sdiv	r3, r2, r3
   1b8a0:	461a      	mov	r2, r3
   1b8a2:	4b69      	ldr	r3, [pc, #420]	; (1ba48 <SystemCoreClockUpdate+0x2ac>)
   1b8a4:	601a      	str	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:158
        break;
   1b8a6:	e0ef      	b.n	1ba88 <SystemCoreClockUpdate+0x2ec>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:160
    case CS_CTL1_SELM__DCOCLK:
        dcoTune = (CS->CTL0 & CS_CTL0_DCOTUNE_MASK) >> CS_CTL0_DCOTUNE_OFS;
   1b8a8:	4b64      	ldr	r3, [pc, #400]	; (1ba3c <SystemCoreClockUpdate+0x2a0>)
   1b8aa:	685b      	ldr	r3, [r3, #4]
   1b8ac:	b21b      	sxth	r3, r3
   1b8ae:	f3c3 0309 	ubfx	r3, r3, #0, #10
   1b8b2:	827b      	strh	r3, [r7, #18]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:162
    
        switch(CS->CTL0 & CS_CTL0_DCORSEL_MASK)
   1b8b4:	4b61      	ldr	r3, [pc, #388]	; (1ba3c <SystemCoreClockUpdate+0x2a0>)
   1b8b6:	685b      	ldr	r3, [r3, #4]
   1b8b8:	f403 23e0 	and.w	r3, r3, #458752	; 0x70000
   1b8bc:	f5b3 3f00 	cmp.w	r3, #131072	; 0x20000
   1b8c0:	d018      	beq.n	1b8f4 <SystemCoreClockUpdate+0x158>
   1b8c2:	f5b3 3f00 	cmp.w	r3, #131072	; 0x20000
   1b8c6:	d805      	bhi.n	1b8d4 <SystemCoreClockUpdate+0x138>
   1b8c8:	2b00      	cmp	r3, #0
   1b8ca:	d00d      	beq.n	1b8e8 <SystemCoreClockUpdate+0x14c>
   1b8cc:	f5b3 3f80 	cmp.w	r3, #65536	; 0x10000
   1b8d0:	d00d      	beq.n	1b8ee <SystemCoreClockUpdate+0x152>
   1b8d2:	e01b      	b.n	1b90c <SystemCoreClockUpdate+0x170>
   1b8d4:	f5b3 2f80 	cmp.w	r3, #262144	; 0x40000
   1b8d8:	d012      	beq.n	1b900 <SystemCoreClockUpdate+0x164>
   1b8da:	f5b3 2fa0 	cmp.w	r3, #327680	; 0x50000
   1b8de:	d012      	beq.n	1b906 <SystemCoreClockUpdate+0x16a>
   1b8e0:	f5b3 3f40 	cmp.w	r3, #196608	; 0x30000
   1b8e4:	d009      	beq.n	1b8fa <SystemCoreClockUpdate+0x15e>
   1b8e6:	e011      	b.n	1b90c <SystemCoreClockUpdate+0x170>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:165
        {
        case CS_CTL0_DCORSEL_0:
            centeredFreq = 1500000;
   1b8e8:	4b58      	ldr	r3, [pc, #352]	; (1ba4c <SystemCoreClockUpdate+0x2b0>)
   1b8ea:	617b      	str	r3, [r7, #20]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:166
            break;
   1b8ec:	e011      	b.n	1b912 <SystemCoreClockUpdate+0x176>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:168
        case CS_CTL0_DCORSEL_1:
            centeredFreq = 3000000;
   1b8ee:	4b58      	ldr	r3, [pc, #352]	; (1ba50 <SystemCoreClockUpdate+0x2b4>)
   1b8f0:	617b      	str	r3, [r7, #20]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:169
            break;
   1b8f2:	e00e      	b.n	1b912 <SystemCoreClockUpdate+0x176>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:171
        case CS_CTL0_DCORSEL_2:
            centeredFreq = 6000000;
   1b8f4:	4b57      	ldr	r3, [pc, #348]	; (1ba54 <SystemCoreClockUpdate+0x2b8>)
   1b8f6:	617b      	str	r3, [r7, #20]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:172
            break;
   1b8f8:	e00b      	b.n	1b912 <SystemCoreClockUpdate+0x176>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:174
        case CS_CTL0_DCORSEL_3:
            centeredFreq = 12000000;
   1b8fa:	4b57      	ldr	r3, [pc, #348]	; (1ba58 <SystemCoreClockUpdate+0x2bc>)
   1b8fc:	617b      	str	r3, [r7, #20]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:175
            break;
   1b8fe:	e008      	b.n	1b912 <SystemCoreClockUpdate+0x176>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:177
        case CS_CTL0_DCORSEL_4:
            centeredFreq = 24000000;
   1b900:	4b56      	ldr	r3, [pc, #344]	; (1ba5c <SystemCoreClockUpdate+0x2c0>)
   1b902:	617b      	str	r3, [r7, #20]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:178
            break;
   1b904:	e005      	b.n	1b912 <SystemCoreClockUpdate+0x176>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:180
        case CS_CTL0_DCORSEL_5:
            centeredFreq = 48000000;
   1b906:	4b56      	ldr	r3, [pc, #344]	; (1ba60 <SystemCoreClockUpdate+0x2c4>)
   1b908:	617b      	str	r3, [r7, #20]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:181
            break;
   1b90a:	e002      	b.n	1b912 <SystemCoreClockUpdate+0x176>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:183
        default:
        	centeredFreq=48000000;
   1b90c:	4b54      	ldr	r3, [pc, #336]	; (1ba60 <SystemCoreClockUpdate+0x2c4>)
   1b90e:	617b      	str	r3, [r7, #20]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:184
        	break;
   1b910:	bf00      	nop
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:187
        }

        if(dcoTune == 0)
   1b912:	f9b7 3012 	ldrsh.w	r3, [r7, #18]
   1b916:	2b00      	cmp	r3, #0
   1b918:	d103      	bne.n	1b922 <SystemCoreClockUpdate+0x186>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:189
        {
            SystemCoreClock = centeredFreq;
   1b91a:	4a4b      	ldr	r2, [pc, #300]	; (1ba48 <SystemCoreClockUpdate+0x2ac>)
   1b91c:	697b      	ldr	r3, [r7, #20]
   1b91e:	6013      	str	r3, [r2, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:216
            SystemCoreClock = (uint32_t) ((centeredFreq)
                               / (1
                                    - ((dcoConst * dcoTune)
                                            / (8 * (1 + dcoConst * (768 - calVal))))));
        }
        break;
   1b920:	e0b2      	b.n	1ba88 <SystemCoreClockUpdate+0x2ec>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:194
            if(dcoTune & 0x1000)
   1b922:	8a7b      	ldrh	r3, [r7, #18]
   1b924:	f403 5380 	and.w	r3, r3, #4096	; 0x1000
   1b928:	2b00      	cmp	r3, #0
   1b92a:	d005      	beq.n	1b938 <SystemCoreClockUpdate+0x19c>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:196
                dcoTune = dcoTune | 0xF000;
   1b92c:	8a7b      	ldrh	r3, [r7, #18]
   1b92e:	ea6f 5303 	mvn.w	r3, r3, lsl #20
   1b932:	ea6f 5313 	mvn.w	r3, r3, lsr #20
   1b936:	827b      	strh	r3, [r7, #18]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:199
            if (BITBAND_PERI(CS->CTL0, CS_CTL0_DCORES_OFS))
   1b938:	4b4a      	ldr	r3, [pc, #296]	; (1ba64 <SystemCoreClockUpdate+0x2c8>)
   1b93a:	781b      	ldrb	r3, [r3, #0]
   1b93c:	b2db      	uxtb	r3, r3
   1b93e:	2b00      	cmp	r3, #0
   1b940:	d006      	beq.n	1b950 <SystemCoreClockUpdate+0x1b4>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:201
                dcoConst = *((float *) &TLV->DCOER_CONSTK_RSEL04);
   1b942:	4b49      	ldr	r3, [pc, #292]	; (1ba68 <SystemCoreClockUpdate+0x2cc>)
   1b944:	681b      	ldr	r3, [r3, #0]
   1b946:	61fb      	str	r3, [r7, #28]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:202
                calVal = TLV->DCOER_FCAL_RSEL04;
   1b948:	4b48      	ldr	r3, [pc, #288]	; (1ba6c <SystemCoreClockUpdate+0x2d0>)
   1b94a:	6edb      	ldr	r3, [r3, #108]	; 0x6c
   1b94c:	61bb      	str	r3, [r7, #24]
   1b94e:	e005      	b.n	1b95c <SystemCoreClockUpdate+0x1c0>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:207
                dcoConst = *((float *) &TLV->DCOIR_CONSTK_RSEL04);
   1b950:	4b47      	ldr	r3, [pc, #284]	; (1ba70 <SystemCoreClockUpdate+0x2d4>)
   1b952:	681b      	ldr	r3, [r3, #0]
   1b954:	61fb      	str	r3, [r7, #28]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:208
                calVal = TLV->DCOIR_FCAL_RSEL04;
   1b956:	4b45      	ldr	r3, [pc, #276]	; (1ba6c <SystemCoreClockUpdate+0x2d0>)
   1b958:	6cdb      	ldr	r3, [r3, #76]	; 0x4c
   1b95a:	61bb      	str	r3, [r7, #24]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:212
                               / (1
   1b95c:	697b      	ldr	r3, [r7, #20]
   1b95e:	ee07 3a90 	vmov	s15, r3
   1b962:	eef8 6a67 	vcvt.f32.u32	s13, s15
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:213
                                    - ((dcoConst * dcoTune)
   1b966:	f9b7 3012 	ldrsh.w	r3, [r7, #18]
   1b96a:	ee07 3a90 	vmov	s15, r3
   1b96e:	eeb8 7ae7 	vcvt.f32.s32	s14, s15
   1b972:	edd7 7a07 	vldr	s15, [r7, #28]
   1b976:	ee27 6a27 	vmul.f32	s12, s14, s15
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:214
                                            / (8 * (1 + dcoConst * (768 - calVal))))));
   1b97a:	69bb      	ldr	r3, [r7, #24]
   1b97c:	f5c3 7340 	rsb	r3, r3, #768	; 0x300
   1b980:	ee07 3a90 	vmov	s15, r3
   1b984:	eeb8 7ae7 	vcvt.f32.s32	s14, s15
   1b988:	edd7 7a07 	vldr	s15, [r7, #28]
   1b98c:	ee67 7a27 	vmul.f32	s15, s14, s15
   1b990:	eeb7 7a00 	vmov.f32	s14, #112	; 0x3f800000  1.0
   1b994:	ee77 7a87 	vadd.f32	s15, s15, s14
   1b998:	eeb2 7a00 	vmov.f32	s14, #32	; 0x41000000  8.0
   1b99c:	ee27 7a87 	vmul.f32	s14, s15, s14
   1b9a0:	eec6 7a07 	vdiv.f32	s15, s12, s14
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:213
                                    - ((dcoConst * dcoTune)
   1b9a4:	eeb7 7a00 	vmov.f32	s14, #112	; 0x3f800000  1.0
   1b9a8:	ee37 7a67 	vsub.f32	s14, s14, s15
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:212
                               / (1
   1b9ac:	eec6 7a87 	vdiv.f32	s15, s13, s14
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:211
            SystemCoreClock = (uint32_t) ((centeredFreq)
   1b9b0:	eefc 7ae7 	vcvt.u32.f32	s15, s15
   1b9b4:	ee17 2a90 	vmov	r2, s15
   1b9b8:	4b23      	ldr	r3, [pc, #140]	; (1ba48 <SystemCoreClockUpdate+0x2ac>)
   1b9ba:	601a      	str	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:216
        break;
   1b9bc:	e064      	b.n	1ba88 <SystemCoreClockUpdate+0x2ec>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:218
    case CS_CTL1_SELM__MODOSC:
        SystemCoreClock = __MODCLK / dividerValue;
   1b9be:	7afb      	ldrb	r3, [r7, #11]
   1b9c0:	4a26      	ldr	r2, [pc, #152]	; (1ba5c <SystemCoreClockUpdate+0x2c0>)
   1b9c2:	fb92 f3f3 	sdiv	r3, r2, r3
   1b9c6:	461a      	mov	r2, r3
   1b9c8:	4b1f      	ldr	r3, [pc, #124]	; (1ba48 <SystemCoreClockUpdate+0x2ac>)
   1b9ca:	601a      	str	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:219
        break;
   1b9cc:	e05c      	b.n	1ba88 <SystemCoreClockUpdate+0x2ec>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:221
    case CS_CTL1_SELM__HFXTCLK:
        if(BITBAND_PERI(CS->IFG, CS_IFG_HFXTIFG_OFS))
   1b9ce:	4b29      	ldr	r3, [pc, #164]	; (1ba74 <SystemCoreClockUpdate+0x2d8>)
   1b9d0:	781b      	ldrb	r3, [r3, #0]
   1b9d2:	b2db      	uxtb	r3, r3
   1b9d4:	2b00      	cmp	r3, #0
   1b9d6:	d04f      	beq.n	1ba78 <SystemCoreClockUpdate+0x2dc>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:224
        {
            // Clear interrupt flag
            CS->KEY = CS_KEY_VAL;
   1b9d8:	4b18      	ldr	r3, [pc, #96]	; (1ba3c <SystemCoreClockUpdate+0x2a0>)
   1b9da:	f646 125a 	movw	r2, #26970	; 0x695a
   1b9de:	601a      	str	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:225
            CS->CLRIFG |= CS_CLRIFG_CLR_HFXTIFG;
   1b9e0:	4b16      	ldr	r3, [pc, #88]	; (1ba3c <SystemCoreClockUpdate+0x2a0>)
   1b9e2:	6d1b      	ldr	r3, [r3, #80]	; 0x50
   1b9e4:	4a15      	ldr	r2, [pc, #84]	; (1ba3c <SystemCoreClockUpdate+0x2a0>)
   1b9e6:	f043 0302 	orr.w	r3, r3, #2
   1b9ea:	6513      	str	r3, [r2, #80]	; 0x50
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:226
            CS->KEY = 1;
   1b9ec:	4b13      	ldr	r3, [pc, #76]	; (1ba3c <SystemCoreClockUpdate+0x2a0>)
   1b9ee:	2201      	movs	r2, #1
   1b9f0:	601a      	str	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:228

            if(BITBAND_PERI(CS->IFG, CS_IFG_HFXTIFG_OFS))
   1b9f2:	4b20      	ldr	r3, [pc, #128]	; (1ba74 <SystemCoreClockUpdate+0x2d8>)
   1b9f4:	781b      	ldrb	r3, [r3, #0]
   1b9f6:	b2db      	uxtb	r3, r3
   1b9f8:	2b00      	cmp	r3, #0
   1b9fa:	d016      	beq.n	1ba2a <SystemCoreClockUpdate+0x28e>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:230
            {
                if(BITBAND_PERI(CS->CLKEN, CS_CLKEN_REFOFSEL_OFS))
   1b9fc:	4b11      	ldr	r3, [pc, #68]	; (1ba44 <SystemCoreClockUpdate+0x2a8>)
   1b9fe:	781b      	ldrb	r3, [r3, #0]
   1ba00:	b2db      	uxtb	r3, r3
   1ba02:	2b00      	cmp	r3, #0
   1ba04:	d008      	beq.n	1ba18 <SystemCoreClockUpdate+0x27c>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:232
                {
                    SystemCoreClock = (128000 / dividerValue);
   1ba06:	7afb      	ldrb	r3, [r7, #11]
   1ba08:	f44f 32fa 	mov.w	r2, #128000	; 0x1f400
   1ba0c:	fb92 f3f3 	sdiv	r3, r2, r3
   1ba10:	461a      	mov	r2, r3
   1ba12:	4b0d      	ldr	r3, [pc, #52]	; (1ba48 <SystemCoreClockUpdate+0x2ac>)
   1ba14:	601a      	str	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:248
        }
        else
        {
            SystemCoreClock = __HFXT / dividerValue;
        }
        break;
   1ba16:	e036      	b.n	1ba86 <SystemCoreClockUpdate+0x2ea>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:236
                    SystemCoreClock = (32000 / dividerValue);
   1ba18:	7afb      	ldrb	r3, [r7, #11]
   1ba1a:	f44f 42fa 	mov.w	r2, #32000	; 0x7d00
   1ba1e:	fb92 f3f3 	sdiv	r3, r2, r3
   1ba22:	461a      	mov	r2, r3
   1ba24:	4b08      	ldr	r3, [pc, #32]	; (1ba48 <SystemCoreClockUpdate+0x2ac>)
   1ba26:	601a      	str	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:248
        break;
   1ba28:	e02d      	b.n	1ba86 <SystemCoreClockUpdate+0x2ea>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:241
                SystemCoreClock = __HFXT / dividerValue;
   1ba2a:	7afb      	ldrb	r3, [r7, #11]
   1ba2c:	4a0c      	ldr	r2, [pc, #48]	; (1ba60 <SystemCoreClockUpdate+0x2c4>)
   1ba2e:	fb92 f3f3 	sdiv	r3, r2, r3
   1ba32:	461a      	mov	r2, r3
   1ba34:	4b04      	ldr	r3, [pc, #16]	; (1ba48 <SystemCoreClockUpdate+0x2ac>)
   1ba36:	601a      	str	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:248
        break;
   1ba38:	e025      	b.n	1ba86 <SystemCoreClockUpdate+0x2ea>
   1ba3a:	bf00      	nop
   1ba3c:	40010400 	.word	0x40010400
   1ba40:	42208900 	.word	0x42208900
   1ba44:	4220863c 	.word	0x4220863c
   1ba48:	20002028 	.word	0x20002028
   1ba4c:	0016e360 	.word	0x0016e360
   1ba50:	002dc6c0 	.word	0x002dc6c0
   1ba54:	005b8d80 	.word	0x005b8d80
   1ba58:	00b71b00 	.word	0x00b71b00
   1ba5c:	016e3600 	.word	0x016e3600
   1ba60:	02dc6c00 	.word	0x02dc6c00
   1ba64:	422080d8 	.word	0x422080d8
   1ba68:	00201084 	.word	0x00201084
   1ba6c:	00201000 	.word	0x00201000
   1ba70:	00201064 	.word	0x00201064
   1ba74:	42208904 	.word	0x42208904
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:246
            SystemCoreClock = __HFXT / dividerValue;
   1ba78:	7afb      	ldrb	r3, [r7, #11]
   1ba7a:	4a06      	ldr	r2, [pc, #24]	; (1ba94 <SystemCoreClockUpdate+0x2f8>)
   1ba7c:	fb92 f3f3 	sdiv	r3, r2, r3
   1ba80:	461a      	mov	r2, r3
   1ba82:	4b05      	ldr	r3, [pc, #20]	; (1ba98 <SystemCoreClockUpdate+0x2fc>)
   1ba84:	601a      	str	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:248
        break;
   1ba86:	bf00      	nop
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:250
    }
}
   1ba88:	bf00      	nop
   1ba8a:	3724      	adds	r7, #36	; 0x24
   1ba8c:	46bd      	mov	sp, r7
   1ba8e:	f85d 7b04 	ldr.w	r7, [sp], #4
   1ba92:	4770      	bx	lr
   1ba94:	02dc6c00 	.word	0x02dc6c00
   1ba98:	20002028 	.word	0x20002028

0001ba9c <SystemInit>:
SystemInit():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:270
 *     5. Enable Flash wait states if needed
 *     6. Change MCLK to desired frequency
 *     7. Enable Flash read buffering
 */
void SystemInit(void)
{
   1ba9c:	b480      	push	{r7}
   1ba9e:	af00      	add	r7, sp, #0
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:273
    // Enable FPU if used
    #if (__FPU_USED == 1)                                  // __FPU_USED is defined in core_cm4.h
    SCB->CPACR |= ((3UL << 10 * 2) |                       // Set CP10 Full Access
   1baa0:	4b29      	ldr	r3, [pc, #164]	; (1bb48 <SystemInit+0xac>)
   1baa2:	f8d3 3088 	ldr.w	r3, [r3, #136]	; 0x88
   1baa6:	4a28      	ldr	r2, [pc, #160]	; (1bb48 <SystemInit+0xac>)
   1baa8:	f443 0370 	orr.w	r3, r3, #15728640	; 0xf00000
   1baac:	f8c2 3088 	str.w	r3, [r2, #136]	; 0x88
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:278
                   (3UL << 11 * 2));                       // Set CP11 Full Access
    #endif

    #if (__HALT_WDT == 1)
    WDT_A->CTL = WDT_A_CTL_PW | WDT_A_CTL_HOLD;            // Halt the WDT
   1bab0:	4b26      	ldr	r3, [pc, #152]	; (1bb4c <SystemInit+0xb0>)
   1bab2:	f44f 42b5 	mov.w	r2, #23168	; 0x5a80
   1bab6:	819a      	strh	r2, [r3, #12]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:281
    #endif

    SYSCTL->SRAM_BANKEN = SYSCTL_SRAM_BANKEN_BNK7_EN;      // Enable all SRAM banks
   1bab8:	4b25      	ldr	r3, [pc, #148]	; (1bb50 <SystemInit+0xb4>)
   1baba:	2280      	movs	r2, #128	; 0x80
   1babc:	615a      	str	r2, [r3, #20]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:379
    FLCTL->BANK0_RDCTL = FLCTL->BANK0_RDCTL | (FLCTL_BANK0_RDCTL_BUFD | FLCTL_BANK0_RDCTL_BUFI);
    FLCTL->BANK1_RDCTL = FLCTL->BANK1_RDCTL & ~(FLCTL_BANK1_RDCTL_BUFD | FLCTL_BANK1_RDCTL_BUFI);

    #elif (__SYSTEM_CLOCK == 48000000)                     // 48 MHz
    // Switches LDO VCORE0 to LDO VCORE1; mandatory for 48 MHz setting
    while((PCM->CTL1 & PCM_CTL1_PMR_BUSY));
   1babe:	bf00      	nop
   1bac0:	4b24      	ldr	r3, [pc, #144]	; (1bb54 <SystemInit+0xb8>)
   1bac2:	685b      	ldr	r3, [r3, #4]
   1bac4:	f403 7380 	and.w	r3, r3, #256	; 0x100
   1bac8:	2b00      	cmp	r3, #0
   1baca:	d1f9      	bne.n	1bac0 <SystemInit+0x24>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:380
    PCM->CTL0 = PCM_CTL0_KEY_VAL | PCM_CTL0_AMR_1;
   1bacc:	4b21      	ldr	r3, [pc, #132]	; (1bb54 <SystemInit+0xb8>)
   1bace:	4a22      	ldr	r2, [pc, #136]	; (1bb58 <SystemInit+0xbc>)
   1bad0:	601a      	str	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:381
    while((PCM->CTL1 & PCM_CTL1_PMR_BUSY));
   1bad2:	bf00      	nop
   1bad4:	4b1f      	ldr	r3, [pc, #124]	; (1bb54 <SystemInit+0xb8>)
   1bad6:	685b      	ldr	r3, [r3, #4]
   1bad8:	f403 7380 	and.w	r3, r3, #256	; 0x100
   1badc:	2b00      	cmp	r3, #0
   1bade:	d1f9      	bne.n	1bad4 <SystemInit+0x38>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:391
    PCM->CTL0 = PCM_CTL0_KEY_VAL | PCM_CTL0_AMR_5;
    while((PCM->CTL1 & PCM_CTL1_PMR_BUSY));
    #endif

    // 2 flash wait states (BANK0 VCORE1 max is 16 MHz, BANK1 VCORE1 max is 32 MHz)
    FLCTL->BANK0_RDCTL = (FLCTL->BANK0_RDCTL & ~FLCTL_BANK0_RDCTL_WAIT_MASK) | FLCTL_BANK0_RDCTL_WAIT_2;
   1bae0:	4b1e      	ldr	r3, [pc, #120]	; (1bb5c <SystemInit+0xc0>)
   1bae2:	691b      	ldr	r3, [r3, #16]
   1bae4:	f423 4370 	bic.w	r3, r3, #61440	; 0xf000
   1bae8:	4a1c      	ldr	r2, [pc, #112]	; (1bb5c <SystemInit+0xc0>)
   1baea:	f443 5300 	orr.w	r3, r3, #8192	; 0x2000
   1baee:	6113      	str	r3, [r2, #16]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:392
    FLCTL->BANK1_RDCTL = (FLCTL->BANK1_RDCTL & ~FLCTL_BANK1_RDCTL_WAIT_MASK) | FLCTL_BANK1_RDCTL_WAIT_2;
   1baf0:	4b1a      	ldr	r3, [pc, #104]	; (1bb5c <SystemInit+0xc0>)
   1baf2:	695b      	ldr	r3, [r3, #20]
   1baf4:	f423 4370 	bic.w	r3, r3, #61440	; 0xf000
   1baf8:	4a18      	ldr	r2, [pc, #96]	; (1bb5c <SystemInit+0xc0>)
   1bafa:	f443 5300 	orr.w	r3, r3, #8192	; 0x2000
   1bafe:	6153      	str	r3, [r2, #20]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:395

    // DCO = 48 MHz; MCLK = source
    CS->KEY = CS_KEY_VAL;                                  // Unlock CS module for register access
   1bb00:	4b17      	ldr	r3, [pc, #92]	; (1bb60 <SystemInit+0xc4>)
   1bb02:	f646 125a 	movw	r2, #26970	; 0x695a
   1bb06:	601a      	str	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:396
    CS->CTL0 = CS_CTL0_DCORSEL_5;                          // Set DCO to 48MHz
   1bb08:	4b15      	ldr	r3, [pc, #84]	; (1bb60 <SystemInit+0xc4>)
   1bb0a:	f44f 22a0 	mov.w	r2, #327680	; 0x50000
   1bb0e:	605a      	str	r2, [r3, #4]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:397
    CS->CTL1 = (CS->CTL1 & ~(CS_CTL1_SELM_MASK | CS_CTL1_DIVM_MASK)) | CS_CTL1_SELM__DCOCLK;  
   1bb10:	4b13      	ldr	r3, [pc, #76]	; (1bb60 <SystemInit+0xc4>)
   1bb12:	689b      	ldr	r3, [r3, #8]
   1bb14:	f023 1307 	bic.w	r3, r3, #458759	; 0x70007
   1bb18:	4a11      	ldr	r2, [pc, #68]	; (1bb60 <SystemInit+0xc4>)
   1bb1a:	f043 0303 	orr.w	r3, r3, #3
   1bb1e:	6093      	str	r3, [r2, #8]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:399
	                                                       // Select MCLK as DCO source
    CS->KEY = 0;
   1bb20:	4b0f      	ldr	r3, [pc, #60]	; (1bb60 <SystemInit+0xc4>)
   1bb22:	2200      	movs	r2, #0
   1bb24:	601a      	str	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:402

    // Set Flash Bank read buffering
    FLCTL->BANK0_RDCTL = FLCTL->BANK0_RDCTL | (FLCTL_BANK0_RDCTL_BUFD | FLCTL_BANK0_RDCTL_BUFI);
   1bb26:	4b0d      	ldr	r3, [pc, #52]	; (1bb5c <SystemInit+0xc0>)
   1bb28:	691b      	ldr	r3, [r3, #16]
   1bb2a:	4a0c      	ldr	r2, [pc, #48]	; (1bb5c <SystemInit+0xc0>)
   1bb2c:	f043 0330 	orr.w	r3, r3, #48	; 0x30
   1bb30:	6113      	str	r3, [r2, #16]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:403
    FLCTL->BANK1_RDCTL = FLCTL->BANK1_RDCTL | (FLCTL_BANK1_RDCTL_BUFD | FLCTL_BANK1_RDCTL_BUFI);
   1bb32:	4b0a      	ldr	r3, [pc, #40]	; (1bb5c <SystemInit+0xc0>)
   1bb34:	695b      	ldr	r3, [r3, #20]
   1bb36:	4a09      	ldr	r2, [pc, #36]	; (1bb5c <SystemInit+0xc0>)
   1bb38:	f043 0330 	orr.w	r3, r3, #48	; 0x30
   1bb3c:	6153      	str	r3, [r2, #20]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/system_msp432p401r.c:406
    #endif

}
   1bb3e:	bf00      	nop
   1bb40:	46bd      	mov	sp, r7
   1bb42:	f85d 7b04 	ldr.w	r7, [sp], #4
   1bb46:	4770      	bx	lr
   1bb48:	e000ed00 	.word	0xe000ed00
   1bb4c:	40004800 	.word	0x40004800
   1bb50:	e0043000 	.word	0xe0043000
   1bb54:	40010000 	.word	0x40010000
   1bb58:	695a0001 	.word	0x695a0001
   1bb5c:	40011000 	.word	0x40011000
   1bb60:	40010400 	.word	0x40010400

0001bb64 <Reset_Handler>:
Reset_Handler():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/startup_msp432p401r_gcc.c:185
/* after which the application supplied entry() routine is called.  Any fancy  */
/* actions (such as making decisions based on the reset cause register, and    */
/* resetting the bits in that register) are left solely in the hands of the    */
/* application.                                                                */
void Reset_Handler(void)
{
   1bb64:	b580      	push	{r7, lr}
   1bb66:	b082      	sub	sp, #8
   1bb68:	af00      	add	r7, sp, #0
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/startup_msp432p401r_gcc.c:189
	/* Copy the data segment initializers from flash to SRAM. */
	    uint32_t *pui32Src, *pui32Dest;

	    pui32Src = &__data_load__;
   1bb6a:	4b12      	ldr	r3, [pc, #72]	; (1bbb4 <zero_loop+0x20>)
   1bb6c:	607b      	str	r3, [r7, #4]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/startup_msp432p401r_gcc.c:190
	    for(pui32Dest = &__data_start__; pui32Dest < &__data_end__; )
   1bb6e:	4b12      	ldr	r3, [pc, #72]	; (1bbb8 <zero_loop+0x24>)
   1bb70:	603b      	str	r3, [r7, #0]
   1bb72:	e007      	b.n	1bb84 <Reset_Handler+0x20>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/startup_msp432p401r_gcc.c:192
	    {
	        *pui32Dest++ = *pui32Src++;
   1bb74:	687a      	ldr	r2, [r7, #4]
   1bb76:	1d13      	adds	r3, r2, #4
   1bb78:	607b      	str	r3, [r7, #4]
   1bb7a:	683b      	ldr	r3, [r7, #0]
   1bb7c:	1d19      	adds	r1, r3, #4
   1bb7e:	6039      	str	r1, [r7, #0]
   1bb80:	6812      	ldr	r2, [r2, #0]
   1bb82:	601a      	str	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/startup_msp432p401r_gcc.c:190
	    for(pui32Dest = &__data_start__; pui32Dest < &__data_end__; )
   1bb84:	683b      	ldr	r3, [r7, #0]
   1bb86:	4a0d      	ldr	r2, [pc, #52]	; (1bbbc <zero_loop+0x28>)
   1bb88:	4293      	cmp	r3, r2
   1bb8a:	d3f3      	bcc.n	1bb74 <Reset_Handler+0x10>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/startup_msp432p401r_gcc.c:196
	    }

	    /* Zero fill the bss segment. */
	    __asm("    ldr     r0, =__bss_start__\n"
   1bb8c:	480e      	ldr	r0, [pc, #56]	; (1bbc8 <Default_Handler+0x8>)
   1bb8e:	490f      	ldr	r1, [pc, #60]	; (1bbcc <Default_Handler+0xc>)
   1bb90:	f04f 0200 	mov.w	r2, #0

0001bb94 <zero_loop>:
   1bb94:	4288      	cmp	r0, r1
   1bb96:	bfb8      	it	lt
   1bb98:	f840 2b04 	strlt.w	r2, [r0], #4
   1bb9c:	dbfa      	blt.n	1bb94 <zero_loop>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/startup_msp432p401r_gcc.c:206
	          "    cmp     r0, r1\n"
	          "    it      lt\n"
	          "    strlt   r2, [r0], #4\n"
	          "    blt     zero_loop");
	    /* Call the application's entry point. */
		SystemInit();
   1bb9e:	f7ff ff7d 	bl	1ba9c <SystemInit>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/startup_msp432p401r_gcc.c:207
	    Vectors_Init();  //User中使用BIOS区域构件函数指针初始化
   1bba2:	f001 faef 	bl	1d184 <Vectors_Init>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/startup_msp432p401r_gcc.c:210
//        uart_init(UART_Debug,115200);
//        uart_enable_re_int(UART_Debug);
	    main();
   1bba6:	f000 f813 	bl	1bbd0 <main>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/startup_msp432p401r_gcc.c:211
}
   1bbaa:	bf00      	nop
   1bbac:	3708      	adds	r7, #8
   1bbae:	46bd      	mov	sp, r7
   1bbb0:	bd80      	pop	{r7, pc}
   1bbb2:	bf00      	nop
   1bbb4:	0001f8ec 	.word	0x0001f8ec
   1bbb8:	20002000 	.word	0x20002000
   1bbbc:	20002134 	.word	0x20002134

0001bbc0 <Default_Handler>:
Default_Handler():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/startup_msp432p401r_gcc.c:217

/* This is the code that gets called when the processor receives an unexpected  */
/* interrupt.  This simply enters an infinite loop, preserving the system state */
/* for examination by a debugger.                                               */
void Default_Handler(void)
{
   1bbc0:	b480      	push	{r7}
   1bbc2:	af00      	add	r7, sp, #0
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/startup_msp432p401r_gcc.c:219
	/* Enter an infinite loop. */
	while(1)
   1bbc4:	e7fe      	b.n	1bbc4 <Default_Handler+0x4>
T32_INT2_IRQHandler():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/startup_msp432p401r_gcc.c:219
   1bbc6:	0000      	.short	0x0000
   1bbc8:	20002134 	.word	0x20002134
   1bbcc:	2000315c 	.word	0x2000315c

0001bbd0 <main>:
main():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/main.c:15


//----------------------------------------------------------------------
//主函数，一般情况下可以认为程序从此开始运行（实际上有启动过程见书稿）
int main(void)
{
   1bbd0:	b580      	push	{r7, lr}
   1bbd2:	b088      	sub	sp, #32
   1bbd4:	af00      	add	r7, sp, #0
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/main.c:28
    vuint8_t*  gpio2_POUT;  //数据输出寄存器
    vuint8_t*  gpio2_PDIR;  //方向寄存器
	vuint8_t*  gpio2_SEL0;  //复用选择寄存器
	vuint8_t*  gpio2_SEL1;
	//给P2口有关地址变量赋值
    gpio2_ptr =(vuint8_t*) 0x40004C01u;         //寄存器基地址
   1bbd6:	4b3a      	ldr	r3, [pc, #232]	; (1bcc0 <main+0xf0>)
   1bbd8:	613b      	str	r3, [r7, #16]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/main.c:29
	gpio2_POUT =(vuint8_t *)(gpio2_ptr+2);      //数据输出寄存器地址
   1bbda:	693b      	ldr	r3, [r7, #16]
   1bbdc:	3302      	adds	r3, #2
   1bbde:	60fb      	str	r3, [r7, #12]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/main.c:30
	gpio2_PDIR =(vuint8_t *)(gpio2_ptr+4);      //数据方向寄存器地址
   1bbe0:	693b      	ldr	r3, [r7, #16]
   1bbe2:	3304      	adds	r3, #4
   1bbe4:	60bb      	str	r3, [r7, #8]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/main.c:31
	gpio2_SEL0 = (vuint8_t *)(gpio2_ptr+10);    //复用选择寄存器
   1bbe6:	693b      	ldr	r3, [r7, #16]
   1bbe8:	330a      	adds	r3, #10
   1bbea:	607b      	str	r3, [r7, #4]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/main.c:32
	gpio2_SEL1 = (vuint8_t *)(gpio2_ptr+12);
   1bbec:	693b      	ldr	r3, [r7, #16]
   1bbee:	330c      	adds	r3, #12
   1bbf0:	603b      	str	r3, [r7, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/main.c:34
	//设置复用寄存器的值(即使蓝灯使用的P2.2引脚对应的位置清0）
    *gpio2_SEL0 &= ~(1<<2);    //~(1<<2)=0b1111 1110
   1bbf2:	687b      	ldr	r3, [r7, #4]
   1bbf4:	781b      	ldrb	r3, [r3, #0]
   1bbf6:	b2db      	uxtb	r3, r3
   1bbf8:	f023 0304 	bic.w	r3, r3, #4
   1bbfc:	b2da      	uxtb	r2, r3
   1bbfe:	687b      	ldr	r3, [r7, #4]
   1bc00:	701a      	strb	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/main.c:35
    *gpio2_SEL1 &= ~(1<<2);
   1bc02:	683b      	ldr	r3, [r7, #0]
   1bc04:	781b      	ldrb	r3, [r3, #0]
   1bc06:	b2db      	uxtb	r3, r3
   1bc08:	f023 0304 	bic.w	r3, r3, #4
   1bc0c:	b2da      	uxtb	r2, r3
   1bc0e:	683b      	ldr	r3, [r7, #0]
   1bc10:	701a      	strb	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/main.c:37
    //设置数据方向寄存器，使蓝灯使用的P2.2引脚对应的位置置1(1输出,0输入)
	*gpio2_PDIR |= (1<<2);      //(1<<2)=0b0000 0001
   1bc12:	68bb      	ldr	r3, [r7, #8]
   1bc14:	781b      	ldrb	r3, [r3, #0]
   1bc16:	b2db      	uxtb	r3, r3
   1bc18:	f043 0304 	orr.w	r3, r3, #4
   1bc1c:	b2da      	uxtb	r2, r3
   1bc1e:	68bb      	ldr	r3, [r7, #8]
   1bc20:	701a      	strb	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/main.c:39
    //初始点亮蓝色发光二极管
	*gpio2_POUT |= (1<<2);      //输出寄存器相应引脚对应位置1
   1bc22:	68fb      	ldr	r3, [r7, #12]
   1bc24:	781b      	ldrb	r3, [r3, #0]
   1bc26:	b2db      	uxtb	r3, r3
   1bc28:	f043 0304 	orr.w	r3, r3, #4
   1bc2c:	b2da      	uxtb	r2, r3
   1bc2e:	68fb      	ldr	r3, [r7, #12]
   1bc30:	701a      	strb	r2, [r3, #0]
__disable_irq():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\02_CPU/cmsis_gcc.h:71
  \details Disables IRQ interrupts by setting the I-bit in the CPSR.
  Can only be executed in Privileged modes.
 */
__attribute__( ( always_inline ) ) __STATIC_INLINE void __disable_irq(void)
{
  __ASM volatile ("cpsid i" : : : "memory");
   1bc32:	b672      	cpsid	i
main():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/main.c:44
//（1.2）【不变】关总中断
	DISABLE_INTERRUPTS;

//（1.3）给主函数使用的局部变量赋初值
    mMainLoopCount=0;    //主循环次数变量
   1bc34:	2300      	movs	r3, #0
   1bc36:	61fb      	str	r3, [r7, #28]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/main.c:45
	mFlag='A';           //灯的状态标志
   1bc38:	2341      	movs	r3, #65	; 0x41
   1bc3a:	76fb      	strb	r3, [r7, #27]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/main.c:46
	mLightCount=0;       //灯的闪烁次数
   1bc3c:	2300      	movs	r3, #0
   1bc3e:	617b      	str	r3, [r7, #20]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/main.c:51

//（1.4）给全局变量赋初值
   
//（1.5）用户外设模块初始化
	gpio_init(LIGHT_BLUE,GPIO_OUTPUT,LIGHT_ON);	//初始化蓝灯
   1bc40:	2201      	movs	r2, #1
   1bc42:	2101      	movs	r1, #1
   1bc44:	f44f 7081 	mov.w	r0, #258	; 0x102
   1bc48:	f000 fca7 	bl	1c59a <gpio_init>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/main.c:52
    emuart_init(UART_User,115200);
   1bc4c:	f44f 31e1 	mov.w	r1, #115200	; 0x1c200
   1bc50:	2003      	movs	r0, #3
   1bc52:	f7ff fa2f 	bl	1b0b4 <emuart_init>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/main.c:54
//（1.6）使能模块中断
    uart_enable_re_int(UART_User);
   1bc56:	2003      	movs	r0, #3
   1bc58:	f001 fea9 	bl	1d9ae <uart_enable_re_int>
__enable_irq():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\02_CPU/cmsis_gcc.h:60
  __ASM volatile ("cpsie i" : : : "memory");
   1bc5c:	b662      	cpsie	i
main():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/main.c:65

//（2）======主循环部分（开头）========================================
	for(;;)   //for(;;)（开头）
	{
//（2.1）主循环次数变量+1
        mMainLoopCount++;
   1bc5e:	69fb      	ldr	r3, [r7, #28]
   1bc60:	3301      	adds	r3, #1
   1bc62:	61fb      	str	r3, [r7, #28]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/main.c:67
//（2.2）未达到主循环次数设定值，继续循环
		if (mMainLoopCount<=3000000)  continue;
   1bc64:	69fb      	ldr	r3, [r7, #28]
   1bc66:	4a17      	ldr	r2, [pc, #92]	; (1bcc4 <main+0xf4>)
   1bc68:	4293      	cmp	r3, r2
   1bc6a:	d927      	bls.n	1bcbc <main+0xec>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/main.c:71
//（2.3）达到主循环次数设定值，执行下列语句，进行灯的亮暗处理
       
//（2.3.1）清除循环次数变量
       mMainLoopCount=0;
   1bc6c:	2300      	movs	r3, #0
   1bc6e:	61fb      	str	r3, [r7, #28]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/main.c:73
//（2.3.2）如灯状态标志mFlag为'L'，灯的闪烁次数+1并显示，改变灯状态及标志
		if (mFlag=='L')                    //判断灯的状态标志
   1bc70:	7efb      	ldrb	r3, [r7, #27]
   1bc72:	2b4c      	cmp	r3, #76	; 0x4c
   1bc74:	d114      	bne.n	1bca0 <main+0xd0>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/main.c:75
		{
			mLightCount++;  
   1bc76:	697b      	ldr	r3, [r7, #20]
   1bc78:	3301      	adds	r3, #1
   1bc7a:	617b      	str	r3, [r7, #20]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/main.c:76
			*gpio2_POUT |= (1<<2);      //输出寄存器相应引脚对应位置1
   1bc7c:	68fb      	ldr	r3, [r7, #12]
   1bc7e:	781b      	ldrb	r3, [r3, #0]
   1bc80:	b2db      	uxtb	r3, r3
   1bc82:	f043 0304 	orr.w	r3, r3, #4
   1bc86:	b2da      	uxtb	r2, r3
   1bc88:	68fb      	ldr	r3, [r7, #12]
   1bc8a:	701a      	strb	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/main.c:77
			printf("灯的闪烁次数 mLightCount = %d\n",mLightCount);
   1bc8c:	6979      	ldr	r1, [r7, #20]
   1bc8e:	480e      	ldr	r0, [pc, #56]	; (1bcc8 <main+0xf8>)
   1bc90:	f002 fefa 	bl	1ea88 <myprintf>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/main.c:78
			mFlag='A';                       //灯的状态标志
   1bc94:	2341      	movs	r3, #65	; 0x41
   1bc96:	76fb      	strb	r3, [r7, #27]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/main.c:80
			//gpio_set(LIGHT_BLUE,LIGHT_ON);  //灯“亮”
			printf(" LIGHT_BLUE:ON--\n");   //串口输出灯的状态
   1bc98:	480c      	ldr	r0, [pc, #48]	; (1bccc <main+0xfc>)
   1bc9a:	f002 fef5 	bl	1ea88 <myprintf>
   1bc9e:	e7de      	b.n	1bc5e <main+0x8e>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/main.c:85
		}
//（2.3.3）如灯状态标志mFlag为'A'，改变灯状态及标志
		else
		{
			mFlag='L';                       //灯的状态标志
   1bca0:	234c      	movs	r3, #76	; 0x4c
   1bca2:	76fb      	strb	r3, [r7, #27]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/main.c:86
			*gpio2_POUT &=~(1<<2);     //输出寄存器相应引脚对应位清0
   1bca4:	68fb      	ldr	r3, [r7, #12]
   1bca6:	781b      	ldrb	r3, [r3, #0]
   1bca8:	b2db      	uxtb	r3, r3
   1bcaa:	f023 0304 	bic.w	r3, r3, #4
   1bcae:	b2da      	uxtb	r2, r3
   1bcb0:	68fb      	ldr	r3, [r7, #12]
   1bcb2:	701a      	strb	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/main.c:88
			//gpio_set(LIGHT_BLUE,LIGHT_OFF); //灯“暗”
			printf(" LIGHT_BLUE:OFF--\n");  //串口输出灯的状态
   1bcb4:	4806      	ldr	r0, [pc, #24]	; (1bcd0 <main+0x100>)
   1bcb6:	f002 fee7 	bl	1ea88 <myprintf>
   1bcba:	e7d0      	b.n	1bc5e <main+0x8e>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/main.c:67
		if (mMainLoopCount<=3000000)  continue;
   1bcbc:	bf00      	nop
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/main.c:65
        mMainLoopCount++;
   1bcbe:	e7ce      	b.n	1bc5e <main+0x8e>
   1bcc0:	40004c01 	.word	0x40004c01
   1bcc4:	002dc6c0 	.word	0x002dc6c0
   1bcc8:	0001f814 	.word	0x0001f814
   1bccc:	0001f834 	.word	0x0001f834
   1bcd0:	0001f848 	.word	0x0001f848

0001bcd4 <flash_init>:
flash_init():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:12
//函数返回：无
//参数说明：无
//功能概要：初始化flash模块
//======================================================================
void flash_init(void)
{
   1bcd4:	b480      	push	{r7}
   1bcd6:	af00      	add	r7, sp, #0
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:14
    // 清除访问出错标志位
    FLCTL->PRG_CTLSTAT=1;//启用字操作标志
   1bcd8:	4b08      	ldr	r3, [pc, #32]	; (1bcfc <flash_init+0x28>)
   1bcda:	2201      	movs	r2, #1
   1bcdc:	651a      	str	r2, [r3, #80]	; 0x50
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:15
    FLCTL->ERASE_CTLSTAT=(1<<18);//清空擦除错误标志
   1bcde:	4b07      	ldr	r3, [pc, #28]	; (1bcfc <flash_init+0x28>)
   1bce0:	f44f 2280 	mov.w	r2, #262144	; 0x40000
   1bce4:	f8c3 20a0 	str.w	r2, [r3, #160]	; 0xa0
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:16
    FLCTL->IFG = (1<<9);//清除写入越界错误标志
   1bce8:	4b04      	ldr	r3, [pc, #16]	; (1bcfc <flash_init+0x28>)
   1bcea:	f44f 7200 	mov.w	r2, #512	; 0x200
   1bcee:	f8c3 20f0 	str.w	r2, [r3, #240]	; 0xf0
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:17
}
   1bcf2:	bf00      	nop
   1bcf4:	46bd      	mov	sp, r7
   1bcf6:	f85d 7b04 	ldr.w	r7, [sp], #4
   1bcfa:	4770      	bx	lr
   1bcfc:	40011000 	.word	0x40011000

0001bd00 <flash_erase>:
flash_erase():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:25
//函数名称：flash_erase
//函数返回：函数执行执行状态：0=正常；1=异常。
//参数说明：sect：目标扇区号0-63
//======================================================================
uint8_t flash_erase(uint16_t sect)
{
   1bd00:	b480      	push	{r7}
   1bd02:	b085      	sub	sp, #20
   1bd04:	af00      	add	r7, sp, #0
   1bd06:	4603      	mov	r3, r0
   1bd08:	80fb      	strh	r3, [r7, #6]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:28
	uint32_t  word;
	uint8_t bank;
	uint8_t type=0;
   1bd0a:	2300      	movs	r3, #0
   1bd0c:	727b      	strb	r3, [r7, #9]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:30
	uint8_t sector;
	if(sect>=32)
   1bd0e:	88fb      	ldrh	r3, [r7, #6]
   1bd10:	2b1f      	cmp	r3, #31
   1bd12:	d906      	bls.n	1bd22 <flash_erase+0x22>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:32
	{
		bank=1;
   1bd14:	2301      	movs	r3, #1
   1bd16:	72fb      	strb	r3, [r7, #11]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:33
		sector=sect-32;
   1bd18:	88fb      	ldrh	r3, [r7, #6]
   1bd1a:	b2db      	uxtb	r3, r3
   1bd1c:	3b20      	subs	r3, #32
   1bd1e:	72bb      	strb	r3, [r7, #10]
   1bd20:	e003      	b.n	1bd2a <flash_erase+0x2a>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:37
	}
	else
	{
		bank=0;
   1bd22:	2300      	movs	r3, #0
   1bd24:	72fb      	strb	r3, [r7, #11]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:38
		sector=sect;
   1bd26:	88fb      	ldrh	r3, [r7, #6]
   1bd28:	72bb      	strb	r3, [r7, #10]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:40
	}
    if(bank>1 || type>1 || sector>31 || (type&&(sector>1))  )//判断赋值的参数是否合法
   1bd2a:	7afb      	ldrb	r3, [r7, #11]
   1bd2c:	2b01      	cmp	r3, #1
   1bd2e:	d80b      	bhi.n	1bd48 <flash_erase+0x48>
   1bd30:	7a7b      	ldrb	r3, [r7, #9]
   1bd32:	2b01      	cmp	r3, #1
   1bd34:	d808      	bhi.n	1bd48 <flash_erase+0x48>
   1bd36:	7abb      	ldrb	r3, [r7, #10]
   1bd38:	2b1f      	cmp	r3, #31
   1bd3a:	d805      	bhi.n	1bd48 <flash_erase+0x48>
   1bd3c:	7a7b      	ldrb	r3, [r7, #9]
   1bd3e:	2b00      	cmp	r3, #0
   1bd40:	d004      	beq.n	1bd4c <flash_erase+0x4c>
   1bd42:	7abb      	ldrb	r3, [r7, #10]
   1bd44:	2b01      	cmp	r3, #1
   1bd46:	d901      	bls.n	1bd4c <flash_erase+0x4c>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:41
    	return 1;
   1bd48:	2301      	movs	r3, #1
   1bd4a:	e07a      	b.n	1be42 <flash_erase+0x142>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:42
    while(!((FLCTL->ERASE_CTLSTAT & FLCTL_ERASE_CTLSTAT_STATUS_MASK)
   1bd4c:	bf00      	nop
   1bd4e:	4b40      	ldr	r3, [pc, #256]	; (1be50 <flash_erase+0x150>)
   1bd50:	f8d3 30a0 	ldr.w	r3, [r3, #160]	; 0xa0
   1bd54:	f403 3340 	and.w	r3, r3, #196608	; 0x30000
   1bd58:	2b00      	cmp	r3, #0
   1bd5a:	d1f8      	bne.n	1bd4e <flash_erase+0x4e>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:44
            == FLCTL_ERASE_CTLSTAT_STATUS_0));//判断扇区擦除寄存器是否处于空闲状态
    FLCTL->ERASE_CTLSTAT=FLCTL->ERASE_CTLSTAT|FLCTL_ERASE_CTLSTAT_MODE;//将擦除模式设置为扇区擦除
   1bd5c:	4b3c      	ldr	r3, [pc, #240]	; (1be50 <flash_erase+0x150>)
   1bd5e:	f8d3 30a0 	ldr.w	r3, [r3, #160]	; 0xa0
   1bd62:	4a3b      	ldr	r2, [pc, #236]	; (1be50 <flash_erase+0x150>)
   1bd64:	f043 0302 	orr.w	r3, r3, #2
   1bd68:	f8c2 30a0 	str.w	r3, [r2, #160]	; 0xa0
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:46
//根据解析出来的扇区信息，计算需要擦除的起始地址，并设置擦除扇区的类型以及设置擦除验证
    if(type==(0<<8))
   1bd6c:	7a7b      	ldrb	r3, [r7, #9]
   1bd6e:	2b00      	cmp	r3, #0
   1bd70:	d11d      	bne.n	1bdae <flash_erase+0xae>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:48
    {
    	if(bank==(0<<16))
   1bd72:	7afb      	ldrb	r3, [r7, #11]
   1bd74:	2b00      	cmp	r3, #0
   1bd76:	d109      	bne.n	1bd8c <flash_erase+0x8c>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:50
    	{
    		word  = (uint32_t)(sector*(1<<12));
   1bd78:	7abb      	ldrb	r3, [r7, #10]
   1bd7a:	031b      	lsls	r3, r3, #12
   1bd7c:	60fb      	str	r3, [r7, #12]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:51
    		FLCTL->BANK0_RDCTL=FLCTL->BANK0_RDCTL|FLCTL_BANK0_RDCTL_RD_MODE_STATUS_4;
   1bd7e:	4b34      	ldr	r3, [pc, #208]	; (1be50 <flash_erase+0x150>)
   1bd80:	691b      	ldr	r3, [r3, #16]
   1bd82:	4a33      	ldr	r2, [pc, #204]	; (1be50 <flash_erase+0x150>)
   1bd84:	f443 2380 	orr.w	r3, r3, #262144	; 0x40000
   1bd88:	6113      	str	r3, [r2, #16]
   1bd8a:	e009      	b.n	1bda0 <flash_erase+0xa0>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:55
    	}
    	else
    	{
    		word  = (uint32_t)((sector+32)*(1<<12));
   1bd8c:	7abb      	ldrb	r3, [r7, #10]
   1bd8e:	3320      	adds	r3, #32
   1bd90:	031b      	lsls	r3, r3, #12
   1bd92:	60fb      	str	r3, [r7, #12]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:56
    		FLCTL->BANK1_RDCTL=FLCTL->BANK1_RDCTL|FLCTL_BANK1_RDCTL_RD_MODE_STATUS_4;
   1bd94:	4b2e      	ldr	r3, [pc, #184]	; (1be50 <flash_erase+0x150>)
   1bd96:	695b      	ldr	r3, [r3, #20]
   1bd98:	4a2d      	ldr	r2, [pc, #180]	; (1be50 <flash_erase+0x150>)
   1bd9a:	f443 2380 	orr.w	r3, r3, #262144	; 0x40000
   1bd9e:	6153      	str	r3, [r2, #20]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:58
    	}
    	FLCTL->ERASE_CTLSTAT=FLCTL->ERASE_CTLSTAT|FLCTL_ERASE_CTLSTAT_TYPE_0;
   1bda0:	4b2b      	ldr	r3, [pc, #172]	; (1be50 <flash_erase+0x150>)
   1bda2:	4a2b      	ldr	r2, [pc, #172]	; (1be50 <flash_erase+0x150>)
   1bda4:	f8d3 30a0 	ldr.w	r3, [r3, #160]	; 0xa0
   1bda8:	f8c2 30a0 	str.w	r3, [r2, #160]	; 0xa0
   1bdac:	e021      	b.n	1bdf2 <flash_erase+0xf2>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:62
    }
    else
    {
    	if(bank==(0<<16))
   1bdae:	7afb      	ldrb	r3, [r7, #11]
   1bdb0:	2b00      	cmp	r3, #0
   1bdb2:	d10b      	bne.n	1bdcc <flash_erase+0xcc>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:64
    	{
    	    word  = (uint32_t)(0x00200000+(sector*(1<<12)));
   1bdb4:	7abb      	ldrb	r3, [r7, #10]
   1bdb6:	f503 7300 	add.w	r3, r3, #512	; 0x200
   1bdba:	031b      	lsls	r3, r3, #12
   1bdbc:	60fb      	str	r3, [r7, #12]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:65
    	    FLCTL->BANK0_RDCTL=FLCTL->BANK0_RDCTL|FLCTL_BANK0_RDCTL_RD_MODE_STATUS_4;
   1bdbe:	4b24      	ldr	r3, [pc, #144]	; (1be50 <flash_erase+0x150>)
   1bdc0:	691b      	ldr	r3, [r3, #16]
   1bdc2:	4a23      	ldr	r2, [pc, #140]	; (1be50 <flash_erase+0x150>)
   1bdc4:	f443 2380 	orr.w	r3, r3, #262144	; 0x40000
   1bdc8:	6113      	str	r3, [r2, #16]
   1bdca:	e00a      	b.n	1bde2 <flash_erase+0xe2>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:69
    	}
    	else
    	{
    	    word  = (uint32_t)(0x00202000+(sector*(1<<12)));
   1bdcc:	7abb      	ldrb	r3, [r7, #10]
   1bdce:	f203 2302 	addw	r3, r3, #514	; 0x202
   1bdd2:	031b      	lsls	r3, r3, #12
   1bdd4:	60fb      	str	r3, [r7, #12]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:70
    	    FLCTL->BANK1_RDCTL=FLCTL->BANK1_RDCTL|FLCTL_BANK1_RDCTL_RD_MODE_STATUS_4;
   1bdd6:	4b1e      	ldr	r3, [pc, #120]	; (1be50 <flash_erase+0x150>)
   1bdd8:	695b      	ldr	r3, [r3, #20]
   1bdda:	4a1d      	ldr	r2, [pc, #116]	; (1be50 <flash_erase+0x150>)
   1bddc:	f443 2380 	orr.w	r3, r3, #262144	; 0x40000
   1bde0:	6153      	str	r3, [r2, #20]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:72
    	}
    	FLCTL->ERASE_CTLSTAT=FLCTL->ERASE_CTLSTAT|FLCTL_ERASE_CTLSTAT_TYPE_1;
   1bde2:	4b1b      	ldr	r3, [pc, #108]	; (1be50 <flash_erase+0x150>)
   1bde4:	f8d3 30a0 	ldr.w	r3, [r3, #160]	; 0xa0
   1bde8:	4a19      	ldr	r2, [pc, #100]	; (1be50 <flash_erase+0x150>)
   1bdea:	f043 0304 	orr.w	r3, r3, #4
   1bdee:	f8c2 30a0 	str.w	r3, [r2, #160]	; 0xa0
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:74
    }
    FLCTL->ERASE_SECTADDR=word;// 设置目标地址
   1bdf2:	4a17      	ldr	r2, [pc, #92]	; (1be50 <flash_erase+0x150>)
   1bdf4:	68fb      	ldr	r3, [r7, #12]
   1bdf6:	f8c2 30a4 	str.w	r3, [r2, #164]	; 0xa4
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:75
    FLCTL->ERASE_CTLSTAT=FLCTL->ERASE_CTLSTAT|1;// 擦除扇区命令
   1bdfa:	4b15      	ldr	r3, [pc, #84]	; (1be50 <flash_erase+0x150>)
   1bdfc:	f8d3 30a0 	ldr.w	r3, [r3, #160]	; 0xa0
   1be00:	4a13      	ldr	r2, [pc, #76]	; (1be50 <flash_erase+0x150>)
   1be02:	f043 0301 	orr.w	r3, r3, #1
   1be06:	f8c2 30a0 	str.w	r3, [r2, #160]	; 0xa0
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:79
//判断擦除操作是否完成，没完成则继续


    while(!((FLCTL->ERASE_CTLSTAT & FLCTL_ERASE_CTLSTAT_STATUS_MASK)
   1be0a:	bf00      	nop
   1be0c:	4b10      	ldr	r3, [pc, #64]	; (1be50 <flash_erase+0x150>)
   1be0e:	f8d3 30a0 	ldr.w	r3, [r3, #160]	; 0xa0
   1be12:	f403 3340 	and.w	r3, r3, #196608	; 0x30000
   1be16:	f5b3 3f40 	cmp.w	r3, #196608	; 0x30000
   1be1a:	d1f7      	bne.n	1be0c <flash_erase+0x10c>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:82
            == FLCTL_ERASE_CTLSTAT_STATUS_3));
//擦除操作完成后，判断完成的情况是错误终止还是成功擦除
    if ((((FLCTL->ERASE_CTLSTAT) & (FLCTL_ERASE_CTLSTAT_ADDR_ERR))==FLCTL_ERASE_CTLSTAT_ADDR_ERR))
   1be1c:	4b0c      	ldr	r3, [pc, #48]	; (1be50 <flash_erase+0x150>)
   1be1e:	f8d3 30a0 	ldr.w	r3, [r3, #160]	; 0xa0
   1be22:	f403 2380 	and.w	r3, r3, #262144	; 0x40000
   1be26:	f5b3 2f80 	cmp.w	r3, #262144	; 0x40000
   1be2a:	d101      	bne.n	1be30 <flash_erase+0x130>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:83
    	return 1;
   1be2c:	2301      	movs	r3, #1
   1be2e:	e008      	b.n	1be42 <flash_erase+0x142>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:86
//成功擦除则设施擦除操作空闲并返回0
   // FLCTL->ERASE_CTLSTAT=FLCTL->ERASE_CTLSTAT&(~(FLCTL_ERASE_CTLSTAT_STATUS_MASK));
    FLCTL->ERASE_CTLSTAT|=FLCTL_ERASE_CTLSTAT_CLR_STAT;
   1be30:	4b07      	ldr	r3, [pc, #28]	; (1be50 <flash_erase+0x150>)
   1be32:	f8d3 30a0 	ldr.w	r3, [r3, #160]	; 0xa0
   1be36:	4a06      	ldr	r2, [pc, #24]	; (1be50 <flash_erase+0x150>)
   1be38:	f443 2300 	orr.w	r3, r3, #524288	; 0x80000
   1be3c:	f8c2 30a0 	str.w	r3, [r2, #160]	; 0xa0
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:87
    return 0;
   1be40:	2300      	movs	r3, #0
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:89

}
   1be42:	4618      	mov	r0, r3
   1be44:	3714      	adds	r7, #20
   1be46:	46bd      	mov	sp, r7
   1be48:	f85d 7b04 	ldr.w	r7, [sp], #4
   1be4c:	4770      	bx	lr
   1be4e:	bf00      	nop
   1be50:	40011000 	.word	0x40011000

0001be54 <flash_write>:
flash_write():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:101
//        N：写入字节数目
//        buf：源数据缓冲区首地址
//功能概要：将buf开始的N字节写入到flash存储器的sect扇区的 offset处
//=======================================================================
uint8_t flash_write(uint16_t sect,uint16_t offset,uint16_t N,uint8_t *buf)
{
   1be54:	b480      	push	{r7}
   1be56:	b089      	sub	sp, #36	; 0x24
   1be58:	af00      	add	r7, sp, #0
   1be5a:	607b      	str	r3, [r7, #4]
   1be5c:	4603      	mov	r3, r0
   1be5e:	81fb      	strh	r3, [r7, #14]
   1be60:	460b      	mov	r3, r1
   1be62:	81bb      	strh	r3, [r7, #12]
   1be64:	4613      	mov	r3, r2
   1be66:	817b      	strh	r3, [r7, #10]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:104
    uint32_t word;
	uint8_t  bank;
	uint8_t  type=0;
   1be68:	2300      	movs	r3, #0
   1be6a:	767b      	strb	r3, [r7, #25]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:107
	uint8_t  sector;
	uint32_t data;
	if(sect>=32)
   1be6c:	89fb      	ldrh	r3, [r7, #14]
   1be6e:	2b1f      	cmp	r3, #31
   1be70:	d906      	bls.n	1be80 <flash_write+0x2c>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:109
		{
			bank=1;
   1be72:	2301      	movs	r3, #1
   1be74:	76fb      	strb	r3, [r7, #27]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:110
			sector=sect-32;
   1be76:	89fb      	ldrh	r3, [r7, #14]
   1be78:	b2db      	uxtb	r3, r3
   1be7a:	3b20      	subs	r3, #32
   1be7c:	76bb      	strb	r3, [r7, #26]
   1be7e:	e003      	b.n	1be88 <flash_write+0x34>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:114
		}
		else
		{
			bank=0;
   1be80:	2300      	movs	r3, #0
   1be82:	76fb      	strb	r3, [r7, #27]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:115
			sector=sect;
   1be84:	89fb      	ldrh	r3, [r7, #14]
   1be86:	76bb      	strb	r3, [r7, #26]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:117
		}
    if(bank>1 || type>1 || sector>31 || (type&&(sector>1)) ||( offset+N)>4095 )//判断赋值的参数是否合法
   1be88:	7efb      	ldrb	r3, [r7, #27]
   1be8a:	2b01      	cmp	r3, #1
   1be8c:	d811      	bhi.n	1beb2 <flash_write+0x5e>
   1be8e:	7e7b      	ldrb	r3, [r7, #25]
   1be90:	2b01      	cmp	r3, #1
   1be92:	d80e      	bhi.n	1beb2 <flash_write+0x5e>
   1be94:	7ebb      	ldrb	r3, [r7, #26]
   1be96:	2b1f      	cmp	r3, #31
   1be98:	d80b      	bhi.n	1beb2 <flash_write+0x5e>
   1be9a:	7e7b      	ldrb	r3, [r7, #25]
   1be9c:	2b00      	cmp	r3, #0
   1be9e:	d002      	beq.n	1bea6 <flash_write+0x52>
   1bea0:	7ebb      	ldrb	r3, [r7, #26]
   1bea2:	2b01      	cmp	r3, #1
   1bea4:	d805      	bhi.n	1beb2 <flash_write+0x5e>
   1bea6:	89ba      	ldrh	r2, [r7, #12]
   1bea8:	897b      	ldrh	r3, [r7, #10]
   1beaa:	4413      	add	r3, r2
   1beac:	f5b3 5f80 	cmp.w	r3, #4096	; 0x1000
   1beb0:	db01      	blt.n	1beb6 <flash_write+0x62>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:118
    	return 1;
   1beb2:	2301      	movs	r3, #1
   1beb4:	e09b      	b.n	1bfee <flash_write+0x19a>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:120
    //解析地址
    if(type==(0<<8))
   1beb6:	7e7b      	ldrb	r3, [r7, #25]
   1beb8:	2b00      	cmp	r3, #0
   1beba:	d10f      	bne.n	1bedc <flash_write+0x88>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:122
        {
        	if(bank==(0<<16))
   1bebc:	7efb      	ldrb	r3, [r7, #27]
   1bebe:	2b00      	cmp	r3, #0
   1bec0:	d105      	bne.n	1bece <flash_write+0x7a>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:124
        	{
        		word  = (uint32_t)(sector*(1<<12)+offset);
   1bec2:	7ebb      	ldrb	r3, [r7, #26]
   1bec4:	031a      	lsls	r2, r3, #12
   1bec6:	89bb      	ldrh	r3, [r7, #12]
   1bec8:	4413      	add	r3, r2
   1beca:	61fb      	str	r3, [r7, #28]
   1becc:	e018      	b.n	1bf00 <flash_write+0xac>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:128
        	}
        	else
        	{
        		word  = (uint32_t)((sector+32)*(1<<12)+offset);
   1bece:	7ebb      	ldrb	r3, [r7, #26]
   1bed0:	3320      	adds	r3, #32
   1bed2:	031a      	lsls	r2, r3, #12
   1bed4:	89bb      	ldrh	r3, [r7, #12]
   1bed6:	4413      	add	r3, r2
   1bed8:	61fb      	str	r3, [r7, #28]
   1beda:	e011      	b.n	1bf00 <flash_write+0xac>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:135
        	}

        }
        else
        {
        	if(bank==(0<<16))
   1bedc:	7efb      	ldrb	r3, [r7, #27]
   1bede:	2b00      	cmp	r3, #0
   1bee0:	d107      	bne.n	1bef2 <flash_write+0x9e>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:137
        	{
        	    word  = (uint32_t)(0x00200000+(sector*(1<<12))+offset);
   1bee2:	7ebb      	ldrb	r3, [r7, #26]
   1bee4:	f503 7300 	add.w	r3, r3, #512	; 0x200
   1bee8:	031a      	lsls	r2, r3, #12
   1beea:	89bb      	ldrh	r3, [r7, #12]
   1beec:	4413      	add	r3, r2
   1beee:	61fb      	str	r3, [r7, #28]
   1bef0:	e006      	b.n	1bf00 <flash_write+0xac>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:142

        	}
        	else
        	{
        	    word  = (uint32_t)(0x00202000+(sector*(1<<12))+offset);
   1bef2:	7ebb      	ldrb	r3, [r7, #26]
   1bef4:	f203 2302 	addw	r3, r3, #514	; 0x202
   1bef8:	031a      	lsls	r2, r3, #12
   1befa:	89bb      	ldrh	r3, [r7, #12]
   1befc:	4413      	add	r3, r2
   1befe:	61fb      	str	r3, [r7, #28]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:148

        	}

        }
//清除错误标志位
    FLCTL->IFG |= (FLCTL_IFG_PRG_ERR | FLCTL_IFG_PRG);
   1bf00:	4b3e      	ldr	r3, [pc, #248]	; (1bffc <flash_write+0x1a8>)
   1bf02:	f8d3 30f0 	ldr.w	r3, [r3, #240]	; 0xf0
   1bf06:	4a3d      	ldr	r2, [pc, #244]	; (1bffc <flash_write+0x1a8>)
   1bf08:	f443 7302 	orr.w	r3, r3, #520	; 0x208
   1bf0c:	f8c2 30f0 	str.w	r3, [r2, #240]	; 0xf0
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:150
//将字操作置位以及设置写入模式为立即写入
    BSET(FLCTL_PRG_CTLSTAT_ENABLE_OFS,FLCTL->PRG_CTLSTAT);
   1bf10:	4b3a      	ldr	r3, [pc, #232]	; (1bffc <flash_write+0x1a8>)
   1bf12:	6d1b      	ldr	r3, [r3, #80]	; 0x50
   1bf14:	4a39      	ldr	r2, [pc, #228]	; (1bffc <flash_write+0x1a8>)
   1bf16:	f043 0301 	orr.w	r3, r3, #1
   1bf1a:	6513      	str	r3, [r2, #80]	; 0x50
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:151
    BCLR(FLCTL_PRG_CTLSTAT_MODE_OFS,FLCTL->PRG_CTLSTAT);
   1bf1c:	4b37      	ldr	r3, [pc, #220]	; (1bffc <flash_write+0x1a8>)
   1bf1e:	6d1b      	ldr	r3, [r3, #80]	; 0x50
   1bf20:	4a36      	ldr	r2, [pc, #216]	; (1bffc <flash_write+0x1a8>)
   1bf22:	f023 0302 	bic.w	r3, r3, #2
   1bf26:	6513      	str	r3, [r2, #80]	; 0x50
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:153
//对地址没有对齐的部分进行单字节写入处理
    while ((word & 0x03)&&N > 0)
   1bf28:	e019      	b.n	1bf5e <flash_write+0x10a>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:155
       {
    	data=HWREG8(buf);
   1bf2a:	687b      	ldr	r3, [r7, #4]
   1bf2c:	781b      	ldrb	r3, [r3, #0]
   1bf2e:	b2db      	uxtb	r3, r3
   1bf30:	617b      	str	r3, [r7, #20]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:156
        HWREG8(word)=data;
   1bf32:	69fb      	ldr	r3, [r7, #28]
   1bf34:	697a      	ldr	r2, [r7, #20]
   1bf36:	b2d2      	uxtb	r2, r2
   1bf38:	701a      	strb	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:157
    	while (BGET(FLCTL_IFG_PRG_OFS,FLCTL->IFG)==0);//检查操作是否完成
   1bf3a:	bf00      	nop
   1bf3c:	4b2f      	ldr	r3, [pc, #188]	; (1bffc <flash_write+0x1a8>)
   1bf3e:	f8d3 30f0 	ldr.w	r3, [r3, #240]	; 0xf0
   1bf42:	08db      	lsrs	r3, r3, #3
   1bf44:	f003 0301 	and.w	r3, r3, #1
   1bf48:	2b00      	cmp	r3, #0
   1bf4a:	d0f7      	beq.n	1bf3c <flash_write+0xe8>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:158
        	   buf++;
   1bf4c:	687b      	ldr	r3, [r7, #4]
   1bf4e:	3301      	adds	r3, #1
   1bf50:	607b      	str	r3, [r7, #4]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:159
        	   word++;
   1bf52:	69fb      	ldr	r3, [r7, #28]
   1bf54:	3301      	adds	r3, #1
   1bf56:	61fb      	str	r3, [r7, #28]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:160
               N--;
   1bf58:	897b      	ldrh	r3, [r7, #10]
   1bf5a:	3b01      	subs	r3, #1
   1bf5c:	817b      	strh	r3, [r7, #10]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:153
    while ((word & 0x03)&&N > 0)
   1bf5e:	69fb      	ldr	r3, [r7, #28]
   1bf60:	f003 0303 	and.w	r3, r3, #3
   1bf64:	2b00      	cmp	r3, #0
   1bf66:	d01b      	beq.n	1bfa0 <flash_write+0x14c>
   1bf68:	897b      	ldrh	r3, [r7, #10]
   1bf6a:	2b00      	cmp	r3, #0
   1bf6c:	d1dd      	bne.n	1bf2a <flash_write+0xd6>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:163
       }
//地址对其后，每次四字节写入
    while ((word & 0x0F) && (N > 3))
   1bf6e:	e017      	b.n	1bfa0 <flash_write+0x14c>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:165
       {
    	       data=HWREG32(buf);
   1bf70:	687b      	ldr	r3, [r7, #4]
   1bf72:	681b      	ldr	r3, [r3, #0]
   1bf74:	617b      	str	r3, [r7, #20]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:166
    	       HWREG32(word)=data;
   1bf76:	69fb      	ldr	r3, [r7, #28]
   1bf78:	697a      	ldr	r2, [r7, #20]
   1bf7a:	601a      	str	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:167
    	while (BGET(FLCTL_IFG_PRG_OFS,FLCTL->IFG)==0);
   1bf7c:	bf00      	nop
   1bf7e:	4b1f      	ldr	r3, [pc, #124]	; (1bffc <flash_write+0x1a8>)
   1bf80:	f8d3 30f0 	ldr.w	r3, [r3, #240]	; 0xf0
   1bf84:	08db      	lsrs	r3, r3, #3
   1bf86:	f003 0301 	and.w	r3, r3, #1
   1bf8a:	2b00      	cmp	r3, #0
   1bf8c:	d0f7      	beq.n	1bf7e <flash_write+0x12a>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:168
    	       buf += 4;
   1bf8e:	687b      	ldr	r3, [r7, #4]
   1bf90:	3304      	adds	r3, #4
   1bf92:	607b      	str	r3, [r7, #4]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:169
    	       word += 4;
   1bf94:	69fb      	ldr	r3, [r7, #28]
   1bf96:	3304      	adds	r3, #4
   1bf98:	61fb      	str	r3, [r7, #28]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:170
               N -= 4;
   1bf9a:	897b      	ldrh	r3, [r7, #10]
   1bf9c:	3b04      	subs	r3, #4
   1bf9e:	817b      	strh	r3, [r7, #10]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:163
    while ((word & 0x0F) && (N > 3))
   1bfa0:	69fb      	ldr	r3, [r7, #28]
   1bfa2:	f003 030f 	and.w	r3, r3, #15
   1bfa6:	2b00      	cmp	r3, #0
   1bfa8:	d01d      	beq.n	1bfe6 <flash_write+0x192>
   1bfaa:	897b      	ldrh	r3, [r7, #10]
   1bfac:	2b03      	cmp	r3, #3
   1bfae:	d8df      	bhi.n	1bf70 <flash_write+0x11c>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:173
           }
//处理最后数据未对其的部分，进行单字节写入
    while (N > 0)
   1bfb0:	e019      	b.n	1bfe6 <flash_write+0x192>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:175
       {
    	data=HWREG8(buf);
   1bfb2:	687b      	ldr	r3, [r7, #4]
   1bfb4:	781b      	ldrb	r3, [r3, #0]
   1bfb6:	b2db      	uxtb	r3, r3
   1bfb8:	617b      	str	r3, [r7, #20]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:176
        HWREG8(word)=data;
   1bfba:	69fb      	ldr	r3, [r7, #28]
   1bfbc:	697a      	ldr	r2, [r7, #20]
   1bfbe:	b2d2      	uxtb	r2, r2
   1bfc0:	701a      	strb	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:177
    	while (BGET(FLCTL_IFG_PRG_OFS,FLCTL->IFG)==0);
   1bfc2:	bf00      	nop
   1bfc4:	4b0d      	ldr	r3, [pc, #52]	; (1bffc <flash_write+0x1a8>)
   1bfc6:	f8d3 30f0 	ldr.w	r3, [r3, #240]	; 0xf0
   1bfca:	08db      	lsrs	r3, r3, #3
   1bfcc:	f003 0301 	and.w	r3, r3, #1
   1bfd0:	2b00      	cmp	r3, #0
   1bfd2:	d0f7      	beq.n	1bfc4 <flash_write+0x170>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:178
        	   buf++;
   1bfd4:	687b      	ldr	r3, [r7, #4]
   1bfd6:	3301      	adds	r3, #1
   1bfd8:	607b      	str	r3, [r7, #4]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:179
        	   word++;
   1bfda:	69fb      	ldr	r3, [r7, #28]
   1bfdc:	3301      	adds	r3, #1
   1bfde:	61fb      	str	r3, [r7, #28]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:180
               N--;
   1bfe0:	897b      	ldrh	r3, [r7, #10]
   1bfe2:	3b01      	subs	r3, #1
   1bfe4:	817b      	strh	r3, [r7, #10]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:173
    while (N > 0)
   1bfe6:	897b      	ldrh	r3, [r7, #10]
   1bfe8:	2b00      	cmp	r3, #0
   1bfea:	d1e2      	bne.n	1bfb2 <flash_write+0x15e>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:182
       }
    return 0;
   1bfec:	2300      	movs	r3, #0
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:183
    }
   1bfee:	4618      	mov	r0, r3
   1bff0:	3724      	adds	r7, #36	; 0x24
   1bff2:	46bd      	mov	sp, r7
   1bff4:	f85d 7b04 	ldr.w	r7, [sp], #4
   1bff8:	4770      	bx	lr
   1bffa:	bf00      	nop
   1bffc:	40011000 	.word	0x40011000

0001c000 <flash_write_physical>:
flash_write_physical():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:189




uint8_t flash_write_physical(uint32_t destaddr,uint16_t N,uint8_t *buf)
{
   1c000:	b580      	push	{r7, lr}
   1c002:	b088      	sub	sp, #32
   1c004:	af00      	add	r7, sp, #0
   1c006:	60f8      	str	r0, [r7, #12]
   1c008:	460b      	mov	r3, r1
   1c00a:	607a      	str	r2, [r7, #4]
   1c00c:	817b      	strh	r3, [r7, #10]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:193
    uint32_t word;
	uint8_t  sector;
	uint32_t data;
	word=destaddr;
   1c00e:	68fb      	ldr	r3, [r7, #12]
   1c010:	61fb      	str	r3, [r7, #28]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:194
	sector=word>>12;
   1c012:	69fb      	ldr	r3, [r7, #28]
   1c014:	0b1b      	lsrs	r3, r3, #12
   1c016:	76fb      	strb	r3, [r7, #27]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:195
	if(destaddr>0x1FFFF)
   1c018:	68fb      	ldr	r3, [r7, #12]
   1c01a:	f5b3 3f00 	cmp.w	r3, #131072	; 0x20000
   1c01e:	d30f      	bcc.n	1c040 <flash_write_physical+0x40>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:197
	{
		sector-=32;
   1c020:	7efb      	ldrb	r3, [r7, #27]
   1c022:	3b20      	subs	r3, #32
   1c024:	76fb      	strb	r3, [r7, #27]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:198
		flash_unprotect((1<<16)|(0<<8)|(sector+1));
   1c026:	7efb      	ldrb	r3, [r7, #27]
   1c028:	b29b      	uxth	r3, r3
   1c02a:	3301      	adds	r3, #1
   1c02c:	b29b      	uxth	r3, r3
   1c02e:	4618      	mov	r0, r3
   1c030:	f000 f96c 	bl	1c30c <flash_unprotect>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:199
		flash_unprotect((1<<16)|(0<<8)|sector);
   1c034:	7efb      	ldrb	r3, [r7, #27]
   1c036:	b29b      	uxth	r3, r3
   1c038:	4618      	mov	r0, r3
   1c03a:	f000 f967 	bl	1c30c <flash_unprotect>
   1c03e:	e00b      	b.n	1c058 <flash_write_physical+0x58>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:202
	}
	else {
		flash_unprotect((0<<16)|(0<<8)|(sector+1));
   1c040:	7efb      	ldrb	r3, [r7, #27]
   1c042:	b29b      	uxth	r3, r3
   1c044:	3301      	adds	r3, #1
   1c046:	b29b      	uxth	r3, r3
   1c048:	4618      	mov	r0, r3
   1c04a:	f000 f95f 	bl	1c30c <flash_unprotect>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:203
		flash_unprotect((0<<16)|(0<<8)|sector);
   1c04e:	7efb      	ldrb	r3, [r7, #27]
   1c050:	b29b      	uxth	r3, r3
   1c052:	4618      	mov	r0, r3
   1c054:	f000 f95a 	bl	1c30c <flash_unprotect>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:206
	}
//清除错误标志位
    FLCTL->IFG |= (FLCTL_IFG_PRG_ERR | FLCTL_IFG_PRG);
   1c058:	4b49      	ldr	r3, [pc, #292]	; (1c180 <flash_write_physical+0x180>)
   1c05a:	f8d3 30f0 	ldr.w	r3, [r3, #240]	; 0xf0
   1c05e:	4a48      	ldr	r2, [pc, #288]	; (1c180 <flash_write_physical+0x180>)
   1c060:	f443 7302 	orr.w	r3, r3, #520	; 0x208
   1c064:	f8c2 30f0 	str.w	r3, [r2, #240]	; 0xf0
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:208
//将字操作置位以及设置写入模式为立即写入
    BSET(FLCTL_PRG_CTLSTAT_ENABLE_OFS,FLCTL->PRG_CTLSTAT);
   1c068:	4b45      	ldr	r3, [pc, #276]	; (1c180 <flash_write_physical+0x180>)
   1c06a:	6d1b      	ldr	r3, [r3, #80]	; 0x50
   1c06c:	4a44      	ldr	r2, [pc, #272]	; (1c180 <flash_write_physical+0x180>)
   1c06e:	f043 0301 	orr.w	r3, r3, #1
   1c072:	6513      	str	r3, [r2, #80]	; 0x50
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:209
    BCLR(FLCTL_PRG_CTLSTAT_MODE_OFS,FLCTL->PRG_CTLSTAT);
   1c074:	4b42      	ldr	r3, [pc, #264]	; (1c180 <flash_write_physical+0x180>)
   1c076:	6d1b      	ldr	r3, [r3, #80]	; 0x50
   1c078:	4a41      	ldr	r2, [pc, #260]	; (1c180 <flash_write_physical+0x180>)
   1c07a:	f023 0302 	bic.w	r3, r3, #2
   1c07e:	6513      	str	r3, [r2, #80]	; 0x50
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:211
//对地址没有对齐的部分进行单字节写入处理
    while ((word & 0x03)&&N > 0)
   1c080:	e019      	b.n	1c0b6 <flash_write_physical+0xb6>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:213
       {
    	data=HWREG8(buf);
   1c082:	687b      	ldr	r3, [r7, #4]
   1c084:	781b      	ldrb	r3, [r3, #0]
   1c086:	b2db      	uxtb	r3, r3
   1c088:	617b      	str	r3, [r7, #20]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:214
        HWREG8(word)=data;
   1c08a:	69fb      	ldr	r3, [r7, #28]
   1c08c:	697a      	ldr	r2, [r7, #20]
   1c08e:	b2d2      	uxtb	r2, r2
   1c090:	701a      	strb	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:215
    	while (BGET(FLCTL_IFG_PRG_OFS,FLCTL->IFG)==0);//检查操作是否完成
   1c092:	bf00      	nop
   1c094:	4b3a      	ldr	r3, [pc, #232]	; (1c180 <flash_write_physical+0x180>)
   1c096:	f8d3 30f0 	ldr.w	r3, [r3, #240]	; 0xf0
   1c09a:	08db      	lsrs	r3, r3, #3
   1c09c:	f003 0301 	and.w	r3, r3, #1
   1c0a0:	2b00      	cmp	r3, #0
   1c0a2:	d0f7      	beq.n	1c094 <flash_write_physical+0x94>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:216
        	   buf++;
   1c0a4:	687b      	ldr	r3, [r7, #4]
   1c0a6:	3301      	adds	r3, #1
   1c0a8:	607b      	str	r3, [r7, #4]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:217
        	   word++;
   1c0aa:	69fb      	ldr	r3, [r7, #28]
   1c0ac:	3301      	adds	r3, #1
   1c0ae:	61fb      	str	r3, [r7, #28]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:218
               N--;
   1c0b0:	897b      	ldrh	r3, [r7, #10]
   1c0b2:	3b01      	subs	r3, #1
   1c0b4:	817b      	strh	r3, [r7, #10]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:211
    while ((word & 0x03)&&N > 0)
   1c0b6:	69fb      	ldr	r3, [r7, #28]
   1c0b8:	f003 0303 	and.w	r3, r3, #3
   1c0bc:	2b00      	cmp	r3, #0
   1c0be:	d01b      	beq.n	1c0f8 <flash_write_physical+0xf8>
   1c0c0:	897b      	ldrh	r3, [r7, #10]
   1c0c2:	2b00      	cmp	r3, #0
   1c0c4:	d1dd      	bne.n	1c082 <flash_write_physical+0x82>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:221
       }
//地址对其后，每次四字节写入
    while ((word & 0x0F) && (N > 3))
   1c0c6:	e017      	b.n	1c0f8 <flash_write_physical+0xf8>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:223
       {
    	       data=HWREG32(buf);
   1c0c8:	687b      	ldr	r3, [r7, #4]
   1c0ca:	681b      	ldr	r3, [r3, #0]
   1c0cc:	617b      	str	r3, [r7, #20]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:224
    	       HWREG32(word)=data;
   1c0ce:	69fb      	ldr	r3, [r7, #28]
   1c0d0:	697a      	ldr	r2, [r7, #20]
   1c0d2:	601a      	str	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:225
    	while (BGET(FLCTL_IFG_PRG_OFS,FLCTL->IFG)==0);
   1c0d4:	bf00      	nop
   1c0d6:	4b2a      	ldr	r3, [pc, #168]	; (1c180 <flash_write_physical+0x180>)
   1c0d8:	f8d3 30f0 	ldr.w	r3, [r3, #240]	; 0xf0
   1c0dc:	08db      	lsrs	r3, r3, #3
   1c0de:	f003 0301 	and.w	r3, r3, #1
   1c0e2:	2b00      	cmp	r3, #0
   1c0e4:	d0f7      	beq.n	1c0d6 <flash_write_physical+0xd6>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:226
    	       buf += 4;
   1c0e6:	687b      	ldr	r3, [r7, #4]
   1c0e8:	3304      	adds	r3, #4
   1c0ea:	607b      	str	r3, [r7, #4]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:227
    	       word += 4;
   1c0ec:	69fb      	ldr	r3, [r7, #28]
   1c0ee:	3304      	adds	r3, #4
   1c0f0:	61fb      	str	r3, [r7, #28]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:228
               N -= 4;
   1c0f2:	897b      	ldrh	r3, [r7, #10]
   1c0f4:	3b04      	subs	r3, #4
   1c0f6:	817b      	strh	r3, [r7, #10]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:221
    while ((word & 0x0F) && (N > 3))
   1c0f8:	69fb      	ldr	r3, [r7, #28]
   1c0fa:	f003 030f 	and.w	r3, r3, #15
   1c0fe:	2b00      	cmp	r3, #0
   1c100:	d01d      	beq.n	1c13e <flash_write_physical+0x13e>
   1c102:	897b      	ldrh	r3, [r7, #10]
   1c104:	2b03      	cmp	r3, #3
   1c106:	d8df      	bhi.n	1c0c8 <flash_write_physical+0xc8>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:231
           }
//处理最后数据未对其的部分，进行单字节写入
    while (N > 0)
   1c108:	e019      	b.n	1c13e <flash_write_physical+0x13e>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:233
       {
    	data=HWREG8(buf);
   1c10a:	687b      	ldr	r3, [r7, #4]
   1c10c:	781b      	ldrb	r3, [r3, #0]
   1c10e:	b2db      	uxtb	r3, r3
   1c110:	617b      	str	r3, [r7, #20]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:234
        HWREG8(word)=data;
   1c112:	69fb      	ldr	r3, [r7, #28]
   1c114:	697a      	ldr	r2, [r7, #20]
   1c116:	b2d2      	uxtb	r2, r2
   1c118:	701a      	strb	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:235
    	while (BGET(FLCTL_IFG_PRG_OFS,FLCTL->IFG)==0);
   1c11a:	bf00      	nop
   1c11c:	4b18      	ldr	r3, [pc, #96]	; (1c180 <flash_write_physical+0x180>)
   1c11e:	f8d3 30f0 	ldr.w	r3, [r3, #240]	; 0xf0
   1c122:	08db      	lsrs	r3, r3, #3
   1c124:	f003 0301 	and.w	r3, r3, #1
   1c128:	2b00      	cmp	r3, #0
   1c12a:	d0f7      	beq.n	1c11c <flash_write_physical+0x11c>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:236
        	   buf++;
   1c12c:	687b      	ldr	r3, [r7, #4]
   1c12e:	3301      	adds	r3, #1
   1c130:	607b      	str	r3, [r7, #4]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:237
        	   word++;
   1c132:	69fb      	ldr	r3, [r7, #28]
   1c134:	3301      	adds	r3, #1
   1c136:	61fb      	str	r3, [r7, #28]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:238
               N--;
   1c138:	897b      	ldrh	r3, [r7, #10]
   1c13a:	3b01      	subs	r3, #1
   1c13c:	817b      	strh	r3, [r7, #10]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:231
    while (N > 0)
   1c13e:	897b      	ldrh	r3, [r7, #10]
   1c140:	2b00      	cmp	r3, #0
   1c142:	d1e2      	bne.n	1c10a <flash_write_physical+0x10a>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:240
       }
	if(destaddr>0x1FFFF)
   1c144:	68fb      	ldr	r3, [r7, #12]
   1c146:	f5b3 3f00 	cmp.w	r3, #131072	; 0x20000
   1c14a:	d30a      	bcc.n	1c162 <flash_write_physical+0x162>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:242
	{
		flash_protect((1<<16)|(0<<8)|(sector+1));
   1c14c:	7efb      	ldrb	r3, [r7, #27]
   1c14e:	3301      	adds	r3, #1
   1c150:	b2db      	uxtb	r3, r3
   1c152:	4618      	mov	r0, r3
   1c154:	f000 f87d 	bl	1c252 <flash_protect>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:243
		flash_protect((1<<16)|(0<<8)|sector);
   1c158:	7efb      	ldrb	r3, [r7, #27]
   1c15a:	4618      	mov	r0, r3
   1c15c:	f000 f879 	bl	1c252 <flash_protect>
   1c160:	e009      	b.n	1c176 <flash_write_physical+0x176>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:246
	}
	else {
		flash_protect((0<<16)|(0<<8)|(sector+1));
   1c162:	7efb      	ldrb	r3, [r7, #27]
   1c164:	3301      	adds	r3, #1
   1c166:	b2db      	uxtb	r3, r3
   1c168:	4618      	mov	r0, r3
   1c16a:	f000 f872 	bl	1c252 <flash_protect>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:247
		flash_protect((0<<16)|(0<<8)|sector);
   1c16e:	7efb      	ldrb	r3, [r7, #27]
   1c170:	4618      	mov	r0, r3
   1c172:	f000 f86e 	bl	1c252 <flash_protect>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:250
	}

    return 0;
   1c176:	2300      	movs	r3, #0
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:251
    }
   1c178:	4618      	mov	r0, r3
   1c17a:	3720      	adds	r7, #32
   1c17c:	46bd      	mov	sp, r7
   1c17e:	bd80      	pop	{r7, pc}
   1c180:	40011000 	.word	0x40011000

0001c184 <flash_read_physical>:
flash_read_physical():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:262
//       addr：目标地址，要求为4的倍数（例如：0x00000004）
//       N：读字节数目（1~1024）
//功能概要：读取flash指定地址的内容
//======================================================================
void flash_read_physical(uint8_t *dest,uint32_t addr,uint16_t N)
{
   1c184:	b580      	push	{r7, lr}
   1c186:	b086      	sub	sp, #24
   1c188:	af00      	add	r7, sp, #0
   1c18a:	60f8      	str	r0, [r7, #12]
   1c18c:	60b9      	str	r1, [r7, #8]
   1c18e:	4613      	mov	r3, r2
   1c190:	80fb      	strh	r3, [r7, #6]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:264
	uint8_t *src;
    src=(uint8_t *)addr;
   1c192:	68bb      	ldr	r3, [r7, #8]
   1c194:	617b      	str	r3, [r7, #20]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:265
    memcpy(dest,src,N);//从src拷贝N字节数据到dest
   1c196:	88fb      	ldrh	r3, [r7, #6]
   1c198:	461a      	mov	r2, r3
   1c19a:	6979      	ldr	r1, [r7, #20]
   1c19c:	68f8      	ldr	r0, [r7, #12]
   1c19e:	f003 faf3 	bl	1f788 <memcpy>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:266
}
   1c1a2:	bf00      	nop
   1c1a4:	3718      	adds	r7, #24
   1c1a6:	46bd      	mov	sp, r7
   1c1a8:	bd80      	pop	{r7, pc}

0001c1aa <flash_read_logic>:
flash_read_logic():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:278
//       offset:扇区内部偏移地址（0~1020，要求为0,4，8,12，......）
//       N：读字节数目（1~1024）
//功能概要：读取flash存储器的sect扇区的 offset处开始的N字节，到RAM区dest处
//======================================================================
void flash_read_logic(uint8_t *dest,uint16_t sect,uint16_t offset,uint16_t N)
{
   1c1aa:	b580      	push	{r7, lr}
   1c1ac:	b088      	sub	sp, #32
   1c1ae:	af00      	add	r7, sp, #0
   1c1b0:	60f8      	str	r0, [r7, #12]
   1c1b2:	4608      	mov	r0, r1
   1c1b4:	4611      	mov	r1, r2
   1c1b6:	461a      	mov	r2, r3
   1c1b8:	4603      	mov	r3, r0
   1c1ba:	817b      	strh	r3, [r7, #10]
   1c1bc:	460b      	mov	r3, r1
   1c1be:	813b      	strh	r3, [r7, #8]
   1c1c0:	4613      	mov	r3, r2
   1c1c2:	80fb      	strh	r3, [r7, #6]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:280
	uint8_t  bank;
	uint8_t  type=0;
   1c1c4:	2300      	movs	r3, #0
   1c1c6:	75fb      	strb	r3, [r7, #23]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:285
	uint8_t  sector;
	uint8_t *src;
    uint32_t addrbase;

    if(sect>=32)
   1c1c8:	897b      	ldrh	r3, [r7, #10]
   1c1ca:	2b1f      	cmp	r3, #31
   1c1cc:	d906      	bls.n	1c1dc <flash_read_logic+0x32>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:287
    		{
    			bank=1;
   1c1ce:	2301      	movs	r3, #1
   1c1d0:	77fb      	strb	r3, [r7, #31]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:288
    			sector=sect-32;
   1c1d2:	897b      	ldrh	r3, [r7, #10]
   1c1d4:	b2db      	uxtb	r3, r3
   1c1d6:	3b20      	subs	r3, #32
   1c1d8:	77bb      	strb	r3, [r7, #30]
   1c1da:	e003      	b.n	1c1e4 <flash_read_logic+0x3a>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:292
    		}
    		else
    		{
    			bank=0;
   1c1dc:	2300      	movs	r3, #0
   1c1de:	77fb      	strb	r3, [r7, #31]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:293
    			sector=sect;
   1c1e0:	897b      	ldrh	r3, [r7, #10]
   1c1e2:	77bb      	strb	r3, [r7, #30]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:295
    		}
    if(bank>1 || type>1 || sector>31 || (type&&(sector>1)) )//判断赋值的参数是否合法
   1c1e4:	7ffb      	ldrb	r3, [r7, #31]
   1c1e6:	2b01      	cmp	r3, #1
   1c1e8:	d815      	bhi.n	1c216 <flash_read_logic+0x6c>
   1c1ea:	7dfb      	ldrb	r3, [r7, #23]
   1c1ec:	2b01      	cmp	r3, #1
   1c1ee:	d812      	bhi.n	1c216 <flash_read_logic+0x6c>
   1c1f0:	7fbb      	ldrb	r3, [r7, #30]
   1c1f2:	2b1f      	cmp	r3, #31
   1c1f4:	d80f      	bhi.n	1c216 <flash_read_logic+0x6c>
   1c1f6:	7dfb      	ldrb	r3, [r7, #23]
   1c1f8:	2b00      	cmp	r3, #0
   1c1fa:	d010      	beq.n	1c21e <flash_read_logic+0x74>
   1c1fc:	7fbb      	ldrb	r3, [r7, #30]
   1c1fe:	2b01      	cmp	r3, #1
   1c200:	d90d      	bls.n	1c21e <flash_read_logic+0x74>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:298
    {
    	//错误赋值时，返回0xFF
    	while(N)
   1c202:	e008      	b.n	1c216 <flash_read_logic+0x6c>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:300
    	{
    		*dest=0xFF;
   1c204:	68fb      	ldr	r3, [r7, #12]
   1c206:	22ff      	movs	r2, #255	; 0xff
   1c208:	701a      	strb	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:301
    		dest++;
   1c20a:	68fb      	ldr	r3, [r7, #12]
   1c20c:	3301      	adds	r3, #1
   1c20e:	60fb      	str	r3, [r7, #12]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:302
    		N--;
   1c210:	88fb      	ldrh	r3, [r7, #6]
   1c212:	3b01      	subs	r3, #1
   1c214:	80fb      	strh	r3, [r7, #6]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:298
    	while(N)
   1c216:	88fb      	ldrh	r3, [r7, #6]
   1c218:	2b00      	cmp	r3, #0
   1c21a:	d1f3      	bne.n	1c204 <flash_read_logic+0x5a>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:304
    	}
    	return;
   1c21c:	e016      	b.n	1c24c <flash_read_logic+0xa2>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:307
    }
    //根据类型区决定基地址
    if(sect>=32)
   1c21e:	897b      	ldrh	r3, [r7, #10]
   1c220:	2b1f      	cmp	r3, #31
   1c222:	d903      	bls.n	1c22c <flash_read_logic+0x82>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:309
    		{
    	addrbase=0x00020000;
   1c224:	f44f 3300 	mov.w	r3, #131072	; 0x20000
   1c228:	61bb      	str	r3, [r7, #24]
   1c22a:	e001      	b.n	1c230 <flash_read_logic+0x86>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:313
    		}
    		else
    		{
    			addrbase=0x00000000;
   1c22c:	2300      	movs	r3, #0
   1c22e:	61bb      	str	r3, [r7, #24]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:316
    		}

    src=(uint8_t *)(sector*4096+offset+addrbase);//计算地址
   1c230:	7fbb      	ldrb	r3, [r7, #30]
   1c232:	031a      	lsls	r2, r3, #12
   1c234:	893b      	ldrh	r3, [r7, #8]
   1c236:	4413      	add	r3, r2
   1c238:	461a      	mov	r2, r3
   1c23a:	69bb      	ldr	r3, [r7, #24]
   1c23c:	4413      	add	r3, r2
   1c23e:	613b      	str	r3, [r7, #16]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:317
    memcpy(dest,src,N);//从src拷贝N字节数据到dest
   1c240:	88fb      	ldrh	r3, [r7, #6]
   1c242:	461a      	mov	r2, r3
   1c244:	6939      	ldr	r1, [r7, #16]
   1c246:	68f8      	ldr	r0, [r7, #12]
   1c248:	f003 fa9e 	bl	1f788 <memcpy>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:318
}
   1c24c:	3720      	adds	r7, #32
   1c24e:	46bd      	mov	sp, r7
   1c250:	bd80      	pop	{r7, pc}

0001c252 <flash_protect>:
flash_protect():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:328
//参数说明：bank_type_sect：待保护区域的扇区号
//功能概要：flash保护操作
//说        明：每调用本函数一次，保护一个扇区
//========================================================================
void flash_protect(uint8_t sect)
{
   1c252:	b480      	push	{r7}
   1c254:	b085      	sub	sp, #20
   1c256:	af00      	add	r7, sp, #0
   1c258:	4603      	mov	r3, r0
   1c25a:	71fb      	strb	r3, [r7, #7]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:331

	uint8_t  bank;
	uint8_t  type=0;
   1c25c:	2300      	movs	r3, #0
   1c25e:	737b      	strb	r3, [r7, #13]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:333
	uint8_t  sector;
	if(sect>=32)
   1c260:	79fb      	ldrb	r3, [r7, #7]
   1c262:	2b1f      	cmp	r3, #31
   1c264:	d905      	bls.n	1c272 <flash_protect+0x20>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:335
			{
				bank=1;
   1c266:	2301      	movs	r3, #1
   1c268:	73fb      	strb	r3, [r7, #15]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:336
				sector=sect-32;
   1c26a:	79fb      	ldrb	r3, [r7, #7]
   1c26c:	3b20      	subs	r3, #32
   1c26e:	73bb      	strb	r3, [r7, #14]
   1c270:	e003      	b.n	1c27a <flash_protect+0x28>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:340
			}
			else
			{
				bank=0;
   1c272:	2300      	movs	r3, #0
   1c274:	73fb      	strb	r3, [r7, #15]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:341
				sector=sect;
   1c276:	79fb      	ldrb	r3, [r7, #7]
   1c278:	73bb      	strb	r3, [r7, #14]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:343
			}
    if(bank>1 || type>1 || sector>31 || (type&&(sector>1)) )//判断赋值的参数是否合法
   1c27a:	7bfb      	ldrb	r3, [r7, #15]
   1c27c:	2b01      	cmp	r3, #1
   1c27e:	d83c      	bhi.n	1c2fa <flash_protect+0xa8>
   1c280:	7b7b      	ldrb	r3, [r7, #13]
   1c282:	2b01      	cmp	r3, #1
   1c284:	d839      	bhi.n	1c2fa <flash_protect+0xa8>
   1c286:	7bbb      	ldrb	r3, [r7, #14]
   1c288:	2b1f      	cmp	r3, #31
   1c28a:	d836      	bhi.n	1c2fa <flash_protect+0xa8>
   1c28c:	7b7b      	ldrb	r3, [r7, #13]
   1c28e:	2b00      	cmp	r3, #0
   1c290:	d002      	beq.n	1c298 <flash_protect+0x46>
   1c292:	7bbb      	ldrb	r3, [r7, #14]
   1c294:	2b01      	cmp	r3, #1
   1c296:	d830      	bhi.n	1c2fa <flash_protect+0xa8>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:347
    	return;

	//当FLCTL_PRG_CTLSTAT 、 FLCTL_PRGBRST_CTLSTAT 和FLCTL_ERASE_CTLSTAT 不全显示为空闲状态
	while(  (FLCTL->PRG_CTLSTAT & FLCTL_PRG_CTLSTAT_STATUS_MASK  )            ||
   1c298:	bf00      	nop
   1c29a:	4b1b      	ldr	r3, [pc, #108]	; (1c308 <flash_protect+0xb6>)
   1c29c:	6d1b      	ldr	r3, [r3, #80]	; 0x50
   1c29e:	f403 3340 	and.w	r3, r3, #196608	; 0x30000
   1c2a2:	2b00      	cmp	r3, #0
   1c2a4:	d1f9      	bne.n	1c29a <flash_protect+0x48>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:348
			(FLCTL->PRGBRST_CTLSTAT & FLCTL_PRGBRST_CTLSTAT_BURST_STATUS_MASK)||
   1c2a6:	4b18      	ldr	r3, [pc, #96]	; (1c308 <flash_protect+0xb6>)
   1c2a8:	6d5b      	ldr	r3, [r3, #84]	; 0x54
   1c2aa:	f403 23e0 	and.w	r3, r3, #458752	; 0x70000
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:347
	while(  (FLCTL->PRG_CTLSTAT & FLCTL_PRG_CTLSTAT_STATUS_MASK  )            ||
   1c2ae:	2b00      	cmp	r3, #0
   1c2b0:	d1f3      	bne.n	1c29a <flash_protect+0x48>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:349
			(FLCTL->ERASE_CTLSTAT & FLCTL_ERASE_CTLSTAT_STATUS_MASK));
   1c2b2:	4b15      	ldr	r3, [pc, #84]	; (1c308 <flash_protect+0xb6>)
   1c2b4:	f8d3 30a0 	ldr.w	r3, [r3, #160]	; 0xa0
   1c2b8:	f403 3340 	and.w	r3, r3, #196608	; 0x30000
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:348
			(FLCTL->PRGBRST_CTLSTAT & FLCTL_PRGBRST_CTLSTAT_BURST_STATUS_MASK)||
   1c2bc:	2b00      	cmp	r3, #0
   1c2be:	d1ec      	bne.n	1c29a <flash_protect+0x48>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:354

	//将擦写保护寄存器的sect位置位 使sect扇区处于安全状态


    if(sect>=32)
   1c2c0:	79fb      	ldrb	r3, [r7, #7]
   1c2c2:	2b1f      	cmp	r3, #31
   1c2c4:	d90c      	bls.n	1c2e0 <flash_protect+0x8e>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:356
    		{
    	BSET(sector,FLCTL->BANK1_MAIN_WEPROT);
   1c2c6:	4b10      	ldr	r3, [pc, #64]	; (1c308 <flash_protect+0xb6>)
   1c2c8:	f8d3 30c4 	ldr.w	r3, [r3, #196]	; 0xc4
   1c2cc:	7bba      	ldrb	r2, [r7, #14]
   1c2ce:	2101      	movs	r1, #1
   1c2d0:	fa01 f202 	lsl.w	r2, r1, r2
   1c2d4:	4611      	mov	r1, r2
   1c2d6:	4a0c      	ldr	r2, [pc, #48]	; (1c308 <flash_protect+0xb6>)
   1c2d8:	430b      	orrs	r3, r1
   1c2da:	f8c2 30c4 	str.w	r3, [r2, #196]	; 0xc4
   1c2de:	e00d      	b.n	1c2fc <flash_protect+0xaa>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:360
    		}
    		else
    		{
    			BSET(sector,FLCTL->BANK0_MAIN_WEPROT);
   1c2e0:	4b09      	ldr	r3, [pc, #36]	; (1c308 <flash_protect+0xb6>)
   1c2e2:	f8d3 30b4 	ldr.w	r3, [r3, #180]	; 0xb4
   1c2e6:	7bba      	ldrb	r2, [r7, #14]
   1c2e8:	2101      	movs	r1, #1
   1c2ea:	fa01 f202 	lsl.w	r2, r1, r2
   1c2ee:	4611      	mov	r1, r2
   1c2f0:	4a05      	ldr	r2, [pc, #20]	; (1c308 <flash_protect+0xb6>)
   1c2f2:	430b      	orrs	r3, r1
   1c2f4:	f8c2 30b4 	str.w	r3, [r2, #180]	; 0xb4
   1c2f8:	e000      	b.n	1c2fc <flash_protect+0xaa>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:344
    	return;
   1c2fa:	bf00      	nop
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:362
    		}
}
   1c2fc:	3714      	adds	r7, #20
   1c2fe:	46bd      	mov	sp, r7
   1c300:	f85d 7b04 	ldr.w	r7, [sp], #4
   1c304:	4770      	bx	lr
   1c306:	bf00      	nop
   1c308:	40011000 	.word	0x40011000

0001c30c <flash_unprotect>:
flash_unprotect():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:371
//函数返回：无
//参数说明：所要解保护的扇区
//功能概要：flash扇区解保护操作
//========================================================================
void flash_unprotect(uint16_t sect)
{
   1c30c:	b480      	push	{r7}
   1c30e:	b085      	sub	sp, #20
   1c310:	af00      	add	r7, sp, #0
   1c312:	4603      	mov	r3, r0
   1c314:	80fb      	strh	r3, [r7, #6]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:373
	uint8_t  bank;
	uint8_t  type=0;
   1c316:	2300      	movs	r3, #0
   1c318:	737b      	strb	r3, [r7, #13]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:375
	uint8_t  sector;
	if(sect>=32)
   1c31a:	88fb      	ldrh	r3, [r7, #6]
   1c31c:	2b1f      	cmp	r3, #31
   1c31e:	d906      	bls.n	1c32e <flash_unprotect+0x22>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:377
			{
				bank=1;
   1c320:	2301      	movs	r3, #1
   1c322:	73fb      	strb	r3, [r7, #15]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:378
				sector=sect-32;
   1c324:	88fb      	ldrh	r3, [r7, #6]
   1c326:	b2db      	uxtb	r3, r3
   1c328:	3b20      	subs	r3, #32
   1c32a:	73bb      	strb	r3, [r7, #14]
   1c32c:	e003      	b.n	1c336 <flash_unprotect+0x2a>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:382
			}
			else
			{
				bank=0;
   1c32e:	2300      	movs	r3, #0
   1c330:	73fb      	strb	r3, [r7, #15]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:383
				sector=sect;
   1c332:	88fb      	ldrh	r3, [r7, #6]
   1c334:	73bb      	strb	r3, [r7, #14]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:385
			}
    if(bank>1 || type>1 || sector>31 || (type&&(sector>1))  )//判断赋值的参数是否合法
   1c336:	7bfb      	ldrb	r3, [r7, #15]
   1c338:	2b01      	cmp	r3, #1
   1c33a:	d83e      	bhi.n	1c3ba <flash_unprotect+0xae>
   1c33c:	7b7b      	ldrb	r3, [r7, #13]
   1c33e:	2b01      	cmp	r3, #1
   1c340:	d83b      	bhi.n	1c3ba <flash_unprotect+0xae>
   1c342:	7bbb      	ldrb	r3, [r7, #14]
   1c344:	2b1f      	cmp	r3, #31
   1c346:	d838      	bhi.n	1c3ba <flash_unprotect+0xae>
   1c348:	7b7b      	ldrb	r3, [r7, #13]
   1c34a:	2b00      	cmp	r3, #0
   1c34c:	d002      	beq.n	1c354 <flash_unprotect+0x48>
   1c34e:	7bbb      	ldrb	r3, [r7, #14]
   1c350:	2b01      	cmp	r3, #1
   1c352:	d832      	bhi.n	1c3ba <flash_unprotect+0xae>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:389
    	return;

	//当FLCTL_PRG_CTLSTAT 、 FLCTL_PRGBRST_CTLSTAT 和FLCTL_ERASE_CTLSTAT 不全显示为空闲状态
	while(  (FLCTL->PRG_CTLSTAT & FLCTL_PRG_CTLSTAT_STATUS_MASK  )            ||
   1c354:	bf00      	nop
   1c356:	4b1c      	ldr	r3, [pc, #112]	; (1c3c8 <flash_unprotect+0xbc>)
   1c358:	6d1b      	ldr	r3, [r3, #80]	; 0x50
   1c35a:	f403 3340 	and.w	r3, r3, #196608	; 0x30000
   1c35e:	2b00      	cmp	r3, #0
   1c360:	d1f9      	bne.n	1c356 <flash_unprotect+0x4a>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:390
			(FLCTL->PRGBRST_CTLSTAT & FLCTL_PRGBRST_CTLSTAT_BURST_STATUS_MASK)||
   1c362:	4b19      	ldr	r3, [pc, #100]	; (1c3c8 <flash_unprotect+0xbc>)
   1c364:	6d5b      	ldr	r3, [r3, #84]	; 0x54
   1c366:	f403 23e0 	and.w	r3, r3, #458752	; 0x70000
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:389
	while(  (FLCTL->PRG_CTLSTAT & FLCTL_PRG_CTLSTAT_STATUS_MASK  )            ||
   1c36a:	2b00      	cmp	r3, #0
   1c36c:	d1f3      	bne.n	1c356 <flash_unprotect+0x4a>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:391
			(FLCTL->ERASE_CTLSTAT & FLCTL_ERASE_CTLSTAT_STATUS_MASK));
   1c36e:	4b16      	ldr	r3, [pc, #88]	; (1c3c8 <flash_unprotect+0xbc>)
   1c370:	f8d3 30a0 	ldr.w	r3, [r3, #160]	; 0xa0
   1c374:	f403 3340 	and.w	r3, r3, #196608	; 0x30000
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:390
			(FLCTL->PRGBRST_CTLSTAT & FLCTL_PRGBRST_CTLSTAT_BURST_STATUS_MASK)||
   1c378:	2b00      	cmp	r3, #0
   1c37a:	d1ec      	bne.n	1c356 <flash_unprotect+0x4a>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:395

	//将擦写保护寄存器的sect位清零 使sect扇区处于不安全状态

    if(sect>=32)
   1c37c:	88fb      	ldrh	r3, [r7, #6]
   1c37e:	2b1f      	cmp	r3, #31
   1c380:	d90d      	bls.n	1c39e <flash_unprotect+0x92>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:397
    		{
    	BCLR(sector,FLCTL->BANK1_MAIN_WEPROT);
   1c382:	4b11      	ldr	r3, [pc, #68]	; (1c3c8 <flash_unprotect+0xbc>)
   1c384:	f8d3 30c4 	ldr.w	r3, [r3, #196]	; 0xc4
   1c388:	7bba      	ldrb	r2, [r7, #14]
   1c38a:	2101      	movs	r1, #1
   1c38c:	fa01 f202 	lsl.w	r2, r1, r2
   1c390:	43d2      	mvns	r2, r2
   1c392:	4611      	mov	r1, r2
   1c394:	4a0c      	ldr	r2, [pc, #48]	; (1c3c8 <flash_unprotect+0xbc>)
   1c396:	400b      	ands	r3, r1
   1c398:	f8c2 30c4 	str.w	r3, [r2, #196]	; 0xc4
   1c39c:	e00e      	b.n	1c3bc <flash_unprotect+0xb0>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:401
    		}
    		else
    		{
    			BCLR(sector,FLCTL->BANK0_MAIN_WEPROT);
   1c39e:	4b0a      	ldr	r3, [pc, #40]	; (1c3c8 <flash_unprotect+0xbc>)
   1c3a0:	f8d3 30b4 	ldr.w	r3, [r3, #180]	; 0xb4
   1c3a4:	7bba      	ldrb	r2, [r7, #14]
   1c3a6:	2101      	movs	r1, #1
   1c3a8:	fa01 f202 	lsl.w	r2, r1, r2
   1c3ac:	43d2      	mvns	r2, r2
   1c3ae:	4611      	mov	r1, r2
   1c3b0:	4a05      	ldr	r2, [pc, #20]	; (1c3c8 <flash_unprotect+0xbc>)
   1c3b2:	400b      	ands	r3, r1
   1c3b4:	f8c2 30b4 	str.w	r3, [r2, #180]	; 0xb4
   1c3b8:	e000      	b.n	1c3bc <flash_unprotect+0xb0>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:386
    	return;
   1c3ba:	bf00      	nop
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:403
    		}
}
   1c3bc:	3714      	adds	r7, #20
   1c3be:	46bd      	mov	sp, r7
   1c3c0:	f85d 7b04 	ldr.w	r7, [sp], #4
   1c3c4:	4770      	bx	lr
   1c3c6:	bf00      	nop
   1c3c8:	40011000 	.word	0x40011000

0001c3cc <flash_isSectorProtected>:
flash_isSectorProtected():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:412
//函数返回：1=扇区被保护；0=扇区未被保护
//参数说明：所要检测的扇区
//功能概要：判断flash扇区是否被保护
//========================================================================
uint8_t flash_isSectorProtected(uint16_t sect)
{
   1c3cc:	b480      	push	{r7}
   1c3ce:	b085      	sub	sp, #20
   1c3d0:	af00      	add	r7, sp, #0
   1c3d2:	4603      	mov	r3, r0
   1c3d4:	80fb      	strh	r3, [r7, #6]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:414
	uint8_t  bank;
	uint8_t  type=0;
   1c3d6:	2300      	movs	r3, #0
   1c3d8:	737b      	strb	r3, [r7, #13]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:416
	uint8_t  sector;
	if(sect>=32)
   1c3da:	88fb      	ldrh	r3, [r7, #6]
   1c3dc:	2b1f      	cmp	r3, #31
   1c3de:	d906      	bls.n	1c3ee <flash_isSectorProtected+0x22>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:418
			{
				bank=1;
   1c3e0:	2301      	movs	r3, #1
   1c3e2:	73fb      	strb	r3, [r7, #15]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:419
				sector=sect-32;
   1c3e4:	88fb      	ldrh	r3, [r7, #6]
   1c3e6:	b2db      	uxtb	r3, r3
   1c3e8:	3b20      	subs	r3, #32
   1c3ea:	73bb      	strb	r3, [r7, #14]
   1c3ec:	e003      	b.n	1c3f6 <flash_isSectorProtected+0x2a>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:423
			}
			else
			{
				bank=0;
   1c3ee:	2300      	movs	r3, #0
   1c3f0:	73fb      	strb	r3, [r7, #15]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:424
				sector=sect;
   1c3f2:	88fb      	ldrh	r3, [r7, #6]
   1c3f4:	73bb      	strb	r3, [r7, #14]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:426
			}
    if(bank>1 || type>1 || sector>31 || (type&&(sector>1))  )//判断赋值的参数是否合法
   1c3f6:	7bfb      	ldrb	r3, [r7, #15]
   1c3f8:	2b01      	cmp	r3, #1
   1c3fa:	d80b      	bhi.n	1c414 <flash_isSectorProtected+0x48>
   1c3fc:	7b7b      	ldrb	r3, [r7, #13]
   1c3fe:	2b01      	cmp	r3, #1
   1c400:	d808      	bhi.n	1c414 <flash_isSectorProtected+0x48>
   1c402:	7bbb      	ldrb	r3, [r7, #14]
   1c404:	2b1f      	cmp	r3, #31
   1c406:	d805      	bhi.n	1c414 <flash_isSectorProtected+0x48>
   1c408:	7b7b      	ldrb	r3, [r7, #13]
   1c40a:	2b00      	cmp	r3, #0
   1c40c:	d004      	beq.n	1c418 <flash_isSectorProtected+0x4c>
   1c40e:	7bbb      	ldrb	r3, [r7, #14]
   1c410:	2b01      	cmp	r3, #1
   1c412:	d901      	bls.n	1c418 <flash_isSectorProtected+0x4c>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:427
    	return 1;
   1c414:	2301      	movs	r3, #1
   1c416:	e011      	b.n	1c43c <flash_isSectorProtected+0x70>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:429

    if(sect>=32)
   1c418:	88fb      	ldrh	r3, [r7, #6]
   1c41a:	2b1f      	cmp	r3, #31
   1c41c:	d907      	bls.n	1c42e <flash_isSectorProtected+0x62>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:431
    		{
    	return ((FLCTL->BANK1_MAIN_WEPROT)>>sector);
   1c41e:	4b0a      	ldr	r3, [pc, #40]	; (1c448 <flash_isSectorProtected+0x7c>)
   1c420:	f8d3 20c4 	ldr.w	r2, [r3, #196]	; 0xc4
   1c424:	7bbb      	ldrb	r3, [r7, #14]
   1c426:	fa22 f303 	lsr.w	r3, r2, r3
   1c42a:	b2db      	uxtb	r3, r3
   1c42c:	e006      	b.n	1c43c <flash_isSectorProtected+0x70>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:435
    		}
    		else
    		{
    			return ((FLCTL->BANK0_MAIN_WEPROT)>>sector);
   1c42e:	4b06      	ldr	r3, [pc, #24]	; (1c448 <flash_isSectorProtected+0x7c>)
   1c430:	f8d3 20b4 	ldr.w	r2, [r3, #180]	; 0xb4
   1c434:	7bbb      	ldrb	r3, [r7, #14]
   1c436:	fa22 f303 	lsr.w	r3, r2, r3
   1c43a:	b2db      	uxtb	r3, r3
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:437
    		}
}
   1c43c:	4618      	mov	r0, r3
   1c43e:	3714      	adds	r7, #20
   1c440:	46bd      	mov	sp, r7
   1c442:	f85d 7b04 	ldr.w	r7, [sp], #4
   1c446:	4770      	bx	lr
   1c448:	40011000 	.word	0x40011000

0001c44c <flash_isempty>:
flash_isempty():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:446
//函数返回：1=目标区域为空；0=目标区域非空。
//参数说明：所要探测的flash区域初始地址
//功能概要：flash判空操作
//======================================================================
uint8_t flash_isempty(uint16_t sect,uint16_t offset,uint16_t N)
{
   1c44c:	b480      	push	{r7}
   1c44e:	b087      	sub	sp, #28
   1c450:	af00      	add	r7, sp, #0
   1c452:	4603      	mov	r3, r0
   1c454:	80fb      	strh	r3, [r7, #6]
   1c456:	460b      	mov	r3, r1
   1c458:	80bb      	strh	r3, [r7, #4]
   1c45a:	4613      	mov	r3, r2
   1c45c:	807b      	strh	r3, [r7, #2]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:449
    uint16_t i;
	uint8_t  bank;
	uint8_t  type=0;
   1c45e:	2300      	movs	r3, #0
   1c460:	73bb      	strb	r3, [r7, #14]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:454
	uint8_t  sector;
	uint8_t *src;
    uint32_t addrbase;
    uint8_t  flag;
    if(sect>=32)
   1c462:	88fb      	ldrh	r3, [r7, #6]
   1c464:	2b1f      	cmp	r3, #31
   1c466:	d906      	bls.n	1c476 <flash_isempty+0x2a>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:456
    		{
    			bank=1;
   1c468:	2301      	movs	r3, #1
   1c46a:	757b      	strb	r3, [r7, #21]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:457
    			sector=sect-32;
   1c46c:	88fb      	ldrh	r3, [r7, #6]
   1c46e:	b2db      	uxtb	r3, r3
   1c470:	3b20      	subs	r3, #32
   1c472:	753b      	strb	r3, [r7, #20]
   1c474:	e003      	b.n	1c47e <flash_isempty+0x32>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:461
    		}
    		else
    		{
    			bank=0;
   1c476:	2300      	movs	r3, #0
   1c478:	757b      	strb	r3, [r7, #21]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:462
    			sector=sect;
   1c47a:	88fb      	ldrh	r3, [r7, #6]
   1c47c:	753b      	strb	r3, [r7, #20]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:464
    		}
   if(bank>1 || type>1 || sector>31 || (type&&(sector>1)) || offset>4095 )//判断赋值的参数是否合法
   1c47e:	7d7b      	ldrb	r3, [r7, #21]
   1c480:	2b01      	cmp	r3, #1
   1c482:	d80f      	bhi.n	1c4a4 <flash_isempty+0x58>
   1c484:	7bbb      	ldrb	r3, [r7, #14]
   1c486:	2b01      	cmp	r3, #1
   1c488:	d80c      	bhi.n	1c4a4 <flash_isempty+0x58>
   1c48a:	7d3b      	ldrb	r3, [r7, #20]
   1c48c:	2b1f      	cmp	r3, #31
   1c48e:	d809      	bhi.n	1c4a4 <flash_isempty+0x58>
   1c490:	7bbb      	ldrb	r3, [r7, #14]
   1c492:	2b00      	cmp	r3, #0
   1c494:	d002      	beq.n	1c49c <flash_isempty+0x50>
   1c496:	7d3b      	ldrb	r3, [r7, #20]
   1c498:	2b01      	cmp	r3, #1
   1c49a:	d803      	bhi.n	1c4a4 <flash_isempty+0x58>
   1c49c:	88bb      	ldrh	r3, [r7, #4]
   1c49e:	f5b3 5f80 	cmp.w	r3, #4096	; 0x1000
   1c4a2:	d301      	bcc.n	1c4a8 <flash_isempty+0x5c>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:465
	   return 1;
   1c4a4:	2301      	movs	r3, #1
   1c4a6:	e026      	b.n	1c4f6 <flash_isempty+0xaa>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:468


   if(sect>=32)
   1c4a8:	88fb      	ldrh	r3, [r7, #6]
   1c4aa:	2b1f      	cmp	r3, #31
   1c4ac:	d903      	bls.n	1c4b6 <flash_isempty+0x6a>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:470
   		{
	   addrbase=0x00020000;
   1c4ae:	f44f 3300 	mov.w	r3, #131072	; 0x20000
   1c4b2:	613b      	str	r3, [r7, #16]
   1c4b4:	e001      	b.n	1c4ba <flash_isempty+0x6e>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:474
   		}
   		else
   		{
   			addrbase=0x00000000;
   1c4b6:	2300      	movs	r3, #0
   1c4b8:	613b      	str	r3, [r7, #16]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:479
   		}



   flag=1;
   1c4ba:	2301      	movs	r3, #1
   1c4bc:	73fb      	strb	r3, [r7, #15]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:480
   src=(uint8_t *)(sector*4096+offset+addrbase);//计算地址
   1c4be:	7d3b      	ldrb	r3, [r7, #20]
   1c4c0:	031a      	lsls	r2, r3, #12
   1c4c2:	88bb      	ldrh	r3, [r7, #4]
   1c4c4:	4413      	add	r3, r2
   1c4c6:	461a      	mov	r2, r3
   1c4c8:	693b      	ldr	r3, [r7, #16]
   1c4ca:	4413      	add	r3, r2
   1c4cc:	60bb      	str	r3, [r7, #8]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:481
   for(i = 0; i<N; i++)   //遍历区域内字节
   1c4ce:	2300      	movs	r3, #0
   1c4d0:	82fb      	strh	r3, [r7, #22]
   1c4d2:	e00b      	b.n	1c4ec <flash_isempty+0xa0>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:483
   {
      if(src[i]!=0xff)   //非空
   1c4d4:	8afb      	ldrh	r3, [r7, #22]
   1c4d6:	68ba      	ldr	r2, [r7, #8]
   1c4d8:	4413      	add	r3, r2
   1c4da:	781b      	ldrb	r3, [r3, #0]
   1c4dc:	2bff      	cmp	r3, #255	; 0xff
   1c4de:	d002      	beq.n	1c4e6 <flash_isempty+0x9a>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:485
      {
          flag=0;
   1c4e0:	2300      	movs	r3, #0
   1c4e2:	73fb      	strb	r3, [r7, #15]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:486
          break;
   1c4e4:	e006      	b.n	1c4f4 <flash_isempty+0xa8>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:481
   for(i = 0; i<N; i++)   //遍历区域内字节
   1c4e6:	8afb      	ldrh	r3, [r7, #22]
   1c4e8:	3301      	adds	r3, #1
   1c4ea:	82fb      	strh	r3, [r7, #22]
   1c4ec:	8afa      	ldrh	r2, [r7, #22]
   1c4ee:	887b      	ldrh	r3, [r7, #2]
   1c4f0:	429a      	cmp	r2, r3
   1c4f2:	d3ef      	bcc.n	1c4d4 <flash_isempty+0x88>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:489
       }
   }
   return flag;
   1c4f4:	7bfb      	ldrb	r3, [r7, #15]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/flash.c:490
}
   1c4f6:	4618      	mov	r0, r3
   1c4f8:	371c      	adds	r7, #28
   1c4fa:	46bd      	mov	sp, r7
   1c4fc:	f85d 7b04 	ldr.w	r7, [sp], #4
   1c500:	4770      	bx	lr
   1c502:	bf00      	nop

0001c504 <NVIC_EnableIRQ>:
NVIC_EnableIRQ():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\02_CPU/core_cm4.h:1627
  \brief   Enable External Interrupt
  \details Enables a device-specific interrupt in the NVIC interrupt controller.
  \param [in]      IRQn  External interrupt number. Value cannot be negative.
 */
__STATIC_INLINE void NVIC_EnableIRQ(IRQn_Type IRQn)
{
   1c504:	b480      	push	{r7}
   1c506:	b083      	sub	sp, #12
   1c508:	af00      	add	r7, sp, #0
   1c50a:	4603      	mov	r3, r0
   1c50c:	71fb      	strb	r3, [r7, #7]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\02_CPU/core_cm4.h:1628
  NVIC->ISER[(((uint32_t)(int32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)(int32_t)IRQn) & 0x1FUL));
   1c50e:	79fb      	ldrb	r3, [r7, #7]
   1c510:	f003 021f 	and.w	r2, r3, #31
   1c514:	4907      	ldr	r1, [pc, #28]	; (1c534 <NVIC_EnableIRQ+0x30>)
   1c516:	f997 3007 	ldrsb.w	r3, [r7, #7]
   1c51a:	095b      	lsrs	r3, r3, #5
   1c51c:	2001      	movs	r0, #1
   1c51e:	fa00 f202 	lsl.w	r2, r0, r2
   1c522:	f841 2023 	str.w	r2, [r1, r3, lsl #2]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\02_CPU/core_cm4.h:1629
}
   1c526:	bf00      	nop
   1c528:	370c      	adds	r7, #12
   1c52a:	46bd      	mov	sp, r7
   1c52c:	f85d 7b04 	ldr.w	r7, [sp], #4
   1c530:	4770      	bx	lr
   1c532:	bf00      	nop
   1c534:	e000e100 	.word	0xe000e100

0001c538 <NVIC_DisableIRQ>:
NVIC_DisableIRQ():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\02_CPU/core_cm4.h:1638
  \brief   Disable External Interrupt
  \details Disables a device-specific interrupt in the NVIC interrupt controller.
  \param [in]      IRQn  External interrupt number. Value cannot be negative.
 */
__STATIC_INLINE void NVIC_DisableIRQ(IRQn_Type IRQn)
{
   1c538:	b480      	push	{r7}
   1c53a:	b083      	sub	sp, #12
   1c53c:	af00      	add	r7, sp, #0
   1c53e:	4603      	mov	r3, r0
   1c540:	71fb      	strb	r3, [r7, #7]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\02_CPU/core_cm4.h:1639
  NVIC->ICER[(((uint32_t)(int32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)(int32_t)IRQn) & 0x1FUL));
   1c542:	79fb      	ldrb	r3, [r7, #7]
   1c544:	f003 021f 	and.w	r2, r3, #31
   1c548:	4907      	ldr	r1, [pc, #28]	; (1c568 <NVIC_DisableIRQ+0x30>)
   1c54a:	f997 3007 	ldrsb.w	r3, [r7, #7]
   1c54e:	095b      	lsrs	r3, r3, #5
   1c550:	2001      	movs	r0, #1
   1c552:	fa00 f202 	lsl.w	r2, r0, r2
   1c556:	3320      	adds	r3, #32
   1c558:	f841 2023 	str.w	r2, [r1, r3, lsl #2]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\02_CPU/core_cm4.h:1640
}
   1c55c:	bf00      	nop
   1c55e:	370c      	adds	r7, #12
   1c560:	46bd      	mov	sp, r7
   1c562:	f85d 7b04 	ldr.w	r7, [sp], #4
   1c566:	4770      	bx	lr
   1c568:	e000e100 	.word	0xe000e100

0001c56c <gpio_port_pin_resolution>:
gpio_port_pin_resolution():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:24
//		   pin:引脚号（0~16，实际取值由芯片的物理引脚决定）
//功能概要：将传进参数port_pin进行解析，得出具体端口号与引脚号 (PORT_2)|(0) 表示为2口0号脚）
//         解析为PORT_2与0，并将其分别赋值给port与pin）。
//===========================================================================
static void gpio_port_pin_resolution(uint16_t port_pin,uint8_t* port,uint8_t* pin)
{
   1c56c:	b480      	push	{r7}
   1c56e:	b085      	sub	sp, #20
   1c570:	af00      	add	r7, sp, #0
   1c572:	4603      	mov	r3, r0
   1c574:	60b9      	str	r1, [r7, #8]
   1c576:	607a      	str	r2, [r7, #4]
   1c578:	81fb      	strh	r3, [r7, #14]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:25
	*port = (port_pin>>8);
   1c57a:	89fb      	ldrh	r3, [r7, #14]
   1c57c:	0a1b      	lsrs	r3, r3, #8
   1c57e:	b29b      	uxth	r3, r3
   1c580:	b2da      	uxtb	r2, r3
   1c582:	68bb      	ldr	r3, [r7, #8]
   1c584:	701a      	strb	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:26
	*pin = port_pin;
   1c586:	89fb      	ldrh	r3, [r7, #14]
   1c588:	b2da      	uxtb	r2, r3
   1c58a:	687b      	ldr	r3, [r7, #4]
   1c58c:	701a      	strb	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:27
}
   1c58e:	bf00      	nop
   1c590:	3714      	adds	r7, #20
   1c592:	46bd      	mov	sp, r7
   1c594:	f85d 7b04 	ldr.w	r7, [sp], #4
   1c598:	4770      	bx	lr

0001c59a <gpio_init>:
gpio_init():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:39
//          state：端口引脚初始状态（0=低电平，1=高电平）
//功能概要：初始化指定端口引脚作为GPIO引脚功能，并定义为输入或输出，若是输出，
//          还指定初始状态是低电平或高电平
//===========================================================================
void gpio_init(uint16_t port_pin, uint8_t dir, uint8_t state)
{
   1c59a:	b580      	push	{r7, lr}
   1c59c:	b086      	sub	sp, #24
   1c59e:	af00      	add	r7, sp, #0
   1c5a0:	4603      	mov	r3, r0
   1c5a2:	80fb      	strh	r3, [r7, #6]
   1c5a4:	460b      	mov	r3, r1
   1c5a6:	717b      	strb	r3, [r7, #5]
   1c5a8:	4613      	mov	r3, r2
   1c5aa:	713b      	strb	r3, [r7, #4]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:44
	//局部变量声明
	DIO_PORT_Odd_Interruptable_Type* gpio_odd_ptr;
	DIO_PORT_Even_Interruptable_Type* gpio_even_ptr;
	DIO_PORT_Not_Interruptable_Type* gpio_not_ptr;
	memset((void *)&gpio_even_ptr,0,sizeof(gpio_even_ptr));
   1c5ac:	2300      	movs	r3, #0
   1c5ae:	60fb      	str	r3, [r7, #12]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:48
	uint8_t port;
	uint8_t pin;
	//解析端口还有引脚
	gpio_port_pin_resolution(port_pin , &port , &pin);
   1c5b0:	f107 020a 	add.w	r2, r7, #10
   1c5b4:	f107 010b 	add.w	r1, r7, #11
   1c5b8:	88fb      	ldrh	r3, [r7, #6]
   1c5ba:	4618      	mov	r0, r3
   1c5bc:	f7ff ffd6 	bl	1c56c <gpio_port_pin_resolution>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:50
	//判断是否为J口
	if(port >= 10)
   1c5c0:	7afb      	ldrb	r3, [r7, #11]
   1c5c2:	2b09      	cmp	r3, #9
   1c5c4:	d966      	bls.n	1c694 <gpio_init+0xfa>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:52
	{
		gpio_not_ptr = PJ;
   1c5c6:	4b9c      	ldr	r3, [pc, #624]	; (1c838 <gpio_init+0x29e>)
   1c5c8:	613b      	str	r3, [r7, #16]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:54
		//PxSEL0和PxSEL1位为00时表示复用GPIO功能
		BCLR(pin,gpio_not_ptr->SEL0);
   1c5ca:	693b      	ldr	r3, [r7, #16]
   1c5cc:	895b      	ldrh	r3, [r3, #10]
   1c5ce:	b29b      	uxth	r3, r3
   1c5d0:	b21a      	sxth	r2, r3
   1c5d2:	7abb      	ldrb	r3, [r7, #10]
   1c5d4:	4619      	mov	r1, r3
   1c5d6:	2301      	movs	r3, #1
   1c5d8:	408b      	lsls	r3, r1
   1c5da:	b21b      	sxth	r3, r3
   1c5dc:	43db      	mvns	r3, r3
   1c5de:	b21b      	sxth	r3, r3
   1c5e0:	4013      	ands	r3, r2
   1c5e2:	b21b      	sxth	r3, r3
   1c5e4:	b29a      	uxth	r2, r3
   1c5e6:	693b      	ldr	r3, [r7, #16]
   1c5e8:	815a      	strh	r2, [r3, #10]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:55
		BCLR(pin,gpio_not_ptr->SEL1);
   1c5ea:	693b      	ldr	r3, [r7, #16]
   1c5ec:	899b      	ldrh	r3, [r3, #12]
   1c5ee:	b29b      	uxth	r3, r3
   1c5f0:	b21a      	sxth	r2, r3
   1c5f2:	7abb      	ldrb	r3, [r7, #10]
   1c5f4:	4619      	mov	r1, r3
   1c5f6:	2301      	movs	r3, #1
   1c5f8:	408b      	lsls	r3, r1
   1c5fa:	b21b      	sxth	r3, r3
   1c5fc:	43db      	mvns	r3, r3
   1c5fe:	b21b      	sxth	r3, r3
   1c600:	4013      	ands	r3, r2
   1c602:	b21b      	sxth	r3, r3
   1c604:	b29a      	uxth	r2, r3
   1c606:	693b      	ldr	r3, [r7, #16]
   1c608:	819a      	strh	r2, [r3, #12]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:57
		//根据带入参数dir，决定引脚为输出还是输入
	    if (1 == dir)   //希望为输出
   1c60a:	797b      	ldrb	r3, [r7, #5]
   1c60c:	2b01      	cmp	r3, #1
   1c60e:	d130      	bne.n	1c672 <gpio_init+0xd8>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:59
		{
			 BSET(pin,gpio_not_ptr->DIR);
   1c610:	693b      	ldr	r3, [r7, #16]
   1c612:	889b      	ldrh	r3, [r3, #4]
   1c614:	b29b      	uxth	r3, r3
   1c616:	b21a      	sxth	r2, r3
   1c618:	7abb      	ldrb	r3, [r7, #10]
   1c61a:	4619      	mov	r1, r3
   1c61c:	2301      	movs	r3, #1
   1c61e:	408b      	lsls	r3, r1
   1c620:	b21b      	sxth	r3, r3
   1c622:	4313      	orrs	r3, r2
   1c624:	b21b      	sxth	r3, r3
   1c626:	b29a      	uxth	r2, r3
   1c628:	693b      	ldr	r3, [r7, #16]
   1c62a:	809a      	strh	r2, [r3, #4]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:60
			 if(1==state)//设置输出电平高低
   1c62c:	793b      	ldrb	r3, [r7, #4]
   1c62e:	2b01      	cmp	r3, #1
   1c630:	d10e      	bne.n	1c650 <gpio_init+0xb6>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:61
				 BSET(pin,gpio_even_ptr->OUT);
   1c632:	68fb      	ldr	r3, [r7, #12]
   1c634:	78db      	ldrb	r3, [r3, #3]
   1c636:	b2db      	uxtb	r3, r3
   1c638:	b25a      	sxtb	r2, r3
   1c63a:	7abb      	ldrb	r3, [r7, #10]
   1c63c:	4619      	mov	r1, r3
   1c63e:	2301      	movs	r3, #1
   1c640:	408b      	lsls	r3, r1
   1c642:	b25b      	sxtb	r3, r3
   1c644:	4313      	orrs	r3, r2
   1c646:	b25a      	sxtb	r2, r3
   1c648:	68fb      	ldr	r3, [r7, #12]
   1c64a:	b2d2      	uxtb	r2, r2
   1c64c:	70da      	strb	r2, [r3, #3]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:112
	    else                    //希望为输入
	    {
	    	BCLR(pin,gpio_even_ptr->DIR);
	    }
	}
}
   1c64e:	e109      	b.n	1c864 <gpio_init+0x2ca>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:63
				 BCLR(pin,gpio_even_ptr->OUT);
   1c650:	68fb      	ldr	r3, [r7, #12]
   1c652:	78db      	ldrb	r3, [r3, #3]
   1c654:	b2db      	uxtb	r3, r3
   1c656:	b25a      	sxtb	r2, r3
   1c658:	7abb      	ldrb	r3, [r7, #10]
   1c65a:	4619      	mov	r1, r3
   1c65c:	2301      	movs	r3, #1
   1c65e:	408b      	lsls	r3, r1
   1c660:	b25b      	sxtb	r3, r3
   1c662:	43db      	mvns	r3, r3
   1c664:	b25b      	sxtb	r3, r3
   1c666:	4013      	ands	r3, r2
   1c668:	b25a      	sxtb	r2, r3
   1c66a:	68fb      	ldr	r3, [r7, #12]
   1c66c:	b2d2      	uxtb	r2, r2
   1c66e:	70da      	strb	r2, [r3, #3]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:112
}
   1c670:	e0f8      	b.n	1c864 <gpio_init+0x2ca>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:67
			 BCLR(pin,gpio_not_ptr->DIR);
   1c672:	693b      	ldr	r3, [r7, #16]
   1c674:	889b      	ldrh	r3, [r3, #4]
   1c676:	b29b      	uxth	r3, r3
   1c678:	b21a      	sxth	r2, r3
   1c67a:	7abb      	ldrb	r3, [r7, #10]
   1c67c:	4619      	mov	r1, r3
   1c67e:	2301      	movs	r3, #1
   1c680:	408b      	lsls	r3, r1
   1c682:	b21b      	sxth	r3, r3
   1c684:	43db      	mvns	r3, r3
   1c686:	b21b      	sxth	r3, r3
   1c688:	4013      	ands	r3, r2
   1c68a:	b21b      	sxth	r3, r3
   1c68c:	b29a      	uxth	r2, r3
   1c68e:	693b      	ldr	r3, [r7, #16]
   1c690:	809a      	strh	r2, [r3, #4]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:112
}
   1c692:	e0e7      	b.n	1c864 <gpio_init+0x2ca>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:71
	else if(port%2 == 0) //判断端口号是奇数（gpio.h中对1~10的编号从0开始）
   1c694:	7afb      	ldrb	r3, [r7, #11]
   1c696:	f003 0301 	and.w	r3, r3, #1
   1c69a:	b2db      	uxtb	r3, r3
   1c69c:	2b00      	cmp	r3, #0
   1c69e:	d16c      	bne.n	1c77a <gpio_init+0x1e0>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:73
		gpio_odd_ptr = (DIO_PORT_Odd_Interruptable_Type*) GPIO_ODD_ARR[port/2];
   1c6a0:	7afb      	ldrb	r3, [r7, #11]
   1c6a2:	085b      	lsrs	r3, r3, #1
   1c6a4:	b2db      	uxtb	r3, r3
   1c6a6:	461a      	mov	r2, r3
   1c6a8:	4b64      	ldr	r3, [pc, #400]	; (1c83c <gpio_init+0x2a2>)
   1c6aa:	f853 3022 	ldr.w	r3, [r3, r2, lsl #2]
   1c6ae:	617b      	str	r3, [r7, #20]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:75
		BCLR(pin,gpio_odd_ptr->SEL0);
   1c6b0:	697b      	ldr	r3, [r7, #20]
   1c6b2:	7a9b      	ldrb	r3, [r3, #10]
   1c6b4:	b2db      	uxtb	r3, r3
   1c6b6:	b25a      	sxtb	r2, r3
   1c6b8:	7abb      	ldrb	r3, [r7, #10]
   1c6ba:	4619      	mov	r1, r3
   1c6bc:	2301      	movs	r3, #1
   1c6be:	408b      	lsls	r3, r1
   1c6c0:	b25b      	sxtb	r3, r3
   1c6c2:	43db      	mvns	r3, r3
   1c6c4:	b25b      	sxtb	r3, r3
   1c6c6:	4013      	ands	r3, r2
   1c6c8:	b25b      	sxtb	r3, r3
   1c6ca:	b2da      	uxtb	r2, r3
   1c6cc:	697b      	ldr	r3, [r7, #20]
   1c6ce:	729a      	strb	r2, [r3, #10]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:76
		BCLR(pin,gpio_odd_ptr->SEL1);
   1c6d0:	697b      	ldr	r3, [r7, #20]
   1c6d2:	7b1b      	ldrb	r3, [r3, #12]
   1c6d4:	b2db      	uxtb	r3, r3
   1c6d6:	b25a      	sxtb	r2, r3
   1c6d8:	7abb      	ldrb	r3, [r7, #10]
   1c6da:	4619      	mov	r1, r3
   1c6dc:	2301      	movs	r3, #1
   1c6de:	408b      	lsls	r3, r1
   1c6e0:	b25b      	sxtb	r3, r3
   1c6e2:	43db      	mvns	r3, r3
   1c6e4:	b25b      	sxtb	r3, r3
   1c6e6:	4013      	ands	r3, r2
   1c6e8:	b25b      	sxtb	r3, r3
   1c6ea:	b2da      	uxtb	r2, r3
   1c6ec:	697b      	ldr	r3, [r7, #20]
   1c6ee:	731a      	strb	r2, [r3, #12]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:78
	    if (1 == dir)   //希望为输出
   1c6f0:	797b      	ldrb	r3, [r7, #5]
   1c6f2:	2b01      	cmp	r3, #1
   1c6f4:	d130      	bne.n	1c758 <gpio_init+0x1be>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:80
	    	BSET(pin,gpio_odd_ptr->DIR);  //设置输出方向寄存器为输出
   1c6f6:	697b      	ldr	r3, [r7, #20]
   1c6f8:	791b      	ldrb	r3, [r3, #4]
   1c6fa:	b2db      	uxtb	r3, r3
   1c6fc:	b25a      	sxtb	r2, r3
   1c6fe:	7abb      	ldrb	r3, [r7, #10]
   1c700:	4619      	mov	r1, r3
   1c702:	2301      	movs	r3, #1
   1c704:	408b      	lsls	r3, r1
   1c706:	b25b      	sxtb	r3, r3
   1c708:	4313      	orrs	r3, r2
   1c70a:	b25b      	sxtb	r3, r3
   1c70c:	b2da      	uxtb	r2, r3
   1c70e:	697b      	ldr	r3, [r7, #20]
   1c710:	711a      	strb	r2, [r3, #4]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:81
			if(1==state)//设置输出电平高低
   1c712:	793b      	ldrb	r3, [r7, #4]
   1c714:	2b01      	cmp	r3, #1
   1c716:	d10e      	bne.n	1c736 <gpio_init+0x19c>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:82
				BSET(pin,gpio_even_ptr->OUT);
   1c718:	68fb      	ldr	r3, [r7, #12]
   1c71a:	78db      	ldrb	r3, [r3, #3]
   1c71c:	b2db      	uxtb	r3, r3
   1c71e:	b25a      	sxtb	r2, r3
   1c720:	7abb      	ldrb	r3, [r7, #10]
   1c722:	4619      	mov	r1, r3
   1c724:	2301      	movs	r3, #1
   1c726:	408b      	lsls	r3, r1
   1c728:	b25b      	sxtb	r3, r3
   1c72a:	4313      	orrs	r3, r2
   1c72c:	b25a      	sxtb	r2, r3
   1c72e:	68fb      	ldr	r3, [r7, #12]
   1c730:	b2d2      	uxtb	r2, r2
   1c732:	70da      	strb	r2, [r3, #3]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:112
}
   1c734:	e096      	b.n	1c864 <gpio_init+0x2ca>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:84
				BCLR(pin,gpio_even_ptr->OUT);
   1c736:	68fb      	ldr	r3, [r7, #12]
   1c738:	78db      	ldrb	r3, [r3, #3]
   1c73a:	b2db      	uxtb	r3, r3
   1c73c:	b25a      	sxtb	r2, r3
   1c73e:	7abb      	ldrb	r3, [r7, #10]
   1c740:	4619      	mov	r1, r3
   1c742:	2301      	movs	r3, #1
   1c744:	408b      	lsls	r3, r1
   1c746:	b25b      	sxtb	r3, r3
   1c748:	43db      	mvns	r3, r3
   1c74a:	b25b      	sxtb	r3, r3
   1c74c:	4013      	ands	r3, r2
   1c74e:	b25a      	sxtb	r2, r3
   1c750:	68fb      	ldr	r3, [r7, #12]
   1c752:	b2d2      	uxtb	r2, r2
   1c754:	70da      	strb	r2, [r3, #3]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:112
}
   1c756:	e085      	b.n	1c864 <gpio_init+0x2ca>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:88
	    	BCLR(pin,gpio_odd_ptr->DIR);
   1c758:	697b      	ldr	r3, [r7, #20]
   1c75a:	791b      	ldrb	r3, [r3, #4]
   1c75c:	b2db      	uxtb	r3, r3
   1c75e:	b25a      	sxtb	r2, r3
   1c760:	7abb      	ldrb	r3, [r7, #10]
   1c762:	4619      	mov	r1, r3
   1c764:	2301      	movs	r3, #1
   1c766:	408b      	lsls	r3, r1
   1c768:	b25b      	sxtb	r3, r3
   1c76a:	43db      	mvns	r3, r3
   1c76c:	b25b      	sxtb	r3, r3
   1c76e:	4013      	ands	r3, r2
   1c770:	b25b      	sxtb	r3, r3
   1c772:	b2da      	uxtb	r2, r3
   1c774:	697b      	ldr	r3, [r7, #20]
   1c776:	711a      	strb	r2, [r3, #4]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:112
}
   1c778:	e074      	b.n	1c864 <gpio_init+0x2ca>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:94
		gpio_even_ptr = (DIO_PORT_Even_Interruptable_Type*)(GPIO_EVEN_ARR[(port-1)/2]);
   1c77a:	7afb      	ldrb	r3, [r7, #11]
   1c77c:	3b01      	subs	r3, #1
   1c77e:	0fda      	lsrs	r2, r3, #31
   1c780:	4413      	add	r3, r2
   1c782:	105b      	asrs	r3, r3, #1
   1c784:	461a      	mov	r2, r3
   1c786:	4b2e      	ldr	r3, [pc, #184]	; (1c840 <gpio_init+0x2a6>)
   1c788:	f853 3022 	ldr.w	r3, [r3, r2, lsl #2]
   1c78c:	60fb      	str	r3, [r7, #12]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:96
		BCLR(pin,gpio_even_ptr->SEL0);
   1c78e:	68fb      	ldr	r3, [r7, #12]
   1c790:	7adb      	ldrb	r3, [r3, #11]
   1c792:	b2db      	uxtb	r3, r3
   1c794:	b25a      	sxtb	r2, r3
   1c796:	7abb      	ldrb	r3, [r7, #10]
   1c798:	4619      	mov	r1, r3
   1c79a:	2301      	movs	r3, #1
   1c79c:	408b      	lsls	r3, r1
   1c79e:	b25b      	sxtb	r3, r3
   1c7a0:	43db      	mvns	r3, r3
   1c7a2:	b25b      	sxtb	r3, r3
   1c7a4:	4013      	ands	r3, r2
   1c7a6:	b25a      	sxtb	r2, r3
   1c7a8:	68fb      	ldr	r3, [r7, #12]
   1c7aa:	b2d2      	uxtb	r2, r2
   1c7ac:	72da      	strb	r2, [r3, #11]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:97
		BCLR(pin,gpio_even_ptr->SEL1);
   1c7ae:	68fb      	ldr	r3, [r7, #12]
   1c7b0:	7b5b      	ldrb	r3, [r3, #13]
   1c7b2:	b2db      	uxtb	r3, r3
   1c7b4:	b25a      	sxtb	r2, r3
   1c7b6:	7abb      	ldrb	r3, [r7, #10]
   1c7b8:	4619      	mov	r1, r3
   1c7ba:	2301      	movs	r3, #1
   1c7bc:	408b      	lsls	r3, r1
   1c7be:	b25b      	sxtb	r3, r3
   1c7c0:	43db      	mvns	r3, r3
   1c7c2:	b25b      	sxtb	r3, r3
   1c7c4:	4013      	ands	r3, r2
   1c7c6:	b25a      	sxtb	r2, r3
   1c7c8:	68fb      	ldr	r3, [r7, #12]
   1c7ca:	b2d2      	uxtb	r2, r2
   1c7cc:	735a      	strb	r2, [r3, #13]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:99
	    if (1 == dir)           //希望为输出
   1c7ce:	797b      	ldrb	r3, [r7, #5]
   1c7d0:	2b01      	cmp	r3, #1
   1c7d2:	d137      	bne.n	1c844 <gpio_init+0x2aa>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:101
	    	BSET(pin,gpio_even_ptr->DIR);   //设置输出方向寄存器为输出
   1c7d4:	68fb      	ldr	r3, [r7, #12]
   1c7d6:	795b      	ldrb	r3, [r3, #5]
   1c7d8:	b2db      	uxtb	r3, r3
   1c7da:	b25a      	sxtb	r2, r3
   1c7dc:	7abb      	ldrb	r3, [r7, #10]
   1c7de:	4619      	mov	r1, r3
   1c7e0:	2301      	movs	r3, #1
   1c7e2:	408b      	lsls	r3, r1
   1c7e4:	b25b      	sxtb	r3, r3
   1c7e6:	4313      	orrs	r3, r2
   1c7e8:	b25a      	sxtb	r2, r3
   1c7ea:	68fb      	ldr	r3, [r7, #12]
   1c7ec:	b2d2      	uxtb	r2, r2
   1c7ee:	715a      	strb	r2, [r3, #5]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:102
			if(1==state)//设置输出电平高低
   1c7f0:	793b      	ldrb	r3, [r7, #4]
   1c7f2:	2b01      	cmp	r3, #1
   1c7f4:	d10e      	bne.n	1c814 <gpio_init+0x27a>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:103
				BSET(pin,gpio_even_ptr->OUT);
   1c7f6:	68fb      	ldr	r3, [r7, #12]
   1c7f8:	78db      	ldrb	r3, [r3, #3]
   1c7fa:	b2db      	uxtb	r3, r3
   1c7fc:	b25a      	sxtb	r2, r3
   1c7fe:	7abb      	ldrb	r3, [r7, #10]
   1c800:	4619      	mov	r1, r3
   1c802:	2301      	movs	r3, #1
   1c804:	408b      	lsls	r3, r1
   1c806:	b25b      	sxtb	r3, r3
   1c808:	4313      	orrs	r3, r2
   1c80a:	b25a      	sxtb	r2, r3
   1c80c:	68fb      	ldr	r3, [r7, #12]
   1c80e:	b2d2      	uxtb	r2, r2
   1c810:	70da      	strb	r2, [r3, #3]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:112
}
   1c812:	e027      	b.n	1c864 <gpio_init+0x2ca>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:105
				BCLR(pin,gpio_even_ptr->OUT);
   1c814:	68fb      	ldr	r3, [r7, #12]
   1c816:	78db      	ldrb	r3, [r3, #3]
   1c818:	b2db      	uxtb	r3, r3
   1c81a:	b25a      	sxtb	r2, r3
   1c81c:	7abb      	ldrb	r3, [r7, #10]
   1c81e:	4619      	mov	r1, r3
   1c820:	2301      	movs	r3, #1
   1c822:	408b      	lsls	r3, r1
   1c824:	b25b      	sxtb	r3, r3
   1c826:	43db      	mvns	r3, r3
   1c828:	b25b      	sxtb	r3, r3
   1c82a:	4013      	ands	r3, r2
   1c82c:	b25a      	sxtb	r2, r3
   1c82e:	68fb      	ldr	r3, [r7, #12]
   1c830:	b2d2      	uxtb	r2, r2
   1c832:	70da      	strb	r2, [r3, #3]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:112
}
   1c834:	e016      	b.n	1c864 <gpio_init+0x2ca>
   1c836:	bf00      	nop
   1c838:	40004d20 	.word	0x40004d20
   1c83c:	2000202c 	.word	0x2000202c
   1c840:	20002040 	.word	0x20002040
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:109
	    	BCLR(pin,gpio_even_ptr->DIR);
   1c844:	68fb      	ldr	r3, [r7, #12]
   1c846:	795b      	ldrb	r3, [r3, #5]
   1c848:	b2db      	uxtb	r3, r3
   1c84a:	b25a      	sxtb	r2, r3
   1c84c:	7abb      	ldrb	r3, [r7, #10]
   1c84e:	4619      	mov	r1, r3
   1c850:	2301      	movs	r3, #1
   1c852:	408b      	lsls	r3, r1
   1c854:	b25b      	sxtb	r3, r3
   1c856:	43db      	mvns	r3, r3
   1c858:	b25b      	sxtb	r3, r3
   1c85a:	4013      	ands	r3, r2
   1c85c:	b25a      	sxtb	r2, r3
   1c85e:	68fb      	ldr	r3, [r7, #12]
   1c860:	b2d2      	uxtb	r2, r2
   1c862:	715a      	strb	r2, [r3, #5]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:112
}
   1c864:	bf00      	nop
   1c866:	3718      	adds	r7, #24
   1c868:	46bd      	mov	sp, r7
   1c86a:	bd80      	pop	{r7, pc}

0001c86c <gpio_set>:
gpio_set():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:122
//参数说明：port_pin：端口号|引脚号(PORT_2)|(0) 表示为2口0号脚）
//         state：引脚初始状态（0=低电平，1=高电平）
//功能概要：设定引脚状态为低电平或高电平
//===========================================================================
void gpio_set(uint16_t port_pin, uint8_t state)
{
   1c86c:	b580      	push	{r7, lr}
   1c86e:	b086      	sub	sp, #24
   1c870:	af00      	add	r7, sp, #0
   1c872:	4603      	mov	r3, r0
   1c874:	460a      	mov	r2, r1
   1c876:	80fb      	strh	r3, [r7, #6]
   1c878:	4613      	mov	r3, r2
   1c87a:	717b      	strb	r3, [r7, #5]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:130
	DIO_PORT_Even_Interruptable_Type* gpio_even_ptr;
	DIO_PORT_Not_Interruptable_Type* gpio_not_ptr;
	uint8_t port;
	uint8_t pin;

	gpio_port_pin_resolution(port_pin , &port , &pin);
   1c87c:	f107 020a 	add.w	r2, r7, #10
   1c880:	f107 010b 	add.w	r1, r7, #11
   1c884:	88fb      	ldrh	r3, [r7, #6]
   1c886:	4618      	mov	r0, r3
   1c888:	f7ff fe70 	bl	1c56c <gpio_port_pin_resolution>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:132
	//判断是否为J口
	if(port >= 10)
   1c88c:	7afb      	ldrb	r3, [r7, #11]
   1c88e:	2b09      	cmp	r3, #9
   1c890:	d924      	bls.n	1c8dc <gpio_set+0x70>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:134
	{
		gpio_not_ptr =PJ;
   1c892:	4b43      	ldr	r3, [pc, #268]	; (1c9a0 <gpio_set+0x134>)
   1c894:	60fb      	str	r3, [r7, #12]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:136
		//根据带入参数state，决定引脚为输出1还是0
		if (1==state)
   1c896:	797b      	ldrb	r3, [r7, #5]
   1c898:	2b01      	cmp	r3, #1
   1c89a:	d10e      	bne.n	1c8ba <gpio_set+0x4e>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:138
		{
			BSET(pin,gpio_not_ptr->OUT);
   1c89c:	68fb      	ldr	r3, [r7, #12]
   1c89e:	885b      	ldrh	r3, [r3, #2]
   1c8a0:	b29b      	uxth	r3, r3
   1c8a2:	b21a      	sxth	r2, r3
   1c8a4:	7abb      	ldrb	r3, [r7, #10]
   1c8a6:	4619      	mov	r1, r3
   1c8a8:	2301      	movs	r3, #1
   1c8aa:	408b      	lsls	r3, r1
   1c8ac:	b21b      	sxth	r3, r3
   1c8ae:	4313      	orrs	r3, r2
   1c8b0:	b21b      	sxth	r3, r3
   1c8b2:	b29a      	uxth	r2, r3
   1c8b4:	68fb      	ldr	r3, [r7, #12]
   1c8b6:	805a      	strh	r2, [r3, #2]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:172
		{
			BCLR(pin,gpio_even_ptr->OUT);
		}
	}

}
   1c8b8:	e06d      	b.n	1c996 <gpio_set+0x12a>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:142
			BCLR(pin,gpio_not_ptr->OUT);
   1c8ba:	68fb      	ldr	r3, [r7, #12]
   1c8bc:	885b      	ldrh	r3, [r3, #2]
   1c8be:	b29b      	uxth	r3, r3
   1c8c0:	b21a      	sxth	r2, r3
   1c8c2:	7abb      	ldrb	r3, [r7, #10]
   1c8c4:	4619      	mov	r1, r3
   1c8c6:	2301      	movs	r3, #1
   1c8c8:	408b      	lsls	r3, r1
   1c8ca:	b21b      	sxth	r3, r3
   1c8cc:	43db      	mvns	r3, r3
   1c8ce:	b21b      	sxth	r3, r3
   1c8d0:	4013      	ands	r3, r2
   1c8d2:	b21b      	sxth	r3, r3
   1c8d4:	b29a      	uxth	r2, r3
   1c8d6:	68fb      	ldr	r3, [r7, #12]
   1c8d8:	805a      	strh	r2, [r3, #2]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:172
}
   1c8da:	e05c      	b.n	1c996 <gpio_set+0x12a>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:145
	else if(port%2 == 0)
   1c8dc:	7afb      	ldrb	r3, [r7, #11]
   1c8de:	f003 0301 	and.w	r3, r3, #1
   1c8e2:	b2db      	uxtb	r3, r3
   1c8e4:	2b00      	cmp	r3, #0
   1c8e6:	d12a      	bne.n	1c93e <gpio_set+0xd2>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:147
		gpio_odd_ptr = (DIO_PORT_Odd_Interruptable_Type*) GPIO_ODD_ARR[port/2];
   1c8e8:	7afb      	ldrb	r3, [r7, #11]
   1c8ea:	085b      	lsrs	r3, r3, #1
   1c8ec:	b2db      	uxtb	r3, r3
   1c8ee:	461a      	mov	r2, r3
   1c8f0:	4b2c      	ldr	r3, [pc, #176]	; (1c9a4 <gpio_set+0x138>)
   1c8f2:	f853 3022 	ldr.w	r3, [r3, r2, lsl #2]
   1c8f6:	613b      	str	r3, [r7, #16]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:149
		if (1==state)
   1c8f8:	797b      	ldrb	r3, [r7, #5]
   1c8fa:	2b01      	cmp	r3, #1
   1c8fc:	d10e      	bne.n	1c91c <gpio_set+0xb0>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:151
			BSET(pin,gpio_odd_ptr->OUT);
   1c8fe:	693b      	ldr	r3, [r7, #16]
   1c900:	789b      	ldrb	r3, [r3, #2]
   1c902:	b2db      	uxtb	r3, r3
   1c904:	b25a      	sxtb	r2, r3
   1c906:	7abb      	ldrb	r3, [r7, #10]
   1c908:	4619      	mov	r1, r3
   1c90a:	2301      	movs	r3, #1
   1c90c:	408b      	lsls	r3, r1
   1c90e:	b25b      	sxtb	r3, r3
   1c910:	4313      	orrs	r3, r2
   1c912:	b25b      	sxtb	r3, r3
   1c914:	b2da      	uxtb	r2, r3
   1c916:	693b      	ldr	r3, [r7, #16]
   1c918:	709a      	strb	r2, [r3, #2]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:172
}
   1c91a:	e03c      	b.n	1c996 <gpio_set+0x12a>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:155
			BCLR(pin,gpio_odd_ptr->OUT);
   1c91c:	693b      	ldr	r3, [r7, #16]
   1c91e:	789b      	ldrb	r3, [r3, #2]
   1c920:	b2db      	uxtb	r3, r3
   1c922:	b25a      	sxtb	r2, r3
   1c924:	7abb      	ldrb	r3, [r7, #10]
   1c926:	4619      	mov	r1, r3
   1c928:	2301      	movs	r3, #1
   1c92a:	408b      	lsls	r3, r1
   1c92c:	b25b      	sxtb	r3, r3
   1c92e:	43db      	mvns	r3, r3
   1c930:	b25b      	sxtb	r3, r3
   1c932:	4013      	ands	r3, r2
   1c934:	b25b      	sxtb	r3, r3
   1c936:	b2da      	uxtb	r2, r3
   1c938:	693b      	ldr	r3, [r7, #16]
   1c93a:	709a      	strb	r2, [r3, #2]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:172
}
   1c93c:	e02b      	b.n	1c996 <gpio_set+0x12a>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:160
		gpio_even_ptr =(DIO_PORT_Even_Interruptable_Type*) (GPIO_EVEN_ARR[(port-1)/2]);
   1c93e:	7afb      	ldrb	r3, [r7, #11]
   1c940:	3b01      	subs	r3, #1
   1c942:	0fda      	lsrs	r2, r3, #31
   1c944:	4413      	add	r3, r2
   1c946:	105b      	asrs	r3, r3, #1
   1c948:	461a      	mov	r2, r3
   1c94a:	4b17      	ldr	r3, [pc, #92]	; (1c9a8 <gpio_set+0x13c>)
   1c94c:	f853 3022 	ldr.w	r3, [r3, r2, lsl #2]
   1c950:	617b      	str	r3, [r7, #20]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:162
		if (1==state)
   1c952:	797b      	ldrb	r3, [r7, #5]
   1c954:	2b01      	cmp	r3, #1
   1c956:	d10e      	bne.n	1c976 <gpio_set+0x10a>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:164
			BSET(pin,gpio_even_ptr->OUT);
   1c958:	697b      	ldr	r3, [r7, #20]
   1c95a:	78db      	ldrb	r3, [r3, #3]
   1c95c:	b2db      	uxtb	r3, r3
   1c95e:	b25a      	sxtb	r2, r3
   1c960:	7abb      	ldrb	r3, [r7, #10]
   1c962:	4619      	mov	r1, r3
   1c964:	2301      	movs	r3, #1
   1c966:	408b      	lsls	r3, r1
   1c968:	b25b      	sxtb	r3, r3
   1c96a:	4313      	orrs	r3, r2
   1c96c:	b25b      	sxtb	r3, r3
   1c96e:	b2da      	uxtb	r2, r3
   1c970:	697b      	ldr	r3, [r7, #20]
   1c972:	70da      	strb	r2, [r3, #3]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:172
}
   1c974:	e00f      	b.n	1c996 <gpio_set+0x12a>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:168
			BCLR(pin,gpio_even_ptr->OUT);
   1c976:	697b      	ldr	r3, [r7, #20]
   1c978:	78db      	ldrb	r3, [r3, #3]
   1c97a:	b2db      	uxtb	r3, r3
   1c97c:	b25a      	sxtb	r2, r3
   1c97e:	7abb      	ldrb	r3, [r7, #10]
   1c980:	4619      	mov	r1, r3
   1c982:	2301      	movs	r3, #1
   1c984:	408b      	lsls	r3, r1
   1c986:	b25b      	sxtb	r3, r3
   1c988:	43db      	mvns	r3, r3
   1c98a:	b25b      	sxtb	r3, r3
   1c98c:	4013      	ands	r3, r2
   1c98e:	b25b      	sxtb	r3, r3
   1c990:	b2da      	uxtb	r2, r3
   1c992:	697b      	ldr	r3, [r7, #20]
   1c994:	70da      	strb	r2, [r3, #3]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:172
}
   1c996:	bf00      	nop
   1c998:	3718      	adds	r7, #24
   1c99a:	46bd      	mov	sp, r7
   1c99c:	bd80      	pop	{r7, pc}
   1c99e:	bf00      	nop
   1c9a0:	40004d20 	.word	0x40004d20
   1c9a4:	2000202c 	.word	0x2000202c
   1c9a8:	20002040 	.word	0x20002040

0001c9ac <gpio_get>:
gpio_get():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:181
//函数返回：指定引脚的状态（1或0）
//参数说明：port_pin：端口号|引脚号(PORT_2)|(0) 表示为2口0号脚）
//功能概要：获取指定引脚的状态（1或0）
//===========================================================================
uint8_t gpio_get(uint16_t port_pin)
{
   1c9ac:	b580      	push	{r7, lr}
   1c9ae:	b086      	sub	sp, #24
   1c9b0:	af00      	add	r7, sp, #0
   1c9b2:	4603      	mov	r3, r0
   1c9b4:	80fb      	strh	r3, [r7, #6]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:189
	DIO_PORT_Even_Interruptable_Type* gpio_even_ptr;
	DIO_PORT_Not_Interruptable_Type* gpio_not_ptr;
	uint8_t port;
	uint8_t pin;
	//解析端口和引脚
	gpio_port_pin_resolution(port_pin , &port , &pin);
   1c9b6:	f107 020a 	add.w	r2, r7, #10
   1c9ba:	f107 010b 	add.w	r1, r7, #11
   1c9be:	88fb      	ldrh	r3, [r7, #6]
   1c9c0:	4618      	mov	r0, r3
   1c9c2:	f7ff fdd3 	bl	1c56c <gpio_port_pin_resolution>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:191

	if(port >= 10)
   1c9c6:	7afb      	ldrb	r3, [r7, #11]
   1c9c8:	2b09      	cmp	r3, #9
   1c9ca:	d910      	bls.n	1c9ee <gpio_get+0x42>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:193
	{
		gpio_not_ptr = (DIO_PORT_Not_Interruptable_Type*)PJ;
   1c9cc:	4b24      	ldr	r3, [pc, #144]	; (1ca60 <gpio_get+0xb4>)
   1c9ce:	60fb      	str	r3, [r7, #12]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:195
		//返回引脚的状态
		if(BGET(pin,gpio_not_ptr->DIR))
   1c9d0:	68fb      	ldr	r3, [r7, #12]
   1c9d2:	889b      	ldrh	r3, [r3, #4]
   1c9d4:	b29b      	uxth	r3, r3
   1c9d6:	461a      	mov	r2, r3
   1c9d8:	7abb      	ldrb	r3, [r7, #10]
   1c9da:	fa42 f303 	asr.w	r3, r2, r3
   1c9de:	f003 0301 	and.w	r3, r3, #1
   1c9e2:	2b00      	cmp	r3, #0
   1c9e4:	d001      	beq.n	1c9ea <gpio_get+0x3e>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:197
		{
			return 1;
   1c9e6:	2301      	movs	r3, #1
   1c9e8:	e036      	b.n	1ca58 <gpio_get+0xac>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:201
		}
		else
		{
			return 0;
   1c9ea:	2300      	movs	r3, #0
   1c9ec:	e034      	b.n	1ca58 <gpio_get+0xac>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:204
		}
	}
	else if(port%2 == 0)
   1c9ee:	7afb      	ldrb	r3, [r7, #11]
   1c9f0:	f003 0301 	and.w	r3, r3, #1
   1c9f4:	b2db      	uxtb	r3, r3
   1c9f6:	2b00      	cmp	r3, #0
   1c9f8:	d116      	bne.n	1ca28 <gpio_get+0x7c>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:206
	{
		gpio_odd_ptr = (DIO_PORT_Odd_Interruptable_Type*) (GPIO_ODD_ARR[port/2]);
   1c9fa:	7afb      	ldrb	r3, [r7, #11]
   1c9fc:	085b      	lsrs	r3, r3, #1
   1c9fe:	b2db      	uxtb	r3, r3
   1ca00:	461a      	mov	r2, r3
   1ca02:	4b18      	ldr	r3, [pc, #96]	; (1ca64 <gpio_get+0xb8>)
   1ca04:	f853 3022 	ldr.w	r3, [r3, r2, lsl #2]
   1ca08:	613b      	str	r3, [r7, #16]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:208
		//返回引脚的状态
		if(BGET(pin,gpio_odd_ptr->DIR))
   1ca0a:	693b      	ldr	r3, [r7, #16]
   1ca0c:	791b      	ldrb	r3, [r3, #4]
   1ca0e:	b2db      	uxtb	r3, r3
   1ca10:	461a      	mov	r2, r3
   1ca12:	7abb      	ldrb	r3, [r7, #10]
   1ca14:	fa42 f303 	asr.w	r3, r2, r3
   1ca18:	f003 0301 	and.w	r3, r3, #1
   1ca1c:	2b00      	cmp	r3, #0
   1ca1e:	d001      	beq.n	1ca24 <gpio_get+0x78>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:210
		{
			return 1;
   1ca20:	2301      	movs	r3, #1
   1ca22:	e019      	b.n	1ca58 <gpio_get+0xac>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:214
		}
		else
		{
			return 0;
   1ca24:	2300      	movs	r3, #0
   1ca26:	e017      	b.n	1ca58 <gpio_get+0xac>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:219
		}
	}
	else
	{
		gpio_even_ptr = (DIO_PORT_Even_Interruptable_Type*) (GPIO_EVEN_ARR[(port-1)/2]);
   1ca28:	7afb      	ldrb	r3, [r7, #11]
   1ca2a:	3b01      	subs	r3, #1
   1ca2c:	0fda      	lsrs	r2, r3, #31
   1ca2e:	4413      	add	r3, r2
   1ca30:	105b      	asrs	r3, r3, #1
   1ca32:	461a      	mov	r2, r3
   1ca34:	4b0c      	ldr	r3, [pc, #48]	; (1ca68 <gpio_get+0xbc>)
   1ca36:	f853 3022 	ldr.w	r3, [r3, r2, lsl #2]
   1ca3a:	617b      	str	r3, [r7, #20]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:221
		//返回引脚的状态
		if(BGET(pin,gpio_even_ptr->DIR))
   1ca3c:	697b      	ldr	r3, [r7, #20]
   1ca3e:	795b      	ldrb	r3, [r3, #5]
   1ca40:	b2db      	uxtb	r3, r3
   1ca42:	461a      	mov	r2, r3
   1ca44:	7abb      	ldrb	r3, [r7, #10]
   1ca46:	fa42 f303 	asr.w	r3, r2, r3
   1ca4a:	f003 0301 	and.w	r3, r3, #1
   1ca4e:	2b00      	cmp	r3, #0
   1ca50:	d001      	beq.n	1ca56 <gpio_get+0xaa>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:223
		{
			return 1;
   1ca52:	2301      	movs	r3, #1
   1ca54:	e000      	b.n	1ca58 <gpio_get+0xac>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:227
		}
		else
		{
			return 0;
   1ca56:	2300      	movs	r3, #0
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:230
		}
	}
}
   1ca58:	4618      	mov	r0, r3
   1ca5a:	3718      	adds	r7, #24
   1ca5c:	46bd      	mov	sp, r7
   1ca5e:	bd80      	pop	{r7, pc}
   1ca60:	40004d20 	.word	0x40004d20
   1ca64:	2000202c 	.word	0x2000202c
   1ca68:	20002040 	.word	0x20002040

0001ca6c <gpio_reverse>:
gpio_reverse():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:239
//函数返回：无
//参数说明：port_pin：端口号|引脚号  (PORT_2)|(0) 表示为2口0号脚）
//功能概要：反转指定引脚输出状态。
//===========================================================================
void gpio_reverse(uint16_t port_pin)
{
   1ca6c:	b580      	push	{r7, lr}
   1ca6e:	b086      	sub	sp, #24
   1ca70:	af00      	add	r7, sp, #0
   1ca72:	4603      	mov	r3, r0
   1ca74:	80fb      	strh	r3, [r7, #6]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:246
	DIO_PORT_Odd_Interruptable_Type* gpio_odd_ptr;
	DIO_PORT_Even_Interruptable_Type* gpio_even_ptr;
	DIO_PORT_Not_Interruptable_Type* gpio_not_ptr;
	uint8_t port;
	uint8_t pin;
	gpio_port_pin_resolution(port_pin , &port , &pin);
   1ca76:	f107 020a 	add.w	r2, r7, #10
   1ca7a:	f107 010b 	add.w	r1, r7, #11
   1ca7e:	88fb      	ldrh	r3, [r7, #6]
   1ca80:	4618      	mov	r0, r3
   1ca82:	f7ff fd73 	bl	1c56c <gpio_port_pin_resolution>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:248

	if(port >= 10)
   1ca86:	7afb      	ldrb	r3, [r7, #11]
   1ca88:	2b09      	cmp	r3, #9
   1ca8a:	d92c      	bls.n	1cae6 <gpio_reverse+0x7a>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:250
	{
		gpio_not_ptr = (DIO_PORT_Not_Interruptable_Type*)PJ;
   1ca8c:	4b4e      	ldr	r3, [pc, #312]	; (1cbc8 <gpio_reverse+0x15c>)
   1ca8e:	60fb      	str	r3, [r7, #12]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:251
		if(BGET(pin,gpio_not_ptr->OUT))       //获取当前输出电平高低
   1ca90:	68fb      	ldr	r3, [r7, #12]
   1ca92:	885b      	ldrh	r3, [r3, #2]
   1ca94:	b29b      	uxth	r3, r3
   1ca96:	461a      	mov	r2, r3
   1ca98:	7abb      	ldrb	r3, [r7, #10]
   1ca9a:	fa42 f303 	asr.w	r3, r2, r3
   1ca9e:	f003 0301 	and.w	r3, r3, #1
   1caa2:	2b00      	cmp	r3, #0
   1caa4:	d010      	beq.n	1cac8 <gpio_reverse+0x5c>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:253
		{
			BCLR(pin,gpio_not_ptr->OUT);      //设置输出低电平
   1caa6:	68fb      	ldr	r3, [r7, #12]
   1caa8:	885b      	ldrh	r3, [r3, #2]
   1caaa:	b29b      	uxth	r3, r3
   1caac:	b21a      	sxth	r2, r3
   1caae:	7abb      	ldrb	r3, [r7, #10]
   1cab0:	4619      	mov	r1, r3
   1cab2:	2301      	movs	r3, #1
   1cab4:	408b      	lsls	r3, r1
   1cab6:	b21b      	sxth	r3, r3
   1cab8:	43db      	mvns	r3, r3
   1caba:	b21b      	sxth	r3, r3
   1cabc:	4013      	ands	r3, r2
   1cabe:	b21b      	sxth	r3, r3
   1cac0:	b29a      	uxth	r2, r3
   1cac2:	68fb      	ldr	r3, [r7, #12]
   1cac4:	805a      	strh	r2, [r3, #2]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:284
		else
		{
			BSET(pin,gpio_even_ptr->OUT);      //设置输出高电平
		}
	}
}
   1cac6:	e07b      	b.n	1cbc0 <gpio_reverse+0x154>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:257
			BSET(pin,gpio_not_ptr->OUT);      //设置输出高电平
   1cac8:	68fb      	ldr	r3, [r7, #12]
   1caca:	885b      	ldrh	r3, [r3, #2]
   1cacc:	b29b      	uxth	r3, r3
   1cace:	b21a      	sxth	r2, r3
   1cad0:	7abb      	ldrb	r3, [r7, #10]
   1cad2:	4619      	mov	r1, r3
   1cad4:	2301      	movs	r3, #1
   1cad6:	408b      	lsls	r3, r1
   1cad8:	b21b      	sxth	r3, r3
   1cada:	4313      	orrs	r3, r2
   1cadc:	b21b      	sxth	r3, r3
   1cade:	b29a      	uxth	r2, r3
   1cae0:	68fb      	ldr	r3, [r7, #12]
   1cae2:	805a      	strh	r2, [r3, #2]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:284
}
   1cae4:	e06c      	b.n	1cbc0 <gpio_reverse+0x154>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:260
	else if(port%2 == 0)
   1cae6:	7afb      	ldrb	r3, [r7, #11]
   1cae8:	f003 0301 	and.w	r3, r3, #1
   1caec:	b2db      	uxtb	r3, r3
   1caee:	2b00      	cmp	r3, #0
   1caf0:	d132      	bne.n	1cb58 <gpio_reverse+0xec>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:262
		gpio_odd_ptr =(DIO_PORT_Odd_Interruptable_Type*) (GPIO_ODD_ARR[port/2]);
   1caf2:	7afb      	ldrb	r3, [r7, #11]
   1caf4:	085b      	lsrs	r3, r3, #1
   1caf6:	b2db      	uxtb	r3, r3
   1caf8:	461a      	mov	r2, r3
   1cafa:	4b34      	ldr	r3, [pc, #208]	; (1cbcc <gpio_reverse+0x160>)
   1cafc:	f853 3022 	ldr.w	r3, [r3, r2, lsl #2]
   1cb00:	613b      	str	r3, [r7, #16]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:263
		if(BGET(pin,gpio_odd_ptr->OUT))       //获取当前输出电平高低
   1cb02:	693b      	ldr	r3, [r7, #16]
   1cb04:	789b      	ldrb	r3, [r3, #2]
   1cb06:	b2db      	uxtb	r3, r3
   1cb08:	461a      	mov	r2, r3
   1cb0a:	7abb      	ldrb	r3, [r7, #10]
   1cb0c:	fa42 f303 	asr.w	r3, r2, r3
   1cb10:	f003 0301 	and.w	r3, r3, #1
   1cb14:	2b00      	cmp	r3, #0
   1cb16:	d010      	beq.n	1cb3a <gpio_reverse+0xce>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:265
			BCLR(pin,gpio_odd_ptr->OUT);      //设置输出低电平
   1cb18:	693b      	ldr	r3, [r7, #16]
   1cb1a:	789b      	ldrb	r3, [r3, #2]
   1cb1c:	b2db      	uxtb	r3, r3
   1cb1e:	b25a      	sxtb	r2, r3
   1cb20:	7abb      	ldrb	r3, [r7, #10]
   1cb22:	4619      	mov	r1, r3
   1cb24:	2301      	movs	r3, #1
   1cb26:	408b      	lsls	r3, r1
   1cb28:	b25b      	sxtb	r3, r3
   1cb2a:	43db      	mvns	r3, r3
   1cb2c:	b25b      	sxtb	r3, r3
   1cb2e:	4013      	ands	r3, r2
   1cb30:	b25b      	sxtb	r3, r3
   1cb32:	b2da      	uxtb	r2, r3
   1cb34:	693b      	ldr	r3, [r7, #16]
   1cb36:	709a      	strb	r2, [r3, #2]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:284
}
   1cb38:	e042      	b.n	1cbc0 <gpio_reverse+0x154>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:269
			BSET(pin,gpio_odd_ptr->OUT);      //设置输出高电平
   1cb3a:	693b      	ldr	r3, [r7, #16]
   1cb3c:	789b      	ldrb	r3, [r3, #2]
   1cb3e:	b2db      	uxtb	r3, r3
   1cb40:	b25a      	sxtb	r2, r3
   1cb42:	7abb      	ldrb	r3, [r7, #10]
   1cb44:	4619      	mov	r1, r3
   1cb46:	2301      	movs	r3, #1
   1cb48:	408b      	lsls	r3, r1
   1cb4a:	b25b      	sxtb	r3, r3
   1cb4c:	4313      	orrs	r3, r2
   1cb4e:	b25b      	sxtb	r3, r3
   1cb50:	b2da      	uxtb	r2, r3
   1cb52:	693b      	ldr	r3, [r7, #16]
   1cb54:	709a      	strb	r2, [r3, #2]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:284
}
   1cb56:	e033      	b.n	1cbc0 <gpio_reverse+0x154>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:274
		gpio_even_ptr =(DIO_PORT_Even_Interruptable_Type*) (GPIO_EVEN_ARR[(port-1)/2]);
   1cb58:	7afb      	ldrb	r3, [r7, #11]
   1cb5a:	3b01      	subs	r3, #1
   1cb5c:	0fda      	lsrs	r2, r3, #31
   1cb5e:	4413      	add	r3, r2
   1cb60:	105b      	asrs	r3, r3, #1
   1cb62:	461a      	mov	r2, r3
   1cb64:	4b1a      	ldr	r3, [pc, #104]	; (1cbd0 <gpio_reverse+0x164>)
   1cb66:	f853 3022 	ldr.w	r3, [r3, r2, lsl #2]
   1cb6a:	617b      	str	r3, [r7, #20]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:275
		if(BGET(pin,gpio_even_ptr->OUT))       //获取当前输出电平高低
   1cb6c:	697b      	ldr	r3, [r7, #20]
   1cb6e:	78db      	ldrb	r3, [r3, #3]
   1cb70:	b2db      	uxtb	r3, r3
   1cb72:	461a      	mov	r2, r3
   1cb74:	7abb      	ldrb	r3, [r7, #10]
   1cb76:	fa42 f303 	asr.w	r3, r2, r3
   1cb7a:	f003 0301 	and.w	r3, r3, #1
   1cb7e:	2b00      	cmp	r3, #0
   1cb80:	d010      	beq.n	1cba4 <gpio_reverse+0x138>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:277
			BCLR(pin,gpio_even_ptr->OUT);      //设置输出低电平
   1cb82:	697b      	ldr	r3, [r7, #20]
   1cb84:	78db      	ldrb	r3, [r3, #3]
   1cb86:	b2db      	uxtb	r3, r3
   1cb88:	b25a      	sxtb	r2, r3
   1cb8a:	7abb      	ldrb	r3, [r7, #10]
   1cb8c:	4619      	mov	r1, r3
   1cb8e:	2301      	movs	r3, #1
   1cb90:	408b      	lsls	r3, r1
   1cb92:	b25b      	sxtb	r3, r3
   1cb94:	43db      	mvns	r3, r3
   1cb96:	b25b      	sxtb	r3, r3
   1cb98:	4013      	ands	r3, r2
   1cb9a:	b25b      	sxtb	r3, r3
   1cb9c:	b2da      	uxtb	r2, r3
   1cb9e:	697b      	ldr	r3, [r7, #20]
   1cba0:	70da      	strb	r2, [r3, #3]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:284
}
   1cba2:	e00d      	b.n	1cbc0 <gpio_reverse+0x154>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:281
			BSET(pin,gpio_even_ptr->OUT);      //设置输出高电平
   1cba4:	697b      	ldr	r3, [r7, #20]
   1cba6:	78db      	ldrb	r3, [r3, #3]
   1cba8:	b2db      	uxtb	r3, r3
   1cbaa:	b25a      	sxtb	r2, r3
   1cbac:	7abb      	ldrb	r3, [r7, #10]
   1cbae:	4619      	mov	r1, r3
   1cbb0:	2301      	movs	r3, #1
   1cbb2:	408b      	lsls	r3, r1
   1cbb4:	b25b      	sxtb	r3, r3
   1cbb6:	4313      	orrs	r3, r2
   1cbb8:	b25b      	sxtb	r3, r3
   1cbba:	b2da      	uxtb	r2, r3
   1cbbc:	697b      	ldr	r3, [r7, #20]
   1cbbe:	70da      	strb	r2, [r3, #3]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:284
}
   1cbc0:	bf00      	nop
   1cbc2:	3718      	adds	r7, #24
   1cbc4:	46bd      	mov	sp, r7
   1cbc6:	bd80      	pop	{r7, pc}
   1cbc8:	40004d20 	.word	0x40004d20
   1cbcc:	2000202c 	.word	0x2000202c
   1cbd0:	20002040 	.word	0x20002040

0001cbd4 <gpio_pull>:
gpio_pull():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:294
//参数说明：port_pin：端口号|引脚号 (PORT_2)|(0) 表示为2口0号脚）
//         pullselect：引脚拉高低电平（ 0=拉低电平，1=拉高电平）
//功能概要：使指定引脚上拉高电平或下拉低电平
//===========================================================================
void gpio_pull(uint16_t port_pin, uint8_t pullselect)
{
   1cbd4:	b580      	push	{r7, lr}
   1cbd6:	b086      	sub	sp, #24
   1cbd8:	af00      	add	r7, sp, #0
   1cbda:	4603      	mov	r3, r0
   1cbdc:	460a      	mov	r2, r1
   1cbde:	80fb      	strh	r3, [r7, #6]
   1cbe0:	4613      	mov	r3, r2
   1cbe2:	717b      	strb	r3, [r7, #5]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:301
	DIO_PORT_Odd_Interruptable_Type* gpio_odd_ptr;
	DIO_PORT_Even_Interruptable_Type* gpio_even_ptr;
	DIO_PORT_Not_Interruptable_Type* gpio_not_ptr;
	uint8_t port;
	uint8_t pin;
	gpio_port_pin_resolution(port_pin , &port , &pin);
   1cbe4:	f107 020a 	add.w	r2, r7, #10
   1cbe8:	f107 010b 	add.w	r1, r7, #11
   1cbec:	88fb      	ldrh	r3, [r7, #6]
   1cbee:	4618      	mov	r0, r3
   1cbf0:	f7ff fcbc 	bl	1c56c <gpio_port_pin_resolution>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:303

	if(port >= 10)
   1cbf4:	7afb      	ldrb	r3, [r7, #11]
   1cbf6:	2b09      	cmp	r3, #9
   1cbf8:	d924      	bls.n	1cc44 <gpio_pull+0x70>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:305
	{
		gpio_not_ptr = (DIO_PORT_Not_Interruptable_Type*)PJ;
   1cbfa:	4b43      	ldr	r3, [pc, #268]	; (1cd08 <gpio_pull+0x134>)
   1cbfc:	60fb      	str	r3, [r7, #12]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:307
		//根据带入参数pullselect，决定引脚拉高还是拉低
		if (1==pullselect)
   1cbfe:	797b      	ldrb	r3, [r7, #5]
   1cc00:	2b01      	cmp	r3, #1
   1cc02:	d10e      	bne.n	1cc22 <gpio_pull+0x4e>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:309
		{
			BSET(pin,gpio_not_ptr->REN);   //设置驱动能力
   1cc04:	68fb      	ldr	r3, [r7, #12]
   1cc06:	88db      	ldrh	r3, [r3, #6]
   1cc08:	b29b      	uxth	r3, r3
   1cc0a:	b21a      	sxth	r2, r3
   1cc0c:	7abb      	ldrb	r3, [r7, #10]
   1cc0e:	4619      	mov	r1, r3
   1cc10:	2301      	movs	r3, #1
   1cc12:	408b      	lsls	r3, r1
   1cc14:	b21b      	sxth	r3, r3
   1cc16:	4313      	orrs	r3, r2
   1cc18:	b21b      	sxth	r3, r3
   1cc1a:	b29a      	uxth	r2, r3
   1cc1c:	68fb      	ldr	r3, [r7, #12]
   1cc1e:	80da      	strh	r2, [r3, #6]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:342
		else
		{
			BCLR(pin,gpio_even_ptr->REN);
		}
	}
}
   1cc20:	e06d      	b.n	1ccfe <gpio_pull+0x12a>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:313
			BCLR(pin,gpio_not_ptr->REN);
   1cc22:	68fb      	ldr	r3, [r7, #12]
   1cc24:	88db      	ldrh	r3, [r3, #6]
   1cc26:	b29b      	uxth	r3, r3
   1cc28:	b21a      	sxth	r2, r3
   1cc2a:	7abb      	ldrb	r3, [r7, #10]
   1cc2c:	4619      	mov	r1, r3
   1cc2e:	2301      	movs	r3, #1
   1cc30:	408b      	lsls	r3, r1
   1cc32:	b21b      	sxth	r3, r3
   1cc34:	43db      	mvns	r3, r3
   1cc36:	b21b      	sxth	r3, r3
   1cc38:	4013      	ands	r3, r2
   1cc3a:	b21b      	sxth	r3, r3
   1cc3c:	b29a      	uxth	r2, r3
   1cc3e:	68fb      	ldr	r3, [r7, #12]
   1cc40:	80da      	strh	r2, [r3, #6]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:342
}
   1cc42:	e05c      	b.n	1ccfe <gpio_pull+0x12a>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:316
	else if(port%2 == 0)
   1cc44:	7afb      	ldrb	r3, [r7, #11]
   1cc46:	f003 0301 	and.w	r3, r3, #1
   1cc4a:	b2db      	uxtb	r3, r3
   1cc4c:	2b00      	cmp	r3, #0
   1cc4e:	d12a      	bne.n	1cca6 <gpio_pull+0xd2>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:318
		gpio_odd_ptr = (DIO_PORT_Odd_Interruptable_Type*) (GPIO_ODD_ARR[port/2]);
   1cc50:	7afb      	ldrb	r3, [r7, #11]
   1cc52:	085b      	lsrs	r3, r3, #1
   1cc54:	b2db      	uxtb	r3, r3
   1cc56:	461a      	mov	r2, r3
   1cc58:	4b2c      	ldr	r3, [pc, #176]	; (1cd0c <gpio_pull+0x138>)
   1cc5a:	f853 3022 	ldr.w	r3, [r3, r2, lsl #2]
   1cc5e:	613b      	str	r3, [r7, #16]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:320
		if (1==pullselect)
   1cc60:	797b      	ldrb	r3, [r7, #5]
   1cc62:	2b01      	cmp	r3, #1
   1cc64:	d10e      	bne.n	1cc84 <gpio_pull+0xb0>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:322
			BSET(pin,gpio_odd_ptr->REN);
   1cc66:	693b      	ldr	r3, [r7, #16]
   1cc68:	799b      	ldrb	r3, [r3, #6]
   1cc6a:	b2db      	uxtb	r3, r3
   1cc6c:	b25a      	sxtb	r2, r3
   1cc6e:	7abb      	ldrb	r3, [r7, #10]
   1cc70:	4619      	mov	r1, r3
   1cc72:	2301      	movs	r3, #1
   1cc74:	408b      	lsls	r3, r1
   1cc76:	b25b      	sxtb	r3, r3
   1cc78:	4313      	orrs	r3, r2
   1cc7a:	b25b      	sxtb	r3, r3
   1cc7c:	b2da      	uxtb	r2, r3
   1cc7e:	693b      	ldr	r3, [r7, #16]
   1cc80:	719a      	strb	r2, [r3, #6]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:342
}
   1cc82:	e03c      	b.n	1ccfe <gpio_pull+0x12a>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:326
			BCLR(pin,gpio_odd_ptr->REN);
   1cc84:	693b      	ldr	r3, [r7, #16]
   1cc86:	799b      	ldrb	r3, [r3, #6]
   1cc88:	b2db      	uxtb	r3, r3
   1cc8a:	b25a      	sxtb	r2, r3
   1cc8c:	7abb      	ldrb	r3, [r7, #10]
   1cc8e:	4619      	mov	r1, r3
   1cc90:	2301      	movs	r3, #1
   1cc92:	408b      	lsls	r3, r1
   1cc94:	b25b      	sxtb	r3, r3
   1cc96:	43db      	mvns	r3, r3
   1cc98:	b25b      	sxtb	r3, r3
   1cc9a:	4013      	ands	r3, r2
   1cc9c:	b25b      	sxtb	r3, r3
   1cc9e:	b2da      	uxtb	r2, r3
   1cca0:	693b      	ldr	r3, [r7, #16]
   1cca2:	719a      	strb	r2, [r3, #6]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:342
}
   1cca4:	e02b      	b.n	1ccfe <gpio_pull+0x12a>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:331
		gpio_even_ptr = (DIO_PORT_Even_Interruptable_Type*) (GPIO_EVEN_ARR[(port-1)/2]);
   1cca6:	7afb      	ldrb	r3, [r7, #11]
   1cca8:	3b01      	subs	r3, #1
   1ccaa:	0fda      	lsrs	r2, r3, #31
   1ccac:	4413      	add	r3, r2
   1ccae:	105b      	asrs	r3, r3, #1
   1ccb0:	461a      	mov	r2, r3
   1ccb2:	4b17      	ldr	r3, [pc, #92]	; (1cd10 <gpio_pull+0x13c>)
   1ccb4:	f853 3022 	ldr.w	r3, [r3, r2, lsl #2]
   1ccb8:	617b      	str	r3, [r7, #20]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:333
		if (1==pullselect)
   1ccba:	797b      	ldrb	r3, [r7, #5]
   1ccbc:	2b01      	cmp	r3, #1
   1ccbe:	d10e      	bne.n	1ccde <gpio_pull+0x10a>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:335
			BSET(pin,gpio_even_ptr->REN);
   1ccc0:	697b      	ldr	r3, [r7, #20]
   1ccc2:	79db      	ldrb	r3, [r3, #7]
   1ccc4:	b2db      	uxtb	r3, r3
   1ccc6:	b25a      	sxtb	r2, r3
   1ccc8:	7abb      	ldrb	r3, [r7, #10]
   1ccca:	4619      	mov	r1, r3
   1cccc:	2301      	movs	r3, #1
   1ccce:	408b      	lsls	r3, r1
   1ccd0:	b25b      	sxtb	r3, r3
   1ccd2:	4313      	orrs	r3, r2
   1ccd4:	b25b      	sxtb	r3, r3
   1ccd6:	b2da      	uxtb	r2, r3
   1ccd8:	697b      	ldr	r3, [r7, #20]
   1ccda:	71da      	strb	r2, [r3, #7]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:342
}
   1ccdc:	e00f      	b.n	1ccfe <gpio_pull+0x12a>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:339
			BCLR(pin,gpio_even_ptr->REN);
   1ccde:	697b      	ldr	r3, [r7, #20]
   1cce0:	79db      	ldrb	r3, [r3, #7]
   1cce2:	b2db      	uxtb	r3, r3
   1cce4:	b25a      	sxtb	r2, r3
   1cce6:	7abb      	ldrb	r3, [r7, #10]
   1cce8:	4619      	mov	r1, r3
   1ccea:	2301      	movs	r3, #1
   1ccec:	408b      	lsls	r3, r1
   1ccee:	b25b      	sxtb	r3, r3
   1ccf0:	43db      	mvns	r3, r3
   1ccf2:	b25b      	sxtb	r3, r3
   1ccf4:	4013      	ands	r3, r2
   1ccf6:	b25b      	sxtb	r3, r3
   1ccf8:	b2da      	uxtb	r2, r3
   1ccfa:	697b      	ldr	r3, [r7, #20]
   1ccfc:	71da      	strb	r2, [r3, #7]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:342
}
   1ccfe:	bf00      	nop
   1cd00:	3718      	adds	r7, #24
   1cd02:	46bd      	mov	sp, r7
   1cd04:	bd80      	pop	{r7, pc}
   1cd06:	bf00      	nop
   1cd08:	40004d20 	.word	0x40004d20
   1cd0c:	2000202c 	.word	0x2000202c
   1cd10:	20002040 	.word	0x20002040

0001cd14 <gpio_enable_int>:
gpio_enable_int():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:357
//          设置中断触发条件。
//注          意： MP432P401R芯片，只有PORT1~PORT6口具有GPIO类中断功能
//
//===========================================================================
void gpio_enable_int(uint16_t port_pin,uint8_t irqtype)
{
   1cd14:	b580      	push	{r7, lr}
   1cd16:	b086      	sub	sp, #24
   1cd18:	af00      	add	r7, sp, #0
   1cd1a:	4603      	mov	r3, r0
   1cd1c:	460a      	mov	r2, r1
   1cd1e:	80fb      	strh	r3, [r7, #6]
   1cd20:	4613      	mov	r3, r2
   1cd22:	717b      	strb	r3, [r7, #5]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:363
	//局部变量声明
	DIO_PORT_Odd_Interruptable_Type* gpio_odd_ptr;
	DIO_PORT_Even_Interruptable_Type* gpio_even_ptr;
	uint8_t port;
	uint8_t pin;
	gpio_port_pin_resolution(port_pin , &port , &pin);
   1cd24:	f107 020e 	add.w	r2, r7, #14
   1cd28:	f107 010f 	add.w	r1, r7, #15
   1cd2c:	88fb      	ldrh	r3, [r7, #6]
   1cd2e:	4618      	mov	r0, r3
   1cd30:	f7ff fc1c 	bl	1c56c <gpio_port_pin_resolution>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:365

	if(port%2 == 0)
   1cd34:	7bfb      	ldrb	r3, [r7, #15]
   1cd36:	f003 0301 	and.w	r3, r3, #1
   1cd3a:	b2db      	uxtb	r3, r3
   1cd3c:	2b00      	cmp	r3, #0
   1cd3e:	d148      	bne.n	1cdd2 <gpio_enable_int+0xbe>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:367
	{
		gpio_odd_ptr = (DIO_PORT_Odd_Interruptable_Type*) (GPIO_ODD_ARR[port/2]);
   1cd40:	7bfb      	ldrb	r3, [r7, #15]
   1cd42:	085b      	lsrs	r3, r3, #1
   1cd44:	b2db      	uxtb	r3, r3
   1cd46:	461a      	mov	r2, r3
   1cd48:	4b5e      	ldr	r3, [pc, #376]	; (1cec4 <gpio_enable_int+0x1b0>)
   1cd4a:	f853 3022 	ldr.w	r3, [r3, r2, lsl #2]
   1cd4e:	613b      	str	r3, [r7, #16]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:368
		BCLR(pin,gpio_odd_ptr->IFG);         //清除引脚中断标志
   1cd50:	693b      	ldr	r3, [r7, #16]
   1cd52:	7f1b      	ldrb	r3, [r3, #28]
   1cd54:	b2db      	uxtb	r3, r3
   1cd56:	b25a      	sxtb	r2, r3
   1cd58:	7bbb      	ldrb	r3, [r7, #14]
   1cd5a:	4619      	mov	r1, r3
   1cd5c:	2301      	movs	r3, #1
   1cd5e:	408b      	lsls	r3, r1
   1cd60:	b25b      	sxtb	r3, r3
   1cd62:	43db      	mvns	r3, r3
   1cd64:	b25b      	sxtb	r3, r3
   1cd66:	4013      	ands	r3, r2
   1cd68:	b25b      	sxtb	r3, r3
   1cd6a:	b2da      	uxtb	r2, r3
   1cd6c:	693b      	ldr	r3, [r7, #16]
   1cd6e:	771a      	strb	r2, [r3, #28]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:369
		if(irqtype == 1)
   1cd70:	797b      	ldrb	r3, [r7, #5]
   1cd72:	2b01      	cmp	r3, #1
   1cd74:	d10e      	bne.n	1cd94 <gpio_enable_int+0x80>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:371
		{
			BSET(pin,gpio_odd_ptr->IES);	 //设置上升沿中断或者下降沿中断
   1cd76:	693b      	ldr	r3, [r7, #16]
   1cd78:	7e1b      	ldrb	r3, [r3, #24]
   1cd7a:	b2db      	uxtb	r3, r3
   1cd7c:	b25a      	sxtb	r2, r3
   1cd7e:	7bbb      	ldrb	r3, [r7, #14]
   1cd80:	4619      	mov	r1, r3
   1cd82:	2301      	movs	r3, #1
   1cd84:	408b      	lsls	r3, r1
   1cd86:	b25b      	sxtb	r3, r3
   1cd88:	4313      	orrs	r3, r2
   1cd8a:	b25b      	sxtb	r3, r3
   1cd8c:	b2da      	uxtb	r2, r3
   1cd8e:	693b      	ldr	r3, [r7, #16]
   1cd90:	761a      	strb	r2, [r3, #24]
   1cd92:	e00f      	b.n	1cdb4 <gpio_enable_int+0xa0>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:375
		}
		else
		{
			BCLR(pin,gpio_odd_ptr->IES);	 //设置上升沿中断或者下降沿中断
   1cd94:	693b      	ldr	r3, [r7, #16]
   1cd96:	7e1b      	ldrb	r3, [r3, #24]
   1cd98:	b2db      	uxtb	r3, r3
   1cd9a:	b25a      	sxtb	r2, r3
   1cd9c:	7bbb      	ldrb	r3, [r7, #14]
   1cd9e:	4619      	mov	r1, r3
   1cda0:	2301      	movs	r3, #1
   1cda2:	408b      	lsls	r3, r1
   1cda4:	b25b      	sxtb	r3, r3
   1cda6:	43db      	mvns	r3, r3
   1cda8:	b25b      	sxtb	r3, r3
   1cdaa:	4013      	ands	r3, r2
   1cdac:	b25b      	sxtb	r3, r3
   1cdae:	b2da      	uxtb	r2, r3
   1cdb0:	693b      	ldr	r3, [r7, #16]
   1cdb2:	761a      	strb	r2, [r3, #24]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:377
		}
	    BSET(pin,gpio_odd_ptr->IE);          //使能引脚中断
   1cdb4:	693b      	ldr	r3, [r7, #16]
   1cdb6:	7e9b      	ldrb	r3, [r3, #26]
   1cdb8:	b2db      	uxtb	r3, r3
   1cdba:	b25a      	sxtb	r2, r3
   1cdbc:	7bbb      	ldrb	r3, [r7, #14]
   1cdbe:	4619      	mov	r1, r3
   1cdc0:	2301      	movs	r3, #1
   1cdc2:	408b      	lsls	r3, r1
   1cdc4:	b25b      	sxtb	r3, r3
   1cdc6:	4313      	orrs	r3, r2
   1cdc8:	b25b      	sxtb	r3, r3
   1cdca:	b2da      	uxtb	r2, r3
   1cdcc:	693b      	ldr	r3, [r7, #16]
   1cdce:	769a      	strb	r2, [r3, #26]
   1cdd0:	e049      	b.n	1ce66 <gpio_enable_int+0x152>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:381
	}
	else
	{
		gpio_even_ptr = (DIO_PORT_Even_Interruptable_Type*) (GPIO_EVEN_ARR[(port-1)/2]);
   1cdd2:	7bfb      	ldrb	r3, [r7, #15]
   1cdd4:	3b01      	subs	r3, #1
   1cdd6:	0fda      	lsrs	r2, r3, #31
   1cdd8:	4413      	add	r3, r2
   1cdda:	105b      	asrs	r3, r3, #1
   1cddc:	461a      	mov	r2, r3
   1cdde:	4b3a      	ldr	r3, [pc, #232]	; (1cec8 <gpio_enable_int+0x1b4>)
   1cde0:	f853 3022 	ldr.w	r3, [r3, r2, lsl #2]
   1cde4:	617b      	str	r3, [r7, #20]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:382
		BCLR(pin,gpio_even_ptr->IFG);        //清除引脚中断标志
   1cde6:	697b      	ldr	r3, [r7, #20]
   1cde8:	7f5b      	ldrb	r3, [r3, #29]
   1cdea:	b2db      	uxtb	r3, r3
   1cdec:	b25a      	sxtb	r2, r3
   1cdee:	7bbb      	ldrb	r3, [r7, #14]
   1cdf0:	4619      	mov	r1, r3
   1cdf2:	2301      	movs	r3, #1
   1cdf4:	408b      	lsls	r3, r1
   1cdf6:	b25b      	sxtb	r3, r3
   1cdf8:	43db      	mvns	r3, r3
   1cdfa:	b25b      	sxtb	r3, r3
   1cdfc:	4013      	ands	r3, r2
   1cdfe:	b25b      	sxtb	r3, r3
   1ce00:	b2da      	uxtb	r2, r3
   1ce02:	697b      	ldr	r3, [r7, #20]
   1ce04:	775a      	strb	r2, [r3, #29]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:383
		if(irqtype == 1)
   1ce06:	797b      	ldrb	r3, [r7, #5]
   1ce08:	2b01      	cmp	r3, #1
   1ce0a:	d10e      	bne.n	1ce2a <gpio_enable_int+0x116>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:385
		{
			BSET(pin,gpio_even_ptr->IES);	 //设置上升沿中断或者下降沿中断
   1ce0c:	697b      	ldr	r3, [r7, #20]
   1ce0e:	7e5b      	ldrb	r3, [r3, #25]
   1ce10:	b2db      	uxtb	r3, r3
   1ce12:	b25a      	sxtb	r2, r3
   1ce14:	7bbb      	ldrb	r3, [r7, #14]
   1ce16:	4619      	mov	r1, r3
   1ce18:	2301      	movs	r3, #1
   1ce1a:	408b      	lsls	r3, r1
   1ce1c:	b25b      	sxtb	r3, r3
   1ce1e:	4313      	orrs	r3, r2
   1ce20:	b25b      	sxtb	r3, r3
   1ce22:	b2da      	uxtb	r2, r3
   1ce24:	697b      	ldr	r3, [r7, #20]
   1ce26:	765a      	strb	r2, [r3, #25]
   1ce28:	e00f      	b.n	1ce4a <gpio_enable_int+0x136>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:389
		}
		else
		{
			BCLR(pin,gpio_even_ptr->IES);	 //设置上升沿中断或者下降沿中断
   1ce2a:	697b      	ldr	r3, [r7, #20]
   1ce2c:	7e5b      	ldrb	r3, [r3, #25]
   1ce2e:	b2db      	uxtb	r3, r3
   1ce30:	b25a      	sxtb	r2, r3
   1ce32:	7bbb      	ldrb	r3, [r7, #14]
   1ce34:	4619      	mov	r1, r3
   1ce36:	2301      	movs	r3, #1
   1ce38:	408b      	lsls	r3, r1
   1ce3a:	b25b      	sxtb	r3, r3
   1ce3c:	43db      	mvns	r3, r3
   1ce3e:	b25b      	sxtb	r3, r3
   1ce40:	4013      	ands	r3, r2
   1ce42:	b25b      	sxtb	r3, r3
   1ce44:	b2da      	uxtb	r2, r3
   1ce46:	697b      	ldr	r3, [r7, #20]
   1ce48:	765a      	strb	r2, [r3, #25]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:391
		}
	    BSET(pin,gpio_even_ptr->IE);         //使能引脚中断
   1ce4a:	697b      	ldr	r3, [r7, #20]
   1ce4c:	7edb      	ldrb	r3, [r3, #27]
   1ce4e:	b2db      	uxtb	r3, r3
   1ce50:	b25a      	sxtb	r2, r3
   1ce52:	7bbb      	ldrb	r3, [r7, #14]
   1ce54:	4619      	mov	r1, r3
   1ce56:	2301      	movs	r3, #1
   1ce58:	408b      	lsls	r3, r1
   1ce5a:	b25b      	sxtb	r3, r3
   1ce5c:	4313      	orrs	r3, r2
   1ce5e:	b25b      	sxtb	r3, r3
   1ce60:	b2da      	uxtb	r2, r3
   1ce62:	697b      	ldr	r3, [r7, #20]
   1ce64:	76da      	strb	r2, [r3, #27]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:394
	}

    switch(port)
   1ce66:	7bfb      	ldrb	r3, [r7, #15]
   1ce68:	2b05      	cmp	r3, #5
   1ce6a:	d827      	bhi.n	1cebc <gpio_enable_int+0x1a8>
   1ce6c:	a201      	add	r2, pc, #4	; (adr r2, 1ce74 <gpio_enable_int+0x160>)
   1ce6e:	f852 f023 	ldr.w	pc, [r2, r3, lsl #2]
   1ce72:	bf00      	nop
   1ce74:	0001ce8d 	.word	0x0001ce8d
   1ce78:	0001ce95 	.word	0x0001ce95
   1ce7c:	0001ce9d 	.word	0x0001ce9d
   1ce80:	0001cea5 	.word	0x0001cea5
   1ce84:	0001cead 	.word	0x0001cead
   1ce88:	0001ceb5 	.word	0x0001ceb5
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:397
    {
    case 0://PT1
    	NVIC_EnableIRQ((IRQn_Type)35);     //开中断控制器IRQ中断
   1ce8c:	2023      	movs	r0, #35	; 0x23
   1ce8e:	f7ff fb39 	bl	1c504 <NVIC_EnableIRQ>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:398
    	break;
   1ce92:	e013      	b.n	1cebc <gpio_enable_int+0x1a8>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:400
    case 1://PT2
    	NVIC_EnableIRQ((IRQn_Type)36);     //开中断控制器IRQ中断
   1ce94:	2024      	movs	r0, #36	; 0x24
   1ce96:	f7ff fb35 	bl	1c504 <NVIC_EnableIRQ>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:401
    	break;
   1ce9a:	e00f      	b.n	1cebc <gpio_enable_int+0x1a8>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:403
    case 2://PT3
    	NVIC_EnableIRQ((IRQn_Type)37);     //开中断控制器IRQ中断
   1ce9c:	2025      	movs	r0, #37	; 0x25
   1ce9e:	f7ff fb31 	bl	1c504 <NVIC_EnableIRQ>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:404
        break;
   1cea2:	e00b      	b.n	1cebc <gpio_enable_int+0x1a8>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:406
    case 3://PT4
    	NVIC_EnableIRQ((IRQn_Type)38);     //开中断控制器IRQ中断
   1cea4:	2026      	movs	r0, #38	; 0x26
   1cea6:	f7ff fb2d 	bl	1c504 <NVIC_EnableIRQ>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:407
        break;
   1ceaa:	e007      	b.n	1cebc <gpio_enable_int+0x1a8>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:409
    case 4://PT5
    	NVIC_EnableIRQ((IRQn_Type)39);     //开中断控制器IRQ中断
   1ceac:	2027      	movs	r0, #39	; 0x27
   1ceae:	f7ff fb29 	bl	1c504 <NVIC_EnableIRQ>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:410
        break;
   1ceb2:	e003      	b.n	1cebc <gpio_enable_int+0x1a8>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:412
    case 5://PT6
    	NVIC_EnableIRQ((IRQn_Type)40);     //开中断控制器IRQ中断
   1ceb4:	2028      	movs	r0, #40	; 0x28
   1ceb6:	f7ff fb25 	bl	1c504 <NVIC_EnableIRQ>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:413
        break;
   1ceba:	bf00      	nop
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:416
    default:;
    }
}
   1cebc:	bf00      	nop
   1cebe:	3718      	adds	r7, #24
   1cec0:	46bd      	mov	sp, r7
   1cec2:	bd80      	pop	{r7, pc}
   1cec4:	2000202c 	.word	0x2000202c
   1cec8:	20002040 	.word	0x20002040

0001cecc <gpio_disable_int>:
gpio_disable_int():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:427
//功能概要：当指定端口引脚被定义为GPIO功能且为输入时，本函数关闭引脚中断
//注          意： MP432P401R芯片，只有PORT1~PORT6口具有GPIO类中断功能
//
//===========================================================================
void gpio_disable_int(uint16_t port_pin)
{
   1cecc:	b580      	push	{r7, lr}
   1cece:	b086      	sub	sp, #24
   1ced0:	af00      	add	r7, sp, #0
   1ced2:	4603      	mov	r3, r0
   1ced4:	80fb      	strh	r3, [r7, #6]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:433
	//局部变量声明
	DIO_PORT_Odd_Interruptable_Type* gpio_odd_ptr;
	DIO_PORT_Even_Interruptable_Type* gpio_even_ptr;
	uint8_t port;
	uint8_t pin;
	gpio_port_pin_resolution(port_pin , &port , &pin);
   1ced6:	f107 020e 	add.w	r2, r7, #14
   1ceda:	f107 010f 	add.w	r1, r7, #15
   1cede:	88fb      	ldrh	r3, [r7, #6]
   1cee0:	4618      	mov	r0, r3
   1cee2:	f7ff fb43 	bl	1c56c <gpio_port_pin_resolution>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:435

	if(port%2 == 0)
   1cee6:	7bfb      	ldrb	r3, [r7, #15]
   1cee8:	f003 0301 	and.w	r3, r3, #1
   1ceec:	b2db      	uxtb	r3, r3
   1ceee:	2b00      	cmp	r3, #0
   1cef0:	d118      	bne.n	1cf24 <gpio_disable_int+0x58>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:437
	{
		gpio_odd_ptr = (DIO_PORT_Odd_Interruptable_Type*) (GPIO_ODD_ARR[port/2]);
   1cef2:	7bfb      	ldrb	r3, [r7, #15]
   1cef4:	085b      	lsrs	r3, r3, #1
   1cef6:	b2db      	uxtb	r3, r3
   1cef8:	461a      	mov	r2, r3
   1cefa:	4b2e      	ldr	r3, [pc, #184]	; (1cfb4 <gpio_disable_int+0xe8>)
   1cefc:	f853 3022 	ldr.w	r3, [r3, r2, lsl #2]
   1cf00:	613b      	str	r3, [r7, #16]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:438
		 BCLR(pin,gpio_odd_ptr->IE);       //禁用引脚中断
   1cf02:	693b      	ldr	r3, [r7, #16]
   1cf04:	7e9b      	ldrb	r3, [r3, #26]
   1cf06:	b2db      	uxtb	r3, r3
   1cf08:	b25a      	sxtb	r2, r3
   1cf0a:	7bbb      	ldrb	r3, [r7, #14]
   1cf0c:	4619      	mov	r1, r3
   1cf0e:	2301      	movs	r3, #1
   1cf10:	408b      	lsls	r3, r1
   1cf12:	b25b      	sxtb	r3, r3
   1cf14:	43db      	mvns	r3, r3
   1cf16:	b25b      	sxtb	r3, r3
   1cf18:	4013      	ands	r3, r2
   1cf1a:	b25b      	sxtb	r3, r3
   1cf1c:	b2da      	uxtb	r2, r3
   1cf1e:	693b      	ldr	r3, [r7, #16]
   1cf20:	769a      	strb	r2, [r3, #26]
   1cf22:	e019      	b.n	1cf58 <gpio_disable_int+0x8c>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:442
	}
	else
	{
		gpio_even_ptr = (DIO_PORT_Even_Interruptable_Type*) (GPIO_EVEN_ARR[(port-1)/2]);
   1cf24:	7bfb      	ldrb	r3, [r7, #15]
   1cf26:	3b01      	subs	r3, #1
   1cf28:	0fda      	lsrs	r2, r3, #31
   1cf2a:	4413      	add	r3, r2
   1cf2c:	105b      	asrs	r3, r3, #1
   1cf2e:	461a      	mov	r2, r3
   1cf30:	4b21      	ldr	r3, [pc, #132]	; (1cfb8 <gpio_disable_int+0xec>)
   1cf32:	f853 3022 	ldr.w	r3, [r3, r2, lsl #2]
   1cf36:	617b      	str	r3, [r7, #20]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:443
		 BCLR(pin,gpio_even_ptr->IE);     //禁用引脚中断
   1cf38:	697b      	ldr	r3, [r7, #20]
   1cf3a:	7edb      	ldrb	r3, [r3, #27]
   1cf3c:	b2db      	uxtb	r3, r3
   1cf3e:	b25a      	sxtb	r2, r3
   1cf40:	7bbb      	ldrb	r3, [r7, #14]
   1cf42:	4619      	mov	r1, r3
   1cf44:	2301      	movs	r3, #1
   1cf46:	408b      	lsls	r3, r1
   1cf48:	b25b      	sxtb	r3, r3
   1cf4a:	43db      	mvns	r3, r3
   1cf4c:	b25b      	sxtb	r3, r3
   1cf4e:	4013      	ands	r3, r2
   1cf50:	b25b      	sxtb	r3, r3
   1cf52:	b2da      	uxtb	r2, r3
   1cf54:	697b      	ldr	r3, [r7, #20]
   1cf56:	76da      	strb	r2, [r3, #27]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:446
	}

    switch(port)
   1cf58:	7bfb      	ldrb	r3, [r7, #15]
   1cf5a:	2b05      	cmp	r3, #5
   1cf5c:	d826      	bhi.n	1cfac <gpio_disable_int+0xe0>
   1cf5e:	a201      	add	r2, pc, #4	; (adr r2, 1cf64 <gpio_disable_int+0x98>)
   1cf60:	f852 f023 	ldr.w	pc, [r2, r3, lsl #2]
   1cf64:	0001cf7d 	.word	0x0001cf7d
   1cf68:	0001cf85 	.word	0x0001cf85
   1cf6c:	0001cf8d 	.word	0x0001cf8d
   1cf70:	0001cf95 	.word	0x0001cf95
   1cf74:	0001cf9d 	.word	0x0001cf9d
   1cf78:	0001cfa5 	.word	0x0001cfa5
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:449
    {
        case 0://PT1
    	    NVIC_DisableIRQ((IRQn_Type)35);   //开中断控制器IRQ中断
   1cf7c:	2023      	movs	r0, #35	; 0x23
   1cf7e:	f7ff fadb 	bl	1c538 <NVIC_DisableIRQ>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:450
        	break;
   1cf82:	e013      	b.n	1cfac <gpio_disable_int+0xe0>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:452
        case 1://PT2
        	NVIC_DisableIRQ((IRQn_Type)36);   //开中断控制器IRQ中断
   1cf84:	2024      	movs	r0, #36	; 0x24
   1cf86:	f7ff fad7 	bl	1c538 <NVIC_DisableIRQ>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:453
        	break;
   1cf8a:	e00f      	b.n	1cfac <gpio_disable_int+0xe0>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:455
        case 2://PT3
        	NVIC_DisableIRQ((IRQn_Type)37);   //开中断控制器IRQ中断
   1cf8c:	2025      	movs	r0, #37	; 0x25
   1cf8e:	f7ff fad3 	bl	1c538 <NVIC_DisableIRQ>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:456
            break;
   1cf92:	e00b      	b.n	1cfac <gpio_disable_int+0xe0>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:458
        case 3://PT4
        	NVIC_DisableIRQ((IRQn_Type)38);   //开中断控制器IRQ中断
   1cf94:	2026      	movs	r0, #38	; 0x26
   1cf96:	f7ff facf 	bl	1c538 <NVIC_DisableIRQ>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:459
            break;
   1cf9a:	e007      	b.n	1cfac <gpio_disable_int+0xe0>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:461
        case 4://PT5
        	NVIC_DisableIRQ((IRQn_Type)39);   //开中断控制器IRQ中断
   1cf9c:	2027      	movs	r0, #39	; 0x27
   1cf9e:	f7ff facb 	bl	1c538 <NVIC_DisableIRQ>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:462
            break;
   1cfa2:	e003      	b.n	1cfac <gpio_disable_int+0xe0>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:464
        case 5://PT6
        	NVIC_DisableIRQ((IRQn_Type)40);   //开中断控制器IRQ中断
   1cfa4:	2028      	movs	r0, #40	; 0x28
   1cfa6:	f7ff fac7 	bl	1c538 <NVIC_DisableIRQ>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:465
            break;
   1cfaa:	bf00      	nop
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:468
        default:;
     }
}
   1cfac:	bf00      	nop
   1cfae:	3718      	adds	r7, #24
   1cfb0:	46bd      	mov	sp, r7
   1cfb2:	bd80      	pop	{r7, pc}
   1cfb4:	2000202c 	.word	0x2000202c
   1cfb8:	20002040 	.word	0x20002040

0001cfbc <gpio_drive_strength>:
gpio_drive_strength():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:482
//        力18mA。）        当引脚被配置为数字输出时,对引脚的驱动能力进行设置，只有PTB0,PTB1,PTD6,
//        PTD7同时具有高驱动能力和正常驱动能力,这些引脚可用于直接驱动LED或给MOSFET（金氧半场效
//        晶体管）供电，该函数只适用于上述4个引脚。
//===========================================================================
void gpio_drive_strength(uint16_t port_pin, uint8_t control)
{
   1cfbc:	b580      	push	{r7, lr}
   1cfbe:	b086      	sub	sp, #24
   1cfc0:	af00      	add	r7, sp, #0
   1cfc2:	4603      	mov	r3, r0
   1cfc4:	460a      	mov	r2, r1
   1cfc6:	80fb      	strh	r3, [r7, #6]
   1cfc8:	4613      	mov	r3, r2
   1cfca:	717b      	strb	r3, [r7, #5]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:489
	DIO_PORT_Odd_Interruptable_Type* gpio_odd_ptr;
	DIO_PORT_Even_Interruptable_Type* gpio_even_ptr;
	DIO_PORT_Not_Interruptable_Type* gpio_not_ptr;
	uint8_t port;
	uint8_t pin;
	gpio_port_pin_resolution(port_pin , &port , &pin);
   1cfcc:	f107 020a 	add.w	r2, r7, #10
   1cfd0:	f107 010b 	add.w	r1, r7, #11
   1cfd4:	88fb      	ldrh	r3, [r7, #6]
   1cfd6:	4618      	mov	r0, r3
   1cfd8:	f7ff fac8 	bl	1c56c <gpio_port_pin_resolution>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:492

	//根据带入参数port，给局部变量port_ptr赋值
	if(port >= 10)
   1cfdc:	7afb      	ldrb	r3, [r7, #11]
   1cfde:	2b09      	cmp	r3, #9
   1cfe0:	d934      	bls.n	1d04c <gpio_drive_strength+0x90>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:494
	{
		gpio_not_ptr = (DIO_PORT_Not_Interruptable_Type*)PJ;
   1cfe2:	4b5b      	ldr	r3, [pc, #364]	; (1d150 <gpio_drive_strength+0x194>)
   1cfe4:	60fb      	str	r3, [r7, #12]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:496
	    //根据带入参数control，决定引脚为输出高电流还是正常电流
		BCLR(pin,gpio_not_ptr->DS);
   1cfe6:	68fb      	ldr	r3, [r7, #12]
   1cfe8:	891b      	ldrh	r3, [r3, #8]
   1cfea:	b29b      	uxth	r3, r3
   1cfec:	b21a      	sxth	r2, r3
   1cfee:	7abb      	ldrb	r3, [r7, #10]
   1cff0:	4619      	mov	r1, r3
   1cff2:	2301      	movs	r3, #1
   1cff4:	408b      	lsls	r3, r1
   1cff6:	b21b      	sxth	r3, r3
   1cff8:	43db      	mvns	r3, r3
   1cffa:	b21b      	sxth	r3, r3
   1cffc:	4013      	ands	r3, r2
   1cffe:	b21b      	sxth	r3, r3
   1d000:	b29a      	uxth	r2, r3
   1d002:	68fb      	ldr	r3, [r7, #12]
   1d004:	811a      	strh	r2, [r3, #8]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:497
		if (1 == control)
   1d006:	797b      	ldrb	r3, [r7, #5]
   1d008:	2b01      	cmp	r3, #1
   1d00a:	d10e      	bne.n	1d02a <gpio_drive_strength+0x6e>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:498
		    BSET(pin,gpio_not_ptr->DS);
   1d00c:	68fb      	ldr	r3, [r7, #12]
   1d00e:	891b      	ldrh	r3, [r3, #8]
   1d010:	b29b      	uxth	r3, r3
   1d012:	b21a      	sxth	r2, r3
   1d014:	7abb      	ldrb	r3, [r7, #10]
   1d016:	4619      	mov	r1, r3
   1d018:	2301      	movs	r3, #1
   1d01a:	408b      	lsls	r3, r1
   1d01c:	b21b      	sxth	r3, r3
   1d01e:	4313      	orrs	r3, r2
   1d020:	b21b      	sxth	r3, r3
   1d022:	b29a      	uxth	r2, r3
   1d024:	68fb      	ldr	r3, [r7, #12]
   1d026:	811a      	strh	r2, [r3, #8]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:522
		if (1 == control)
		    BSET(pin,gpio_even_ptr->DS);
		else
			BCLR(pin,gpio_even_ptr->DS);
	}
}
   1d028:	e08d      	b.n	1d146 <gpio_drive_strength+0x18a>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:500
			BCLR(pin,gpio_not_ptr->DS);
   1d02a:	68fb      	ldr	r3, [r7, #12]
   1d02c:	891b      	ldrh	r3, [r3, #8]
   1d02e:	b29b      	uxth	r3, r3
   1d030:	b21a      	sxth	r2, r3
   1d032:	7abb      	ldrb	r3, [r7, #10]
   1d034:	4619      	mov	r1, r3
   1d036:	2301      	movs	r3, #1
   1d038:	408b      	lsls	r3, r1
   1d03a:	b21b      	sxth	r3, r3
   1d03c:	43db      	mvns	r3, r3
   1d03e:	b21b      	sxth	r3, r3
   1d040:	4013      	ands	r3, r2
   1d042:	b21b      	sxth	r3, r3
   1d044:	b29a      	uxth	r2, r3
   1d046:	68fb      	ldr	r3, [r7, #12]
   1d048:	811a      	strh	r2, [r3, #8]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:522
}
   1d04a:	e07c      	b.n	1d146 <gpio_drive_strength+0x18a>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:502
	else if(port%2 == 0)
   1d04c:	7afb      	ldrb	r3, [r7, #11]
   1d04e:	f003 0301 	and.w	r3, r3, #1
   1d052:	b2db      	uxtb	r3, r3
   1d054:	2b00      	cmp	r3, #0
   1d056:	d13a      	bne.n	1d0ce <gpio_drive_strength+0x112>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:504
		gpio_odd_ptr = (DIO_PORT_Odd_Interruptable_Type*) (GPIO_ODD_ARR[port/2]);
   1d058:	7afb      	ldrb	r3, [r7, #11]
   1d05a:	085b      	lsrs	r3, r3, #1
   1d05c:	b2db      	uxtb	r3, r3
   1d05e:	461a      	mov	r2, r3
   1d060:	4b3c      	ldr	r3, [pc, #240]	; (1d154 <gpio_drive_strength+0x198>)
   1d062:	f853 3022 	ldr.w	r3, [r3, r2, lsl #2]
   1d066:	613b      	str	r3, [r7, #16]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:506
		BCLR(pin,gpio_odd_ptr->DS);
   1d068:	693b      	ldr	r3, [r7, #16]
   1d06a:	7a1b      	ldrb	r3, [r3, #8]
   1d06c:	b2db      	uxtb	r3, r3
   1d06e:	b25a      	sxtb	r2, r3
   1d070:	7abb      	ldrb	r3, [r7, #10]
   1d072:	4619      	mov	r1, r3
   1d074:	2301      	movs	r3, #1
   1d076:	408b      	lsls	r3, r1
   1d078:	b25b      	sxtb	r3, r3
   1d07a:	43db      	mvns	r3, r3
   1d07c:	b25b      	sxtb	r3, r3
   1d07e:	4013      	ands	r3, r2
   1d080:	b25b      	sxtb	r3, r3
   1d082:	b2da      	uxtb	r2, r3
   1d084:	693b      	ldr	r3, [r7, #16]
   1d086:	721a      	strb	r2, [r3, #8]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:507
		if (1 == control)
   1d088:	797b      	ldrb	r3, [r7, #5]
   1d08a:	2b01      	cmp	r3, #1
   1d08c:	d10e      	bne.n	1d0ac <gpio_drive_strength+0xf0>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:508
		    BSET(pin,gpio_odd_ptr->DS);
   1d08e:	693b      	ldr	r3, [r7, #16]
   1d090:	7a1b      	ldrb	r3, [r3, #8]
   1d092:	b2db      	uxtb	r3, r3
   1d094:	b25a      	sxtb	r2, r3
   1d096:	7abb      	ldrb	r3, [r7, #10]
   1d098:	4619      	mov	r1, r3
   1d09a:	2301      	movs	r3, #1
   1d09c:	408b      	lsls	r3, r1
   1d09e:	b25b      	sxtb	r3, r3
   1d0a0:	4313      	orrs	r3, r2
   1d0a2:	b25b      	sxtb	r3, r3
   1d0a4:	b2da      	uxtb	r2, r3
   1d0a6:	693b      	ldr	r3, [r7, #16]
   1d0a8:	721a      	strb	r2, [r3, #8]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:522
}
   1d0aa:	e04c      	b.n	1d146 <gpio_drive_strength+0x18a>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:510
			BCLR(pin,gpio_odd_ptr->DS);
   1d0ac:	693b      	ldr	r3, [r7, #16]
   1d0ae:	7a1b      	ldrb	r3, [r3, #8]
   1d0b0:	b2db      	uxtb	r3, r3
   1d0b2:	b25a      	sxtb	r2, r3
   1d0b4:	7abb      	ldrb	r3, [r7, #10]
   1d0b6:	4619      	mov	r1, r3
   1d0b8:	2301      	movs	r3, #1
   1d0ba:	408b      	lsls	r3, r1
   1d0bc:	b25b      	sxtb	r3, r3
   1d0be:	43db      	mvns	r3, r3
   1d0c0:	b25b      	sxtb	r3, r3
   1d0c2:	4013      	ands	r3, r2
   1d0c4:	b25b      	sxtb	r3, r3
   1d0c6:	b2da      	uxtb	r2, r3
   1d0c8:	693b      	ldr	r3, [r7, #16]
   1d0ca:	721a      	strb	r2, [r3, #8]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:522
}
   1d0cc:	e03b      	b.n	1d146 <gpio_drive_strength+0x18a>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:514
		gpio_even_ptr = (DIO_PORT_Even_Interruptable_Type*) (GPIO_EVEN_ARR[(port-1)/2]);
   1d0ce:	7afb      	ldrb	r3, [r7, #11]
   1d0d0:	3b01      	subs	r3, #1
   1d0d2:	0fda      	lsrs	r2, r3, #31
   1d0d4:	4413      	add	r3, r2
   1d0d6:	105b      	asrs	r3, r3, #1
   1d0d8:	461a      	mov	r2, r3
   1d0da:	4b1f      	ldr	r3, [pc, #124]	; (1d158 <gpio_drive_strength+0x19c>)
   1d0dc:	f853 3022 	ldr.w	r3, [r3, r2, lsl #2]
   1d0e0:	617b      	str	r3, [r7, #20]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:516
		BCLR(pin,gpio_even_ptr->DS);
   1d0e2:	697b      	ldr	r3, [r7, #20]
   1d0e4:	7a5b      	ldrb	r3, [r3, #9]
   1d0e6:	b2db      	uxtb	r3, r3
   1d0e8:	b25a      	sxtb	r2, r3
   1d0ea:	7abb      	ldrb	r3, [r7, #10]
   1d0ec:	4619      	mov	r1, r3
   1d0ee:	2301      	movs	r3, #1
   1d0f0:	408b      	lsls	r3, r1
   1d0f2:	b25b      	sxtb	r3, r3
   1d0f4:	43db      	mvns	r3, r3
   1d0f6:	b25b      	sxtb	r3, r3
   1d0f8:	4013      	ands	r3, r2
   1d0fa:	b25b      	sxtb	r3, r3
   1d0fc:	b2da      	uxtb	r2, r3
   1d0fe:	697b      	ldr	r3, [r7, #20]
   1d100:	725a      	strb	r2, [r3, #9]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:517
		if (1 == control)
   1d102:	797b      	ldrb	r3, [r7, #5]
   1d104:	2b01      	cmp	r3, #1
   1d106:	d10e      	bne.n	1d126 <gpio_drive_strength+0x16a>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:518
		    BSET(pin,gpio_even_ptr->DS);
   1d108:	697b      	ldr	r3, [r7, #20]
   1d10a:	7a5b      	ldrb	r3, [r3, #9]
   1d10c:	b2db      	uxtb	r3, r3
   1d10e:	b25a      	sxtb	r2, r3
   1d110:	7abb      	ldrb	r3, [r7, #10]
   1d112:	4619      	mov	r1, r3
   1d114:	2301      	movs	r3, #1
   1d116:	408b      	lsls	r3, r1
   1d118:	b25b      	sxtb	r3, r3
   1d11a:	4313      	orrs	r3, r2
   1d11c:	b25b      	sxtb	r3, r3
   1d11e:	b2da      	uxtb	r2, r3
   1d120:	697b      	ldr	r3, [r7, #20]
   1d122:	725a      	strb	r2, [r3, #9]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:522
}
   1d124:	e00f      	b.n	1d146 <gpio_drive_strength+0x18a>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:520
			BCLR(pin,gpio_even_ptr->DS);
   1d126:	697b      	ldr	r3, [r7, #20]
   1d128:	7a5b      	ldrb	r3, [r3, #9]
   1d12a:	b2db      	uxtb	r3, r3
   1d12c:	b25a      	sxtb	r2, r3
   1d12e:	7abb      	ldrb	r3, [r7, #10]
   1d130:	4619      	mov	r1, r3
   1d132:	2301      	movs	r3, #1
   1d134:	408b      	lsls	r3, r1
   1d136:	b25b      	sxtb	r3, r3
   1d138:	43db      	mvns	r3, r3
   1d13a:	b25b      	sxtb	r3, r3
   1d13c:	4013      	ands	r3, r2
   1d13e:	b25b      	sxtb	r3, r3
   1d140:	b2da      	uxtb	r2, r3
   1d142:	697b      	ldr	r3, [r7, #20]
   1d144:	725a      	strb	r2, [r3, #9]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gpio.c:522
}
   1d146:	bf00      	nop
   1d148:	3718      	adds	r7, #24
   1d14a:	46bd      	mov	sp, r7
   1d14c:	bd80      	pop	{r7, pc}
   1d14e:	bf00      	nop
   1d150:	40004d20 	.word	0x40004d20
   1d154:	2000202c 	.word	0x2000202c
   1d158:	20002040 	.word	0x20002040

0001d15c <NVIC_SystemReset>:
NVIC_SystemReset():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\02_CPU/core_cm4.h:1791
/**
  \brief   System Reset
  \details Initiates a system reset request to reset the MCU.
 */
__STATIC_INLINE void NVIC_SystemReset(void)
{
   1d15c:	b480      	push	{r7}
   1d15e:	af00      	add	r7, sp, #0
__DSB():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\02_CPU/cmsis_gcc.h:429
  \details Acts as a special kind of Data Memory Barrier.
           It completes when all explicit memory accesses before this instruction complete.
 */
__attribute__((always_inline)) __STATIC_INLINE void __DSB(void)
{
  __ASM volatile ("dsb 0xF":::"memory");
   1d160:	f3bf 8f4f 	dsb	sy
NVIC_SystemReset():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\02_CPU/core_cm4.h:1795
  __DSB();                                                          /* Ensure all outstanding memory accesses included
                                                                       buffered write are completed before reset */
  SCB->AIRCR  = (uint32_t)((0x5FAUL << SCB_AIRCR_VECTKEY_Pos)    |
                           (SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) |
   1d164:	4b05      	ldr	r3, [pc, #20]	; (1d17c <NVIC_SystemReset+0x20>)
   1d166:	68db      	ldr	r3, [r3, #12]
   1d168:	f403 62e0 	and.w	r2, r3, #1792	; 0x700
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\02_CPU/core_cm4.h:1794
  SCB->AIRCR  = (uint32_t)((0x5FAUL << SCB_AIRCR_VECTKEY_Pos)    |
   1d16c:	4903      	ldr	r1, [pc, #12]	; (1d17c <NVIC_SystemReset+0x20>)
   1d16e:	4b04      	ldr	r3, [pc, #16]	; (1d180 <NVIC_SystemReset+0x24>)
   1d170:	4313      	orrs	r3, r2
   1d172:	60cb      	str	r3, [r1, #12]
__DSB():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\02_CPU/cmsis_gcc.h:429
   1d174:	f3bf 8f4f 	dsb	sy
__NOP():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\02_CPU/cmsis_gcc.h:375
  __ASM volatile ("nop");
   1d178:	bf00      	nop
NVIC_SystemReset():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\02_CPU/core_cm4.h:1801
                            SCB_AIRCR_SYSRESETREQ_Msk    );         /* Keep priority group unchanged */
  __DSB();                                                          /* Ensure completion of memory access */

  for(;;)                                                           /* wait until reset */
  {
    __NOP();
   1d17a:	e7fd      	b.n	1d178 <NVIC_SystemReset+0x1c>
   1d17c:	e000ed00 	.word	0xe000ed00
   1d180:	05fa0004 	.word	0x05fa0004

0001d184 <Vectors_Init>:
Vectors_Init():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gec.c:16
//参数说明：无
//功能概要：User对BIOS中断向量表的部分继承,构件库函数指针初始化
//修改信息：WYH，20200805，规范
//======================================================================
void  Vectors_Init()
{
   1d184:	b580      	push	{r7, lr}
   1d186:	f5ad 5d80 	sub.w	sp, sp, #4096	; 0x1000
   1d18a:	b082      	sub	sp, #8
   1d18c:	af00      	add	r7, sp, #0
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gec.c:20
    //有用户程序，编译本段代码
    #if (GEC_USER_SECTOR_START!=0)   
    //（1）若Flash倒数1扇区的前24字节为空，则写入设备序列号及软件版本号初值
    if(flash_isempty(MCU_SECTOR_NUM-1,0,24))
   1d18e:	2218      	movs	r2, #24
   1d190:	2100      	movs	r1, #0
   1d192:	203f      	movs	r0, #63	; 0x3f
   1d194:	f7ff f95a 	bl	1c44c <flash_isempty>
   1d198:	4603      	mov	r3, r0
   1d19a:	2b00      	cmp	r3, #0
   1d19c:	d005      	beq.n	1d1aa <Vectors_Init+0x26>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gec.c:22
    {
        flash_write_physical((MCU_SECTOR_NUM-1)*MCU_SECTORSIZE+
   1d19e:	4a2a      	ldr	r2, [pc, #168]	; (1d248 <Vectors_Init+0xc4>)
   1d1a0:	2118      	movs	r1, #24
   1d1a2:	f44f 307c 	mov.w	r0, #258048	; 0x3f000
   1d1a6:	f7fe ff2b 	bl	1c000 <flash_write_physical>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gec.c:26
        MCU_FLASH_ADDR_START,24,(uint8_t *)"0123456789ABCDEF20200716");
    }
    //（2）继承BIOS的串口中断
    void ** bios=(void *)MCU_FLASH_ADDR_START;   //向量表起始地址
   1d1aa:	2300      	movs	r3, #0
   1d1ac:	f507 5280 	add.w	r2, r7, #4096	; 0x1000
   1d1b0:	f102 0204 	add.w	r2, r2, #4
   1d1b4:	6013      	str	r3, [r2, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gec.c:29
    uint32_t user[MCU_SECTORSIZE/4];     //向量表变量数组
    //读取USER中断向量表各中断处理程序地址赋给user数组
    flash_read_physical((uint8_t *)user,GEC_USER_SECTOR_START*
   1d1b6:	f107 0308 	add.w	r3, r7, #8
   1d1ba:	3b04      	subs	r3, #4
   1d1bc:	f44f 5280 	mov.w	r2, #4096	; 0x1000
   1d1c0:	f44f 31d0 	mov.w	r1, #106496	; 0x1a000
   1d1c4:	4618      	mov	r0, r3
   1d1c6:	f7fe ffdd 	bl	1c184 <flash_read_physical>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gec.c:33
    MCU_SECTORSIZE+MCU_FLASH_ADDR_START,MCU_SECTORSIZE);
    //判断USER中串口更新中断是否为BIOS对应中断地址。若是，则不作操作；否则修改
    //为BIOS对应中断地址
    if(user[BIOS_UART_UPDATE_IRQn] != (uint32_t)bios[BIOS_UART_UPDATE_IRQn])
   1d1ca:	f107 0308 	add.w	r3, r7, #8
   1d1ce:	3b04      	subs	r3, #4
   1d1d0:	f8d3 3080 	ldr.w	r3, [r3, #128]	; 0x80
   1d1d4:	f507 5280 	add.w	r2, r7, #4096	; 0x1000
   1d1d8:	f102 0204 	add.w	r2, r2, #4
   1d1dc:	6812      	ldr	r2, [r2, #0]
   1d1de:	3280      	adds	r2, #128	; 0x80
   1d1e0:	6812      	ldr	r2, [r2, #0]
   1d1e2:	4293      	cmp	r3, r2
   1d1e4:	d01f      	beq.n	1d226 <Vectors_Init+0xa2>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gec.c:36
    {
        //改变User中断向量表中BIOS_UART中断向量
        flash_unprotect(GEC_USER_SECTOR_START);
   1d1e6:	201a      	movs	r0, #26
   1d1e8:	f7ff f890 	bl	1c30c <flash_unprotect>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gec.c:37
        flash_erase(GEC_USER_SECTOR_START);
   1d1ec:	201a      	movs	r0, #26
   1d1ee:	f7fe fd87 	bl	1bd00 <flash_erase>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gec.c:39
        //改USER中断向量表的BIOS程序写入串口的中断处理程序地址
        user[BIOS_UART_UPDATE_IRQn]=(uint32_t)bios[BIOS_UART_UPDATE_IRQn];
   1d1f2:	f507 5380 	add.w	r3, r7, #4096	; 0x1000
   1d1f6:	f103 0304 	add.w	r3, r3, #4
   1d1fa:	681b      	ldr	r3, [r3, #0]
   1d1fc:	3380      	adds	r3, #128	; 0x80
   1d1fe:	681b      	ldr	r3, [r3, #0]
   1d200:	461a      	mov	r2, r3
   1d202:	f107 0308 	add.w	r3, r7, #8
   1d206:	3b04      	subs	r3, #4
   1d208:	f8c3 2080 	str.w	r2, [r3, #128]	; 0x80
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gec.c:40
        flash_write_physical(GEC_USER_SECTOR_START*MCU_SECTORSIZE+MCU_FLASH_ADDR_START,MCU_SECTORSIZE,(uint8_t *)user);
   1d20c:	f107 0308 	add.w	r3, r7, #8
   1d210:	3b04      	subs	r3, #4
   1d212:	461a      	mov	r2, r3
   1d214:	f44f 5180 	mov.w	r1, #4096	; 0x1000
   1d218:	f44f 30d0 	mov.w	r0, #106496	; 0x1a000
   1d21c:	f7fe fef0 	bl	1c000 <flash_write_physical>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gec.c:41
        flash_protect(GEC_USER_SECTOR_START);
   1d220:	201a      	movs	r0, #26
   1d222:	f7ff f816 	bl	1c252 <flash_protect>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gec.c:44
    }
    //（3）中断向量表指针重定向到USER程序的中断向量表
    SCB->VTOR = (uint32_t)(GEC_USER_SECTOR_START*MCU_SECTORSIZE+
   1d226:	4b09      	ldr	r3, [pc, #36]	; (1d24c <Vectors_Init+0xc8>)
   1d228:	f44f 32d0 	mov.w	r2, #106496	; 0x1a000
   1d22c:	609a      	str	r2, [r3, #8]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gec.c:47
    MCU_FLASH_ADDR_START);  
    //（4）给component_fun赋值，SYSTEM_FUNCTION函数用
    component_fun=(void **)(MCU_FLASH_ADDR_START+
   1d22e:	4b08      	ldr	r3, [pc, #32]	; (1d250 <Vectors_Init+0xcc>)
   1d230:	f44f 3298 	mov.w	r2, #77824	; 0x13000
   1d234:	601a      	str	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gec.c:50
    GEC_COMPONENT_LST_START*MCU_SECTORSIZE); 
    //（5）printf提示
    printf("  【User提示】：将进入User的main()执行...\r\n");
   1d236:	4807      	ldr	r0, [pc, #28]	; (1d254 <Vectors_Init+0xd0>)
   1d238:	f001 fc26 	bl	1ea88 <myprintf>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gec.c:53
    
    #endif
}
   1d23c:	bf00      	nop
   1d23e:	f507 5780 	add.w	r7, r7, #4096	; 0x1000
   1d242:	3708      	adds	r7, #8
   1d244:	46bd      	mov	sp, r7
   1d246:	bd80      	pop	{r7, pc}
   1d248:	0001f85c 	.word	0x0001f85c
   1d24c:	e000ed00 	.word	0xe000ed00
   1d250:	20002154 	.word	0x20002154
   1d254:	0001f878 	.word	0x0001f878

0001d258 <SYSTEM_FUNCTION>:
SYSTEM_FUNCTION():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gec.c:58


//
void SYSTEM_FUNCTION(uint8_t * data)
{
   1d258:	b580      	push	{r7, lr}
   1d25a:	f5ad 5d80 	sub.w	sp, sp, #4096	; 0x1000
   1d25e:	b084      	sub	sp, #16
   1d260:	af00      	add	r7, sp, #0
   1d262:	f107 0310 	add.w	r3, r7, #16
   1d266:	3b0c      	subs	r3, #12
   1d268:	6018      	str	r0, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gec.c:61
    uint8_t info[MCU_SECTORSIZE];
    uint8_t i;
    switch(data[0])
   1d26a:	f107 0310 	add.w	r3, r7, #16
   1d26e:	3b0c      	subs	r3, #12
   1d270:	681b      	ldr	r3, [r3, #0]
   1d272:	781b      	ldrb	r3, [r3, #0]
   1d274:	2b14      	cmp	r3, #20
   1d276:	f200 811b 	bhi.w	1d4b0 <SYSTEM_FUNCTION+0x258>
   1d27a:	a201      	add	r2, pc, #4	; (adr r2, 1d280 <SYSTEM_FUNCTION+0x28>)
   1d27c:	f852 f023 	ldr.w	pc, [r2, r3, lsl #2]
   1d280:	0001d2d5 	.word	0x0001d2d5
   1d284:	0001d311 	.word	0x0001d311
   1d288:	0001d4b1 	.word	0x0001d4b1
   1d28c:	0001d4b1 	.word	0x0001d4b1
   1d290:	0001d4b1 	.word	0x0001d4b1
   1d294:	0001d4b1 	.word	0x0001d4b1
   1d298:	0001d4b1 	.word	0x0001d4b1
   1d29c:	0001d4b1 	.word	0x0001d4b1
   1d2a0:	0001d4b1 	.word	0x0001d4b1
   1d2a4:	0001d377 	.word	0x0001d377
   1d2a8:	0001d4b1 	.word	0x0001d4b1
   1d2ac:	0001d4b1 	.word	0x0001d4b1
   1d2b0:	0001d4b1 	.word	0x0001d4b1
   1d2b4:	0001d4b1 	.word	0x0001d4b1
   1d2b8:	0001d4b1 	.word	0x0001d4b1
   1d2bc:	0001d4b1 	.word	0x0001d4b1
   1d2c0:	0001d4b1 	.word	0x0001d4b1
   1d2c4:	0001d4b1 	.word	0x0001d4b1
   1d2c8:	0001d4b1 	.word	0x0001d4b1
   1d2cc:	0001d4b1 	.word	0x0001d4b1
   1d2d0:	0001d381 	.word	0x0001d381
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gec.c:65
    {
        //用户程序更新，复位停留至BIOS，由bios接管中断向量表、接管用户串口中断
        case 0:
        if(strncmp((char *)(data+1),(char *)((MCU_SECTOR_NUM-1)*
   1d2d4:	f107 0310 	add.w	r3, r7, #16
   1d2d8:	3b0c      	subs	r3, #12
   1d2da:	681b      	ldr	r3, [r3, #0]
   1d2dc:	3301      	adds	r3, #1
   1d2de:	2208      	movs	r2, #8
   1d2e0:	4976      	ldr	r1, [pc, #472]	; (1d4bc <SYSTEM_FUNCTION+0x264>)
   1d2e2:	4618      	mov	r0, r3
   1d2e4:	f002 fa63 	bl	1f7ae <strncmp>
   1d2e8:	4603      	mov	r3, r0
   1d2ea:	2b00      	cmp	r3, #0
   1d2ec:	d104      	bne.n	1d2f8 <SYSTEM_FUNCTION+0xa0>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gec.c:68
           MCU_SECTORSIZE+MCU_FLASH_ADDR_START+16),8) == 0)
        {
            emuart_sendN(4,(uint8_t *)"same");
   1d2ee:	4974      	ldr	r1, [pc, #464]	; (1d4c0 <SYSTEM_FUNCTION+0x268>)
   1d2f0:	2004      	movs	r0, #4
   1d2f2:	f7fd ff05 	bl	1b100 <emuart_sendN>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gec.c:69
            break;
   1d2f6:	e0da      	b.n	1d4ae <SYSTEM_FUNCTION+0x256>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gec.c:71
        }
        memcpy(component_fun[25],"user\0",5);   
   1d2f8:	4b72      	ldr	r3, [pc, #456]	; (1d4c4 <SYSTEM_FUNCTION+0x26c>)
   1d2fa:	681b      	ldr	r3, [r3, #0]
   1d2fc:	3364      	adds	r3, #100	; 0x64
   1d2fe:	681b      	ldr	r3, [r3, #0]
   1d300:	2205      	movs	r2, #5
   1d302:	4971      	ldr	r1, [pc, #452]	; (1d4c8 <SYSTEM_FUNCTION+0x270>)
   1d304:	4618      	mov	r0, r3
   1d306:	f002 fa3f 	bl	1f788 <memcpy>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gec.c:72
        NVIC_SystemReset();
   1d30a:	f7ff ff27 	bl	1d15c <NVIC_SystemReset>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gec.c:73
        break;
   1d30e:	e0ce      	b.n	1d4ae <SYSTEM_FUNCTION+0x256>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gec.c:77
        
        //信息更新
        case 1:  
        switch(data[1])
   1d310:	f107 0310 	add.w	r3, r7, #16
   1d314:	3b0c      	subs	r3, #12
   1d316:	681b      	ldr	r3, [r3, #0]
   1d318:	3301      	adds	r3, #1
   1d31a:	781b      	ldrb	r3, [r3, #0]
   1d31c:	2b72      	cmp	r3, #114	; 0x72
   1d31e:	d002      	beq.n	1d326 <SYSTEM_FUNCTION+0xce>
   1d320:	2b77      	cmp	r3, #119	; 0x77
   1d322:	d013      	beq.n	1d34c <SYSTEM_FUNCTION+0xf4>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gec.c:91
            flash_write_physical((MCU_SECTOR_NUM-1)*MCU_SECTORSIZE+
                      MCU_FLASH_ADDR_START,MCU_SECTORSIZE,(uint8_t *)(data+2));
            emuart_sendN(3,(uint8_t *)"get");
            break;
            default:
            break;
   1d324:	e026      	b.n	1d374 <SYSTEM_FUNCTION+0x11c>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gec.c:80
            flash_read_physical((uint8_t *)info,(MCU_SECTOR_NUM-1)*
   1d326:	f107 0310 	add.w	r3, r7, #16
   1d32a:	3b04      	subs	r3, #4
   1d32c:	f44f 5280 	mov.w	r2, #4096	; 0x1000
   1d330:	f44f 317c 	mov.w	r1, #258048	; 0x3f000
   1d334:	4618      	mov	r0, r3
   1d336:	f7fe ff25 	bl	1c184 <flash_read_physical>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gec.c:82
            emuart_sendN(MCU_SECTORSIZE,(uint8_t *)(info));
   1d33a:	f107 0310 	add.w	r3, r7, #16
   1d33e:	3b04      	subs	r3, #4
   1d340:	4619      	mov	r1, r3
   1d342:	f44f 5080 	mov.w	r0, #4096	; 0x1000
   1d346:	f7fd fedb 	bl	1b100 <emuart_sendN>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gec.c:83
            break;
   1d34a:	e013      	b.n	1d374 <SYSTEM_FUNCTION+0x11c>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gec.c:85
            flash_erase(MCU_SECTOR_NUM-1);
   1d34c:	203f      	movs	r0, #63	; 0x3f
   1d34e:	f7fe fcd7 	bl	1bd00 <flash_erase>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gec.c:86
            flash_write_physical((MCU_SECTOR_NUM-1)*MCU_SECTORSIZE+
   1d352:	f107 0310 	add.w	r3, r7, #16
   1d356:	3b0c      	subs	r3, #12
   1d358:	681b      	ldr	r3, [r3, #0]
   1d35a:	3302      	adds	r3, #2
   1d35c:	461a      	mov	r2, r3
   1d35e:	f44f 5180 	mov.w	r1, #4096	; 0x1000
   1d362:	f44f 307c 	mov.w	r0, #258048	; 0x3f000
   1d366:	f7fe fe4b 	bl	1c000 <flash_write_physical>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gec.c:88
            emuart_sendN(3,(uint8_t *)"get");
   1d36a:	4958      	ldr	r1, [pc, #352]	; (1d4cc <SYSTEM_FUNCTION+0x274>)
   1d36c:	2003      	movs	r0, #3
   1d36e:	f7fd fec7 	bl	1b100 <emuart_sendN>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gec.c:89
            break;
   1d372:	bf00      	nop
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gec.c:93
        }
        break;
   1d374:	e09b      	b.n	1d4ae <SYSTEM_FUNCTION+0x256>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gec.c:95
        case 9:
        emuart_sendN(19,(uint8_t *)MCU_TYPE);
   1d376:	4956      	ldr	r1, [pc, #344]	; (1d4d0 <SYSTEM_FUNCTION+0x278>)
   1d378:	2013      	movs	r0, #19
   1d37a:	f7fd fec1 	bl	1b100 <emuart_sendN>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gec.c:96
        break;
   1d37e:	e096      	b.n	1d4ae <SYSTEM_FUNCTION+0x256>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gec.c:98
        case 20:             //动态命令写入
        i=0;
   1d380:	2300      	movs	r3, #0
   1d382:	f507 5280 	add.w	r2, r7, #4096	; 0x1000
   1d386:	f102 020f 	add.w	r2, r2, #15
   1d38a:	7013      	strb	r3, [r2, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gec.c:99
        if(gcRecvLen==24)    //1帧头+4字节CRC32校验+2长度
   1d38c:	4b51      	ldr	r3, [pc, #324]	; (1d4d4 <SYSTEM_FUNCTION+0x27c>)
   1d38e:	881b      	ldrh	r3, [r3, #0]
   1d390:	b29b      	uxth	r3, r3
   1d392:	2b18      	cmp	r3, #24
   1d394:	d146      	bne.n	1d424 <SYSTEM_FUNCTION+0x1cc>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gec.c:101
        {
            gcRecvDCLen=gcRecvBuf[5+17]*256+gcRecvBuf[6+17];
   1d396:	4b50      	ldr	r3, [pc, #320]	; (1d4d8 <SYSTEM_FUNCTION+0x280>)
   1d398:	7d9b      	ldrb	r3, [r3, #22]
   1d39a:	b2db      	uxtb	r3, r3
   1d39c:	b29b      	uxth	r3, r3
   1d39e:	021b      	lsls	r3, r3, #8
   1d3a0:	b29a      	uxth	r2, r3
   1d3a2:	4b4d      	ldr	r3, [pc, #308]	; (1d4d8 <SYSTEM_FUNCTION+0x280>)
   1d3a4:	7ddb      	ldrb	r3, [r3, #23]
   1d3a6:	b2db      	uxtb	r3, r3
   1d3a8:	b29b      	uxth	r3, r3
   1d3aa:	4413      	add	r3, r2
   1d3ac:	b29a      	uxth	r2, r3
   1d3ae:	4b4b      	ldr	r3, [pc, #300]	; (1d4dc <SYSTEM_FUNCTION+0x284>)
   1d3b0:	801a      	strh	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gec.c:102
            if(gcRecvDCLen>((GEC_DYNAMIC_END-GEC_DYNAMIC_START+1)*
   1d3b2:	4b4a      	ldr	r3, [pc, #296]	; (1d4dc <SYSTEM_FUNCTION+0x284>)
   1d3b4:	881b      	ldrh	r3, [r3, #0]
   1d3b6:	b29b      	uxth	r3, r3
   1d3b8:	f5b3 4fa0 	cmp.w	r3, #20480	; 0x5000
   1d3bc:	d908      	bls.n	1d3d0 <SYSTEM_FUNCTION+0x178>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gec.c:105
            MCU_SECTORSIZE))    //超过长度限制
            {
                gcRecvDCLen=0xFFFF;
   1d3be:	4b47      	ldr	r3, [pc, #284]	; (1d4dc <SYSTEM_FUNCTION+0x284>)
   1d3c0:	f64f 72ff 	movw	r2, #65535	; 0xffff
   1d3c4:	801a      	strh	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gec.c:106
                emuart_sendN(2,(uint8_t *)"no");
   1d3c6:	4946      	ldr	r1, [pc, #280]	; (1d4e0 <SYSTEM_FUNCTION+0x288>)
   1d3c8:	2002      	movs	r0, #2
   1d3ca:	f7fd fe99 	bl	1b100 <emuart_sendN>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gec.c:107
                break;
   1d3ce:	e06e      	b.n	1d4ae <SYSTEM_FUNCTION+0x256>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gec.c:111
            }
            else
            {
                emuart_sendN(3,(uint8_t *)"new");
   1d3d0:	4944      	ldr	r1, [pc, #272]	; (1d4e4 <SYSTEM_FUNCTION+0x28c>)
   1d3d2:	2003      	movs	r0, #3
   1d3d4:	f7fd fe94 	bl	1b100 <emuart_sendN>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gec.c:112
                for(i=GEC_DYNAMIC_START;i<=GEC_DYNAMIC_END;i++)
   1d3d8:	230e      	movs	r3, #14
   1d3da:	f507 5280 	add.w	r2, r7, #4096	; 0x1000
   1d3de:	f102 020f 	add.w	r2, r2, #15
   1d3e2:	7013      	strb	r3, [r2, #0]
   1d3e4:	e013      	b.n	1d40e <SYSTEM_FUNCTION+0x1b6>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gec.c:114
                {
                    flash_erase(i);
   1d3e6:	f507 5380 	add.w	r3, r7, #4096	; 0x1000
   1d3ea:	f103 030f 	add.w	r3, r3, #15
   1d3ee:	781b      	ldrb	r3, [r3, #0]
   1d3f0:	b29b      	uxth	r3, r3
   1d3f2:	4618      	mov	r0, r3
   1d3f4:	f7fe fc84 	bl	1bd00 <flash_erase>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gec.c:112
                for(i=GEC_DYNAMIC_START;i<=GEC_DYNAMIC_END;i++)
   1d3f8:	f507 5380 	add.w	r3, r7, #4096	; 0x1000
   1d3fc:	f103 030f 	add.w	r3, r3, #15
   1d400:	781b      	ldrb	r3, [r3, #0]
   1d402:	3301      	adds	r3, #1
   1d404:	f507 5280 	add.w	r2, r7, #4096	; 0x1000
   1d408:	f102 020f 	add.w	r2, r2, #15
   1d40c:	7013      	strb	r3, [r2, #0]
   1d40e:	f507 5380 	add.w	r3, r7, #4096	; 0x1000
   1d412:	f103 030f 	add.w	r3, r3, #15
   1d416:	781b      	ldrb	r3, [r3, #0]
   1d418:	2b12      	cmp	r3, #18
   1d41a:	d9e4      	bls.n	1d3e6 <SYSTEM_FUNCTION+0x18e>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gec.c:116
                }
                gcRecvDCLen=0;
   1d41c:	4b2f      	ldr	r3, [pc, #188]	; (1d4dc <SYSTEM_FUNCTION+0x284>)
   1d41e:	2200      	movs	r2, #0
   1d420:	801a      	strh	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gec.c:117
                break;
   1d422:	e044      	b.n	1d4ae <SYSTEM_FUNCTION+0x256>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gec.c:123
            }
            break;
        }
        else
        {
            if(gcRecvDCLen==(gcRecvBuf[5+17]*256+gcRecvBuf[6+17]+24-gcRecvLen))
   1d424:	4b2d      	ldr	r3, [pc, #180]	; (1d4dc <SYSTEM_FUNCTION+0x284>)
   1d426:	881b      	ldrh	r3, [r3, #0]
   1d428:	b29b      	uxth	r3, r3
   1d42a:	4619      	mov	r1, r3
   1d42c:	4b2a      	ldr	r3, [pc, #168]	; (1d4d8 <SYSTEM_FUNCTION+0x280>)
   1d42e:	7d9b      	ldrb	r3, [r3, #22]
   1d430:	b2db      	uxtb	r3, r3
   1d432:	021b      	lsls	r3, r3, #8
   1d434:	4a28      	ldr	r2, [pc, #160]	; (1d4d8 <SYSTEM_FUNCTION+0x280>)
   1d436:	7dd2      	ldrb	r2, [r2, #23]
   1d438:	b2d2      	uxtb	r2, r2
   1d43a:	4413      	add	r3, r2
   1d43c:	3318      	adds	r3, #24
   1d43e:	4a25      	ldr	r2, [pc, #148]	; (1d4d4 <SYSTEM_FUNCTION+0x27c>)
   1d440:	8812      	ldrh	r2, [r2, #0]
   1d442:	b292      	uxth	r2, r2
   1d444:	1a9b      	subs	r3, r3, r2
   1d446:	4299      	cmp	r1, r3
   1d448:	d104      	bne.n	1d454 <SYSTEM_FUNCTION+0x1fc>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gec.c:125
            {
                emuart_sendN(2,(uint8_t *)"ok");
   1d44a:	4927      	ldr	r1, [pc, #156]	; (1d4e8 <SYSTEM_FUNCTION+0x290>)
   1d44c:	2002      	movs	r0, #2
   1d44e:	f7fd fe57 	bl	1b100 <emuart_sendN>
   1d452:	e003      	b.n	1d45c <SYSTEM_FUNCTION+0x204>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gec.c:129
            }
            else
            {
                emuart_sendN(3,(uint8_t *)"get");
   1d454:	491d      	ldr	r1, [pc, #116]	; (1d4cc <SYSTEM_FUNCTION+0x274>)
   1d456:	2003      	movs	r0, #3
   1d458:	f7fd fe52 	bl	1b100 <emuart_sendN>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gec.c:131
            }
            flash_write_physical((GEC_DYNAMIC_START+(gcRecvDCLen/MCU_SECTORSIZE))*
   1d45c:	4b1f      	ldr	r3, [pc, #124]	; (1d4dc <SYSTEM_FUNCTION+0x284>)
   1d45e:	881b      	ldrh	r3, [r3, #0]
   1d460:	b29b      	uxth	r3, r3
   1d462:	0b1b      	lsrs	r3, r3, #12
   1d464:	b29b      	uxth	r3, r3
   1d466:	330e      	adds	r3, #14
   1d468:	031b      	lsls	r3, r3, #12
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gec.c:132
                MCU_SECTORSIZE+gcRecvDCLen-(gcRecvDCLen/MCU_SECTORSIZE)*MCU_SECTORSIZE,
   1d46a:	4a1c      	ldr	r2, [pc, #112]	; (1d4dc <SYSTEM_FUNCTION+0x284>)
   1d46c:	8812      	ldrh	r2, [r2, #0]
   1d46e:	b292      	uxth	r2, r2
   1d470:	441a      	add	r2, r3
   1d472:	4b1a      	ldr	r3, [pc, #104]	; (1d4dc <SYSTEM_FUNCTION+0x284>)
   1d474:	881b      	ldrh	r3, [r3, #0]
   1d476:	b29b      	uxth	r3, r3
   1d478:	0b1b      	lsrs	r3, r3, #12
   1d47a:	b29b      	uxth	r3, r3
   1d47c:	031b      	lsls	r3, r3, #12
   1d47e:	1ad3      	subs	r3, r2, r3
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gec.c:131
            flash_write_physical((GEC_DYNAMIC_START+(gcRecvDCLen/MCU_SECTORSIZE))*
   1d480:	4618      	mov	r0, r3
   1d482:	4b14      	ldr	r3, [pc, #80]	; (1d4d4 <SYSTEM_FUNCTION+0x27c>)
   1d484:	881b      	ldrh	r3, [r3, #0]
   1d486:	b29b      	uxth	r3, r3
   1d488:	3b18      	subs	r3, #24
   1d48a:	b29b      	uxth	r3, r3
   1d48c:	4a17      	ldr	r2, [pc, #92]	; (1d4ec <SYSTEM_FUNCTION+0x294>)
   1d48e:	4619      	mov	r1, r3
   1d490:	f7fe fdb6 	bl	1c000 <flash_write_physical>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gec.c:134
                gcRecvLen-17-7,(uint8_t *)(gcRecvBuf+7+17));
            gcRecvDCLen+=(gcRecvLen-7-17);
   1d494:	4b0f      	ldr	r3, [pc, #60]	; (1d4d4 <SYSTEM_FUNCTION+0x27c>)
   1d496:	881b      	ldrh	r3, [r3, #0]
   1d498:	b29b      	uxth	r3, r3
   1d49a:	3b18      	subs	r3, #24
   1d49c:	b29a      	uxth	r2, r3
   1d49e:	4b0f      	ldr	r3, [pc, #60]	; (1d4dc <SYSTEM_FUNCTION+0x284>)
   1d4a0:	881b      	ldrh	r3, [r3, #0]
   1d4a2:	b29b      	uxth	r3, r3
   1d4a4:	4413      	add	r3, r2
   1d4a6:	b29a      	uxth	r2, r3
   1d4a8:	4b0c      	ldr	r3, [pc, #48]	; (1d4dc <SYSTEM_FUNCTION+0x284>)
   1d4aa:	801a      	strh	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gec.c:135
            break;
   1d4ac:	bf00      	nop
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gec.c:139
        }
        break;
    }
    return;
   1d4ae:	bf00      	nop
   1d4b0:	bf00      	nop
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/gec.c:140
}
   1d4b2:	f507 5780 	add.w	r7, r7, #4096	; 0x1000
   1d4b6:	3710      	adds	r7, #16
   1d4b8:	46bd      	mov	sp, r7
   1d4ba:	bd80      	pop	{r7, pc}
   1d4bc:	0003f010 	.word	0x0003f010
   1d4c0:	0001f8a4 	.word	0x0001f8a4
   1d4c4:	20002154 	.word	0x20002154
   1d4c8:	0001f8ac 	.word	0x0001f8ac
   1d4cc:	0001f8b4 	.word	0x0001f8b4
   1d4d0:	0001f8b8 	.word	0x0001f8b8
   1d4d4:	20002158 	.word	0x20002158
   1d4d8:	2000215c 	.word	0x2000215c
   1d4dc:	2000215a 	.word	0x2000215a
   1d4e0:	0001f8d0 	.word	0x0001f8d0
   1d4e4:	0001f8d4 	.word	0x0001f8d4
   1d4e8:	0001f8d8 	.word	0x0001f8d8
   1d4ec:	20002174 	.word	0x20002174

0001d4f0 <NVIC_EnableIRQ>:
NVIC_EnableIRQ():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\02_CPU/core_cm4.h:1627
{
   1d4f0:	b480      	push	{r7}
   1d4f2:	b083      	sub	sp, #12
   1d4f4:	af00      	add	r7, sp, #0
   1d4f6:	4603      	mov	r3, r0
   1d4f8:	71fb      	strb	r3, [r7, #7]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\02_CPU/core_cm4.h:1628
  NVIC->ISER[(((uint32_t)(int32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)(int32_t)IRQn) & 0x1FUL));
   1d4fa:	79fb      	ldrb	r3, [r7, #7]
   1d4fc:	f003 021f 	and.w	r2, r3, #31
   1d500:	4907      	ldr	r1, [pc, #28]	; (1d520 <NVIC_EnableIRQ+0x30>)
   1d502:	f997 3007 	ldrsb.w	r3, [r7, #7]
   1d506:	095b      	lsrs	r3, r3, #5
   1d508:	2001      	movs	r0, #1
   1d50a:	fa00 f202 	lsl.w	r2, r0, r2
   1d50e:	f841 2023 	str.w	r2, [r1, r3, lsl #2]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\02_CPU/core_cm4.h:1629
}
   1d512:	bf00      	nop
   1d514:	370c      	adds	r7, #12
   1d516:	46bd      	mov	sp, r7
   1d518:	f85d 7b04 	ldr.w	r7, [sp], #4
   1d51c:	4770      	bx	lr
   1d51e:	bf00      	nop
   1d520:	e000e100 	.word	0xe000e100

0001d524 <NVIC_DisableIRQ>:
NVIC_DisableIRQ():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\02_CPU/core_cm4.h:1638
{
   1d524:	b480      	push	{r7}
   1d526:	b083      	sub	sp, #12
   1d528:	af00      	add	r7, sp, #0
   1d52a:	4603      	mov	r3, r0
   1d52c:	71fb      	strb	r3, [r7, #7]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\02_CPU/core_cm4.h:1639
  NVIC->ICER[(((uint32_t)(int32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)(int32_t)IRQn) & 0x1FUL));
   1d52e:	79fb      	ldrb	r3, [r7, #7]
   1d530:	f003 021f 	and.w	r2, r3, #31
   1d534:	4907      	ldr	r1, [pc, #28]	; (1d554 <NVIC_DisableIRQ+0x30>)
   1d536:	f997 3007 	ldrsb.w	r3, [r7, #7]
   1d53a:	095b      	lsrs	r3, r3, #5
   1d53c:	2001      	movs	r0, #1
   1d53e:	fa00 f202 	lsl.w	r2, r0, r2
   1d542:	3320      	adds	r3, #32
   1d544:	f841 2023 	str.w	r2, [r1, r3, lsl #2]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\02_CPU/core_cm4.h:1640
}
   1d548:	bf00      	nop
   1d54a:	370c      	adds	r7, #12
   1d54c:	46bd      	mov	sp, r7
   1d54e:	f85d 7b04 	ldr.w	r7, [sp], #4
   1d552:	4770      	bx	lr
   1d554:	e000e100 	.word	0xe000e100

0001d558 <uart_init>:
uart_init():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:38
//参数说明：uartNo:串口号：UART_0、UART_1、UART_2、UART_3
//          baud:波特率：300、600、1200、2400、4800、9600、19200、115200...
//函数返回：无
//======================================================================
void uart_init(uint8_t uartNo, uint32_t baud_rate)
{
   1d558:	b590      	push	{r4, r7, lr}
   1d55a:	b08b      	sub	sp, #44	; 0x2c
   1d55c:	af00      	add	r7, sp, #0
   1d55e:	4603      	mov	r3, r0
   1d560:	6039      	str	r1, [r7, #0]
   1d562:	71fb      	strb	r3, [r7, #7]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:45
	double sbr,fraction;
	uint32_t abr,brfx;
	EUSCI_A_Type* uartch;//uartch为UARTMemMapPtr类型指针

	//判断传入串口号参数是否有误，有误直接退出
    if(!uart_is_uartNo(uartNo))
   1d564:	79fb      	ldrb	r3, [r7, #7]
   1d566:	4618      	mov	r0, r3
   1d568:	f000 fa9a 	bl	1daa0 <uart_is_uartNo>
   1d56c:	4603      	mov	r3, r0
   1d56e:	2b00      	cmp	r3, #0
   1d570:	f000 80e0 	beq.w	1d734 <uart_init+0x1dc>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:49
    {
    	return ;
    }
    uartch=(EUSCI_A_Type*)UART_ARR[uartNo];//根据带入参数uartNo，给局部变量uartch赋值
   1d574:	79fb      	ldrb	r3, [r7, #7]
   1d576:	4a74      	ldr	r2, [pc, #464]	; (1d748 <uart_init+0x1f0>)
   1d578:	f852 3023 	ldr.w	r3, [r2, r3, lsl #2]
   1d57c:	627b      	str	r3, [r7, #36]	; 0x24
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:52

    //时钟配置
    CS->KEY= 0x695A;                          //解锁CS模块，进行注册
   1d57e:	4b73      	ldr	r3, [pc, #460]	; (1d74c <uart_init+0x1f4>)
   1d580:	f646 125a 	movw	r2, #26970	; 0x695a
   1d584:	601a      	str	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:61

//    CS->CTL0|= CS_CTL0_DCORSEL_3;            //将DCO设置为12MHz（标称值，8-16MHz范围的中心）
//    CS->CTL1|= CS_CTL1_SELA_2 | CS_CTL1_SELS_3 | CS_CTL1_SELM_3;//选择 ACLK = REFO, SMCLK = MCLK = DCO

    //
    CS->CTL1|=CS_CTL1_DIVS_2;
   1d586:	4b71      	ldr	r3, [pc, #452]	; (1d74c <uart_init+0x1f4>)
   1d588:	689b      	ldr	r3, [r3, #8]
   1d58a:	4a70      	ldr	r2, [pc, #448]	; (1d74c <uart_init+0x1f4>)
   1d58c:	f043 5300 	orr.w	r3, r3, #536870912	; 0x20000000
   1d590:	6093      	str	r3, [r2, #8]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:65



    CS->KEY= 0;                             //锁定CS模块以避免意外的访问
   1d592:	4b6e      	ldr	r3, [pc, #440]	; (1d74c <uart_init+0x1f4>)
   1d594:	2200      	movs	r2, #0
   1d596:	601a      	str	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:68

	//依据选择配置UARTx的对应引脚
    switch(uartNo)
   1d598:	79fb      	ldrb	r3, [r7, #7]
   1d59a:	2b03      	cmp	r3, #3
   1d59c:	d84e      	bhi.n	1d63c <uart_init+0xe4>
   1d59e:	a201      	add	r2, pc, #4	; (adr r2, 1d5a4 <uart_init+0x4c>)
   1d5a0:	f852 f023 	ldr.w	pc, [r2, r3, lsl #2]
   1d5a4:	0001d5b5 	.word	0x0001d5b5
   1d5a8:	0001d5d7 	.word	0x0001d5d7
   1d5ac:	0001d5f9 	.word	0x0001d5f9
   1d5b0:	0001d61b 	.word	0x0001d61b
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:70
    {
    	case UART_0: P1SEL0|=BIT2 | BIT3; P1SEL1&=(~BIT2)&(~BIT3);break;  //P1.2 引脚功能设置为RX,P1.3引脚功能设置为TX
   1d5b4:	4b66      	ldr	r3, [pc, #408]	; (1d750 <uart_init+0x1f8>)
   1d5b6:	781b      	ldrb	r3, [r3, #0]
   1d5b8:	b2db      	uxtb	r3, r3
   1d5ba:	4a65      	ldr	r2, [pc, #404]	; (1d750 <uart_init+0x1f8>)
   1d5bc:	f043 030c 	orr.w	r3, r3, #12
   1d5c0:	b2db      	uxtb	r3, r3
   1d5c2:	7013      	strb	r3, [r2, #0]
   1d5c4:	4b63      	ldr	r3, [pc, #396]	; (1d754 <uart_init+0x1fc>)
   1d5c6:	781b      	ldrb	r3, [r3, #0]
   1d5c8:	b2db      	uxtb	r3, r3
   1d5ca:	4a62      	ldr	r2, [pc, #392]	; (1d754 <uart_init+0x1fc>)
   1d5cc:	f023 030c 	bic.w	r3, r3, #12
   1d5d0:	b2db      	uxtb	r3, r3
   1d5d2:	7013      	strb	r3, [r2, #0]
   1d5d4:	e032      	b.n	1d63c <uart_init+0xe4>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:71
    	case UART_1: P2SEL0|=BIT2 | BIT3; P2SEL1&=(~BIT2)&(~BIT3);break;
   1d5d6:	4b60      	ldr	r3, [pc, #384]	; (1d758 <uart_init+0x200>)
   1d5d8:	781b      	ldrb	r3, [r3, #0]
   1d5da:	b2db      	uxtb	r3, r3
   1d5dc:	4a5e      	ldr	r2, [pc, #376]	; (1d758 <uart_init+0x200>)
   1d5de:	f043 030c 	orr.w	r3, r3, #12
   1d5e2:	b2db      	uxtb	r3, r3
   1d5e4:	7013      	strb	r3, [r2, #0]
   1d5e6:	4b5d      	ldr	r3, [pc, #372]	; (1d75c <uart_init+0x204>)
   1d5e8:	781b      	ldrb	r3, [r3, #0]
   1d5ea:	b2db      	uxtb	r3, r3
   1d5ec:	4a5b      	ldr	r2, [pc, #364]	; (1d75c <uart_init+0x204>)
   1d5ee:	f023 030c 	bic.w	r3, r3, #12
   1d5f2:	b2db      	uxtb	r3, r3
   1d5f4:	7013      	strb	r3, [r2, #0]
   1d5f6:	e021      	b.n	1d63c <uart_init+0xe4>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:72
    	case UART_2: P3SEL0|=BIT2 | BIT3; P3SEL1&=(~BIT2)&(~BIT3);break;
   1d5f8:	4b59      	ldr	r3, [pc, #356]	; (1d760 <uart_init+0x208>)
   1d5fa:	781b      	ldrb	r3, [r3, #0]
   1d5fc:	b2db      	uxtb	r3, r3
   1d5fe:	4a58      	ldr	r2, [pc, #352]	; (1d760 <uart_init+0x208>)
   1d600:	f043 030c 	orr.w	r3, r3, #12
   1d604:	b2db      	uxtb	r3, r3
   1d606:	7013      	strb	r3, [r2, #0]
   1d608:	4b56      	ldr	r3, [pc, #344]	; (1d764 <uart_init+0x20c>)
   1d60a:	781b      	ldrb	r3, [r3, #0]
   1d60c:	b2db      	uxtb	r3, r3
   1d60e:	4a55      	ldr	r2, [pc, #340]	; (1d764 <uart_init+0x20c>)
   1d610:	f023 030c 	bic.w	r3, r3, #12
   1d614:	b2db      	uxtb	r3, r3
   1d616:	7013      	strb	r3, [r2, #0]
   1d618:	e010      	b.n	1d63c <uart_init+0xe4>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:73
    	case UART_3: P9SEL0|=BIT6 | BIT7; P9SEL1&=(~BIT6)&(~BIT7);break;
   1d61a:	4b53      	ldr	r3, [pc, #332]	; (1d768 <uart_init+0x210>)
   1d61c:	781b      	ldrb	r3, [r3, #0]
   1d61e:	b2db      	uxtb	r3, r3
   1d620:	4a51      	ldr	r2, [pc, #324]	; (1d768 <uart_init+0x210>)
   1d622:	f063 033f 	orn	r3, r3, #63	; 0x3f
   1d626:	b2db      	uxtb	r3, r3
   1d628:	7013      	strb	r3, [r2, #0]
   1d62a:	4b50      	ldr	r3, [pc, #320]	; (1d76c <uart_init+0x214>)
   1d62c:	781b      	ldrb	r3, [r3, #0]
   1d62e:	b2db      	uxtb	r3, r3
   1d630:	4a4e      	ldr	r2, [pc, #312]	; (1d76c <uart_init+0x214>)
   1d632:	f003 033f 	and.w	r3, r3, #63	; 0x3f
   1d636:	b2db      	uxtb	r3, r3
   1d638:	7013      	strb	r3, [r2, #0]
   1d63a:	bf00      	nop
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:78
    }


    // UART配置
    uartch->CTLW0|= UCSWRST;                   //使能软件复位
   1d63c:	6a7b      	ldr	r3, [r7, #36]	; 0x24
   1d63e:	881b      	ldrh	r3, [r3, #0]
   1d640:	b29b      	uxth	r3, r3
   1d642:	f043 0301 	orr.w	r3, r3, #1
   1d646:	b29a      	uxth	r2, r3
   1d648:	6a7b      	ldr	r3, [r7, #36]	; 0x24
   1d64a:	801a      	strh	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:79
    uartch->CTLW0|= UCSSEL__SMCLK;             //BRCLK源时钟选择SMCLK
   1d64c:	6a7b      	ldr	r3, [r7, #36]	; 0x24
   1d64e:	881b      	ldrh	r3, [r3, #0]
   1d650:	b29b      	uxth	r3, r3
   1d652:	f043 0380 	orr.w	r3, r3, #128	; 0x80
   1d656:	b29a      	uxth	r2, r3
   1d658:	6a7b      	ldr	r3, [r7, #36]	; 0x24
   1d65a:	801a      	strh	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:82

    //参数baud_rate的相关计算
    sbr=1.0*12000000/(16*baud_rate);							//求sbr
   1d65c:	683b      	ldr	r3, [r7, #0]
   1d65e:	011b      	lsls	r3, r3, #4
   1d660:	4618      	mov	r0, r3
   1d662:	f001 fb83 	bl	1ed6c <__aeabi_ui2d>
   1d666:	4603      	mov	r3, r0
   1d668:	460c      	mov	r4, r1
   1d66a:	461a      	mov	r2, r3
   1d66c:	4623      	mov	r3, r4
   1d66e:	a134      	add	r1, pc, #208	; (adr r1, 1d740 <uart_init+0x1e8>)
   1d670:	e9d1 0100 	ldrd	r0, r1, [r1]
   1d674:	f001 fd1e 	bl	1f0b4 <__aeabi_ddiv>
   1d678:	4603      	mov	r3, r0
   1d67a:	460c      	mov	r4, r1
   1d67c:	e9c7 3406 	strd	r3, r4, [r7, #24]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:83
    fraction=sbr-(uint16_t)sbr;								//求sbr的小数部分
   1d680:	e9d7 0106 	ldrd	r0, r1, [r7, #24]
   1d684:	f001 fe86 	bl	1f394 <__aeabi_d2uiz>
   1d688:	4603      	mov	r3, r0
   1d68a:	b29b      	uxth	r3, r3
   1d68c:	4618      	mov	r0, r3
   1d68e:	f001 fb7d 	bl	1ed8c <__aeabi_i2d>
   1d692:	4603      	mov	r3, r0
   1d694:	460c      	mov	r4, r1
   1d696:	461a      	mov	r2, r3
   1d698:	4623      	mov	r3, r4
   1d69a:	e9d7 0106 	ldrd	r0, r1, [r7, #24]
   1d69e:	f001 fa27 	bl	1eaf0 <__aeabi_dsub>
   1d6a2:	4603      	mov	r3, r0
   1d6a4:	460c      	mov	r4, r1
   1d6a6:	e9c7 3404 	strd	r3, r4, [r7, #16]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:84
    abr=(uint16_t)sbr;										//求sbr的整数部分
   1d6aa:	e9d7 0106 	ldrd	r0, r1, [r7, #24]
   1d6ae:	f001 fe71 	bl	1f394 <__aeabi_d2uiz>
   1d6b2:	4603      	mov	r3, r0
   1d6b4:	b29b      	uxth	r3, r3
   1d6b6:	60fb      	str	r3, [r7, #12]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:85
    brfx=(uint16_t)(fraction*16);							//计算UCBRFx的数值
   1d6b8:	f04f 0200 	mov.w	r2, #0
   1d6bc:	4b2c      	ldr	r3, [pc, #176]	; (1d770 <uart_init+0x218>)
   1d6be:	e9d7 0104 	ldrd	r0, r1, [r7, #16]
   1d6c2:	f001 fbcd 	bl	1ee60 <__aeabi_dmul>
   1d6c6:	4603      	mov	r3, r0
   1d6c8:	460c      	mov	r4, r1
   1d6ca:	4618      	mov	r0, r3
   1d6cc:	4621      	mov	r1, r4
   1d6ce:	f001 fe61 	bl	1f394 <__aeabi_d2uiz>
   1d6d2:	4603      	mov	r3, r0
   1d6d4:	b29b      	uxth	r3, r3
   1d6d6:	60bb      	str	r3, [r7, #8]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:87

    uartch->BRW=abr;							//整数部分赋给BRW
   1d6d8:	68fb      	ldr	r3, [r7, #12]
   1d6da:	b29a      	uxth	r2, r3
   1d6dc:	6a7b      	ldr	r3, [r7, #36]	; 0x24
   1d6de:	80da      	strh	r2, [r3, #6]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:88
    uartch->MCTLW=(BRSxSel(fraction)<<UCBRS_OFS)|(brfx<<UCBRF_OFS)|(UCOS16<<UCOS16_OFS);//过采样模式使能；二次调制阶段选择；奇偶校验选择
   1d6e0:	ed97 0b04 	vldr	d0, [r7, #16]
   1d6e4:	f000 f9ed 	bl	1dac2 <BRSxSel>
   1d6e8:	4603      	mov	r3, r0
   1d6ea:	b29b      	uxth	r3, r3
   1d6ec:	021b      	lsls	r3, r3, #8
   1d6ee:	b29a      	uxth	r2, r3
   1d6f0:	68bb      	ldr	r3, [r7, #8]
   1d6f2:	b29b      	uxth	r3, r3
   1d6f4:	011b      	lsls	r3, r3, #4
   1d6f6:	b29b      	uxth	r3, r3
   1d6f8:	4313      	orrs	r3, r2
   1d6fa:	b29b      	uxth	r3, r3
   1d6fc:	f043 0301 	orr.w	r3, r3, #1
   1d700:	b29a      	uxth	r2, r3
   1d702:	6a7b      	ldr	r3, [r7, #36]	; 0x24
   1d704:	811a      	strh	r2, [r3, #8]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:89
    uartch->CTLW0&= ~UCSWRST;                   //禁用软件复位
   1d706:	6a7b      	ldr	r3, [r7, #36]	; 0x24
   1d708:	881b      	ldrh	r3, [r3, #0]
   1d70a:	b29b      	uxth	r3, r3
   1d70c:	f023 0301 	bic.w	r3, r3, #1
   1d710:	b29a      	uxth	r2, r3
   1d712:	6a7b      	ldr	r3, [r7, #36]	; 0x24
   1d714:	801a      	strh	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:90
    uartch->IE&=~UCTXIE;//禁用串口发送中断
   1d716:	6a7b      	ldr	r3, [r7, #36]	; 0x24
   1d718:	8b5b      	ldrh	r3, [r3, #26]
   1d71a:	b29b      	uxth	r3, r3
   1d71c:	f023 0302 	bic.w	r3, r3, #2
   1d720:	b29a      	uxth	r2, r3
   1d722:	6a7b      	ldr	r3, [r7, #36]	; 0x24
   1d724:	835a      	strh	r2, [r3, #26]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:91
    NVIC_EnableIRQ(table_irq_uart[uartNo]);//在NVIC模块中使能EUSCIA中断
   1d726:	79fb      	ldrb	r3, [r7, #7]
   1d728:	4a12      	ldr	r2, [pc, #72]	; (1d774 <uart_init+0x21c>)
   1d72a:	56d3      	ldrsb	r3, [r2, r3]
   1d72c:	4618      	mov	r0, r3
   1d72e:	f7ff fedf 	bl	1d4f0 <NVIC_EnableIRQ>
   1d732:	e000      	b.n	1d736 <uart_init+0x1de>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:47
    	return ;
   1d734:	bf00      	nop
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:92
}
   1d736:	372c      	adds	r7, #44	; 0x2c
   1d738:	46bd      	mov	sp, r7
   1d73a:	bd90      	pop	{r4, r7, pc}
   1d73c:	f3af 8000 	nop.w
   1d740:	00000000 	.word	0x00000000
   1d744:	4166e360 	.word	0x4166e360
   1d748:	20002054 	.word	0x20002054
   1d74c:	40010400 	.word	0x40010400
   1d750:	40004c0a 	.word	0x40004c0a
   1d754:	40004c0c 	.word	0x40004c0c
   1d758:	40004c0b 	.word	0x40004c0b
   1d75c:	40004c0d 	.word	0x40004c0d
   1d760:	40004c2a 	.word	0x40004c2a
   1d764:	40004c2c 	.word	0x40004c2c
   1d768:	40004c8a 	.word	0x40004c8a
   1d76c:	40004c8c 	.word	0x40004c8c
   1d770:	40300000 	.word	0x40300000
   1d774:	0001f8dc 	.word	0x0001f8dc

0001d778 <uart_send1>:
uart_send1():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:101
//          ch:要发送的字节
//函数返回：函数执行状态：1=发送成功；0=发送失败。
//功能概要：串行发送1个字节
//======================================================================
uint8_t uart_send1(uint8_t uartNo, uint8_t ch)
{
   1d778:	b580      	push	{r7, lr}
   1d77a:	b084      	sub	sp, #16
   1d77c:	af00      	add	r7, sp, #0
   1d77e:	4603      	mov	r3, r0
   1d780:	460a      	mov	r2, r1
   1d782:	71fb      	strb	r3, [r7, #7]
   1d784:	4613      	mov	r3, r2
   1d786:	71bb      	strb	r3, [r7, #6]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:106
	uint32_t t;
    EUSCI_A_Type* uartch; //uartch为EUSCI_A_Type*类型指针

    //判断传入串口号参数是否有误，有误直接退出
	if(!uart_is_uartNo(uartNo))
   1d788:	79fb      	ldrb	r3, [r7, #7]
   1d78a:	4618      	mov	r0, r3
   1d78c:	f000 f988 	bl	1daa0 <uart_is_uartNo>
   1d790:	4603      	mov	r3, r0
   1d792:	2b00      	cmp	r3, #0
   1d794:	d101      	bne.n	1d79a <uart_send1+0x22>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:108
	{
		return 0;
   1d796:	2300      	movs	r3, #0
   1d798:	e023      	b.n	1d7e2 <uart_send1+0x6a>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:110
	}
	uartch=(EUSCI_A_Type*)UART_ARR[uartNo];//获取UARTx基地址
   1d79a:	79fb      	ldrb	r3, [r7, #7]
   1d79c:	4a13      	ldr	r2, [pc, #76]	; (1d7ec <uart_send1+0x74>)
   1d79e:	f852 3023 	ldr.w	r3, [r2, r3, lsl #2]
   1d7a2:	60bb      	str	r3, [r7, #8]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:112

	 for (t = 0; t < 0xFBBB; t++)//查询指定次数
   1d7a4:	2300      	movs	r3, #0
   1d7a6:	60fb      	str	r3, [r7, #12]
   1d7a8:	e00e      	b.n	1d7c8 <uart_send1+0x50>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:115
	{
	 //发送缓冲区为空则发送数据
	 if(uartch->IFG&UCTXIFG)
   1d7aa:	68bb      	ldr	r3, [r7, #8]
   1d7ac:	8b9b      	ldrh	r3, [r3, #28]
   1d7ae:	b29b      	uxth	r3, r3
   1d7b0:	f003 0302 	and.w	r3, r3, #2
   1d7b4:	2b00      	cmp	r3, #0
   1d7b6:	d004      	beq.n	1d7c2 <uart_send1+0x4a>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:117
	 {
		 uartch->TXBUF= ch;//将ch值送入发送缓冲区
   1d7b8:	79bb      	ldrb	r3, [r7, #6]
   1d7ba:	b29a      	uxth	r2, r3
   1d7bc:	68bb      	ldr	r3, [r7, #8]
   1d7be:	81da      	strh	r2, [r3, #14]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:118
		 break;
   1d7c0:	e007      	b.n	1d7d2 <uart_send1+0x5a>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:112
	 for (t = 0; t < 0xFBBB; t++)//查询指定次数
   1d7c2:	68fb      	ldr	r3, [r7, #12]
   1d7c4:	3301      	adds	r3, #1
   1d7c6:	60fb      	str	r3, [r7, #12]
   1d7c8:	68fb      	ldr	r3, [r7, #12]
   1d7ca:	f64f 32ba 	movw	r2, #64442	; 0xfbba
   1d7ce:	4293      	cmp	r3, r2
   1d7d0:	d9eb      	bls.n	1d7aa <uart_send1+0x32>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:122
	 }
	}
	 //结束判断
	 if (t >= 0xFBBB)
   1d7d2:	68fb      	ldr	r3, [r7, #12]
   1d7d4:	f64f 32ba 	movw	r2, #64442	; 0xfbba
   1d7d8:	4293      	cmp	r3, r2
   1d7da:	d901      	bls.n	1d7e0 <uart_send1+0x68>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:123
		 return 0; //发送超时，发送失败
   1d7dc:	2300      	movs	r3, #0
   1d7de:	e000      	b.n	1d7e2 <uart_send1+0x6a>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:125
	 else
		 return 1; //成功发送
   1d7e0:	2301      	movs	r3, #1
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:126
}
   1d7e2:	4618      	mov	r0, r3
   1d7e4:	3710      	adds	r7, #16
   1d7e6:	46bd      	mov	sp, r7
   1d7e8:	bd80      	pop	{r7, pc}
   1d7ea:	bf00      	nop
   1d7ec:	20002054 	.word	0x20002054

0001d7f0 <uart_sendN>:
uart_sendN():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:137
//         len:发送长度
//函数返回： 函数执行状态：1=发送成功；0=发送失败
//功能概要：串行 接收n个字节
//======================================================================
uint8_t uart_sendN(uint8_t uartNo ,uint16_t len ,uint8_t* buff)
{
   1d7f0:	b580      	push	{r7, lr}
   1d7f2:	b084      	sub	sp, #16
   1d7f4:	af00      	add	r7, sp, #0
   1d7f6:	4603      	mov	r3, r0
   1d7f8:	603a      	str	r2, [r7, #0]
   1d7fa:	71fb      	strb	r3, [r7, #7]
   1d7fc:	460b      	mov	r3, r1
   1d7fe:	80bb      	strh	r3, [r7, #4]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:141
    uint16_t i;

    //判断传入串口号参数是否有误，有误直接退出
    if(!uart_is_uartNo(uartNo))
   1d800:	79fb      	ldrb	r3, [r7, #7]
   1d802:	4618      	mov	r0, r3
   1d804:	f000 f94c 	bl	1daa0 <uart_is_uartNo>
   1d808:	4603      	mov	r3, r0
   1d80a:	2b00      	cmp	r3, #0
   1d80c:	d101      	bne.n	1d812 <uart_sendN+0x22>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:143
    {
        return 0;
   1d80e:	2300      	movs	r3, #0
   1d810:	e01e      	b.n	1d850 <uart_sendN+0x60>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:146
    }

    for (i = 0; i < len; i++)
   1d812:	2300      	movs	r3, #0
   1d814:	81fb      	strh	r3, [r7, #14]
   1d816:	e00e      	b.n	1d836 <uart_sendN+0x46>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:148
    {
        if (!uart_send1(uartNo, buff[i])) //发送一个字节数据，失败则跳出循环
   1d818:	89fb      	ldrh	r3, [r7, #14]
   1d81a:	683a      	ldr	r2, [r7, #0]
   1d81c:	4413      	add	r3, r2
   1d81e:	781a      	ldrb	r2, [r3, #0]
   1d820:	79fb      	ldrb	r3, [r7, #7]
   1d822:	4611      	mov	r1, r2
   1d824:	4618      	mov	r0, r3
   1d826:	f7ff ffa7 	bl	1d778 <uart_send1>
   1d82a:	4603      	mov	r3, r0
   1d82c:	2b00      	cmp	r3, #0
   1d82e:	d007      	beq.n	1d840 <uart_sendN+0x50>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:146
    for (i = 0; i < len; i++)
   1d830:	89fb      	ldrh	r3, [r7, #14]
   1d832:	3301      	adds	r3, #1
   1d834:	81fb      	strh	r3, [r7, #14]
   1d836:	89fa      	ldrh	r2, [r7, #14]
   1d838:	88bb      	ldrh	r3, [r7, #4]
   1d83a:	429a      	cmp	r2, r3
   1d83c:	d3ec      	bcc.n	1d818 <uart_sendN+0x28>
   1d83e:	e000      	b.n	1d842 <uart_sendN+0x52>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:150
        {
            break;
   1d840:	bf00      	nop
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:153
        }
    }
    if(i<len)
   1d842:	89fa      	ldrh	r2, [r7, #14]
   1d844:	88bb      	ldrh	r3, [r7, #4]
   1d846:	429a      	cmp	r2, r3
   1d848:	d201      	bcs.n	1d84e <uart_sendN+0x5e>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:154
        return 0;    //发送出错
   1d84a:	2300      	movs	r3, #0
   1d84c:	e000      	b.n	1d850 <uart_sendN+0x60>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:156
    else
        return 1;    //发送出错
   1d84e:	2301      	movs	r3, #1
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:157
}
   1d850:	4618      	mov	r0, r3
   1d852:	3710      	adds	r7, #16
   1d854:	46bd      	mov	sp, r7
   1d856:	bd80      	pop	{r7, pc}

0001d858 <uart_send_string>:
uart_send_string():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:167
//          buff:要发送的字符串的首地址
//函数返回： 函数执行状态：1=发送成功；0=发送失败
//功能概要：从指定UART端口发送一个以'\0'结束的字符串
//======================================================================
uint8_t uart_send_string(uint8_t uartNo, void *buff)
{
   1d858:	b580      	push	{r7, lr}
   1d85a:	b084      	sub	sp, #16
   1d85c:	af00      	add	r7, sp, #0
   1d85e:	4603      	mov	r3, r0
   1d860:	6039      	str	r1, [r7, #0]
   1d862:	71fb      	strb	r3, [r7, #7]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:168
    uint16_t i = 0;
   1d864:	2300      	movs	r3, #0
   1d866:	81fb      	strh	r3, [r7, #14]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:169
    uint8_t *buff_ptr = (uint8_t *)buff;     //定义指针指向要发送字符串首地址
   1d868:	683b      	ldr	r3, [r7, #0]
   1d86a:	60bb      	str	r3, [r7, #8]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:172

    //判断传入串口号参数是否有误，有误直接退出
    if(!uart_is_uartNo(uartNo))
   1d86c:	79fb      	ldrb	r3, [r7, #7]
   1d86e:	4618      	mov	r0, r3
   1d870:	f000 f916 	bl	1daa0 <uart_is_uartNo>
   1d874:	4603      	mov	r3, r0
   1d876:	2b00      	cmp	r3, #0
   1d878:	d101      	bne.n	1d87e <uart_send_string+0x26>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:174
    {
        return 0;
   1d87a:	2300      	movs	r3, #0
   1d87c:	e01a      	b.n	1d8b4 <uart_send_string+0x5c>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:177
    }

    for(i = 0; buff_ptr[i] != '\0'; i++)   //遍历字符串里的字符
   1d87e:	2300      	movs	r3, #0
   1d880:	81fb      	strh	r3, [r7, #14]
   1d882:	e010      	b.n	1d8a6 <uart_send_string+0x4e>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:179
    {
        if (!uart_send1(uartNo,buff_ptr[i]))//发送指针对应的字符
   1d884:	89fb      	ldrh	r3, [r7, #14]
   1d886:	68ba      	ldr	r2, [r7, #8]
   1d888:	4413      	add	r3, r2
   1d88a:	781a      	ldrb	r2, [r3, #0]
   1d88c:	79fb      	ldrb	r3, [r7, #7]
   1d88e:	4611      	mov	r1, r2
   1d890:	4618      	mov	r0, r3
   1d892:	f7ff ff71 	bl	1d778 <uart_send1>
   1d896:	4603      	mov	r3, r0
   1d898:	2b00      	cmp	r3, #0
   1d89a:	d101      	bne.n	1d8a0 <uart_send_string+0x48>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:180
            return 0;  //发送失败,返回
   1d89c:	2300      	movs	r3, #0
   1d89e:	e009      	b.n	1d8b4 <uart_send_string+0x5c>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:177
    for(i = 0; buff_ptr[i] != '\0'; i++)   //遍历字符串里的字符
   1d8a0:	89fb      	ldrh	r3, [r7, #14]
   1d8a2:	3301      	adds	r3, #1
   1d8a4:	81fb      	strh	r3, [r7, #14]
   1d8a6:	89fb      	ldrh	r3, [r7, #14]
   1d8a8:	68ba      	ldr	r2, [r7, #8]
   1d8aa:	4413      	add	r3, r2
   1d8ac:	781b      	ldrb	r3, [r3, #0]
   1d8ae:	2b00      	cmp	r3, #0
   1d8b0:	d1e8      	bne.n	1d884 <uart_send_string+0x2c>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:182
    }
    return 1;          //发送成功
   1d8b2:	2301      	movs	r3, #1
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:183
}
   1d8b4:	4618      	mov	r0, r3
   1d8b6:	3710      	adds	r7, #16
   1d8b8:	46bd      	mov	sp, r7
   1d8ba:	bd80      	pop	{r7, pc}

0001d8bc <uart_re1>:
uart_re1():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:193
//        *fp:接收成功标志的指针:*fp=1:接收成功；*fp=0:接收失败
//函数返回：接收返回字节
//功能概要：串行接收1个字节
//======================================================================
uint8_t uart_re1(uint8_t uartNo,uint8_t *fp)
{
   1d8bc:	b580      	push	{r7, lr}
   1d8be:	b086      	sub	sp, #24
   1d8c0:	af00      	add	r7, sp, #0
   1d8c2:	4603      	mov	r3, r0
   1d8c4:	6039      	str	r1, [r7, #0]
   1d8c6:	71fb      	strb	r3, [r7, #7]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:198
    uint32_t t;
    uint8_t  dat;			  //用于接收发送缓冲区的数据
    EUSCI_A_Type* uartch;    //uartch为EUSCI_A_Type*类型指针
	//判断传入串口号参数是否有误，有误直接退出
	if(!uart_is_uartNo(uartNo))
   1d8c8:	79fb      	ldrb	r3, [r7, #7]
   1d8ca:	4618      	mov	r0, r3
   1d8cc:	f000 f8e8 	bl	1daa0 <uart_is_uartNo>
   1d8d0:	4603      	mov	r3, r0
   1d8d2:	2b00      	cmp	r3, #0
   1d8d4:	d104      	bne.n	1d8e0 <uart_re1+0x24>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:200
	{
		 *fp=0;
   1d8d6:	683b      	ldr	r3, [r7, #0]
   1d8d8:	2200      	movs	r2, #0
   1d8da:	701a      	strb	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:201
		 return 0;
   1d8dc:	2300      	movs	r3, #0
   1d8de:	e029      	b.n	1d934 <uart_re1+0x78>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:203
	}
	uartch=(EUSCI_A_Type*)UART_ARR[uartNo];
   1d8e0:	79fb      	ldrb	r3, [r7, #7]
   1d8e2:	4a16      	ldr	r2, [pc, #88]	; (1d93c <uart_re1+0x80>)
   1d8e4:	f852 3023 	ldr.w	r3, [r2, r3, lsl #2]
   1d8e8:	60fb      	str	r3, [r7, #12]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:205

	for (t = 0; t < 0xFBBB; t++)//查询指定次数
   1d8ea:	2300      	movs	r3, #0
   1d8ec:	617b      	str	r3, [r7, #20]
   1d8ee:	e011      	b.n	1d914 <uart_re1+0x58>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:208
	{
		//判断接收缓冲区是否满
		if(uartch->IFG & UCRXIFG)
   1d8f0:	68fb      	ldr	r3, [r7, #12]
   1d8f2:	8b9b      	ldrh	r3, [r3, #28]
   1d8f4:	b29b      	uxth	r3, r3
   1d8f6:	f003 0301 	and.w	r3, r3, #1
   1d8fa:	2b00      	cmp	r3, #0
   1d8fc:	d007      	beq.n	1d90e <uart_re1+0x52>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:210
		{
			dat=uartch->RXBUF;//获取数据,清接收中断位
   1d8fe:	68fb      	ldr	r3, [r7, #12]
   1d900:	899b      	ldrh	r3, [r3, #12]
   1d902:	b29b      	uxth	r3, r3
   1d904:	74fb      	strb	r3, [r7, #19]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:211
			*fp=1;//接收成功
   1d906:	683b      	ldr	r3, [r7, #0]
   1d908:	2201      	movs	r2, #1
   1d90a:	701a      	strb	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:212
			break;
   1d90c:	e007      	b.n	1d91e <uart_re1+0x62>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:205
	for (t = 0; t < 0xFBBB; t++)//查询指定次数
   1d90e:	697b      	ldr	r3, [r7, #20]
   1d910:	3301      	adds	r3, #1
   1d912:	617b      	str	r3, [r7, #20]
   1d914:	697b      	ldr	r3, [r7, #20]
   1d916:	f64f 32ba 	movw	r2, #64442	; 0xfbba
   1d91a:	4293      	cmp	r3, r2
   1d91c:	d9e8      	bls.n	1d8f0 <uart_re1+0x34>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:216
		}
	}
	//结束判断
	if(t >= 0xFBBB)
   1d91e:	697b      	ldr	r3, [r7, #20]
   1d920:	f64f 32ba 	movw	r2, #64442	; 0xfbba
   1d924:	4293      	cmp	r3, r2
   1d926:	d904      	bls.n	1d932 <uart_re1+0x76>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:218
	{
		 dat = 0xFF;
   1d928:	23ff      	movs	r3, #255	; 0xff
   1d92a:	74fb      	strb	r3, [r7, #19]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:219
		 *fp = 0;    //未收到数据
   1d92c:	683b      	ldr	r3, [r7, #0]
   1d92e:	2200      	movs	r2, #0
   1d930:	701a      	strb	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:222
	}

    return dat;    //返回接收到的数据
   1d932:	7cfb      	ldrb	r3, [r7, #19]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:223
}
   1d934:	4618      	mov	r0, r3
   1d936:	3718      	adds	r7, #24
   1d938:	46bd      	mov	sp, r7
   1d93a:	bd80      	pop	{r7, pc}
   1d93c:	20002054 	.word	0x20002054

0001d940 <uart_reN>:
uart_reN():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:234
//          len:接收长度
//函数返回：函数执行状态 1=接收成功;0=接收失败
//功能概要：串行 接收n个字节,放入buff中
//======================================================================
uint8_t uart_reN(uint8_t uartNo ,uint16_t len ,uint8_t* buff)
{
   1d940:	b590      	push	{r4, r7, lr}
   1d942:	b085      	sub	sp, #20
   1d944:	af00      	add	r7, sp, #0
   1d946:	4603      	mov	r3, r0
   1d948:	603a      	str	r2, [r7, #0]
   1d94a:	71fb      	strb	r3, [r7, #7]
   1d94c:	460b      	mov	r3, r1
   1d94e:	80bb      	strh	r3, [r7, #4]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:236
    uint16_t i;
    uint8_t flag = 1;
   1d950:	2301      	movs	r3, #1
   1d952:	737b      	strb	r3, [r7, #13]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:238
    //判断传入串口号参数是否有误，有误直接退出
	 if(!uart_is_uartNo(uartNo))
   1d954:	79fb      	ldrb	r3, [r7, #7]
   1d956:	4618      	mov	r0, r3
   1d958:	f000 f8a2 	bl	1daa0 <uart_is_uartNo>
   1d95c:	4603      	mov	r3, r0
   1d95e:	2b00      	cmp	r3, #0
   1d960:	d101      	bne.n	1d966 <uart_reN+0x26>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:240
	 {
	        return 0;
   1d962:	2300      	movs	r3, #0
   1d964:	e01f      	b.n	1d9a6 <uart_reN+0x66>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:243
	 }
    //判断是否能接受数据
	for (i = 0; i < len && flag==1; i++)
   1d966:	2300      	movs	r3, #0
   1d968:	81fb      	strh	r3, [r7, #14]
   1d96a:	e00e      	b.n	1d98a <uart_reN+0x4a>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:245
	{
		buff[i] = uart_re1(uartNo, &flag); //接收数据
   1d96c:	89fb      	ldrh	r3, [r7, #14]
   1d96e:	683a      	ldr	r2, [r7, #0]
   1d970:	18d4      	adds	r4, r2, r3
   1d972:	f107 020d 	add.w	r2, r7, #13
   1d976:	79fb      	ldrb	r3, [r7, #7]
   1d978:	4611      	mov	r1, r2
   1d97a:	4618      	mov	r0, r3
   1d97c:	f7ff ff9e 	bl	1d8bc <uart_re1>
   1d980:	4603      	mov	r3, r0
   1d982:	7023      	strb	r3, [r4, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:243
	for (i = 0; i < len && flag==1; i++)
   1d984:	89fb      	ldrh	r3, [r7, #14]
   1d986:	3301      	adds	r3, #1
   1d988:	81fb      	strh	r3, [r7, #14]
   1d98a:	89fa      	ldrh	r2, [r7, #14]
   1d98c:	88bb      	ldrh	r3, [r7, #4]
   1d98e:	429a      	cmp	r2, r3
   1d990:	d202      	bcs.n	1d998 <uart_reN+0x58>
   1d992:	7b7b      	ldrb	r3, [r7, #13]
   1d994:	2b01      	cmp	r3, #1
   1d996:	d0e9      	beq.n	1d96c <uart_reN+0x2c>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:247
	}
	if (i < len)
   1d998:	89fa      	ldrh	r2, [r7, #14]
   1d99a:	88bb      	ldrh	r3, [r7, #4]
   1d99c:	429a      	cmp	r2, r3
   1d99e:	d201      	bcs.n	1d9a4 <uart_reN+0x64>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:248
		return 0; //接收失败
   1d9a0:	2300      	movs	r3, #0
   1d9a2:	e000      	b.n	1d9a6 <uart_reN+0x66>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:250
	else
		return 1; //接收成功
   1d9a4:	2301      	movs	r3, #1
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:251
}
   1d9a6:	4618      	mov	r0, r3
   1d9a8:	3714      	adds	r7, #20
   1d9aa:	46bd      	mov	sp, r7
   1d9ac:	bd90      	pop	{r4, r7, pc}

0001d9ae <uart_enable_re_int>:
uart_enable_re_int():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:260
//参数说明：uartNo:串口号：UART_0、UART_1、UART_2、UART_3
//函数返回：无
//功能概要：开串口接收中断
//======================================================================
void uart_enable_re_int(uint8_t uartNo)
{
   1d9ae:	b580      	push	{r7, lr}
   1d9b0:	b084      	sub	sp, #16
   1d9b2:	af00      	add	r7, sp, #0
   1d9b4:	4603      	mov	r3, r0
   1d9b6:	71fb      	strb	r3, [r7, #7]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:263
	EUSCI_A_Type* uartch;
	//判断传入串口号参数是否有误，有误直接退出
	 if(!uart_is_uartNo(uartNo))
   1d9b8:	79fb      	ldrb	r3, [r7, #7]
   1d9ba:	4618      	mov	r0, r3
   1d9bc:	f000 f870 	bl	1daa0 <uart_is_uartNo>
   1d9c0:	4603      	mov	r3, r0
   1d9c2:	2b00      	cmp	r3, #0
   1d9c4:	d013      	beq.n	1d9ee <uart_enable_re_int+0x40>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:267
	 {
			return ;
	 }
	 uartch= (EUSCI_A_Type*)UART_ARR[uartNo];//获取UART基地址
   1d9c6:	79fb      	ldrb	r3, [r7, #7]
   1d9c8:	4a0b      	ldr	r2, [pc, #44]	; (1d9f8 <uart_enable_re_int+0x4a>)
   1d9ca:	f852 3023 	ldr.w	r3, [r2, r3, lsl #2]
   1d9ce:	60fb      	str	r3, [r7, #12]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:268
	 uartch->IE|=UCRXIE;//打开UART接收中断
   1d9d0:	68fb      	ldr	r3, [r7, #12]
   1d9d2:	8b5b      	ldrh	r3, [r3, #26]
   1d9d4:	b29b      	uxth	r3, r3
   1d9d6:	f043 0301 	orr.w	r3, r3, #1
   1d9da:	b29a      	uxth	r2, r3
   1d9dc:	68fb      	ldr	r3, [r7, #12]
   1d9de:	835a      	strh	r2, [r3, #26]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:269
     NVIC_EnableIRQ(table_irq_uart[uartNo]);//在NVIC模块中使能EUSCIAx中断
   1d9e0:	79fb      	ldrb	r3, [r7, #7]
   1d9e2:	4a06      	ldr	r2, [pc, #24]	; (1d9fc <uart_enable_re_int+0x4e>)
   1d9e4:	56d3      	ldrsb	r3, [r2, r3]
   1d9e6:	4618      	mov	r0, r3
   1d9e8:	f7ff fd82 	bl	1d4f0 <NVIC_EnableIRQ>
   1d9ec:	e000      	b.n	1d9f0 <uart_enable_re_int+0x42>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:265
			return ;
   1d9ee:	bf00      	nop
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:271

}
   1d9f0:	3710      	adds	r7, #16
   1d9f2:	46bd      	mov	sp, r7
   1d9f4:	bd80      	pop	{r7, pc}
   1d9f6:	bf00      	nop
   1d9f8:	20002054 	.word	0x20002054
   1d9fc:	0001f8dc 	.word	0x0001f8dc

0001da00 <uart_disable_re_int>:
uart_disable_re_int():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:280
//参数说明：uartNo:串口号：UART_0、UART_1、UART_2、UART_3
//函数返回：无
//功能概要：关串口接收中断
//======================================================================
void uart_disable_re_int(uint8_t uartNo)
{
   1da00:	b580      	push	{r7, lr}
   1da02:	b084      	sub	sp, #16
   1da04:	af00      	add	r7, sp, #0
   1da06:	4603      	mov	r3, r0
   1da08:	71fb      	strb	r3, [r7, #7]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:284

	 EUSCI_A_Type* uartch;
	//判断传入串口号参数是否有误，有误直接退出
	 if(!uart_is_uartNo(uartNo))
   1da0a:	79fb      	ldrb	r3, [r7, #7]
   1da0c:	4618      	mov	r0, r3
   1da0e:	f000 f847 	bl	1daa0 <uart_is_uartNo>
   1da12:	4603      	mov	r3, r0
   1da14:	2b00      	cmp	r3, #0
   1da16:	d013      	beq.n	1da40 <uart_disable_re_int+0x40>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:288
	 {
			return ;
	 }
	 uartch=(EUSCI_A_Type*) UART_ARR[uartNo];//获取UART基地址
   1da18:	79fb      	ldrb	r3, [r7, #7]
   1da1a:	4a0b      	ldr	r2, [pc, #44]	; (1da48 <uart_disable_re_int+0x48>)
   1da1c:	f852 3023 	ldr.w	r3, [r2, r3, lsl #2]
   1da20:	60fb      	str	r3, [r7, #12]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:289
	 uartch->IE&=~UCRXIE;//禁止UART接收中断
   1da22:	68fb      	ldr	r3, [r7, #12]
   1da24:	8b5b      	ldrh	r3, [r3, #26]
   1da26:	b29b      	uxth	r3, r3
   1da28:	f023 0301 	bic.w	r3, r3, #1
   1da2c:	b29a      	uxth	r2, r3
   1da2e:	68fb      	ldr	r3, [r7, #12]
   1da30:	835a      	strh	r2, [r3, #26]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:290
     NVIC_DisableIRQ(table_irq_uart[uartNo]);//在NVIC模块中使能EUSCIAx中断
   1da32:	79fb      	ldrb	r3, [r7, #7]
   1da34:	4a05      	ldr	r2, [pc, #20]	; (1da4c <uart_disable_re_int+0x4c>)
   1da36:	56d3      	ldrsb	r3, [r2, r3]
   1da38:	4618      	mov	r0, r3
   1da3a:	f7ff fd73 	bl	1d524 <NVIC_DisableIRQ>
   1da3e:	e000      	b.n	1da42 <uart_disable_re_int+0x42>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:286
			return ;
   1da40:	bf00      	nop
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:292

}
   1da42:	3710      	adds	r7, #16
   1da44:	46bd      	mov	sp, r7
   1da46:	bd80      	pop	{r7, pc}
   1da48:	20002054 	.word	0x20002054
   1da4c:	0001f8dc 	.word	0x0001f8dc

0001da50 <uart_get_re_int>:
uart_get_re_int():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:301
//参数说明：uartNo:串口号：UART_0、UART_1、UART_2、UART_3
//函数返回：接收中断标志 1=有接收中断;0=无接收中断
//功能概要：获取串口接收中断标志,同时禁用发送中断
//======================================================================
uint8_t uart_get_re_int(uint8_t uartNo)
{
   1da50:	b580      	push	{r7, lr}
   1da52:	b084      	sub	sp, #16
   1da54:	af00      	add	r7, sp, #0
   1da56:	4603      	mov	r3, r0
   1da58:	71fb      	strb	r3, [r7, #7]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:305
    //uint8_t flag;
    EUSCI_A_Type* uartch;
    //判断传入串口号参数是否有误，有误直接退出
	 if(!uart_is_uartNo(uartNo))
   1da5a:	79fb      	ldrb	r3, [r7, #7]
   1da5c:	4618      	mov	r0, r3
   1da5e:	f000 f81f 	bl	1daa0 <uart_is_uartNo>
   1da62:	4603      	mov	r3, r0
   1da64:	2b00      	cmp	r3, #0
   1da66:	d101      	bne.n	1da6c <uart_get_re_int+0x1c>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:307
	 {
			return 0;
   1da68:	2300      	movs	r3, #0
   1da6a:	e013      	b.n	1da94 <uart_get_re_int+0x44>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:309
	 }
	 uartch= (EUSCI_A_Type*)UART_ARR[uartNo];//获取UART基地址
   1da6c:	79fb      	ldrb	r3, [r7, #7]
   1da6e:	4a0b      	ldr	r2, [pc, #44]	; (1da9c <uart_get_re_int+0x4c>)
   1da70:	f852 3023 	ldr.w	r3, [r2, r3, lsl #2]
   1da74:	60fb      	str	r3, [r7, #12]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:310
	 uartch->IE&=~UCTXIE;//禁用串口发送中断，防止误中断
   1da76:	68fb      	ldr	r3, [r7, #12]
   1da78:	8b5b      	ldrh	r3, [r3, #26]
   1da7a:	b29b      	uxth	r3, r3
   1da7c:	f023 0302 	bic.w	r3, r3, #2
   1da80:	b29a      	uxth	r2, r3
   1da82:	68fb      	ldr	r3, [r7, #12]
   1da84:	835a      	strh	r2, [r3, #26]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:312
	 //获取接收中断标志，需判断RIE;
	 return BGET(UCRXIE_OFS,uartch->IE);
   1da86:	68fb      	ldr	r3, [r7, #12]
   1da88:	8b5b      	ldrh	r3, [r3, #26]
   1da8a:	b29b      	uxth	r3, r3
   1da8c:	b2db      	uxtb	r3, r3
   1da8e:	f003 0301 	and.w	r3, r3, #1
   1da92:	b2db      	uxtb	r3, r3
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:313
}
   1da94:	4618      	mov	r0, r3
   1da96:	3710      	adds	r7, #16
   1da98:	46bd      	mov	sp, r7
   1da9a:	bd80      	pop	{r7, pc}
   1da9c:	20002054 	.word	0x20002054

0001daa0 <uart_is_uartNo>:
uart_is_uartNo():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:323
//函数返回：1:串口号在合理范围内，0：串口号不合理
//参数说明：uartNo:串口号：UART_0、UART_1、UART_2、UART_3
//功能概要：为程序健壮性而判断uartNo是否在串口数字范围内
//=====================================================================
uint8_t uart_is_uartNo(uint8_t uartNo)
{
   1daa0:	b480      	push	{r7}
   1daa2:	b083      	sub	sp, #12
   1daa4:	af00      	add	r7, sp, #0
   1daa6:	4603      	mov	r3, r0
   1daa8:	71fb      	strb	r3, [r7, #7]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:324
    if(((int)uartNo < (int)UART_0 || (int)uartNo >(int)UART_3))
   1daaa:	79fb      	ldrb	r3, [r7, #7]
   1daac:	2b03      	cmp	r3, #3
   1daae:	d901      	bls.n	1dab4 <uart_is_uartNo+0x14>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:325
        return 0;
   1dab0:	2300      	movs	r3, #0
   1dab2:	e000      	b.n	1dab6 <uart_is_uartNo+0x16>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:327
    else
        return 1;
   1dab4:	2301      	movs	r3, #1
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:328
}
   1dab6:	4618      	mov	r0, r3
   1dab8:	370c      	adds	r7, #12
   1daba:	46bd      	mov	sp, r7
   1dabc:	f85d 7b04 	ldr.w	r7, [sp], #4
   1dac0:	4770      	bx	lr

0001dac2 <BRSxSel>:
BRSxSel():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:338
//参数说明：fra:波特率计算的小数部分，fra=1.0*fBRCLK/(16*baud_rate)的小数部分
//函数返回：数组ValBRSxS[]中与fra下标一致的8位数值
//功能概要：用波特率计算的小数部分找出定义的UCBRFx的对应赋值
//======================================================================
uint8_t BRSxSel(double fra)
{
   1dac2:	b590      	push	{r4, r7, lr}
   1dac4:	b085      	sub	sp, #20
   1dac6:	af00      	add	r7, sp, #0
   1dac8:	ed87 0b00 	vstr	d0, [r7]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:341
	uint8_t brs;
	uint16_t i,temp;
	brs=0;
   1dacc:	2300      	movs	r3, #0
   1dace:	73fb      	strb	r3, [r7, #15]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:342
	temp=(uint16_t)(fra*1000);
   1dad0:	f04f 0200 	mov.w	r2, #0
   1dad4:	4b13      	ldr	r3, [pc, #76]	; (1db24 <BRSxSel+0x62>)
   1dad6:	e9d7 0100 	ldrd	r0, r1, [r7]
   1dada:	f001 f9c1 	bl	1ee60 <__aeabi_dmul>
   1dade:	4603      	mov	r3, r0
   1dae0:	460c      	mov	r4, r1
   1dae2:	4618      	mov	r0, r3
   1dae4:	4621      	mov	r1, r4
   1dae6:	f001 fc55 	bl	1f394 <__aeabi_d2uiz>
   1daea:	4603      	mov	r3, r0
   1daec:	817b      	strh	r3, [r7, #10]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:343
	for(i=0;i<36;i++)
   1daee:	2300      	movs	r3, #0
   1daf0:	81bb      	strh	r3, [r7, #12]
   1daf2:	e00e      	b.n	1db12 <BRSxSel+0x50>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:345
	{
		if(BRSxS[i]==temp)
   1daf4:	89bb      	ldrh	r3, [r7, #12]
   1daf6:	4a0c      	ldr	r2, [pc, #48]	; (1db28 <BRSxSel+0x66>)
   1daf8:	f832 3013 	ldrh.w	r3, [r2, r3, lsl #1]
   1dafc:	897a      	ldrh	r2, [r7, #10]
   1dafe:	429a      	cmp	r2, r3
   1db00:	d104      	bne.n	1db0c <BRSxSel+0x4a>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:347
		{
			brs=ValBRSxS[i];
   1db02:	89bb      	ldrh	r3, [r7, #12]
   1db04:	4a09      	ldr	r2, [pc, #36]	; (1db2c <BRSxSel+0x6a>)
   1db06:	5cd3      	ldrb	r3, [r2, r3]
   1db08:	73fb      	strb	r3, [r7, #15]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:348
			break;
   1db0a:	e005      	b.n	1db18 <BRSxSel+0x56>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:343
	for(i=0;i<36;i++)
   1db0c:	89bb      	ldrh	r3, [r7, #12]
   1db0e:	3301      	adds	r3, #1
   1db10:	81bb      	strh	r3, [r7, #12]
   1db12:	89bb      	ldrh	r3, [r7, #12]
   1db14:	2b23      	cmp	r3, #35	; 0x23
   1db16:	d9ed      	bls.n	1daf4 <BRSxSel+0x32>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:351
		}
	}
	return brs;
   1db18:	7bfb      	ldrb	r3, [r7, #15]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/uart.c:352
}
   1db1a:	4618      	mov	r0, r3
   1db1c:	3714      	adds	r7, #20
   1db1e:	46bd      	mov	sp, r7
   1db20:	bd90      	pop	{r4, r7, pc}
   1db22:	bf00      	nop
   1db24:	408f4000 	.word	0x408f4000
   1db28:	20002064 	.word	0x20002064
   1db2c:	200020ac 	.word	0x200020ac

0001db30 <EUSCIA3_IRQHandler>:
EUSCIA3_IRQHandler():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/isr.c:17
//触发条件：UART_User串口收到一个字节触发
//备    注：进入本程序后，可使用uart_get_re_int函数可再进行中断标志判断
//          （1-有UART接收中断，0-没有UART接收中断）
//======================================================================
void UART_User_Handler(void)
{
   1db30:	b580      	push	{r7, lr}
   1db32:	b082      	sub	sp, #8
   1db34:	af00      	add	r7, sp, #0
__disable_irq():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\02_CPU/cmsis_gcc.h:71
  __ASM volatile ("cpsid i" : : : "memory");
   1db36:	b672      	cpsid	i
EUSCIA3_IRQHandler():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/isr.c:22
	 //（1）变量声明
    uint8_t flag,ch;
    DISABLE_INTERRUPTS;      //关总中断
    //（2）未触发串口接收中断，退出
    if(!uart_get_re_int(UART_User)) goto UART_User_Handler_EXIT;
   1db38:	2003      	movs	r0, #3
   1db3a:	f7ff ff89 	bl	1da50 <uart_get_re_int>
   1db3e:	4603      	mov	r3, r0
   1db40:	2b00      	cmp	r3, #0
   1db42:	d014      	beq.n	1db6e <EUSCIA3_IRQHandler+0x3e>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/isr.c:24
    //（3）收到一个字节，读出该字节数据
    ch = uart_re1(UART_User,&flag);        //调用接收一个字节的函数
   1db44:	1dbb      	adds	r3, r7, #6
   1db46:	4619      	mov	r1, r3
   1db48:	2003      	movs	r0, #3
   1db4a:	f7ff feb7 	bl	1d8bc <uart_re1>
   1db4e:	4603      	mov	r3, r0
   1db50:	71fb      	strb	r3, [r7, #7]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/isr.c:25
    if(!flag) goto UART_User_Handler_EXIT; //实际未收到数据，退出
   1db52:	79bb      	ldrb	r3, [r7, #6]
   1db54:	2b00      	cmp	r3, #0
   1db56:	d00c      	beq.n	1db72 <EUSCIA3_IRQHandler+0x42>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/isr.c:29
  //（4）以下代码根据是否使用模板提供的User串口通信帧结构，及是否利用User串口
    //     进行带有设备序列号的进行程序更新而选择
    //（4.1）【自行组帧使用（开始)】
        uart_send1(UART_User,ch);     //例如，收到一个字节回发一个字节
   1db58:	79fb      	ldrb	r3, [r7, #7]
   1db5a:	4619      	mov	r1, r3
   1db5c:	2003      	movs	r0, #3
   1db5e:	f7ff fe0b 	bl	1d778 <uart_send1>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/isr.c:30
        uart_send1(UART_UPDATE,ch);     //例如，收到一个字节回发一个字节
   1db62:	79fb      	ldrb	r3, [r7, #7]
   1db64:	4619      	mov	r1, r3
   1db66:	2000      	movs	r0, #0
   1db68:	f7ff fe06 	bl	1d778 <uart_send1>
   1db6c:	e002      	b.n	1db74 <EUSCIA3_IRQHandler+0x44>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/isr.c:22
    if(!uart_get_re_int(UART_User)) goto UART_User_Handler_EXIT;
   1db6e:	bf00      	nop
   1db70:	e000      	b.n	1db74 <EUSCIA3_IRQHandler+0x44>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/isr.c:25
    if(!flag) goto UART_User_Handler_EXIT; //实际未收到数据，退出
   1db72:	bf00      	nop
__enable_irq():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\02_CPU/cmsis_gcc.h:60
  __ASM volatile ("cpsie i" : : : "memory");
   1db74:	b662      	cpsie	i
EUSCIA3_IRQHandler():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/isr.c:50
        //【使用模板提供的User串口通信帧结构（结束)】
     */
    //（5）【公共退出区】
UART_User_Handler_EXIT:
    ENABLE_INTERRUPTS;//开总中断
}
   1db76:	bf00      	nop
   1db78:	3708      	adds	r7, #8
   1db7a:	46bd      	mov	sp, r7
   1db7c:	bd80      	pop	{r7, pc}

0001db7e <User_SysFun>:
User_SysFun():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/isr.c:56



//内部函数
void User_SysFun(uint8_t ch)
{
   1db7e:	b580      	push	{r7, lr}
   1db80:	b082      	sub	sp, #8
   1db82:	af00      	add	r7, sp, #0
   1db84:	4603      	mov	r3, r0
   1db86:	71fb      	strb	r3, [r7, #7]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/isr.c:58
    //（1）收到的一个字节参与组帧
    if(gcRecvLen == 0)  gcRecvLen =useremuart_frame(ch,(uint8_t*)gcRecvBuf);
   1db88:	4b19      	ldr	r3, [pc, #100]	; (1dbf0 <User_SysFun+0x72>)
   1db8a:	881b      	ldrh	r3, [r3, #0]
   1db8c:	b29b      	uxth	r3, r3
   1db8e:	2b00      	cmp	r3, #0
   1db90:	d108      	bne.n	1dba4 <User_SysFun+0x26>
   1db92:	79fb      	ldrb	r3, [r7, #7]
   1db94:	4917      	ldr	r1, [pc, #92]	; (1dbf4 <User_SysFun+0x76>)
   1db96:	4618      	mov	r0, r3
   1db98:	f7fd fc14 	bl	1b3c4 <useremuart_frame>
   1db9c:	4603      	mov	r3, r0
   1db9e:	461a      	mov	r2, r3
   1dba0:	4b13      	ldr	r3, [pc, #76]	; (1dbf0 <User_SysFun+0x72>)
   1dba2:	801a      	strh	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/isr.c:61
    //（2）字节进入组帧后，判断gcRecvLen=0？若为0，表示组帧尚未完成，
    //     下次收到一个字节，再继续组帧
    if(gcRecvLen == 0) goto User_SysFun_Exit;
   1dba4:	4b12      	ldr	r3, [pc, #72]	; (1dbf0 <User_SysFun+0x72>)
   1dba6:	881b      	ldrh	r3, [r3, #0]
   1dba8:	b29b      	uxth	r3, r3
   1dbaa:	2b00      	cmp	r3, #0
   1dbac:	d01a      	beq.n	1dbe4 <User_SysFun+0x66>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/isr.c:65
    //（3）至此，gcRecvLen≠0,表示组帧完成，gcRecvLen为帧的长度,校验序列号后（与
    //     根据Flash中倒数一扇区开始的16字节进行比较）
    //     gcRecvBuf[16]进行跳转
    if(strncmp((char *)(gcRecvBuf),(char *)((MCU_SECTOR_NUM-1)*MCU_SECTORSIZE+
   1dbae:	2210      	movs	r2, #16
   1dbb0:	f44f 317c 	mov.w	r1, #258048	; 0x3f000
   1dbb4:	480f      	ldr	r0, [pc, #60]	; (1dbf4 <User_SysFun+0x76>)
   1dbb6:	f001 fdfa 	bl	1f7ae <strncmp>
   1dbba:	4603      	mov	r3, r0
   1dbbc:	2b00      	cmp	r3, #0
   1dbbe:	d003      	beq.n	1dbc8 <User_SysFun+0x4a>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/isr.c:68
       MCU_FLASH_ADDR_START),16) != 0)
    {
        gcRecvLen = 0;         //恢复接收状态
   1dbc0:	4b0b      	ldr	r3, [pc, #44]	; (1dbf0 <User_SysFun+0x72>)
   1dbc2:	2200      	movs	r2, #0
   1dbc4:	801a      	strh	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/isr.c:69
        goto User_SysFun_Exit;
   1dbc6:	e00e      	b.n	1dbe6 <User_SysFun+0x68>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/isr.c:73
    }
    //（4）至此，不仅收到完整帧，且序号比较也一致， 根据命令字节gcRecvBuf[16]进行跳转
    //若为User串口程序更新命令，则进行程序更新
    switch(gcRecvBuf[16])  //帧标识
   1dbc8:	4b0a      	ldr	r3, [pc, #40]	; (1dbf4 <User_SysFun+0x76>)
   1dbca:	7c1b      	ldrb	r3, [r3, #16]
   1dbcc:	b2db      	uxtb	r3, r3
   1dbce:	2b00      	cmp	r3, #0
   1dbd0:	d000      	beq.n	1dbd4 <User_SysFun+0x56>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/isr.c:80
        case 0:
            SYSTEM_FUNCTION((uint8_t *)(gcRecvBuf+17));
            gcRecvLen = 0;         //恢复接收状态
        break;
        default:
        break;
   1dbd2:	e008      	b.n	1dbe6 <User_SysFun+0x68>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/isr.c:76
            SYSTEM_FUNCTION((uint8_t *)(gcRecvBuf+17));
   1dbd4:	4b08      	ldr	r3, [pc, #32]	; (1dbf8 <User_SysFun+0x7a>)
   1dbd6:	4618      	mov	r0, r3
   1dbd8:	f7ff fb3e 	bl	1d258 <SYSTEM_FUNCTION>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/isr.c:77
            gcRecvLen = 0;         //恢复接收状态
   1dbdc:	4b04      	ldr	r3, [pc, #16]	; (1dbf0 <User_SysFun+0x72>)
   1dbde:	2200      	movs	r2, #0
   1dbe0:	801a      	strh	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/isr.c:78
        break;
   1dbe2:	e000      	b.n	1dbe6 <User_SysFun+0x68>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/isr.c:61
    if(gcRecvLen == 0) goto User_SysFun_Exit;
   1dbe4:	bf00      	nop
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/isr.c:83
    }
User_SysFun_Exit:
    return;
   1dbe6:	bf00      	nop
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/isr.c:84
}
   1dbe8:	3708      	adds	r7, #8
   1dbea:	46bd      	mov	sp, r7
   1dbec:	bd80      	pop	{r7, pc}
   1dbee:	bf00      	nop
   1dbf0:	20002158 	.word	0x20002158
   1dbf4:	2000215c 	.word	0x2000215c
   1dbf8:	2000216d 	.word	0x2000216d
   1dbfc:	00000000 	.word	0x00000000

0001dc00 <out_char>:
out_char():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:18
//参数说明：uartNo:串口号：UARTA、UARTB、UARTC、UART_DEBUG
//       data:数据：通过串口发送的一字节数据
//函数返回：无
//======================================================================

void out_char(char data) {
   1dc00:	b580      	push	{r7, lr}
   1dc02:	b082      	sub	sp, #8
   1dc04:	af00      	add	r7, sp, #0
   1dc06:	4603      	mov	r3, r0
   1dc08:	71fb      	strb	r3, [r7, #7]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:19
	uart_send1(UART_printf, data);
   1dc0a:	79fb      	ldrb	r3, [r7, #7]
   1dc0c:	4619      	mov	r1, r3
   1dc0e:	2000      	movs	r0, #0
   1dc10:	f7ff fdb2 	bl	1d778 <uart_send1>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:20
}
   1dc14:	bf00      	nop
   1dc16:	3708      	adds	r7, #8
   1dc18:	46bd      	mov	sp, r7
   1dc1a:	bd80      	pop	{r7, pc}

0001dc1c <printk_putc>:
printk_putc():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:28
//功能概要：通过串口打出一个字符
//参数说明：data:数据：通过串口发送的一字节数据
//函数返回：无
//======================================================================
static void printk_putc(int c, int *count, PRINTK_INFO *info)
{
   1dc1c:	b580      	push	{r7, lr}
   1dc1e:	b084      	sub	sp, #16
   1dc20:	af00      	add	r7, sp, #0
   1dc22:	60f8      	str	r0, [r7, #12]
   1dc24:	60b9      	str	r1, [r7, #8]
   1dc26:	607a      	str	r2, [r7, #4]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:29
	switch (info->dest) {
   1dc28:	687b      	ldr	r3, [r7, #4]
   1dc2a:	681b      	ldr	r3, [r3, #0]
   1dc2c:	2b01      	cmp	r3, #1
   1dc2e:	d002      	beq.n	1dc36 <printk_putc+0x1a>
   1dc30:	2b02      	cmp	r3, #2
   1dc32:	d007      	beq.n	1dc44 <printk_putc+0x28>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:38
	case DEST_STRING:
		*(info->loc) = (unsigned char) c;
		++(info->loc);
		break;
	default:
		break;
   1dc34:	e011      	b.n	1dc5a <printk_putc+0x3e>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:31
		info->func((char) c);
   1dc36:	687b      	ldr	r3, [r7, #4]
   1dc38:	685b      	ldr	r3, [r3, #4]
   1dc3a:	68fa      	ldr	r2, [r7, #12]
   1dc3c:	b2d2      	uxtb	r2, r2
   1dc3e:	4610      	mov	r0, r2
   1dc40:	4798      	blx	r3
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:32
		break;
   1dc42:	e00a      	b.n	1dc5a <printk_putc+0x3e>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:34
		*(info->loc) = (unsigned char) c;
   1dc44:	687b      	ldr	r3, [r7, #4]
   1dc46:	689b      	ldr	r3, [r3, #8]
   1dc48:	68fa      	ldr	r2, [r7, #12]
   1dc4a:	b2d2      	uxtb	r2, r2
   1dc4c:	701a      	strb	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:35
		++(info->loc);
   1dc4e:	687b      	ldr	r3, [r7, #4]
   1dc50:	689b      	ldr	r3, [r3, #8]
   1dc52:	1c5a      	adds	r2, r3, #1
   1dc54:	687b      	ldr	r3, [r7, #4]
   1dc56:	609a      	str	r2, [r3, #8]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:36
		break;
   1dc58:	bf00      	nop
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:40
	}
	*count += 1;
   1dc5a:	68bb      	ldr	r3, [r7, #8]
   1dc5c:	681b      	ldr	r3, [r3, #0]
   1dc5e:	1c5a      	adds	r2, r3, #1
   1dc60:	68bb      	ldr	r3, [r7, #8]
   1dc62:	601a      	str	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:41
}
   1dc64:	bf00      	nop
   1dc66:	3710      	adds	r7, #16
   1dc68:	46bd      	mov	sp, r7
   1dc6a:	bd80      	pop	{r7, pc}

0001dc6c <printk_mkfloatstr>:
printk_mkfloatstr():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:50
//参数说明： *f:浮点型数据：float型数据
//       c[]:字符串数组：转化后的到的字符串数组
//函数返回：无
//======================================================================
int printk_mkfloatstr(double *f,char c[],int precision_width)
{
   1dc6c:	b5b0      	push	{r4, r5, r7, lr}
   1dc6e:	b0a6      	sub	sp, #152	; 0x98
   1dc70:	af00      	add	r7, sp, #0
   1dc72:	60f8      	str	r0, [r7, #12]
   1dc74:	60b9      	str	r1, [r7, #8]
   1dc76:	607a      	str	r2, [r7, #4]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:51
	uint32_t p,i,j,k,a[5]={0},b[19]={0};
   1dc78:	f107 035c 	add.w	r3, r7, #92	; 0x5c
   1dc7c:	2200      	movs	r2, #0
   1dc7e:	601a      	str	r2, [r3, #0]
   1dc80:	605a      	str	r2, [r3, #4]
   1dc82:	609a      	str	r2, [r3, #8]
   1dc84:	60da      	str	r2, [r3, #12]
   1dc86:	611a      	str	r2, [r3, #16]
   1dc88:	f107 0310 	add.w	r3, r7, #16
   1dc8c:	224c      	movs	r2, #76	; 0x4c
   1dc8e:	2100      	movs	r1, #0
   1dc90:	4618      	mov	r0, r3
   1dc92:	f001 fd84 	bl	1f79e <memset>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:54
	uint64_t q;
	double tempf;
	p=0;
   1dc96:	2300      	movs	r3, #0
   1dc98:	f8c7 3094 	str.w	r3, [r7, #148]	; 0x94
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:55
	q=0;
   1dc9c:	f04f 0300 	mov.w	r3, #0
   1dca0:	f04f 0400 	mov.w	r4, #0
   1dca4:	e9c7 3420 	strd	r3, r4, [r7, #128]	; 0x80
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:58
	//float m;
	double m;
	p=(uint32_t)*f;//整数部分
   1dca8:	68fb      	ldr	r3, [r7, #12]
   1dcaa:	e9d3 3400 	ldrd	r3, r4, [r3]
   1dcae:	4618      	mov	r0, r3
   1dcb0:	4621      	mov	r1, r4
   1dcb2:	f001 fb6f 	bl	1f394 <__aeabi_d2uiz>
   1dcb6:	4603      	mov	r3, r0
   1dcb8:	f8c7 3094 	str.w	r3, [r7, #148]	; 0x94
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:59
	tempf=(*f-p);
   1dcbc:	68fb      	ldr	r3, [r7, #12]
   1dcbe:	e9d3 4500 	ldrd	r4, r5, [r3]
   1dcc2:	f8d7 0094 	ldr.w	r0, [r7, #148]	; 0x94
   1dcc6:	f001 f851 	bl	1ed6c <__aeabi_ui2d>
   1dcca:	4602      	mov	r2, r0
   1dccc:	460b      	mov	r3, r1
   1dcce:	4620      	mov	r0, r4
   1dcd0:	4629      	mov	r1, r5
   1dcd2:	f000 ff0d 	bl	1eaf0 <__aeabi_dsub>
   1dcd6:	4603      	mov	r3, r0
   1dcd8:	460c      	mov	r4, r1
   1dcda:	e9c7 341e 	strd	r3, r4, [r7, #120]	; 0x78
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:60
	if(precision_width==0)
   1dcde:	687b      	ldr	r3, [r7, #4]
   1dce0:	2b00      	cmp	r3, #0
   1dce2:	d12b      	bne.n	1dd3c <printk_mkfloatstr+0xd0>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:61
	q=(*f-p)*100000000000000000;//小数部分
   1dce4:	68fb      	ldr	r3, [r7, #12]
   1dce6:	e9d3 4500 	ldrd	r4, r5, [r3]
   1dcea:	f8d7 0094 	ldr.w	r0, [r7, #148]	; 0x94
   1dcee:	f001 f83d 	bl	1ed6c <__aeabi_ui2d>
   1dcf2:	4602      	mov	r2, r0
   1dcf4:	460b      	mov	r3, r1
   1dcf6:	4620      	mov	r0, r4
   1dcf8:	4629      	mov	r1, r5
   1dcfa:	f000 fef9 	bl	1eaf0 <__aeabi_dsub>
   1dcfe:	4603      	mov	r3, r0
   1dd00:	460c      	mov	r4, r1
   1dd02:	4618      	mov	r0, r3
   1dd04:	4621      	mov	r1, r4
   1dd06:	a39d      	add	r3, pc, #628	; (adr r3, 1df7c <printk_mkfloatstr+0x310>)
   1dd08:	e9d3 2300 	ldrd	r2, r3, [r3]
   1dd0c:	f001 f8a8 	bl	1ee60 <__aeabi_dmul>
   1dd10:	4603      	mov	r3, r0
   1dd12:	460c      	mov	r4, r1
   1dd14:	4618      	mov	r0, r3
   1dd16:	4621      	mov	r1, r4
   1dd18:	f001 fb74 	bl	1f404 <__aeabi_d2ulz>
   1dd1c:	4603      	mov	r3, r0
   1dd1e:	460c      	mov	r4, r1
   1dd20:	e9c7 3420 	strd	r3, r4, [r7, #128]	; 0x80
   1dd24:	e017      	b.n	1dd56 <printk_mkfloatstr+0xea>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:65
	else
	{
		while(precision_width--)
		tempf*=10;
   1dd26:	f04f 0200 	mov.w	r2, #0
   1dd2a:	4b91      	ldr	r3, [pc, #580]	; (1df70 <printk_mkfloatstr+0x304>)
   1dd2c:	e9d7 011e 	ldrd	r0, r1, [r7, #120]	; 0x78
   1dd30:	f001 f896 	bl	1ee60 <__aeabi_dmul>
   1dd34:	4603      	mov	r3, r0
   1dd36:	460c      	mov	r4, r1
   1dd38:	e9c7 341e 	strd	r3, r4, [r7, #120]	; 0x78
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:64
		while(precision_width--)
   1dd3c:	687b      	ldr	r3, [r7, #4]
   1dd3e:	1e5a      	subs	r2, r3, #1
   1dd40:	607a      	str	r2, [r7, #4]
   1dd42:	2b00      	cmp	r3, #0
   1dd44:	d1ef      	bne.n	1dd26 <printk_mkfloatstr+0xba>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:66
		q=tempf;
   1dd46:	e9d7 011e 	ldrd	r0, r1, [r7, #120]	; 0x78
   1dd4a:	f001 fb5b 	bl	1f404 <__aeabi_d2ulz>
   1dd4e:	4603      	mov	r3, r0
   1dd50:	460c      	mov	r4, r1
   1dd52:	e9c7 3420 	strd	r3, r4, [r7, #128]	; 0x80
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:68
	}
	m=*f-p;
   1dd56:	68fb      	ldr	r3, [r7, #12]
   1dd58:	e9d3 4500 	ldrd	r4, r5, [r3]
   1dd5c:	f8d7 0094 	ldr.w	r0, [r7, #148]	; 0x94
   1dd60:	f001 f804 	bl	1ed6c <__aeabi_ui2d>
   1dd64:	4602      	mov	r2, r0
   1dd66:	460b      	mov	r3, r1
   1dd68:	4620      	mov	r0, r4
   1dd6a:	4629      	mov	r1, r5
   1dd6c:	f000 fec0 	bl	1eaf0 <__aeabi_dsub>
   1dd70:	4603      	mov	r3, r0
   1dd72:	460c      	mov	r4, r1
   1dd74:	e9c7 341c 	strd	r3, r4, [r7, #112]	; 0x70
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:69
	k=0;
   1dd78:	2300      	movs	r3, #0
   1dd7a:	f8c7 3088 	str.w	r3, [r7, #136]	; 0x88
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:70
	while(m<1)
   1dd7e:	e00f      	b.n	1dda0 <printk_mkfloatstr+0x134>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:72
	{
		m=m*10;
   1dd80:	f04f 0200 	mov.w	r2, #0
   1dd84:	4b7a      	ldr	r3, [pc, #488]	; (1df70 <printk_mkfloatstr+0x304>)
   1dd86:	e9d7 011c 	ldrd	r0, r1, [r7, #112]	; 0x70
   1dd8a:	f001 f869 	bl	1ee60 <__aeabi_dmul>
   1dd8e:	4603      	mov	r3, r0
   1dd90:	460c      	mov	r4, r1
   1dd92:	e9c7 341c 	strd	r3, r4, [r7, #112]	; 0x70
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:73
		k++;
   1dd96:	f8d7 3088 	ldr.w	r3, [r7, #136]	; 0x88
   1dd9a:	3301      	adds	r3, #1
   1dd9c:	f8c7 3088 	str.w	r3, [r7, #136]	; 0x88
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:70
	while(m<1)
   1dda0:	f04f 0200 	mov.w	r2, #0
   1dda4:	4b73      	ldr	r3, [pc, #460]	; (1df74 <printk_mkfloatstr+0x308>)
   1dda6:	e9d7 011c 	ldrd	r0, r1, [r7, #112]	; 0x70
   1ddaa:	f001 facb 	bl	1f344 <__aeabi_dcmplt>
   1ddae:	4603      	mov	r3, r0
   1ddb0:	2b00      	cmp	r3, #0
   1ddb2:	d1e5      	bne.n	1dd80 <printk_mkfloatstr+0x114>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:75
	};
	k--;          //记录小数点后到第一位不为零的小数之前 有多少个0.
   1ddb4:	f8d7 3088 	ldr.w	r3, [r7, #136]	; 0x88
   1ddb8:	3b01      	subs	r3, #1
   1ddba:	f8c7 3088 	str.w	r3, [r7, #136]	; 0x88
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:77

		i=0;
   1ddbe:	2300      	movs	r3, #0
   1ddc0:	f8c7 3090 	str.w	r3, [r7, #144]	; 0x90
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:78
	if(0==p)//整数部分为0
   1ddc4:	f8d7 3094 	ldr.w	r3, [r7, #148]	; 0x94
   1ddc8:	2b00      	cmp	r3, #0
   1ddca:	d109      	bne.n	1dde0 <printk_mkfloatstr+0x174>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:79
		c[i++]='0';
   1ddcc:	f8d7 3090 	ldr.w	r3, [r7, #144]	; 0x90
   1ddd0:	1c5a      	adds	r2, r3, #1
   1ddd2:	f8c7 2090 	str.w	r2, [r7, #144]	; 0x90
   1ddd6:	68ba      	ldr	r2, [r7, #8]
   1ddd8:	4413      	add	r3, r2
   1ddda:	2230      	movs	r2, #48	; 0x30
   1dddc:	701a      	strb	r2, [r3, #0]
   1ddde:	e043      	b.n	1de68 <printk_mkfloatstr+0x1fc>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:82
	else//整数部分不为0
	{
		j=0;
   1dde0:	2300      	movs	r3, #0
   1dde2:	f8c7 308c 	str.w	r3, [r7, #140]	; 0x8c
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:83
		while(p!=0)//倒序的数字
   1dde6:	e01d      	b.n	1de24 <printk_mkfloatstr+0x1b8>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:85
		{
			a[j++]=p%10;
   1dde8:	f8d7 108c 	ldr.w	r1, [r7, #140]	; 0x8c
   1ddec:	1c4b      	adds	r3, r1, #1
   1ddee:	f8c7 308c 	str.w	r3, [r7, #140]	; 0x8c
   1ddf2:	f8d7 0094 	ldr.w	r0, [r7, #148]	; 0x94
   1ddf6:	4b60      	ldr	r3, [pc, #384]	; (1df78 <printk_mkfloatstr+0x30c>)
   1ddf8:	fba3 2300 	umull	r2, r3, r3, r0
   1ddfc:	08da      	lsrs	r2, r3, #3
   1ddfe:	4613      	mov	r3, r2
   1de00:	009b      	lsls	r3, r3, #2
   1de02:	4413      	add	r3, r2
   1de04:	005b      	lsls	r3, r3, #1
   1de06:	1ac2      	subs	r2, r0, r3
   1de08:	008b      	lsls	r3, r1, #2
   1de0a:	f107 0198 	add.w	r1, r7, #152	; 0x98
   1de0e:	440b      	add	r3, r1
   1de10:	f843 2c3c 	str.w	r2, [r3, #-60]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:86
			p/=10;
   1de14:	f8d7 3094 	ldr.w	r3, [r7, #148]	; 0x94
   1de18:	4a57      	ldr	r2, [pc, #348]	; (1df78 <printk_mkfloatstr+0x30c>)
   1de1a:	fba2 2303 	umull	r2, r3, r2, r3
   1de1e:	08db      	lsrs	r3, r3, #3
   1de20:	f8c7 3094 	str.w	r3, [r7, #148]	; 0x94
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:83
		while(p!=0)//倒序的数字
   1de24:	f8d7 3094 	ldr.w	r3, [r7, #148]	; 0x94
   1de28:	2b00      	cmp	r3, #0
   1de2a:	d1dd      	bne.n	1dde8 <printk_mkfloatstr+0x17c>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:88
		}
		while(j>0)//将倒序数字转为正序，并转换为对应的字符形式
   1de2c:	e018      	b.n	1de60 <printk_mkfloatstr+0x1f4>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:90
		{
			c[i++]=a[j-1]+'0';
   1de2e:	f8d7 308c 	ldr.w	r3, [r7, #140]	; 0x8c
   1de32:	3b01      	subs	r3, #1
   1de34:	009b      	lsls	r3, r3, #2
   1de36:	f107 0298 	add.w	r2, r7, #152	; 0x98
   1de3a:	4413      	add	r3, r2
   1de3c:	f853 3c3c 	ldr.w	r3, [r3, #-60]
   1de40:	b2da      	uxtb	r2, r3
   1de42:	f8d7 3090 	ldr.w	r3, [r7, #144]	; 0x90
   1de46:	1c59      	adds	r1, r3, #1
   1de48:	f8c7 1090 	str.w	r1, [r7, #144]	; 0x90
   1de4c:	68b9      	ldr	r1, [r7, #8]
   1de4e:	440b      	add	r3, r1
   1de50:	3230      	adds	r2, #48	; 0x30
   1de52:	b2d2      	uxtb	r2, r2
   1de54:	701a      	strb	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:91
			--j;
   1de56:	f8d7 308c 	ldr.w	r3, [r7, #140]	; 0x8c
   1de5a:	3b01      	subs	r3, #1
   1de5c:	f8c7 308c 	str.w	r3, [r7, #140]	; 0x8c
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:88
		while(j>0)//将倒序数字转为正序，并转换为对应的字符形式
   1de60:	f8d7 308c 	ldr.w	r3, [r7, #140]	; 0x8c
   1de64:	2b00      	cmp	r3, #0
   1de66:	d1e2      	bne.n	1de2e <printk_mkfloatstr+0x1c2>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:94
		}
	}
	c[i++]='.';//小数点
   1de68:	f8d7 3090 	ldr.w	r3, [r7, #144]	; 0x90
   1de6c:	1c5a      	adds	r2, r3, #1
   1de6e:	f8c7 2090 	str.w	r2, [r7, #144]	; 0x90
   1de72:	68ba      	ldr	r2, [r7, #8]
   1de74:	4413      	add	r3, r2
   1de76:	222e      	movs	r2, #46	; 0x2e
   1de78:	701a      	strb	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:95
	if(0==q)//小数部分为0
   1de7a:	e9d7 3420 	ldrd	r3, r4, [r7, #128]	; 0x80
   1de7e:	4323      	orrs	r3, r4
   1de80:	d109      	bne.n	1de96 <printk_mkfloatstr+0x22a>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:96
		c[i++]='0';
   1de82:	f8d7 3090 	ldr.w	r3, [r7, #144]	; 0x90
   1de86:	1c5a      	adds	r2, r3, #1
   1de88:	f8c7 2090 	str.w	r2, [r7, #144]	; 0x90
   1de8c:	68ba      	ldr	r2, [r7, #8]
   1de8e:	4413      	add	r3, r2
   1de90:	2230      	movs	r2, #48	; 0x30
   1de92:	701a      	strb	r2, [r3, #0]
   1de94:	e05f      	b.n	1df56 <printk_mkfloatstr+0x2ea>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:99
	else//小数部分不为0
	{
		j=0;
   1de96:	2300      	movs	r3, #0
   1de98:	f8c7 308c 	str.w	r3, [r7, #140]	; 0x8c
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:101

		while(q!=0)//倒序的数字
   1de9c:	e023      	b.n	1dee6 <printk_mkfloatstr+0x27a>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:103
		{
			b[j++]=q%10;
   1de9e:	e9d7 0120 	ldrd	r0, r1, [r7, #128]	; 0x80
   1dea2:	f04f 020a 	mov.w	r2, #10
   1dea6:	f04f 0300 	mov.w	r3, #0
   1deaa:	f001 fa93 	bl	1f3d4 <__aeabi_uldivmod>
   1deae:	461c      	mov	r4, r3
   1deb0:	4613      	mov	r3, r2
   1deb2:	4618      	mov	r0, r3
   1deb4:	4621      	mov	r1, r4
   1deb6:	f8d7 308c 	ldr.w	r3, [r7, #140]	; 0x8c
   1deba:	1c5a      	adds	r2, r3, #1
   1debc:	f8c7 208c 	str.w	r2, [r7, #140]	; 0x8c
   1dec0:	4602      	mov	r2, r0
   1dec2:	009b      	lsls	r3, r3, #2
   1dec4:	f107 0198 	add.w	r1, r7, #152	; 0x98
   1dec8:	440b      	add	r3, r1
   1deca:	f843 2c88 	str.w	r2, [r3, #-136]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:104
			q/=10;
   1dece:	e9d7 0120 	ldrd	r0, r1, [r7, #128]	; 0x80
   1ded2:	f04f 020a 	mov.w	r2, #10
   1ded6:	f04f 0300 	mov.w	r3, #0
   1deda:	f001 fa7b 	bl	1f3d4 <__aeabi_uldivmod>
   1dede:	4603      	mov	r3, r0
   1dee0:	460c      	mov	r4, r1
   1dee2:	e9c7 3420 	strd	r3, r4, [r7, #128]	; 0x80
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:101
		while(q!=0)//倒序的数字
   1dee6:	e9d7 3420 	ldrd	r3, r4, [r7, #128]	; 0x80
   1deea:	4323      	orrs	r3, r4
   1deec:	d1d7      	bne.n	1de9e <printk_mkfloatstr+0x232>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:106
		}
		while(k!=0)
   1deee:	e010      	b.n	1df12 <printk_mkfloatstr+0x2a6>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:108
		{
			b[j++]=0;
   1def0:	f8d7 308c 	ldr.w	r3, [r7, #140]	; 0x8c
   1def4:	1c5a      	adds	r2, r3, #1
   1def6:	f8c7 208c 	str.w	r2, [r7, #140]	; 0x8c
   1defa:	009b      	lsls	r3, r3, #2
   1defc:	f107 0298 	add.w	r2, r7, #152	; 0x98
   1df00:	4413      	add	r3, r2
   1df02:	2200      	movs	r2, #0
   1df04:	f843 2c88 	str.w	r2, [r3, #-136]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:109
			k--;
   1df08:	f8d7 3088 	ldr.w	r3, [r7, #136]	; 0x88
   1df0c:	3b01      	subs	r3, #1
   1df0e:	f8c7 3088 	str.w	r3, [r7, #136]	; 0x88
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:106
		while(k!=0)
   1df12:	f8d7 3088 	ldr.w	r3, [r7, #136]	; 0x88
   1df16:	2b00      	cmp	r3, #0
   1df18:	d1ea      	bne.n	1def0 <printk_mkfloatstr+0x284>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:111
		}
		while(j>0)//将倒序数字转为正序，并转换为对应的字符形式
   1df1a:	e018      	b.n	1df4e <printk_mkfloatstr+0x2e2>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:113
		{
			c[i++]=b[j-1]+'0';
   1df1c:	f8d7 308c 	ldr.w	r3, [r7, #140]	; 0x8c
   1df20:	3b01      	subs	r3, #1
   1df22:	009b      	lsls	r3, r3, #2
   1df24:	f107 0298 	add.w	r2, r7, #152	; 0x98
   1df28:	4413      	add	r3, r2
   1df2a:	f853 3c88 	ldr.w	r3, [r3, #-136]
   1df2e:	b2da      	uxtb	r2, r3
   1df30:	f8d7 3090 	ldr.w	r3, [r7, #144]	; 0x90
   1df34:	1c59      	adds	r1, r3, #1
   1df36:	f8c7 1090 	str.w	r1, [r7, #144]	; 0x90
   1df3a:	68b9      	ldr	r1, [r7, #8]
   1df3c:	440b      	add	r3, r1
   1df3e:	3230      	adds	r2, #48	; 0x30
   1df40:	b2d2      	uxtb	r2, r2
   1df42:	701a      	strb	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:114
			--j;
   1df44:	f8d7 308c 	ldr.w	r3, [r7, #140]	; 0x8c
   1df48:	3b01      	subs	r3, #1
   1df4a:	f8c7 308c 	str.w	r3, [r7, #140]	; 0x8c
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:111
		while(j>0)//将倒序数字转为正序，并转换为对应的字符形式
   1df4e:	f8d7 308c 	ldr.w	r3, [r7, #140]	; 0x8c
   1df52:	2b00      	cmp	r3, #0
   1df54:	d1e2      	bne.n	1df1c <printk_mkfloatstr+0x2b0>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:117
		}
	}
	c[i]='\0';
   1df56:	68ba      	ldr	r2, [r7, #8]
   1df58:	f8d7 3090 	ldr.w	r3, [r7, #144]	; 0x90
   1df5c:	4413      	add	r3, r2
   1df5e:	2200      	movs	r2, #0
   1df60:	701a      	strb	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:118
	return i;
   1df62:	f8d7 3090 	ldr.w	r3, [r7, #144]	; 0x90
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:119
}
   1df66:	4618      	mov	r0, r3
   1df68:	3798      	adds	r7, #152	; 0x98
   1df6a:	46bd      	mov	sp, r7
   1df6c:	bdb0      	pop	{r4, r5, r7, pc}
   1df6e:	bf00      	nop
   1df70:	40240000 	.word	0x40240000
   1df74:	3ff00000 	.word	0x3ff00000
   1df78:	cccccccd 	.word	0xcccccccd
   1df7c:	85d8a000 	.word	0x85d8a000
   1df80:	43763457 	.word	0x43763457

0001df84 <printk_mknumstr>:
printk_mknumstr():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:130
//       neg:有无符号:判断数据时有符号还是无符号整形
//       radix:格式选择:确定输出格式例如：十进制或十六进制...
//函数返回：无
//======================================================================
static int printk_mknumstr(char *numstr, void *nump, int neg, int radix)
{
   1df84:	b480      	push	{r7}
   1df86:	b08d      	sub	sp, #52	; 0x34
   1df88:	af00      	add	r7, sp, #0
   1df8a:	60f8      	str	r0, [r7, #12]
   1df8c:	60b9      	str	r1, [r7, #8]
   1df8e:	607a      	str	r2, [r7, #4]
   1df90:	603b      	str	r3, [r7, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:137
	unsigned int ua, ub, uc;

	int nlen;
	char *nstrp;

	nlen = 0;
   1df92:	2300      	movs	r3, #0
   1df94:	61fb      	str	r3, [r7, #28]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:138
	nstrp = numstr;
   1df96:	68fb      	ldr	r3, [r7, #12]
   1df98:	61bb      	str	r3, [r7, #24]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:139
	*nstrp++ = '\0';
   1df9a:	69bb      	ldr	r3, [r7, #24]
   1df9c:	1c5a      	adds	r2, r3, #1
   1df9e:	61ba      	str	r2, [r7, #24]
   1dfa0:	2200      	movs	r2, #0
   1dfa2:	701a      	strb	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:141

	if (neg) {
   1dfa4:	687b      	ldr	r3, [r7, #4]
   1dfa6:	2b00      	cmp	r3, #0
   1dfa8:	d032      	beq.n	1e010 <printk_mknumstr+0x8c>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:142
		a = *(int *) nump;
   1dfaa:	68bb      	ldr	r3, [r7, #8]
   1dfac:	681b      	ldr	r3, [r3, #0]
   1dfae:	62fb      	str	r3, [r7, #44]	; 0x2c
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:143
		if (a == 0) {
   1dfb0:	6afb      	ldr	r3, [r7, #44]	; 0x2c
   1dfb2:	2b00      	cmp	r3, #0
   1dfb4:	d128      	bne.n	1e008 <printk_mknumstr+0x84>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:144
			*nstrp = '0';
   1dfb6:	69bb      	ldr	r3, [r7, #24]
   1dfb8:	2230      	movs	r2, #48	; 0x30
   1dfba:	701a      	strb	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:145
			++nlen;
   1dfbc:	69fb      	ldr	r3, [r7, #28]
   1dfbe:	3301      	adds	r3, #1
   1dfc0:	61fb      	str	r3, [r7, #28]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:146
			goto done;
   1dfc2:	e057      	b.n	1e074 <printk_mknumstr+0xf0>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:149
		}
		while (a != 0) {
			b = (int) a / (int) radix;
   1dfc4:	6afa      	ldr	r2, [r7, #44]	; 0x2c
   1dfc6:	683b      	ldr	r3, [r7, #0]
   1dfc8:	fb92 f3f3 	sdiv	r3, r2, r3
   1dfcc:	613b      	str	r3, [r7, #16]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:150
			c = (int) a - ((int) b * (int) radix);
   1dfce:	693b      	ldr	r3, [r7, #16]
   1dfd0:	683a      	ldr	r2, [r7, #0]
   1dfd2:	fb02 f303 	mul.w	r3, r2, r3
   1dfd6:	6afa      	ldr	r2, [r7, #44]	; 0x2c
   1dfd8:	1ad3      	subs	r3, r2, r3
   1dfda:	62bb      	str	r3, [r7, #40]	; 0x28
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:151
			if (c < 0) {
   1dfdc:	6abb      	ldr	r3, [r7, #40]	; 0x28
   1dfde:	2b00      	cmp	r3, #0
   1dfe0:	da04      	bge.n	1dfec <printk_mknumstr+0x68>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:152
				c = ~c + 1 + '0';
   1dfe2:	6abb      	ldr	r3, [r7, #40]	; 0x28
   1dfe4:	f1c3 0330 	rsb	r3, r3, #48	; 0x30
   1dfe8:	62bb      	str	r3, [r7, #40]	; 0x28
   1dfea:	e002      	b.n	1dff2 <printk_mknumstr+0x6e>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:154
			} else {
				c = c + '0';
   1dfec:	6abb      	ldr	r3, [r7, #40]	; 0x28
   1dfee:	3330      	adds	r3, #48	; 0x30
   1dff0:	62bb      	str	r3, [r7, #40]	; 0x28
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:156
			}
			a = b;
   1dff2:	693b      	ldr	r3, [r7, #16]
   1dff4:	62fb      	str	r3, [r7, #44]	; 0x2c
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:157
			*nstrp++ = (char) c;
   1dff6:	69bb      	ldr	r3, [r7, #24]
   1dff8:	1c5a      	adds	r2, r3, #1
   1dffa:	61ba      	str	r2, [r7, #24]
   1dffc:	6aba      	ldr	r2, [r7, #40]	; 0x28
   1dffe:	b2d2      	uxtb	r2, r2
   1e000:	701a      	strb	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:158
			++nlen;
   1e002:	69fb      	ldr	r3, [r7, #28]
   1e004:	3301      	adds	r3, #1
   1e006:	61fb      	str	r3, [r7, #28]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:148
		while (a != 0) {
   1e008:	6afb      	ldr	r3, [r7, #44]	; 0x2c
   1e00a:	2b00      	cmp	r3, #0
   1e00c:	d1da      	bne.n	1dfc4 <printk_mknumstr+0x40>
   1e00e:	e031      	b.n	1e074 <printk_mknumstr+0xf0>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:161
		}
	} else {
		ua = *(unsigned int *) nump;
   1e010:	68bb      	ldr	r3, [r7, #8]
   1e012:	681b      	ldr	r3, [r3, #0]
   1e014:	627b      	str	r3, [r7, #36]	; 0x24
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:162
		if (ua == 0) {
   1e016:	6a7b      	ldr	r3, [r7, #36]	; 0x24
   1e018:	2b00      	cmp	r3, #0
   1e01a:	d127      	bne.n	1e06c <printk_mknumstr+0xe8>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:163
			*nstrp = '0';
   1e01c:	69bb      	ldr	r3, [r7, #24]
   1e01e:	2230      	movs	r2, #48	; 0x30
   1e020:	701a      	strb	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:164
			++nlen;
   1e022:	69fb      	ldr	r3, [r7, #28]
   1e024:	3301      	adds	r3, #1
   1e026:	61fb      	str	r3, [r7, #28]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:165
			goto done;
   1e028:	e024      	b.n	1e074 <printk_mknumstr+0xf0>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:168
		}
		while (ua != 0) {
			ub = (unsigned int) ua / (unsigned int) radix;
   1e02a:	683b      	ldr	r3, [r7, #0]
   1e02c:	6a7a      	ldr	r2, [r7, #36]	; 0x24
   1e02e:	fbb2 f3f3 	udiv	r3, r2, r3
   1e032:	617b      	str	r3, [r7, #20]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:169
			uc = (unsigned int) ua - ((unsigned int) ub * (unsigned int) radix);
   1e034:	683b      	ldr	r3, [r7, #0]
   1e036:	697a      	ldr	r2, [r7, #20]
   1e038:	fb02 f303 	mul.w	r3, r2, r3
   1e03c:	6a7a      	ldr	r2, [r7, #36]	; 0x24
   1e03e:	1ad3      	subs	r3, r2, r3
   1e040:	623b      	str	r3, [r7, #32]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:170
			if (uc < 10) {
   1e042:	6a3b      	ldr	r3, [r7, #32]
   1e044:	2b09      	cmp	r3, #9
   1e046:	d803      	bhi.n	1e050 <printk_mknumstr+0xcc>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:171
				uc = uc + '0';
   1e048:	6a3b      	ldr	r3, [r7, #32]
   1e04a:	3330      	adds	r3, #48	; 0x30
   1e04c:	623b      	str	r3, [r7, #32]
   1e04e:	e002      	b.n	1e056 <printk_mknumstr+0xd2>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:173
			} else {
				uc = uc - 10 + 'A';
   1e050:	6a3b      	ldr	r3, [r7, #32]
   1e052:	3337      	adds	r3, #55	; 0x37
   1e054:	623b      	str	r3, [r7, #32]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:175
			}
			ua = ub;
   1e056:	697b      	ldr	r3, [r7, #20]
   1e058:	627b      	str	r3, [r7, #36]	; 0x24
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:176
			*nstrp++ = (char) uc;
   1e05a:	69bb      	ldr	r3, [r7, #24]
   1e05c:	1c5a      	adds	r2, r3, #1
   1e05e:	61ba      	str	r2, [r7, #24]
   1e060:	6a3a      	ldr	r2, [r7, #32]
   1e062:	b2d2      	uxtb	r2, r2
   1e064:	701a      	strb	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:177
			++nlen;
   1e066:	69fb      	ldr	r3, [r7, #28]
   1e068:	3301      	adds	r3, #1
   1e06a:	61fb      	str	r3, [r7, #28]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:167
		while (ua != 0) {
   1e06c:	6a7b      	ldr	r3, [r7, #36]	; 0x24
   1e06e:	2b00      	cmp	r3, #0
   1e070:	d1db      	bne.n	1e02a <printk_mknumstr+0xa6>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:180
		}
	}
	done: return nlen;
   1e072:	bf00      	nop
   1e074:	69fb      	ldr	r3, [r7, #28]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:181
}
   1e076:	4618      	mov	r0, r3
   1e078:	3734      	adds	r7, #52	; 0x34
   1e07a:	46bd      	mov	sp, r7
   1e07c:	f85d 7b04 	ldr.w	r7, [sp], #4
   1e080:	4770      	bx	lr

0001e082 <printk_pad_zero>:
printk_pad_zero():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:184
/********************************************************************/
static void printk_pad_zero(int curlen, int field_width, int *count,
		PRINTK_INFO *info) {
   1e082:	b580      	push	{r7, lr}
   1e084:	b086      	sub	sp, #24
   1e086:	af00      	add	r7, sp, #0
   1e088:	60f8      	str	r0, [r7, #12]
   1e08a:	60b9      	str	r1, [r7, #8]
   1e08c:	607a      	str	r2, [r7, #4]
   1e08e:	603b      	str	r3, [r7, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:187
	int i;

	for (i = curlen; i < field_width; i++) {
   1e090:	68fb      	ldr	r3, [r7, #12]
   1e092:	617b      	str	r3, [r7, #20]
   1e094:	e007      	b.n	1e0a6 <printk_pad_zero+0x24>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:188
		printk_putc('0', count, info);
   1e096:	683a      	ldr	r2, [r7, #0]
   1e098:	6879      	ldr	r1, [r7, #4]
   1e09a:	2030      	movs	r0, #48	; 0x30
   1e09c:	f7ff fdbe 	bl	1dc1c <printk_putc>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:187
	for (i = curlen; i < field_width; i++) {
   1e0a0:	697b      	ldr	r3, [r7, #20]
   1e0a2:	3301      	adds	r3, #1
   1e0a4:	617b      	str	r3, [r7, #20]
   1e0a6:	697a      	ldr	r2, [r7, #20]
   1e0a8:	68bb      	ldr	r3, [r7, #8]
   1e0aa:	429a      	cmp	r2, r3
   1e0ac:	dbf3      	blt.n	1e096 <printk_pad_zero+0x14>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:190
	}
}
   1e0ae:	bf00      	nop
   1e0b0:	3718      	adds	r7, #24
   1e0b2:	46bd      	mov	sp, r7
   1e0b4:	bd80      	pop	{r7, pc}

0001e0b6 <printk_pad_space>:
printk_pad_space():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:194

/********************************************************************/
static void printk_pad_space(int curlen, int field_width, int *count,
		PRINTK_INFO *info) {
   1e0b6:	b580      	push	{r7, lr}
   1e0b8:	b086      	sub	sp, #24
   1e0ba:	af00      	add	r7, sp, #0
   1e0bc:	60f8      	str	r0, [r7, #12]
   1e0be:	60b9      	str	r1, [r7, #8]
   1e0c0:	607a      	str	r2, [r7, #4]
   1e0c2:	603b      	str	r3, [r7, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:197
	int i;

	for (i = curlen; i < field_width; i++) {
   1e0c4:	68fb      	ldr	r3, [r7, #12]
   1e0c6:	617b      	str	r3, [r7, #20]
   1e0c8:	e007      	b.n	1e0da <printk_pad_space+0x24>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:198
		printk_putc(' ', count, info);
   1e0ca:	683a      	ldr	r2, [r7, #0]
   1e0cc:	6879      	ldr	r1, [r7, #4]
   1e0ce:	2020      	movs	r0, #32
   1e0d0:	f7ff fda4 	bl	1dc1c <printk_putc>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:197
	for (i = curlen; i < field_width; i++) {
   1e0d4:	697b      	ldr	r3, [r7, #20]
   1e0d6:	3301      	adds	r3, #1
   1e0d8:	617b      	str	r3, [r7, #20]
   1e0da:	697a      	ldr	r2, [r7, #20]
   1e0dc:	68bb      	ldr	r3, [r7, #8]
   1e0de:	429a      	cmp	r2, r3
   1e0e0:	dbf3      	blt.n	1e0ca <printk_pad_space+0x14>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:200
	}
}
   1e0e2:	bf00      	nop
   1e0e4:	3718      	adds	r7, #24
   1e0e6:	46bd      	mov	sp, r7
   1e0e8:	bd80      	pop	{r7, pc}

0001e0ea <printk>:
printk():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:210
//       fmt:输出格式信息
//       ap:va_list指针指向格式信息输出
//函数返回：无
//======================================================================
int printk(PRINTK_INFO *info, const char *fmt, char * ap)
{
   1e0ea:	b590      	push	{r4, r7, lr}
   1e0ec:	b0a7      	sub	sp, #156	; 0x9c
   1e0ee:	af00      	add	r7, sp, #0
   1e0f0:	60f8      	str	r0, [r7, #12]
   1e0f2:	60b9      	str	r1, [r7, #8]
   1e0f4:	607a      	str	r2, [r7, #4]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:234

	}un1;
	char *p;
	int c;
	char temp1;
	char vstr[33]={'0'};
   1e0f6:	f107 032c 	add.w	r3, r7, #44	; 0x2c
   1e0fa:	2221      	movs	r2, #33	; 0x21
   1e0fc:	2100      	movs	r1, #0
   1e0fe:	4618      	mov	r0, r3
   1e100:	f001 fb4d 	bl	1f79e <memset>
   1e104:	2330      	movs	r3, #48	; 0x30
   1e106:	f887 302c 	strb.w	r3, [r7, #44]	; 0x2c
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:255
	int *ivalp;
	char *sval;
	int cval;
	unsigned int uval;

	count = 0;
   1e10a:	2300      	movs	r3, #0
   1e10c:	62bb      	str	r3, [r7, #40]	; 0x28
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:256
	length_modifier=0;
   1e10e:	2300      	movs	r3, #0
   1e110:	67fb      	str	r3, [r7, #124]	; 0x7c
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:257
	precision_used=TRUE;
   1e112:	2301      	movs	r3, #1
   1e114:	67bb      	str	r3, [r7, #120]	; 0x78
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:259
	//从格式字符串第一个字符开始格式化输出数据
	for (p = (char *) fmt; (c = *p) != 0; p++)
   1e116:	68bb      	ldr	r3, [r7, #8]
   1e118:	f8c7 3094 	str.w	r3, [r7, #148]	; 0x94
   1e11c:	f000 bca7 	b.w	1ea6e <printk+0x984>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:262
	{
		//读取%前面的字符，直接输出的字符和最后的\n类的转义字符
		if (c != '%')
   1e120:	6e7b      	ldr	r3, [r7, #100]	; 0x64
   1e122:	2b25      	cmp	r3, #37	; 0x25
   1e124:	d01b      	beq.n	1e15e <printk+0x74>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:266
		{
#ifndef UNIX_DEBUG
			//%之前的字符
			if (c != '\n') {
   1e126:	6e7b      	ldr	r3, [r7, #100]	; 0x64
   1e128:	2b0a      	cmp	r3, #10
   1e12a:	d008      	beq.n	1e13e <printk+0x54>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:267
				printk_putc(c, &count, info);
   1e12c:	f107 0328 	add.w	r3, r7, #40	; 0x28
   1e130:	68fa      	ldr	r2, [r7, #12]
   1e132:	4619      	mov	r1, r3
   1e134:	6e78      	ldr	r0, [r7, #100]	; 0x64
   1e136:	f7ff fd71 	bl	1dc1c <printk_putc>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:278
			}
#else
			printk_putc(c, &count, info);
#endif

			continue;
   1e13a:	f000 bc93 	b.w	1ea64 <printk+0x97a>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:271
				printk_putc(0x0D /* CR */, &count, info);
   1e13e:	f107 0328 	add.w	r3, r7, #40	; 0x28
   1e142:	68fa      	ldr	r2, [r7, #12]
   1e144:	4619      	mov	r1, r3
   1e146:	200d      	movs	r0, #13
   1e148:	f7ff fd68 	bl	1dc1c <printk_putc>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:272
				printk_putc(0x0A /* LF */, &count, info);
   1e14c:	f107 0328 	add.w	r3, r7, #40	; 0x28
   1e150:	68fa      	ldr	r2, [r7, #12]
   1e152:	4619      	mov	r1, r3
   1e154:	200a      	movs	r0, #10
   1e156:	f7ff fd61 	bl	1dc1c <printk_putc>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:278
			continue;
   1e15a:	f000 bc83 	b.w	1ea64 <printk+0x97a>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:284
		}


		//此时字符为%  查看百分号后的第一个格式字符，对输出格式字符并做出相应输出判断
		//检查相应的修改标志
		flags_used = 0;
   1e15e:	2300      	movs	r3, #0
   1e160:	f8c7 3084 	str.w	r3, [r7, #132]	; 0x84
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:285
		done = FALSE;
   1e164:	2300      	movs	r3, #0
   1e166:	f8c7 3088 	str.w	r3, [r7, #136]	; 0x88
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:286
		while (!done) {
   1e16a:	e05b      	b.n	1e224 <printk+0x13a>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:287
			switch (/* c = */*++p) {
   1e16c:	f8d7 3094 	ldr.w	r3, [r7, #148]	; 0x94
   1e170:	3301      	adds	r3, #1
   1e172:	f8c7 3094 	str.w	r3, [r7, #148]	; 0x94
   1e176:	f8d7 3094 	ldr.w	r3, [r7, #148]	; 0x94
   1e17a:	781b      	ldrb	r3, [r3, #0]
   1e17c:	3b20      	subs	r3, #32
   1e17e:	2b10      	cmp	r3, #16
   1e180:	d847      	bhi.n	1e212 <printk+0x128>
   1e182:	a201      	add	r2, pc, #4	; (adr r2, 1e188 <printk+0x9e>)
   1e184:	f852 f023 	ldr.w	pc, [r2, r3, lsl #2]
   1e188:	0001e1e9 	.word	0x0001e1e9
   1e18c:	0001e213 	.word	0x0001e213
   1e190:	0001e213 	.word	0x0001e213
   1e194:	0001e205 	.word	0x0001e205
   1e198:	0001e213 	.word	0x0001e213
   1e19c:	0001e213 	.word	0x0001e213
   1e1a0:	0001e213 	.word	0x0001e213
   1e1a4:	0001e213 	.word	0x0001e213
   1e1a8:	0001e213 	.word	0x0001e213
   1e1ac:	0001e213 	.word	0x0001e213
   1e1b0:	0001e213 	.word	0x0001e213
   1e1b4:	0001e1db 	.word	0x0001e1db
   1e1b8:	0001e213 	.word	0x0001e213
   1e1bc:	0001e1cd 	.word	0x0001e1cd
   1e1c0:	0001e213 	.word	0x0001e213
   1e1c4:	0001e213 	.word	0x0001e213
   1e1c8:	0001e1f7 	.word	0x0001e1f7
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:289
			case '-':
				flags_used |= FLAGS_MINUS;
   1e1cc:	f8d7 3084 	ldr.w	r3, [r7, #132]	; 0x84
   1e1d0:	f043 0301 	orr.w	r3, r3, #1
   1e1d4:	f8c7 3084 	str.w	r3, [r7, #132]	; 0x84
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:290
				break;
   1e1d8:	e024      	b.n	1e224 <printk+0x13a>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:292
			case '+':
				flags_used |= FLAGS_PLUS;
   1e1da:	f8d7 3084 	ldr.w	r3, [r7, #132]	; 0x84
   1e1de:	f043 0302 	orr.w	r3, r3, #2
   1e1e2:	f8c7 3084 	str.w	r3, [r7, #132]	; 0x84
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:293
				break;
   1e1e6:	e01d      	b.n	1e224 <printk+0x13a>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:295
			case ' ':
				flags_used |= FLAGS_SPACE;
   1e1e8:	f8d7 3084 	ldr.w	r3, [r7, #132]	; 0x84
   1e1ec:	f043 0304 	orr.w	r3, r3, #4
   1e1f0:	f8c7 3084 	str.w	r3, [r7, #132]	; 0x84
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:296
				break;
   1e1f4:	e016      	b.n	1e224 <printk+0x13a>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:298
			case '0':
				flags_used |= FLAGS_ZERO;
   1e1f6:	f8d7 3084 	ldr.w	r3, [r7, #132]	; 0x84
   1e1fa:	f043 0308 	orr.w	r3, r3, #8
   1e1fe:	f8c7 3084 	str.w	r3, [r7, #132]	; 0x84
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:299
				break;
   1e202:	e00f      	b.n	1e224 <printk+0x13a>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:301
			case '#':
				flags_used |= FLAGS_POUND;
   1e204:	f8d7 3084 	ldr.w	r3, [r7, #132]	; 0x84
   1e208:	f043 0310 	orr.w	r3, r3, #16
   1e20c:	f8c7 3084 	str.w	r3, [r7, #132]	; 0x84
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:302
				break;
   1e210:	e008      	b.n	1e224 <printk+0x13a>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:305
			default:
				/* we've gone one char too far */
				--p;
   1e212:	f8d7 3094 	ldr.w	r3, [r7, #148]	; 0x94
   1e216:	3b01      	subs	r3, #1
   1e218:	f8c7 3094 	str.w	r3, [r7, #148]	; 0x94
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:306
				done = TRUE;
   1e21c:	2301      	movs	r3, #1
   1e21e:	f8c7 3088 	str.w	r3, [r7, #136]	; 0x88
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:307
				break;
   1e222:	bf00      	nop
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:286
		while (!done) {
   1e224:	f8d7 3088 	ldr.w	r3, [r7, #136]	; 0x88
   1e228:	2b00      	cmp	r3, #0
   1e22a:	d09f      	beq.n	1e16c <printk+0x82>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:313
			}
		}


		//检查%后再下一个字符 确定输出长度
		field_width = 0;
   1e22c:	2300      	movs	r3, #0
   1e22e:	f8c7 3080 	str.w	r3, [r7, #128]	; 0x80
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:314
		done = FALSE;
   1e232:	2300      	movs	r3, #0
   1e234:	f8c7 3088 	str.w	r3, [r7, #136]	; 0x88
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:315
		while (!done) {
   1e238:	e022      	b.n	1e280 <printk+0x196>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:316
			switch (c = *++p) {
   1e23a:	f8d7 3094 	ldr.w	r3, [r7, #148]	; 0x94
   1e23e:	3301      	adds	r3, #1
   1e240:	f8c7 3094 	str.w	r3, [r7, #148]	; 0x94
   1e244:	f8d7 3094 	ldr.w	r3, [r7, #148]	; 0x94
   1e248:	781b      	ldrb	r3, [r3, #0]
   1e24a:	667b      	str	r3, [r7, #100]	; 0x64
   1e24c:	6e7b      	ldr	r3, [r7, #100]	; 0x64
   1e24e:	3b30      	subs	r3, #48	; 0x30
   1e250:	2b09      	cmp	r3, #9
   1e252:	d80c      	bhi.n	1e26e <printk+0x184>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:327
			case '5':
			case '6':
			case '7':
			case '8':
			case '9':
				field_width = (field_width * 10) + (c - '0');
   1e254:	f8d7 2080 	ldr.w	r2, [r7, #128]	; 0x80
   1e258:	4613      	mov	r3, r2
   1e25a:	009b      	lsls	r3, r3, #2
   1e25c:	4413      	add	r3, r2
   1e25e:	005b      	lsls	r3, r3, #1
   1e260:	461a      	mov	r2, r3
   1e262:	6e7b      	ldr	r3, [r7, #100]	; 0x64
   1e264:	3b30      	subs	r3, #48	; 0x30
   1e266:	4413      	add	r3, r2
   1e268:	f8c7 3080 	str.w	r3, [r7, #128]	; 0x80
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:328
				break;
   1e26c:	e008      	b.n	1e280 <printk+0x196>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:331
			default:
				/* we've gone one char too far */
				--p;
   1e26e:	f8d7 3094 	ldr.w	r3, [r7, #148]	; 0x94
   1e272:	3b01      	subs	r3, #1
   1e274:	f8c7 3094 	str.w	r3, [r7, #148]	; 0x94
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:332
				done = TRUE;
   1e278:	2301      	movs	r3, #1
   1e27a:	f8c7 3088 	str.w	r3, [r7, #136]	; 0x88
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:333
				break;
   1e27e:	bf00      	nop
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:315
		while (!done) {
   1e280:	f8d7 3088 	ldr.w	r3, [r7, #136]	; 0x88
   1e284:	2b00      	cmp	r3, #0
   1e286:	d0d8      	beq.n	1e23a <printk+0x150>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:337
			}
		}
		//此时字符为%看是否有.输入
		if (/* (c = *++p) */*++p == '.') {
   1e288:	f8d7 3094 	ldr.w	r3, [r7, #148]	; 0x94
   1e28c:	3301      	adds	r3, #1
   1e28e:	f8c7 3094 	str.w	r3, [r7, #148]	; 0x94
   1e292:	f8d7 3094 	ldr.w	r3, [r7, #148]	; 0x94
   1e296:	781b      	ldrb	r3, [r3, #0]
   1e298:	2b2e      	cmp	r3, #46	; 0x2e
   1e29a:	d12b      	bne.n	1e2f4 <printk+0x20a>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:343
			/* precision_used = TRUE; */

			/*
			 * Must get precision field width, if present.
			 */
			precision_width = 0;
   1e29c:	2300      	movs	r3, #0
   1e29e:	677b      	str	r3, [r7, #116]	; 0x74
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:344
			done = FALSE;
   1e2a0:	2300      	movs	r3, #0
   1e2a2:	f8c7 3088 	str.w	r3, [r7, #136]	; 0x88
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:345
			while (!done) {
   1e2a6:	e020      	b.n	1e2ea <printk+0x200>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:346
				switch ( c = *++p) {
   1e2a8:	f8d7 3094 	ldr.w	r3, [r7, #148]	; 0x94
   1e2ac:	3301      	adds	r3, #1
   1e2ae:	f8c7 3094 	str.w	r3, [r7, #148]	; 0x94
   1e2b2:	f8d7 3094 	ldr.w	r3, [r7, #148]	; 0x94
   1e2b6:	781b      	ldrb	r3, [r3, #0]
   1e2b8:	667b      	str	r3, [r7, #100]	; 0x64
   1e2ba:	6e7b      	ldr	r3, [r7, #100]	; 0x64
   1e2bc:	3b30      	subs	r3, #48	; 0x30
   1e2be:	2b09      	cmp	r3, #9
   1e2c0:	d80a      	bhi.n	1e2d8 <printk+0x1ee>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:358
				case '6':
				case '7':
				case '8':
				case '9':
#if 1
				precision_width = (precision_width * 10) +	(c - '0');
   1e2c2:	6f7a      	ldr	r2, [r7, #116]	; 0x74
   1e2c4:	4613      	mov	r3, r2
   1e2c6:	009b      	lsls	r3, r3, #2
   1e2c8:	4413      	add	r3, r2
   1e2ca:	005b      	lsls	r3, r3, #1
   1e2cc:	461a      	mov	r2, r3
   1e2ce:	6e7b      	ldr	r3, [r7, #100]	; 0x64
   1e2d0:	3b30      	subs	r3, #48	; 0x30
   1e2d2:	4413      	add	r3, r2
   1e2d4:	677b      	str	r3, [r7, #116]	; 0x74
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:361

#endif
					break;
   1e2d6:	e008      	b.n	1e2ea <printk+0x200>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:364
				default:
					/* we've gone one char too far */
					--p;
   1e2d8:	f8d7 3094 	ldr.w	r3, [r7, #148]	; 0x94
   1e2dc:	3b01      	subs	r3, #1
   1e2de:	f8c7 3094 	str.w	r3, [r7, #148]	; 0x94
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:365
					done = TRUE;
   1e2e2:	2301      	movs	r3, #1
   1e2e4:	f8c7 3088 	str.w	r3, [r7, #136]	; 0x88
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:366
					break;
   1e2e8:	bf00      	nop
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:345
			while (!done) {
   1e2ea:	f8d7 3088 	ldr.w	r3, [r7, #136]	; 0x88
   1e2ee:	2b00      	cmp	r3, #0
   1e2f0:	d0da      	beq.n	1e2a8 <printk+0x1be>
   1e2f2:	e008      	b.n	1e306 <printk+0x21c>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:371
				}
			}
		} else {
			/* we've gone one char too far */
			--p;
   1e2f4:	f8d7 3094 	ldr.w	r3, [r7, #148]	; 0x94
   1e2f8:	3b01      	subs	r3, #1
   1e2fa:	f8c7 3094 	str.w	r3, [r7, #148]	; 0x94
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:373
#if 1
			precision_used = FALSE;
   1e2fe:	2300      	movs	r3, #0
   1e300:	67bb      	str	r3, [r7, #120]	; 0x78
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:374
			precision_width = 0;
   1e302:	2300      	movs	r3, #0
   1e304:	677b      	str	r3, [r7, #116]	; 0x74
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:378
#endif
		}
		//判断 输出的是否有lf、LF等
		switch (/* c = */*++p) {
   1e306:	f8d7 3094 	ldr.w	r3, [r7, #148]	; 0x94
   1e30a:	3301      	adds	r3, #1
   1e30c:	f8c7 3094 	str.w	r3, [r7, #148]	; 0x94
   1e310:	f8d7 3094 	ldr.w	r3, [r7, #148]	; 0x94
   1e314:	781b      	ldrb	r3, [r3, #0]
   1e316:	2b68      	cmp	r3, #104	; 0x68
   1e318:	d014      	beq.n	1e344 <printk+0x25a>
   1e31a:	2b6c      	cmp	r3, #108	; 0x6c
   1e31c:	d002      	beq.n	1e324 <printk+0x23a>
   1e31e:	2b4c      	cmp	r3, #76	; 0x4c
   1e320:	d005      	beq.n	1e32e <printk+0x244>
   1e322:	e009      	b.n	1e338 <printk+0x24e>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:383
		case 'h':
			// length_modifier |= LENMOD_h;
			break;
		case 'l':
			 length_modifier |= LENMOD_l;
   1e324:	6ffb      	ldr	r3, [r7, #124]	; 0x7c
   1e326:	f043 0301 	orr.w	r3, r3, #1
   1e32a:	67fb      	str	r3, [r7, #124]	; 0x7c
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:384
			break;
   1e32c:	e00b      	b.n	1e346 <printk+0x25c>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:386
		case 'L':
			 length_modifier |= LENMOD_L;
   1e32e:	6ffb      	ldr	r3, [r7, #124]	; 0x7c
   1e330:	f043 0302 	orr.w	r3, r3, #2
   1e334:	67fb      	str	r3, [r7, #124]	; 0x7c
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:387
			break;
   1e336:	e006      	b.n	1e346 <printk+0x25c>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:390
		default:
			/* we've gone one char too far */
			--p;
   1e338:	f8d7 3094 	ldr.w	r3, [r7, #148]	; 0x94
   1e33c:	3b01      	subs	r3, #1
   1e33e:	f8c7 3094 	str.w	r3, [r7, #148]	; 0x94
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:391
			break;
   1e342:	e000      	b.n	1e346 <printk+0x25c>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:381
			break;
   1e344:	bf00      	nop
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:395
		}

		//p为格式字符串的首地址
		switch (c = *++p) {
   1e346:	f8d7 3094 	ldr.w	r3, [r7, #148]	; 0x94
   1e34a:	3301      	adds	r3, #1
   1e34c:	f8c7 3094 	str.w	r3, [r7, #148]	; 0x94
   1e350:	f8d7 3094 	ldr.w	r3, [r7, #148]	; 0x94
   1e354:	781b      	ldrb	r3, [r3, #0]
   1e356:	667b      	str	r3, [r7, #100]	; 0x64
   1e358:	6e7b      	ldr	r3, [r7, #100]	; 0x64
   1e35a:	3b58      	subs	r3, #88	; 0x58
   1e35c:	2b20      	cmp	r3, #32
   1e35e:	f200 8374 	bhi.w	1ea4a <printk+0x960>
   1e362:	a201      	add	r2, pc, #4	; (adr r2, 1e368 <printk+0x27e>)
   1e364:	f852 f023 	ldr.w	pc, [r2, r3, lsl #2]
   1e368:	0001e709 	.word	0x0001e709
   1e36c:	0001ea4b 	.word	0x0001ea4b
   1e370:	0001ea4b 	.word	0x0001ea4b
   1e374:	0001ea4b 	.word	0x0001ea4b
   1e378:	0001ea4b 	.word	0x0001ea4b
   1e37c:	0001ea4b 	.word	0x0001ea4b
   1e380:	0001ea4b 	.word	0x0001ea4b
   1e384:	0001ea4b 	.word	0x0001ea4b
   1e388:	0001ea4b 	.word	0x0001ea4b
   1e38c:	0001ea4b 	.word	0x0001ea4b
   1e390:	0001e853 	.word	0x0001e853
   1e394:	0001e965 	.word	0x0001e965
   1e398:	0001e3ed 	.word	0x0001e3ed
   1e39c:	0001ea4b 	.word	0x0001ea4b
   1e3a0:	0001e509 	.word	0x0001e509
   1e3a4:	0001ea4b 	.word	0x0001ea4b
   1e3a8:	0001ea4b 	.word	0x0001ea4b
   1e3ac:	0001e3ed 	.word	0x0001e3ed
   1e3b0:	0001ea4b 	.word	0x0001ea4b
   1e3b4:	0001ea4b 	.word	0x0001ea4b
   1e3b8:	0001ea4b 	.word	0x0001ea4b
   1e3bc:	0001ea4b 	.word	0x0001ea4b
   1e3c0:	0001ea35 	.word	0x0001ea35
   1e3c4:	0001e82f 	.word	0x0001e82f
   1e3c8:	0001e877 	.word	0x0001e877
   1e3cc:	0001ea4b 	.word	0x0001ea4b
   1e3d0:	0001ea4b 	.word	0x0001ea4b
   1e3d4:	0001e985 	.word	0x0001e985
   1e3d8:	0001ea4b 	.word	0x0001ea4b
   1e3dc:	0001e89b 	.word	0x0001e89b
   1e3e0:	0001ea4b 	.word	0x0001ea4b
   1e3e4:	0001ea4b 	.word	0x0001ea4b
   1e3e8:	0001e709 	.word	0x0001e709
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:399
		case 'd':
		case 'i':
			 //此时ap为指向可变参数列表的第一个参数
			ival = (int) va_arg(ap, int);  //返回当前参数，并将ap指向下一个参数
   1e3ec:	687b      	ldr	r3, [r7, #4]
   1e3ee:	3304      	adds	r3, #4
   1e3f0:	607b      	str	r3, [r7, #4]
   1e3f2:	687b      	ldr	r3, [r7, #4]
   1e3f4:	3b04      	subs	r3, #4
   1e3f6:	681b      	ldr	r3, [r3, #0]
   1e3f8:	627b      	str	r3, [r7, #36]	; 0x24
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:400
			vlen = printk_mknumstr(vstr, &ival, TRUE, 10);//将整型转换成字符型保存在vstr中，返回字符数vlen
   1e3fa:	f107 0124 	add.w	r1, r7, #36	; 0x24
   1e3fe:	f107 002c 	add.w	r0, r7, #44	; 0x2c
   1e402:	230a      	movs	r3, #10
   1e404:	2201      	movs	r2, #1
   1e406:	f7ff fdbd 	bl	1df84 <printk_mknumstr>
   1e40a:	f8c7 008c 	str.w	r0, [r7, #140]	; 0x8c
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:401
			vstrp = &vstr[vlen];  //指向转换后的最后一个字符
   1e40e:	f107 022c 	add.w	r2, r7, #44	; 0x2c
   1e412:	f8d7 308c 	ldr.w	r3, [r7, #140]	; 0x8c
   1e416:	4413      	add	r3, r2
   1e418:	f8c7 3090 	str.w	r3, [r7, #144]	; 0x90
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:404

			//若参数小于0，添加'-'号，并将字符长度加1
			if (ival < 0) {
   1e41c:	6a7b      	ldr	r3, [r7, #36]	; 0x24
   1e41e:	2b00      	cmp	r3, #0
   1e420:	da07      	bge.n	1e432 <printk+0x348>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:405
				schar = '-';
   1e422:	232d      	movs	r3, #45	; 0x2d
   1e424:	673b      	str	r3, [r7, #112]	; 0x70
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:406
				++vlen;
   1e426:	f8d7 308c 	ldr.w	r3, [r7, #140]	; 0x8c
   1e42a:	3301      	adds	r3, #1
   1e42c:	f8c7 308c 	str.w	r3, [r7, #140]	; 0x8c
   1e430:	e01d      	b.n	1e46e <printk+0x384>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:410
			}
			//若参数不小于0，添加‘+’号或者‘ ’或者为0，并将字符长度加1
			else {
				if (IS_FLAG_PLUS(flags_used)) {
   1e432:	f8d7 3084 	ldr.w	r3, [r7, #132]	; 0x84
   1e436:	f003 0302 	and.w	r3, r3, #2
   1e43a:	2b00      	cmp	r3, #0
   1e43c:	d007      	beq.n	1e44e <printk+0x364>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:411
					schar = '+';
   1e43e:	232b      	movs	r3, #43	; 0x2b
   1e440:	673b      	str	r3, [r7, #112]	; 0x70
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:412
					++vlen;
   1e442:	f8d7 308c 	ldr.w	r3, [r7, #140]	; 0x8c
   1e446:	3301      	adds	r3, #1
   1e448:	f8c7 308c 	str.w	r3, [r7, #140]	; 0x8c
   1e44c:	e00f      	b.n	1e46e <printk+0x384>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:414
				} else {
					if (IS_FLAG_SPACE(flags_used)) {
   1e44e:	f8d7 3084 	ldr.w	r3, [r7, #132]	; 0x84
   1e452:	f003 0304 	and.w	r3, r3, #4
   1e456:	2b00      	cmp	r3, #0
   1e458:	d007      	beq.n	1e46a <printk+0x380>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:415
						schar = ' ';
   1e45a:	2320      	movs	r3, #32
   1e45c:	673b      	str	r3, [r7, #112]	; 0x70
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:416
						++vlen;
   1e45e:	f8d7 308c 	ldr.w	r3, [r7, #140]	; 0x8c
   1e462:	3301      	adds	r3, #1
   1e464:	f8c7 308c 	str.w	r3, [r7, #140]	; 0x8c
   1e468:	e001      	b.n	1e46e <printk+0x384>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:418
					} else {
						schar = 0;
   1e46a:	2300      	movs	r3, #0
   1e46c:	673b      	str	r3, [r7, #112]	; 0x70
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:422
					}
				}
			}
			dschar = FALSE;
   1e46e:	2300      	movs	r3, #0
   1e470:	66fb      	str	r3, [r7, #108]	; 0x6c
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:427

			/*
			 * do the ZERO pad.
			 */
			if (IS_FLAG_ZERO(flags_used)) {
   1e472:	f8d7 3084 	ldr.w	r3, [r7, #132]	; 0x84
   1e476:	f003 0308 	and.w	r3, r3, #8
   1e47a:	2b00      	cmp	r3, #0
   1e47c:	d019      	beq.n	1e4b2 <printk+0x3c8>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:428
				if (schar)
   1e47e:	6f3b      	ldr	r3, [r7, #112]	; 0x70
   1e480:	2b00      	cmp	r3, #0
   1e482:	d006      	beq.n	1e492 <printk+0x3a8>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:429
					printk_putc(schar, &count, info);  //输出符号
   1e484:	f107 0328 	add.w	r3, r7, #40	; 0x28
   1e488:	68fa      	ldr	r2, [r7, #12]
   1e48a:	4619      	mov	r1, r3
   1e48c:	6f38      	ldr	r0, [r7, #112]	; 0x70
   1e48e:	f7ff fbc5 	bl	1dc1c <printk_putc>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:430
				dschar = TRUE;
   1e492:	2301      	movs	r3, #1
   1e494:	66fb      	str	r3, [r7, #108]	; 0x6c
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:431
				printk_pad_zero(vlen, field_width, &count, info);
   1e496:	f107 0228 	add.w	r2, r7, #40	; 0x28
   1e49a:	68fb      	ldr	r3, [r7, #12]
   1e49c:	f8d7 1080 	ldr.w	r1, [r7, #128]	; 0x80
   1e4a0:	f8d7 008c 	ldr.w	r0, [r7, #140]	; 0x8c
   1e4a4:	f7ff fded 	bl	1e082 <printk_pad_zero>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:432
				vlen = field_width;
   1e4a8:	f8d7 3080 	ldr.w	r3, [r7, #128]	; 0x80
   1e4ac:	f8c7 308c 	str.w	r3, [r7, #140]	; 0x8c
   1e4b0:	e01a      	b.n	1e4e8 <printk+0x3fe>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:434
			} else {
				if (!IS_FLAG_MINUS(flags_used)) {
   1e4b2:	f8d7 3084 	ldr.w	r3, [r7, #132]	; 0x84
   1e4b6:	f003 0301 	and.w	r3, r3, #1
   1e4ba:	2b00      	cmp	r3, #0
   1e4bc:	d114      	bne.n	1e4e8 <printk+0x3fe>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:435
					printk_pad_space(vlen, field_width, &count, info);  //输出空格
   1e4be:	f107 0228 	add.w	r2, r7, #40	; 0x28
   1e4c2:	68fb      	ldr	r3, [r7, #12]
   1e4c4:	f8d7 1080 	ldr.w	r1, [r7, #128]	; 0x80
   1e4c8:	f8d7 008c 	ldr.w	r0, [r7, #140]	; 0x8c
   1e4cc:	f7ff fdf3 	bl	1e0b6 <printk_pad_space>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:437

					if (schar)
   1e4d0:	6f3b      	ldr	r3, [r7, #112]	; 0x70
   1e4d2:	2b00      	cmp	r3, #0
   1e4d4:	d006      	beq.n	1e4e4 <printk+0x3fa>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:438
						printk_putc(schar, &count, info);
   1e4d6:	f107 0328 	add.w	r3, r7, #40	; 0x28
   1e4da:	68fa      	ldr	r2, [r7, #12]
   1e4dc:	4619      	mov	r1, r3
   1e4de:	6f38      	ldr	r0, [r7, #112]	; 0x70
   1e4e0:	f7ff fb9c 	bl	1dc1c <printk_putc>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:439
					dschar = TRUE;
   1e4e4:	2301      	movs	r3, #1
   1e4e6:	66fb      	str	r3, [r7, #108]	; 0x6c
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:445
				}
			}

			/* the string was built in reverse order, now display in */
			/* correct order */
			if (!dschar && schar) {
   1e4e8:	6efb      	ldr	r3, [r7, #108]	; 0x6c
   1e4ea:	2b00      	cmp	r3, #0
   1e4ec:	f040 8211 	bne.w	1e912 <printk+0x828>
   1e4f0:	6f3b      	ldr	r3, [r7, #112]	; 0x70
   1e4f2:	2b00      	cmp	r3, #0
   1e4f4:	f000 820d 	beq.w	1e912 <printk+0x828>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:446
				printk_putc(schar, &count, info);
   1e4f8:	f107 0328 	add.w	r3, r7, #40	; 0x28
   1e4fc:	68fa      	ldr	r2, [r7, #12]
   1e4fe:	4619      	mov	r1, r3
   1e500:	6f38      	ldr	r0, [r7, #112]	; 0x70
   1e502:	f7ff fb8b 	bl	1dc1c <printk_putc>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:448
			}
			goto cont_xd;  //开始跳转
   1e506:	e204      	b.n	1e912 <printk+0x828>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:457
			//浮点型数据被当做 double型处理，组合方式如下：
			//3.140001 对应浮点数:0x0x4048F5C3；
			//3.140001 对double数:0x40091EB85F577E6C
			//实际传入变参数 函数后 浮点数变为:0x6000000040091EB8 实际是将其转化为double型数据
			//但是顺序反了，我们要做的是将后四字节提前，然后把0x60移到紧接着前四个字节后的位置。
			if(length_modifier==0)
   1e508:	6ffb      	ldr	r3, [r7, #124]	; 0x7c
   1e50a:	2b00      	cmp	r3, #0
   1e50c:	d119      	bne.n	1e542 <printk+0x458>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:459
			{
			un1.a1 = (double ) va_arg(ap, double);  //返回当前参数，并将ap指向下一个参数
   1e50e:	687b      	ldr	r3, [r7, #4]
   1e510:	3308      	adds	r3, #8
   1e512:	607b      	str	r3, [r7, #4]
   1e514:	687b      	ldr	r3, [r7, #4]
   1e516:	3b08      	subs	r3, #8
   1e518:	e9d3 3400 	ldrd	r3, r4, [r3]
   1e51c:	e9c7 3414 	strd	r3, r4, [r7, #80]	; 0x50
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:460
			temp1=un1.tempc.b8;
   1e520:	f897 3057 	ldrb.w	r3, [r7, #87]	; 0x57
   1e524:	f887 305f 	strb.w	r3, [r7, #95]	; 0x5f
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:461
			un1.c2=un1.c1;
   1e528:	6d3b      	ldr	r3, [r7, #80]	; 0x50
   1e52a:	657b      	str	r3, [r7, #84]	; 0x54
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:462
			un1.c1=un1.c1&0x0000;
   1e52c:	2300      	movs	r3, #0
   1e52e:	653b      	str	r3, [r7, #80]	; 0x50
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:463
			un1.tempc.b4=temp1;
   1e530:	f897 305f 	ldrb.w	r3, [r7, #95]	; 0x5f
   1e534:	f887 3053 	strb.w	r3, [r7, #83]	; 0x53
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:464
			fval=un1.a1;
   1e538:	e9d7 3414 	ldrd	r3, r4, [r7, #80]	; 0x50
   1e53c:	e9c7 3406 	strd	r3, r4, [r7, #24]
   1e540:	e011      	b.n	1e566 <printk+0x47c>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:466
			}
			else if(length_modifier==1 || length_modifier==2)
   1e542:	6ffb      	ldr	r3, [r7, #124]	; 0x7c
   1e544:	2b01      	cmp	r3, #1
   1e546:	d002      	beq.n	1e54e <printk+0x464>
   1e548:	6ffb      	ldr	r3, [r7, #124]	; 0x7c
   1e54a:	2b02      	cmp	r3, #2
   1e54c:	d10b      	bne.n	1e566 <printk+0x47c>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:468
			{
				ap=ap+4;
   1e54e:	687b      	ldr	r3, [r7, #4]
   1e550:	3304      	adds	r3, #4
   1e552:	607b      	str	r3, [r7, #4]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:469
				fval= (double)va_arg(ap,double);
   1e554:	687b      	ldr	r3, [r7, #4]
   1e556:	3308      	adds	r3, #8
   1e558:	607b      	str	r3, [r7, #4]
   1e55a:	687b      	ldr	r3, [r7, #4]
   1e55c:	3b08      	subs	r3, #8
   1e55e:	e9d3 3400 	ldrd	r3, r4, [r3]
   1e562:	e9c7 3406 	strd	r3, r4, [r7, #24]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:472
			}
			//确定是否使用小数点精度数值
			if(precision_used)
   1e566:	6fbb      	ldr	r3, [r7, #120]	; 0x78
   1e568:	2b00      	cmp	r3, #0
   1e56a:	d00e      	beq.n	1e58a <printk+0x4a0>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:474
			{
				vlen = printk_mkfloatstr(&fval,vstr,precision_width);//将整型转换成字符型保存在vstr中，返回字符数vlen
   1e56c:	f107 012c 	add.w	r1, r7, #44	; 0x2c
   1e570:	f107 0318 	add.w	r3, r7, #24
   1e574:	6f7a      	ldr	r2, [r7, #116]	; 0x74
   1e576:	4618      	mov	r0, r3
   1e578:	f7ff fb78 	bl	1dc6c <printk_mkfloatstr>
   1e57c:	f8c7 008c 	str.w	r0, [r7, #140]	; 0x8c
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:475
				vstrp = &vstr[0];  //指向转换后的第一个字符
   1e580:	f107 032c 	add.w	r3, r7, #44	; 0x2c
   1e584:	f8c7 3090 	str.w	r3, [r7, #144]	; 0x90
   1e588:	e01f      	b.n	1e5ca <printk+0x4e0>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:479
			}
			else
			{
				if(length_modifier==0)   //浮点型精度到小数点后8位
   1e58a:	6ffb      	ldr	r3, [r7, #124]	; 0x7c
   1e58c:	2b00      	cmp	r3, #0
   1e58e:	d10e      	bne.n	1e5ae <printk+0x4c4>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:481
				{
					vlen = printk_mkfloatstr(&fval,vstr,8);//将整型转换成字符型保存在vstr中，返回字符数vlen
   1e590:	f107 012c 	add.w	r1, r7, #44	; 0x2c
   1e594:	f107 0318 	add.w	r3, r7, #24
   1e598:	2208      	movs	r2, #8
   1e59a:	4618      	mov	r0, r3
   1e59c:	f7ff fb66 	bl	1dc6c <printk_mkfloatstr>
   1e5a0:	f8c7 008c 	str.w	r0, [r7, #140]	; 0x8c
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:482
					vstrp = &vstr[0];  //指向转换后的第一个字符
   1e5a4:	f107 032c 	add.w	r3, r7, #44	; 0x2c
   1e5a8:	f8c7 3090 	str.w	r3, [r7, #144]	; 0x90
   1e5ac:	e00d      	b.n	1e5ca <printk+0x4e0>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:486
				}
				else
				{
					vlen = printk_mkfloatstr(&fval,vstr,precision_width);//将整型转换成字符型保存在vstr中，返回字符数vlen
   1e5ae:	f107 012c 	add.w	r1, r7, #44	; 0x2c
   1e5b2:	f107 0318 	add.w	r3, r7, #24
   1e5b6:	6f7a      	ldr	r2, [r7, #116]	; 0x74
   1e5b8:	4618      	mov	r0, r3
   1e5ba:	f7ff fb57 	bl	1dc6c <printk_mkfloatstr>
   1e5be:	f8c7 008c 	str.w	r0, [r7, #140]	; 0x8c
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:487
					vstrp = &vstr[0];  //指向转换后的第一个字符
   1e5c2:	f107 032c 	add.w	r3, r7, #44	; 0x2c
   1e5c6:	f8c7 3090 	str.w	r3, [r7, #144]	; 0x90
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:493
				}

			}

			//若参数小于0，添加'-'号，并将字符长度加1
			if (fval < 0) {
   1e5ca:	e9d7 0106 	ldrd	r0, r1, [r7, #24]
   1e5ce:	f04f 0200 	mov.w	r2, #0
   1e5d2:	f04f 0300 	mov.w	r3, #0
   1e5d6:	f000 feb5 	bl	1f344 <__aeabi_dcmplt>
   1e5da:	4603      	mov	r3, r0
   1e5dc:	2b00      	cmp	r3, #0
   1e5de:	d007      	beq.n	1e5f0 <printk+0x506>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:494
				schar = '-';
   1e5e0:	232d      	movs	r3, #45	; 0x2d
   1e5e2:	673b      	str	r3, [r7, #112]	; 0x70
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:495
				++vlen;
   1e5e4:	f8d7 308c 	ldr.w	r3, [r7, #140]	; 0x8c
   1e5e8:	3301      	adds	r3, #1
   1e5ea:	f8c7 308c 	str.w	r3, [r7, #140]	; 0x8c
   1e5ee:	e01d      	b.n	1e62c <printk+0x542>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:499
			}
			//若参数不小于0，添加‘+’号或者‘ ’或者为0，并将字符长度加1
			else {
				if (IS_FLAG_PLUS(flags_used)) {
   1e5f0:	f8d7 3084 	ldr.w	r3, [r7, #132]	; 0x84
   1e5f4:	f003 0302 	and.w	r3, r3, #2
   1e5f8:	2b00      	cmp	r3, #0
   1e5fa:	d007      	beq.n	1e60c <printk+0x522>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:500
					schar = '+';
   1e5fc:	232b      	movs	r3, #43	; 0x2b
   1e5fe:	673b      	str	r3, [r7, #112]	; 0x70
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:501
					++vlen;
   1e600:	f8d7 308c 	ldr.w	r3, [r7, #140]	; 0x8c
   1e604:	3301      	adds	r3, #1
   1e606:	f8c7 308c 	str.w	r3, [r7, #140]	; 0x8c
   1e60a:	e00f      	b.n	1e62c <printk+0x542>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:503
				} else {
					if (IS_FLAG_SPACE(flags_used)) {
   1e60c:	f8d7 3084 	ldr.w	r3, [r7, #132]	; 0x84
   1e610:	f003 0304 	and.w	r3, r3, #4
   1e614:	2b00      	cmp	r3, #0
   1e616:	d007      	beq.n	1e628 <printk+0x53e>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:504
						schar = ' ';
   1e618:	2320      	movs	r3, #32
   1e61a:	673b      	str	r3, [r7, #112]	; 0x70
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:505
						++vlen;
   1e61c:	f8d7 308c 	ldr.w	r3, [r7, #140]	; 0x8c
   1e620:	3301      	adds	r3, #1
   1e622:	f8c7 308c 	str.w	r3, [r7, #140]	; 0x8c
   1e626:	e001      	b.n	1e62c <printk+0x542>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:507
					} else {
						schar = 0;
   1e628:	2300      	movs	r3, #0
   1e62a:	673b      	str	r3, [r7, #112]	; 0x70
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:511
					}
				}
			}
			dschar = FALSE;
   1e62c:	2300      	movs	r3, #0
   1e62e:	66fb      	str	r3, [r7, #108]	; 0x6c
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:516

			/*
			 * do the ZERO pad.
			 */
			if (IS_FLAG_ZERO(flags_used)) {
   1e630:	f8d7 3084 	ldr.w	r3, [r7, #132]	; 0x84
   1e634:	f003 0308 	and.w	r3, r3, #8
   1e638:	2b00      	cmp	r3, #0
   1e63a:	d019      	beq.n	1e670 <printk+0x586>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:517
				if (schar)
   1e63c:	6f3b      	ldr	r3, [r7, #112]	; 0x70
   1e63e:	2b00      	cmp	r3, #0
   1e640:	d006      	beq.n	1e650 <printk+0x566>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:518
					printk_putc(schar, &count, info);  //输出符号
   1e642:	f107 0328 	add.w	r3, r7, #40	; 0x28
   1e646:	68fa      	ldr	r2, [r7, #12]
   1e648:	4619      	mov	r1, r3
   1e64a:	6f38      	ldr	r0, [r7, #112]	; 0x70
   1e64c:	f7ff fae6 	bl	1dc1c <printk_putc>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:519
				dschar = TRUE;
   1e650:	2301      	movs	r3, #1
   1e652:	66fb      	str	r3, [r7, #108]	; 0x6c
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:520
				printk_pad_zero(vlen, field_width, &count, info);
   1e654:	f107 0228 	add.w	r2, r7, #40	; 0x28
   1e658:	68fb      	ldr	r3, [r7, #12]
   1e65a:	f8d7 1080 	ldr.w	r1, [r7, #128]	; 0x80
   1e65e:	f8d7 008c 	ldr.w	r0, [r7, #140]	; 0x8c
   1e662:	f7ff fd0e 	bl	1e082 <printk_pad_zero>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:521
				vlen = field_width;
   1e666:	f8d7 3080 	ldr.w	r3, [r7, #128]	; 0x80
   1e66a:	f8c7 308c 	str.w	r3, [r7, #140]	; 0x8c
   1e66e:	e01a      	b.n	1e6a6 <printk+0x5bc>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:523
			} else {
				if (!IS_FLAG_MINUS(flags_used)) {
   1e670:	f8d7 3084 	ldr.w	r3, [r7, #132]	; 0x84
   1e674:	f003 0301 	and.w	r3, r3, #1
   1e678:	2b00      	cmp	r3, #0
   1e67a:	d114      	bne.n	1e6a6 <printk+0x5bc>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:524
					printk_pad_space(vlen, field_width, &count, info);  //输出空格
   1e67c:	f107 0228 	add.w	r2, r7, #40	; 0x28
   1e680:	68fb      	ldr	r3, [r7, #12]
   1e682:	f8d7 1080 	ldr.w	r1, [r7, #128]	; 0x80
   1e686:	f8d7 008c 	ldr.w	r0, [r7, #140]	; 0x8c
   1e68a:	f7ff fd14 	bl	1e0b6 <printk_pad_space>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:526

					if (schar)
   1e68e:	6f3b      	ldr	r3, [r7, #112]	; 0x70
   1e690:	2b00      	cmp	r3, #0
   1e692:	d006      	beq.n	1e6a2 <printk+0x5b8>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:527
						printk_putc(schar, &count, info);
   1e694:	f107 0328 	add.w	r3, r7, #40	; 0x28
   1e698:	68fa      	ldr	r2, [r7, #12]
   1e69a:	4619      	mov	r1, r3
   1e69c:	6f38      	ldr	r0, [r7, #112]	; 0x70
   1e69e:	f7ff fabd 	bl	1dc1c <printk_putc>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:528
					dschar = TRUE;
   1e6a2:	2301      	movs	r3, #1
   1e6a4:	66fb      	str	r3, [r7, #108]	; 0x6c
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:534
				}
			}

			/* the string was built in reverse order, now display in */
			/* correct order */
			if (!dschar && schar) {
   1e6a6:	6efb      	ldr	r3, [r7, #108]	; 0x6c
   1e6a8:	2b00      	cmp	r3, #0
   1e6aa:	d117      	bne.n	1e6dc <printk+0x5f2>
   1e6ac:	6f3b      	ldr	r3, [r7, #112]	; 0x70
   1e6ae:	2b00      	cmp	r3, #0
   1e6b0:	d014      	beq.n	1e6dc <printk+0x5f2>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:535
				printk_putc(schar, &count, info);
   1e6b2:	f107 0328 	add.w	r3, r7, #40	; 0x28
   1e6b6:	68fa      	ldr	r2, [r7, #12]
   1e6b8:	4619      	mov	r1, r3
   1e6ba:	6f38      	ldr	r0, [r7, #112]	; 0x70
   1e6bc:	f7ff faae 	bl	1dc1c <printk_putc>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:537
			}
			while (*vstrp)
   1e6c0:	e00c      	b.n	1e6dc <printk+0x5f2>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:538
				printk_putc(*vstrp++, &count, info);
   1e6c2:	f8d7 3090 	ldr.w	r3, [r7, #144]	; 0x90
   1e6c6:	1c5a      	adds	r2, r3, #1
   1e6c8:	f8c7 2090 	str.w	r2, [r7, #144]	; 0x90
   1e6cc:	781b      	ldrb	r3, [r3, #0]
   1e6ce:	4618      	mov	r0, r3
   1e6d0:	f107 0328 	add.w	r3, r7, #40	; 0x28
   1e6d4:	68fa      	ldr	r2, [r7, #12]
   1e6d6:	4619      	mov	r1, r3
   1e6d8:	f7ff faa0 	bl	1dc1c <printk_putc>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:537
			while (*vstrp)
   1e6dc:	f8d7 3090 	ldr.w	r3, [r7, #144]	; 0x90
   1e6e0:	781b      	ldrb	r3, [r3, #0]
   1e6e2:	2b00      	cmp	r3, #0
   1e6e4:	d1ed      	bne.n	1e6c2 <printk+0x5d8>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:539
			if (IS_FLAG_MINUS(flags_used)) {
   1e6e6:	f8d7 3084 	ldr.w	r3, [r7, #132]	; 0x84
   1e6ea:	f003 0301 	and.w	r3, r3, #1
   1e6ee:	2b00      	cmp	r3, #0
   1e6f0:	f000 81b3 	beq.w	1ea5a <printk+0x970>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:540
				printk_pad_space(vlen, field_width, &count, info);
   1e6f4:	f107 0228 	add.w	r2, r7, #40	; 0x28
   1e6f8:	68fb      	ldr	r3, [r7, #12]
   1e6fa:	f8d7 1080 	ldr.w	r1, [r7, #128]	; 0x80
   1e6fe:	f8d7 008c 	ldr.w	r0, [r7, #140]	; 0x8c
   1e702:	f7ff fcd8 	bl	1e0b6 <printk_pad_space>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:542
			}
            break;
   1e706:	e1a8      	b.n	1ea5a <printk+0x970>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:546
        //以下是16进制整形输出
		case 'x':
		case 'X':
			uval = (unsigned int) va_arg(ap, unsigned int);
   1e708:	687b      	ldr	r3, [r7, #4]
   1e70a:	3304      	adds	r3, #4
   1e70c:	607b      	str	r3, [r7, #4]
   1e70e:	687b      	ldr	r3, [r7, #4]
   1e710:	3b04      	subs	r3, #4
   1e712:	681b      	ldr	r3, [r3, #0]
   1e714:	617b      	str	r3, [r7, #20]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:547
			vlen = printk_mknumstr(vstr, &uval, FALSE, 16);
   1e716:	f107 0114 	add.w	r1, r7, #20
   1e71a:	f107 002c 	add.w	r0, r7, #44	; 0x2c
   1e71e:	2310      	movs	r3, #16
   1e720:	2200      	movs	r2, #0
   1e722:	f7ff fc2f 	bl	1df84 <printk_mknumstr>
   1e726:	f8c7 008c 	str.w	r0, [r7, #140]	; 0x8c
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:548
			vstrp = &vstr[vlen];
   1e72a:	f107 022c 	add.w	r2, r7, #44	; 0x2c
   1e72e:	f8d7 308c 	ldr.w	r3, [r7, #140]	; 0x8c
   1e732:	4413      	add	r3, r2
   1e734:	f8c7 3090 	str.w	r3, [r7, #144]	; 0x90
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:550

			dschar = FALSE;
   1e738:	2300      	movs	r3, #0
   1e73a:	66fb      	str	r3, [r7, #108]	; 0x6c
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:551
			if (IS_FLAG_ZERO(flags_used)) {
   1e73c:	f8d7 3084 	ldr.w	r3, [r7, #132]	; 0x84
   1e740:	f003 0308 	and.w	r3, r3, #8
   1e744:	2b00      	cmp	r3, #0
   1e746:	d023      	beq.n	1e790 <printk+0x6a6>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:552
				if (IS_FLAG_POUND(flags_used)) {
   1e748:	f8d7 3084 	ldr.w	r3, [r7, #132]	; 0x84
   1e74c:	f003 0310 	and.w	r3, r3, #16
   1e750:	2b00      	cmp	r3, #0
   1e752:	d00f      	beq.n	1e774 <printk+0x68a>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:553
					printk_putc('0', &count, info);
   1e754:	f107 0328 	add.w	r3, r7, #40	; 0x28
   1e758:	68fa      	ldr	r2, [r7, #12]
   1e75a:	4619      	mov	r1, r3
   1e75c:	2030      	movs	r0, #48	; 0x30
   1e75e:	f7ff fa5d 	bl	1dc1c <printk_putc>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:554
					printk_putc('x', &count, info);
   1e762:	f107 0328 	add.w	r3, r7, #40	; 0x28
   1e766:	68fa      	ldr	r2, [r7, #12]
   1e768:	4619      	mov	r1, r3
   1e76a:	2078      	movs	r0, #120	; 0x78
   1e76c:	f7ff fa56 	bl	1dc1c <printk_putc>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:556
					/*vlen += 2;*/
					dschar = TRUE;
   1e770:	2301      	movs	r3, #1
   1e772:	66fb      	str	r3, [r7, #108]	; 0x6c
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:558
				}
				printk_pad_zero(vlen, field_width, &count, info);
   1e774:	f107 0228 	add.w	r2, r7, #40	; 0x28
   1e778:	68fb      	ldr	r3, [r7, #12]
   1e77a:	f8d7 1080 	ldr.w	r1, [r7, #128]	; 0x80
   1e77e:	f8d7 008c 	ldr.w	r0, [r7, #140]	; 0x8c
   1e782:	f7ff fc7e 	bl	1e082 <printk_pad_zero>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:559
				vlen = field_width;
   1e786:	f8d7 3080 	ldr.w	r3, [r7, #128]	; 0x80
   1e78a:	f8c7 308c 	str.w	r3, [r7, #140]	; 0x8c
   1e78e:	e02f      	b.n	1e7f0 <printk+0x706>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:561
			} else {
				if (!IS_FLAG_MINUS(flags_used)) {
   1e790:	f8d7 3084 	ldr.w	r3, [r7, #132]	; 0x84
   1e794:	f003 0301 	and.w	r3, r3, #1
   1e798:	2b00      	cmp	r3, #0
   1e79a:	d129      	bne.n	1e7f0 <printk+0x706>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:562
					if (IS_FLAG_POUND(flags_used)) {
   1e79c:	f8d7 3084 	ldr.w	r3, [r7, #132]	; 0x84
   1e7a0:	f003 0310 	and.w	r3, r3, #16
   1e7a4:	2b00      	cmp	r3, #0
   1e7a6:	d004      	beq.n	1e7b2 <printk+0x6c8>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:563
						vlen += 2;
   1e7a8:	f8d7 308c 	ldr.w	r3, [r7, #140]	; 0x8c
   1e7ac:	3302      	adds	r3, #2
   1e7ae:	f8c7 308c 	str.w	r3, [r7, #140]	; 0x8c
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:565
					}
					printk_pad_space(vlen, field_width, &count, info);
   1e7b2:	f107 0228 	add.w	r2, r7, #40	; 0x28
   1e7b6:	68fb      	ldr	r3, [r7, #12]
   1e7b8:	f8d7 1080 	ldr.w	r1, [r7, #128]	; 0x80
   1e7bc:	f8d7 008c 	ldr.w	r0, [r7, #140]	; 0x8c
   1e7c0:	f7ff fc79 	bl	1e0b6 <printk_pad_space>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:566
					if (IS_FLAG_POUND(flags_used)) {
   1e7c4:	f8d7 3084 	ldr.w	r3, [r7, #132]	; 0x84
   1e7c8:	f003 0310 	and.w	r3, r3, #16
   1e7cc:	2b00      	cmp	r3, #0
   1e7ce:	d00f      	beq.n	1e7f0 <printk+0x706>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:567
						printk_putc('0', &count, info);
   1e7d0:	f107 0328 	add.w	r3, r7, #40	; 0x28
   1e7d4:	68fa      	ldr	r2, [r7, #12]
   1e7d6:	4619      	mov	r1, r3
   1e7d8:	2030      	movs	r0, #48	; 0x30
   1e7da:	f7ff fa1f 	bl	1dc1c <printk_putc>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:568
						printk_putc('x', &count, info);
   1e7de:	f107 0328 	add.w	r3, r7, #40	; 0x28
   1e7e2:	68fa      	ldr	r2, [r7, #12]
   1e7e4:	4619      	mov	r1, r3
   1e7e6:	2078      	movs	r0, #120	; 0x78
   1e7e8:	f7ff fa18 	bl	1dc1c <printk_putc>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:569
						dschar = TRUE;
   1e7ec:	2301      	movs	r3, #1
   1e7ee:	66fb      	str	r3, [r7, #108]	; 0x6c
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:574
					}
				}
			}

			if ((IS_FLAG_POUND(flags_used)) && !dschar) {
   1e7f0:	f8d7 3084 	ldr.w	r3, [r7, #132]	; 0x84
   1e7f4:	f003 0310 	and.w	r3, r3, #16
   1e7f8:	2b00      	cmp	r3, #0
   1e7fa:	f000 808c 	beq.w	1e916 <printk+0x82c>
   1e7fe:	6efb      	ldr	r3, [r7, #108]	; 0x6c
   1e800:	2b00      	cmp	r3, #0
   1e802:	f040 8088 	bne.w	1e916 <printk+0x82c>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:575
				printk_putc('0', &count, info);
   1e806:	f107 0328 	add.w	r3, r7, #40	; 0x28
   1e80a:	68fa      	ldr	r2, [r7, #12]
   1e80c:	4619      	mov	r1, r3
   1e80e:	2030      	movs	r0, #48	; 0x30
   1e810:	f7ff fa04 	bl	1dc1c <printk_putc>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:576
				printk_putc('x', &count, info);
   1e814:	f107 0328 	add.w	r3, r7, #40	; 0x28
   1e818:	68fa      	ldr	r2, [r7, #12]
   1e81a:	4619      	mov	r1, r3
   1e81c:	2078      	movs	r0, #120	; 0x78
   1e81e:	f7ff f9fd 	bl	1dc1c <printk_putc>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:577
				vlen += 2;
   1e822:	f8d7 308c 	ldr.w	r3, [r7, #140]	; 0x8c
   1e826:	3302      	adds	r3, #2
   1e828:	f8c7 308c 	str.w	r3, [r7, #140]	; 0x8c
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:579
			}
			goto cont_xd;
   1e82c:	e073      	b.n	1e916 <printk+0x82c>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:582
		//无符号以八进制表示的整数输出
		case 'o':
			uval = (unsigned int) va_arg(ap, unsigned int);
   1e82e:	687b      	ldr	r3, [r7, #4]
   1e830:	3304      	adds	r3, #4
   1e832:	607b      	str	r3, [r7, #4]
   1e834:	687b      	ldr	r3, [r7, #4]
   1e836:	3b04      	subs	r3, #4
   1e838:	681b      	ldr	r3, [r3, #0]
   1e83a:	617b      	str	r3, [r7, #20]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:583
			vlen = printk_mknumstr(vstr, &uval, FALSE, 8);
   1e83c:	f107 0114 	add.w	r1, r7, #20
   1e840:	f107 002c 	add.w	r0, r7, #44	; 0x2c
   1e844:	2308      	movs	r3, #8
   1e846:	2200      	movs	r2, #0
   1e848:	f7ff fb9c 	bl	1df84 <printk_mknumstr>
   1e84c:	f8c7 008c 	str.w	r0, [r7, #140]	; 0x8c
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:584
			goto cont_u;
   1e850:	e034      	b.n	1e8bc <printk+0x7d2>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:587
		//二进制输出
		case 'b':
			uval = (unsigned int) va_arg(ap, unsigned int);
   1e852:	687b      	ldr	r3, [r7, #4]
   1e854:	3304      	adds	r3, #4
   1e856:	607b      	str	r3, [r7, #4]
   1e858:	687b      	ldr	r3, [r7, #4]
   1e85a:	3b04      	subs	r3, #4
   1e85c:	681b      	ldr	r3, [r3, #0]
   1e85e:	617b      	str	r3, [r7, #20]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:588
			vlen = printk_mknumstr(vstr, &uval, FALSE, 2);
   1e860:	f107 0114 	add.w	r1, r7, #20
   1e864:	f107 002c 	add.w	r0, r7, #44	; 0x2c
   1e868:	2302      	movs	r3, #2
   1e86a:	2200      	movs	r2, #0
   1e86c:	f7ff fb8a 	bl	1df84 <printk_mknumstr>
   1e870:	f8c7 008c 	str.w	r0, [r7, #140]	; 0x8c
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:589
			goto cont_u;
   1e874:	e022      	b.n	1e8bc <printk+0x7d2>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:592
		//输出指针的值
		case 'p':
			uval = (unsigned int) va_arg(ap, void *);
   1e876:	687b      	ldr	r3, [r7, #4]
   1e878:	3304      	adds	r3, #4
   1e87a:	607b      	str	r3, [r7, #4]
   1e87c:	687b      	ldr	r3, [r7, #4]
   1e87e:	3b04      	subs	r3, #4
   1e880:	681b      	ldr	r3, [r3, #0]
   1e882:	617b      	str	r3, [r7, #20]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:593
			vlen = printk_mknumstr(vstr, &uval, FALSE, 16);
   1e884:	f107 0114 	add.w	r1, r7, #20
   1e888:	f107 002c 	add.w	r0, r7, #44	; 0x2c
   1e88c:	2310      	movs	r3, #16
   1e88e:	2200      	movs	r2, #0
   1e890:	f7ff fb78 	bl	1df84 <printk_mknumstr>
   1e894:	f8c7 008c 	str.w	r0, [r7, #140]	; 0x8c
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:594
			goto cont_u;
   1e898:	e010      	b.n	1e8bc <printk+0x7d2>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:596
		case 'u':
			uval = (unsigned int) va_arg(ap, unsigned int);
   1e89a:	687b      	ldr	r3, [r7, #4]
   1e89c:	3304      	adds	r3, #4
   1e89e:	607b      	str	r3, [r7, #4]
   1e8a0:	687b      	ldr	r3, [r7, #4]
   1e8a2:	3b04      	subs	r3, #4
   1e8a4:	681b      	ldr	r3, [r3, #0]
   1e8a6:	617b      	str	r3, [r7, #20]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:597
			vlen = printk_mknumstr(vstr, &uval, FALSE, 10);
   1e8a8:	f107 0114 	add.w	r1, r7, #20
   1e8ac:	f107 002c 	add.w	r0, r7, #44	; 0x2c
   1e8b0:	230a      	movs	r3, #10
   1e8b2:	2200      	movs	r2, #0
   1e8b4:	f7ff fb66 	bl	1df84 <printk_mknumstr>
   1e8b8:	f8c7 008c 	str.w	r0, [r7, #140]	; 0x8c
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:599

			cont_u: vstrp = &vstr[vlen];
   1e8bc:	f107 022c 	add.w	r2, r7, #44	; 0x2c
   1e8c0:	f8d7 308c 	ldr.w	r3, [r7, #140]	; 0x8c
   1e8c4:	4413      	add	r3, r2
   1e8c6:	f8c7 3090 	str.w	r3, [r7, #144]	; 0x90
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:601

			if (IS_FLAG_ZERO(flags_used)) {
   1e8ca:	f8d7 3084 	ldr.w	r3, [r7, #132]	; 0x84
   1e8ce:	f003 0308 	and.w	r3, r3, #8
   1e8d2:	2b00      	cmp	r3, #0
   1e8d4:	d00d      	beq.n	1e8f2 <printk+0x808>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:602
				printk_pad_zero(vlen, field_width, &count, info);
   1e8d6:	f107 0228 	add.w	r2, r7, #40	; 0x28
   1e8da:	68fb      	ldr	r3, [r7, #12]
   1e8dc:	f8d7 1080 	ldr.w	r1, [r7, #128]	; 0x80
   1e8e0:	f8d7 008c 	ldr.w	r0, [r7, #140]	; 0x8c
   1e8e4:	f7ff fbcd 	bl	1e082 <printk_pad_zero>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:603
				vlen = field_width;
   1e8e8:	f8d7 3080 	ldr.w	r3, [r7, #128]	; 0x80
   1e8ec:	f8c7 308c 	str.w	r3, [r7, #140]	; 0x8c
   1e8f0:	e022      	b.n	1e938 <printk+0x84e>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:605
			} else {
				if (!IS_FLAG_MINUS(flags_used)) {
   1e8f2:	f8d7 3084 	ldr.w	r3, [r7, #132]	; 0x84
   1e8f6:	f003 0301 	and.w	r3, r3, #1
   1e8fa:	2b00      	cmp	r3, #0
   1e8fc:	d10d      	bne.n	1e91a <printk+0x830>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:606
					printk_pad_space(vlen, field_width, &count, info);
   1e8fe:	f107 0228 	add.w	r2, r7, #40	; 0x28
   1e902:	68fb      	ldr	r3, [r7, #12]
   1e904:	f8d7 1080 	ldr.w	r1, [r7, #128]	; 0x80
   1e908:	f8d7 008c 	ldr.w	r0, [r7, #140]	; 0x8c
   1e90c:	f7ff fbd3 	bl	1e0b6 <printk_pad_space>
   1e910:	e012      	b.n	1e938 <printk+0x84e>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:448
			goto cont_xd;  //开始跳转
   1e912:	bf00      	nop
   1e914:	e010      	b.n	1e938 <printk+0x84e>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:579
			goto cont_xd;
   1e916:	bf00      	nop
   1e918:	e00e      	b.n	1e938 <printk+0x84e>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:610
				}
			}

			cont_xd: while (*vstrp)
   1e91a:	bf00      	nop
   1e91c:	e00c      	b.n	1e938 <printk+0x84e>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:611
				printk_putc(*vstrp--, &count, info);
   1e91e:	f8d7 3090 	ldr.w	r3, [r7, #144]	; 0x90
   1e922:	1e5a      	subs	r2, r3, #1
   1e924:	f8c7 2090 	str.w	r2, [r7, #144]	; 0x90
   1e928:	781b      	ldrb	r3, [r3, #0]
   1e92a:	4618      	mov	r0, r3
   1e92c:	f107 0328 	add.w	r3, r7, #40	; 0x28
   1e930:	68fa      	ldr	r2, [r7, #12]
   1e932:	4619      	mov	r1, r3
   1e934:	f7ff f972 	bl	1dc1c <printk_putc>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:610
			cont_xd: while (*vstrp)
   1e938:	f8d7 3090 	ldr.w	r3, [r7, #144]	; 0x90
   1e93c:	781b      	ldrb	r3, [r3, #0]
   1e93e:	2b00      	cmp	r3, #0
   1e940:	d1ed      	bne.n	1e91e <printk+0x834>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:613

			if (IS_FLAG_MINUS(flags_used)) {
   1e942:	f8d7 3084 	ldr.w	r3, [r7, #132]	; 0x84
   1e946:	f003 0301 	and.w	r3, r3, #1
   1e94a:	2b00      	cmp	r3, #0
   1e94c:	f000 8087 	beq.w	1ea5e <printk+0x974>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:614
				printk_pad_space(vlen, field_width, &count, info);
   1e950:	f107 0228 	add.w	r2, r7, #40	; 0x28
   1e954:	68fb      	ldr	r3, [r7, #12]
   1e956:	f8d7 1080 	ldr.w	r1, [r7, #128]	; 0x80
   1e95a:	f8d7 008c 	ldr.w	r0, [r7, #140]	; 0x8c
   1e95e:	f7ff fbaa 	bl	1e0b6 <printk_pad_space>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:617
			}

			break;
   1e962:	e07c      	b.n	1ea5e <printk+0x974>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:620
        //字符型输出
		case 'c':
			cval = (char) va_arg(ap, unsigned int);
   1e964:	687b      	ldr	r3, [r7, #4]
   1e966:	3304      	adds	r3, #4
   1e968:	607b      	str	r3, [r7, #4]
   1e96a:	687b      	ldr	r3, [r7, #4]
   1e96c:	3b04      	subs	r3, #4
   1e96e:	681b      	ldr	r3, [r3, #0]
   1e970:	b2db      	uxtb	r3, r3
   1e972:	65bb      	str	r3, [r7, #88]	; 0x58
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:621
			printk_putc(cval, &count, info);
   1e974:	f107 0328 	add.w	r3, r7, #40	; 0x28
   1e978:	68fa      	ldr	r2, [r7, #12]
   1e97a:	4619      	mov	r1, r3
   1e97c:	6db8      	ldr	r0, [r7, #88]	; 0x58
   1e97e:	f7ff f94d 	bl	1dc1c <printk_putc>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:622
			break;
   1e982:	e06f      	b.n	1ea64 <printk+0x97a>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:624
		case 's':
			sval = (char *) va_arg(ap, char *);
   1e984:	687b      	ldr	r3, [r7, #4]
   1e986:	3304      	adds	r3, #4
   1e988:	607b      	str	r3, [r7, #4]
   1e98a:	687b      	ldr	r3, [r7, #4]
   1e98c:	3b04      	subs	r3, #4
   1e98e:	681b      	ldr	r3, [r3, #0]
   1e990:	66bb      	str	r3, [r7, #104]	; 0x68
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:625
			if (sval) {
   1e992:	6ebb      	ldr	r3, [r7, #104]	; 0x68
   1e994:	2b00      	cmp	r3, #0
   1e996:	d064      	beq.n	1ea62 <printk+0x978>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:626
				vlen = strlen(sval);
   1e998:	6eb8      	ldr	r0, [r7, #104]	; 0x68
   1e99a:	f000 f89d 	bl	1ead8 <strlen>
   1e99e:	4603      	mov	r3, r0
   1e9a0:	f8c7 308c 	str.w	r3, [r7, #140]	; 0x8c
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:627
				if (!IS_FLAG_MINUS(flags_used)) {
   1e9a4:	f8d7 3084 	ldr.w	r3, [r7, #132]	; 0x84
   1e9a8:	f003 0301 	and.w	r3, r3, #1
   1e9ac:	2b00      	cmp	r3, #0
   1e9ae:	d108      	bne.n	1e9c2 <printk+0x8d8>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:628
					printk_pad_space(vlen, field_width, &count, info);
   1e9b0:	f107 0228 	add.w	r2, r7, #40	; 0x28
   1e9b4:	68fb      	ldr	r3, [r7, #12]
   1e9b6:	f8d7 1080 	ldr.w	r1, [r7, #128]	; 0x80
   1e9ba:	f8d7 008c 	ldr.w	r0, [r7, #140]	; 0x8c
   1e9be:	f7ff fb7a 	bl	1e0b6 <printk_pad_space>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:630
				}
				if(precision_width!=0)
   1e9c2:	6f7b      	ldr	r3, [r7, #116]	; 0x74
   1e9c4:	2b00      	cmp	r3, #0
   1e9c6:	d021      	beq.n	1ea0c <printk+0x922>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:632
				{
					while (*sval)
   1e9c8:	e010      	b.n	1e9ec <printk+0x902>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:634
					{
						if(precision_width>=1)
   1e9ca:	6f7b      	ldr	r3, [r7, #116]	; 0x74
   1e9cc:	2b00      	cmp	r3, #0
   1e9ce:	dd0d      	ble.n	1e9ec <printk+0x902>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:636
						{
							precision_width--;
   1e9d0:	6f7b      	ldr	r3, [r7, #116]	; 0x74
   1e9d2:	3b01      	subs	r3, #1
   1e9d4:	677b      	str	r3, [r7, #116]	; 0x74
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:637
							printk_putc(*sval++, &count, info);
   1e9d6:	6ebb      	ldr	r3, [r7, #104]	; 0x68
   1e9d8:	1c5a      	adds	r2, r3, #1
   1e9da:	66ba      	str	r2, [r7, #104]	; 0x68
   1e9dc:	781b      	ldrb	r3, [r3, #0]
   1e9de:	4618      	mov	r0, r3
   1e9e0:	f107 0328 	add.w	r3, r7, #40	; 0x28
   1e9e4:	68fa      	ldr	r2, [r7, #12]
   1e9e6:	4619      	mov	r1, r3
   1e9e8:	f7ff f918 	bl	1dc1c <printk_putc>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:632
					while (*sval)
   1e9ec:	6ebb      	ldr	r3, [r7, #104]	; 0x68
   1e9ee:	781b      	ldrb	r3, [r3, #0]
   1e9f0:	2b00      	cmp	r3, #0
   1e9f2:	d1ea      	bne.n	1e9ca <printk+0x8e0>
   1e9f4:	e00e      	b.n	1ea14 <printk+0x92a>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:644
					}
				}
				else    //precision_width=0情况
				{
					while (*sval)
					   printk_putc(*sval++, &count, info);
   1e9f6:	6ebb      	ldr	r3, [r7, #104]	; 0x68
   1e9f8:	1c5a      	adds	r2, r3, #1
   1e9fa:	66ba      	str	r2, [r7, #104]	; 0x68
   1e9fc:	781b      	ldrb	r3, [r3, #0]
   1e9fe:	4618      	mov	r0, r3
   1ea00:	f107 0328 	add.w	r3, r7, #40	; 0x28
   1ea04:	68fa      	ldr	r2, [r7, #12]
   1ea06:	4619      	mov	r1, r3
   1ea08:	f7ff f908 	bl	1dc1c <printk_putc>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:643
					while (*sval)
   1ea0c:	6ebb      	ldr	r3, [r7, #104]	; 0x68
   1ea0e:	781b      	ldrb	r3, [r3, #0]
   1ea10:	2b00      	cmp	r3, #0
   1ea12:	d1f0      	bne.n	1e9f6 <printk+0x90c>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:646
				}
				if (IS_FLAG_MINUS(flags_used)) {
   1ea14:	f8d7 3084 	ldr.w	r3, [r7, #132]	; 0x84
   1ea18:	f003 0301 	and.w	r3, r3, #1
   1ea1c:	2b00      	cmp	r3, #0
   1ea1e:	d020      	beq.n	1ea62 <printk+0x978>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:647
					printk_pad_space(vlen, field_width, &count, info);
   1ea20:	f107 0228 	add.w	r2, r7, #40	; 0x28
   1ea24:	68fb      	ldr	r3, [r7, #12]
   1ea26:	f8d7 1080 	ldr.w	r1, [r7, #128]	; 0x80
   1ea2a:	f8d7 008c 	ldr.w	r0, [r7, #140]	; 0x8c
   1ea2e:	f7ff fb42 	bl	1e0b6 <printk_pad_space>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:650
				}
			}
			break;
   1ea32:	e016      	b.n	1ea62 <printk+0x978>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:652
		case 'n':
			ivalp = (int *) va_arg(ap, int *);
   1ea34:	687b      	ldr	r3, [r7, #4]
   1ea36:	3304      	adds	r3, #4
   1ea38:	607b      	str	r3, [r7, #4]
   1ea3a:	687b      	ldr	r3, [r7, #4]
   1ea3c:	3b04      	subs	r3, #4
   1ea3e:	681b      	ldr	r3, [r3, #0]
   1ea40:	663b      	str	r3, [r7, #96]	; 0x60
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:653
			*ivalp = count;
   1ea42:	6aba      	ldr	r2, [r7, #40]	; 0x28
   1ea44:	6e3b      	ldr	r3, [r7, #96]	; 0x60
   1ea46:	601a      	str	r2, [r3, #0]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:654
			break;
   1ea48:	e00c      	b.n	1ea64 <printk+0x97a>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:657

		default:
			printk_putc(c, &count, info);
   1ea4a:	f107 0328 	add.w	r3, r7, #40	; 0x28
   1ea4e:	68fa      	ldr	r2, [r7, #12]
   1ea50:	4619      	mov	r1, r3
   1ea52:	6e78      	ldr	r0, [r7, #100]	; 0x64
   1ea54:	f7ff f8e2 	bl	1dc1c <printk_putc>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:658
			break;
   1ea58:	e004      	b.n	1ea64 <printk+0x97a>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:542
            break;
   1ea5a:	bf00      	nop
   1ea5c:	e002      	b.n	1ea64 <printk+0x97a>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:617
			break;
   1ea5e:	bf00      	nop
   1ea60:	e000      	b.n	1ea64 <printk+0x97a>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:650
			break;
   1ea62:	bf00      	nop
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:259
	for (p = (char *) fmt; (c = *p) != 0; p++)
   1ea64:	f8d7 3094 	ldr.w	r3, [r7, #148]	; 0x94
   1ea68:	3301      	adds	r3, #1
   1ea6a:	f8c7 3094 	str.w	r3, [r7, #148]	; 0x94
   1ea6e:	f8d7 3094 	ldr.w	r3, [r7, #148]	; 0x94
   1ea72:	781b      	ldrb	r3, [r3, #0]
   1ea74:	667b      	str	r3, [r7, #100]	; 0x64
   1ea76:	6e7b      	ldr	r3, [r7, #100]	; 0x64
   1ea78:	2b00      	cmp	r3, #0
   1ea7a:	f47f ab51 	bne.w	1e120 <printk+0x36>
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:661
		}
	}
	return count;
   1ea7e:	6abb      	ldr	r3, [r7, #40]	; 0x28
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:662
}
   1ea80:	4618      	mov	r0, r3
   1ea82:	379c      	adds	r7, #156	; 0x9c
   1ea84:	46bd      	mov	sp, r7
   1ea86:	bd90      	pop	{r4, r7, pc}

0001ea88 <myprintf>:
myprintf():
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:671
//参数说明：const char *:打印参数字符串：对输入的字符串进行解析并按格式输出
//       例如： printf("c=%c\n",c); 将c按char型进行输出
//函数返回：字符串长度
//======================================================================
int myprintf(const char *fmt, ...)
{
   1ea88:	b40f      	push	{r0, r1, r2, r3}
   1ea8a:	b580      	push	{r7, lr}
   1ea8c:	b086      	sub	sp, #24
   1ea8e:	af00      	add	r7, sp, #0
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:675
	char * ap;
	int rvalue;
	PRINTK_INFO info;
	info.dest = DEST_CONSOLE;  //宏定义为1
   1ea90:	2301      	movs	r3, #1
   1ea92:	607b      	str	r3, [r7, #4]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:676
	info.func = &out_char;     //调用的串口输出函数
   1ea94:	4b0a      	ldr	r3, [pc, #40]	; (1eac0 <myprintf+0x38>)
   1ea96:	60bb      	str	r3, [r7, #8]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:677
	va_start(ap, fmt);  //对ap 进行初始化，让它指向可变参数表里面的第一个参数
   1ea98:	f107 0324 	add.w	r3, r7, #36	; 0x24
   1ea9c:	617b      	str	r3, [r7, #20]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:678
	rvalue = printk(&info, fmt, ap);
   1ea9e:	6a39      	ldr	r1, [r7, #32]
   1eaa0:	1d3b      	adds	r3, r7, #4
   1eaa2:	697a      	ldr	r2, [r7, #20]
   1eaa4:	4618      	mov	r0, r3
   1eaa6:	f7ff fb20 	bl	1e0ea <printk>
   1eaaa:	6138      	str	r0, [r7, #16]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:680

	va_end(ap);
   1eaac:	2300      	movs	r3, #0
   1eaae:	617b      	str	r3, [r7, #20]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:682

	return rvalue;
   1eab0:	693b      	ldr	r3, [r7, #16]
C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH04-GPIO\GPIO-Output-DirectAddress(MSP432)-20210406\Debug/srcc/printf.c:683
}
   1eab2:	4618      	mov	r0, r3
   1eab4:	3718      	adds	r7, #24
   1eab6:	46bd      	mov	sp, r7
   1eab8:	e8bd 4080 	ldmia.w	sp!, {r7, lr}
   1eabc:	b004      	add	sp, #16
   1eabe:	4770      	bx	lr
   1eac0:	0001dc01 	.word	0x0001dc01

0001eac4 <strcmp>:
strcmp():
   1eac4:	f810 2b01 	ldrb.w	r2, [r0], #1
   1eac8:	f811 3b01 	ldrb.w	r3, [r1], #1
   1eacc:	2a01      	cmp	r2, #1
   1eace:	bf28      	it	cs
   1ead0:	429a      	cmpcs	r2, r3
   1ead2:	d0f7      	beq.n	1eac4 <strcmp>
   1ead4:	1ad0      	subs	r0, r2, r3
   1ead6:	4770      	bx	lr

0001ead8 <strlen>:
strlen():
   1ead8:	4603      	mov	r3, r0
   1eada:	f813 2b01 	ldrb.w	r2, [r3], #1
   1eade:	2a00      	cmp	r2, #0
   1eae0:	d1fb      	bne.n	1eada <strlen+0x2>
   1eae2:	1a18      	subs	r0, r3, r0
   1eae4:	3801      	subs	r0, #1
   1eae6:	4770      	bx	lr

0001eae8 <__aeabi_drsub>:
__aeabi_drsub():
   1eae8:	f081 4100 	eor.w	r1, r1, #2147483648	; 0x80000000
   1eaec:	e002      	b.n	1eaf4 <__adddf3>
   1eaee:	bf00      	nop

0001eaf0 <__aeabi_dsub>:
__subdf3():
   1eaf0:	f083 4300 	eor.w	r3, r3, #2147483648	; 0x80000000

0001eaf4 <__adddf3>:
__aeabi_dadd():
   1eaf4:	b530      	push	{r4, r5, lr}
   1eaf6:	ea4f 0441 	mov.w	r4, r1, lsl #1
   1eafa:	ea4f 0543 	mov.w	r5, r3, lsl #1
   1eafe:	ea94 0f05 	teq	r4, r5
   1eb02:	bf08      	it	eq
   1eb04:	ea90 0f02 	teqeq	r0, r2
   1eb08:	bf1f      	itttt	ne
   1eb0a:	ea54 0c00 	orrsne.w	ip, r4, r0
   1eb0e:	ea55 0c02 	orrsne.w	ip, r5, r2
   1eb12:	ea7f 5c64 	mvnsne.w	ip, r4, asr #21
   1eb16:	ea7f 5c65 	mvnsne.w	ip, r5, asr #21
   1eb1a:	f000 80e2 	beq.w	1ece2 <__adddf3+0x1ee>
   1eb1e:	ea4f 5454 	mov.w	r4, r4, lsr #21
   1eb22:	ebd4 5555 	rsbs	r5, r4, r5, lsr #21
   1eb26:	bfb8      	it	lt
   1eb28:	426d      	neglt	r5, r5
   1eb2a:	dd0c      	ble.n	1eb46 <__adddf3+0x52>
   1eb2c:	442c      	add	r4, r5
   1eb2e:	ea80 0202 	eor.w	r2, r0, r2
   1eb32:	ea81 0303 	eor.w	r3, r1, r3
   1eb36:	ea82 0000 	eor.w	r0, r2, r0
   1eb3a:	ea83 0101 	eor.w	r1, r3, r1
   1eb3e:	ea80 0202 	eor.w	r2, r0, r2
   1eb42:	ea81 0303 	eor.w	r3, r1, r3
   1eb46:	2d36      	cmp	r5, #54	; 0x36
   1eb48:	bf88      	it	hi
   1eb4a:	bd30      	pophi	{r4, r5, pc}
   1eb4c:	f011 4f00 	tst.w	r1, #2147483648	; 0x80000000
   1eb50:	ea4f 3101 	mov.w	r1, r1, lsl #12
   1eb54:	f44f 1c80 	mov.w	ip, #1048576	; 0x100000
   1eb58:	ea4c 3111 	orr.w	r1, ip, r1, lsr #12
   1eb5c:	d002      	beq.n	1eb64 <__adddf3+0x70>
   1eb5e:	4240      	negs	r0, r0
   1eb60:	eb61 0141 	sbc.w	r1, r1, r1, lsl #1
   1eb64:	f013 4f00 	tst.w	r3, #2147483648	; 0x80000000
   1eb68:	ea4f 3303 	mov.w	r3, r3, lsl #12
   1eb6c:	ea4c 3313 	orr.w	r3, ip, r3, lsr #12
   1eb70:	d002      	beq.n	1eb78 <__adddf3+0x84>
   1eb72:	4252      	negs	r2, r2
   1eb74:	eb63 0343 	sbc.w	r3, r3, r3, lsl #1
   1eb78:	ea94 0f05 	teq	r4, r5
   1eb7c:	f000 80a7 	beq.w	1ecce <__adddf3+0x1da>
   1eb80:	f1a4 0401 	sub.w	r4, r4, #1
   1eb84:	f1d5 0e20 	rsbs	lr, r5, #32
   1eb88:	db0d      	blt.n	1eba6 <__adddf3+0xb2>
   1eb8a:	fa02 fc0e 	lsl.w	ip, r2, lr
   1eb8e:	fa22 f205 	lsr.w	r2, r2, r5
   1eb92:	1880      	adds	r0, r0, r2
   1eb94:	f141 0100 	adc.w	r1, r1, #0
   1eb98:	fa03 f20e 	lsl.w	r2, r3, lr
   1eb9c:	1880      	adds	r0, r0, r2
   1eb9e:	fa43 f305 	asr.w	r3, r3, r5
   1eba2:	4159      	adcs	r1, r3
   1eba4:	e00e      	b.n	1ebc4 <__adddf3+0xd0>
   1eba6:	f1a5 0520 	sub.w	r5, r5, #32
   1ebaa:	f10e 0e20 	add.w	lr, lr, #32
   1ebae:	2a01      	cmp	r2, #1
   1ebb0:	fa03 fc0e 	lsl.w	ip, r3, lr
   1ebb4:	bf28      	it	cs
   1ebb6:	f04c 0c02 	orrcs.w	ip, ip, #2
   1ebba:	fa43 f305 	asr.w	r3, r3, r5
   1ebbe:	18c0      	adds	r0, r0, r3
   1ebc0:	eb51 71e3 	adcs.w	r1, r1, r3, asr #31
   1ebc4:	f001 4500 	and.w	r5, r1, #2147483648	; 0x80000000
   1ebc8:	d507      	bpl.n	1ebda <__adddf3+0xe6>
   1ebca:	f04f 0e00 	mov.w	lr, #0
   1ebce:	f1dc 0c00 	rsbs	ip, ip, #0
   1ebd2:	eb7e 0000 	sbcs.w	r0, lr, r0
   1ebd6:	eb6e 0101 	sbc.w	r1, lr, r1
   1ebda:	f5b1 1f80 	cmp.w	r1, #1048576	; 0x100000
   1ebde:	d31b      	bcc.n	1ec18 <__adddf3+0x124>
   1ebe0:	f5b1 1f00 	cmp.w	r1, #2097152	; 0x200000
   1ebe4:	d30c      	bcc.n	1ec00 <__adddf3+0x10c>
   1ebe6:	0849      	lsrs	r1, r1, #1
   1ebe8:	ea5f 0030 	movs.w	r0, r0, rrx
   1ebec:	ea4f 0c3c 	mov.w	ip, ip, rrx
   1ebf0:	f104 0401 	add.w	r4, r4, #1
   1ebf4:	ea4f 5244 	mov.w	r2, r4, lsl #21
   1ebf8:	f512 0f80 	cmn.w	r2, #4194304	; 0x400000
   1ebfc:	f080 809a 	bcs.w	1ed34 <__adddf3+0x240>
   1ec00:	f1bc 4f00 	cmp.w	ip, #2147483648	; 0x80000000
   1ec04:	bf08      	it	eq
   1ec06:	ea5f 0c50 	movseq.w	ip, r0, lsr #1
   1ec0a:	f150 0000 	adcs.w	r0, r0, #0
   1ec0e:	eb41 5104 	adc.w	r1, r1, r4, lsl #20
   1ec12:	ea41 0105 	orr.w	r1, r1, r5
   1ec16:	bd30      	pop	{r4, r5, pc}
   1ec18:	ea5f 0c4c 	movs.w	ip, ip, lsl #1
   1ec1c:	4140      	adcs	r0, r0
   1ec1e:	eb41 0101 	adc.w	r1, r1, r1
   1ec22:	f411 1f80 	tst.w	r1, #1048576	; 0x100000
   1ec26:	f1a4 0401 	sub.w	r4, r4, #1
   1ec2a:	d1e9      	bne.n	1ec00 <__adddf3+0x10c>
   1ec2c:	f091 0f00 	teq	r1, #0
   1ec30:	bf04      	itt	eq
   1ec32:	4601      	moveq	r1, r0
   1ec34:	2000      	moveq	r0, #0
   1ec36:	fab1 f381 	clz	r3, r1
   1ec3a:	bf08      	it	eq
   1ec3c:	3320      	addeq	r3, #32
   1ec3e:	f1a3 030b 	sub.w	r3, r3, #11
   1ec42:	f1b3 0220 	subs.w	r2, r3, #32
   1ec46:	da0c      	bge.n	1ec62 <__adddf3+0x16e>
   1ec48:	320c      	adds	r2, #12
   1ec4a:	dd08      	ble.n	1ec5e <__adddf3+0x16a>
   1ec4c:	f102 0c14 	add.w	ip, r2, #20
   1ec50:	f1c2 020c 	rsb	r2, r2, #12
   1ec54:	fa01 f00c 	lsl.w	r0, r1, ip
   1ec58:	fa21 f102 	lsr.w	r1, r1, r2
   1ec5c:	e00c      	b.n	1ec78 <__adddf3+0x184>
   1ec5e:	f102 0214 	add.w	r2, r2, #20
   1ec62:	bfd8      	it	le
   1ec64:	f1c2 0c20 	rsble	ip, r2, #32
   1ec68:	fa01 f102 	lsl.w	r1, r1, r2
   1ec6c:	fa20 fc0c 	lsr.w	ip, r0, ip
   1ec70:	bfdc      	itt	le
   1ec72:	ea41 010c 	orrle.w	r1, r1, ip
   1ec76:	4090      	lslle	r0, r2
   1ec78:	1ae4      	subs	r4, r4, r3
   1ec7a:	bfa2      	ittt	ge
   1ec7c:	eb01 5104 	addge.w	r1, r1, r4, lsl #20
   1ec80:	4329      	orrge	r1, r5
   1ec82:	bd30      	popge	{r4, r5, pc}
   1ec84:	ea6f 0404 	mvn.w	r4, r4
   1ec88:	3c1f      	subs	r4, #31
   1ec8a:	da1c      	bge.n	1ecc6 <__adddf3+0x1d2>
   1ec8c:	340c      	adds	r4, #12
   1ec8e:	dc0e      	bgt.n	1ecae <__adddf3+0x1ba>
   1ec90:	f104 0414 	add.w	r4, r4, #20
   1ec94:	f1c4 0220 	rsb	r2, r4, #32
   1ec98:	fa20 f004 	lsr.w	r0, r0, r4
   1ec9c:	fa01 f302 	lsl.w	r3, r1, r2
   1eca0:	ea40 0003 	orr.w	r0, r0, r3
   1eca4:	fa21 f304 	lsr.w	r3, r1, r4
   1eca8:	ea45 0103 	orr.w	r1, r5, r3
   1ecac:	bd30      	pop	{r4, r5, pc}
   1ecae:	f1c4 040c 	rsb	r4, r4, #12
   1ecb2:	f1c4 0220 	rsb	r2, r4, #32
   1ecb6:	fa20 f002 	lsr.w	r0, r0, r2
   1ecba:	fa01 f304 	lsl.w	r3, r1, r4
   1ecbe:	ea40 0003 	orr.w	r0, r0, r3
   1ecc2:	4629      	mov	r1, r5
   1ecc4:	bd30      	pop	{r4, r5, pc}
   1ecc6:	fa21 f004 	lsr.w	r0, r1, r4
   1ecca:	4629      	mov	r1, r5
   1eccc:	bd30      	pop	{r4, r5, pc}
   1ecce:	f094 0f00 	teq	r4, #0
   1ecd2:	f483 1380 	eor.w	r3, r3, #1048576	; 0x100000
   1ecd6:	bf06      	itte	eq
   1ecd8:	f481 1180 	eoreq.w	r1, r1, #1048576	; 0x100000
   1ecdc:	3401      	addeq	r4, #1
   1ecde:	3d01      	subne	r5, #1
   1ece0:	e74e      	b.n	1eb80 <__adddf3+0x8c>
   1ece2:	ea7f 5c64 	mvns.w	ip, r4, asr #21
   1ece6:	bf18      	it	ne
   1ece8:	ea7f 5c65 	mvnsne.w	ip, r5, asr #21
   1ecec:	d029      	beq.n	1ed42 <__adddf3+0x24e>
   1ecee:	ea94 0f05 	teq	r4, r5
   1ecf2:	bf08      	it	eq
   1ecf4:	ea90 0f02 	teqeq	r0, r2
   1ecf8:	d005      	beq.n	1ed06 <__adddf3+0x212>
   1ecfa:	ea54 0c00 	orrs.w	ip, r4, r0
   1ecfe:	bf04      	itt	eq
   1ed00:	4619      	moveq	r1, r3
   1ed02:	4610      	moveq	r0, r2
   1ed04:	bd30      	pop	{r4, r5, pc}
   1ed06:	ea91 0f03 	teq	r1, r3
   1ed0a:	bf1e      	ittt	ne
   1ed0c:	2100      	movne	r1, #0
   1ed0e:	2000      	movne	r0, #0
   1ed10:	bd30      	popne	{r4, r5, pc}
   1ed12:	ea5f 5c54 	movs.w	ip, r4, lsr #21
   1ed16:	d105      	bne.n	1ed24 <__adddf3+0x230>
   1ed18:	0040      	lsls	r0, r0, #1
   1ed1a:	4149      	adcs	r1, r1
   1ed1c:	bf28      	it	cs
   1ed1e:	f041 4100 	orrcs.w	r1, r1, #2147483648	; 0x80000000
   1ed22:	bd30      	pop	{r4, r5, pc}
   1ed24:	f514 0480 	adds.w	r4, r4, #4194304	; 0x400000
   1ed28:	bf3c      	itt	cc
   1ed2a:	f501 1180 	addcc.w	r1, r1, #1048576	; 0x100000
   1ed2e:	bd30      	popcc	{r4, r5, pc}
   1ed30:	f001 4500 	and.w	r5, r1, #2147483648	; 0x80000000
   1ed34:	f045 41fe 	orr.w	r1, r5, #2130706432	; 0x7f000000
   1ed38:	f441 0170 	orr.w	r1, r1, #15728640	; 0xf00000
   1ed3c:	f04f 0000 	mov.w	r0, #0
   1ed40:	bd30      	pop	{r4, r5, pc}
   1ed42:	ea7f 5c64 	mvns.w	ip, r4, asr #21
   1ed46:	bf1a      	itte	ne
   1ed48:	4619      	movne	r1, r3
   1ed4a:	4610      	movne	r0, r2
   1ed4c:	ea7f 5c65 	mvnseq.w	ip, r5, asr #21
   1ed50:	bf1c      	itt	ne
   1ed52:	460b      	movne	r3, r1
   1ed54:	4602      	movne	r2, r0
   1ed56:	ea50 3401 	orrs.w	r4, r0, r1, lsl #12
   1ed5a:	bf06      	itte	eq
   1ed5c:	ea52 3503 	orrseq.w	r5, r2, r3, lsl #12
   1ed60:	ea91 0f03 	teqeq	r1, r3
   1ed64:	f441 2100 	orrne.w	r1, r1, #524288	; 0x80000
   1ed68:	bd30      	pop	{r4, r5, pc}
   1ed6a:	bf00      	nop

0001ed6c <__aeabi_ui2d>:
__floatunsidf():
   1ed6c:	f090 0f00 	teq	r0, #0
   1ed70:	bf04      	itt	eq
   1ed72:	2100      	moveq	r1, #0
   1ed74:	4770      	bxeq	lr
   1ed76:	b530      	push	{r4, r5, lr}
   1ed78:	f44f 6480 	mov.w	r4, #1024	; 0x400
   1ed7c:	f104 0432 	add.w	r4, r4, #50	; 0x32
   1ed80:	f04f 0500 	mov.w	r5, #0
   1ed84:	f04f 0100 	mov.w	r1, #0
   1ed88:	e750      	b.n	1ec2c <__adddf3+0x138>
   1ed8a:	bf00      	nop

0001ed8c <__aeabi_i2d>:
__aeabi_i2d():
   1ed8c:	f090 0f00 	teq	r0, #0
   1ed90:	bf04      	itt	eq
   1ed92:	2100      	moveq	r1, #0
   1ed94:	4770      	bxeq	lr
   1ed96:	b530      	push	{r4, r5, lr}
   1ed98:	f44f 6480 	mov.w	r4, #1024	; 0x400
   1ed9c:	f104 0432 	add.w	r4, r4, #50	; 0x32
   1eda0:	f010 4500 	ands.w	r5, r0, #2147483648	; 0x80000000
   1eda4:	bf48      	it	mi
   1eda6:	4240      	negmi	r0, r0
   1eda8:	f04f 0100 	mov.w	r1, #0
   1edac:	e73e      	b.n	1ec2c <__adddf3+0x138>
   1edae:	bf00      	nop

0001edb0 <__aeabi_f2d>:
__aeabi_f2d():
   1edb0:	0042      	lsls	r2, r0, #1
   1edb2:	ea4f 01e2 	mov.w	r1, r2, asr #3
   1edb6:	ea4f 0131 	mov.w	r1, r1, rrx
   1edba:	ea4f 7002 	mov.w	r0, r2, lsl #28
   1edbe:	bf1f      	itttt	ne
   1edc0:	f012 437f 	andsne.w	r3, r2, #4278190080	; 0xff000000
   1edc4:	f093 4f7f 	teqne	r3, #4278190080	; 0xff000000
   1edc8:	f081 5160 	eorne.w	r1, r1, #939524096	; 0x38000000
   1edcc:	4770      	bxne	lr
   1edce:	f032 427f 	bics.w	r2, r2, #4278190080	; 0xff000000
   1edd2:	bf08      	it	eq
   1edd4:	4770      	bxeq	lr
   1edd6:	f093 4f7f 	teq	r3, #4278190080	; 0xff000000
   1edda:	bf04      	itt	eq
   1eddc:	f441 2100 	orreq.w	r1, r1, #524288	; 0x80000
   1ede0:	4770      	bxeq	lr
   1ede2:	b530      	push	{r4, r5, lr}
   1ede4:	f44f 7460 	mov.w	r4, #896	; 0x380
   1ede8:	f001 4500 	and.w	r5, r1, #2147483648	; 0x80000000
   1edec:	f021 4100 	bic.w	r1, r1, #2147483648	; 0x80000000
   1edf0:	e71c      	b.n	1ec2c <__adddf3+0x138>
   1edf2:	bf00      	nop

0001edf4 <__aeabi_ul2d>:
__floatundidf():
   1edf4:	ea50 0201 	orrs.w	r2, r0, r1
   1edf8:	bf08      	it	eq
   1edfa:	4770      	bxeq	lr
   1edfc:	b530      	push	{r4, r5, lr}
   1edfe:	f04f 0500 	mov.w	r5, #0
   1ee02:	e00a      	b.n	1ee1a <__aeabi_l2d+0x16>

0001ee04 <__aeabi_l2d>:
__aeabi_l2d():
   1ee04:	ea50 0201 	orrs.w	r2, r0, r1
   1ee08:	bf08      	it	eq
   1ee0a:	4770      	bxeq	lr
   1ee0c:	b530      	push	{r4, r5, lr}
   1ee0e:	f011 4500 	ands.w	r5, r1, #2147483648	; 0x80000000
   1ee12:	d502      	bpl.n	1ee1a <__aeabi_l2d+0x16>
   1ee14:	4240      	negs	r0, r0
   1ee16:	eb61 0141 	sbc.w	r1, r1, r1, lsl #1
   1ee1a:	f44f 6480 	mov.w	r4, #1024	; 0x400
   1ee1e:	f104 0432 	add.w	r4, r4, #50	; 0x32
   1ee22:	ea5f 5c91 	movs.w	ip, r1, lsr #22
   1ee26:	f43f aed8 	beq.w	1ebda <__adddf3+0xe6>
   1ee2a:	f04f 0203 	mov.w	r2, #3
   1ee2e:	ea5f 0cdc 	movs.w	ip, ip, lsr #3
   1ee32:	bf18      	it	ne
   1ee34:	3203      	addne	r2, #3
   1ee36:	ea5f 0cdc 	movs.w	ip, ip, lsr #3
   1ee3a:	bf18      	it	ne
   1ee3c:	3203      	addne	r2, #3
   1ee3e:	eb02 02dc 	add.w	r2, r2, ip, lsr #3
   1ee42:	f1c2 0320 	rsb	r3, r2, #32
   1ee46:	fa00 fc03 	lsl.w	ip, r0, r3
   1ee4a:	fa20 f002 	lsr.w	r0, r0, r2
   1ee4e:	fa01 fe03 	lsl.w	lr, r1, r3
   1ee52:	ea40 000e 	orr.w	r0, r0, lr
   1ee56:	fa21 f102 	lsr.w	r1, r1, r2
   1ee5a:	4414      	add	r4, r2
   1ee5c:	e6bd      	b.n	1ebda <__adddf3+0xe6>
   1ee5e:	bf00      	nop

0001ee60 <__aeabi_dmul>:
__muldf3():
   1ee60:	b570      	push	{r4, r5, r6, lr}
   1ee62:	f04f 0cff 	mov.w	ip, #255	; 0xff
   1ee66:	f44c 6ce0 	orr.w	ip, ip, #1792	; 0x700
   1ee6a:	ea1c 5411 	ands.w	r4, ip, r1, lsr #20
   1ee6e:	bf1d      	ittte	ne
   1ee70:	ea1c 5513 	andsne.w	r5, ip, r3, lsr #20
   1ee74:	ea94 0f0c 	teqne	r4, ip
   1ee78:	ea95 0f0c 	teqne	r5, ip
   1ee7c:	f000 f8de 	bleq	1f03c <__aeabi_dmul+0x1dc>
   1ee80:	442c      	add	r4, r5
   1ee82:	ea81 0603 	eor.w	r6, r1, r3
   1ee86:	ea21 514c 	bic.w	r1, r1, ip, lsl #21
   1ee8a:	ea23 534c 	bic.w	r3, r3, ip, lsl #21
   1ee8e:	ea50 3501 	orrs.w	r5, r0, r1, lsl #12
   1ee92:	bf18      	it	ne
   1ee94:	ea52 3503 	orrsne.w	r5, r2, r3, lsl #12
   1ee98:	f441 1180 	orr.w	r1, r1, #1048576	; 0x100000
   1ee9c:	f443 1380 	orr.w	r3, r3, #1048576	; 0x100000
   1eea0:	d038      	beq.n	1ef14 <__aeabi_dmul+0xb4>
   1eea2:	fba0 ce02 	umull	ip, lr, r0, r2
   1eea6:	f04f 0500 	mov.w	r5, #0
   1eeaa:	fbe1 e502 	umlal	lr, r5, r1, r2
   1eeae:	f006 4200 	and.w	r2, r6, #2147483648	; 0x80000000
   1eeb2:	fbe0 e503 	umlal	lr, r5, r0, r3
   1eeb6:	f04f 0600 	mov.w	r6, #0
   1eeba:	fbe1 5603 	umlal	r5, r6, r1, r3
   1eebe:	f09c 0f00 	teq	ip, #0
   1eec2:	bf18      	it	ne
   1eec4:	f04e 0e01 	orrne.w	lr, lr, #1
   1eec8:	f1a4 04ff 	sub.w	r4, r4, #255	; 0xff
   1eecc:	f5b6 7f00 	cmp.w	r6, #512	; 0x200
   1eed0:	f564 7440 	sbc.w	r4, r4, #768	; 0x300
   1eed4:	d204      	bcs.n	1eee0 <__aeabi_dmul+0x80>
   1eed6:	ea5f 0e4e 	movs.w	lr, lr, lsl #1
   1eeda:	416d      	adcs	r5, r5
   1eedc:	eb46 0606 	adc.w	r6, r6, r6
   1eee0:	ea42 21c6 	orr.w	r1, r2, r6, lsl #11
   1eee4:	ea41 5155 	orr.w	r1, r1, r5, lsr #21
   1eee8:	ea4f 20c5 	mov.w	r0, r5, lsl #11
   1eeec:	ea40 505e 	orr.w	r0, r0, lr, lsr #21
   1eef0:	ea4f 2ece 	mov.w	lr, lr, lsl #11
   1eef4:	f1b4 0cfd 	subs.w	ip, r4, #253	; 0xfd
   1eef8:	bf88      	it	hi
   1eefa:	f5bc 6fe0 	cmphi.w	ip, #1792	; 0x700
   1eefe:	d81e      	bhi.n	1ef3e <__aeabi_dmul+0xde>
   1ef00:	f1be 4f00 	cmp.w	lr, #2147483648	; 0x80000000
   1ef04:	bf08      	it	eq
   1ef06:	ea5f 0e50 	movseq.w	lr, r0, lsr #1
   1ef0a:	f150 0000 	adcs.w	r0, r0, #0
   1ef0e:	eb41 5104 	adc.w	r1, r1, r4, lsl #20
   1ef12:	bd70      	pop	{r4, r5, r6, pc}
   1ef14:	f006 4600 	and.w	r6, r6, #2147483648	; 0x80000000
   1ef18:	ea46 0101 	orr.w	r1, r6, r1
   1ef1c:	ea40 0002 	orr.w	r0, r0, r2
   1ef20:	ea81 0103 	eor.w	r1, r1, r3
   1ef24:	ebb4 045c 	subs.w	r4, r4, ip, lsr #1
   1ef28:	bfc2      	ittt	gt
   1ef2a:	ebd4 050c 	rsbsgt	r5, r4, ip
   1ef2e:	ea41 5104 	orrgt.w	r1, r1, r4, lsl #20
   1ef32:	bd70      	popgt	{r4, r5, r6, pc}
   1ef34:	f441 1180 	orr.w	r1, r1, #1048576	; 0x100000
   1ef38:	f04f 0e00 	mov.w	lr, #0
   1ef3c:	3c01      	subs	r4, #1
   1ef3e:	f300 80ab 	bgt.w	1f098 <__aeabi_dmul+0x238>
   1ef42:	f114 0f36 	cmn.w	r4, #54	; 0x36
   1ef46:	bfde      	ittt	le
   1ef48:	2000      	movle	r0, #0
   1ef4a:	f001 4100 	andle.w	r1, r1, #2147483648	; 0x80000000
   1ef4e:	bd70      	pople	{r4, r5, r6, pc}
   1ef50:	f1c4 0400 	rsb	r4, r4, #0
   1ef54:	3c20      	subs	r4, #32
   1ef56:	da35      	bge.n	1efc4 <__aeabi_dmul+0x164>
   1ef58:	340c      	adds	r4, #12
   1ef5a:	dc1b      	bgt.n	1ef94 <__aeabi_dmul+0x134>
   1ef5c:	f104 0414 	add.w	r4, r4, #20
   1ef60:	f1c4 0520 	rsb	r5, r4, #32
   1ef64:	fa00 f305 	lsl.w	r3, r0, r5
   1ef68:	fa20 f004 	lsr.w	r0, r0, r4
   1ef6c:	fa01 f205 	lsl.w	r2, r1, r5
   1ef70:	ea40 0002 	orr.w	r0, r0, r2
   1ef74:	f001 4200 	and.w	r2, r1, #2147483648	; 0x80000000
   1ef78:	f021 4100 	bic.w	r1, r1, #2147483648	; 0x80000000
   1ef7c:	eb10 70d3 	adds.w	r0, r0, r3, lsr #31
   1ef80:	fa21 f604 	lsr.w	r6, r1, r4
   1ef84:	eb42 0106 	adc.w	r1, r2, r6
   1ef88:	ea5e 0e43 	orrs.w	lr, lr, r3, lsl #1
   1ef8c:	bf08      	it	eq
   1ef8e:	ea20 70d3 	biceq.w	r0, r0, r3, lsr #31
   1ef92:	bd70      	pop	{r4, r5, r6, pc}
   1ef94:	f1c4 040c 	rsb	r4, r4, #12
   1ef98:	f1c4 0520 	rsb	r5, r4, #32
   1ef9c:	fa00 f304 	lsl.w	r3, r0, r4
   1efa0:	fa20 f005 	lsr.w	r0, r0, r5
   1efa4:	fa01 f204 	lsl.w	r2, r1, r4
   1efa8:	ea40 0002 	orr.w	r0, r0, r2
   1efac:	f001 4100 	and.w	r1, r1, #2147483648	; 0x80000000
   1efb0:	eb10 70d3 	adds.w	r0, r0, r3, lsr #31
   1efb4:	f141 0100 	adc.w	r1, r1, #0
   1efb8:	ea5e 0e43 	orrs.w	lr, lr, r3, lsl #1
   1efbc:	bf08      	it	eq
   1efbe:	ea20 70d3 	biceq.w	r0, r0, r3, lsr #31
   1efc2:	bd70      	pop	{r4, r5, r6, pc}
   1efc4:	f1c4 0520 	rsb	r5, r4, #32
   1efc8:	fa00 f205 	lsl.w	r2, r0, r5
   1efcc:	ea4e 0e02 	orr.w	lr, lr, r2
   1efd0:	fa20 f304 	lsr.w	r3, r0, r4
   1efd4:	fa01 f205 	lsl.w	r2, r1, r5
   1efd8:	ea43 0302 	orr.w	r3, r3, r2
   1efdc:	fa21 f004 	lsr.w	r0, r1, r4
   1efe0:	f001 4100 	and.w	r1, r1, #2147483648	; 0x80000000
   1efe4:	fa21 f204 	lsr.w	r2, r1, r4
   1efe8:	ea20 0002 	bic.w	r0, r0, r2
   1efec:	eb00 70d3 	add.w	r0, r0, r3, lsr #31
   1eff0:	ea5e 0e43 	orrs.w	lr, lr, r3, lsl #1
   1eff4:	bf08      	it	eq
   1eff6:	ea20 70d3 	biceq.w	r0, r0, r3, lsr #31
   1effa:	bd70      	pop	{r4, r5, r6, pc}
   1effc:	f094 0f00 	teq	r4, #0
   1f000:	d10f      	bne.n	1f022 <__aeabi_dmul+0x1c2>
   1f002:	f001 4600 	and.w	r6, r1, #2147483648	; 0x80000000
   1f006:	0040      	lsls	r0, r0, #1
   1f008:	eb41 0101 	adc.w	r1, r1, r1
   1f00c:	f411 1f80 	tst.w	r1, #1048576	; 0x100000
   1f010:	bf08      	it	eq
   1f012:	3c01      	subeq	r4, #1
   1f014:	d0f7      	beq.n	1f006 <__aeabi_dmul+0x1a6>
   1f016:	ea41 0106 	orr.w	r1, r1, r6
   1f01a:	f095 0f00 	teq	r5, #0
   1f01e:	bf18      	it	ne
   1f020:	4770      	bxne	lr
   1f022:	f003 4600 	and.w	r6, r3, #2147483648	; 0x80000000
   1f026:	0052      	lsls	r2, r2, #1
   1f028:	eb43 0303 	adc.w	r3, r3, r3
   1f02c:	f413 1f80 	tst.w	r3, #1048576	; 0x100000
   1f030:	bf08      	it	eq
   1f032:	3d01      	subeq	r5, #1
   1f034:	d0f7      	beq.n	1f026 <__aeabi_dmul+0x1c6>
   1f036:	ea43 0306 	orr.w	r3, r3, r6
   1f03a:	4770      	bx	lr
   1f03c:	ea94 0f0c 	teq	r4, ip
   1f040:	ea0c 5513 	and.w	r5, ip, r3, lsr #20
   1f044:	bf18      	it	ne
   1f046:	ea95 0f0c 	teqne	r5, ip
   1f04a:	d00c      	beq.n	1f066 <__aeabi_dmul+0x206>
   1f04c:	ea50 0641 	orrs.w	r6, r0, r1, lsl #1
   1f050:	bf18      	it	ne
   1f052:	ea52 0643 	orrsne.w	r6, r2, r3, lsl #1
   1f056:	d1d1      	bne.n	1effc <__aeabi_dmul+0x19c>
   1f058:	ea81 0103 	eor.w	r1, r1, r3
   1f05c:	f001 4100 	and.w	r1, r1, #2147483648	; 0x80000000
   1f060:	f04f 0000 	mov.w	r0, #0
   1f064:	bd70      	pop	{r4, r5, r6, pc}
   1f066:	ea50 0641 	orrs.w	r6, r0, r1, lsl #1
   1f06a:	bf06      	itte	eq
   1f06c:	4610      	moveq	r0, r2
   1f06e:	4619      	moveq	r1, r3
   1f070:	ea52 0643 	orrsne.w	r6, r2, r3, lsl #1
   1f074:	d019      	beq.n	1f0aa <__aeabi_dmul+0x24a>
   1f076:	ea94 0f0c 	teq	r4, ip
   1f07a:	d102      	bne.n	1f082 <__aeabi_dmul+0x222>
   1f07c:	ea50 3601 	orrs.w	r6, r0, r1, lsl #12
   1f080:	d113      	bne.n	1f0aa <__aeabi_dmul+0x24a>
   1f082:	ea95 0f0c 	teq	r5, ip
   1f086:	d105      	bne.n	1f094 <__aeabi_dmul+0x234>
   1f088:	ea52 3603 	orrs.w	r6, r2, r3, lsl #12
   1f08c:	bf1c      	itt	ne
   1f08e:	4610      	movne	r0, r2
   1f090:	4619      	movne	r1, r3
   1f092:	d10a      	bne.n	1f0aa <__aeabi_dmul+0x24a>
   1f094:	ea81 0103 	eor.w	r1, r1, r3
   1f098:	f001 4100 	and.w	r1, r1, #2147483648	; 0x80000000
   1f09c:	f041 41fe 	orr.w	r1, r1, #2130706432	; 0x7f000000
   1f0a0:	f441 0170 	orr.w	r1, r1, #15728640	; 0xf00000
   1f0a4:	f04f 0000 	mov.w	r0, #0
   1f0a8:	bd70      	pop	{r4, r5, r6, pc}
   1f0aa:	f041 41fe 	orr.w	r1, r1, #2130706432	; 0x7f000000
   1f0ae:	f441 0178 	orr.w	r1, r1, #16252928	; 0xf80000
   1f0b2:	bd70      	pop	{r4, r5, r6, pc}

0001f0b4 <__aeabi_ddiv>:
__divdf3():
   1f0b4:	b570      	push	{r4, r5, r6, lr}
   1f0b6:	f04f 0cff 	mov.w	ip, #255	; 0xff
   1f0ba:	f44c 6ce0 	orr.w	ip, ip, #1792	; 0x700
   1f0be:	ea1c 5411 	ands.w	r4, ip, r1, lsr #20
   1f0c2:	bf1d      	ittte	ne
   1f0c4:	ea1c 5513 	andsne.w	r5, ip, r3, lsr #20
   1f0c8:	ea94 0f0c 	teqne	r4, ip
   1f0cc:	ea95 0f0c 	teqne	r5, ip
   1f0d0:	f000 f8a7 	bleq	1f222 <__aeabi_ddiv+0x16e>
   1f0d4:	eba4 0405 	sub.w	r4, r4, r5
   1f0d8:	ea81 0e03 	eor.w	lr, r1, r3
   1f0dc:	ea52 3503 	orrs.w	r5, r2, r3, lsl #12
   1f0e0:	ea4f 3101 	mov.w	r1, r1, lsl #12
   1f0e4:	f000 8088 	beq.w	1f1f8 <__aeabi_ddiv+0x144>
   1f0e8:	ea4f 3303 	mov.w	r3, r3, lsl #12
   1f0ec:	f04f 5580 	mov.w	r5, #268435456	; 0x10000000
   1f0f0:	ea45 1313 	orr.w	r3, r5, r3, lsr #4
   1f0f4:	ea43 6312 	orr.w	r3, r3, r2, lsr #24
   1f0f8:	ea4f 2202 	mov.w	r2, r2, lsl #8
   1f0fc:	ea45 1511 	orr.w	r5, r5, r1, lsr #4
   1f100:	ea45 6510 	orr.w	r5, r5, r0, lsr #24
   1f104:	ea4f 2600 	mov.w	r6, r0, lsl #8
   1f108:	f00e 4100 	and.w	r1, lr, #2147483648	; 0x80000000
   1f10c:	429d      	cmp	r5, r3
   1f10e:	bf08      	it	eq
   1f110:	4296      	cmpeq	r6, r2
   1f112:	f144 04fd 	adc.w	r4, r4, #253	; 0xfd
   1f116:	f504 7440 	add.w	r4, r4, #768	; 0x300
   1f11a:	d202      	bcs.n	1f122 <__aeabi_ddiv+0x6e>
   1f11c:	085b      	lsrs	r3, r3, #1
   1f11e:	ea4f 0232 	mov.w	r2, r2, rrx
   1f122:	1ab6      	subs	r6, r6, r2
   1f124:	eb65 0503 	sbc.w	r5, r5, r3
   1f128:	085b      	lsrs	r3, r3, #1
   1f12a:	ea4f 0232 	mov.w	r2, r2, rrx
   1f12e:	f44f 1080 	mov.w	r0, #1048576	; 0x100000
   1f132:	f44f 2c00 	mov.w	ip, #524288	; 0x80000
   1f136:	ebb6 0e02 	subs.w	lr, r6, r2
   1f13a:	eb75 0e03 	sbcs.w	lr, r5, r3
   1f13e:	bf22      	ittt	cs
   1f140:	1ab6      	subcs	r6, r6, r2
   1f142:	4675      	movcs	r5, lr
   1f144:	ea40 000c 	orrcs.w	r0, r0, ip
   1f148:	085b      	lsrs	r3, r3, #1
   1f14a:	ea4f 0232 	mov.w	r2, r2, rrx
   1f14e:	ebb6 0e02 	subs.w	lr, r6, r2
   1f152:	eb75 0e03 	sbcs.w	lr, r5, r3
   1f156:	bf22      	ittt	cs
   1f158:	1ab6      	subcs	r6, r6, r2
   1f15a:	4675      	movcs	r5, lr
   1f15c:	ea40 005c 	orrcs.w	r0, r0, ip, lsr #1
   1f160:	085b      	lsrs	r3, r3, #1
   1f162:	ea4f 0232 	mov.w	r2, r2, rrx
   1f166:	ebb6 0e02 	subs.w	lr, r6, r2
   1f16a:	eb75 0e03 	sbcs.w	lr, r5, r3
   1f16e:	bf22      	ittt	cs
   1f170:	1ab6      	subcs	r6, r6, r2
   1f172:	4675      	movcs	r5, lr
   1f174:	ea40 009c 	orrcs.w	r0, r0, ip, lsr #2
   1f178:	085b      	lsrs	r3, r3, #1
   1f17a:	ea4f 0232 	mov.w	r2, r2, rrx
   1f17e:	ebb6 0e02 	subs.w	lr, r6, r2
   1f182:	eb75 0e03 	sbcs.w	lr, r5, r3
   1f186:	bf22      	ittt	cs
   1f188:	1ab6      	subcs	r6, r6, r2
   1f18a:	4675      	movcs	r5, lr
   1f18c:	ea40 00dc 	orrcs.w	r0, r0, ip, lsr #3
   1f190:	ea55 0e06 	orrs.w	lr, r5, r6
   1f194:	d018      	beq.n	1f1c8 <__aeabi_ddiv+0x114>
   1f196:	ea4f 1505 	mov.w	r5, r5, lsl #4
   1f19a:	ea45 7516 	orr.w	r5, r5, r6, lsr #28
   1f19e:	ea4f 1606 	mov.w	r6, r6, lsl #4
   1f1a2:	ea4f 03c3 	mov.w	r3, r3, lsl #3
   1f1a6:	ea43 7352 	orr.w	r3, r3, r2, lsr #29
   1f1aa:	ea4f 02c2 	mov.w	r2, r2, lsl #3
   1f1ae:	ea5f 1c1c 	movs.w	ip, ip, lsr #4
   1f1b2:	d1c0      	bne.n	1f136 <__aeabi_ddiv+0x82>
   1f1b4:	f411 1f80 	tst.w	r1, #1048576	; 0x100000
   1f1b8:	d10b      	bne.n	1f1d2 <__aeabi_ddiv+0x11e>
   1f1ba:	ea41 0100 	orr.w	r1, r1, r0
   1f1be:	f04f 0000 	mov.w	r0, #0
   1f1c2:	f04f 4c00 	mov.w	ip, #2147483648	; 0x80000000
   1f1c6:	e7b6      	b.n	1f136 <__aeabi_ddiv+0x82>
   1f1c8:	f411 1f80 	tst.w	r1, #1048576	; 0x100000
   1f1cc:	bf04      	itt	eq
   1f1ce:	4301      	orreq	r1, r0
   1f1d0:	2000      	moveq	r0, #0
   1f1d2:	f1b4 0cfd 	subs.w	ip, r4, #253	; 0xfd
   1f1d6:	bf88      	it	hi
   1f1d8:	f5bc 6fe0 	cmphi.w	ip, #1792	; 0x700
   1f1dc:	f63f aeaf 	bhi.w	1ef3e <__aeabi_dmul+0xde>
   1f1e0:	ebb5 0c03 	subs.w	ip, r5, r3
   1f1e4:	bf04      	itt	eq
   1f1e6:	ebb6 0c02 	subseq.w	ip, r6, r2
   1f1ea:	ea5f 0c50 	movseq.w	ip, r0, lsr #1
   1f1ee:	f150 0000 	adcs.w	r0, r0, #0
   1f1f2:	eb41 5104 	adc.w	r1, r1, r4, lsl #20
   1f1f6:	bd70      	pop	{r4, r5, r6, pc}
   1f1f8:	f00e 4e00 	and.w	lr, lr, #2147483648	; 0x80000000
   1f1fc:	ea4e 3111 	orr.w	r1, lr, r1, lsr #12
   1f200:	eb14 045c 	adds.w	r4, r4, ip, lsr #1
   1f204:	bfc2      	ittt	gt
   1f206:	ebd4 050c 	rsbsgt	r5, r4, ip
   1f20a:	ea41 5104 	orrgt.w	r1, r1, r4, lsl #20
   1f20e:	bd70      	popgt	{r4, r5, r6, pc}
   1f210:	f441 1180 	orr.w	r1, r1, #1048576	; 0x100000
   1f214:	f04f 0e00 	mov.w	lr, #0
   1f218:	3c01      	subs	r4, #1
   1f21a:	e690      	b.n	1ef3e <__aeabi_dmul+0xde>
   1f21c:	ea45 0e06 	orr.w	lr, r5, r6
   1f220:	e68d      	b.n	1ef3e <__aeabi_dmul+0xde>
   1f222:	ea0c 5513 	and.w	r5, ip, r3, lsr #20
   1f226:	ea94 0f0c 	teq	r4, ip
   1f22a:	bf08      	it	eq
   1f22c:	ea95 0f0c 	teqeq	r5, ip
   1f230:	f43f af3b 	beq.w	1f0aa <__aeabi_dmul+0x24a>
   1f234:	ea94 0f0c 	teq	r4, ip
   1f238:	d10a      	bne.n	1f250 <__aeabi_ddiv+0x19c>
   1f23a:	ea50 3401 	orrs.w	r4, r0, r1, lsl #12
   1f23e:	f47f af34 	bne.w	1f0aa <__aeabi_dmul+0x24a>
   1f242:	ea95 0f0c 	teq	r5, ip
   1f246:	f47f af25 	bne.w	1f094 <__aeabi_dmul+0x234>
   1f24a:	4610      	mov	r0, r2
   1f24c:	4619      	mov	r1, r3
   1f24e:	e72c      	b.n	1f0aa <__aeabi_dmul+0x24a>
   1f250:	ea95 0f0c 	teq	r5, ip
   1f254:	d106      	bne.n	1f264 <__aeabi_ddiv+0x1b0>
   1f256:	ea52 3503 	orrs.w	r5, r2, r3, lsl #12
   1f25a:	f43f aefd 	beq.w	1f058 <__aeabi_dmul+0x1f8>
   1f25e:	4610      	mov	r0, r2
   1f260:	4619      	mov	r1, r3
   1f262:	e722      	b.n	1f0aa <__aeabi_dmul+0x24a>
   1f264:	ea50 0641 	orrs.w	r6, r0, r1, lsl #1
   1f268:	bf18      	it	ne
   1f26a:	ea52 0643 	orrsne.w	r6, r2, r3, lsl #1
   1f26e:	f47f aec5 	bne.w	1effc <__aeabi_dmul+0x19c>
   1f272:	ea50 0441 	orrs.w	r4, r0, r1, lsl #1
   1f276:	f47f af0d 	bne.w	1f094 <__aeabi_dmul+0x234>
   1f27a:	ea52 0543 	orrs.w	r5, r2, r3, lsl #1
   1f27e:	f47f aeeb 	bne.w	1f058 <__aeabi_dmul+0x1f8>
   1f282:	e712      	b.n	1f0aa <__aeabi_dmul+0x24a>

0001f284 <__gedf2>:
__gedf2():
   1f284:	f04f 3cff 	mov.w	ip, #4294967295
   1f288:	e006      	b.n	1f298 <__cmpdf2+0x4>
   1f28a:	bf00      	nop

0001f28c <__ledf2>:
__ledf2():
   1f28c:	f04f 0c01 	mov.w	ip, #1
   1f290:	e002      	b.n	1f298 <__cmpdf2+0x4>
   1f292:	bf00      	nop

0001f294 <__cmpdf2>:
__nedf2():
   1f294:	f04f 0c01 	mov.w	ip, #1
   1f298:	f84d cd04 	str.w	ip, [sp, #-4]!
   1f29c:	ea4f 0c41 	mov.w	ip, r1, lsl #1
   1f2a0:	ea7f 5c6c 	mvns.w	ip, ip, asr #21
   1f2a4:	ea4f 0c43 	mov.w	ip, r3, lsl #1
   1f2a8:	bf18      	it	ne
   1f2aa:	ea7f 5c6c 	mvnsne.w	ip, ip, asr #21
   1f2ae:	d01b      	beq.n	1f2e8 <__cmpdf2+0x54>
   1f2b0:	b001      	add	sp, #4
   1f2b2:	ea50 0c41 	orrs.w	ip, r0, r1, lsl #1
   1f2b6:	bf0c      	ite	eq
   1f2b8:	ea52 0c43 	orrseq.w	ip, r2, r3, lsl #1
   1f2bc:	ea91 0f03 	teqne	r1, r3
   1f2c0:	bf02      	ittt	eq
   1f2c2:	ea90 0f02 	teqeq	r0, r2
   1f2c6:	2000      	moveq	r0, #0
   1f2c8:	4770      	bxeq	lr
   1f2ca:	f110 0f00 	cmn.w	r0, #0
   1f2ce:	ea91 0f03 	teq	r1, r3
   1f2d2:	bf58      	it	pl
   1f2d4:	4299      	cmppl	r1, r3
   1f2d6:	bf08      	it	eq
   1f2d8:	4290      	cmpeq	r0, r2
   1f2da:	bf2c      	ite	cs
   1f2dc:	17d8      	asrcs	r0, r3, #31
   1f2de:	ea6f 70e3 	mvncc.w	r0, r3, asr #31
   1f2e2:	f040 0001 	orr.w	r0, r0, #1
   1f2e6:	4770      	bx	lr
   1f2e8:	ea4f 0c41 	mov.w	ip, r1, lsl #1
   1f2ec:	ea7f 5c6c 	mvns.w	ip, ip, asr #21
   1f2f0:	d102      	bne.n	1f2f8 <__cmpdf2+0x64>
   1f2f2:	ea50 3c01 	orrs.w	ip, r0, r1, lsl #12
   1f2f6:	d107      	bne.n	1f308 <__cmpdf2+0x74>
   1f2f8:	ea4f 0c43 	mov.w	ip, r3, lsl #1
   1f2fc:	ea7f 5c6c 	mvns.w	ip, ip, asr #21
   1f300:	d1d6      	bne.n	1f2b0 <__cmpdf2+0x1c>
   1f302:	ea52 3c03 	orrs.w	ip, r2, r3, lsl #12
   1f306:	d0d3      	beq.n	1f2b0 <__cmpdf2+0x1c>
   1f308:	f85d 0b04 	ldr.w	r0, [sp], #4
   1f30c:	4770      	bx	lr
   1f30e:	bf00      	nop

0001f310 <__aeabi_cdrcmple>:
__aeabi_cdrcmple():
   1f310:	4684      	mov	ip, r0
   1f312:	4610      	mov	r0, r2
   1f314:	4662      	mov	r2, ip
   1f316:	468c      	mov	ip, r1
   1f318:	4619      	mov	r1, r3
   1f31a:	4663      	mov	r3, ip
   1f31c:	e000      	b.n	1f320 <__aeabi_cdcmpeq>
   1f31e:	bf00      	nop

0001f320 <__aeabi_cdcmpeq>:
__aeabi_cdcmpeq():
   1f320:	b501      	push	{r0, lr}
   1f322:	f7ff ffb7 	bl	1f294 <__cmpdf2>
   1f326:	2800      	cmp	r0, #0
   1f328:	bf48      	it	mi
   1f32a:	f110 0f00 	cmnmi.w	r0, #0
   1f32e:	bd01      	pop	{r0, pc}

0001f330 <__aeabi_dcmpeq>:
__aeabi_dcmpeq():
   1f330:	f84d ed08 	str.w	lr, [sp, #-8]!
   1f334:	f7ff fff4 	bl	1f320 <__aeabi_cdcmpeq>
   1f338:	bf0c      	ite	eq
   1f33a:	2001      	moveq	r0, #1
   1f33c:	2000      	movne	r0, #0
   1f33e:	f85d fb08 	ldr.w	pc, [sp], #8
   1f342:	bf00      	nop

0001f344 <__aeabi_dcmplt>:
__aeabi_dcmplt():
   1f344:	f84d ed08 	str.w	lr, [sp, #-8]!
   1f348:	f7ff ffea 	bl	1f320 <__aeabi_cdcmpeq>
   1f34c:	bf34      	ite	cc
   1f34e:	2001      	movcc	r0, #1
   1f350:	2000      	movcs	r0, #0
   1f352:	f85d fb08 	ldr.w	pc, [sp], #8
   1f356:	bf00      	nop

0001f358 <__aeabi_dcmple>:
__aeabi_dcmple():
   1f358:	f84d ed08 	str.w	lr, [sp, #-8]!
   1f35c:	f7ff ffe0 	bl	1f320 <__aeabi_cdcmpeq>
   1f360:	bf94      	ite	ls
   1f362:	2001      	movls	r0, #1
   1f364:	2000      	movhi	r0, #0
   1f366:	f85d fb08 	ldr.w	pc, [sp], #8
   1f36a:	bf00      	nop

0001f36c <__aeabi_dcmpge>:
__aeabi_dcmpge():
   1f36c:	f84d ed08 	str.w	lr, [sp, #-8]!
   1f370:	f7ff ffce 	bl	1f310 <__aeabi_cdrcmple>
   1f374:	bf94      	ite	ls
   1f376:	2001      	movls	r0, #1
   1f378:	2000      	movhi	r0, #0
   1f37a:	f85d fb08 	ldr.w	pc, [sp], #8
   1f37e:	bf00      	nop

0001f380 <__aeabi_dcmpgt>:
__aeabi_dcmpgt():
   1f380:	f84d ed08 	str.w	lr, [sp, #-8]!
   1f384:	f7ff ffc4 	bl	1f310 <__aeabi_cdrcmple>
   1f388:	bf34      	ite	cc
   1f38a:	2001      	movcc	r0, #1
   1f38c:	2000      	movcs	r0, #0
   1f38e:	f85d fb08 	ldr.w	pc, [sp], #8
   1f392:	bf00      	nop

0001f394 <__aeabi_d2uiz>:
__aeabi_d2uiz():
   1f394:	004a      	lsls	r2, r1, #1
   1f396:	d211      	bcs.n	1f3bc <__aeabi_d2uiz+0x28>
   1f398:	f512 1200 	adds.w	r2, r2, #2097152	; 0x200000
   1f39c:	d211      	bcs.n	1f3c2 <__aeabi_d2uiz+0x2e>
   1f39e:	d50d      	bpl.n	1f3bc <__aeabi_d2uiz+0x28>
   1f3a0:	f46f 7378 	mvn.w	r3, #992	; 0x3e0
   1f3a4:	ebb3 5262 	subs.w	r2, r3, r2, asr #21
   1f3a8:	d40e      	bmi.n	1f3c8 <__aeabi_d2uiz+0x34>
   1f3aa:	ea4f 23c1 	mov.w	r3, r1, lsl #11
   1f3ae:	f043 4300 	orr.w	r3, r3, #2147483648	; 0x80000000
   1f3b2:	ea43 5350 	orr.w	r3, r3, r0, lsr #21
   1f3b6:	fa23 f002 	lsr.w	r0, r3, r2
   1f3ba:	4770      	bx	lr
   1f3bc:	f04f 0000 	mov.w	r0, #0
   1f3c0:	4770      	bx	lr
   1f3c2:	ea50 3001 	orrs.w	r0, r0, r1, lsl #12
   1f3c6:	d102      	bne.n	1f3ce <__aeabi_d2uiz+0x3a>
   1f3c8:	f04f 30ff 	mov.w	r0, #4294967295
   1f3cc:	4770      	bx	lr
   1f3ce:	f04f 0000 	mov.w	r0, #0
   1f3d2:	4770      	bx	lr

0001f3d4 <__aeabi_uldivmod>:
__aeabi_uldivmod():
   1f3d4:	b953      	cbnz	r3, 1f3ec <__aeabi_uldivmod+0x18>
   1f3d6:	b94a      	cbnz	r2, 1f3ec <__aeabi_uldivmod+0x18>
   1f3d8:	2900      	cmp	r1, #0
   1f3da:	bf08      	it	eq
   1f3dc:	2800      	cmpeq	r0, #0
   1f3de:	bf1c      	itt	ne
   1f3e0:	f04f 31ff 	movne.w	r1, #4294967295
   1f3e4:	f04f 30ff 	movne.w	r0, #4294967295
   1f3e8:	f000 b994 	b.w	1f714 <__aeabi_idiv0>
   1f3ec:	f1ad 0c08 	sub.w	ip, sp, #8
   1f3f0:	e96d ce04 	strd	ip, lr, [sp, #-16]!
   1f3f4:	f000 f828 	bl	1f448 <__udivmoddi4>
   1f3f8:	f8dd e004 	ldr.w	lr, [sp, #4]
   1f3fc:	e9dd 2302 	ldrd	r2, r3, [sp, #8]
   1f400:	b004      	add	sp, #16
   1f402:	4770      	bx	lr

0001f404 <__aeabi_d2ulz>:
__fixunsdfdi():
   1f404:	b5d0      	push	{r4, r6, r7, lr}
   1f406:	2200      	movs	r2, #0
   1f408:	4b0d      	ldr	r3, [pc, #52]	; (1f440 <__aeabi_d2ulz+0x3c>)
   1f40a:	4606      	mov	r6, r0
   1f40c:	460f      	mov	r7, r1
   1f40e:	f7ff fd27 	bl	1ee60 <__aeabi_dmul>
   1f412:	f7ff ffbf 	bl	1f394 <__aeabi_d2uiz>
   1f416:	4604      	mov	r4, r0
   1f418:	f7ff fca8 	bl	1ed6c <__aeabi_ui2d>
   1f41c:	2200      	movs	r2, #0
   1f41e:	4b09      	ldr	r3, [pc, #36]	; (1f444 <__aeabi_d2ulz+0x40>)
   1f420:	f7ff fd1e 	bl	1ee60 <__aeabi_dmul>
   1f424:	4602      	mov	r2, r0
   1f426:	460b      	mov	r3, r1
   1f428:	4630      	mov	r0, r6
   1f42a:	4639      	mov	r1, r7
   1f42c:	f7ff fb60 	bl	1eaf0 <__aeabi_dsub>
   1f430:	f7ff ffb0 	bl	1f394 <__aeabi_d2uiz>
   1f434:	2200      	movs	r2, #0
   1f436:	4623      	mov	r3, r4
   1f438:	4310      	orrs	r0, r2
   1f43a:	4619      	mov	r1, r3
   1f43c:	bdd0      	pop	{r4, r6, r7, pc}
   1f43e:	bf00      	nop
   1f440:	3df00000 	.word	0x3df00000
   1f444:	41f00000 	.word	0x41f00000

0001f448 <__udivmoddi4>:
__udivmoddi4():
   1f448:	e92d 47f0 	stmdb	sp!, {r4, r5, r6, r7, r8, r9, sl, lr}
   1f44c:	9e08      	ldr	r6, [sp, #32]
   1f44e:	4604      	mov	r4, r0
   1f450:	4688      	mov	r8, r1
   1f452:	2b00      	cmp	r3, #0
   1f454:	d14b      	bne.n	1f4ee <__udivmoddi4+0xa6>
   1f456:	428a      	cmp	r2, r1
   1f458:	4615      	mov	r5, r2
   1f45a:	d967      	bls.n	1f52c <__udivmoddi4+0xe4>
   1f45c:	fab2 f282 	clz	r2, r2
   1f460:	b14a      	cbz	r2, 1f476 <__udivmoddi4+0x2e>
   1f462:	f1c2 0720 	rsb	r7, r2, #32
   1f466:	fa01 f302 	lsl.w	r3, r1, r2
   1f46a:	fa20 f707 	lsr.w	r7, r0, r7
   1f46e:	4095      	lsls	r5, r2
   1f470:	ea47 0803 	orr.w	r8, r7, r3
   1f474:	4094      	lsls	r4, r2
   1f476:	ea4f 4e15 	mov.w	lr, r5, lsr #16
   1f47a:	0c23      	lsrs	r3, r4, #16
   1f47c:	fbb8 f7fe 	udiv	r7, r8, lr
   1f480:	fa1f fc85 	uxth.w	ip, r5
   1f484:	fb0e 8817 	mls	r8, lr, r7, r8
   1f488:	ea43 4308 	orr.w	r3, r3, r8, lsl #16
   1f48c:	fb07 f10c 	mul.w	r1, r7, ip
   1f490:	4299      	cmp	r1, r3
   1f492:	d909      	bls.n	1f4a8 <__udivmoddi4+0x60>
   1f494:	18eb      	adds	r3, r5, r3
   1f496:	f107 30ff 	add.w	r0, r7, #4294967295
   1f49a:	f080 811b 	bcs.w	1f6d4 <__udivmoddi4+0x28c>
   1f49e:	4299      	cmp	r1, r3
   1f4a0:	f240 8118 	bls.w	1f6d4 <__udivmoddi4+0x28c>
   1f4a4:	3f02      	subs	r7, #2
   1f4a6:	442b      	add	r3, r5
   1f4a8:	1a5b      	subs	r3, r3, r1
   1f4aa:	b2a4      	uxth	r4, r4
   1f4ac:	fbb3 f0fe 	udiv	r0, r3, lr
   1f4b0:	fb0e 3310 	mls	r3, lr, r0, r3
   1f4b4:	ea44 4403 	orr.w	r4, r4, r3, lsl #16
   1f4b8:	fb00 fc0c 	mul.w	ip, r0, ip
   1f4bc:	45a4      	cmp	ip, r4
   1f4be:	d909      	bls.n	1f4d4 <__udivmoddi4+0x8c>
   1f4c0:	192c      	adds	r4, r5, r4
   1f4c2:	f100 33ff 	add.w	r3, r0, #4294967295
   1f4c6:	f080 8107 	bcs.w	1f6d8 <__udivmoddi4+0x290>
   1f4ca:	45a4      	cmp	ip, r4
   1f4cc:	f240 8104 	bls.w	1f6d8 <__udivmoddi4+0x290>
   1f4d0:	3802      	subs	r0, #2
   1f4d2:	442c      	add	r4, r5
   1f4d4:	ea40 4007 	orr.w	r0, r0, r7, lsl #16
   1f4d8:	eba4 040c 	sub.w	r4, r4, ip
   1f4dc:	2700      	movs	r7, #0
   1f4de:	b11e      	cbz	r6, 1f4e8 <__udivmoddi4+0xa0>
   1f4e0:	40d4      	lsrs	r4, r2
   1f4e2:	2300      	movs	r3, #0
   1f4e4:	e9c6 4300 	strd	r4, r3, [r6]
   1f4e8:	4639      	mov	r1, r7
   1f4ea:	e8bd 87f0 	ldmia.w	sp!, {r4, r5, r6, r7, r8, r9, sl, pc}
   1f4ee:	428b      	cmp	r3, r1
   1f4f0:	d909      	bls.n	1f506 <__udivmoddi4+0xbe>
   1f4f2:	2e00      	cmp	r6, #0
   1f4f4:	f000 80eb 	beq.w	1f6ce <__udivmoddi4+0x286>
   1f4f8:	2700      	movs	r7, #0
   1f4fa:	e9c6 0100 	strd	r0, r1, [r6]
   1f4fe:	4638      	mov	r0, r7
   1f500:	4639      	mov	r1, r7
   1f502:	e8bd 87f0 	ldmia.w	sp!, {r4, r5, r6, r7, r8, r9, sl, pc}
   1f506:	fab3 f783 	clz	r7, r3
   1f50a:	2f00      	cmp	r7, #0
   1f50c:	d147      	bne.n	1f59e <__udivmoddi4+0x156>
   1f50e:	428b      	cmp	r3, r1
   1f510:	d302      	bcc.n	1f518 <__udivmoddi4+0xd0>
   1f512:	4282      	cmp	r2, r0
   1f514:	f200 80fa 	bhi.w	1f70c <__udivmoddi4+0x2c4>
   1f518:	1a84      	subs	r4, r0, r2
   1f51a:	eb61 0303 	sbc.w	r3, r1, r3
   1f51e:	2001      	movs	r0, #1
   1f520:	4698      	mov	r8, r3
   1f522:	2e00      	cmp	r6, #0
   1f524:	d0e0      	beq.n	1f4e8 <__udivmoddi4+0xa0>
   1f526:	e9c6 4800 	strd	r4, r8, [r6]
   1f52a:	e7dd      	b.n	1f4e8 <__udivmoddi4+0xa0>
   1f52c:	b902      	cbnz	r2, 1f530 <__udivmoddi4+0xe8>
   1f52e:	deff      	udf	#255	; 0xff
   1f530:	fab2 f282 	clz	r2, r2
   1f534:	2a00      	cmp	r2, #0
   1f536:	f040 808f 	bne.w	1f658 <__udivmoddi4+0x210>
   1f53a:	1b49      	subs	r1, r1, r5
   1f53c:	ea4f 4e15 	mov.w	lr, r5, lsr #16
   1f540:	fa1f f885 	uxth.w	r8, r5
   1f544:	2701      	movs	r7, #1
   1f546:	fbb1 fcfe 	udiv	ip, r1, lr
   1f54a:	0c23      	lsrs	r3, r4, #16
   1f54c:	fb0e 111c 	mls	r1, lr, ip, r1
   1f550:	ea43 4301 	orr.w	r3, r3, r1, lsl #16
   1f554:	fb08 f10c 	mul.w	r1, r8, ip
   1f558:	4299      	cmp	r1, r3
   1f55a:	d907      	bls.n	1f56c <__udivmoddi4+0x124>
   1f55c:	18eb      	adds	r3, r5, r3
   1f55e:	f10c 30ff 	add.w	r0, ip, #4294967295
   1f562:	d202      	bcs.n	1f56a <__udivmoddi4+0x122>
   1f564:	4299      	cmp	r1, r3
   1f566:	f200 80cd 	bhi.w	1f704 <__udivmoddi4+0x2bc>
   1f56a:	4684      	mov	ip, r0
   1f56c:	1a59      	subs	r1, r3, r1
   1f56e:	b2a3      	uxth	r3, r4
   1f570:	fbb1 f0fe 	udiv	r0, r1, lr
   1f574:	fb0e 1410 	mls	r4, lr, r0, r1
   1f578:	ea43 4404 	orr.w	r4, r3, r4, lsl #16
   1f57c:	fb08 f800 	mul.w	r8, r8, r0
   1f580:	45a0      	cmp	r8, r4
   1f582:	d907      	bls.n	1f594 <__udivmoddi4+0x14c>
   1f584:	192c      	adds	r4, r5, r4
   1f586:	f100 33ff 	add.w	r3, r0, #4294967295
   1f58a:	d202      	bcs.n	1f592 <__udivmoddi4+0x14a>
   1f58c:	45a0      	cmp	r8, r4
   1f58e:	f200 80b6 	bhi.w	1f6fe <__udivmoddi4+0x2b6>
   1f592:	4618      	mov	r0, r3
   1f594:	eba4 0408 	sub.w	r4, r4, r8
   1f598:	ea40 400c 	orr.w	r0, r0, ip, lsl #16
   1f59c:	e79f      	b.n	1f4de <__udivmoddi4+0x96>
   1f59e:	f1c7 0c20 	rsb	ip, r7, #32
   1f5a2:	40bb      	lsls	r3, r7
   1f5a4:	fa22 fe0c 	lsr.w	lr, r2, ip
   1f5a8:	ea4e 0e03 	orr.w	lr, lr, r3
   1f5ac:	fa01 f407 	lsl.w	r4, r1, r7
   1f5b0:	fa20 f50c 	lsr.w	r5, r0, ip
   1f5b4:	fa21 f30c 	lsr.w	r3, r1, ip
   1f5b8:	ea4f 481e 	mov.w	r8, lr, lsr #16
   1f5bc:	4325      	orrs	r5, r4
   1f5be:	fbb3 f9f8 	udiv	r9, r3, r8
   1f5c2:	0c2c      	lsrs	r4, r5, #16
   1f5c4:	fb08 3319 	mls	r3, r8, r9, r3
   1f5c8:	fa1f fa8e 	uxth.w	sl, lr
   1f5cc:	ea44 4303 	orr.w	r3, r4, r3, lsl #16
   1f5d0:	fb09 f40a 	mul.w	r4, r9, sl
   1f5d4:	429c      	cmp	r4, r3
   1f5d6:	fa02 f207 	lsl.w	r2, r2, r7
   1f5da:	fa00 f107 	lsl.w	r1, r0, r7
   1f5de:	d90b      	bls.n	1f5f8 <__udivmoddi4+0x1b0>
   1f5e0:	eb1e 0303 	adds.w	r3, lr, r3
   1f5e4:	f109 30ff 	add.w	r0, r9, #4294967295
   1f5e8:	f080 8087 	bcs.w	1f6fa <__udivmoddi4+0x2b2>
   1f5ec:	429c      	cmp	r4, r3
   1f5ee:	f240 8084 	bls.w	1f6fa <__udivmoddi4+0x2b2>
   1f5f2:	f1a9 0902 	sub.w	r9, r9, #2
   1f5f6:	4473      	add	r3, lr
   1f5f8:	1b1b      	subs	r3, r3, r4
   1f5fa:	b2ad      	uxth	r5, r5
   1f5fc:	fbb3 f0f8 	udiv	r0, r3, r8
   1f600:	fb08 3310 	mls	r3, r8, r0, r3
   1f604:	ea45 4403 	orr.w	r4, r5, r3, lsl #16
   1f608:	fb00 fa0a 	mul.w	sl, r0, sl
   1f60c:	45a2      	cmp	sl, r4
   1f60e:	d908      	bls.n	1f622 <__udivmoddi4+0x1da>
   1f610:	eb1e 0404 	adds.w	r4, lr, r4
   1f614:	f100 33ff 	add.w	r3, r0, #4294967295
   1f618:	d26b      	bcs.n	1f6f2 <__udivmoddi4+0x2aa>
   1f61a:	45a2      	cmp	sl, r4
   1f61c:	d969      	bls.n	1f6f2 <__udivmoddi4+0x2aa>
   1f61e:	3802      	subs	r0, #2
   1f620:	4474      	add	r4, lr
   1f622:	ea40 4009 	orr.w	r0, r0, r9, lsl #16
   1f626:	fba0 8902 	umull	r8, r9, r0, r2
   1f62a:	eba4 040a 	sub.w	r4, r4, sl
   1f62e:	454c      	cmp	r4, r9
   1f630:	46c2      	mov	sl, r8
   1f632:	464b      	mov	r3, r9
   1f634:	d354      	bcc.n	1f6e0 <__udivmoddi4+0x298>
   1f636:	d051      	beq.n	1f6dc <__udivmoddi4+0x294>
   1f638:	2e00      	cmp	r6, #0
   1f63a:	d069      	beq.n	1f710 <__udivmoddi4+0x2c8>
   1f63c:	ebb1 050a 	subs.w	r5, r1, sl
   1f640:	eb64 0403 	sbc.w	r4, r4, r3
   1f644:	fa04 fc0c 	lsl.w	ip, r4, ip
   1f648:	40fd      	lsrs	r5, r7
   1f64a:	40fc      	lsrs	r4, r7
   1f64c:	ea4c 0505 	orr.w	r5, ip, r5
   1f650:	e9c6 5400 	strd	r5, r4, [r6]
   1f654:	2700      	movs	r7, #0
   1f656:	e747      	b.n	1f4e8 <__udivmoddi4+0xa0>
   1f658:	f1c2 0320 	rsb	r3, r2, #32
   1f65c:	fa20 f703 	lsr.w	r7, r0, r3
   1f660:	4095      	lsls	r5, r2
   1f662:	fa01 f002 	lsl.w	r0, r1, r2
   1f666:	fa21 f303 	lsr.w	r3, r1, r3
   1f66a:	ea4f 4e15 	mov.w	lr, r5, lsr #16
   1f66e:	4338      	orrs	r0, r7
   1f670:	0c01      	lsrs	r1, r0, #16
   1f672:	fbb3 f7fe 	udiv	r7, r3, lr
   1f676:	fa1f f885 	uxth.w	r8, r5
   1f67a:	fb0e 3317 	mls	r3, lr, r7, r3
   1f67e:	ea41 4103 	orr.w	r1, r1, r3, lsl #16
   1f682:	fb07 f308 	mul.w	r3, r7, r8
   1f686:	428b      	cmp	r3, r1
   1f688:	fa04 f402 	lsl.w	r4, r4, r2
   1f68c:	d907      	bls.n	1f69e <__udivmoddi4+0x256>
   1f68e:	1869      	adds	r1, r5, r1
   1f690:	f107 3cff 	add.w	ip, r7, #4294967295
   1f694:	d22f      	bcs.n	1f6f6 <__udivmoddi4+0x2ae>
   1f696:	428b      	cmp	r3, r1
   1f698:	d92d      	bls.n	1f6f6 <__udivmoddi4+0x2ae>
   1f69a:	3f02      	subs	r7, #2
   1f69c:	4429      	add	r1, r5
   1f69e:	1acb      	subs	r3, r1, r3
   1f6a0:	b281      	uxth	r1, r0
   1f6a2:	fbb3 f0fe 	udiv	r0, r3, lr
   1f6a6:	fb0e 3310 	mls	r3, lr, r0, r3
   1f6aa:	ea41 4103 	orr.w	r1, r1, r3, lsl #16
   1f6ae:	fb00 f308 	mul.w	r3, r0, r8
   1f6b2:	428b      	cmp	r3, r1
   1f6b4:	d907      	bls.n	1f6c6 <__udivmoddi4+0x27e>
   1f6b6:	1869      	adds	r1, r5, r1
   1f6b8:	f100 3cff 	add.w	ip, r0, #4294967295
   1f6bc:	d217      	bcs.n	1f6ee <__udivmoddi4+0x2a6>
   1f6be:	428b      	cmp	r3, r1
   1f6c0:	d915      	bls.n	1f6ee <__udivmoddi4+0x2a6>
   1f6c2:	3802      	subs	r0, #2
   1f6c4:	4429      	add	r1, r5
   1f6c6:	1ac9      	subs	r1, r1, r3
   1f6c8:	ea40 4707 	orr.w	r7, r0, r7, lsl #16
   1f6cc:	e73b      	b.n	1f546 <__udivmoddi4+0xfe>
   1f6ce:	4637      	mov	r7, r6
   1f6d0:	4630      	mov	r0, r6
   1f6d2:	e709      	b.n	1f4e8 <__udivmoddi4+0xa0>
   1f6d4:	4607      	mov	r7, r0
   1f6d6:	e6e7      	b.n	1f4a8 <__udivmoddi4+0x60>
   1f6d8:	4618      	mov	r0, r3
   1f6da:	e6fb      	b.n	1f4d4 <__udivmoddi4+0x8c>
   1f6dc:	4541      	cmp	r1, r8
   1f6de:	d2ab      	bcs.n	1f638 <__udivmoddi4+0x1f0>
   1f6e0:	ebb8 0a02 	subs.w	sl, r8, r2
   1f6e4:	eb69 020e 	sbc.w	r2, r9, lr
   1f6e8:	3801      	subs	r0, #1
   1f6ea:	4613      	mov	r3, r2
   1f6ec:	e7a4      	b.n	1f638 <__udivmoddi4+0x1f0>
   1f6ee:	4660      	mov	r0, ip
   1f6f0:	e7e9      	b.n	1f6c6 <__udivmoddi4+0x27e>
   1f6f2:	4618      	mov	r0, r3
   1f6f4:	e795      	b.n	1f622 <__udivmoddi4+0x1da>
   1f6f6:	4667      	mov	r7, ip
   1f6f8:	e7d1      	b.n	1f69e <__udivmoddi4+0x256>
   1f6fa:	4681      	mov	r9, r0
   1f6fc:	e77c      	b.n	1f5f8 <__udivmoddi4+0x1b0>
   1f6fe:	3802      	subs	r0, #2
   1f700:	442c      	add	r4, r5
   1f702:	e747      	b.n	1f594 <__udivmoddi4+0x14c>
   1f704:	f1ac 0c02 	sub.w	ip, ip, #2
   1f708:	442b      	add	r3, r5
   1f70a:	e72f      	b.n	1f56c <__udivmoddi4+0x124>
   1f70c:	4638      	mov	r0, r7
   1f70e:	e708      	b.n	1f522 <__udivmoddi4+0xda>
   1f710:	4637      	mov	r7, r6
   1f712:	e6e9      	b.n	1f4e8 <__udivmoddi4+0xa0>

0001f714 <__aeabi_idiv0>:
__aeabi_idiv0():
   1f714:	4770      	bx	lr
   1f716:	bf00      	nop

0001f718 <exit>:
exit():
   1f718:	b508      	push	{r3, lr}
   1f71a:	4b07      	ldr	r3, [pc, #28]	; (1f738 <exit+0x20>)
   1f71c:	4604      	mov	r4, r0
   1f71e:	b113      	cbz	r3, 1f726 <exit+0xe>
   1f720:	2100      	movs	r1, #0
   1f722:	f3af 8000 	nop.w
   1f726:	4b05      	ldr	r3, [pc, #20]	; (1f73c <exit+0x24>)
   1f728:	6818      	ldr	r0, [r3, #0]
   1f72a:	6a83      	ldr	r3, [r0, #40]	; 0x28
   1f72c:	b103      	cbz	r3, 1f730 <exit+0x18>
   1f72e:	4798      	blx	r3
   1f730:	4620      	mov	r0, r4
   1f732:	f000 f84f 	bl	1f7d4 <_exit>
   1f736:	bf00      	nop
   1f738:	00000000 	.word	0x00000000
   1f73c:	0001f8e0 	.word	0x0001f8e0

0001f740 <__libc_init_array>:
__libc_init_array():
   1f740:	b570      	push	{r4, r5, r6, lr}
   1f742:	4e0d      	ldr	r6, [pc, #52]	; (1f778 <__libc_init_array+0x38>)
   1f744:	4c0d      	ldr	r4, [pc, #52]	; (1f77c <__libc_init_array+0x3c>)
   1f746:	1ba4      	subs	r4, r4, r6
   1f748:	10a4      	asrs	r4, r4, #2
   1f74a:	2500      	movs	r5, #0
   1f74c:	42a5      	cmp	r5, r4
   1f74e:	d109      	bne.n	1f764 <__libc_init_array+0x24>
   1f750:	4e0b      	ldr	r6, [pc, #44]	; (1f780 <__libc_init_array+0x40>)
   1f752:	4c0c      	ldr	r4, [pc, #48]	; (1f784 <__libc_init_array+0x44>)
   1f754:	f000 f842 	bl	1f7dc <_init>
   1f758:	1ba4      	subs	r4, r4, r6
   1f75a:	10a4      	asrs	r4, r4, #2
   1f75c:	2500      	movs	r5, #0
   1f75e:	42a5      	cmp	r5, r4
   1f760:	d105      	bne.n	1f76e <__libc_init_array+0x2e>
   1f762:	bd70      	pop	{r4, r5, r6, pc}
   1f764:	f856 3025 	ldr.w	r3, [r6, r5, lsl #2]
   1f768:	4798      	blx	r3
   1f76a:	3501      	adds	r5, #1
   1f76c:	e7ee      	b.n	1f74c <__libc_init_array+0xc>
   1f76e:	f856 3025 	ldr.w	r3, [r6, r5, lsl #2]
   1f772:	4798      	blx	r3
   1f774:	3501      	adds	r5, #1
   1f776:	e7f2      	b.n	1f75e <__libc_init_array+0x1e>
	...
   1f780:	0001f7d8 	.word	0x0001f7d8
   1f784:	0001f7dc 	.word	0x0001f7dc

0001f788 <memcpy>:
memcpy():
   1f788:	b510      	push	{r4, lr}
   1f78a:	1e43      	subs	r3, r0, #1
   1f78c:	440a      	add	r2, r1
   1f78e:	4291      	cmp	r1, r2
   1f790:	d100      	bne.n	1f794 <memcpy+0xc>
   1f792:	bd10      	pop	{r4, pc}
   1f794:	f811 4b01 	ldrb.w	r4, [r1], #1
   1f798:	f803 4f01 	strb.w	r4, [r3, #1]!
   1f79c:	e7f7      	b.n	1f78e <memcpy+0x6>

0001f79e <memset>:
memset():
   1f79e:	4402      	add	r2, r0
   1f7a0:	4603      	mov	r3, r0
   1f7a2:	4293      	cmp	r3, r2
   1f7a4:	d100      	bne.n	1f7a8 <memset+0xa>
   1f7a6:	4770      	bx	lr
   1f7a8:	f803 1b01 	strb.w	r1, [r3], #1
   1f7ac:	e7f9      	b.n	1f7a2 <memset+0x4>

0001f7ae <strncmp>:
strncmp():
   1f7ae:	b510      	push	{r4, lr}
   1f7b0:	b16a      	cbz	r2, 1f7ce <strncmp+0x20>
   1f7b2:	3901      	subs	r1, #1
   1f7b4:	1884      	adds	r4, r0, r2
   1f7b6:	f810 3b01 	ldrb.w	r3, [r0], #1
   1f7ba:	f811 2f01 	ldrb.w	r2, [r1, #1]!
   1f7be:	4293      	cmp	r3, r2
   1f7c0:	d103      	bne.n	1f7ca <strncmp+0x1c>
   1f7c2:	42a0      	cmp	r0, r4
   1f7c4:	d001      	beq.n	1f7ca <strncmp+0x1c>
   1f7c6:	2b00      	cmp	r3, #0
   1f7c8:	d1f5      	bne.n	1f7b6 <strncmp+0x8>
   1f7ca:	1a98      	subs	r0, r3, r2
   1f7cc:	bd10      	pop	{r4, pc}
   1f7ce:	4610      	mov	r0, r2
   1f7d0:	e7fc      	b.n	1f7cc <strncmp+0x1e>
	...

0001f7d4 <_exit>:
_exit():
   1f7d4:	e7fe      	b.n	1f7d4 <_exit>
   1f7d6:	bf00      	nop

0001f7d8 <__init_array_start>:
__init_array_start():
   1f7d8:	0001b025 	.word	0x0001b025

0001f7dc <_init>:
__init_array_end():
   1f7dc:	b5f8      	push	{r3, r4, r5, r6, r7, lr}
   1f7de:	bf00      	nop

0001f7e0 <_fini>:
_fini():
   1f7e0:	b5f8      	push	{r3, r4, r5, r6, r7, lr}
   1f7e2:	bf00      	nop
