   1              		.cpu cortex-m4
   2              		.eabi_attribute 27, 1
   3              		.eabi_attribute 28, 1
   4              		.eabi_attribute 20, 1
   5              		.eabi_attribute 21, 1
   6              		.eabi_attribute 23, 3
   7              		.eabi_attribute 24, 1
   8              		.eabi_attribute 25, 1
   9              		.eabi_attribute 26, 1
  10              		.eabi_attribute 30, 6
  11              		.eabi_attribute 34, 1
  12              		.eabi_attribute 18, 4
  13              		.file	"isr.c"
  14              		.text
  15              	.Ltext0:
  16              		.cfi_sections	.debug_frame
  17              		.comm	component_fun,4,4
  18              		.align	1
  19              		.global	EUSCIA3_IRQHandler
  20              		.syntax unified
  21              		.thumb
  22              		.thumb_func
  23              		.fpu fpv4-sp-d16
  25              	EUSCIA3_IRQHandler:
  26              	.LFB123:
  27              		.file 1 "srcc/isr.c"
   1:srcc/isr.c    **** //=====================================================================
   2:srcc/isr.c    **** //文件名称：isr.c（中断处理程序源文件）
   3:srcc/isr.c    **** //框架提供：SD-ARM（sumcu.suda.edu.cn）
   4:srcc/isr.c    **** //版本更新：20170801-20191020
   5:srcc/isr.c    **** //功能描述：提供中断处理程序编程框架
   6:srcc/isr.c    **** //移植规则：【固定】
   7:srcc/isr.c    **** //=====================================================================
   8:srcc/isr.c    **** #include "includes.h"
   9:srcc/isr.c    **** //isr.c内部函数声明（函数实现在本文件后面）
  10:srcc/isr.c    **** //void SecAdd1(volatile uint8_t *p);
  11:srcc/isr.c    **** void User_SysFun(uint8_t ch);
  12:srcc/isr.c    **** //======================================================================
  13:srcc/isr.c    **** //程序名称：UART_User_Handler
  14:srcc/isr.c    **** //触发条件：UART_User串口收到一个字节触发
  15:srcc/isr.c    **** //备    注：进入本程序后，可使用uart_get_re_int函数可再进行中断标志判断
  16:srcc/isr.c    **** //          （1-有UART接收中断，0-没有UART接收中断）
  17:srcc/isr.c    **** //======================================================================
  18:srcc/isr.c    **** void UART_User_Handler(void)
  19:srcc/isr.c    **** {
  28              		.loc 1 19 0
  29              		.cfi_startproc
  30              		@ args = 0, pretend = 0, frame = 8
  31              		@ frame_needed = 1, uses_anonymous_args = 0
  32 0000 80B5     		push	{r7, lr}
  33              		.cfi_def_cfa_offset 8
  34              		.cfi_offset 7, -8
  35              		.cfi_offset 14, -4
  36 0002 82B0     		sub	sp, sp, #8
  37              		.cfi_def_cfa_offset 16
  38 0004 00AF     		add	r7, sp, #0
  39              		.cfi_def_cfa_register 7
  40              	.LBB6:
  41              	.LBB7:
  42              		.file 2 "C:\\Users\\lenovo\\Desktop\\MSP-20210417\\MSP-20210417\\User-MSP432-20210417\\CH07-TIMER\
   1:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h **** /**************************************************************************//**
   2:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h ****  * @file     cmsis_gcc.h
   3:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h ****  * @brief    CMSIS Cortex-M Core Function/Instruction Header File
   4:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h ****  * @version  V4.30
   5:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h ****  * @date     20. October 2015
   6:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h ****  ******************************************************************************/
   7:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h **** /* Copyright (c) 2009 - 2015 ARM LIMITED
   8:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h **** 
   9:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h ****    All rights reserved.
  10:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h ****    Redistribution and use in source and binary forms, with or without
  11:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h ****    modification, are permitted provided that the following conditions are met:
  12:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h ****    - Redistributions of source code must retain the above copyright
  13:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h ****      notice, this list of conditions and the following disclaimer.
  14:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h ****    - Redistributions in binary form must reproduce the above copyright
  15:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h ****      notice, this list of conditions and the following disclaimer in the
  16:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h ****      documentation and/or other materials provided with the distribution.
  17:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h ****    - Neither the name of ARM nor the names of its contributors may be used
  18:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h ****      to endorse or promote products derived from this software without
  19:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h ****      specific prior written permission.
  20:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h ****    *
  21:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h ****    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  22:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h ****    AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  23:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h ****    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  24:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h ****    ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS AND CONTRIBUTORS BE
  25:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h ****    LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  26:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h ****    CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  27:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h ****    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  28:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h ****    INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  29:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h ****    CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  30:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h ****    ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  31:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h ****    POSSIBILITY OF SUCH DAMAGE.
  32:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h ****    ---------------------------------------------------------------------------*/
  33:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h **** 
  34:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h **** 
  35:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h **** #ifndef __CMSIS_GCC_H
  36:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h **** #define __CMSIS_GCC_H
  37:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h **** 
  38:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h **** /* ignore some GCC warnings */
  39:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h **** #if defined ( __GNUC__ )
  40:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h **** #pragma GCC diagnostic push
  41:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wsign-conversion"
  42:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wconversion"
  43:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wunused-parameter"
  44:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h **** #endif
  45:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h **** 
  46:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h **** 
  47:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h **** /* ###########################  Core Function Access  ########################### */
  48:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h **** /** \ingroup  CMSIS_Core_FunctionInterface
  49:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h ****     \defgroup CMSIS_Core_RegAccFunctions CMSIS Core Register Access Functions
  50:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h ****   @{
  51:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h ****  */
  52:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h **** 
  53:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h **** /**
  54:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h ****   \brief   Enable IRQ Interrupts
  55:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h ****   \details Enables IRQ interrupts by clearing the I-bit in the CPSR.
  56:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h ****            Can only be executed in Privileged modes.
  57:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h ****  */
  58:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h **** __attribute__( ( always_inline ) ) __STATIC_INLINE void __enable_irq(void)
  59:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h **** {
  60:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h ****   __ASM volatile ("cpsie i" : : : "memory");
  61:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h **** }
  62:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h **** 
  63:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h **** 
  64:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h **** /**
  65:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h ****   \brief   Disable IRQ Interrupts
  66:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h ****   \details Disables IRQ interrupts by setting the I-bit in the CPSR.
  67:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h ****   Can only be executed in Privileged modes.
  68:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h ****  */
  69:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h **** __attribute__( ( always_inline ) ) __STATIC_INLINE void __disable_irq(void)
  70:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h **** {
  71:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h ****   __ASM volatile ("cpsid i" : : : "memory");
  43              		.loc 2 71 0
  44              		.syntax unified
  45              	@ 71 "C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP
  46 0006 72B6     		cpsid i
  47              	@ 0 "" 2
  48              		.thumb
  49              		.syntax unified
  50              	.LBE7:
  51              	.LBE6:
  20:srcc/isr.c    **** 	 //（1）变量声明
  21:srcc/isr.c    ****     uint8_t flag,ch;
  22:srcc/isr.c    ****     DISABLE_INTERRUPTS;      //关总中断
  23:srcc/isr.c    ****     //（2）未触发串口接收中断，退出
  24:srcc/isr.c    ****     if(!uart_get_re_int(UART_User)) goto UART_User_Handler_EXIT;
  52              		.loc 1 24 0
  53 0008 0320     		movs	r0, #3
  54 000a FFF7FEFF 		bl	uart_get_re_int
  55 000e 0346     		mov	r3, r0
  56 0010 002B     		cmp	r3, #0
  57 0012 14D0     		beq	.L5
  25:srcc/isr.c    ****     //（3）收到一个字节，读出该字节数据
  26:srcc/isr.c    ****     ch = uart_re1(UART_User,&flag);        //调用接收一个字节的函数
  58              		.loc 1 26 0
  59 0014 BB1D     		adds	r3, r7, #6
  60 0016 1946     		mov	r1, r3
  61 0018 0320     		movs	r0, #3
  62 001a FFF7FEFF 		bl	uart_re1
  63 001e 0346     		mov	r3, r0
  64 0020 FB71     		strb	r3, [r7, #7]
  27:srcc/isr.c    ****     if(!flag) goto UART_User_Handler_EXIT; //实际未收到数据，退出
  65              		.loc 1 27 0
  66 0022 BB79     		ldrb	r3, [r7, #6]	@ zero_extendqisi2
  67 0024 002B     		cmp	r3, #0
  68 0026 0CD0     		beq	.L6
  28:srcc/isr.c    ****   //（4）以下代码根据是否使用模板提供的User串口通信帧结构，及是否利用User串口
  29:srcc/isr.c    ****     //     进行带有设备序列号的进行程序更新而选择
  30:srcc/isr.c    ****     //（4.1）【自行组帧使用（开始)】
  31:srcc/isr.c    ****         uart_send1(UART_User,ch);     //例如，收到一个字节回发一个字节
  69              		.loc 1 31 0
  70 0028 FB79     		ldrb	r3, [r7, #7]	@ zero_extendqisi2
  71 002a 1946     		mov	r1, r3
  72 002c 0320     		movs	r0, #3
  73 002e FFF7FEFF 		bl	uart_send1
  32:srcc/isr.c    ****         uart_send1(UART_UPDATE,ch);     //例如，收到一个字节回发一个字节
  74              		.loc 1 32 0
  75 0032 FB79     		ldrb	r3, [r7, #7]	@ zero_extendqisi2
  76 0034 1946     		mov	r1, r3
  77 0036 0020     		movs	r0, #0
  78 0038 FFF7FEFF 		bl	uart_send1
  79 003c 02E0     		b	.L3
  80              	.L5:
  24:srcc/isr.c    ****     //（3）收到一个字节，读出该字节数据
  81              		.loc 1 24 0
  82 003e 00BF     		nop
  83 0040 00E0     		b	.L3
  84              	.L6:
  27:srcc/isr.c    ****   //（4）以下代码根据是否使用模板提供的User串口通信帧结构，及是否利用User串口
  85              		.loc 1 27 0
  86 0042 00BF     		nop
  87              	.L3:
  88              	.LBB8:
  89              	.LBB9:
  60:C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP432)-20210406\02_CPU\cmsis_gcc.h **** }
  90              		.loc 2 60 0
  91              		.syntax unified
  92              	@ 60 "C:\Users\lenovo\Desktop\MSP-20210417\MSP-20210417\User-MSP432-20210417\CH07-TIMER\Systick(MSP
  93 0044 62B6     		cpsie i
  94              	@ 0 "" 2
  95              		.thumb
  96              		.syntax unified
  97              	.LBE9:
  98              	.LBE8:
  33:srcc/isr.c    ****        //    【自行组帧使用（结束)】
  34:srcc/isr.c    ****     //（4.2）【使用模板提供的User串口通信帧结构（开始)】
  35:srcc/isr.c    ****     /*
  36:srcc/isr.c    ****        User_SysFun(ch);          //利用User串口进行程序更新
  37:srcc/isr.c    ****        if (gcRecvLen == 0) goto UART_User_Handler_EXIT; 
  38:srcc/isr.c    ****        //至此，不仅收到完整帧，且序号比较也一致，可以根据命令字节gcRecvBuf[16]进行编程
  39:srcc/isr.c    ****        switch(gcRecvBuf[16])  //帧标识
  40:srcc/isr.c    ****        {
  41:srcc/isr.c    ****            case 1:  //0之外的数据，自身命令
  42:srcc/isr.c    ****            break;
  43:srcc/isr.c    ****            default:
  44:srcc/isr.c    ****            break;
  45:srcc/isr.c    ****         }
  46:srcc/isr.c    ****         gcRecvLen = 0;   //帧已经使用完毕，下次若收到一个字节，可以继续组帧
  47:srcc/isr.c    ****         //【使用模板提供的User串口通信帧结构（结束)】
  48:srcc/isr.c    ****      */
  49:srcc/isr.c    ****     //（5）【公共退出区】
  50:srcc/isr.c    **** UART_User_Handler_EXIT:
  51:srcc/isr.c    ****     ENABLE_INTERRUPTS;//开总中断
  52:srcc/isr.c    **** }
  99              		.loc 1 52 0
 100 0046 00BF     		nop
 101 0048 0837     		adds	r7, r7, #8
 102              		.cfi_def_cfa_offset 8
 103 004a BD46     		mov	sp, r7
 104              		.cfi_def_cfa_register 13
 105              		@ sp needed
 106 004c 80BD     		pop	{r7, pc}
 107              		.cfi_endproc
 108              	.LFE123:
 110              		.align	1
 111              		.global	SysTick_Handler
 112              		.syntax unified
 113              		.thumb
 114              		.thumb_func
 115              		.fpu fpv4-sp-d16
 117              	SysTick_Handler:
 118              	.LFB124:
  53:srcc/isr.c    **** //=====================================================================
  54:srcc/isr.c    **** //函数名称：SysTick_Handler（SysTick定时器中断处理程序）
  55:srcc/isr.c    **** //参数说明：无
  56:srcc/isr.c    **** //函数返回：无
  57:srcc/isr.c    **** //功能概要：（1）每10ms中断触发本程序一次；（2）达到一秒时，调用秒+1
  58:srcc/isr.c    **** //           程序，计算“时、分、秒”
  59:srcc/isr.c    **** //特别提示：（1）使用全局变量字节型数组gTime[3]，分别存储“时、分、秒”
  60:srcc/isr.c    **** //          （2）注意其中静态变量的使用
  61:srcc/isr.c    **** //=====================================================================
  62:srcc/isr.c    **** void SysTick_Handler()
  63:srcc/isr.c    **** {
 119              		.loc 1 63 0
 120              		.cfi_startproc
 121              		@ args = 0, pretend = 0, frame = 0
 122              		@ frame_needed = 1, uses_anonymous_args = 0
 123 004e 80B5     		push	{r7, lr}
 124              		.cfi_def_cfa_offset 8
 125              		.cfi_offset 7, -8
 126              		.cfi_offset 14, -4
 127 0050 00AF     		add	r7, sp, #0
 128              		.cfi_def_cfa_register 7
  64:srcc/isr.c    **** 	static uint8_t SysTickCount = 0;
  65:srcc/isr.c    **** 	SysTickCount++;    //Tick单元+1
 129              		.loc 1 65 0
 130 0052 0A4B     		ldr	r3, .L10
 131 0054 1B78     		ldrb	r3, [r3]	@ zero_extendqisi2
 132 0056 0133     		adds	r3, r3, #1
 133 0058 DAB2     		uxtb	r2, r3
 134 005a 084B     		ldr	r3, .L10
 135 005c 1A70     		strb	r2, [r3]
  66:srcc/isr.c    **** 	wdog_feed();      //看门狗“喂狗”
 136              		.loc 1 66 0
 137 005e FFF7FEFF 		bl	wdog_feed
  67:srcc/isr.c    **** 	if (SysTickCount >= 100)
 138              		.loc 1 67 0
 139 0062 064B     		ldr	r3, .L10
 140 0064 1B78     		ldrb	r3, [r3]	@ zero_extendqisi2
 141 0066 632B     		cmp	r3, #99
 142 0068 05D9     		bls	.L9
 143              	.LBB10:
  68:srcc/isr.c    **** 	{
  69:srcc/isr.c    **** 		SysTickCount = 0;  //Tick单元清0
 144              		.loc 1 69 0
 145 006a 044B     		ldr	r3, .L10
 146 006c 0022     		movs	r2, #0
 147 006e 1A70     		strb	r2, [r3]
  70:srcc/isr.c    **** 		SecAdd1(gTime);   //调用秒+1程序，计算“时、分、秒”
 148              		.loc 1 70 0
 149 0070 0348     		ldr	r0, .L10+4
 150 0072 FFF7FEFF 		bl	SecAdd1
 151              	.L9:
 152              	.LBE10:
  71:srcc/isr.c    **** 	}
  72:srcc/isr.c    **** }
 153              		.loc 1 72 0
 154 0076 00BF     		nop
 155 0078 80BD     		pop	{r7, pc}
 156              	.L11:
 157 007a 00BF     		.align	2
 158              	.L10:
 159 007c 00000000 		.word	SysTickCount.7469
 160 0080 00000000 		.word	gTime
 161              		.cfi_endproc
 162              	.LFE124:
 164              		.align	1
 165              		.global	User_SysFun
 166              		.syntax unified
 167              		.thumb
 168              		.thumb_func
 169              		.fpu fpv4-sp-d16
 171              	User_SysFun:
 172              	.LFB125:
  73:srcc/isr.c    **** 
  74:srcc/isr.c    **** //内部函数
  75:srcc/isr.c    **** void User_SysFun(uint8_t ch)
  76:srcc/isr.c    **** {
 173              		.loc 1 76 0
 174              		.cfi_startproc
 175              		@ args = 0, pretend = 0, frame = 8
 176              		@ frame_needed = 1, uses_anonymous_args = 0
 177 0084 80B5     		push	{r7, lr}
 178              		.cfi_def_cfa_offset 8
 179              		.cfi_offset 7, -8
 180              		.cfi_offset 14, -4
 181 0086 82B0     		sub	sp, sp, #8
 182              		.cfi_def_cfa_offset 16
 183 0088 00AF     		add	r7, sp, #0
 184              		.cfi_def_cfa_register 7
 185 008a 0346     		mov	r3, r0
 186 008c FB71     		strb	r3, [r7, #7]
  77:srcc/isr.c    ****     //（1）收到的一个字节参与组帧
  78:srcc/isr.c    ****     if(gcRecvLen == 0)  gcRecvLen =useremuart_frame(ch,(uint8_t*)gcRecvBuf);
 187              		.loc 1 78 0
 188 008e 194B     		ldr	r3, .L21
 189 0090 1B88     		ldrh	r3, [r3]	@ movhi
 190 0092 9BB2     		uxth	r3, r3
 191 0094 002B     		cmp	r3, #0
 192 0096 08D1     		bne	.L13
 193              		.loc 1 78 0 is_stmt 0
 194 0098 FB79     		ldrb	r3, [r7, #7]	@ zero_extendqisi2
 195 009a 1749     		ldr	r1, .L21+4
 196 009c 1846     		mov	r0, r3
 197 009e FFF7FEFF 		bl	useremuart_frame
 198 00a2 0346     		mov	r3, r0
 199 00a4 1A46     		mov	r2, r3
 200 00a6 134B     		ldr	r3, .L21
 201 00a8 1A80     		strh	r2, [r3]	@ movhi
 202              	.L13:
  79:srcc/isr.c    ****     //（2）字节进入组帧后，判断gcRecvLen=0？若为0，表示组帧尚未完成，
  80:srcc/isr.c    ****     //     下次收到一个字节，再继续组帧
  81:srcc/isr.c    ****     if(gcRecvLen == 0) goto User_SysFun_Exit;
 203              		.loc 1 81 0 is_stmt 1
 204 00aa 124B     		ldr	r3, .L21
 205 00ac 1B88     		ldrh	r3, [r3]	@ movhi
 206 00ae 9BB2     		uxth	r3, r3
 207 00b0 002B     		cmp	r3, #0
 208 00b2 1AD0     		beq	.L20
  82:srcc/isr.c    ****     //（3）至此，gcRecvLen≠0,表示组帧完成，gcRecvLen为帧的长度,校验序列号后（与
  83:srcc/isr.c    ****     //     根据Flash中倒数一扇区开始的16字节进行比较）
  84:srcc/isr.c    ****     //     gcRecvBuf[16]进行跳转
  85:srcc/isr.c    ****     if(strncmp((char *)(gcRecvBuf),(char *)((MCU_SECTOR_NUM-1)*MCU_SECTORSIZE+
 209              		.loc 1 85 0
 210 00b4 1022     		movs	r2, #16
 211 00b6 4FF47C31 		mov	r1, #258048
 212 00ba 0F48     		ldr	r0, .L21+4
 213 00bc FFF7FEFF 		bl	strncmp
 214 00c0 0346     		mov	r3, r0
 215 00c2 002B     		cmp	r3, #0
 216 00c4 03D0     		beq	.L16
  86:srcc/isr.c    ****        MCU_FLASH_ADDR_START),16) != 0)
  87:srcc/isr.c    ****     {
  88:srcc/isr.c    ****         gcRecvLen = 0;         //恢复接收状态
 217              		.loc 1 88 0
 218 00c6 0B4B     		ldr	r3, .L21
 219 00c8 0022     		movs	r2, #0
 220 00ca 1A80     		strh	r2, [r3]	@ movhi
  89:srcc/isr.c    ****         goto User_SysFun_Exit;
 221              		.loc 1 89 0
 222 00cc 0EE0     		b	.L15
 223              	.L16:
  90:srcc/isr.c    ****     }
  91:srcc/isr.c    ****     //（4）至此，不仅收到完整帧，且序号比较也一致， 根据命令字节gcRecvBuf[16]进行跳转
  92:srcc/isr.c    ****     //若为User串口程序更新命令，则进行程序更新
  93:srcc/isr.c    ****     switch(gcRecvBuf[16])  //帧标识
 224              		.loc 1 93 0
 225 00ce 0A4B     		ldr	r3, .L21+4
 226 00d0 1B7C     		ldrb	r3, [r3, #16]
 227 00d2 DBB2     		uxtb	r3, r3
 228 00d4 002B     		cmp	r3, #0
 229 00d6 00D0     		beq	.L18
  94:srcc/isr.c    ****     {
  95:srcc/isr.c    ****         case 0:
  96:srcc/isr.c    ****             SYSTEM_FUNCTION((uint8_t *)(gcRecvBuf+17));
  97:srcc/isr.c    ****             gcRecvLen = 0;         //恢复接收状态
  98:srcc/isr.c    ****         break;
  99:srcc/isr.c    ****         default:
 100:srcc/isr.c    ****         break;
 230              		.loc 1 100 0
 231 00d8 08E0     		b	.L15
 232              	.L18:
  96:srcc/isr.c    ****             gcRecvLen = 0;         //恢复接收状态
 233              		.loc 1 96 0
 234 00da 084B     		ldr	r3, .L21+8
 235 00dc 1846     		mov	r0, r3
 236 00de FFF7FEFF 		bl	SYSTEM_FUNCTION
  97:srcc/isr.c    ****         break;
 237              		.loc 1 97 0
 238 00e2 044B     		ldr	r3, .L21
 239 00e4 0022     		movs	r2, #0
 240 00e6 1A80     		strh	r2, [r3]	@ movhi
  98:srcc/isr.c    ****         default:
 241              		.loc 1 98 0
 242 00e8 00E0     		b	.L15
 243              	.L20:
  81:srcc/isr.c    ****     //（3）至此，gcRecvLen≠0,表示组帧完成，gcRecvLen为帧的长度,校验序列号后（与
 244              		.loc 1 81 0
 245 00ea 00BF     		nop
 246              	.L15:
 101:srcc/isr.c    ****     }
 102:srcc/isr.c    **** User_SysFun_Exit:
 103:srcc/isr.c    ****     return;
 247              		.loc 1 103 0
 248 00ec 00BF     		nop
 104:srcc/isr.c    **** }
 249              		.loc 1 104 0
 250 00ee 0837     		adds	r7, r7, #8
 251              		.cfi_def_cfa_offset 8
 252 00f0 BD46     		mov	sp, r7
 253              		.cfi_def_cfa_register 13
 254              		@ sp needed
 255 00f2 80BD     		pop	{r7, pc}
 256              	.L22:
 257              		.align	2
 258              	.L21:
 259 00f4 00000000 		.word	gcRecvLen
 260 00f8 00000000 		.word	gcRecvBuf
 261 00fc 11000000 		.word	gcRecvBuf+17
 262              		.cfi_endproc
 263              	.LFE125:
 265              		.align	1
 266              		.global	SecAdd1
 267              		.syntax unified
 268              		.thumb
 269              		.thumb_func
 270              		.fpu fpv4-sp-d16
 272              	SecAdd1:
 273              	.LFB126:
 105:srcc/isr.c    **** 
 106:srcc/isr.c    **** //===========================================================================
 107:srcc/isr.c    **** //函数名称：SecAdd1
 108:srcc/isr.c    **** //函数返回：无
 109:srcc/isr.c    **** //参数说明：*p:为指向一个时分秒数组p[3]
 110:srcc/isr.c    **** //功能概要：秒单元+1，并处理时分单元（00:00:00-23:59:59)
 111:srcc/isr.c    **** //===========================================================================
 112:srcc/isr.c    **** void SecAdd1(volatile uint8_t *p)
 113:srcc/isr.c    **** {
 274              		.loc 1 113 0
 275              		.cfi_startproc
 276              		@ args = 0, pretend = 0, frame = 8
 277              		@ frame_needed = 1, uses_anonymous_args = 0
 278              		@ link register save eliminated.
 279 0100 80B4     		push	{r7}
 280              		.cfi_def_cfa_offset 4
 281              		.cfi_offset 7, -4
 282 0102 83B0     		sub	sp, sp, #12
 283              		.cfi_def_cfa_offset 16
 284 0104 00AF     		add	r7, sp, #0
 285              		.cfi_def_cfa_register 7
 286 0106 7860     		str	r0, [r7, #4]
 114:srcc/isr.c    ****      *(p+2)+=1;         //秒+1
 287              		.loc 1 114 0
 288 0108 7B68     		ldr	r3, [r7, #4]
 289 010a 0233     		adds	r3, r3, #2
 290 010c 1B78     		ldrb	r3, [r3]
 291 010e DAB2     		uxtb	r2, r3
 292 0110 7B68     		ldr	r3, [r7, #4]
 293 0112 0233     		adds	r3, r3, #2
 294 0114 0132     		adds	r2, r2, #1
 295 0116 D2B2     		uxtb	r2, r2
 296 0118 1A70     		strb	r2, [r3]
 115:srcc/isr.c    ****      if(*(p+2)>=60)     //秒溢出
 297              		.loc 1 115 0
 298 011a 7B68     		ldr	r3, [r7, #4]
 299 011c 0233     		adds	r3, r3, #2
 300 011e 1B78     		ldrb	r3, [r3]
 301 0120 DBB2     		uxtb	r3, r3
 302 0122 3B2B     		cmp	r3, #59
 303 0124 25D9     		bls	.L25
 116:srcc/isr.c    ****      {
 117:srcc/isr.c    ****         *(p+2)=0;       //清秒
 304              		.loc 1 117 0
 305 0126 7B68     		ldr	r3, [r7, #4]
 306 0128 0233     		adds	r3, r3, #2
 307 012a 0022     		movs	r2, #0
 308 012c 1A70     		strb	r2, [r3]
 118:srcc/isr.c    ****         *(p+1)+=1;      //分+1
 309              		.loc 1 118 0
 310 012e 7B68     		ldr	r3, [r7, #4]
 311 0130 0133     		adds	r3, r3, #1
 312 0132 1B78     		ldrb	r3, [r3]
 313 0134 DAB2     		uxtb	r2, r3
 314 0136 7B68     		ldr	r3, [r7, #4]
 315 0138 0133     		adds	r3, r3, #1
 316 013a 0132     		adds	r2, r2, #1
 317 013c D2B2     		uxtb	r2, r2
 318 013e 1A70     		strb	r2, [r3]
 119:srcc/isr.c    ****         if(*(p+1)>=60)  //分溢出
 319              		.loc 1 119 0
 320 0140 7B68     		ldr	r3, [r7, #4]
 321 0142 0133     		adds	r3, r3, #1
 322 0144 1B78     		ldrb	r3, [r3]
 323 0146 DBB2     		uxtb	r3, r3
 324 0148 3B2B     		cmp	r3, #59
 325 014a 12D9     		bls	.L25
 120:srcc/isr.c    ****         {
 121:srcc/isr.c    ****            *(p+1)=0;    //清分
 326              		.loc 1 121 0
 327 014c 7B68     		ldr	r3, [r7, #4]
 328 014e 0133     		adds	r3, r3, #1
 329 0150 0022     		movs	r2, #0
 330 0152 1A70     		strb	r2, [r3]
 122:srcc/isr.c    ****            *p+=1;       //时+1
 331              		.loc 1 122 0
 332 0154 7B68     		ldr	r3, [r7, #4]
 333 0156 1B78     		ldrb	r3, [r3]
 334 0158 DBB2     		uxtb	r3, r3
 335 015a 0133     		adds	r3, r3, #1
 336 015c DAB2     		uxtb	r2, r3
 337 015e 7B68     		ldr	r3, [r7, #4]
 338 0160 1A70     		strb	r2, [r3]
 123:srcc/isr.c    ****            if(*p>=24)   //时溢出
 339              		.loc 1 123 0
 340 0162 7B68     		ldr	r3, [r7, #4]
 341 0164 1B78     		ldrb	r3, [r3]
 342 0166 DBB2     		uxtb	r3, r3
 343 0168 172B     		cmp	r3, #23
 344 016a 02D9     		bls	.L25
 124:srcc/isr.c    ****            {
 125:srcc/isr.c    ****              *p=0;      //清时
 345              		.loc 1 125 0
 346 016c 7B68     		ldr	r3, [r7, #4]
 347 016e 0022     		movs	r2, #0
 348 0170 1A70     		strb	r2, [r3]
 349              	.L25:
 126:srcc/isr.c    ****            }
 127:srcc/isr.c    ****         }
 128:srcc/isr.c    ****      }
 129:srcc/isr.c    **** }
 350              		.loc 1 129 0
 351 0172 00BF     		nop
 352 0174 0C37     		adds	r7, r7, #12
 353              		.cfi_def_cfa_offset 4
 354 0176 BD46     		mov	sp, r7
 355              		.cfi_def_cfa_register 13
 356              		@ sp needed
 357 0178 5DF8047B 		ldr	r7, [sp], #4
 358              		.cfi_restore 7
 359              		.cfi_def_cfa_offset 0
 360 017c 7047     		bx	lr
 361              		.cfi_endproc
 362              	.LFE126:
 364              		.bss
 365              	SysTickCount.7469:
 366 0000 00       		.space	1
 368              		.text
 369              	.Letext0:
 370              		.file 3 "d:\\ahl-gec-ide(4.20)\\gcc\\arm-none-eabi\\include\\machine\\_default_types.h"
 371              		.file 4 "d:\\ahl-gec-ide(4.20)\\gcc\\arm-none-eabi\\include\\sys\\_stdint.h"
 372              		.file 5 "C:\\Users\\lenovo\\Desktop\\MSP-20210417\\MSP-20210417\\User-MSP432-20210417\\CH07-TIMER\
 373              		.file 6 "C:\\Users\\lenovo\\Desktop\\MSP-20210417\\MSP-20210417\\User-MSP432-20210417\\CH07-TIMER\
 374              		.file 7 "C:\\Users\\lenovo\\Desktop\\MSP-20210417\\MSP-20210417\\User-MSP432-20210417\\CH07-TIMER\
 375              		.file 8 "d:\\ahl-gec-ide(4.20)\\gcc\\arm-none-eabi\\include\\sys\\lock.h"
 376              		.file 9 "d:\\ahl-gec-ide(4.20)\\gcc\\arm-none-eabi\\include\\sys\\_types.h"
 377              		.file 10 "d:\\ahl-gec-ide(4.20)\\gcc\\lib\\gcc\\arm-none-eabi\\7.2.1\\include\\stddef.h"
 378              		.file 11 "d:\\ahl-gec-ide(4.20)\\gcc\\arm-none-eabi\\include\\sys\\reent.h"
 379              		.file 12 "C:\\Users\\lenovo\\Desktop\\MSP-20210417\\MSP-20210417\\User-MSP432-20210417\\CH07-TIMER
 380              		.file 13 "C:\\Users\\lenovo\\Desktop\\MSP-20210417\\MSP-20210417\\User-MSP432-20210417\\CH07-TIMER
DEFINED SYMBOLS
                            *ABS*:00000000 isr.c
                            *COM*:00000004 component_fun
C:\Users\lenovo\AppData\Local\Temp\ccWfnQre.s:18     .text:00000000 $t
C:\Users\lenovo\AppData\Local\Temp\ccWfnQre.s:25     .text:00000000 EUSCIA3_IRQHandler
C:\Users\lenovo\AppData\Local\Temp\ccWfnQre.s:117    .text:0000004e SysTick_Handler
C:\Users\lenovo\AppData\Local\Temp\ccWfnQre.s:272    .text:00000100 SecAdd1
C:\Users\lenovo\AppData\Local\Temp\ccWfnQre.s:159    .text:0000007c $d
C:\Users\lenovo\AppData\Local\Temp\ccWfnQre.s:365    .bss:00000000 SysTickCount.7469
C:\Users\lenovo\AppData\Local\Temp\ccWfnQre.s:164    .text:00000084 $t
C:\Users\lenovo\AppData\Local\Temp\ccWfnQre.s:171    .text:00000084 User_SysFun
C:\Users\lenovo\AppData\Local\Temp\ccWfnQre.s:259    .text:000000f4 $d
C:\Users\lenovo\AppData\Local\Temp\ccWfnQre.s:265    .text:00000100 $t
C:\Users\lenovo\AppData\Local\Temp\ccWfnQre.s:366    .bss:00000000 $d

UNDEFINED SYMBOLS
uart_get_re_int
uart_re1
uart_send1
wdog_feed
gTime
useremuart_frame
strncmp
SYSTEM_FUNCTION
gcRecvLen
gcRecvBuf
