From f72590e9a877b60a43d960de7793fda3077bbd93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B7=E5=BA=8A=E5=B0=B1=E7=8A=AF=E5=9B=B0?= <11730503+psx123456@user.noreply.gitee.com> Date: Sat, 12 Oct 2024 17:51:15 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9flash=E4=B8=AD=E4=BF=9D?= =?UTF-8?q?=E5=AD=98=E7=9A=84=E6=95=B0=E6=8D=AE=EF=BC=8C=E8=AE=BE=E7=BD=AE?= =?UTF-8?q?=E4=B8=A4=E4=B8=AA=E7=BB=93=E6=9E=84=E4=BD=93=EF=BC=8C=E4=BF=9D?= =?UTF-8?q?=E5=AD=98=E5=85=A8=E5=B1=80=E6=89=80=E9=9C=80=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- App/inc/hy_protocol.h | 5 - App/inc/inflash.h | 91 +- App/inc/mppt_control.h | 9 - App/inc/parameter.h | 79 + App/inc/sl_protocol.h | 17 - App/inc/task.h | 70 - App/src/hy_protocol.c | 26 +- App/src/inflash.c | 97 - App/src/mppt_control.c | 913 +- App/src/parameter.c | 12 + App/src/sl_protocol.c | 850 +- App/src/task.c | 807 +- App/src/uart_dev.c | 5 +- Hardware/src/gpio.c | 30 +- Hardware/src/tim.c | 2 +- User/main.c | 4 +- obj/App/src/hy_protocol.o | Bin 36552 -> 42184 bytes obj/App/src/inflash.o | Bin 24468 -> 12400 bytes obj/App/src/mppt_control.d | 4 +- obj/App/src/mppt_control.o | Bin 74556 -> 15820 bytes obj/App/src/parameter.d | 95 + obj/App/src/parameter.o | Bin 0 -> 15404 bytes obj/App/src/sl_protocol.d | 5 +- obj/App/src/sl_protocol.o | Bin 114600 -> 16160 bytes obj/App/src/subdir.mk | 3 + obj/App/src/task.d | 5 +- obj/App/src/task.o | Bin 117588 -> 15872 bytes obj/App/src/uart_dev.d | 7 +- obj/App/src/uart_dev.o | Bin 44100 -> 46200 bytes obj/Hardware/src/gpio.o | Bin 44584 -> 40516 bytes obj/Hardware/src/tim.o | Bin 47248 -> 44996 bytes obj/User/main.o | Bin 17592 -> 15128 bytes obj/mppt_Nos_V0.4.bin | Bin 36936 -> 8188 bytes obj/mppt_Nos_V0.4.elf | Bin 369424 -> 195740 bytes obj/mppt_Nos_V0.4.hex | 2784 ++----- obj/mppt_Nos_V0.4.lst | 15603 +++++++---------------------------- obj/mppt_Nos_V0.4.map | 2322 ++---- 37 files changed, 4725 insertions(+), 19120 deletions(-) create mode 100644 App/inc/parameter.h create mode 100644 App/src/parameter.c create mode 100644 obj/App/src/parameter.d create mode 100644 obj/App/src/parameter.o diff --git a/App/inc/hy_protocol.h b/App/inc/hy_protocol.h index 889c960..f94ddf1 100644 --- a/App/inc/hy_protocol.h +++ b/App/inc/hy_protocol.h @@ -52,11 +52,8 @@ typedef enum }HY_AnalyzeDataLen; - - /* 指定对齐方式为1字节 */ #pragma pack(push,1) - /* 默认参数 */ typedef struct _HY_default_Value{ uint8_t start_Flag; /* 起始标志 */ @@ -558,8 +555,6 @@ typedef struct _HY_checkMotherboardTemperatureResponse{ #define HY_checkMotherboardTemperatureResponse_PACK_SIZE (sizeof(HY_checkMotherboardTemperatureResponse)) - - /* 恢复默认的对齐设置 */ #pragma pack(pop) diff --git a/App/inc/inflash.h b/App/inc/inflash.h index 6d6cc33..b2f901d 100644 --- a/App/inc/inflash.h +++ b/App/inc/inflash.h @@ -12,71 +12,78 @@ #pragma pack(push,1) -typedef struct _uint8_config_info{ - uint8_t start_Flag[2]; /* 起始标志 */ - uint8_t address[7]; /* 地址 */ - uint8_t end_Flag; /* 结束标志 */ - uint8_t Access_Node_Type[2]; /* 接入节点类型 */ - uint8_t Communication_Methods[2]; /* 通信方式 */ - uint8_t bat485_Baud[4]; /* 串口波特率,为0代表bms不支持通信 */ - uint8_t gw485_Baud[4]; /* 串口波特率 */ - uint8_t ConstantCurrentV[2]; /* 高于该(电压 / 100),小于ConstantVoltageV * 100电压进行恒流充电 */ - uint8_t ConstantVoltageV[2]; /* 高于该(电压 / 100)且电流大于FloatI * 100进行恒压充电 */ - uint8_t FloatI[2]; /* 高于该(电压 / 100)且电流低于FloatI * 100进行浮充充电 */ - uint8_t startSolarOpenCircuitV[2]; /* 高于该(电压 / 100)开始充电 */ -}uint8_config_info; +/* 高字节在前,低字节在后 */ +typedef struct _recv_config_info{ + uint8_t start_Flag[2]; /* 开始标志 */ + /* SL */ + uint8_t address[7]; /* 地址 */ + uint8_t Access_Node_Type[2]; /* 接入节点类型 */ + uint8_t Communication_Methods[2]; /* 通信方式 */ + uint8_t gw485_Baud[4]; /* 串口波特率,为0代表bms不支持通信 */ + uint8_t bat485_Baud[4]; /* 串口波特率 */ + /* HY */ + uint8_t hardwareID[6]; /* 硬件ID */ + uint8_t communicationID[4]; /* 通信ID */ + uint8_t protocolType; /* 协议类型; 0x01表示:汇源协议(波特率9600) 0x02表示:南瑞协议(波特率115200)*/ -//typedef struct _config_info{ -// uint8_t start_Flag[2]; /* 起始标志 */ -// uint8_t address[7]; /* 地址 */ -// uint8_t end_Flag; /* 结束标志 */ -// uint16_t Access_Node_Type; /* 接入节点类型 */ -// uint16_t Communication_Methods; /* 通信方式 */ -// uint32_t bat485_Baud; /* 串口波特率 */ -// uint32_t gw485_Baud; /* 串口波特率 */ -// uint16_t ConstantCurrentV; /* 高于该(电压 / 100),小于ConstantVoltageV / 100电压进行恒流充电 */ -// uint16_t ConstantVoltageV; /* 高于该(电压 / 100)且电流大于FloatI / 100进行恒压充电 */ -// uint16_t FloatI; /* 高于该(电压 / 100)且电流低于FloatI / 100进行浮充充电 */ -// uint16_t startSolarOpenCircuitV;/* 高于该(电压 / 100)开始充电 */ -//}config_info; + uint8_t ConstantVoltageV[2]; /* 高于该(电压 / 100)且电流大于FloatI * 100进行恒压充电 */ + uint8_t FloatI[2]; /* 高于该(电压 / 100)且电流低于FloatI * 100进行浮充充电 */ + uint8_t startSolarOpenCircuitV[2]; /* 高于该(电压 / 100)开始充电 */ + uint8_t stopSolarOpenCircuitV[2]; /* 太阳能板开路电压高于该电压停止充电 (V) */ + uint8_t constantVoltageChargeV[2]; /* 恒压充电时的输出电压 (V) */ + uint8_t FloatV[2]; /* 浮充充电时的输出电压 (V) */ + uint8_t HighSideMosTemperature_stop[2]; /* 当上桥温度达到该值时,停止输出 (°C) */ + uint8_t HighSideMosTemperature_end[2]; /* 当上桥温度上升到该值时,降低功率运行 (°C) */ + uint8_t HighSideMosTemperature_start[2];/* 当上桥温度降低到该值时,按照正常情况输出 (°C) */ + uint8_t loopImpedance[2]; /* 回路阻抗大小 (mΩ) */ + + uint8_t checkSolarOpenCircuitVTime[2]; /* 启动任务中太阳能板开路电压检测间隔时间 (S) */ + uint8_t outputAgainFlagTime[2]; /* 出现短路保护后延长该段时间再次检测是否短路,仍然短路则关闭输出 (S) */ + uint8_t excessiveLoadFlagTime[2]; /* 出现过载后,在该间隔时间中多次(2次)出现过载,则关闭输出 (S) */ + uint8_t eLAgainTime[2]; /* 出现过载过载保护后,在该间隔段时间后,再次尝试输出 (S) */ + uint8_t crc[2]; /* 校验 */ + uint8_t end_Flag; /* 结束标志 */ +}recv_config_info; typedef struct _config_info{ - uint8_t start_Flag[2]; /* 起始标志 */ - uint8_t address[7]; /* 地址 */ - uint32_t baud_485; /* 串口波特率 */ - uint16_t constantCurrentV; /* 电压高于(ConstantCurrentV / 100 + 0.4),小于(ConstantVoltageV / 100 - 0.4)进入mppt模式 */ + /* SL */ + uint8_t address[7]; /* 地址 */ + uint8_t Access_Node_Type[2]; /* 接入节点类型 */ + uint8_t Communication_Methods[2]; /* 通信方式 */ + uint8_t gw485_Baud[4]; /* 串口波特率,为0代表bms不支持通信 */ + uint8_t bat485_Baud[4]; /* 串口波特率 */ + + /* HY */ + uint8_t hardwareID[6]; /* 硬件ID */ + uint8_t communicationID[4]; /* 通信ID */ + uint8_t protocolType; /* 协议类型; 0x01表示:汇源协议(波特率9600) 0x02表示:南瑞协议(波特率115200)*/ + uint16_t constantVoltageV; /* 电压高于该(ConstantVoltageV / 100)且电流大于(FloatI / 100 + 0.1)进行恒压充电 */ uint16_t floatI; /* 电压高于该(ConstantVoltageV / 100)且电流低于(FloatI / 100)进行浮充充电 */ uint16_t startSolarOpenCircuitV; /* 太阳能板开路电压高于该(电压 / 100)开始充电 */ uint16_t stopSolarOpenCircuitV; /* 太阳能板开路电压高于该(电压 / 100)停止充电 */ uint16_t constantVoltageChargeV; /* 恒压充电时的输出电压 */ - uint16_t trickleChargeC; /* 涓流充电电流 */ -// uint16_t FloatTime; /* 浮充时间(秒) */ uint16_t FloatV; /* 浮充电压 */ uint16_t checkSolarOpenCircuitVTime; /* 启动任务中太阳能板开路电压检测时间 */ uint16_t registerRefreshTime; /* 寄存器数据刷新时间 */ - uint16_t loopImpedance; /* 回路阻抗大小 */ -// uint16_t resRefreshTime; /* 回路阻抗计算间隔时长 */ uint16_t sensorEnableBroadcastTime; /* 传感器运行再次注册的间隔 */ uint16_t HighSideMosTemperature_stop; /* 当上桥温度达到该值时,停止输出 */ uint16_t HighSideMosTemperature_end; /* 当上桥温度上升到该值时,降低功率运行 */ uint16_t HighSideMosTemperature_start; /* 当上桥温度降低到该值时,按照正常情况输出 */ + uint16_t loopImpedance; /* 回路阻抗大小 (mΩ) */ + uint16_t outputAgainFlagTime; /* 出现短路保护后延长该段时间再次检测是否短路,仍然短路则关闭输出 */ uint16_t excessiveLoadFlagTime; /* 出现过载后,在该段时间中再次出现过载,则关闭输出 */ uint16_t eLAgainTime; /* 出现过载过载保护后,该段时间后,再次尝试输出 */ - uint8_t end_Flag; /* 结束标志 */ + + uint16_t crc; /* 校验 */ }config_info; #define CONFIG_INFO_SIZE (sizeof(config_info)) #pragma pack(pop) -extern config_info g_slConfigInfo; +#define CONFIG_SAVE_ADDR_BEGIN (0x00) +#define CONFIG_SAVE_ADDR_END (0x00 + CONFIG_INFO_SIZE) -#define FLASH_SAVE_ADDR_BEGIN (0x00) -#define FLASH_SAVE_ADDR_END (0x00 + CONFIG_INFO_SIZE) - -void save_config_info(config_info *save_config_info); -uint8_t read_config_info(void); -uint8_t read_config_info1(config_info *in_config_info); #endif /* APP_INC_INFLASH_H_ */ diff --git a/App/inc/mppt_control.h b/App/inc/mppt_control.h index 38c2b24..294c718 100644 --- a/App/inc/mppt_control.h +++ b/App/inc/mppt_control.h @@ -11,14 +11,5 @@ #include "debug.h" #include -extern float g_duty_ratio; - -void mppt_readJust(void); -void MpptMode(void); -void mppt_constantVoltage(float InVoltage); -void test(void); -void printf_data(void); -//float_t get_capturedata(float_t (*fun)(void)); -uint16_t get_mpptMode(void); #endif /* APP_INC_MPPT_CONTROL_H_ */ diff --git a/App/inc/parameter.h b/App/inc/parameter.h new file mode 100644 index 0000000..8889721 --- /dev/null +++ b/App/inc/parameter.h @@ -0,0 +1,79 @@ +/* + * parameter.h + * + * Created on: 2024年10月12日 + * Author: psx + */ + +#ifndef APP_INC_PARAMETER_H_ +#define APP_INC_PARAMETER_H_ + +#include "debug.h" +#include "math.h" +#include "uart_dev.h" + + +typedef struct _Mppt_controlparameter{ + float_t constantVoltageV; /* 电压高于ConstantVoltageV且电流大于(FloatI + 0.1)进行恒压充电 + 电压低于该(ConstantVoltageV - 0.2) 进行恒流充电 (V) */ + float_t floatI; /* 电压高于该ConstantVoltageV且电流低于FloatI进行浮充充电 (A) */ + float_t startSolarOpenCircuitV; /* 太阳能板开路电压高于该电压开始充电 (V) */ + float_t stopSolarOpenCircuitV; /* 太阳能板开路电压高于该电压停止充电 (V) */ + float_t constantVoltageChargeV; /* 恒压充电时的输出电压 (V) */ + float_t FloatV; /* 浮充充电时的输出电压 (V) */ + float_t loopImpedance; /* 回路阻抗大小 (mΩ) */ + float_t HighSideMosTemperature_stop; /* 当上桥温度达到该值时,停止输出 (°C) */ + float_t HighSideMosTemperature_end; /* 当上桥温度上升到该值时,降低功率运行 (°C) */ + float_t HighSideMosTemperature_start; /* 当上桥温度降低到该值时,按照正常情况输出 (°C) */ + + uint16_t sensorEnableBroadcastTime; /* 传感器运行再次注册的间隔 */ + uint16_t checkSolarOpenCircuitVTime; /* 启动任务中太阳能板开路电压检测间隔时间 (S) */ + uint16_t outputAgainFlagTime; /* 出现短路保护后延长该段时间再次检测是否短路,仍然短路则关闭输出 (S) */ + uint16_t excessiveLoadFlagTime; /* 出现过载后,在该间隔时间中多次(2次)出现过载,则关闭输出 (S) */ + uint16_t eLAgainTime; /* 出现过载过载保护后,在该间隔段时间后,再次尝试输出 (S) */ + + +} Mppt_controlparameter; +extern Mppt_controlparameter g_controlParameter; + +typedef struct _Mppt_otherParameter{ + /* SL */ + uint8_t address[7]; /* 地址 */ + uint16_t Access_Node_Type; /* 接入节点类型 */ + uint16_t Communication_Methods; /* 通信方式 */ + uint16_t Registration_Status; /* 注册状态 */ + uint32_t gw485_Baud; /* 串口波特率 */ + uint32_t bat485_Baud; /* 串口波特率,为0代表bms不支持通信 */ + + /* HY */ + uint8_t hardwareID[6]; /* 硬件ID */ + uint8_t communicationID[4]; /* 通信ID */ + uint8_t protocolType; /* 协议类型; 0x01表示:汇源协议(波特率9600) 0x02表示:南瑞协议(波特率115200)*/ + + + float_t Battery_Voltage; /* 电池电压 (V) */ + float_t Output_Voltage; /* 输出电压 */ + float_t Charg_Current; /* 充电电流(流向电池+负载) (A) */ + float_t Discharg_Current; /* 放电电流(流向负载) (A) */ + float_t Input_Voltage; /* 太阳能板输入电压 (V) */ + float_t Solar_Open_Circuit_Voltage; /* 太阳能板开路电压 (V) */ + float_t HighSideMos_Temperature; /* 高端mos的温度 (°C) */ + float_t Solar_In_Circuit_Voltage; /* 太阳能板输入电压 (V) */ + + float_t Charg_BatteryCurrent; /* 电池充电电流(流向电池) (A) */ + float_t totalElectricityConsumption; /* 总电量消耗 */ + float_t totalChargCapacity; /* 总充电电量 */ + float_t SOC; /* 剩余电量 */ + + uint16_t chargMos_State; /* 充电开关状态 */ + uint16_t DischargMos_State; /* 放电mos的状态 */ + uint16_t MPPT_Mode; /* 工作模式 */ + + uint8_t versionInformation[13]; /* 软件版本信息 */ + + +}Mppt_otherParameter; +extern Mppt_otherParameter g_otherParameter; + + +#endif /* APP_INC_PARAMETER_H_ */ diff --git a/App/inc/sl_protocol.h b/App/inc/sl_protocol.h index 27da218..da68176 100644 --- a/App/inc/sl_protocol.h +++ b/App/inc/sl_protocol.h @@ -219,23 +219,6 @@ typedef struct _default_Value{ extern default_Value defaultValue; -typedef struct _SL_Mppt_para{ - uint16_t Registration_Status; /* 注册状态 */ - uint8_t address[7]; /* 地址 */ - uint16_t Access_Node_Type; /* 接入节点类型 */ - uint16_t Communication_Methods; /* 通信方式 */ - float_t Output_Voltage; /* 输出电压 */ - float_t Battery_Voltage; /* 电池电压 */ - float_t Charg_Current; /* 充电电流(流向电池+负载) */ - float_t Discharg_Current; /* 放电电流(流向负载) */ - float_t Input_Voltage; /* 太阳能板输出电压 */ - float_t Solar_Open_Circuit_Voltage; /* 太阳能板开路电压 */ - float_t HighSideMos_Temperature; /* 高端mos的温度 */ - uint16_t DischargMos_State; /* 放电mos的状态 */ - uint16_t MPPT_Mode; /* 工作模式 */ -}SL_Mppt_para; -extern SL_Mppt_para g_Mppt_Para; - /* 恢复默认的对齐设置 */ #pragma pack(pop) diff --git a/App/inc/task.h b/App/inc/task.h index 44f2e83..83d76dd 100644 --- a/App/inc/task.h +++ b/App/inc/task.h @@ -13,79 +13,9 @@ #include "uart_dev.h" #include "math.h" -//extern uint8_t g_interruptNum; -void stop_mpptWork(void); -void start_mpptWork(void); -#define runled_reloadVal 1000 /* 任务执行间隔 */ -#define runled_offset 0 /* 任务执行偏移量 */ -extern STR_TimeSliceOffset m_runled; -extern void Task_RunLED(void); -#define startMpptControl_reloadVal 1000 /* 任务执行间隔 */ -#define startMpptControl_offset 0 /* 任务执行偏移量 */ -extern STR_TimeSliceOffset m_startMpptControl;; -extern void Task_startMpptControl(void); -#define softStart_reloadVal 30 /* 任务执行间隔 */ -#define softStart_offset 0 /* 任务执行偏移量 */ -extern STR_TimeSliceOffset m_softStart; -extern void Task_softStart(void); -#define usart_reloadVal 100 /* 任务执行间隔 */ -#define usart_offset 0 /* 任务执行偏移量 */ -extern STR_TimeSliceOffset m_usart; -extern uint8_t RegistrationRequestFlag; /* 接收到广播帧标志位 */ -void Task_usart(void); - -#define wdi_reloadVal 1000 /* 任务执行间隔 */ -#define wdi_offset 30 /* 任务执行偏移量 */ -#define wdi_RESET (60 * 60 * 24) /* 一天复位一次 */ -extern STR_TimeSliceOffset m_wdi; -extern void Task_wdi(void); - -#define refreshRegister_reloadVal 1000 /* 任务执行间隔 */ -#define refreshRegister_offset 100 /* 任务执行偏移量 */ -extern STR_TimeSliceOffset m_refreshRegister; -extern uint8_t overTemperature; -extern void Task_refreshRegister(void); - -#define recvbroadcast_reloadVal 3000 /* 任务执行间隔 */ -#define recvbroadcast_offset 0 /* 任务执行偏移量 */ -extern uint8_t recvbroadcast_flag; /* 是否需要再次发送标志 */ -extern device_handle g_recvBroadcastDevice; /* 串口句柄 */ -extern uint8_t g_recvBroadcastRegisterNumber; /* 寄存器长度 */ -extern STR_TimeSliceOffset m_recvbroadcast; -extern void Task_recvbroadcast(void); - -#define impedanceCalculation_reloadVal 200 /* 任务执行间隔 */ -#define impedanceCalculation_offset 0 /* 任务执行偏移量 */ -extern float_t g_impedance; -extern uint8_t g_batteryState; -extern uint8_t g_impedanceStart; -extern STR_TimeSliceOffset m_impedanceCalculation; -extern void Task_impedanceCalculation(void); - -#define outputAgain_reloadVal 1000 /* 任务执行间隔 */ -#define outputAgain_offset 0 /* 任务执行偏移量 */ -extern uint8_t outputAgainFlag; -extern STR_TimeSliceOffset m_outputAgain; -extern void Task_outputAgain(void); - -#define excessiveLoad_reloadVal 1000 /* 任务执行间隔 */ -#define excessiveLoad_offset 0 /* 任务执行偏移量 */ -extern uint8_t excessiveLoadFlag; -extern STR_TimeSliceOffset m_excessiveLoad; -extern void Task_excessiveLoad(void); - -#define sensorEnableBroadcast_reloadVal 1000 /* 任务执行间隔 */ -#define sensorEnableBroadcast_offset 0 /* 任务执行偏移量 */ -extern STR_TimeSliceOffset m_sensorEnableBroadcast; -/* 是否接收广播帧标志位 */ -extern uint8_t run_Broadcast; -extern void Task_sensorEnableBroadcast(void); - -void task_Init(void); -void hardware_Init(void); #endif /* APP_INC_TASK_H_ */ diff --git a/App/src/hy_protocol.c b/App/src/hy_protocol.c index b20977c..273286f 100644 --- a/App/src/hy_protocol.c +++ b/App/src/hy_protocol.c @@ -95,7 +95,7 @@ HY_FuncionMsgProcTable g_hyMsgTbl[] = * @retval 1 繁忙 * 0 空闲 */ -uint8_t Check_485_bus_busy(device_handle device) +uint8_t HY_Check_485_bus_busy(device_handle device) { if (device == g_bat485_uart3_handle) { USART_ITConfig(USART3, USART_IT_RXNE, ENABLE); @@ -146,20 +146,20 @@ uint8_t HY_CheckFunc(uint8_t *arr_buff, uint8_t len) */ static int HY_matchhardwareID(u_int8_t hardwareID[6]) { -// if (!strcmp(address, g_slConfigInfo.address)) { -// log_info("Match_address fail \r\n"); +//// if (!strcmp(address, g_slConfigInfo.address)) { +//// log_info("Match_address fail \r\n"); +//// return 1; +//// } +// if ((hardwareID[0] == g_slConfigInfo.address[0]) && \ +// (hardwareID[1] == g_slConfigInfo.address[1]) && \ +// (hardwareID[2] == g_slConfigInfo.address[2]) && \ +// (hardwareID[3] == g_slConfigInfo.address[3]) && \ +// (hardwareID[4] == g_slConfigInfo.address[4]) && \ +// (hardwareID[5] == g_slConfigInfo.address[5]) && \ +// (hardwareID[6] == g_slConfigInfo.address[6])) { +// log_info("Match_address success \r\n"); // return 1; // } - if ((hardwareID[0] == g_slConfigInfo.address[0]) && \ - (hardwareID[1] == g_slConfigInfo.address[1]) && \ - (hardwareID[2] == g_slConfigInfo.address[2]) && \ - (hardwareID[3] == g_slConfigInfo.address[3]) && \ - (hardwareID[4] == g_slConfigInfo.address[4]) && \ - (hardwareID[5] == g_slConfigInfo.address[5]) && \ - (hardwareID[6] == g_slConfigInfo.address[6])) { - log_info("Match_address success \r\n"); - return 1; - } return 0; } diff --git a/App/src/inflash.c b/App/src/inflash.c index 2ef9234..1da492a 100644 --- a/App/src/inflash.c +++ b/App/src/inflash.c @@ -9,103 +9,6 @@ #include "flash.h" #include "sl_protocol.h" -config_info g_slConfigInfo = { - .constantCurrentV = 1000, - .constantVoltageV = 1420, - .floatI = 20, - .startSolarOpenCircuitV = 1700, - .stopSolarOpenCircuitV = 1500, - .constantVoltageChargeV = 1440, - .trickleChargeC = 100, -// .FloatTime = 10, - .FloatV = 1420, - .checkSolarOpenCircuitVTime = 10, - .registerRefreshTime = 1, - .loopImpedance = 20, -// .resRefreshTime = 1, - .sensorEnableBroadcastTime = 20, - .HighSideMosTemperature_stop = 70, - .HighSideMosTemperature_end = 50, - .HighSideMosTemperature_start = 40, - .outputAgainFlagTime = 10, - .excessiveLoadFlagTime = 60, - .eLAgainTime = 3600, -}; - - -/** - * @brief 保存配置信息 - * @param save_config_info 需要保存的配置信息 - * @retval - */ -void save_config_info(config_info *save_config_info) -{ - SPI_Flash_Write((uint8_t *)save_config_info, FLASH_SAVE_ADDR_BEGIN, CONFIG_INFO_SIZE); -} - - -/** - * @brief 读取配置信息 - * @param read_config_info 读取的配置信息 - * @retval 0 flash中读取配置失败 - * 1 flash中读取配置成功 - */ -uint8_t read_config_info(void) -{ - config_info temp_config_info; - SPI_Flash_Read((uint8_t *)&temp_config_info, FLASH_SAVE_ADDR_BEGIN, CONFIG_INFO_SIZE); - if (temp_config_info.start_Flag[0] == 'S' - && temp_config_info.start_Flag[1] == 'L' - && temp_config_info.end_Flag == 0x16) { - g_slConfigInfo = temp_config_info; - return 1; - } - else { - g_slConfigInfo.start_Flag[0] = defaultValue.start_Flag[0]; - g_slConfigInfo.start_Flag[1] = defaultValue.start_Flag[1]; - g_slConfigInfo.address[0] = defaultValue.address[0]; - g_slConfigInfo.address[1] = defaultValue.address[1]; - g_slConfigInfo.address[2] = defaultValue.address[2]; - g_slConfigInfo.address[3] = defaultValue.address[3]; - g_slConfigInfo.address[4] = defaultValue.address[4]; - g_slConfigInfo.address[5] = defaultValue.address[5]; - g_slConfigInfo.address[6] = defaultValue.address[6]; - g_slConfigInfo.end_Flag = defaultValue.end_Flag; - } - - return 0; -} - -/** - * @brief 读取配置信息 - * @param read_config_info1 读取的配置信息并保存在in_config_info中 - * @retval 0 flash中读取配置失败,使用默认配置 - * 1 flash中读取配置成功 - */ -uint8_t read_config_info1(config_info *in_config_info) -{ - config_info temp_config_info; - SPI_Flash_Read((uint8_t *)&temp_config_info, FLASH_SAVE_ADDR_BEGIN, CONFIG_INFO_SIZE); - if (temp_config_info.start_Flag[0] == 'S' - && temp_config_info.start_Flag[1] == 'L' - && temp_config_info.end_Flag == 0x16) { - *in_config_info = temp_config_info; - return 1; - } else { - in_config_info->start_Flag[0] = defaultValue.start_Flag[0]; - in_config_info->start_Flag[1] = defaultValue.start_Flag[1]; - in_config_info->address[0] = defaultValue.address[0]; - in_config_info->address[1] = defaultValue.address[1]; - in_config_info->address[2] = defaultValue.address[2]; - in_config_info->address[3] = defaultValue.address[3]; - in_config_info->address[4] = defaultValue.address[4]; - in_config_info->address[5] = defaultValue.address[5]; - in_config_info->address[6] = defaultValue.address[6]; - in_config_info->end_Flag = defaultValue.end_Flag; - } - - return 0; -} diff --git a/App/src/mppt_control.c b/App/src/mppt_control.c index 5747cf6..ff6818e 100644 --- a/App/src/mppt_control.c +++ b/App/src/mppt_control.c @@ -12,916 +12,5 @@ #include "gpio.h" #include "sl_protocol.h" #include "task.h" - #include "uart_dev.h" - -static void TrickleCharge(void); -static void ConstantCurrentCharge(void); -static void ConstantVoltageCharge(void); -static void FloatingCharge(void); -//static void NoBatteryCharge(void); - - -/* 占空比 */ -float g_duty_ratio = 0.75; -/* 用于确定工作模式 */ -//static uint8_t modeFlag = 2; - -/** - * @brief 得到输出的功率 - * @param - * @retval OutputPower 输出功率 - */ -static float Get_OutputPower(void) -{ - static float OutputPower; - static float V_out, I_out; - - V_out = get_PV_VOLT_OUT(); - I_out = get_CHG_CURR(); - - OutputPower = V_out * I_out; - - printf(" V = %d/100, I = %d/10000, OutputPower = %d/10000 \r\n", - (int)(V_out*100), (int)(I_out * 10000), (int)(OutputPower * 10000)); - - return OutputPower; -} - -/** - * @brief 使用的为扰动干扰法,调整输出电压,使功率输出最大 - * @param - * @retval - */ -/* pwm占空比调节步长 */ -const float step1_pwm = 0.01; -const float step2_pwm = 0.005; -//#define array_num 10 -void mppt_readJust(void) -{ -// static float last_duty_ratio = 0.5; -// static float now_duty_ratio; -// static float last_OutputPower; -// static float now_OutputPower; -// static float step_pwm = step1_pwm; -// -// last_OutputPower = Get_OutputPower(); -// -// printf(" duty_ratio = %d/1000 \r\n", (int)(last_duty_ratio * 1000)); -// -// /* 正向调节查看功率是否会变大 */ -// now_duty_ratio = last_duty_ratio + step_pwm; -// if (now_duty_ratio > 1) { -// now_duty_ratio = 1; -// } -// Set_duty_ratio(now_duty_ratio); -// now_OutputPower = Get_OutputPower(); -// if (now_OutputPower > last_OutputPower) { -// printf(" now_OutputPower > last_OutputPower1 \r\n"); -// last_duty_ratio = now_duty_ratio; -// return; -// } -// -// /* 负向调节查看功率是否会变大 */ -// now_duty_ratio = last_duty_ratio - step_pwm; -// if (now_duty_ratio < 0) { -// now_duty_ratio = 0; -// } -// Set_duty_ratio(now_duty_ratio); -// now_OutputPower = Get_OutputPower(); -// if (now_OutputPower > last_OutputPower) { -// printf(" now_OutputPower > last_OutputPower2 \r\n"); -// last_duty_ratio = now_duty_ratio; -// return; -// } -// -// /* 正负向调节功率均未变大,此时设置功率为原来的点 */ -// Set_duty_ratio(last_duty_ratio); -// step_pwm = step2_pwm; - - static float last_duty_ratio = 0.5; - static float last_OutputPower; - static float now_OutputPower; - static float step_pwm = step1_pwm; - - last_OutputPower = Get_OutputPower(); - - printf(" duty_ratio = %d/1000 \r\n", (int)(last_duty_ratio * 1000)); - - /* 正向调节查看功率是否会变大 */ - g_duty_ratio = last_duty_ratio + step_pwm; - - Set_duty_ratio(&g_duty_ratio); - now_OutputPower = Get_OutputPower(); - if (now_OutputPower > last_OutputPower) { - printf(" now_OutputPower > last_OutputPower1 \r\n"); - last_duty_ratio = g_duty_ratio; - return; - } - - /* 负向调节查看功率是否会变大 */ - g_duty_ratio = last_duty_ratio - step_pwm; - Set_duty_ratio(&g_duty_ratio); - now_OutputPower = Get_OutputPower(); - if (now_OutputPower > last_OutputPower) { - printf(" now_OutputPower > last_OutputPower2 \r\n"); - last_duty_ratio = g_duty_ratio; - return; - } - - /* 正负向调节功率均未变大,此时设置功率为原来的点 */ - g_duty_ratio = last_duty_ratio; - Set_duty_ratio(&g_duty_ratio); - step_pwm = step2_pwm; -} - -void printf_data(void) -{ - printf("\n"); -// get_CHG_CURR(); -// get_PV_VOLT_OUT(); -// get_DSG_CURR(); -// get_PV1_VOLT_IN(); -// get_PV_VOLT_IN1(); -// get_MOSFET_Temper(); -// get_PV2_VOLT_IN(); - - printf("\n"); -} - -//float_t get_capturedata(float_t (*fun)(void)) -//{ -// float_t temp1; -// float_t temp[3]; -// -// for (int i = 0; i < 3; ++i) { -// temp[i] = fun(); -//// Delay_Us(1); -// } -// -// if (temp[0] > temp[1]) { -// temp1 = temp[0]; -// temp[0] = temp[1]; -// temp[1] = temp1; -// } -// -// if (temp[0] > temp[2]) { -// temp1 = temp[0]; -// temp[0] = temp[2]; -// temp[2] = temp1; -// if (temp[1] > temp[2]) { -// temp1 = temp[1]; -// temp[1] = temp[2]; -// temp[2] = temp1; -// } -// } -// -// return temp[1]; -//} - -//uint16_t get_mpptMode(void) -//{ -// return (uint16_t)modeFlag; -//} - -/** - * @brief 恒定输入电压 - * @param - * @retval - * - */ -void mppt_constantVoltage(float InVoltage) -{ -// static uint8_t ConstantVoltageFlag = 1; -// float PV1_V = get_PV1_VOLT_IN(); -// -// if (ConstantVoltageFlag) { -// if (PV1_V > InVoltage) { -// g_duty_ratio += step1_pwm; -// Set_duty_ratio(&g_duty_ratio); -// } else { -// g_duty_ratio -= step1_pwm; -// Set_duty_ratio(&g_duty_ratio); -// } -// -// if (PV1_V - InVoltage < 0.1) { -// ConstantVoltageFlag = 0; -// } -// } else { -// if (PV1_V > InVoltage) { -// g_duty_ratio += step2_pwm; -// Set_duty_ratio(&g_duty_ratio); -// } else { -// g_duty_ratio -= step2_pwm; -// Set_duty_ratio(&g_duty_ratio); -// } -// -// if (PV1_V - InVoltage > 0.1) { -// ConstantVoltageFlag = 1; -// } -// } - - static float_t kp = 0.005; - static float_t ki = 0.00001; -// static float_t allError = 0; - -// float_t error = (get_PV1_VOLT_IN()) - InVoltage; -// float_t error = InVoltage - (get_PV2_VOLT_IN()); -// allError += error; -// printf("111\n"); - -// float_t pv1Volt = get_capturedata(get_PV1_VOLT_IN); - -// float_t pv1Volt = get_PV1_VOLT_IN(); - float_t pv1Volt = g_Mppt_Para.Input_Voltage; -// printf("volt in : %d \n", pv1Volt); - float_t error = pv1Volt - InVoltage; -// float_t error = InVoltage - pv1Volt; - float_t stepPwm = kp * error + ki * pv1Volt; - g_duty_ratio += stepPwm; - -// printf("setPwm : %d/10000 \n", (int)(stepPwm * 10000)); -// printf("setPwm : %d/10000 \n", (int)(stepPwm * 10000)); -// printf("g_duty_ratio : %d/10000 \n", (int)(g_duty_ratio * 10000)); - - Set_duty_ratio(&g_duty_ratio); -} - -/** - * @brief 恒定输出电压(电池) - * @param - * @retval - * - */ -void mppt_constantVoltageB(float OutVoltage) -{ -// static uint8_t ConstantVoltageFlag = 1; -// float PV1_V = get_PV_VOLT_OUT(); -// -// if (ConstantVoltageFlag) { -// if (PV1_V > OutVoltage) { -// g_duty_ratio -= step1_pwm; -// Set_duty_ratio(&g_duty_ratio); -// } else { -// g_duty_ratio += step1_pwm; -// Set_duty_ratio(&g_duty_ratio); -// } -// -// if (PV1_V - OutVoltage < 0.1) { -// ConstantVoltageFlag = 0; -// } -// } else { -// if (PV1_V > OutVoltage) { -// g_duty_ratio -= step2_pwm; -// Set_duty_ratio(&g_duty_ratio); -// } else { -// g_duty_ratio += step2_pwm; -// Set_duty_ratio(&g_duty_ratio); -// } -// -// if (PV1_V - OutVoltage > 0.1) { -// ConstantVoltageFlag = 1; -// } -// } - -// static float_t kp = 0.0005; -// static float_t ki = 0.000001; - static float_t kp = 0.005; - static float_t ki = 0.00001; -// static float_t kp = 0.1; -// static float_t ki = 0.001; - -// float_t outVolt = get_PV_VOLT_OUT(); - float_t outVolt = g_Mppt_Para.Battery_Voltage; -// float_t outVolt = voltOut; -// float_t error = outVolt - OutVoltage; - float_t error = OutVoltage - outVolt; - float_t stepPwm = kp * error + ki * outVolt; - g_duty_ratio += stepPwm; - -// printf("setPwm : %d/10000 \n", (int)(stepPwm * 10000)); - - Set_duty_ratio(&g_duty_ratio); - -} - -/** - * @brief 恒定输出电压(输出检测端) - * @param - * @retval - * - */ -void mppt_constantVoltageO(float OutVoltage) -{ -// static uint8_t ConstantVoltageFlag = 1; -// float PV1_V = get_PV_VOLT_OUT(); -// -// if (ConstantVoltageFlag) { -// if (PV1_V > OutVoltage) { -// g_duty_ratio -= step1_pwm; -// Set_duty_ratio(&g_duty_ratio); -// } else { -// g_duty_ratio += step1_pwm; -// Set_duty_ratio(&g_duty_ratio); -// } -// -// if (PV1_V - OutVoltage < 0.1) { -// ConstantVoltageFlag = 0; -// } -// } else { -// if (PV1_V > OutVoltage) { -// g_duty_ratio -= step2_pwm; -// Set_duty_ratio(&g_duty_ratio); -// } else { -// g_duty_ratio += step2_pwm; -// Set_duty_ratio(&g_duty_ratio); -// } -// -// if (PV1_V - OutVoltage > 0.1) { -// ConstantVoltageFlag = 1; -// } -// } - -// static float_t kp = 0.0005; -// static float_t ki = 0.000001; - static float_t kp = 0.005; - static float_t ki = 0.00001; -// static float_t kp = 0.1; -// static float_t ki = 0.001; - -// float_t outVolt = get_PV_VOLT_OUT(); - float_t outVolt = g_Mppt_Para.Output_Voltage; -// float_t outVolt = voltOut; -// float_t error = outVolt - OutVoltage; - float_t error = OutVoltage - outVolt; - float_t stepPwm = kp * error + ki * outVolt; - g_duty_ratio += stepPwm; - -// printf("setPwm : %d/10000 \n", (int)(stepPwm * 10000)); - - Set_duty_ratio(&g_duty_ratio); - -} - -/** - * @brief 后端电池钳位,恒定输出电流 - * @param - * @retval - * - */ -void mppt_constantCurrentO(float outCurrent) -{ -// static uint8_t ConstantCurrent = 1; -// float out_I = get_CHG_CURR(); -// -// if (ConstantCurrent) { -// if (out_I > outCurrent) { -// g_duty_ratio -= step1_pwm; -// Set_duty_ratio(&g_duty_ratio); -// } else { -// g_duty_ratio += step1_pwm; -// Set_duty_ratio(&g_duty_ratio); -// } -// -// if (out_I - outCurrent < 0.1) { -// ConstantCurrent = 0; -// } -// } -// -// else { -// if (out_I > outCurrent) { -// g_duty_ratio -= step2_pwm; -// Set_duty_ratio(&g_duty_ratio); -// } else { -// g_duty_ratio += step2_pwm; -// Set_duty_ratio(&g_duty_ratio); -// } -// -// if (out_I - outCurrent > 0.1) { -// ConstantCurrent = 1; -// } -// } - - static float_t kp = 0.005; - static float_t ki = 0.00005; - -// static float_t last_CHG_CURR = 0; -// static float_t flag = 1; -// static float_t last_OutputPower = 0; - -// float_t outCurr = get_CHG_CURR(); - - float_t outCurr = g_Mppt_Para.Charg_Current; -// float_t OutputPower = outCurr * get_PV_VOLT_OUT(); - float_t error = outCurrent - outCurr; -// float_t error = outCurr - outCurrent; - float_t stepPwm = kp * error + ki * outCurr; - -// if (flag) { -// if (OutputPower > last_OutputPower) { -// g_duty_ratio += stepPwm; -// flag = 1; -// } else { -// g_duty_ratio -= stepPwm; -// flag = 0; -// } -// } else { -// if (OutputPower > last_OutputPower) { -// g_duty_ratio -= stepPwm; -// flag = 0; -// } else { -// g_duty_ratio += stepPwm; -// flag = 1; -// } -// } -// -// last_OutputPower = OutputPower; - - g_duty_ratio += stepPwm; - -// printf("setPwm : %d/10000 \n", (int)(stepPwm * 10000)); -// printf("g_duty_ratio : %d/10000 \n", (int)(g_duty_ratio * 10000)); - - Set_duty_ratio(&g_duty_ratio); - -// last_CHG_CURR = outCurr; -// if (stepPwm > 0 && (last_CHG_CURR > outCurr)) { -// flag = 1; -// } else { -// flag = 0; -// } -} - -/** - * @brief 涓流充电 - * @param - * @retval - * - */ -void TrickleCharge(void) -{ - static float_t TrickleChargeC; - static uint8_t onlyOnce = 1; - if (onlyOnce) { - TrickleChargeC = (float_t)g_slConfigInfo.trickleChargeC / 100; - onlyOnce = 0; - } -// printf("Trickle\n"); - mppt_constantCurrentO(TrickleChargeC + g_Mppt_Para.Discharg_Current); -} - -/** - * @brief 恒流充电(大电流充电),mppt最大功率充电 - * @param - * @retval - * - */ -void ConstantCurrentCharge(void) -{ -// mppt_readJust(); - mppt_constantVoltage(18); -// printf("ConstantCurrent\n"); - -} - -/** - * @brief 恒压充电 - * @param - * @retval - * - */ -void ConstantVoltageCharge(void) -{ - static float_t ConstantVoltageChargeV; - static uint8_t onlyOnce = 1; - if (onlyOnce) { - ConstantVoltageChargeV = (float_t)g_slConfigInfo.constantVoltageChargeV / 100; - onlyOnce = 0; - } - - mppt_constantVoltageO(ConstantVoltageChargeV); -} - -/** - * @brief 浮充充电 - * @param - * @retval - * - */ -void FloatingCharge(void) -{ -// static uint32_t num = 0; -// static uint32_t numLenFlag; -// static uint8_t onlyOnce = 1; -// if (onlyOnce) { -// numLenFlag = g_slConfigInfo.FloatTime * 1000; -// onlyOnce = 0; -// } - -// printf("float\n"); -// TIM_SetCompare4(TIM4, 0); - -// if (numLenFlag == ++num) { -// num = 0; -// for (int var = 0; var < 10; ++var) { -// ConstantVoltageCharge(); -// } -// g_Mppt_Para.MPPT_Mode = CONSTANTVOLTAGE; -// printf("float\n"); -// } - - static float_t FloatChargeV; - static uint8_t onlyOnce = 1; - if (onlyOnce) { - FloatChargeV = (float_t)g_slConfigInfo.FloatV / 100; - onlyOnce = 0; - } - mppt_constantVoltageO(FloatChargeV); - -} - -/** - * @brief 没有电池时,恒定输出一个电压 - * @param - * @retval - * - */ -void NoBatteryCharge(void) -{ -// static float_t NoBatteryChargeV; -// static uint8_t onlyOnce = 1; -// if (onlyOnce) { -// NoBatteryChargeV = (float_t)g_slConfigInfo.noBatteryChargeV / 100; -// onlyOnce = 0; -// } - - mppt_constantVoltageO(14.2); - -// if ((g_Mppt_Para.Battery_Voltage - NoBatteryChargeV > 0.2 && g_Mppt_Para.Charg_Current < 0.1) -// || (NoBatteryChargeV - g_Mppt_Para.Battery_Voltage > 0.1 && g_Mppt_Para.Charg_Current > 0.5)) { -// ConstantCurrentCharge(); -// g_Mppt_Para.MPPT_Mode = CONSTANTCURRENT; -// } - -// if (!overTemperature) { -// if (!(g_Mppt_Para.Charg_Current - g_Mppt_Para.Discharg_Current < 0.3 -// && g_Mppt_Para.Discharg_Current - g_Mppt_Para.Charg_Current < 0.3)) { -// ConstantCurrentCharge(); -// g_Mppt_Para.MPPT_Mode = CONSTANTCURRENT; -// } -// } - -} - -void MpptContorl(void) -{ - switch(g_Mppt_Para.MPPT_Mode) { - case TRICKLE: -// printf("111\n"); - TrickleCharge(); - break; - - case CONSTANTCURRENT: -// printf("222222\n"); - ConstantCurrentCharge(); -// ConstantVoltageCharge(); - break; - - case CONSTANTVOLTAGE: -// printf("333333333\n"); - ConstantVoltageCharge(); - break; - - case FLOAT: -// printf("444444444444\n"); - FloatingCharge(); - break; - -// case NoBattery: -//// printf("555555555555555\n"); -// NoBatteryCharge(); -// break; - - default: - break; - } -} - -void MpptMode(void) -{ -// printf("vout : %d /100 \n", (int)(g_Mppt_Para.Battery_Voltage * 100)); -// printf("iout : %d /1000 \n", (int)(g_Mppt_Para.Charg_Current * 1000)); -// printf("in checkSolarOpenCircuitVoltage v: %d/100 \n", (int)(g_Mppt_Para.Solar_Open_Circuit_Voltage * 100)); - - static float ConstantCurrentV; - static float ConstantVoltageV; - static float FloatI; - static float StopSolarOpenCircuitV; - - /* 赋值仅执行一次 */ - static uint8_t only_once = 1; - if (only_once) { - ConstantCurrentV = (float)g_slConfigInfo.constantCurrentV / 100; - ConstantVoltageV = (float)g_slConfigInfo.constantVoltageV / 100; - FloatI = (float)g_slConfigInfo.floatI / 100; - printf("FloatI: %d / 100 \n", (int)(FloatI * 100)); - StopSolarOpenCircuitV = (float)g_slConfigInfo.stopSolarOpenCircuitV / 100; - only_once = 0; - } - -//// if (g_Mppt_Para.Battery_Voltage > 16 || g_Mppt_Para.Battery_Voltage < 8 -//// || modeFlag == NoBattery) { -//// modeFlag = NoBattery; -// if (g_Mppt_Para.Battery_Voltage > 16 || g_Mppt_Para.Battery_Voltage < 8 -// || g_Mppt_Para.MPPT_Mode == NoBattery) { -// g_Mppt_Para.MPPT_Mode = NoBattery; -// return; -// } -// -//// if (((ConstantVoltageV < g_Mppt_Para.Battery_Voltage) && -//// (FloatI > g_Mppt_Para.Charg_Current)) || modeFlag == FLOAT) { -//// modeFlag = FLOAT; -// if (((ConstantVoltageV < g_Mppt_Para.Battery_Voltage) && -// (FloatI > g_Mppt_Para.Charg_Current)) || g_Mppt_Para.MPPT_Mode == FLOAT) { -// g_Mppt_Para.MPPT_Mode = FLOAT; -// return; -// } -// -// if (((ConstantCurrentV + 0.4) < g_Mppt_Para.Battery_Voltage) && -// ((ConstantVoltageV - 0.4) >= g_Mppt_Para.Battery_Voltage)) { -//// modeFlag = CONSTANTCURRENT; -// g_Mppt_Para.MPPT_Mode = CONSTANTCURRENT; -// return; -// } -// -// if ((ConstantVoltageV < g_Mppt_Para.Battery_Voltage) && -// (FloatI + 0.1 <= g_Mppt_Para.Charg_Current)) { -//// modeFlag = CONSTANTVOLTAGE; -// g_Mppt_Para.MPPT_Mode = CONSTANTVOLTAGE; -// return; -// } -// -// if (ConstantCurrentV > g_Mppt_Para.Battery_Voltage) { -//// modeFlag = TRICKLE; -// g_Mppt_Para.MPPT_Mode = TRICKLE; -// return; -// } - - -// if (g_Mppt_Para.Battery_Voltage > 16 || g_Mppt_Para.Battery_Voltage < 8 -// || g_Mppt_Para.MPPT_Mode == NoBattery) { -// g_Mppt_Para.MPPT_Mode = NoBattery; -// return; -// } - -// if (g_Mppt_Para.Charg_Current - g_Mppt_Para.Discharg_Current < 0.05 -// || g_Mppt_Para.Discharg_Current - g_Mppt_Para.Charg_Current < 0.05) { -// g_Mppt_Para.MPPT_Mode = NoBattery; -// return; -// } -// -// if (((ConstantVoltageV < g_Mppt_Para.Battery_Voltage) && -// (FloatI > g_Mppt_Para.Charg_Current)) || g_Mppt_Para.MPPT_Mode == FLOAT) { -// g_Mppt_Para.MPPT_Mode = FLOAT; -// return; -// } -// -// if (((ConstantCurrentV + 0.4) < g_Mppt_Para.Battery_Voltage) && -// ((ConstantVoltageV - 0.4) >= g_Mppt_Para.Battery_Voltage)) { -// g_Mppt_Para.MPPT_Mode = CONSTANTCURRENT; -// return; -// } -// -// if ((ConstantVoltageV < g_Mppt_Para.Battery_Voltage) && -// (FloatI + 0.1 <= g_Mppt_Para.Charg_Current)) { -// g_Mppt_Para.MPPT_Mode = CONSTANTVOLTAGE; -// return; -// } -// -// if (ConstantCurrentV > g_Mppt_Para.Battery_Voltage) { -// g_Mppt_Para.MPPT_Mode = TRICKLE; -// return; -// } - - - -// if (g_Mppt_Para.Input_Voltage < StopSolarOpenCircuitV -// && (g_Mppt_Para.Discharg_Current >= g_Mppt_Para.Charg_Current -// || g_Mppt_Para.Charg_Current - g_Mppt_Para.Discharg_Current < 0.05)) { - if ((g_Mppt_Para.Input_Voltage < StopSolarOpenCircuitV && g_Mppt_Para.Charg_Current < 0.05) - && g_Mppt_Para.MPPT_Mode != NoWork) { - g_Mppt_Para.MPPT_Mode = NoWork; -// printf("nowork \n"); - stop_mpptWork(); - TimeSliceOffset_Register(&m_startMpptControl, Task_startMpptControl - , startMpptControl_reloadVal, startMpptControl_offset); - return; - } - - -// if (((g_Mppt_Para.Charg_Current - g_Mppt_Para.Discharg_Current < 0.03 -// && g_Mppt_Para.Discharg_Current - g_Mppt_Para.Charg_Current < 0.03) -// && (g_Mppt_Para.Battery_Voltage < ConstantVoltageV - 1 -// || g_Mppt_Para.Battery_Voltage > ConstantVoltageV + 1)) -// || g_Mppt_Para.MPPT_Mode == NoBattery) { -// g_Mppt_Para.MPPT_Mode = NoBattery; -// return; -// } - -// if (((ConstantVoltageV < g_Mppt_Para.Battery_Voltage) && -// (FloatI > g_Mppt_Para.Charg_Current)) || g_Mppt_Para.MPPT_Mode == FLOAT) { -// g_Mppt_Para.MPPT_Mode = FLOAT; -// return; -// } - if ((g_Mppt_Para.Charg_Current - g_Mppt_Para.Discharg_Current < 0.05 - && g_Mppt_Para.Discharg_Current - g_Mppt_Para.Charg_Current < 0.05) - || g_Mppt_Para.Battery_Voltage > 16 || g_Mppt_Para.Battery_Voltage < 8) { -// || g_Mppt_Para.MPPT_Mode == NoBattery) { -// g_Mppt_Para.MPPT_Mode = NoBattery; -// g_Mppt_Para.MPPT_Mode = CONSTANTVOLTAGE; - g_Mppt_Para.MPPT_Mode = FLOAT; - -// printf("Charg_Current : %d/100 \n", (int)(g_Mppt_Para.Charg_Current * 100)); -// printf("Discharg_Current : %d/100 \n", (int)(g_Mppt_Para.Discharg_Current * 100)); -// printf("Battery_Voltage : %d/100 \n", (int)(g_Mppt_Para.Battery_Voltage * 100)); - - g_batteryState = 0; - - return; - } - - if ((((ConstantCurrentV + 0.2) < g_Mppt_Para.Battery_Voltage) - &&((ConstantVoltageV - 0.2) >= g_Mppt_Para.Battery_Voltage)) - &&(g_Mppt_Para.Charg_Current - g_Mppt_Para.Discharg_Current > 0.1)) { - g_Mppt_Para.MPPT_Mode = CONSTANTCURRENT; - return; - } -// if ((g_Mppt_Para.Charg_Current - g_Mppt_Para.Discharg_Current > 4)) { -// g_Mppt_Para.MPPT_Mode = CONSTANTCURRENT; -// return; -// } - -// if (((ConstantVoltageV < g_Mppt_Para.Battery_Voltage) -// &&(FloatI + 0.1 <= g_Mppt_Para.Charg_Current)) -// || (FloatI + 0.1 <= g_Mppt_Para.Discharg_Current)) { -//// || (g_Mppt_Para.Charg_Current - g_Mppt_Para.Discharg_Current < 0.03 -//// && g_Mppt_Para.Discharg_Current - g_Mppt_Para.Charg_Current < 0.03)) { -// -//// printf("mppt mode \n"); -//// printf(" vout : %d/100 \n", (int)(g_Mppt_Para.Battery_Voltage * 100)); -// g_Mppt_Para.MPPT_Mode = CONSTANTVOLTAGE; -// return; -// } - - if (((ConstantVoltageV < g_Mppt_Para.Battery_Voltage) - &&(FloatI + 0.1 <= g_Mppt_Para.Charg_Current - g_Mppt_Para.Discharg_Current))) { - g_Mppt_Para.MPPT_Mode = CONSTANTVOLTAGE; - return; - } - - if ((((ConstantVoltageV < g_Mppt_Para.Battery_Voltage) - && (FloatI > g_Mppt_Para.Charg_Current)) - && (FloatI > g_Mppt_Para.Discharg_Current))) { -// || g_Mppt_Para.MPPT_Mode == FLOAT) { - g_Mppt_Para.MPPT_Mode = FLOAT; - return; - } - - if (ConstantCurrentV > g_Mppt_Para.Battery_Voltage) { - g_Mppt_Para.MPPT_Mode = TRICKLE; - return; - } - -} - -void findMiNDutyRatio(void) -{ - static uint8_t num = 100; - if (0.05 < get_CHG_CURR()) { - num -= 1; - TIM_SetCompare4(TIM4, num); - } - else { - printf("min duty ratio : %d/200 \n", num); - } -} - - -void test(void) -{ -// mppt_readjust(); -// Get_OutputPower(); - -// mppt_constantVoltage(18); - -// findMiNDutyRatio(); -// MpptContorl(); - -// printf_data(); -// void MpptContorl(); - -// mppt_constantVoltageO(12); - -// FloatingCharge(); -// mppt_readJust(); - -// mppt_constantCurrentO(1); - - -// if (g_interruptNum < 5) { -// g_interruptNum++; -// return; -// } -// g_Mppt_Para.Charg_Current = get_capturedata(get_CHG_CURR); -// g_Mppt_Para.Discharg_Current = get_capturedata(get_DSG_CURR); -// g_Mppt_Para.Output_Voltage = get_capturedata(get_PV_VOLT_OUT); -// g_Mppt_Para.Battery_Voltage = g_Mppt_Para.Output_Voltage; - g_Mppt_Para.Charg_Current = get_CHG_CURR(); - g_Mppt_Para.Discharg_Current = get_DSG_CURR(); - g_Mppt_Para.Output_Voltage = get_PV_VOLT_OUT(); - g_Mppt_Para.Input_Voltage = get_PV1_VOLT_IN(); - -// mppt_constantVoltage(18); -// return; - - - if (g_Mppt_Para.Discharg_Current == 0 && g_Mppt_Para.Charg_Current == 0) { - return; - } -// g_Mppt_Para.Battery_Voltage = g_Mppt_Para.Output_Voltage; - -// static float_t Volt = 0.7; -// static float_t Curr = 5.5; -// static float_t loopImpedance; -// static uint8_t onlyone = 1; -// if (onlyone) { -// loopImpedance = (float_t)g_slConfigInfo.loopImpedance / 100; -// } - - - static float_t inBatteryCurr; - static float_t outBatteryCurr; - inBatteryCurr = g_Mppt_Para.Charg_Current - g_Mppt_Para.Discharg_Current; - outBatteryCurr = g_Mppt_Para.Discharg_Current - g_Mppt_Para.Charg_Current; - if (inBatteryCurr > 0.1) { - g_Mppt_Para.Battery_Voltage = g_Mppt_Para.Output_Voltage - inBatteryCurr * g_impedance; - } else { - g_Mppt_Para.Battery_Voltage = g_Mppt_Para.Output_Voltage; - } - - if (g_batteryState == 0 && (inBatteryCurr > 0.1 || outBatteryCurr > 0.1) && g_Mppt_Para.Output_Voltage < 14.2) { -// printf("int g_batteryState : %d\n", g_batteryState); - g_batteryState = 1; -// TimeSliceOffset_Register(&m_impedanceCalculation, Task_impedanceCalculation -// , impedanceCalculation_reloadVal, impedanceCalculation_reloadVal); - } - -// mppt_constantVoltage(18); - -// if (g_Mppt_Para.MPPT_Mode == CONSTANTCURRENT -// || g_Mppt_Para.MPPT_Mode == CONSTANTVOLTAGE) { -// -// g_Mppt_Para.Battery_Voltage = get_capturedata(get_PV_VOLT_OUT) -// - g_impedance * (g_Mppt_Para.Charg_Current - g_Mppt_Para.Discharg_Current); -// } else { -// g_Mppt_Para.Battery_Voltage = get_capturedata(get_PV_VOLT_OUT); -// } - -// voltOut = get_capturedata(get_PV_VOLT_OUT); -// g_Mppt_Para.Battery_Voltage = voltOut - g_impedance * (g_Mppt_Para.Charg_Current - g_Mppt_Para.Discharg_Current); - - -// ConstantVoltageCharge(); -// return; - - if (!overTemperature) { - MpptMode(); - MpptContorl(); - } - - -// mppt_constantVoltageO(12); - -// static uint32_t run_num = 0; -// if (1000 < run_num++) { -// FloatingCharge(); -// run_num = 1200; -// printf("in floatcharge \n"); -// return; -// } -// mppt_readJust(); -// mppt_constantCurrentO(1.2); - - -// int16_t var = 0; -// char buff[4]; -// for (var = 0; var < 100; ++var) { -// sprintf(buff, "%3d:", var); -// uart_dev_write(g_gw485_uart4_handle, buff, sizeof(buff)); -// uart_dev_write(g_gw485_uart4_handle, "1234567890\n", sizeof("1234567890\n")); -// Delay_Ms(1); -// } -// uart_dev_write(g_gw485_uart4_handle, "\n\n\n\n\n\n", sizeof("\n\n\n\n\n\n")); -} - - +#include "parameter.h" diff --git a/App/src/parameter.c b/App/src/parameter.c new file mode 100644 index 0000000..5096e81 --- /dev/null +++ b/App/src/parameter.c @@ -0,0 +1,12 @@ +/* + * parameter.c + * + * Created on: 2024年10月12日 + * Author: psx + */ +#include "parameter.h" + +Mppt_controlparameter g_controlParameter = {0}; + +Mppt_otherParameter g_otherParameter = {0}; + diff --git a/App/src/sl_protocol.c b/App/src/sl_protocol.c index b4e3a11..3bc28f4 100644 --- a/App/src/sl_protocol.c +++ b/App/src/sl_protocol.c @@ -13,858 +13,10 @@ #include #include "task.h" #include "tim.h" +#include "parameter.h" default_Value defaultValue = {'S', 'L'\ , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11\ , POWERBOX\ , RS485 , 0x16}; - -SL_Mppt_para g_Mppt_Para = {0}; - -/* 闈欐佸嚱鏁扮敵鏄 */ -static void SL_MsgProcFunc_Read_Register(device_handle device, void *pMsg, uint32_t MsgLen); -static void SL_MsgProcFunc_Write_Register(device_handle device, void *pMsg, uint32_t MsgLen); -static void SL_MsgProcFunc_Broadcast_Scan(device_handle device, void *pMsg, uint32_t MsgLen); -static void SL_MsgProcFunc_Registration_request(device_handle device, void *pMsg, uint32_t MsgLen); -static void SL_MsgProcFunc_Update_Profile(device_handle device, void *pMsg, uint32_t MsgLen); -static void SL_MsgProcFunc_Remote_Upgrade(device_handle device, void *pMsg, uint32_t MsgLen); - -//static uint16_t SL_ReadRegisterRegistrationStatus(void *pMsg); -//static uint16_t SL_ReadRegisteraddress(void *pMsg); -//static uint16_t SL_ReadRegisterAccessNodeType(void *pMsg); -//static uint16_t SL_ReadRegisterCommunicationMethods(void *pMsg); -static uint16_t SL_ReadRegisterBatteryVoltage(void *pMsg); -static uint16_t SL_ReadRegisterChargCurrent(void *pMsg); -static uint16_t SL_ReadRegisterDischargCurrent(void *pMsg); -static uint16_t SL_ReadRegisterSolarOpenCircuitVoltage(void *pMsg); -static uint16_t SL_ReadRegisterHighSideMosTemperature(void *pMsg); -static uint16_t SL_ReadRegisterDischargMosState(void *pMsg); -static uint16_t SL_ReadRegisterMPPTMode(void *pMsg); - -//static uint16_t SL_WriteRegisterRegistrationStatus(void *pMsg); -//static uint16_t SL_WriteRegisteraddress(void *pMsg); -//static uint16_t SL_WriteRegisterAccessNodeType(void *pMsg); -//static uint16_t SL_WriteRegisterCommunicationMethods(void *pMsg); -//static uint16_t SL_WriteRegisterBatteryVoltage(void *pMsg); -//static uint16_t SL_WriteRegisterBatterytemperature(void *pMsg); -//static uint16_t SL_WriteRegisterRemainingBatteryBower(void *pMsg); -//static uint16_t SL_WriteRegisterSolarOpenCircuitVoltage1(void *pMsg); -//static uint16_t SL_WriteRegisterSolarOpenCircuitVoltage2(void *pMsg); - -/* 璇诲彇涓插彛鏁版嵁鏃剁敤璇ユ暟缁勮В鏋 */ -static uint8_t rs485_buff[50]={0x00}; - -/* 涓娆℃渶澶氳鍐欑殑瀵勫瓨鍣ㄤ釜鏁帮紝鐢辫澶囧喅瀹 */ -#define Register_Number_Max 5 -/* 瀵勫瓨鍣ㄤ釜鏁帮紝鐢辫澶囧喅瀹 */ -#define MPPT_Register_Number 5 -/* 璇诲啓鐨勫瘎瀛樺櫒鐨勬渶澶ц捣濮嬩綅缃紝鐢辫澶囧喅瀹 */ -#define Register_Start_Address_Max 0x0200 - -/* 鐢ㄤ簬瑙f瀽涓插彛鍖呮椂鐨勯暱搴 */ -#define analyzeStartFlag 2 //闀垮害涓2鏃惰В鏋愯捣濮嬫爣蹇 -#define analyzeAddress 9 //闀垮害涓9鏃惰В鏋愬湴鍧 -#define analyzeFunctionCode 10 //闀垮害涓10鏃惰В鏋愬姛鑳界爜 -#define analyzeWritelen 14 //鍔熻兘鐮佷负鍐欏叆瀵勫瓨鍣ㄤ笖buffer闀垮害涓14鏃讹紝鍙互瑙f瀽鍑哄啓鍏ュ瘎瀛樺櫒鍖呯殑闀垮害 - - -/* 鍔熻兘鐮佸鐞嗚〃 */ -SL_FuncionMsgProcTable g_MsgTbl[] = -{ - {SL_Function_Code_Read_Register, SL_MsgProcFunc_Read_Register}, - {SL_Function_Code_Write_Register, SL_MsgProcFunc_Write_Register}, - {SL_Function_Code_Broadcast_Scan, SL_MsgProcFunc_Broadcast_Scan}, - {SL_Function_Code_Registration_request, SL_MsgProcFunc_Registration_request}, - {SL_Function_Code_Update_Profile, SL_MsgProcFunc_Update_Profile}, - {SL_Function_Code_Remote_Upgrade, SL_MsgProcFunc_Remote_Upgrade}, -}; - -/* 瀵勫瓨鍣ㄥ鐞嗚〃 */ -SL_RegProcTable g_RegTblR[] = -{ -// {SL_Register_Registration_Status, SL_ReadRegisterRegistrationStatus}, -// {SL_Register_address, SL_ReadRegisteraddress}, -// {SL_Register_Access_Node_Type, SL_ReadRegisterAccessNodeType}, -// {SL_Register_Communication_Methods, SL_ReadRegisterCommunicationMethods}, - {SL_Register_Battery_Voltage, SL_ReadRegisterBatteryVoltage}, - {SL_Register_Charg_Current, SL_ReadRegisterChargCurrent}, - {SL_Register_Discharg_Current, SL_ReadRegisterDischargCurrent}, - {SL_Register_Solar_Open_Circuit_Voltage, SL_ReadRegisterSolarOpenCircuitVoltage}, - {SL_Register_HighSideMos_Temperature, SL_ReadRegisterHighSideMosTemperature}, - {SL_Register_DischargMos_State, SL_ReadRegisterDischargMosState}, - {SL_Register_MPPT_Mode, SL_ReadRegisterMPPTMode}, -}; - -/* 瀵勫瓨鍣ㄥ鐞嗚〃 */ -SL_RegProcTable g_RegTblW[] = -{ -// {SL_Register_Registration_Status, SL_WriteRegisterRegistrationStatus}, -// {SL_Register_address, SL_WriteRegisteraddress}, -// {SL_Register_Access_Node_Type, SL_WriteRegisterAccessNodeType}, -// {SL_Register_Communication_Methods, SL_WriteRegisterCommunicationMethods}, -// {SL_Register_Battery_Voltage, SL_WriteRegisterBatteryVoltage}, -// {SL_Register_Battery_temperature, SL_WriteRegisterBatterytemperature}, -// {SL_Register_Remaining_Battery_Bower, SL_WriteRegisterRemainingBatteryBower}, -// {SL_Register_Solar_Open_Circuit_Voltage1, SL_WriteRegisterSolarOpenCircuitVoltage1}, -// {SL_Register_Solar_Open_Circuit_Voltage2, SL_WriteRegisterSolarOpenCircuitVoltage2}, -}; - - - - - -/** - * @brief 鏍¢獙绠楁硶 - * @param - * @retval - */ -uint16_t CheckFunc(uint8_t *arr_buff, uint8_t len) -{ - uint16_t crc = 0xFFFF; - uint16_t i, j; - for (j = 0; j < len; ++j) { - crc = crc ^ (*arr_buff++); - for (i = 0; i < 8; ++i) { - if ((crc&0x0001) > 0) { - crc = crc >> 1; - crc = crc ^ 0xa001; - } - else { - crc = crc >> 1; - } - } - } - return crc; -} - -/** - * @brief 闅忔満寤舵椂鍑芥暟,寤舵椂鍖洪棿100-2500ms锛屽垎杈ㄧ巼10ms聽聽 - * @param - * @retval 寤舵椂鏃堕棿 - */ -int randomDelay() -{ - int minSeconds = 10; - int maxSeconds = 250; -// srand(SystemCoreClock);//time(NULL)鏇挎崲涓哄搴旀搷浣滅郴缁熸椂閽 - srand(TIM_GetCounter(TIM4)); - int delaySeconds = minSeconds + rand() % (maxSeconds - minSeconds + 1); - return delaySeconds * 10; -} - -/** - * @brief 妫娴485鎬荤嚎鏄惁绻佸繖 - * @param - * @retval 1 绻佸繖 - * 0 绌洪棽 - */ -uint8_t Check_485_bus_busy(device_handle device) -{ - if (device == g_bat485_uart3_handle) { - USART_ITConfig(USART3, USART_IT_RXNE, ENABLE); - } else { - USART_ITConfig(USART4, USART_IT_RXNE, ENABLE); - } - - uint16_t num_ago = ring_queue_length(device); - Delay_Ms(2); - uint16_t num_now = ring_queue_length(device); - - if (device == g_bat485_uart3_handle) { - USART_ITConfig(USART3, USART_IT_RXNE, DISABLE); - } else { - USART_ITConfig(USART4, USART_IT_RXNE, DISABLE); - } - - if (num_now == num_ago) { - return 0; - } - return 1; -} - -/** - * @brief 璇诲彇 - * @param - * @retval - */ -void SL_MsgProcFunc_Read_Register(device_handle device, void *pMsg, uint32_t MsgLen) -{ - SL_Mppt_Rorecv_pack *rpack = (SL_Mppt_Rorecv_pack *)pMsg; - - uint16_t Register_Number_16 = chang_8_to_16(rpack->read_Register_Number_L,rpack->read_Register_Number_H); - if (Register_Number_16 > Register_Number_Max) { - log_error(" Register_Number error:%x \r\n", Register_Number_16); - return; - } - - uint16_t Start_Address_16 = chang_8_to_16(rpack->read_Register_Start_Address_L,rpack->read_Register_Start_Address_H); - if (Start_Address_16 > Register_Start_Address_Max) { - log_error(" Register_Start_Address error : %x \r\n", Start_Address_16); - return; - } - - /* 璇诲彇瀵勫瓨鍣ㄦ暟鎹 */ -// uint8_t reply_Data_Content[2 * 5] = {0}; - uint16_t reply_Data_Content[Register_Number_Max] = {0}; - for ( uint16_t pos = 0; pos < Register_Number_16; pos++) { - for (uint16_t var = 0; var < sizeof(g_RegTblR) / sizeof(SL_RegProcTable); var++) { - if (g_RegTblR[var].regId == (Start_Address_16 + pos)) { -// *(uint16_t *)&reply_Data_Content[pos * 2] = g_RegTblR[var].pRegProc(NULL); - reply_Data_Content[pos] = g_RegTblR[var].pRegProc(NULL); - } - } - } - - /* 鎵撳寘 */ - memset(rs485_buff, 0, sizeof(rs485_buff)); - uint8_t *replay_pack = rs485_buff; -// strlcpy(replay_pack, g_slConfigInfo.start_Flag, 2); - *(replay_pack) = g_slConfigInfo.start_Flag[0]; - *(replay_pack + 1) = g_slConfigInfo.start_Flag[1]; - - replay_pack += 2; -// strlcpy(replay_pack, g_slConfigInfo.address, 7); - *(replay_pack) = g_slConfigInfo.address[0]; - *(replay_pack + 1) = g_slConfigInfo.address[1]; - *(replay_pack + 2) = g_slConfigInfo.address[2]; - *(replay_pack + 3) = g_slConfigInfo.address[3]; - *(replay_pack + 4) = g_slConfigInfo.address[4]; - *(replay_pack + 5) = g_slConfigInfo.address[5]; - *(replay_pack + 6) = g_slConfigInfo.address[6]; - - - replay_pack += 7; - *replay_pack = SL_Function_Code_Read_Register; - - replay_pack += 1; -// *(uint16_t *)&replay_pack = rpack->read_Register_Number; - *replay_pack = (Register_Number_16 >> 8); - *(replay_pack + 1) = (Register_Number_16); - - replay_pack += 2; - for (uint8_t var = 0; var < Register_Number_16 * 2; var++) { - if (0 == (var & 0x01)) { - *(replay_pack + var) = (reply_Data_Content[var / 2] >> 8); - } else { - *(replay_pack + var) = (reply_Data_Content[var / 2]); - } - } - - replay_pack += Register_Number_16 * 2; - uint16_t crc_temp = CheckFunc(rs485_buff, (2 + 7 + 1 + 2 + Register_Number_16 * 2)); -// log_info("CheckFunc crc_temp: %x \r\n", crc_temp); - *replay_pack = (uint8_t)(crc_temp >> 8); - replay_pack += 1; - *replay_pack = (uint8_t)crc_temp; - - replay_pack += 1; - *replay_pack = g_slConfigInfo.end_Flag; - - while (1) { - Delay_Ms(randomDelay()); - if (!Check_485_bus_busy(device)) { -// log_info("pack : %s", (uint8_t *)&replay_pack); - -// uart_dev_write(device, (uint8_t *)&replay_pack, 16 + Register_Number_16 * 2 + 1); - uart_dev_write(device, rs485_buff, 16 + Register_Number_16 * 2); - - if (device == g_bat485_uart3_handle) { - USART_ITConfig(USART3, USART_IT_RXNE, ENABLE); - } else { - USART_ITConfig(USART4, USART_IT_RXNE, ENABLE); - } - - break; - } - } -} - - -void SL_MsgProcFunc_Write_Register(device_handle device, void *pMsg, uint32_t MsgLen) -{ - SL_Mppt_Worecv_pack *wpack = (SL_Mppt_Worecv_pack *)pMsg; - uint8_t *buff = (uint8_t *)pMsg; - - uint16_t Register_Number = \ - chang_8_to_16(wpack->write_Register_Number_L, wpack->write_Register_Number_H); - if (Register_Number > Register_Number_Max) { - log_error(" Register_Number error:%x \r\n", Register_Number); - return; - } - - uint16_t Register_Start_Address = \ - chang_8_to_16(wpack->write_Register_Start_Address_L, wpack->write_Register_Start_Address_H); - if (Register_Start_Address > Register_Start_Address_Max) { - log_error(" Register_Start_Address error : %x \r\n", Register_Start_Address); - return; - } - - printf("in write register \n"); - - uint16_t content[Register_Number_Max] = {0}; - - for (uint16_t var = 0; var < Register_Number; var++) { - content[var] = buff[14 + 2 * var] << 8 | buff[14 + 2 * var + 1]; - } - - for ( uint16_t pos = 0; pos < Register_Number; pos++) { - for (uint16_t i = 0; i < sizeof(g_RegTblW) / sizeof(SL_RegProcTable); i++) { - if (g_RegTblW[i].regId == (Register_Start_Address + pos)) { - g_RegTblW[i].pRegProc(&content[pos]); - } - } - } -} - -void SL_MsgProcFunc_Broadcast_Scan(device_handle device, void *pMsg, uint32_t MsgLen) -{ - g_recvBroadcastDevice = device; - g_recvBroadcastRegisterNumber = MPPT_Register_Number; - - RegistrationRequestFlag = 1; - - /* 浠诲姟鍒涚珛鍚庯紝绔嬪嵆鎵ц涓娆 */ - TimeSliceOffset_Register(&m_recvbroadcast, Task_recvbroadcast \ - , recvbroadcast_reloadVal, recvbroadcast_offset); - m_recvbroadcast.runFlag = 1; -} - -void SL_MsgProcFunc_Registration_request(device_handle device, void *pMsg, uint32_t MsgLen) -{ - log_info("Registration success \r\n"); - recvbroadcast_flag = 1; - RegistrationRequestFlag = 0; - TimeSliceOffset_Unregister(&m_recvbroadcast); - m_recvbroadcast.runFlag = 0; - SL_Mppt_RegistrationReply_pack *rpack = (SL_Mppt_RegistrationReply_pack *)pMsg; - g_Mppt_Para.Registration_Status = chang_8_to_16(rpack->registration_Status_L, rpack->registration_Status_H); - - /* 20s鍐呬笉鍐嶆帴鏀跺箍鎾抚 */ - TimeSliceOffset_Register(&m_sensorEnableBroadcast, Task_sensorEnableBroadcast - , sensorEnableBroadcast_reloadVal, sensorEnableBroadcast_offset); -} - - -void SL_MsgProcFunc_Update_Profile(device_handle device, void *pMsg, uint32_t MsgLen) -{ - SL_Mppt_SOther_pack SUpdateProfile_pack = {0}; - - SUpdateProfile_pack.start_Flag[0] = g_slConfigInfo.start_Flag[0]; - SUpdateProfile_pack.start_Flag[1] = g_slConfigInfo.start_Flag[1]; - - SUpdateProfile_pack.address[0] = g_slConfigInfo.address[0]; - SUpdateProfile_pack.address[1] = g_slConfigInfo.address[1]; - SUpdateProfile_pack.address[2] = g_slConfigInfo.address[2]; - SUpdateProfile_pack.address[3] = g_slConfigInfo.address[3]; - SUpdateProfile_pack.address[4] = g_slConfigInfo.address[4]; - SUpdateProfile_pack.address[5] = g_slConfigInfo.address[5]; - SUpdateProfile_pack.address[6] = g_slConfigInfo.address[6]; - - SUpdateProfile_pack.function_Code = SL_Function_Code_Update_Profile; - - SUpdateProfile_pack.state = 0x01; - - uint16_t crc = CheckFunc((uint8_t *)&SUpdateProfile_pack, SL_MPPT_SOTHER_PACK_SIZE - 3); - SUpdateProfile_pack.check_Bit_H = crc >> 8; - SUpdateProfile_pack.check_Bit_L = crc; - - SUpdateProfile_pack.end_Flag = g_slConfigInfo.end_Flag; - - while (1) { - Delay_Ms(randomDelay()); - if (!Check_485_bus_busy(device)) { - uart_dev_write(device, (uint8_t *)&SUpdateProfile_pack, SL_MPPT_SOTHER_PACK_SIZE + 1); - - if (device == g_bat485_uart3_handle) { - USART_ITConfig(USART3, USART_IT_RXNE, ENABLE); - } else { - USART_ITConfig(USART4, USART_IT_RXNE, ENABLE); - } - - break; - } - } -} - -void SL_MsgProcFunc_Remote_Upgrade(device_handle device, void *pMsg, uint32_t MsgLen) -{ - SL_Mppt_SOther_pack SUpdateProfile_pack = {0}; - - SUpdateProfile_pack.start_Flag[0] = g_slConfigInfo.start_Flag[0]; - SUpdateProfile_pack.start_Flag[1] = g_slConfigInfo.start_Flag[1]; - - SUpdateProfile_pack.address[0] = g_slConfigInfo.address[0]; - SUpdateProfile_pack.address[1] = g_slConfigInfo.address[1]; - SUpdateProfile_pack.address[2] = g_slConfigInfo.address[2]; - SUpdateProfile_pack.address[3] = g_slConfigInfo.address[3]; - SUpdateProfile_pack.address[4] = g_slConfigInfo.address[4]; - SUpdateProfile_pack.address[5] = g_slConfigInfo.address[5]; - SUpdateProfile_pack.address[6] = g_slConfigInfo.address[6]; - - SUpdateProfile_pack.function_Code = SL_Function_Code_Remote_Upgrade; - - SUpdateProfile_pack.state = 0x01; - - uint16_t crc = CheckFunc((uint8_t *)&SUpdateProfile_pack, SL_MPPT_SOTHER_PACK_SIZE - 3); - SUpdateProfile_pack.check_Bit_H = crc >> 8; - SUpdateProfile_pack.check_Bit_L = crc; - - SUpdateProfile_pack.end_Flag = g_slConfigInfo.end_Flag; - - while (1) { - Delay_Ms(randomDelay()); - if (!Check_485_bus_busy(device)) { - uart_dev_write(device, (uint8_t *)&SUpdateProfile_pack, SL_MPPT_SOTHER_PACK_SIZE + 1); - - if (device == g_bat485_uart3_handle) { - USART_ITConfig(USART3, USART_IT_RXNE, ENABLE); - } else { - USART_ITConfig(USART4, USART_IT_RXNE, ENABLE); - } - - break; - } - } -} - - -///** -// * @brief 璇诲彇娉ㄥ唽鐘舵佸瘎瀛樺櫒 -// * @param -// * @retval -// */ -//uint16_t SL_ReadRegisterRegistrationStatus(void *pMsg) -//{ -// log_info(" SL_ReadRegisterRegistrationStatus "); -// uint16_t value = g_Mppt_Para.Registration_Status; -// return value; -//} -// -///** -// * @brief 璇诲彇鍦板潃瀵勫瓨鍣 -// * @param -// * @retval -// */ -//uint16_t SL_ReadRegisteraddress(void *pMsg) -//{ -// log_info(" SL_ReadRegisteraddress "); -// -// return 0; -//} -// -///** -// * @brief 璇诲彇鎺ュ叆鑺傜偣绫诲瀷瀵勫瓨鍣 -// * @param -// * @retval -// */ -//uint16_t SL_ReadRegisterAccessNodeType(void *pMsg) -//{ -// log_info(" SL_ReadRegisterAccessNodeType "); -// uint16_t value = g_Mppt_Para.Access_Node_Type; -// return value; -//} -// -///** -// * @brief 璇诲彇閫氫俊鏂瑰紡瀵勫瓨鍣 -// * @param -// * @retval -// */ -//uint16_t SL_ReadRegisterCommunicationMethods(void *pMsg) -//{ -// log_info(" SL_ReadRegisterCommunicationMethods "); -// uint16_t value = g_Mppt_Para.Communication_Methods; -// return value; -//} - -/** - * @brief 璇诲彇鐢垫睜鐢靛帇瀵勫瓨鍣 - * @param - * @retval - */ -uint16_t SL_ReadRegisterBatteryVoltage(void *pMsg) -{ - log_info(" SL_ReadRegisterBatteryVoltage "); - uint16_t value = (uint16_t)(g_Mppt_Para.Battery_Voltage * 10); - return value; -} - -/** - * @brief 璇诲彇鍏呯數鐢垫祦瀵勫瓨鍣 - * @param - * @retval - */ -uint16_t SL_ReadRegisterChargCurrent(void *pMsg) -{ - log_info(" SL_ReadRegisterChargCurrent "); - uint16_t value = (uint16_t)(g_Mppt_Para.Charg_Current * 10); - return value; -} - -/** - * @brief 璇诲彇鏀剧數鐢垫祦瀵勫瓨鍣 - * @param - * @retval - */ -uint16_t SL_ReadRegisterDischargCurrent(void *pMsg) -{ - log_info(" SL_ReadRegisterDischargCurrent "); - uint16_t value = (uint16_t)(g_Mppt_Para.Discharg_Current * 10); - return value; -} - -/** - * @brief 璇诲彇澶槼鑳藉紑璺數鍘嬪瘎瀛樺櫒 - * @param - * @retval - */ -uint16_t SL_ReadRegisterSolarOpenCircuitVoltage(void *pMsg) -{ - log_info(" SL_ReadRegisterSolarOpenCircuitVoltage "); - uint16_t value = (uint16_t)(g_Mppt_Para.Solar_Open_Circuit_Voltage * 10); - return value; -} - -/** - * @brief 璇诲彇楂樼mos绠$殑娓╁害瀵勫瓨鍣 - * @param - * @retval - */ -uint16_t SL_ReadRegisterHighSideMosTemperature(void *pMsg) -{ - log_info(" SL_ReadRegisterHighSideMosTemperature "); - uint16_t value = (uint16_t)(g_Mppt_Para.HighSideMos_Temperature * 10); - return value; -} - -/** - * @brief 璇诲彇鏀剧數mos绠$姸鎬佸瘎瀛樺櫒 - * @param - * @retval - */ -uint16_t SL_ReadRegisterDischargMosState(void *pMsg) -{ - log_info(" SL_ReadRegisterDischargMosState "); - uint16_t value = (uint16_t)g_Mppt_Para.DischargMos_State; - return value; -} - -/** - * @brief 璇诲彇mppt宸ヤ綔妯″紡瀵勫瓨鍣 - * @param - * @retval - */ -uint16_t SL_ReadRegisterMPPTMode(void *pMsg) -{ - log_info(" SL_ReadRegisterMPPTMode "); - uint16_t value = (uint16_t)g_Mppt_Para.MPPT_Mode; - return value; -} - -///** -// * @brief 鍐欏叆娉ㄥ唽鐘舵佸瘎瀛樺櫒 -// * @param -// * @retval -// */ -//uint16_t SL_WriteRegisterRegistrationStatus(void *pMsg) -//{ -// log_info(" WriteRegisterRegistrationStatus %x", *(uint16_t *)pMsg); -// -// return 0; -//} -// -///** -// * @brief 鍐欏叆鍦板潃瀵勫瓨鍣 -// * @param -// * @retval -// */ -//uint16_t SL_WriteRegisteraddress(void *pMsg) -//{ -// log_info(" WriteRegisteraddress %x", *(uint16_t *)pMsg); -// -// return 0; -//} -// -///** -// * @brief 鍐欏叆鎺ュ叆鑺傜偣绫诲瀷瀵勫瓨鍣 -// * @param -// * @retval -// */ -//uint16_t SL_WriteRegisterAccessNodeType(void *pMsg) -//{ -// log_info(" WriteRegisterAccessNodeType %x", *(uint16_t *)pMsg); -// -// return 0; -//} -// -///** -// * @brief 鍐欏叆閫氫俊鏂瑰紡瀵勫瓨鍣 -// * @param -// * @retval -// */ -//uint16_t SL_WriteRegisterCommunicationMethods(void *pMsg) -//{ -// log_info(" WriteRegisterCommunicationMethods %x", *(uint16_t *)pMsg); -// -// return 0; -//} - -/** - * @brief 鍖归厤璧峰鏍囧織"SL" - * @param start_buff 璧峰鏍囧織 - * @retval 1 鍖归厤鎴愬姛 - * 0 鍖归厤澶辫触 - */ -static int Match_Startflag(uint8_t start_buff[2]) -{ -// if (!strcmp(start_buff, g_slConfigInfo.start_Flag)) { -// log_info("Match_Startflag fail \r\n"); -// return 1; -// } - if ((start_buff[0] == g_slConfigInfo.start_Flag[0]) && \ - (start_buff[1] == g_slConfigInfo.start_Flag[1])) { - log_info("Match_Startflag success \r\n"); - return 1; - } - return 0; -} - -/** - * @brief 鍖归厤璁惧鍦板潃 - * @param address 鍦板潃 - * @retval 1 鍖归厤鎴愬姛 - * 0 鍖归厤澶辫触 - */ -static int Match_address(u_int8_t address[7]) -{ -// if (!strcmp(address, g_slConfigInfo.address)) { -// log_info("Match_address fail \r\n"); -// return 1; -// } - if ((address[0] == g_slConfigInfo.address[0]) && \ - (address[1] == g_slConfigInfo.address[1]) && \ - (address[2] == g_slConfigInfo.address[2]) && \ - (address[3] == g_slConfigInfo.address[3]) && \ - (address[4] == g_slConfigInfo.address[4]) && \ - (address[5] == g_slConfigInfo.address[5]) && \ - (address[6] == g_slConfigInfo.address[6])) { - log_info("Match_address success \r\n"); - return 1; - } - return 0; -} - -/** - * @brief 鍖归厤骞挎挱鍦板潃 - * @param address 鍦板潃 - * @retval 1 鍖归厤鎴愬姛 - * 0 鍖归厤澶辫触 - */ -static int Match_Broadcastaddress(u_int8_t address[7]) -{ - if (address[0] == 0xFF && \ - address[1] == 0xFF && \ - address[2] == 0xFF && \ - address[3] == 0xFF && \ - address[4] == 0xFF && \ - address[5] == 0xFF && \ - address[6] == 0xFF) { - log_info("Match_Broadcastaddress success\r\n"); - return 1; - } - return 0; -} - -/** - * @brief 璇诲彇涓插彛鏁版嵁 - * @param uart_handle 涓插彛鍙ユ焺 - * @param buff 缂撳啿鍖 - * @param buff_size 缂撳啿鍖洪暱搴 - * @retval - */ -static int uart_read_climate_pack(device_handle uart_handle,uint8_t *buff, uint32_t buff_size) -{ - uint32_t offset = 0; - uint32_t len = 0; - uint8_t flag_run = 0; - char c = 0; - - SL_Mppt_Recv_pack *pack = (SL_Mppt_Recv_pack *)buff; - - buff_size--; //棰勭暀涓涓'\0'浣嶇疆 - for (; offset < buff_size;){ - if (ring_queue_length(uart_handle) == 0) { - break; - } - - c = uart_dev_in_char(uart_handle); - - buff[offset++] = c; - - /* 鍖归厤璧峰鏍囧織浣 */ - if (offset == analyzeStartFlag || (flag_run > 0)) { - if (!Match_Startflag(pack->start_Flag)) { - memcpy(buff, buff+1, offset-1); - offset--; - continue; - } - } - - /* 鍖归厤鍦板潃 */ - if (offset == analyzeAddress || (flag_run > 1)) { - if (!((((g_Mppt_Para.Registration_Status == 2) || RegistrationRequestFlag) && Match_address(pack->address)) - || (run_Broadcast && Match_Broadcastaddress(pack->address)))) { - if (flag_run < 1) { - flag_run = 1; - } - memcpy(buff, buff+1, offset-1); - offset--; - continue; - } - } - - /* 鍖归厤鍔熻兘鐮 */ - if (offset == analyzeFunctionCode || (flag_run > 2)) { - /* 鏈敞鍐屾椂锛屼笉澶勭悊璇诲啓鍜屽叾浠栧抚 */ - if (g_Mppt_Para.Registration_Status == 2) { - /* 璇诲瘎瀛樺櫒鏁版嵁 */ - if (pack->function_Code == SL_Function_Code_Read_Register) { - log_info("Read_Register\r\n"); - len = SL_MPPT_RORECV_PACK_SIZE; - } - - /* 鍐欏瘎瀛樺櫒鏁版嵁 */ - else if (pack->function_Code == SL_Function_Code_Write_Register) { - log_info("Write_Register\r\n"); - } - - /* 鍏朵粬甯ф牸寮 */ - else if (pack->function_Code == SL_Function_Code_Update_Profile - || pack->function_Code == SL_Function_Code_Remote_Upgrade) { - len = SL_MPPT_ROTHER_PACK_SIZE; - log_info("Other frames\r\n"); - } - - else if (run_Broadcast) { - /* 骞挎挱鎵弿 */ - if (pack->function_Code == SL_Function_Code_Broadcast_Scan) { - log_info("Broadcast_Scan\r\n"); - len = SL_MPPT_SCAN_BROADCAST_PACK_SIZE; - } - - /* 娉ㄥ唽璇锋眰 */ - else if (pack->function_Code == SL_Function_Code_Registration_request) { - log_info("Registration_request\r\n"); - len = SL_MPPT_REGISTRATIONREPLY_PACK_SIZE; - } - - else { - if (flag_run < 2) { - flag_run = 2; - } - log_info("funcode error %x\r\n", pack->function_Code); - memcpy(buff, buff+1, offset-1); - offset--; - continue; - } - } - - else { - if (flag_run < 2) { - flag_run = 2; - } - log_info("funcode error %x\r\n", pack->function_Code); - memcpy(buff, buff+1, offset-1); - offset--; - continue; - } - } - - /* 骞挎挱鎵弿 */ - else if (pack->function_Code == SL_Function_Code_Broadcast_Scan) { - log_info("Broadcast_Scan\r\n"); - len = SL_MPPT_SCAN_BROADCAST_PACK_SIZE; - } - - /* 娉ㄥ唽璇锋眰 */ - else if (pack->function_Code == SL_Function_Code_Registration_request) { - log_info("Registration_request\r\n"); - len = SL_MPPT_REGISTRATIONREPLY_PACK_SIZE; - } - - else { - if (flag_run < 2) { - flag_run = 2; - } - log_info("funcode error %x\r\n", pack->function_Code); - memcpy(buff, buff+1, offset-1); - offset--; - continue; - } - - } - - if ((pack->function_Code == SL_Function_Code_Write_Register) && (offset >= 14)) { - SL_Mppt_Worecv_pack *wpack = (SL_Mppt_Worecv_pack *)buff; - uint8_t Register_Number = (wpack->write_Register_Number_H << 8) | wpack->write_Register_Number_L; - len = Register_Number * 2 + SL_MPPT_WORECV_PACK_SIZE - 4; - continue; - } - - if (offset == len) { - uint16_t crc_16 = chang_8_to_16(buff[offset - 2], buff[offset - 3]); - - if ((CheckFunc(buff, offset - 3) != crc_16) || (buff[offset - 1] != 0x16)) { - if (flag_run < 3) { - flag_run = 3; - } - memcpy(buff, buff+1, offset-1); - offset--; - - } else { - return offset; - } - } - } - return 0; -} - -/** - * @brief 澶勭悊涓鏉℃秷鎭 - * @param - * @retval - */ -static void FRT_MsgHandler(device_handle device, uint8_t *pMsg, uint32_t MsgLen) -{ - SL_Mppt_Recv_pack *pack = (SL_Mppt_Recv_pack *)pMsg; - - for (u_int16_t i = 0; i < sizeof(g_MsgTbl) / sizeof(SL_FuncionMsgProcTable); i++){ - if (pack->function_Code == g_MsgTbl[i].msgId){ - g_MsgTbl[i].pMsgProc(device, pMsg, MsgLen); - } - } -} - -/** - * @brief 璇诲彇骞惰В鏋愪覆鍙f暟鎹 - * @param - * @retval - */ -void read_and_process_uart_data(device_handle device) -{ -// printf("ring_queue_length = %d \n", ring_queue_length(device)); -// if (ring_queue_length(device) > 10) {uart_dev_char_present(device_handle device) - if (uart_dev_char_present(device)) { - Delay_Ms(20); -// printf("ring_queue_length = %d \n", ring_queue_length(device)); - memset(rs485_buff, 0, sizeof(rs485_buff)); - int ret = uart_read_climate_pack(device, rs485_buff, sizeof(rs485_buff)); - if(ret > 0){ - FRT_MsgHandler(device, rs485_buff, ret); - } - } -} - - - - diff --git a/App/src/task.c b/App/src/task.c index 81074f3..efec0f9 100644 --- a/App/src/task.c +++ b/App/src/task.c @@ -22,811 +22,6 @@ #include "inflash.h" #include #include "collect_Conversion.h" +#include "parameter.h" -//uint8_t g_interruptNum = 0; /* 每次关闭或重新开启定时器3时,先清零该引脚 */ -void stop_mpptWork(void) -{ -// GPIO_WriteBit(EnPowerSupply_GPIO, EnPowerSupply_PIN, SET); - g_duty_ratio = 0.7; - TIM_Cmd(TIM3, DISABLE); -// g_interruptNum = 0; - TIM_SetCompare4(TIM4, 0); -// TimeSliceOffset_Register(&m_startMpptControl, Task_startMpptControl -// , startMpptControl_reloadVal, startMpptControl_offset); -// GPIO_WriteBit(POW_OUT_CON_GPIO, POW_OUT_CON_PIN, RESET); - -} - -void start_mpptWork(void) -{ -// GPIO_WriteBit(EnPowerSupply_GPIO, EnPowerSupply_PIN, RESET); -// g_interruptNum = 0; - TIM_Cmd(TIM3, ENABLE); -// TIM3->CNT = 0; - g_Mppt_Para.MPPT_Mode = CONSTANTCURRENT; -// TimeSliceOffset_Unregister(&m_startMpptControl); -// Delay_Ms(500); -// GPIO_WriteBit(POW_OUT_CON_GPIO, POW_OUT_CON_PIN, SET); -} - -/** - * @brief 运行指示灯 - * @param - * @retval - */ -STR_TimeSliceOffset m_runled; -void Task_RunLED(void) -{ -// uart_sendstr(g_gw485_uart4_handle, "\n\n\n\n\n"); -// uart_sendstr(g_gw485_uart4_handle, "is gw485\n"); -// uart_sendstr(g_bat485_uart3_handle, "is bat485\n");get_PV1_VOLT_IN(); - -// printf(" \n"); -// printf(" duty_ratio : %d/1000 \n", (int)(g_duty_ratio * 1000)); -// -// printf(" vout : %d/100 \n", (int)(g_Mppt_Para.Battery_Voltage * 100)); -// printf(" Iout : %d/100 \n", (int)(g_Mppt_Para.Charg_Current * 100)); -// printf(" Idisout : %d/100 \n", (int)(g_Mppt_Para.Discharg_Current * 100)); -// printf(" mosT : %d/10 \n", (int)(g_Mppt_Para.HighSideMos_Temperature * 10)); -// printf(" mosState : %d \n", (int)(g_Mppt_Para.DischargMos_State)); -//// printf(" mosState : %d \n", GPIO_ReadOutputDataBit(POW_OUT_CON_GPIO, POW_OUT_CON_PIN)); -//// printf(" mosState : %d \n", GPIO_ReadInputDataBit(DSG_PROT_GPIO, DSG_PROT_PIN)); -// -// printf(" 0.没有工作; 1.涓流模式; 2.恒流模式; 3.恒压模式; 4.浮充模式; 5.没有电池 : %d \n", g_Mppt_Para.MPPT_Mode); -// -// printf(" \n"); -// uart_sendstr(g_bat485_uart3_handle, " \n"); - - uart_dev_write(g_bat485_uart3_handle, " \n", sizeof(" \n")); - - char buffer[80]; - memset(buffer, 0, sizeof(buffer)); - sprintf(buffer, " duty_ratio : %d/1000 \n", (int)(g_duty_ratio * 1000)); - uart_dev_write(g_bat485_uart3_handle, buffer, sizeof(buffer)); - - memset(buffer, 0, sizeof(buffer)); - sprintf(buffer, " Input_Voltage : %d/100 \n", (int)(g_Mppt_Para.Input_Voltage * 100)); - uart_dev_write(g_bat485_uart3_handle, buffer, sizeof(buffer)); - - memset(buffer, 0, sizeof(buffer)); - sprintf(buffer, " vout : %d/100 \n", (int)(g_Mppt_Para.Output_Voltage * 100)); - uart_dev_write(g_bat485_uart3_handle, buffer, sizeof(buffer)); - - memset(buffer, 0, sizeof(buffer)); - sprintf(buffer, " vBattery : %d/100 \n", (int)(g_Mppt_Para.Battery_Voltage * 100)); - uart_dev_write(g_bat485_uart3_handle, buffer, sizeof(buffer)); - - memset(buffer, 0, sizeof(buffer)); - sprintf(buffer, " Iout : %d/100 \n", (int)(g_Mppt_Para.Charg_Current * 100)); - uart_dev_write(g_bat485_uart3_handle, buffer, sizeof(buffer)); - - memset(buffer, 0, sizeof(buffer)); - sprintf(buffer, " Idisout : %d/100 \n", (int)(g_Mppt_Para.Discharg_Current * 100)); - uart_dev_write(g_bat485_uart3_handle, buffer, sizeof(buffer)); - - memset(buffer, 0, sizeof(buffer)); - sprintf(buffer, " mosT : %d/10 \n", (int)(g_Mppt_Para.HighSideMos_Temperature * 10)); - uart_dev_write(g_bat485_uart3_handle, buffer, sizeof(buffer)); - - memset(buffer, 0, sizeof(buffer)); - sprintf(buffer, " impedance : %d/1000 \n", (int)(g_impedance * 1000)); - uart_dev_write(g_bat485_uart3_handle, buffer, sizeof(buffer)); - - memset(buffer, 0, sizeof(buffer)); - sprintf(buffer, " g_impedanceStart : %d \n", g_impedanceStart); - uart_dev_write(g_bat485_uart3_handle, buffer, sizeof(buffer)); - - memset(buffer, 0, sizeof(buffer)); - sprintf(buffer, " mosState : %d \n", (int)(g_Mppt_Para.DischargMos_State)); - uart_dev_write(g_bat485_uart3_handle, buffer, sizeof(buffer)); - - memset(buffer, 0, sizeof(buffer)); - sprintf(buffer, " batteryState : %d \n", g_batteryState); - uart_dev_write(g_bat485_uart3_handle, buffer, sizeof(buffer)); - - memset(buffer, 0, sizeof(buffer)); - sprintf(buffer, " outputAgainFlag : %d \n", outputAgainFlag); - uart_dev_write(g_bat485_uart3_handle, buffer, sizeof(buffer)); - - memset(buffer, 0, sizeof(buffer)); - sprintf(buffer, " excessiveLoadFlag : %d \n", excessiveLoadFlag); - uart_dev_write(g_bat485_uart3_handle, buffer, sizeof(buffer)); - - memset(buffer, 0, sizeof(buffer)); - sprintf(buffer, " 0.没有工作; 1.涓流模式; 2.恒流模式; 3.恒压模式; 4.浮充模式; 5.没有电池 : %d \n", g_Mppt_Para.MPPT_Mode); - uart_dev_write(g_bat485_uart3_handle, buffer, sizeof(buffer)); - - uart_dev_write(g_bat485_uart3_handle, " \n", sizeof(" \n")); - - - -// printf("vout : %d/100 \n", (int)(get_capturedata(get_PV_VOLT_OUT) * 100)); - -// get_CHG_CURR(); - - static uint8_t flag = RESET; - flag = !flag; - GPIO_WriteBit(RUN_LED_GPIO, RUN_LED_PIN, flag); - - - static uint8_t num = 0; - if (10 == ++num) { - GPIO_WriteBit(POW_OUT_CON_GPIO, POW_OUT_CON_PIN, SET); - } - - return; -} - - -/** - * @brief 启动mppt控制 - * @param - * @retval - */ -STR_TimeSliceOffset m_startMpptControl; -void Task_startMpptControl(void) -{ - static uint16_t checkSolarOpenCircuitVTimeFlag; - static uint8_t only_once = 1; - if (only_once) { - only_once = 0; - checkSolarOpenCircuitVTimeFlag = g_slConfigInfo.checkSolarOpenCircuitVTime - 3; - } - - if (g_slConfigInfo.checkSolarOpenCircuitVTime == ++checkSolarOpenCircuitVTimeFlag) { - checkSolarOpenCircuitVTimeFlag = 0; - g_Mppt_Para.Solar_Open_Circuit_Voltage = get_PV1_VOLT_IN(); -// printf("volt in : %d/100 \n", (int)(g_Mppt_Para.Solar_Open_Circuit_Voltage * 100)); -// char buff[50]; -// memset(buff, 0, sizeof(buff)); -// sprintf(buff, "volt in : %d/100 \n", (int)(g_Mppt_Para.Solar_Open_Circuit_Voltage * 100)); -// uart_dev_write(g_bat485_uart3_handle, buff, sizeof(buff)); - - if (g_Mppt_Para.Solar_Open_Circuit_Voltage - > ((float_t)g_slConfigInfo.startSolarOpenCircuitV / 100)) { - TimeSliceOffset_Unregister(&m_startMpptControl); - m_startMpptControl.runFlag = 0; -// printf("1\n"); -// start_mpptWork(); - if (g_Mppt_Para.Output_Voltage > 11) { - g_batteryState = 1; - } else { - g_batteryState = 0; - } - TimeSliceOffset_Register(&m_softStart, Task_softStart, softStart_reloadVal, softStart_offset); - } - } - return; -} - -/** - * @brief 软起动 - * @param - * @retval - */ -STR_TimeSliceOffset m_softStart; -void Task_softStart(void) -{ - static uint16_t num = 0; - static float_t dutyRatio = 0; - - num++; - -// if (num == 1) { -// GPIO_WriteBit(EnPowerSupply_GPIO, EnPowerSupply_PIN, RESET); -// } - - if (num < 5) { - TIM_SetCompare4(TIM4, 100); - } - - else if (num > 70 || dutyRatio > g_duty_ratio) { - TimeSliceOffset_Unregister(&m_softStart); - m_softStart.runFlag = 0; - - dutyRatio = 0; - num = 0; - Set_duty_ratio(&g_duty_ratio); - - if (g_batteryState == 1) { - start_mpptWork(); -// GPIO_WriteBit(POW_OUT_CON_GPIO, POW_OUT_CON_PIN, SET); -// TimeSliceOffset_Register(&m_impedanceCalculation, Task_impedanceCalculation -// , impedanceCalculation_reloadVal, impedanceCalculation_reloadVal); - return; - } else { - dutyRatio = 0; - num = 0; - Set_duty_ratio(&g_duty_ratio); -// TimeSliceOffset_Unregister(&m_softStart); -// m_softStart.runFlag = 0; - - //软起动后bms保护板开启电池充电 - if (get_CHG_CURR() - get_DSG_CURR() > 0.1 - || get_DSG_CURR() - get_CHG_CURR() > 0.1) { -// printf("111\n"); -// TimeSliceOffset_Register(&m_impedanceCalculation, Task_impedanceCalculation -// , impedanceCalculation_reloadVal, impedanceCalculation_reloadVal); - start_mpptWork(); -// GPIO_WriteBit(POW_OUT_CON_GPIO, POW_OUT_CON_PIN, SET); - return; - } - - g_Mppt_Para.MPPT_Mode = FLOAT; - TIM_Cmd(TIM3, ENABLE); -// GPIO_WriteBit(POW_OUT_CON_GPIO, POW_OUT_CON_PIN, SET); - - return; - } - } - - else { - dutyRatio += 0.01; - Set_duty_ratio(&dutyRatio); - } -} - -/** - * @brief 串口数据解析和处理 - * @param - * @retval - */ -STR_TimeSliceOffset m_usart; -uint8_t RegistrationRequestFlag = 0; -void Task_usart(void) -{ - read_and_process_uart_data(g_gw485_uart4_handle); -// read_and_process_uart_data(g_bat485_uart3_handle); -// uart_dev_write(g_bat485_uart3_handle, "hello world \n", sizeof("hello world \n")); - return; -} - -/** - * @brief 看门狗 - * @param - * @retval - */ -STR_TimeSliceOffset m_wdi; -void Task_wdi(void) -{ - static uint32_t temp = 0; - if (wdi_RESET == temp++) { - temp = 0; - NVIC_SystemReset(); - } - GPIO_WriteBit(WDI_INPUT_GPIO, WDI_INPUT_PIN, SET); - GPIO_WriteBit(WDI_INPUT_GPIO, WDI_INPUT_PIN, RESET); - return; -} - -/** - * @brief 刷新寄存器中的数据,同时确定mos管温度 - * @param - * @retval - */ -STR_TimeSliceOffset m_refreshRegister; -uint8_t overTemperature = 0; -void Task_refreshRegister(void) -{ - static uint16_t checkRegisterRefreshTimeFlag; - - if (g_slConfigInfo.registerRefreshTime == ++checkRegisterRefreshTimeFlag) { - checkRegisterRefreshTimeFlag = 0; -// g_Mppt_Para.Battery_Voltage = get_capturedata(get_PV_VOLT_OUT); -// g_Mppt_Para.Charg_Current = get_capturedata(get_CHG_CURR); -// g_Mppt_Para.Discharg_Current = get_capturedata(get_DSG_CURR); -// g_Mppt_Para.HighSideMos_Temperature = get_capturedata(get_MOSFET_Temper); -// g_Mppt_Para.Battery_Voltage = get_PV_VOLT_OUT(); - g_Mppt_Para.Output_Voltage = get_PV_VOLT_OUT(); - g_Mppt_Para.Charg_Current = get_CHG_CURR(); - g_Mppt_Para.Discharg_Current = get_DSG_CURR(); - g_Mppt_Para.HighSideMos_Temperature = get_MOSFET_Temper(); - g_Mppt_Para.DischargMos_State = GPIO_ReadOutputDataBit(POW_OUT_CON_GPIO, POW_OUT_CON_PIN) - && GPIO_ReadInputDataBit(DSG_PROT_GPIO, DSG_PROT_PIN); - - if (g_Mppt_Para.Charg_Current - g_Mppt_Para.Discharg_Current < -0.1) { - g_Mppt_Para.Battery_Voltage = g_Mppt_Para.Output_Voltage - - (g_Mppt_Para.Charg_Current - g_Mppt_Para.Discharg_Current) * g_impedance; - } - - float_t inBatteryCurr = g_Mppt_Para.Charg_Current - g_Mppt_Para.Discharg_Current; - float_t outBatteryCurr = g_Mppt_Para.Discharg_Current - g_Mppt_Para.Charg_Current; - if (g_batteryState == 0 && (inBatteryCurr > 0.1 || outBatteryCurr > 0.1) && g_Mppt_Para.Output_Voltage < 14.2) { - g_batteryState = 1; - } - - /* 有电池,太阳能输出功率大,同时回路阻抗未测试或需要重新测试 */ - if (g_batteryState == 1 && (g_Mppt_Para.Charg_Current > 3.0) && (g_impedanceStart == 1 || g_impedance == 0.0)) { - TimeSliceOffset_Register(&m_impedanceCalculation, Task_impedanceCalculation - , impedanceCalculation_reloadVal, impedanceCalculation_reloadVal); - } - -// g_Mppt_Para.DischargMos_State = GPIO_ReadOutputDataBit(POW_OUT_CON_GPIO, POW_OUT_CON_PIN); -// g_Mppt_Para.Solar_Open_Circuit_Voltage = get_capturedata(get_PV1_VOLT_IN); - g_Mppt_Para.Input_Voltage = get_PV1_VOLT_IN(); - - if (g_Mppt_Para.HighSideMos_Temperature < g_slConfigInfo.HighSideMosTemperature_start + 3) { - if (overTemperature == 2) { -// start_mpptWork(); - TimeSliceOffset_Register(&m_softStart, Task_softStart, softStart_reloadVal, softStart_offset); - } - overTemperature = 0; - return; - } - - if (g_Mppt_Para.HighSideMos_Temperature > g_slConfigInfo.HighSideMosTemperature_end + 3 - && g_Mppt_Para.HighSideMos_Temperature < g_slConfigInfo.HighSideMosTemperature_stop) { -// g_Mppt_Para.MPPT_Mode = NoBattery; -// g_duty_ratio -= 0.1; - g_duty_ratio = 0.6; - Set_duty_ratio(&g_duty_ratio); - overTemperature = 1; - } - - if (g_Mppt_Para.HighSideMos_Temperature > g_slConfigInfo.HighSideMosTemperature_stop + 3) { - overTemperature = 2; - stop_mpptWork(); - } - } -} - -/** - * @brief 接收到广播指令后,发送数据给网关,未接收到指令再次发送,最多三次,间隔时间3s - * @param - * @retval - */ -uint8_t recvbroadcast_flag = 0; -device_handle g_recvBroadcastDevice; -uint8_t g_recvBroadcastRegisterNumber; -STR_TimeSliceOffset m_recvbroadcast; -void Task_recvbroadcast(void) -{ - static uint8_t run_number = 0; - /* 超过三次,不再发送 */ - if (run_number++ == 3 || run_number > 3) { - RegistrationRequestFlag = 0; - run_number = 0; - TimeSliceOffset_Unregister(&m_recvbroadcast); - m_recvbroadcast.runFlag = 0; - return; - } -// if (g_Mppt_Para.Registration_Status == REGISTER_SUCCESS) { -// TimeSliceOffset_Unregister(&m_recvbroadcast); -// return; -// } - SL_Mppt_RegistrationRequest_pack recvpack = {0}; - - /* 起始标志 */ - recvpack.start_Flag[0] = g_slConfigInfo.start_Flag[0]; - recvpack.start_Flag[1] = g_slConfigInfo.start_Flag[1]; - - /* ID */ - recvpack.address[0] = 0xFF; - recvpack.address[1] = 0xFF; - recvpack.address[2] = 0xFF; - recvpack.address[3] = 0xFF; - recvpack.address[4] = 0xFF; - recvpack.address[5] = 0xFF; - recvpack.address[6] = 0xFF; - - /* 功能码 */ - recvpack.function_Code = SL_Function_Code_Registration_request; - - /* 寄存器长度 */ - recvpack.register_Length_H = g_recvBroadcastRegisterNumber >> 8; - recvpack.register_Length_L = g_recvBroadcastRegisterNumber; - - /* 注册状态 */ - recvpack.registration_Status_H = g_Mppt_Para.Registration_Status >> 8; - recvpack.registration_Status_L = g_Mppt_Para.Registration_Status; - - /* 接入节点ID */ - recvpack.access_Node_ID[0] = g_slConfigInfo.address[0]; - recvpack.access_Node_ID[1] = g_slConfigInfo.address[1]; - recvpack.access_Node_ID[2] = g_slConfigInfo.address[2]; - recvpack.access_Node_ID[3] = g_slConfigInfo.address[3]; - recvpack.access_Node_ID[4] = g_slConfigInfo.address[4]; - recvpack.access_Node_ID[5] = g_slConfigInfo.address[5]; - recvpack.access_Node_ID[6] = g_slConfigInfo.address[6]; - - /* 接入节点类型 */ - recvpack.access_Node_Type_H = g_Mppt_Para.Access_Node_Type >> 8; - recvpack.access_Node_Type_L = g_Mppt_Para.Access_Node_Type; - - /* 校验位 */ -// uint8_t *rpack_buf = (uint8_t *)&recvpack; - uint16_t crc = CheckFunc((uint8_t *)&recvpack, SL_MPPT_REGISTRATIONREQUEST_PACK_SIZE - 3); - - recvpack.check_Bit_H = crc >> 8; - recvpack.check_Bit_L = crc; - /* 结束标志 */ - recvpack.end_Flag = g_slConfigInfo.end_Flag; - /* 校验位 */ - for (uint8_t var = 0; var < 10; ++var) { - Delay_Ms(randomDelay()); - if (!Check_485_bus_busy(g_recvBroadcastDevice)) { - if (recvbroadcast_flag == 1) { - recvbroadcast_flag = 0; - run_number = 0; - return; - } - uart_dev_write(g_recvBroadcastDevice, (uint8_t *)&recvpack, SL_MPPT_REGISTRATIONREQUEST_PACK_SIZE + 1); - - if (g_recvBroadcastDevice == g_bat485_uart3_handle) { - USART_ITConfig(USART3, USART_IT_RXNE, ENABLE); - } else { - USART_ITConfig(USART4, USART_IT_RXNE, ENABLE); - } - - break; - } - } -} - -/** - * @brief 阻抗计算 - * @param - * @retval - */ -STR_TimeSliceOffset m_impedanceCalculation; -float_t g_impedance = 0; /* 回路阻抗的值 */ -uint8_t g_batteryState = 0; /* 有无电池 */ -uint8_t g_impedanceStart = 0; /* 是否开始测量回路阻抗 */ -//config_info tempConfigInfo; -void Task_impedanceCalculation(void) -{ - static uint8_t num = 0; - static float_t currOne = 0; - static float_t voltOne = 0; - static float_t currTwo = 0; - static float_t voltTwo = 0; -// static uint8_t only_one = 1; -// if (only_one) { -// g_impedance = g_slConfigInfo.loopImpedance; -// } - -// if (g_Mppt_Para.MPPT_Mode == CONSTANTCURRENT -// || g_Mppt_Para.MPPT_Mode == CONSTANTVOLTAGE) { -// ++num; -// } else { -// num = 0; -// } -// -// if (num == 10) { -// num = 0; -// TIM_Cmd(TIM3, DISABLE); -// -// TIM_SetCompare4(TIM4, 300); -// Delay_Ms(500); -// -// TIM_SetCompare4(TIM4, 420); -// Delay_Ms(5); -//// currOne = get_capturedata(get_CHG_CURR) - get_capturedata(get_DSG_CURR); -//// voltOne = get_capturedata(get_PV_VOLT_OUT); -// currOne = get_CHG_CURR() - get_DSG_CURR(); -// voltOne = get_PV_VOLT_OUT(); -// -//// currTwo = get_capturedata(get_CHG_CURR) - get_capturedata(get_DSG_CURR); -//// voltTwo = get_capturedata(get_PV_VOLT_OUT); -// currTwo = get_CHG_CURR() - get_DSG_CURR(); -// voltTwo = get_PV_VOLT_OUT(); -// -// g_impedance = (voltOne - voltTwo) / (currOne - currTwo); -// -// printf("currOne = %d/1000, voltOne = %d/100 \n", (int)(currOne * 1000), (int)(voltOne * 100)); -// printf("currTwo = %d/1000, voltTwo = %d/100 \n", (int)(currTwo * 1000), (int)(voltTwo * 100)); -// printf("Res = %d/1000, E = %d/100 \n", (int)(g_impedance * 1000), (int)((voltTwo - currTwo * g_impedance) * 100)); -// -//// TIM_Cmd(TIM3, ENABLE); -// } - - num++; - -// printf("g_batteryState : %d\n", g_batteryState); - - if (num == 1) { - TIM_Cmd(TIM3, DISABLE); -// g_interruptNum = 0; - TIM_SetCompare4(TIM4, 300); - return; - } - - if (num == 11) { - currOne = get_CHG_CURR() - get_DSG_CURR(); - voltOne = get_PV_VOLT_OUT(); - TIM_SetCompare4(TIM4, 420); - return; - } - - if (num == 21) { - TimeSliceOffset_Unregister(&m_impedanceCalculation); - m_impedanceCalculation.runFlag = 0; - - currTwo = get_CHG_CURR() - get_DSG_CURR(); - voltTwo = get_PV_VOLT_OUT(); - g_impedance = (voltOne - voltTwo) / (currOne - currTwo); - -// printf("g_batteryState : %d\n", g_batteryState); - -// printf("currOne = %d/1000, voltOne = %d/100 \n", (int)(currOne * 1000), (int)(voltOne * 100)); -// printf("currTwo = %d/1000, voltTwo = %d/100 \n", (int)(currTwo * 1000), (int)(voltTwo * 100)); -// printf("Res = %d/1000, E = %d/100 \n", (int)(g_impedance * 1000), (int)((voltTwo - currTwo * g_impedance) * 100)); - - /* 判断回路阻抗是否合理 */ - if (g_impedance > 1.0 || g_impedance < 0.05) { - g_impedance = 0; - num = 0; - start_mpptWork(); - return; - } - - /* 将回路阻抗的值放入flash中 */ - config_info tempConfigInfo; - if (read_config_info1(&tempConfigInfo)) { - tempConfigInfo.loopImpedance = (uint16_t)(g_impedance * 1000); - save_config_info(&tempConfigInfo); - } else { - tempConfigInfo = g_slConfigInfo; - tempConfigInfo.loopImpedance = (uint16_t)(g_impedance * 1000); - save_config_info(&tempConfigInfo); - } - -// uart_dev_write(g_bat485_uart3_handle, "\n\n\n\n\n", sizeof("\n\n\n\n\n")); -// char buffer[80]; -// memset(buffer, 0, sizeof(buffer)); -// sprintf(buffer, " tempConfigInfo.loopImpedance : %d/1000 \n", tempConfigInfo.loopImpedance); -// uart_dev_write(g_bat485_uart3_handle, buffer, sizeof(buffer)); -// memset(buffer, 0, sizeof(buffer)); -// config_info tempConfigInfo2 = {0}; -// read_config_info1(&tempConfigInfo2); -// sprintf(buffer, " tempConfigInfo2.loopImpedance : %d/1000 \n", tempConfigInfo2.loopImpedance); -// uart_dev_write(g_bat485_uart3_handle, buffer, sizeof(buffer)); -// uart_dev_write(g_bat485_uart3_handle, "\n\n\n\n\n", sizeof("\n\n\n\n\n")); - - g_impedanceStart = 0; - num = 0; - start_mpptWork(); -// TIM_Cmd(TIM3, ENABLE); - return; - } - - return; -} - -/** - * @brief 延时一段时间后检测是否仍然短路 - * @param - * @retval - */ -STR_TimeSliceOffset m_outputAgain; -uint8_t outputAgainFlag = 0; -void Task_outputAgain(void) -{ - static uint8_t num = 0; - num++; - -// if (outputAgainFlag == 1) { -//// outputAgainFlag = 0; -// GPIO_WriteBit(POW_OUT_CON_GPIO, POW_OUT_CON_PIN, RESET); -// TimeSliceOffset_Unregister(&m_outputAgain); -// m_outputAgain.runFlag = 0; -// num = 0; -// } - -// printf(" in POW_OUT_CON\n"); - if (num == g_slConfigInfo.outputAgainFlagTime) { - num = 0; - outputAgainFlag = 0; - TimeSliceOffset_Unregister(&m_outputAgain); - m_outputAgain.runFlag = 0; -// printf(" in POW_OUT_CON control %d \n", GPIO_ReadInputDataBit(DSG_PROT_GPIO, DSG_PROT_PIN)); - if (!(GPIO_ReadInputDataBit(DSG_PROT_GPIO, DSG_PROT_PIN))) { -// uart_dev_write(g_bat485_uart3_handle, " \n\n\n\n\n", sizeof(" \n\n\n\n\n")); -// uart_dev_write(g_bat485_uart3_handle, " in task pow_out_con reset", sizeof(" in task pow_out_con reset")); -// uart_dev_write(g_bat485_uart3_handle, " \n\n\n\n\n", sizeof(" \n\n\n\n\n")); -// printf(" in POW_OUT_CON RESET \n"); - GPIO_WriteBit(POW_OUT_CON_GPIO, POW_OUT_CON_PIN, RESET); - } - } - - return; -} - -/** - * @brief 过载后开始延时,这段时间内再次过载则关闭输出 - * @param - * @retval - */ -STR_TimeSliceOffset m_excessiveLoad; -uint8_t excessiveLoadFlag = 0; -void Task_excessiveLoad(void) -{ - static uint8_t num = 0; - static uint16_t numLong = 0; - -// if (outputAgainFlag == 1) { -//// outputAgainFlag = 0; -// GPIO_WriteBit(POW_OUT_CON_GPIO, POW_OUT_CON_PIN, RESET); -// TimeSliceOffset_Unregister(&m_outputAgain); -// m_outputAgain.runFlag = 0; -// num = 0; -// } - -// printf(" in POW_OUT_CON\n"); - if (outputAgainFlag == 1) { - num = 0; - numLong = 0; - excessiveLoadFlag = 0; - TimeSliceOffset_Unregister(&m_excessiveLoad); - m_excessiveLoad.runFlag = 0; - } - - if (excessiveLoadFlag == 1) { - num++; - } - - if (num == g_slConfigInfo.excessiveLoadFlagTime) { - num = 0; - excessiveLoadFlag = 0; - TimeSliceOffset_Unregister(&m_excessiveLoad); - m_excessiveLoad.runFlag = 0; - return; - } - - - - if (excessiveLoadFlag >= 2) { - GPIO_WriteBit(POW_OUT_CON_GPIO, POW_OUT_CON_PIN, RESET); - num = 0; - } - - if (!(GPIO_ReadOutputDataBit(POW_OUT_CON_GPIO, POW_OUT_CON_PIN))) { - numLong++; - } - - if (numLong == g_slConfigInfo.eLAgainTime) { - numLong = 0; - GPIO_WriteBit(POW_OUT_CON_GPIO, POW_OUT_CON_PIN, SET); - excessiveLoadFlag = 0; - TimeSliceOffset_Unregister(&m_excessiveLoad); - m_excessiveLoad.runFlag = 0; - } - - return; -} - -/** - * @brief 设定传感器能再次注册的间隔时间 - * @param - * @retval - */ -STR_TimeSliceOffset m_sensorEnableBroadcast; -/* 是否接收广播帧标志位 */ -uint8_t run_Broadcast = 1; -void Task_sensorEnableBroadcast(void) -{ - static uint32_t enabBroadcastTimeFlag = 0; - enabBroadcastTimeFlag++; - run_Broadcast = 0; - - if (enabBroadcastTimeFlag == g_slConfigInfo.sensorEnableBroadcastTime) { - enabBroadcastTimeFlag = 0; - run_Broadcast = 1; - TimeSliceOffset_Unregister(&m_sensorEnableBroadcast); - m_sensorEnableBroadcast.runFlag = 0; - } - return; -} - -/** - * @brief 初始化各个寄存器 - * @param - * @retval - */ -void g_Mppt_Para_Init(void) -{ - g_impedance = (float_t)g_slConfigInfo.loopImpedance / 1000; - - g_Mppt_Para.Registration_Status = UNREGISTER; - g_Mppt_Para.address[0] = g_slConfigInfo.address[0]; - g_Mppt_Para.address[1] = g_slConfigInfo.address[1]; - g_Mppt_Para.address[2] = g_slConfigInfo.address[2]; - g_Mppt_Para.address[3] = g_slConfigInfo.address[3]; - g_Mppt_Para.address[4] = g_slConfigInfo.address[4]; - g_Mppt_Para.address[5] = g_slConfigInfo.address[5]; - g_Mppt_Para.address[6] = g_slConfigInfo.address[6]; - g_Mppt_Para.Access_Node_Type = defaultValue.access_Node_Type; - g_Mppt_Para.Communication_Methods = defaultValue.communication_Methods; - -// g_Mppt_Para.Output_Voltage = get_capturedata(get_PV_VOLT_OUT); -// g_Mppt_Para.Battery_Voltage = g_Mppt_Para.Output_Voltage; -// g_Mppt_Para.Charg_Current = get_capturedata(get_CHG_CURR); -// g_Mppt_Para.Discharg_Current = get_capturedata(get_DSG_CURR); -// g_Mppt_Para.Solar_Open_Circuit_Voltage = get_capturedata(get_PV1_VOLT_IN); -// g_Mppt_Para.HighSideMos_Temperature = get_capturedata(get_MOSFET_Temper); g_Mppt_Para.Output_Voltage = get_capturedata(get_PV_VOLT_OUT); - - g_Mppt_Para.Output_Voltage = get_PV_VOLT_OUT(); -// g_Mppt_Para.Battery_Voltage = g_Mppt_Para.Output_Voltage; - g_Mppt_Para.Charg_Current = get_CHG_CURR(); - g_Mppt_Para.Discharg_Current = get_DSG_CURR(); - g_Mppt_Para.Battery_Voltage = g_Mppt_Para.Output_Voltage - - (g_Mppt_Para.Charg_Current - g_Mppt_Para.Discharg_Current) * g_impedance; - g_Mppt_Para.Solar_Open_Circuit_Voltage = get_PV1_VOLT_IN(); - g_Mppt_Para.HighSideMos_Temperature = get_MOSFET_Temper(); - - if (g_Mppt_Para.Battery_Voltage < 15 || g_Mppt_Para.Battery_Voltage > 11) { -// GPIO_WriteBit(POW_OUT_CON_GPIO, POW_OUT_CON_PIN, SET); - g_impedanceStart = 1; - } - g_Mppt_Para.DischargMos_State = GPIO_ReadOutputDataBit(POW_OUT_CON_GPIO, POW_OUT_CON_PIN) - && GPIO_ReadInputDataBit(DSG_PROT_GPIO, DSG_PROT_PIN); - g_Mppt_Para.MPPT_Mode = NoWork; - - -// printf("start_flag : %s \n", g_slConfigInfo.start_Flag); -// for (int var = 0; var < 7; ++var) { -// printf("address[%d] : %x\n", var, g_slConfigInfo.address[var]); -// } -// printf("end_flag : %x\n", g_slConfigInfo.end_Flag); -// printf("access_Node_Type : %x\n", defaultValue.access_Node_Type); -// printf("communication_Methods : %x\n", defaultValue.communication_Methods); -} - -/** - * @brief 初始化各个任务和读取配置文件等 - * @param - * @retval - */ -void task_Init(void) -{ - read_config_info(); - g_Mppt_Para_Init(); - - TimeSliceOffset_Register(&m_runled, Task_RunLED, runled_reloadVal, runled_offset); - - TimeSliceOffset_Register(&m_usart, Task_usart, usart_reloadVal, usart_offset); - - TimeSliceOffset_Register(&m_wdi, Task_wdi, wdi_reloadVal, wdi_offset); - -// TimeSliceOffset_Register(&m_impedanceCalculation, Task_impedanceCalculation -// , impedanceCalculation_reloadVal, impedanceCalculation_reloadVal); - - TimeSliceOffset_Register(&m_refreshRegister, Task_refreshRegister - , refreshRegister_reloadVal, refreshRegister_reloadVal); - - TimeSliceOffset_Register(&m_startMpptControl, Task_startMpptControl - , startMpptControl_reloadVal, startMpptControl_offset); - - TimeSliceOffset_Start(); /* 启动时间片轮询 */ -} - - -/** - * @brief 初始化所需外设 - * @param - * @retval - */ -void hardware_Init(void) -{ - TIM2_Init(1); - uart_dev_init(); - PWM_TIM_Configuration(); -// TIM_SetCompare4(TIM4, 0); - ADC_all_Init(); - RUN_LED_Init(); - WDI_INPUT_Init(); - SPI_Flash_Init(); - POW_OUT_CON_Init(); - DSG_PROT_Init(); - WORK_VOLT_INT_Init(); -// EnPowerSupply_Init(); - -// Set_duty_ratio(&g_duty_ratio); - -// uart_dev_write(g_bat485_uart3_handle, " hello world \n", sizeof(" hello world \n")); - - TIM3_Init(10); -// TIM_Cmd(TIM3, ENABLE); //TIM3使能 -} - diff --git a/App/src/uart_dev.c b/App/src/uart_dev.c index db1236e..2c3947e 100644 --- a/App/src/uart_dev.c +++ b/App/src/uart_dev.c @@ -7,6 +7,7 @@ #include "uart_dev.h" #include "inflash.h" +#include "parameter.h" /* 使能485发送 */ #define rs485_send_enable 1 @@ -80,12 +81,12 @@ device_handle uart_dev_init(void) // } // } InitRingQueue(&uart_devices[0].uart_ring_queue, bat485_in_buff, sizeof(bat485_in_buff)); - uart_init(BAT485_UART_INDEX, g_slConfigInfo.baud_485); + uart_init(BAT485_UART_INDEX, g_otherParameter.bat485_Baud); uart_devices[0].init = 1; g_bat485_uart3_handle = (device_handle)(&uart_devices[0]); InitRingQueue(&uart_devices[1].uart_ring_queue, gw485_in_buff, sizeof(gw485_in_buff)); - uart_init(GW485_UART_INDEX, g_slConfigInfo.baud_485); + uart_init(GW485_UART_INDEX, g_otherParameter.gw485_Baud); uart_devices[1].init = 1; g_gw485_uart4_handle = (device_handle)(&uart_devices[1]); diff --git a/Hardware/src/gpio.c b/Hardware/src/gpio.c index d8c446a..c5250d9 100644 --- a/Hardware/src/gpio.c +++ b/Hardware/src/gpio.c @@ -103,17 +103,11 @@ void EXTI2_IRQHandler(void) // GPIO_WriteBit(DSG_PROT_GPIO, DSG_PROT_PIN, RESET); EXTI_ClearITPendingBit(EXTI_Line2); //清除中断标志位 // printf("Run at EXTI 111\r\n"); - if (outputAgainFlag == 0) { - outputAgainFlag = 1; - TimeSliceOffset_Register(&m_outputAgain, Task_outputAgain - , outputAgain_reloadVal, outputAgain_offset); +// if (outputAgainFlag == 0) { +// outputAgainFlag = 1; +// TimeSliceOffset_Register(&m_outputAgain, Task_outputAgain +// , outputAgain_reloadVal, outputAgain_offset); // m_outputAgain.runFlag = 1; - return; - } - -// if (outputAgainFlag == 1) { -// GPIO_WriteBit(POW_OUT_CON_GPIO, POW_OUT_CON_PIN, RESET); -// EXTI_ClearITPendingBit(EXTI_Line2); //清除中断标志位 // return; // } @@ -163,19 +157,13 @@ void WORK_VOLT_INT_Init(void) void EXTI15_10_IRQHandler(void) { if(EXTI_GetITStatus(EXTI_Line12)==SET) { //EXTI_GetITStatus用来获取中断标志位状态,如果EXTI线产生中断则返回SET,否则返回RESET -// printf(" vout low 11V \n"); - EXTI_ClearITPendingBit(EXTI_Line12); //清除中断标志位 - excessiveLoadFlag++; - TimeSliceOffset_Register(&m_excessiveLoad, Task_excessiveLoad - , excessiveLoad_reloadVal, excessiveLoad_offset); +// EXTI_ClearITPendingBit(EXTI_Line12); //清除中断标志位 +// excessiveLoadFlag++; +// TimeSliceOffset_Register(&m_excessiveLoad, Task_excessiveLoad +// , excessiveLoad_reloadVal, excessiveLoad_offset); -// uart_dev_write(g_bat485_uart3_handle, "\n\n\n\n\n in vout low 8V (Set)\n\n\n\n\n", sizeof("\n\n\n\n\n in vout low 8V (Set)\n\n\n\n\n")); } -// uart_dev_write(g_bat485_uart3_handle, "\n\n\n\n\n in vout low 8V\n\n\n\n\n", sizeof("\n\n\n\n\n in vout low 8V\n\n\n\n\n")); -// if(EXTI_GetITStatus(EXTI_Line12)==SET) { //EXTI_GetITStatus用来获取中断标志位状态,如果EXTI线产生中断则返回SET,否则返回RESET -//// printf(" vout low 11V \n"); -// uart_dev_write(g_bat485_uart3_handle, "\n\n\n\n\n in vout low 8V\n\n\n\n\n", sizeof("\n\n\n\n\n in vout low 8V\n\n\n\n\n")); -// } + } diff --git a/Hardware/src/tim.c b/Hardware/src/tim.c index 68cd54d..0162cb4 100644 --- a/Hardware/src/tim.c +++ b/Hardware/src/tim.c @@ -59,7 +59,7 @@ void TIM3_IRQHandler(void) if (TIM_GetITStatus(TIM3, TIM_IT_Update) != RESET) { //检查TIM3中断是否发生。 TIM_ClearITPendingBit(TIM3, TIM_IT_Update); //清除TIM3的中断挂起位。 // uart_dev_write(g_bat485_uart3_handle, "\n\n\n\n\nin tim3 irt\n\n\n\n\n", sizeof("\n\n\n\n\nin tim3 irt\n\n\n\n\n")); - test(); +// test(); } } diff --git a/User/main.c b/User/main.c index 94154f5..ff4adba 100644 --- a/User/main.c +++ b/User/main.c @@ -39,6 +39,6 @@ int main(void) printf("SystemClk:%d\r\n", SystemCoreClock); printf( "ChipID:%08x\r\n", DBGMCU_GetCHIPID()); - hardware_Init(); - task_Init(); +// hardware_Init(); +// task_Init(); } diff --git a/obj/App/src/hy_protocol.o b/obj/App/src/hy_protocol.o index dbf03199bd47407bde94339afaa3aa3f566bac37..ca3ae90f5931a961ced46e9ae980db673cbae89e 100644 GIT binary patch literal 42184 zcmd_T33yc19X@>SOfp#sAz=$3#snr{NXQHU0s=x<0*ZhTQ42a|nIwbR%)+9$Au3v} zwYb%4wRN}JT6ep+)upwIUG1*6YPGGc*0wHn`@iq`oiq335~Tm_d%oxUPM*2e%$j|@VhP$+Sed*YJ^B%-9{uwpUc=c9d$+zbvgOtL zRq>PWd|W*E?~%LCx+n6Ax~wcS>;5Z$@qjJ+?HAZ`9R1|c=`uZ#uT=55`D*X(d{rD- z96383!|%CSAYjkNNnX^LMM_tkG)E4J{cBUQ2dP z_Bl`Gt8*IiRm<+TLuKbZcWyMDuI&81Sv8TCvG1hoHGg;41J^dRWW1wZ>Ob`3bDo-^ z&Ut#0`u8R0Jheb?SL^L&z3tT7o!Gu~ZTtJhk#%|JE-yYePucnf^U7Sc>XB<3UK;n# zyU7PSRvuqdQxii^d1Ft)mZ3>@s@d#Y%)Zs^lV;y$_MK+mW%j*hKVbHQX1~?!Pc!?S zW`DZbpJDc!R;^jF_Jq<+Q~T#nZ9Sp%sHTCIjzoQ5Pg844Q~y9yYinP!zrVD9u%!k2 z5xFCB)vPf}W$4rydT^st_6;E~LL&x_QlZN6b=-N`nuRjClbCrW>lqWm(8eyqiCJ61 znuanYCR@jZvNg-d$V_z)*f{MdTvqZ0$TKs(gsq=*#*BjFVbGF{J_lbq?rhk#x6GtB zZVyOyM#jzI_W*M6Q5m=9Ka<9{71OSAS&JOhIgk3V%FoWYA*Tv_1Y&#ep4cIvsZ*nfg|&B&PHM>ePq5S zCd0!tF&Qq<#ALWolS0XTktU;s9InZDA&WJcBxH#urD_y&%l0BiWPdtch9h%{O&M0_ zkepRSU1W`}f%1eMtrqSn;em?E=#3EwjG!bDfO~smWUPg?m zSo37I#U3;m{pJ1(8-9%A%#8nl6zg`&jtpj(qxYmfTSpNavQ6B>35SYScSP>X?!V2{6?o)E#$YkH={o5ggjq#AsVAm z$RG3Pq5qB(@^V2H$Yvq0=uy(DMn8{BWf(8#*t6Uh|CLR zGk!d2n13VE77&x87k&TU+D=wJygVzyxP#SL-|=)*?t$2*z-b#pGJjWG;~iWw-~Xn zhtQ@kBLlO1k0s8`;P}-&F&asnp3v0v#9y`YZEQ#1jpA^eIZB#rpOqp?FIyabz6SX$ zgF!E{99Megg@m7BxmmL#2YVByW7kMv)j6_4E)honGPTA&`x{ zSo_QjI@V4KB8Pj~IXEDQlf_;UiD65GMI^4?D_YNNRW5fWkeQ-R{Bh*?P*yd1M1-3{ zlM~2Y`d^zsBjVTJ4;wwsBjI~9%1d0-}S;eB;Ad|Qo`;Kwnf;z!cG?U zEn%I)o)Fe0Q|JdOmqUnI>qaUO&dfE>5`LoP2bXqn8Z zs|P1W$t%E_8F!+kCvy(jfjj~@Gvfn9=5idBgX-Kv>R_E`R(KqjCL!73gFXwwV};6^ zR6GMa!3U3Ck;Y}CPqH|BysycgqBW&m$U!H{uF=9nvNHBSU(ir+6Jp8$&DK-p#5u*I z&OpS(NxAQOIcMdXM$G+>SG)seY0}*Hy<++e>E_P;K;mSS=6)z~kty}-*Q?x*Bu>U` z?#B|BE9q27`;-MV*9&Q%1risMxI$rJi7OJ8A#t*}=4MLV*eMO`kY7aN#)~pb;wH#h zTW)qJ{B;yt*E8=BT~EPfqgWlm<&J%d#$mQg{-h$di`L{HH1^wQ8Nrh^&TT^EKVa0o z*<#`jF8l*bp$v2)cG-G2l{hnlvvtI-P-HHyQ=&AT>Gp-jW=xE@I8>eomFc;Wqr6AJ zwBjVaZPMFjy=~FkR=rK?ZJXY9>TQ?a_Ui2^dOM)EgL=DFZ%@l`B9JU0i?l3H>Bgj8 zH)f{rHI|2EJdZp)#KP!K7`dc`(fZ`6VC1sG`#{9yayRD{Zq5yE&MPHnNwaDM(_^h> zp`WzbdM4W=LTxbVF){L}!rudDX1s*$MiyYwR&s(M6KQlPNGd-qznU6 z8g`T0dYjzV+cc#08od$6rV}-KPCqqzPCqqzZa=N@A{V6-t#OOD#x35OA;oL(B9EmL zHF&jtof^D)zfKL_(N3L~c#*f$iI#W^{X|Q=BmG26yiYla4)Y?Fg|;CM^H%wZ4)c!n z6CLKYIf-U_k(1JiX1gO|wmTwb4;c|Ny~yS1L^Ivu&2)=5b4c-~dy!|-iKe^#G~Ml| z>877%=qXh0MLb?PO7E6?F~3sf-r;_w%DpwZQdK$?E?v22@UFR{NU3TKv%NTzGtA`X zT*TD$B?pvO=#AiUBKA5gHo#cC5j>t#ET;Gv3qCZmS&XPX#F%TVESP7(atqcPFnhBB zOzFKi?@iP#-eqiac3AnT2F#`GSEH4x^FAfZOr5tWv>SADDEmId&7P&Vk?@5g%$EWn+X;F*vp4R8aV*Q>j zhso~_$?v>$es|0uUbv`NdH3lHK$dSI+)MfPivISre(yBu)na^=0U=t&F*Nj6K zEz$7IgIRQjdR@#jV^n&ZmeS;%Er(mcW&ML)%G;$Y!Khi>EJKs+9_71UOrzHv$n0zB z%$jv?P$cfR6!1LF=bdT3oW?`Zx9O3021gYJ0Y;IwahzN#HZShWZt`VmA8G|x1RK0- zIMN$_1(WxwhF7@T)bJK}o7GAy8ui`GG|r#r;5m_1R#W85^QH}J&Y$h4EWSQpd853k z1;u&cf{6vkj2q<@j>B2x6qT2^2qv6^j8)-+`FV%s&C6SbuFEhn+34tz5YZMXhGYRQ z-?NN1Q?%LRyu3U~>Oqz>Vu+_)&s$YYd)^^xRq@O`oD3BY(T{NTb%-xuhB)0R_QD0O zW88NNXWJrDI7%xr{j7_IxWXw9CT|4_JbH{*Q6i-nlZjH`o=sHm#-%-=E-WN&XX$3p zRbw6{Lkw^^Azdt!WTL5#p_5E&7OLa3=ReOh*_=!e&MUlnhudLTKuXa<1FbZepdB==no75n0 zcCfArj#LMEvEucJJ1+0|%wx6Rc&3UKGtDff!Eve9@Y#+wPqcILkes5q7wqyd_+!YS z?!sLjt~4*LN44fzGqav=>VSr=D3LlGX3A-1!~(ZruomXwM0b%Xu#p_@I$2dLZWgDT zLi=7-Jfty}xS6nG^)RFdIa`0Jn=cj1+)Qa$j*2L$-->Efb4Ugay2apUWwqjf=`OI- zT&YzW>SgzY2xAw5gZb^%V5UX&UJJ804R82a$r;f8`Pn~FC zSZ((XAo-tDTgPtJE*>u4OMiEUc5C((F{fl{vmfo&E#2CgY6osE>5E?~oqpJVjCC38 z7Hc1_{Ep*@I#r#a%F>0+Qvbv`tz*a*LAl@3!6d`wl%dX4rD>cp*4AWeX?shHwr#EI?&(feY5V3>cT4ABYjSf}Q%gsxJNbXXbN`P1|8=jO zspieYmby&cKErcS2YCwf`3d9ZyS zD_UHu|Btu$J~=Jz=}Riru_Mvj*E7)5($iUus{*AGt;x2g!Onriz>eNze{~0EMQ2aT z$v_w+X)AF50J^yicFdT*WU_leBsLw@kl@R5v7=uGl3j_Gj#=@}Sj{XLaYE%V48&G8 z2_kT>e6Xo+07cmfhSSilrhyJ1oU*r|)CrC>#^3_WEx(o`OLU@$nSGDI1v zyzrSiB1e2=W?ODjM2sCC!df`qdML2IjqCAdpKVeUgn3ox$u?aABPy_7;8zzuGshP3 zfF;PbX}xfUlsyve(OKnki_ef|_?Y#VY|YkWXv=TinF42K;?}ik(um|>ikKTQmGMkl z4(@EhIjB{z3QQ?`I*M|GW9tm&N03M`z`DTw|N*APK zU=b(jaWdLy$NOod^7+*!&gKt-A(`m!Po0`f z45&l`YgALGz^zT4gGreB+f<@2+0?359-la>zkOX_Ps@tI?iMUTO?~aD?)JtGJYLk% z)7iSQr*ojGJ-M`}yDil|*w-|W>giUAZGEYMq}tH9q;b7UH1)R(q`H!c=0P}Z**d^m z7I532?C$UBTQi7bUf-(jQwCFgJA%1&^|Yqib}a4b>Kg1$wP@d~mZ`*G_h5gr6{Q^L zLRKyPeFHsR&HY$0n~-UuTjzr~vd@OwdtI@;>)Eeuy`+$F@56J zXJ|_!#&)==>d}KqbQ4=X(S?p)vTUhT!SqR@uc^CL^{3jqaT3F%%2sye@y;+(>z8j> zzJBBKWi@FOQ-j@ZI;)tKR@A1^>@=Fg!O-8EY)Q4HlC5?ir@GsEfHrK6&5yKu!v~^<$ zv~>3LCsli*V+WeBvAL6(qG?;VHT5M|ElUI(*dAiT$L3&|LCwLv&)C){7}5ewtr*d* zJe%Ref(bc+z%XL$DeQ66`}IBBft-nc%!VcF8xyM<#j1p|WtSz}nAquaHgs}eRd@eD z-=Lmpj1P>iq0ap}s=#x*1lBFCD}g$F zV&hnkZ2e$DTk-Wx-R()UhT5KM<5^e&*9rZ4E$yA%kF!Wj{PYCTD?p-u#j4fIQIG!C z6wVY=94(zq?fr3Op8ZrC^jRa%RhQ~@ERpQ%>+azy(T?TIu8C+x-JyYTU!TG<51(C4 z+u2+VYmO;hI&WU7K9?`8>T2q1=~&pebyhrutC8*7XlYI@Om+6oiUap|HFb7YaUrVe zOm(FO7M9l0+O#!Ug;6ko5|vi9msYLqFRj8TT-e?{2-j6@T^M{gmQ-QEYai%XSOb$R z2~}(^Fm@Cd=_;)3+#`LP&c)%~Jyo0$JPKjvB%8YNU|a$R1}v#HO2$D#w=j+mTT`v7 zsjrVsfkTsCm}kX#NKAGm``VM;E&7O*ZlRUwNhckWUXHs5yAs_!+xF>X+q6!?M0cvE znZvKYT_0(?*;GBaOzaudN1XPiuC6BCML?MJ?c40Au1$~XHY`e=seY7G`wEOnOavU| zc5J}Wa1a?uHf%?IAX9CfJxv4HHnk`E2D|-Lm%XhgzMVTAcD!tB(Fa&_3<~7d!Z~wP z&j2pgntRYbjhLXgZX3YS36I?of`$!%E2^5cwor!}=>KFHvZHAb(P7&y38N7DAro@UGx_h8E^ zZDW;|t=h1pUQa++cF?l4arOF`-p2KI7N%N~=PB5p%qk^2F>L!%EvW(BJLthw3wo%n zx2Ip9hvD>~nYtBNQ?YWc)QcDn@LkOVJ=EBX8^bcOtmDP zu{vZ0K}N%$Um;>xujwO7qP4##Js8>2wROQB+fP-|y*-0ySUUsLi(GT($@=64d4Iyv z*xZBzA=&}s@#I7&9&^{{M?)LOoSI?y_YJJTDCe?>vpC(rvSOM+LQ5Y?z6~QE7&+_V z&$C`E99Y)|aDJta8#0c#(3mE*l@H#_=xN?UKju&`r-4ZfL@9@@G`c&rT`gU?Y8_5y zmnA!!cA&Re6aPdHr`CM~`b9_av${DnOXhWtbZ%c=B$m}0%?&(D%umQUD zjfG$z*@nh!zuxHb${zS|6CY4ydcIlCcM&@R^e#mNzB|smw_c{A8CyVfU%xWB6 zgQX2L&d?Q$GeP$WRvX-Fk?utfL$3~&*%NWBJs4o=_MvN>YvFW=YYdLoO1gWAi>STcTDGKd39iuEy5(Yni(9I{74xdAzkOA! zzG6TFaTQPDc-o#Ez$8fWxIpKhwDjW)t(~jLU@{>`b0sS;X1^S5Rm0My^Gl~~Uxyi1 z%Cn30t2QjH+E}{W-U3DZjM7>0s^-+dbUE$d<6ugCjNmD6r#B*`IZWxmcsKn2jZbka z54>`3=I1gl2=57B z_t(Gr<#WIIx%CuC2#Wil>5!rR@o|~};BL7~!R31cYcx+4T8j7#d3p~PDnsBi(y;{p z9rtq?`VB=G_fh#)7lZiE4EPuBr^kI)CxmhHbEDysJ`zYT+)tl=_DH7+<96-YL(*pj z(hK*~^VxPk;JZO}v!RlIb|AfQKRs>;JAt>7o*j}tCy-vapPu)Q{1C=%w0B7Q5rOo= z{q%SezzJbhpspE`z95iZxSt+Rj5r~T(f#O<^dkf5h5PC8;GYx1s!+W$Bz<8Zy>LIh z^GFT+gz@;?C=ffK@bQSOW(=|>0B3-{CGAtEP))tG?(zvKQa68(X=Kk7v9_kwW0RKh2u%P4$u zfJXydKfTp@e?AHK%PZWUKf(`97h1SKU;f|0=LgE?&tEBD zeIVYS&k}z`Abw4NuRj3y=d<`bF`y6fjzD~ncLw5n1KgkAl3$S9cjWPyp&noU{2!j5 z7x3@TZ_yu!UlBt6>{nL7B&jWEhw{L>z zgS^0rw@U8AYNEQ+U;JR1s2(u970d&7Ls(5xj}OsLa--o-zgL*Hh2@<;hnJ=?LD+x7 zOxwfqo={p7R#VfMAgn3^e0qRa>hbFrQLbm);|-55W$9G1-n#8G^!QVyegJ0|ruAdg zPr&{0Jw`nT?yrAi)NjH4`85V_7UL=3boz1X6>#_X@)vMF9IV~|cjp6NzIW&2d*E*W zegy80e>|6vzJ}p^#xn{c_@PWyfLBMXrBc;^SEV(TY98>i z^kqb)s!zu;O@&%Ngilu|f!lLbzH8DBzCArYD^)l6rKppHN;L?6t>b?u`1APK_;Y|S zN?%4)stdvIb^KilJ}P~gSE;T7zcYQ=S*flAU*yE!4E~q&Wm%>ADtK1<09vW;2mfyR zgrHJA4E}MtLo3zO;9H#XJPUq-=ap3X;3)EDqgTW^|{aXQks8gPq;87=jF8JS^_BtH=Kln(f zR1Lt7TMGYc!Jl{dvEb7Stf5jRz^`-Ks~x<>Y40BJ1GKMwp5OWFV6 z{`p9yssP{O)MqC6ZBF^;f?wj~e>nKB9DjJwTV3qbXDxUX9|@J}Sl}9`Jrm$lobtDW z|J?E41O8KdZ2E1$QKvj-g1_a&pHJ-6_Y&{{r#x4J^L=^i?>g|So%Xr~e3CQ1zXtxa zGyWa`m$zQ&p;GtF)3oV;`49X@XTCfOF2DIf0s0^Odro~{0KXL<36<(q;BPqjzX9%_ zpH-@N!13xrTK_Tdg-(64koW6O{v&}Sj(!~Y8IJ#h!TqB+`X8KYq=ZT}6Z|cw{pNzd z>ZCs$e4E1?z@KpVTJQ!Z{juP!&iG1z*E;Rd4t~C~9`t~(aoT?y_(P7rGr?1~xM<%! z;O{&BE(O2BDbLm5zjxZ}2Jj4LJl+BRS%=>Te!ElNhryq6(mxIUs*^u|mEt|8y?+fJ zch(n4E6s@>p=9e)>tk8|q7zWk%pzSn`bIQ6*|{B$S3uY+eg?a#S&z7zi)@H3q8{sZv! zPX50Dzs}J=4}P2z&$)1$6aOaoiB9}`;P*K3A@tR^9i9i?=(Oi(aJ)xjLZvzge7U2K zf`8hHp9y}J)82L9a~!?|{6~)eBfxJ$nIu%I4dA^_`)me(*NIPpU*hm?@SRToZ3Dm2 z>7TQ}|AR4W{a*n7b*DU^13$&#UjV<#>CYR%Z*#`~o#4Grd)^P;g^%_B2=Ez}V*Gp; ze4109pMYQCl$Sqh^12iM68J8seO?Ej;Gj*KPXDYx{4bpNwctN?>cg>_>y*Cjm{?*@O_@%K&e#~uCz z_^+Mv{t*08C;fBaJx={z0Ovb!5-Qbe;FF#9`Um)1PW*qs|Ll}MjJABy@t+UQpPjP) z#(>}D=qH17j@kGM@R#7z@*40dPX6=2f9J&4gI{jtXrCj&o1Ok^1aEZ4#|hvooc!Cs zA9VcnfX{K}&vtNLbK3Hp4gOE3eiwqvFQ-vasrG_5JMDiBc#q@nCh!X5jry;G|IryA z4}f3mw8x|1Yw?j#slEsNj8mVVf@eAT{Wh&-iW2olaQAxLzjk4Kxq1`vQ9>O`)H~pl zEk*oC;42)SiMn?@BbVL?w@a$sP*7}`AXFB;QsxE5_J-|d;g~$+^=tm>IQf3uMUD2Ipy04ew8y` z@DrWt-_CmW8Sp}UBvh&^fq4wF{CeG@Hv#)2mueh~O>hfe`7bjni&?uRj|7TmqRbQt&zPWpOqzV{#j^Bw##Cw@KnYNx$6 zfxqCyb8V=$$?^SA2e{wgV^lY|KiS%iQ0IfEv%`hcXTZPd zwAYp3Cpzod_25V2BLV9>@IwygwQW@M|z5j)G_lMkH!;AOoBF7(p zoalCkSAhS;;nm>o{k7TPFFNu5xh{?4)KbK!s|S7rcwt&UP8|*I-aq8A+n@jAR014T zG+~@-1NXxi)d^mfHjGhy;QsnEMr{Yb(1|}2++TmjsPn*2a^n4aZ8Vmus}b*qaq4<- ze>{y-H-o$Ny93-U@7>^T{T>AO%R5dz4DR3GDp5~@yZ!wGaJRpI2JW{1Zvy-e;O_C| zHSj~z6~K4`_vaVJ6S$k-hv0608JHVxe!Q3D@*;3IKmL%^5l()k0euCyd%UOy_vd$s znjJ{L0Q^PA-_k((bQC~1@atC27dek?uzV!}erSNl0(@D3A8Gg=_!@=pFE$#^F*=HO zMn3Tcm7z}(Rub#8q54G(YmBMt)vB5^wz3Zk%oW%{KmK z8-KHnzuCs$Y~ydX@i*J}n{E8fG3A?M{LL}`<`{o-jK4Xyla0SQ#@`&{Z;tUd*Z7-j z{LMA~<{E!rWYqngP5H+F*|W$cIL$F)QQ=-6SI>iW@k^#PM?^aKQTLj zVs-|_>=cUGITW*#C}w9-%ub`2oky`++q`xr#q3my*|`+6lPP9rQ_N1MxF2PE(9W!w zomw$Fw_^zIvi59anEoP@$ z%+9r#ooq2X+hTUQ#q4~G*$Ef3GcIPQT+Gh7n4NSnJL_V0+Qsa=i`j`6vokMdr(Vp? zy_lVRF+2NWcKXHa{EOKM7_&1lW~X4x&cV2ygK;~?;&w8|?Tm}pm{}ROvoem~64Mhl zZYN{hPR6*MjBz^|<90H}?GY?)Cu7`B#<-n~aXT5~b~488WQ^O%7`Kx#o<4%vSsB-( zZbiMG9xImX-RcdETqx@6b$T$a7T9qxW2Z~UJy#0uSy}G6PH@kv*4OK-NIAl|r_YUY z_OMY-JFw##g&lK1oJe%pV5DE{%$gUs>qp$KA91@R#O*>7w+l(!E+lcgki_jm61VF| z+^!#SyMDx_73y^a8pAAwalNdd3T7dU>qP~e6~&Hqz|PF1xUL0Sl;wsK?htEhp;sO7 zv~Sa@Qd#D(aW(yJTrEvQuNzlW1ea_dxa1D&Ufix%al2l{?Rpir%T(O1PI0?}#qGis zx9e5hu2*rrUTu`KLv#nrj2(-Levq>1h6Q7Z5GNg{8yU=0LQ1Y%4MwSr9wl%sUi6>^ zliHb~p$86(lAYelfY2ij5fZ~J<;;;kNWe1I*E7fZ<$7CBpY_Z2ww~$hm+Ni4&ZU02 z?CNz{>zB)}UY8Y&rGtc7U<9*{^~+@^{RxR=s2c^0MS?_(dh~%wIrMl1W23;CxW*3W z^25CmFFzra;M?4ZTD+k=+>7^t-v!wBZ7~0}N8=9HReUcT9&NVvwR!zQCST{>_vZ-` zZduUy!@pu@eoP@9Y2Qz@FA@ey06*pj28RCR!jQK*aj}h1w9>zGG)qi)BM0B7tr9!2 zwe$LXqOlWOdlb0n2+;PLg0CX}onY3z@b`jCv8#GsFtVuQf@uoiR76#ju$dETe+kAin$SNM`(-lHpg zS@5mcRlOqk4%%5LguC!5d{slmp<^-sM_HAzX9HV%KJ6wg@6+0!^X8oLMvEWryzzo@ zM@)I#AWXr>E5!z320k7Q2(|cl(=^mSFYPfBVHrLi2L-}vd^`#f8u9V!G}LY4EfCyF z`(nYJ#B_i#fRD#XiLetNFJD8oo48PLg!nbVjQ0L4m~UKp>?j2Mdb0BVsv+(?0>6&$ z%CJ9#_-|roHN3wIt|ERzFn{#gdsA>dvH6m}f%q-4A4B|4!JCQyCAf+B--3IH-xj=; z_#MHg6La7od>S9`Jq^`oiT@+`%f#;szJ>S$!S@hBk{gM$#Ln-4JPtI3Q;GSX-w@6x&J}za zvH9};31SXLgr5+P5d1u`xq<#y;*ny1m$*eh|L3(mk>`C`!&Q-!F+zxGcShn`DJgK z*uO(OT`-?3_RJT%{NFBKrPwDE&k$Tm%zw0mP)E!`fxz$QyqSX66W0h%5XS^xK^zx+ z6Y(s;_Yj*003RcsEp|RP>&+4Td*Zo*|4LjZ_&s9&>okNcd`Ih<2VL;v+R8gj?B&D@ z1jmRM3O<~8k>I0<4;Q?Nc(LFV@e;w?i0cKPOT1L@UScx_zD&GK>|ZBdF8ER66@vLZ zsMjEv&w6^CKnQ$}5&!K|juU(t@$rJcO#CUq zcM)$A{4num!F=Y)~UWecqaZ2za;w^%YAU;{}M&eGv&BR@TyNSC6>mM)d z5&U`Ddj(%de2Uef_)o-J1&4Bhw+SvJ-Y%HWD|tHv&miVv zj4+@0G{Gy0cM9G}e7fL1;xh#EIU?^&!Ji>MOYqgiXA8cWc$eV2iO&)IF!64|&k&z0 z_&MV91iwYhg9Aez@E*Zg#1{z8C%#bd!Ni{y%x84Giv(8^Uo1FA{29Ug5q<9x!5fG_ zE11vQc$W%J5Pwc^l6bG+lZh`A%x4$9%LQ*EzC!Tn#8(PFhxjVN7Z875@Fm1o3%;EA z3xdBue2w5Q5nn5q&(V5c6nrP~b%O69zFzP{#9tEpBjPU${yFgtf`3DNqhLPk=G`Rt zPsBG1{u}Wvg8xH&tKcl0JbAYX9!-3^;6sSNB6uzF9fJA%ig%~rcH*xJ=5s05=h?)@ zC!aU5KEFWxHPPQne3xMS3uEPdUGPtd?-u+X@jZeg_+H+-S8y@$eS!}mzF%+^@dJYE ziI2lU7@>jqL9z2+a(ds@W|bm-NbFmQj}`rC#NQD69^!8bzMS}5g1=1sZNYaDKP>p$ zj{X@(|4T>z3h^VNf6LK-?CA6Hy}0#1f%s9;^Z5Z=o?2p4o+XZcE%9Tb-|Xm9j()47 z-%b3u=r48jUv%_ear6%ne@FCBIr^VD`WGGj--(|P{riqS8{fs-@{b`l?O9Izr08pi zP5Uo&^hY@Q*t{9VyM>*#;y=>P2K-y!~< z=reG=V#_~@*!0(AVpHE4#LtL+o}*vk=r=g}CgSglzT45C=IHl0`YVWkAo?2|{aud! z+m8PG#6J}MuO0oL9Q{8Xy@!h~??g#Jrg$zycYzQ5WgsR z9`PRpA4~j4!CQ!55_}%<%Yv^Yens$&#HMZUA~xggTf}C(eV6!8qW>H5tAalweob(0 zG4P)Sk0t(#;4q4&^~4_vK8pAw!Rv`X7JLG+d5W%?*puVV$;2VSXA*}6e~vgq z@Xf@$AV#>CI3oB#;PNaVR~Y-RsmT`m?;ZRKagNyk?BIV8n->iJ?cfiI^F;6A#)_9O zIGY&1Eyj@V;L*edVjoXDQt-jVg@Vf+TuD4i>@yuqzaB685pX%E$2@=245u(@jOA8& zW}TT#Z01NAaj~SGPHc|*)x@L49w#NuF9ejtu*s1#*{1EXt@$;yIpCC5%`aZF# z*R#Y}yXgNp2lE!TU6)>R@T?$#)d7(I4XIrxKg? zsd8|P*!ZaJE<>rrBiXYBO*2;M=W`3dc& zjy!~Tlf}-%gU1_Y2wbu)ev`OV>|DYu=JMnnB6d!1i#bKTGO_FXZw8msZr19##3tXv zh#85n)WQ0`obk`EF|2=mkIwkvbNkj$irAF@6bBCy8$F-vxB5Mf=CcmIjM$X<2I48$ zAlyPcRq$6Gd^fRK{~sfcisnh;3c>sh32&O<9}^q>3&hjK{t~g#|ApA-|4wZ5xP^mz zbfU-UReEj5(wkn}iS63XTlV%iHHjMIhu9vcN~tl&%_-EFwj#F2(`nS0bF&%Ln6XD} z&)EQR&rr&y*J0jpMaZVTN^m}LwNw6?f>~y-MsO){Ofbvf#Rcm!%o5Cey;{LF#Ipt0 z63-F5nE0m{un5bDIp`2p64wb{P0X9Y2>ae5bH7gF zMPlzIK3wns@nXSe5ib$Eo48)^9%2rBgo}um3Fh|@_Sk(5ahBMxCpPC8HxipZy_MMX z;~m7NAMYYIeRnUh>AOPS@6Cn*VLI_qf@?B>PZ9hm@i~GgLc@0#8Ho8FD#O9F|J=t> zqnSm#ZDYGnr*c60FFQ$HJY<%=b%6!jvCDcv>z{a;;7N^_eaV;C3fPd z(R`lvO=2gG8qJqz=RiXsjv5W`;g_8tcH*efe4X|a#ZDYGng?i4h@CiUG>_7LlGur( zM)MTyO=2gG8qKq`H;bJ(YBay1y+!QAQKR_-?X6-bjvCFMX-|rsIBGO+(cUI@;;7NQ zM|->2iK9jn!k8@U5Ib?yX!2-JiJdrVG{v-U5j%0zXeQCliHkrSHJUQoyTnc$HJT{x zzYsfd)Mysc-Y0hAsF^!UY3Iou0&&!6R?$8ncH*ef98LS6*omV?^C{Z5ik&!WG|ja0 zgb{%_YBb%nZx=gp)My52-ywG5sL`B8`>A3ljvCEw+D{WZanxuoqJ5{>iK9mIdD>4G zJ8{%#Zl?VVu@gs)=5E^06gzR$X!x#P*>hqijvCDmX+Kx&#L;sEKSw)HmJx`fM)N%F z=Zl>YBXiEe^%_oQKOkg`=w$hjv5VrE2QjmVkeFo zO)c$v#ZDYGn)$R}CU)Ye(JZC?atZL4 z8qEya?-o08)M#eYevjCRqeiok_It%n95tF1wBILo;;7NAq5Xcb6Gx4vk@g3~P8>Cw z6KH=>?8H%{X`}riu@gs)rjzz>h@CiUG<~#xQ|!c1qdArKZ;72aYBalO|F+nPqegQf z?GKBcIBGPXrTr1H6Gx5a3fdnPJ8{%#uA%)gu@gs)hQFgz_PE%IqegQF?cWhQanxw| zyEN|)Jq7}c@flv8l4K=PX_5qlzemn6YqS=XEd6|zZjD0sXraXIyr;6qx z?8>7)t}yn?s4@Dhh^LF@8tlps^>Kx<-$;$o-%4C1nme#7ul8|;vENIL(LYEW6V11< zE06oQ!q}gn#^}FGJX#!r1>sjnThLyhJn~U{_x6;|gQX@O*tX@p94R1DCJxafPvucJ$+kSBYj4^+))) z!q}%c`f0?gMKgo?ZXZ_|`)WtOj<{Dejntpz;|gQn?C4J--X)q=>Ywy+g|XMbK6|a$ ziEB;1i-6~xEOz3lM$ww!@tWrthY~kqj%T@!@t)%taSfx_a0Dg-|-z*Xy2dx zwj&hgaH{ZHK%EJgoE+-v-`)ir_oJ!z%al zX7I4u;oc7(R(Qa-g!}MMlF})Mc_*QIUx9vmV5t2QUL@cwt9Jf3n4Wu_a6=yY7k8YN z)y}H{)qOqM1oi%N;3SV#;|&vCQvaGU8uCKPfrmm!{N&n4uB1Bla6i#n+s5N`L3mI?-_SA(959%1lP=QZ2J_pjx zfF_u)%?nYyrLO~*U{}Y(sg0w+;!^{2IC?SQUvKe`$WWVgN>p}QI%8{kF<{A+3bo$q49Yde*G zW_>0&PrEbl$;apDfWJ3kE5pYI>u+_yUt^b2;~}EIarjt&ser#C6t;i`Ho^L94fyMX zztxDOKc41We-}gN&fijKTCFpqBjxWVF&pf3ppNykf&LgC4Cwe(%pQr-TdTVVI^xA9 z?!g|VegMq!@v?$(^#48M&zy#O#9Bh|XR3t`i34TaFLo zSl>edY#LCt=wRjiCXgRD6*{I_OcBCy=PPv$_VhOuAM0;Xz~5H*dld0D*u3Ti{QV35 z?m{H}agDeBcz@WYp^rJGO7VATZLo2x1O9Hj0RC{TOn;y17QC ziT?QM2PNYCmMWgm-lVS1EN4otR*Y`ab{~ki~WY literal 36552 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 TczNpTHGB&DbQ&?i7WKaX8IEXq diff --git a/obj/App/src/inflash.o b/obj/App/src/inflash.o index 3878df825cbbc3dee888d7facf41f88845a9fc2b..943450de895bb646645a2310a09e482df0c739d5 100644 GIT binary patch literal 12400 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 F{{U^c1zP|B literal 24468 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 Yq)ph@FQ=bf7OnBudk*()Nh5jx1(Fm*%m4rY diff --git a/obj/App/src/parameter.d b/obj/App/src/parameter.d new file mode 100644 index 0000000..54dfa18 --- /dev/null +++ b/obj/App/src/parameter.d @@ -0,0 +1,95 @@ +App/src/parameter.o: ../App/src/parameter.c \ + D:\psx\MPPT\git\App\inc/parameter.h D:\psx\MPPT\git\Debug/debug.h \ + D:\psx\MPPT\git\Peripheral\inc/ch32l103.h \ + D:\psx\MPPT\git\Core/core_riscv.h D:\psx\MPPT\git\User/system_ch32l103.h \ + D:\psx\MPPT\git\User/ch32l103_conf.h \ + D:\psx\MPPT\git\Peripheral\inc/ch32l103_adc.h \ + D:\psx\MPPT\git\Peripheral\inc/ch32l103.h \ + D:\psx\MPPT\git\Peripheral\inc/ch32l103_bkp.h \ + D:\psx\MPPT\git\Peripheral\inc/ch32l103_can.h \ + D:\psx\MPPT\git\Peripheral\inc/ch32l103_crc.h \ + D:\psx\MPPT\git\Peripheral\inc/ch32l103_dbgmcu.h \ + D:\psx\MPPT\git\Peripheral\inc/ch32l103_dma.h \ + D:\psx\MPPT\git\Peripheral\inc/ch32l103_exti.h \ + D:\psx\MPPT\git\Peripheral\inc/ch32l103_flash.h \ + D:\psx\MPPT\git\Peripheral\inc/ch32l103_gpio.h \ + D:\psx\MPPT\git\Peripheral\inc/ch32l103_i2c.h \ + D:\psx\MPPT\git\Peripheral\inc/ch32l103_iwdg.h \ + D:\psx\MPPT\git\Peripheral\inc/ch32l103_pwr.h \ + D:\psx\MPPT\git\Peripheral\inc/ch32l103_rcc.h \ + D:\psx\MPPT\git\Peripheral\inc/ch32l103_rtc.h \ + D:\psx\MPPT\git\Peripheral\inc/ch32l103_spi.h \ + D:\psx\MPPT\git\Peripheral\inc/ch32l103_tim.h \ + D:\psx\MPPT\git\Peripheral\inc/ch32l103_usart.h \ + D:\psx\MPPT\git\Peripheral\inc/ch32l103_wwdg.h \ + D:\psx\MPPT\git\User/ch32l103_it.h \ + D:\psx\MPPT\git\Peripheral\inc/ch32l103_misc.h \ + D:\psx\MPPT\git\Peripheral\inc/ch32l103_lptim.h \ + D:\psx\MPPT\git\Peripheral\inc/ch32l103_opa.h \ + D:\psx\MPPT\git\App\inc/uart_dev.h \ + D:\psx\MPPT\git\Drivers\RingQueue/ring_queue.h \ + D:\psx\MPPT\git\Hardware\inc/rs485.h + +D:\psx\MPPT\git\App\inc/parameter.h: + +D:\psx\MPPT\git\Debug/debug.h: + +D:\psx\MPPT\git\Peripheral\inc/ch32l103.h: + +D:\psx\MPPT\git\Core/core_riscv.h: + +D:\psx\MPPT\git\User/system_ch32l103.h: + +D:\psx\MPPT\git\User/ch32l103_conf.h: + +D:\psx\MPPT\git\Peripheral\inc/ch32l103_adc.h: + +D:\psx\MPPT\git\Peripheral\inc/ch32l103.h: + +D:\psx\MPPT\git\Peripheral\inc/ch32l103_bkp.h: + +D:\psx\MPPT\git\Peripheral\inc/ch32l103_can.h: + +D:\psx\MPPT\git\Peripheral\inc/ch32l103_crc.h: + +D:\psx\MPPT\git\Peripheral\inc/ch32l103_dbgmcu.h: + +D:\psx\MPPT\git\Peripheral\inc/ch32l103_dma.h: + +D:\psx\MPPT\git\Peripheral\inc/ch32l103_exti.h: + +D:\psx\MPPT\git\Peripheral\inc/ch32l103_flash.h: + +D:\psx\MPPT\git\Peripheral\inc/ch32l103_gpio.h: + +D:\psx\MPPT\git\Peripheral\inc/ch32l103_i2c.h: + +D:\psx\MPPT\git\Peripheral\inc/ch32l103_iwdg.h: + +D:\psx\MPPT\git\Peripheral\inc/ch32l103_pwr.h: + +D:\psx\MPPT\git\Peripheral\inc/ch32l103_rcc.h: + +D:\psx\MPPT\git\Peripheral\inc/ch32l103_rtc.h: + +D:\psx\MPPT\git\Peripheral\inc/ch32l103_spi.h: + +D:\psx\MPPT\git\Peripheral\inc/ch32l103_tim.h: + +D:\psx\MPPT\git\Peripheral\inc/ch32l103_usart.h: + +D:\psx\MPPT\git\Peripheral\inc/ch32l103_wwdg.h: + +D:\psx\MPPT\git\User/ch32l103_it.h: + +D:\psx\MPPT\git\Peripheral\inc/ch32l103_misc.h: + +D:\psx\MPPT\git\Peripheral\inc/ch32l103_lptim.h: + +D:\psx\MPPT\git\Peripheral\inc/ch32l103_opa.h: + +D:\psx\MPPT\git\App\inc/uart_dev.h: + +D:\psx\MPPT\git\Drivers\RingQueue/ring_queue.h: + +D:\psx\MPPT\git\Hardware\inc/rs485.h: diff --git a/obj/App/src/parameter.o b/obj/App/src/parameter.o new file mode 100644 index 0000000000000000000000000000000000000000..0b0d7d68a83cb9a3ff80a4a4597fb22b35a4dcd8 GIT binary patch literal 15404 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 kp%tW$1t<+>!- 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 diff --git a/obj/App/src/subdir.mk b/obj/App/src/subdir.mk index 301570b..fe10e20 100644 --- a/obj/App/src/subdir.mk +++ b/obj/App/src/subdir.mk @@ -9,6 +9,7 @@ C_SRCS += \ ../App/src/hy_protocol.c \ ../App/src/inflash.c \ ../App/src/mppt_control.c \ +../App/src/parameter.c \ ../App/src/sl_protocol.c \ ../App/src/task.c \ ../App/src/uart_dev.c @@ -18,6 +19,7 @@ OBJS += \ ./App/src/hy_protocol.o \ ./App/src/inflash.o \ ./App/src/mppt_control.o \ +./App/src/parameter.o \ ./App/src/sl_protocol.o \ ./App/src/task.o \ ./App/src/uart_dev.o @@ -27,6 +29,7 @@ C_DEPS += \ ./App/src/hy_protocol.d \ ./App/src/inflash.d \ ./App/src/mppt_control.d \ +./App/src/parameter.d \ ./App/src/sl_protocol.d \ ./App/src/task.d \ ./App/src/uart_dev.d diff --git a/obj/App/src/task.d b/obj/App/src/task.d index 24a8172..0990a44 100644 --- a/obj/App/src/task.d +++ b/obj/App/src/task.d @@ -34,7 +34,8 @@ App/src/task.o: ../App/src/task.c D:\psx\MPPT\git\App\inc/task.h \ D:\psx\MPPT\git\Hardware\inc/flash.h \ D:\psx\MPPT\git\App\inc/sl_protocol.h \ D:\psx\MPPT\git\App\inc/mppt_control.h D:\psx\MPPT\git\App\inc/inflash.h \ - D:\psx\MPPT\git\App\inc/collect_Conversion.h + D:\psx\MPPT\git\App\inc/collect_Conversion.h \ + D:\psx\MPPT\git\App\inc/parameter.h D:\psx\MPPT\git\App\inc/task.h: @@ -121,3 +122,5 @@ D:\psx\MPPT\git\App\inc/mppt_control.h: D:\psx\MPPT\git\App\inc/inflash.h: D:\psx\MPPT\git\App\inc/collect_Conversion.h: + +D:\psx\MPPT\git\App\inc/parameter.h: diff --git a/obj/App/src/task.o b/obj/App/src/task.o index e04b03c6ab3ffd884a63521bd42428b29c287a0e..5228ac4daca54989761233d9799bab4db0c30d72 100644 GIT binary patch literal 15872 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 literal 117588 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

k3!xqgZ_`dS6MYA=2M|s$y>5Jb< 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 C@V!s~ diff --git a/obj/App/src/uart_dev.d b/obj/App/src/uart_dev.d index 496ac59..4e35af0 100644 --- a/obj/App/src/uart_dev.d +++ b/obj/App/src/uart_dev.d @@ -27,7 +27,8 @@ App/src/uart_dev.o: ../App/src/uart_dev.c \ D:\psx\MPPT\git\Peripheral\inc/ch32l103_lptim.h \ D:\psx\MPPT\git\Peripheral\inc/ch32l103_opa.h \ D:\psx\MPPT\git\Drivers\RingQueue/ring_queue.h \ - D:\psx\MPPT\git\Hardware\inc/rs485.h D:\psx\MPPT\git\App\inc/inflash.h + D:\psx\MPPT\git\Hardware\inc/rs485.h D:\psx\MPPT\git\App\inc/inflash.h \ + D:\psx\MPPT\git\App\inc/parameter.h D:\psx\MPPT\git\App\inc/uart_dev.h D:\psx\MPPT\git\App\inc/uart_dev.h: @@ -92,3 +93,7 @@ D:\psx\MPPT\git\Drivers\RingQueue/ring_queue.h: D:\psx\MPPT\git\Hardware\inc/rs485.h: D:\psx\MPPT\git\App\inc/inflash.h: + +D:\psx\MPPT\git\App\inc/parameter.h: + +D:\psx\MPPT\git\App\inc/uart_dev.h: diff --git a/obj/App/src/uart_dev.o b/obj/App/src/uart_dev.o index af1791dadfccaa2c82c15824d0f06d5dfc6ef11c..a2cc9c4ed0a1467345b85e5b88306dba4e705dc0 100644 GIT binary patch literal 46200 zcmeIbd3;?}xjw%3$QrauF5$J@3nA*FI<@MHJj%hIUW@3&pFC}tJ&@}!lW=7s) z+g6TQ(|*-UiA7t?imP9L{gAPFd3!$$`O%FTL&AJ?89Q ze$;tglxxh`++6cu9zOH;7GJ$T&y3A`!Z^z_Gw@&O*#0Kk<=*n(C|W;OF4h+&X5Mm9 zlw$3MGjp9i?Q(Akni=oP73DlWSdq8->O7M`4pGTQvI^dnRo?2aG#}j4JKM0lId_dR zb1$s9q&$=2@&xPJ*DuM*Yj){St}EZ6TsOq! z`tgIG8#On$VE-snwLfpPOTRuY%~cmgb;vxrZ_VguDrW3kQ})!hbp`7$`QYaky=IQw zfBs%q%9UkvFZ|f3AnO0o&s?4NKf}gQ4*1Hzwbaz+was<=?^;pUaEpn(R5WjEURg#z z?FDZbdT`|$p4#P_%yaS1FQ*KKzS%pQ=)i!1K4RR_<1t39d9Iy`#Rn!eCK2RQrhk(- zykapwf&$ADm=P{!$)t^pNnkMGBiD;LZc?|EB&NW|Bnm9c&CToT9W;6SVgs8`PSvDa zAm!)YiFa#h<=lBCCqWS0@8J(kqz7B5yi73h3Xsvcxp(Hg4N!=e$^Cfovl0HpSn8&T zRVhKmi)o)@#uVg!Y;+2|gt57IjG|8^pUiunnr8i}943=u+&kqO#2k`qS^flD*HR{| z$X`%!pYxWV97}A<(r1|bl=Ylzv&l~tF`EJ<<4B5?Od%;POYbrHbwv*$`8c%5iTEsP z!Q0b#*^X|H3>R7&}tnsz9r<18Ux zAF~Q%j*xGRJ{4qMS$e3=)3W(MKd~Ih3tP6g`Xb=1Sa(#5l47 z$EK4N3u{ai(0{40Rf&RUu~Li^wpx7F3R{zy@B-rMg{_mg#lntB6uyqQWx|e4*a^Kt z*l}XnBy5Aktrd2BV%*=5u0_~pvD_eROJX#uw^`Vp#Hdfg^2Euuw&x_qa-^>fgr1uy z=SXf*x-U^&JldG&6B7IWMCp~N@Gq5KoG7e7>?;Yh>C4DK*YJtN`MDgwwkIYbiPsaB zYEQgoE&qo1@eiUn9A};-CD&)O5jCEvIQ(K8iD zg()P(`7?upXJ8?XGCL?EQ5FVv2xzBQ2X+V)ATQQFKbMZJlal&i$ zT%Bi0x^&_YHjfU6(-QN}2Gar1nwb0pl=(!lY)eewq}d^?UD!@x9m4hq%OpxyA-}!C zwkJwAfn6-DQ}Vk-*bYf|yRa@{cMCgR*!{xJ5cVZu-NK#_)+1Bso2H0Eh*{f4nk1Z= zTRuv7yWqFVY>z48LP}`eOfyAnX-)>^(_YIzA(6v* zI~@@wzc*3Do)WS-5G7$v_0&dP5!1=iW z-itVn<^b5-6QRJGIi`cd{|si;o({1RzuG_8J;AvcHC(c z&VVojz>FSSMm%+DVKNx~I*@Io!n$DWZV+Yl!epcsHVBiER=7}@EOdp7gq2n`uG(k{ z7Ymbxu5gL43Yl?*OM{$?CFj2cqrZbalH~l?VC?od=f4GGS@wj){axa;9B)ZnepTZ} zFKj9w!K$eHZj@; zlopRI-Cd;ngyQkziDlDJJi#98WKU8&vHW60$WEYm;v|w{46?&uEX@oAFM!#q=Gb@Lv5pB7&mh9?V5W{a ztTct4zCALJnOjD;N)9h$aw+9|#GV?8K8B+pLR>RZXiDzj7Ic<19OGl!!#7+<;)lGs~|LD0jv79Ad_ z$%NAO$fTN+I;a?}2{<=zcP;}n*Sf4Mzb3Lj+$yOckMqTa;HFU+BlAduR4|*12g7{6 z1@*y1#xm6K?bUI{EC^1{`%`f8OyriI%RI&H>>!^_o~dOU`{Zq4Lo%fMVsB5l3fn6TM(R*_|SRGlIuyGO)y1j65N6W_UvCUC75S( zk|Gsn7imJ7t7&m|O-q9DuBI&GAyF9{m=zQL1G%8?i9N#$m)KM6%C^v!>aDEiJsxQn zNz7rcb$K{2!9Sub%@Qj-kKKcW;HEdCWY5oZ$;8d`Nq+rdSlXTGHNo>oxc)qX;-g5o ztjh#1jd8MV%j5BtS&MI$({3sRTe&=(%=sx2AvQ=#+)MaYZjCA+yW3GT1qE|($7&4OXBZT>7-EBr|5(3rt;DHtP$q6qQhmE#j$Iap3x%`#L5 zj`E64aj=5E@U|_eb!Gpkmxd*Ihcro-=2|Ze8*RiiiGs>u8C~WjVm;m|5pp_`4HfJj zZI7wM2*FL?LqciY-LsCplFo{zscq3|XoQE5RvKchVMAaNog$@Rti-g$ zF^1giPg8UGY3Snq-JKAL2@5?QVJw^K>N(>q4+OZ!NUcE6^H$sS&mb z4wKAt3x2f($K_SS5}lNH`2mTVoJHiuI<-To0lst$uLQgoiR~ETgp@TAU6LqxTB=PG z8$HL5&MBOS$<#b-A-ajnT%%ovn89kkF%%!37vniGE}D}c=_Pj*M!0Nptd~vla7B!Z zr{tNSESOy~wkW4$O39XqWkKmg>~Ch7qM{=qVY@fM2%;u&za06jit>@fQh-+nRT z4`GJb4U7$PN_@v{t?JR9P>rWHUNy5}S2~O139N zszPd3*;=tUGjoF@i`X4;rDx57r>TgWor?yGVm1HJ#$xMGU2oQCsze30fqrHb4zt~Z z3eNRoj+(@{!)t=0CfQK}uWZS(pgey?#fKYhRpwy}%@Je^nZW3p@7Ik&%_Zjt7==mH zd%>mW2PRSRp+>l^gc4G$PJCNhalqi#D`*`u_9@yZ^l!*T)%-etDK+tll;;Sq6x zqs(b=ikHhjiHK81RUPj7pm`=tU6hUUmN4}PX#dpFIY^bTDRW)=|Nrw{w7{3Jo4|P& zd{GU8zu|ZvARrlDK~2qql{|9ZR?E9N4q1|MYD=eM7zdUAr><>4Cwaj;_9K zgMEG7?K@h#dbjm=4YbeSRhj8&%XD;PIx0Kc+pV^1es5oIX1>+8b@jG)4|Qa=^|ZF{ z=<3bLz$t>0T$>J>+k=0pB#|W+SdM#-L3r@o1GbI z?H^2cWOmiyOR_OQ+gpda2h)RR?aU0+?BL|XL8n#2n#O%*xdI!bC zrK2@W@IQUg(S3uNo^<<;x>R?vwhkgTJ|4?Arh_eq2%OFDM>D0*WIKUlC`X0dVQ>b@ zB};ei?COI7()P3t?f}Bs-JPxdtv#8+Og|`W`v>Y5HvnR{X7U1)XBU&4H%yS1m%|hM zfxPD(lCNM?&Uuvcs&Hm9$f1iMuiV3V`8hdO9G9=L1^PMKxhT%h!9_Ai=bS@$uN6vM zn&O;X5pvG4pDry3=4xEfCv8E;&_;_pUhH!c_A@W%bo)8kInLA4P0l%23|yh6#1@it zO3wS7g%#9)sTGUW&1h|vsrfm*Hez%R|2cxz%g^bt069xLO0z+?G%s-NDW-Vd@cWu6-9aAAJ`#pLiEG_roSf+j&gfdNL#e*LrF&%GDcvU0@q#j1D9$ z!j|Xe=M-6x?|c=wG^lO9je^o;L6NhG{EpT!1^?m?MUsY>cNvtUHS@^I&%>I){jgSl z{@K+coFJ{G7U(t>p=TpS5GG0HniQO+jkA}{A{01x3UwPqt)H5otqJF z(nGyN0~r)KJ=g>P?F0RTeLZahI0UvLr*yAPkGS+erro5w7uL60myNB1I8vPzl_5Uv z@sOPE>cs)GwI2y^2sY^+9GFe#ZXD3kjcgxOAl^@`If43?l^Zvw*B#r`d?Jdn8)p{N z=^-407o!o6+psddxxcGNJq+$iXL?)Px?9cWP3f(z-6p-gt2<-3_erns>p-FVdefOb zU4!Y?{?38u2;9}4L9w>?p)_s%Xbr7lcVBO3B`@GhclGQX>d&Ni;*>G^WPp1K6rCL@ zKDv6l2EC56^<*W}J7JBEvz2Y_j#}Lv`nA)f`e+!mD7u7A+SAvoJ>55mec1-L0g(LS zCN*ojI(Ka9>d36`8`zvdPxrSDvZ&~z{z22$Iv6$V%BEG)RNAfS{?^_OGtkx9i~X^QPvFTbr9|Ba}2ly?!ERQ5RX%N2nn}3k?P=%G5ikBXcW9*TBw9 zd)M}^Ooy8a(g}9wW!9lhDgDL8`Rjb#m-H1I@ru~dfeci47$L-AY zuIlPg!$CghU*S+j|GhVBcVC_bSlNRjoT)+q(wO z!u06w8_1Z>^hmuRqZvIf<1x9Av)b+tv5`dcA5aprWfO-or*TteyL2UnM+g5Efo$yt z79|?OV6>y#>)W)~xhB(MC#tR3%J%lmz(D#~jBe{#YJml#eXzfaby$UlAL`l3+M33d zo6{T+Y+K15i-m1~&a{pdc79!Y2gU{_4wjj|GrI7(yJG;glo^ZOPj4T>w*-8%8ekh@ z=JaE)$_&zd+qVy7&R8(6)rrJ0`{UD(F6>$YRH8%UYfjt)%K0kg?& z=~wmjXI9zTYOA=psWe_^(wYALUMw8mjKsRo*^8md`nRk)W+O(AuGaA^&R{`Di#B$3 zvdG76+1$j@i;;(EoZcksYftMQHv5`mw^XiLvZT^}tE-&f)7sy@V|o9sx>Ogwm+sk3 zrLAjuSNG1k6!1V#Yj^kjj@H4}`Q2STU4zRj7gKHBm6?zF4WeF^^E)f&A2(1rA0u^n zXYUYP&)?pIy5o2;AB$h-;Ev_BkYtk2XQ{y0;q2l0SnK(T^xJJN9`Eg&&&kDMfO(T? z?ZwrZX&frB-qvC|`^TlU^feA0ySmsfTzcwKoIg0w^>=1^+s~4&jn?4p-F>Zt>u}WR z>TBaz9O$%1%wE>F58wLxhT1q_J6n5tT5S&iq2*<1<)E&2gW68QJ?Tvt5shczK!zDO z(AVG0<3^^jzpu5Uy>(#F&aK8xSX9#6u^x4I4GbDPpVM4g(z>=p$GEhV%9e?lt>fyM zMtRtZ#+E%^H`(PlviF;4d26xFZqhs4aN6B&kG1YlYmW#WtyqtGGrO^J+9NOe4}*^f zW*(NEDGtywe7L;Bd=Dla2UdF3P=CKY6xk8)ItD9M-_8RUs?}_5tkD>`L!7q$nwego z8Qjrl7X%!rcC%Qvf_6^>VGTdk2{S0@^!W8T1Lf6=% zd3yU!%nOVT9{$^Sm>%rg-L6%Z;{c9iI2v!vbfTwl48#z%^Jqwyhy&LNdz9mr4AwY| zqf_hxzGlO^}&7qmR*?}&~Eigw{@Rk zi^L_63m_I)97#}S^z0ewZj3Rz-S8@cwFp}xTTNM}v@fajBjepDBeCt&G-sc&YnUDg zb^*@UrAA1-M}J9FcW?YEoau9ng6r)lNpm0YNL?XK1)?Ha(Y!q_n)%htLP7A?E1 zbYZ#f%nZUb!_`Mui$>YRyG0{Dyrtz3A?Kjdm z|EnA)P=}>=Wx!<$Hh()ntc7r1*(G6Qjw^D8#mDU__VZk{`nQ*qSWV&=XT=|kFU_)F zmc>_Oakj05;s0OC!Aa%e?L9J&+gIYV`5fn7{T+k$Ebrw8SsX;_><+@dxAa`XcrxX8DWP6N!)42jTJj7aq@l z;d`?DW%CQO;xEtQAMkht0djE1>G1hJGLQRL;t$5-{ucYVzlBeZ3L!k6ufpU06+S1+ zKJH(MkB=WC^JQ7-o3ePzzsTeMmHgVW(syU^c)b?;xc^4xaeqqu`HR2YES{gmErek z9`|QlQo*jF8d&&i69`%BXMJTe8y z!OgtG+h=4Rw}-_4t30l+q>snnfqZ!RrpYa+kvJ{-F8egJz)Xu`2y$S(XqYnHtW?hH z*Mlr?Ip)w|);Xrq95+m<9L92R?|H1iNrqc zS>f@_6h1F2eU0tUt&u9<_s)*Ee4mMP$=)x^esxx4pS^#S{ak!Jko`i;<@gcLLRn9< z*Nb?*$o%!kC&y#<_=t*QYE2JFO(f)+Gl66Oxn>BwF^VrWtow-`KM#11$9e3F>sx9r z0q^$WS+}^oO3l^aOTGB(fmJo}%4*Ld+Sg8#{Dk5|FJ=+*yq@P}OSQNOpqzwdEg>vyHsUpQ@Q z=6QTP_!6&v)4;3ol2Bu212=l*pAY_=XWsz+YmYAn@AUjPgI|C$Ie+WH(_Z`*@XvYe zeJc18FTV`<$35NyeubCc5cmhY_;bN;^v3IcaNeWp^1lN7Z7;uT!JqZYcQg3DXu#B% zJHX%X<#!MGfM@>z_+HQdBjERW{qrO^?u3i-{}%YEj-tPQ0AA^p=V#!b^UD7s_*yUj zSHZvSrGFj#RWJQp;J@+m=N)6~z40{$oKI_#fb{^p!}C84{2H(Rv%#zJa`y9qzwgC2 zfWP3yF9&|gD^D}{v7Z0+;PGvCHD(L=EN^_D3SNSj%P#}`9j|?Rz%TLg9|HfKH($;r z_w4tBa}GLxSAZYqrN0*Z^IrZpgJ0v!(LZ;9|F_qk_kiH z$9Vp~1wO+iXa9p=hnMsBGvLF#{(2GoS6=#8!J9n(I`~gL{ucP7Ui;^vER#Jx27H{? z9^=Wq`8W;yB8(wdp4s5JUU}v--bJJQ3&H>9`8x`{-7C*p@E)(djt4)&^LH}%w>{nt zzRoLeH~3aB{Sf%iy!_t>{*u?97lGg4)#pm^+r0AK0AA+hcN_RZ&;C>3bG`iT2Y*vjfiFWJN~ke^2cLtN<9Vp- zEnfeWfZyb`*F^ANdF81Dza1}^{xIMikK;x+bBdSW5#Von>6^g$AS9Q5J@{w6`fUaO z6J9Pp4Lsnb-vPeQMPt023H~{+{AYuoGG{1ot;y!0L5{a%0ffPc&DuU+7edi{MKI3L>N%6BpNOJ4d9fv@q>e*}D! zm;cAWKkl{H-QXYa>h}P6vlstm@DF+UJq7*~ufETLzv<=wWAJSr|26pYp8x*_zuK!0 z*Y+aM{w?r?7oU%~+r0800)D91Ulri1U2|ak&j9B!+O^MI@a1?pUI+Z&-gsXIeyvxZ zX7DmE|6{>F<;9->KH%ITzth0q_Tsz1w|nJd-)`~B^Iq@|RG0x?mfUoy^^(z8@*7G+G{3U0O`c4Dy@OTKm2QLXVW&!XVuRRun zbIiE-mEez|42~ZSp7hGYXNT?f=EpYhJ3XEO-|pG>g5Tnme>XTEiRk?A1;5f8pO=82 z<+aaM;LmyfZUpBsz@@(({EMFdd%*Aa;y({Q$!p(7!9VNe_cZv!UirTR9)~IBN8tYX z13sPX1h4&nJIp>buYn)umFG?H`20d>cx}Fa{))Guyb)zsW6C1m6ek%z7tlYSaVU7` z+4Hey+aeyCTJX3?lguLUswjSvITHLAUi+>AZ}Y~(2JkpcuytJ=2@~vEes07=!$*bP z=yBeFR1xtBhW8-M^*HaOdfUryKX@F*nahWzA7`!x|3YLCnj67?;_;7x7kd4BH+US% z?RPhxbCFPPzKHn0If|D23V6TQ|6d266tz!iz5~AA<39%9=kZ^G?~44Do8N-R{ZnrK z0KU+R=drlS<8OhV=5g+2FZXy6c&Ru3$3NY z(A*FHxVL^hGAw<8d16@l0`rYw=?lzv!TCf~mw&vMp^|HUjrh2IbIr@(HPQIR`T@Sf z<8Of9=JB_|=c#x4%f(#U?D0bIxW8-6*l4cN2>UhgZ+Pp|>|ycwW*+$2k-vOX2R_H+ zOTpvuoNrcwKkt=qZC3oT;3s?Ow}8Lq*>3~i?!~u*`}uWcrSAieLxtG|9)Dk{Fnmsx zJlvU9q1g{!7A=T1_FT+tZ+v|i@lT>nCDfQ(!0+(J&nLhy@{Wi1fuHa7@5A5=yz%k` zIG>H`{Cx{N4pYqc!K3W(|B|1AN5upG^)UNM=H+30g5i_=qU8$zKYU|Y{5ZR|#_ciA z;E_yTC^yC6Es;`g#)8M~U2Z0Ww|Vh1zOk+(1iLy z-$-O@0&l`t9Ej>!{n9H$mIxn9On^eC^b?nmH zCWN1qI<{>{uJ$SQn{v(IT0#A$)Sqomq_geKPxV))<+EKtUH#OlpE~tZr}@>Xzk02B zy;i*5HJ$pa*K*aXzk2moul{i3hi%7t^=JDR`8TM)2KCpV{u*4LsJ{mF*P#9y)L(=8 zTd3t*sQwnJzlG{=q54~>{uZjgh3api`dg^}7OB5Q>Ti+yTcrLLslP?)Z;|?2r2ZDE zzeVbAvHDxA{uZmh#p(}F+>+s@{uZmh#p-Xd`dh62mZ-la>TikqTcZA!sJ|uZZ;AR_ zqW+esza{D~S*s3{wdyfht1j_O5I6YMX|h(mCTrDgvR3^jYt?bG)_IQSjPo4LnrOBp zo#$x2L=z^OG0~K9b0+B~OVZ7jq?;~DH&2poq9pCQgb|mtYm)`8sBY3E-KtB1cam=MB;D*uy6Ka2^C#&hP}0qyq+Rb=9yf=QZW1NkEK0g*lyvhb z=_XRr&7`E8N=Y}Dl5R33-E2y_)idelQ_@YSq?=JmH>HwpP9@!>O1fEE>6`O|Yb!VM#Z|l5UPA-6TszWp>jo>E>I~O}M0+ zaY;Ajl5Wl=-K0w{cH`MiyQG_UNjLG5ZssN3)JwX#mvoaa>1JQjO~0g@e@Qn1lWqnk z-4sl^Ihb;DFy-c8%FV%)n}aDlC(tewDK`gGZVsm0989@6m~wM4<>p|@9k^0%4yN23 zOu0Fja&s`{=3vUr!IYbWDK`gG(SgfN#*~|kDK{BYZZf9aWK6lqm~xXb6&>K*WK6lq zn6h(lb)%gytDD`tN!f|mvT1WvCOc^;1KR9vF@$r@~JvE|y@VjB*Ok@(O!W&ozEa>_10$cM`{^5F*@=?9Ir zw%E?b2Q!CPacBDyjFrWQuJ$Qu%0}CQa3@U=jUVZ#M%zD#m9$ZnZ4;p=EFog0pwVcw zYan9TP>7XQjRvhH6C>3zDExl0@9P^11~q3#Emd?FakFW$jk(R5Y;M%AIm6cgn5Ysc6W$l{;luZj37( z($c#&Aw=eZ4=If86Lh)spB<*?F)5<9qpc=Pq!O;%wD%+jJByJ{>Tc)j))pNLlAC?k zG@^(*+qAL`=L0a922IH#Vs5eAjm`4WXa^M-dkS&P3QRxf3?j=7aS`rH#mgb1Qj96`Wu6Dj+KvRCzfo0?QtjWJ+teo3&dGXZE6xE5H&hs3Te}y*$Vy9OC zPf?xN>6O6cS4+OcPOqV^7h@7To#!4VzkoLcVy7PoJo$H2PVDNwjJozUvD2HV-!AsVPHzErZBFd;4ZyC=iJg8TuXT(b;zn1CDsS<8h&!7Yif! z$A~KGcZp8y+NYNK2**K=)p_NTFW`vl4D0TE5<8!42e)1kJG~qjKWl(@2_vn^g@`Ku zl$4X$PwRZrkJCAg1HF*6n0UPSFC(5H7(Y#6f{B88&3sT1n6>zvL97=6u$+Njurr@{ zir61P%$pMs8i}U~UPC-x@D}1j1#cs+6x>QYLvSB)m0%}Lh z5g#jh5Akt=FCyL`_!{El1>Z`%QShgU^`g&*i8qV>H1QU}e<$85cyuoC34&)5pD4JN zn4OHUocLtHM-!hS_yl6TfTM%>RMBrFevjZ!5~l?}M0}cHUaK6m3jRKEo8Vs)w+nua zxI^&U#2LZG_#b@0L5DDzxKr>P;vIq)5_bvab;H5wf;SSMA^0@nZo$38J%Z06?iG9~ zai8GpiFFL{+TLKN=$|J(Q}C0-{epSDZZIJD72-j`7h=H*h6M8()L@rj{&bQXSN9O_ z7X4x3J%WEoe3sxBh|d=MN8fRh!0*N6vu1-BCK z6Wm99zTk6-FA#hg@r8nKAl@(dF5>qKet`HQ!Mu(#xLELah%XWR3*t)!ze;?W;J*=b z@jw_|0DOhuiNqfeJe&A~f_dFxaHZgLh(9Fw0b(78UnRau^j{KRE%-28{}Egxcp>q% zf>#k=C-^wx4+}np_B z_))<>B7RKp&xyYx_(kHc3jQDB#|6Jl{Dj~lY(9b~1y>M%P4H~urv%p#KP|YA_!+_H z5`SIrg~ZZ#cEy1@De_JrGLkXT0{AuFn1V2Fh9l>8E{;uF>iN7cKdE)O2 zewp|Og8!HJhk|o(9Yye;f=h{iBzPL}j|I;q{)ym4#6K0>MEtzq`JHSwaF7Zo(e?k0P!LJa%Eci|0 z-wEb*BEf$P9!va+;7a0G1i7s1aEzbW{K#D5k18{)qSevSC=f=lo_mBCwrClkLdcmXjt zH3-XzKP`A8@jt{SP5f(XVupx~*ql%NqUcu=^QJ_EJBS0p_YvPM_(9@?;Kzw`1V05l zGdIT7s(+U@d7}TEIA8E@h(`(j195@iKNF7@T!Jq@fnG2?nYc*w>A*9KV_dEJVYC?| zdINEZ;1=RT1aBa&2<&y*?Zl;`?;|b~d^NH9xs|wF^m~ZM3jQqc%yBWUR{cw~(fU43 zJYHOah2c;h-V7EnwXnx4akc6t zz^*Qnh!=?cVZ^n9Yl!(p1Yr?zO7IHeI>GCR>jk$FHwfNEyio97;zfclB3>-`GT@m@ zVqC5Ib+lP3`u)U52!5D&nczp6c6p4eRsT9|_=O4Kx5P&Y{sZv}!GB`fl`*bX{cYMb ziau>D@G8Nxh?@k@0iM|$<7(CGXtP@Mjl^pNpGv$|a4XZUi*dE;-L%nhwVU{8v3Wo7 zF@i56)-ik?F~0~R+(^7$@E3@W75shT;{^YTSdZzi5^oUwuf)d-&clh$V58vCz%w_+ zxLWlJ+H4kmDsA*eC*o?=leF0?HVcVQ5WJrFM8U@sV=gdkCq7B^K2P7{>E{#k%Pztd z#HR?po%mN)HlHEhCi>&VFNppF;!{QcG4Ray#JF1Z-_j;6`tONP6Z}UH|CP8^^tU~n zkCQS%o9KleE+=jmeS(Ll6L*MS<>9%+8PRJzypVXi=u17^NZcv!brato z1!IdBVH{rU@rBQR<$A|MA3Ho)bO1jadD+d$^NW{r7sfpIH6#Yj)5t zW!q1ze)!cl7!aLbYlA_-{0izYzh1gyAHV)N%&&INKff{sLz0$Xhj=_;~&Z=Mv!jb2{-D z!FsVv9A=fA|9u|bPkgM{U+&>6iPisY#P7o!!kxrg{(C(9Sz;~!!ybN=Sj+!44}YCl z{Xb893f>TYNvy|_*NAnU|1+^37kCd%aGu!Xx6^PgNbn&Z9!sq2KTb8_9Ff>y`xzah zv9w3WXkvGaw(BGt8-eSjJ3bP-<6|YT+b7JTO|#e&yM4kO+N=IYY zqu;FtX`{y)V)va3FxqeA5}z+V3y3ceTugkSVB5bO_y|*}zh7`A@kN4X5nn9W_K|*{ zs;7R5=(b-j70kW}E)#6qS@(NvTQ|;a+v>Ptdj^}t-nM6xV76hPW9c+v9Y1WhK*x`5 zHytxzjzRuWupN{=J=8`}gC-+NXCDYoAW$oGpNW@HnwPvhLno;1yOj-y>ct_zhw< zDgu5q9b-W7QN*VS<})7xJ_rqg&ld<-Km^`57koZ^$O96L$$e`I{&eWKpd*g-PHMySp?!xZTPI9swtuqhidZ$>VFoUI8>YG zsLv3cIMlK9L+Vwc6NhT^JoTBP6NhT^0`*y<6NhT^3ia8d6NhTUX9`t?q7#Q|!)FUs zRf|p>stunpR5eF*;!tf$s2?UeF@6-@hKbbY#yC`)L#ZDwI&r8r)zs&SP8_NY|6f)$ zUv%P7ZTL*0Dt;kAAP&`L8TAFC6NhTkM7>sY;!tf`s3%1y4%LRwqp0GS3NbY9I6fP zldj?yAOzx2ZLX)jRCMA{ZEmH0gy_Vf+T20?bc_-5RGU|+zactts5ZG+Gpja=P8@C!JcjzF7>8<8M*T0M z6NhTU|7lj8EIM&`qTnR;Q(_#dO#}5eMJEo`riFT&=)~b^g11m_k8!9rr&8|_oj6pR z4E2oY#G%^sP~R>(ai})CsCSA^9IDNE)OUzZ9IDMl)Vo9{4%Oy^)K3?kI8+<{Pqyj| z(TPK~xs`gi=)|Gge3E*P=)|Gge2#jr=)|Gge2Mx_(TPK~;s1H7&J>+ERGV*8?-!jo zRGS}C9}t~5RGVK=9~7N9RGZ&Y9}=B7RGZ&Z=fxuk#G%^!nfh+gi9@ydJM}%H6NhS( zmk<3c(TPK~DWQJ0=)|GgOr-u^(TPK~nL_=qq7#Q|lcK&)bmCC=3`bBuUv%P7ZB|jg zKy>0zZH}RSq3Fb++H9h}Uv%P7ZMIQ=zv#rF+H_IBNOa;*ZHA~{EIM(hHs?^kM0Da% zZO*5Dsp!O^+FVBcGSP`cwYi4+<)RaZYI8I7D?}#_)#gs>9~7N9RGWLLUnx3qs5TE# z|B&d!q1rq_{VLIkL$&!1^{YiE4%Oyo)UOepI8>YeqJFLD#G%^!f%W6soyC& zai}(DQNK%c;!tgP-9^>kMJEo`<{Ikvh)x`SO7P9pKON&xZ9Yc*GollRYI8UB&x%eQ zstvE-sJc&d;!thAO#O4B6NhT^6!rT>Cl1x-S?UjnP8_PukEnlMbmCBLeo6g7(TPK~ zd71h{q7#Q|!|O(>-V&WSRGZua=#Pp{9P0OxG1MOuoj6pR@zlQ}I&r8re8yJQS4Afd z)n*3uw?!uo)rQa5s(M;<;_z#NS5ki_#-ZA*qyBZ#i9@wHp87XMCl1x-Wa{4%oj6pR zHtOFNoj6pRGpIi+I&r8rgVdiBoj6n*UO!Xy9npzHwb@VoyP^|^YQtxERsBPB;!tgF zq5c!miNhZWzLWY-V;ri@z0{ueVp9n`lZ8bfu2$WipI86$ zX#YvEsipnHF|JmR=pBZ!)Vco>vddJQ=cF@alP8Cpk9eLgcW$z>$o}^cp(QJ0`crhB4bX& zt6?RP;CdZb8SsWCD;wf^wP6=FtP`EMUdPow>Mf!Z*Q?F-)Q=aPxL(KA&D1xGPF$}x z_ftPfbmDp)S6`sMO?2XVwRw(utLVh_I<9_3y-#%FdbRlr^}V7K*Xy_{2+%$s5S@6o z+SCI#aNr{l*Xuap|8W{v5Cr1-dj+qg{>2#AtIZDTPl--kuj64S_3w#JT>lNh1Ju7C z<9fBZnEH=JC$86Vas~CDi%wjxHl}9ate(NvHhkj8Rqf{vhw$segQmv*4rWc;z<{ag z$M2WcP_40d%(>sc&enNjp1lpyi#XuNpGS;~Z$b2;qZ<_UhQ*PhMoc*DHbyU%yWLNJ zL4Kr|VRs~sWZ-Ttl;+5~^YEXg&N7R9#O>-?=)H<;`5JA#=*c+Lq*;bZ{R8}w)#!Ic zZP!UxxgVmf8L&x5{K0Y;Cyv=j(a%0h3&gkCVpL?>hC1~jIXW;z;txvu=B@H{oMGAs z5}%plykh*B8vYtKe{$LPwY|T!hl|a-3{zl-p^hg{NvPLP_mNOA1D~|ZQJ!tbI0mkx zIMg51E(x3Le78b#!R0#-LM~n_G~(%gd7f-ab;cFr#ii2scPaSUc)8&GaXI$=;b*4J zUL>SHwt@542JHLG1qq?K;QXBm!T0yVAfCSujsDmU&L5XZ-{0JS;_oa?vjU$C^M+!7 zh2YK~*L&X|kF&FwK!YnEj~9OV20edlH|OsmVBg>1Kk>(}48FfFdHzZ~e?QFfcRl>+ zp#d?*xbl4m*!P#a3%?ftTee@R#<85g$ICBY2nQqids)-0z$e3xb{q4w`YQ)_^(}zr z`@0|hDr^dQbLGo{kzc-B&_T3g`NrYp{2i9%@0)P2SX|k6=WkY)zlY$j8y57(t%&ot zBFkScCLY_@1?SIR!vN9E-*VX1IwO2KySA)+XJK+|Mm+PKgqO?rlB|3i;cqhHU2y)m z*YewC5B#}t&o#yQyA^i+daw=to_5aEj+B>_XWMbF=>q*RurIUiIwZ=zJGrP4m;-S0{tC3-my52QS6be7$yX|O}yE;u{>o7K;^;0ioHF;DX4`sVWGWd|+|eax#g zW-oyT7spHFe1El98S_g-vL18ra{hX={M}vY{|-%@S67z5(re=RJJ<8KFUw!Y3}YT+ z2WfESJ15KEkFLe$B|m@cnvcq&Bp>Gpl@f z*oe8t6$sMv-;uqmN; z2qh38gpv>f1PG*1^5`T4k^spgKuCb(<%Q%C0xyO3UF+<9?maVBFv;il{`;MeMzhvB z`|Pt%yJhCyJEtygS`q|-aVao=F)=gd!<&rdb=F{-sW)|IOpY!rU-%wA&}E_?s|VI%VLc3uhl-|aLeZ&CS~v~M>#X86*)MQ>dFyN^A)N1Wa7 zA9h}6=NdC2H`m;shxh!QMVFnKXGY{bW}M{-Y4|U5?94^9%e~?LL9~9PRIJZPRNQb@ zRASkR6LOtB?Q(Aj7Bk<)71cZ{XvkY~S)NIthA6Uutb)&EmAB*vi}&p5(`^`U&aH#Y zK4(;&bJ-b#OzWsy6Rs^^TYh@pU~}DD*EY0XaaPnq7cWbmj*@R&ck73)#NY4F8{B$z zeQ@96@-vuQc7Q1qY>*7y|>*_eJ z|GfX6LHh)!pE<~spP4tb&lz(l2Yf-`dTQe0Ws7UiytSdW{st3!8M}D>;swL$ zr?ud(h8|p8nWbH=$vl_u{Bp@)>YJTYiFQwz=mX|GIRbOkn&;Z3ShRalV-i6=W%@UX zeaFt>TTozG0xQDh%pJFqISEV#yybd1hmY&DlH?TFoJ4_Txw&~AU415RS8QPG$tfRq z1El=iTkzjnS~+({@lg;2_jve{G4x=A%1Z}hE&v&vn|n*n#{fg{GP$=EJs07xji7D{ z*_2{5yomNWW@tg~O@nK|iKfBkh8(?PJ zwYNCEILJS?;El-XaizrSG?mX*YQvfb{~kHou$H~p7iXix=&$ha_{Wzz&d>b>WTfr4 zg8cr1X&60e&$i*jO16u8IN?;W)|>M0D>wmbW_W6=$^Uk#H6EVoG5Pn)pbk%MH~9}( ztdV?Y@Iff7UHn~3iif9KHk$nJ4d)!v{{Fr#qh0*y5cY(2@#B-;$C@dV_@11!HiQ zN;#98lC$69`X|D*0lIGksmB_%gzQ;{`_r8xa!8`QHLg5Ah+UfGqG5PrJj7%=e*JuMF%IC_r6oeSR(-TPMZ&2L%Pi*mH=JhM<&0 z*#cqtlGhlNa?e#{3i-Ad%rw-A&*vYN7*vZ0#qgNKSnep4txuG4=rodJ6D2g%>33XW z47bixq+BX7jNPNtVMAiZNnknwniJz+M9k~NvL!K^i)NFsR$*I(wF%oHES)G>i28O4 z+n6X>1$MTucB$_MVVk7fSA}&5`-ZUNh21M`v#{?A>lF5wur0ELeq;(cg;=%iq;bMo zx#fd|w>mz?OnfK5Co$+;2;!(eF@Z$cw#3+Lz;>8IZb%8On@OgSJTtjXmmjdVK z2KZmdc{B~c)}AnBw$4F0cGD!JAZOAQSVo8%2PhLq%)pz)1!FxtW#kg*c}K&OWLA&d zKw&e4$pB{Xh~dN&Ck{ylgWm_ToiwC27_l8hS)DMMX+!FT$xItEOPFlvhRhaLQr@_5 zr5Q3um~7~V%oR3PR@{(zLC)Dy^WTEOKfy7Q)clWN#KySh4}uYlJt27?N}k5?k>ur< zH?BloA4{G_^@-#Sk#ac8p-+u5NLZi6l9!OY5@9)#S1K%5@-+TD$s1k1bOq|mm%OoJ zIY{!xYugGEISI6=Vo)w;QSrRs?_g8d-||0@&M%y7JKqjOVfk>jRB(l-PqEmJUeWL| z(P2PI(TI}mg?gM&G-?#F95fV-w);9cCMg^NOds>W2lg%CBuZ&STbBl zttBIb)LAl0NWCRvgv_#JoRB$|Ob{~Hl1W15S+ci~{Vka+MoVT2S!l_ALKYRX(~{D!!xksleRj}?Eg#8ln|cL0Iv74I&(4;qHa+ zy-V5QVlmw+$slhRfu`WvGhna}S&$5-a^^Da%YQ*_FowBIGx+a#9Q4l&j?Vi_aC8M~ z%g<$<;&w`q&)thl!L@&l+)fFmkuX)Ynjj1c>~YN{-TQr{GP8opV9>9?tA`B(v(;^r z>T*!s%;1>BC8x4VPUfU7FkV^`OhSPgRc6?lB&5RZkS>Fvw6rk0r9*>JuBD8zIEt~B zj#=sQ8G0N53=suk8dUuxPA4gT1*;e=^c3qN!Yx}U^ zrPwbkTruTI9(yy*=}dQ-;FtTm@tjL>J_^q3Fu`w!I@$Im&MI8^W`EjU4Z$|s+ih>6E!oT%FwTu1BUKvL6DP@wb%;jDg zcG`et5(Q-$6`ku9Vmm&q5NevwjtaI7wi|R}q~O{WI5U^t-8Loa-PTPoOuDruGigV( zOl^-|gHEVNS?P#nh8=-Lbc{s7T*+yQbIbv@%8mKKHWWNi$VBc^6wk1;Nv8OsVJ;ep z^H6v^h{3uPtjc>Fw7LWT8jjTr+Xc5s<+%mFo{OE_f{a4z@&+R}vrwb6h}_tGJC(i# zYn{Un0nQNDvLI!PhapK6JSEMh37VbQF%7*DW#DG6s9rDW&7;SQj=N0Z>IJa;);>y(=90%vs8!Gw3U`sG)1T1-uTcAbqq{!egL1CeI;HNf2 zhGsY{41(n&s25F!yZtcYLq}xT7yI^ekdK}z#9PUTAg9=OJRF7vE>aqnT8q56>Jb^P zuzeUg%2XoYQKN#&aT3MoJlm)-p?w=0c|cnj2Ow{Hmous{? zbT7X=&MFuQD=Mp#Ua}P(G>+XmStUCXB9)^wn{2HZPDO5TU?GPiZuFFC@H7#5Q|ru9 z)f4!TB=p@;sI&usCQS2l4jRY2=~cl&@RqU(bL1})&*ee@tu>0hB!6q<&_VuHu zFyoxl0?e}{S~m0C(*lzidr2eQR>3ZcpY`lF2{tQ(HDlHl9+h{b?egk8!(z$o2+C}3 zjbAlZqpOE~SQiyRm+cmGy_U4y$rxw(&89FrvwTLA=b&^n*=UUUv1SZwou_Sz{O*sK zjI@1z73QoA&2I4=;O9x>4)jCBHjbUcD9|~D(m4(699F-;>p0D8EQI+Q`~dkc(F%nMol2WXRJ1} zPrb3q%!mVyDyP9QUM>G5BQ6;=HPiJT>r9y1s2b-jVd{3%{;8vrQ7U0e=DPC#|NCd? zf#YzzkYnyZ*9E}`*rNwXD27*1Rkh!Oty}l&?P)b_^VVA-PV?FD{F6Uwc56sUEN*jnO0xl(bd}7 z-rXGpuc6!J#E{Yd(t-3 z^f&kPrP|Wlc+zSN(8lKe&c0ONiCfdXRhzg}I=fpp1K~r6NCocg!`N+vj%C!7PIvW* zi7Q8InBWUu(b3s`=`E?&O|>pamh%Kb(gq+Vi3oEGq z5-S#|o59*E6Z3PrY{uXmemaic%g@@r<^fi-zl< zu=Id7mwyJEFMkG`+dhNMJ+R5qejXb4o=l0r^`06Ga_z=g7ub#&suQVDr$=snPNB`n zcfJZ-8MHRvWknwerZyufv+aeMYbU^51GDj`?#D zwal?xyF7+4aGm)&dp^CTo&Thz1#p+69kLg3zV@|b$Rxso8Engc_LhEVTPnRJPEgiT zOgovqCAKBfzeN^HzUX3uaHOxJF&d&HqDwTphtErJ9*HA#koBS^;7cOGFiEYEf`J#s zy+<>_^JSf8*LMx-bL%LYw?&^G<5#^HQD&R%+CaOwK!ZnYuDklJ0mfIR^kFeI!ik(SwU)nS+JY=OwZR~39Y40_u z9vIinF{$*HbWeM_tMx>aO7)}AoK&CbPbo;Xr~BGaHkIz_F)4r@9evfZk4Sa*_oZ6; zH*UoKqXR{_E3_!Jy|t&WdrOPf3fgOVuL^E|)X|#m#s0CYz0CgW@9OPn@4^uc17Emo z`HJO>3@)hH*xPYZ+N@rcTHD--2(dqH?o1;@G!0&(wk=q+Ftxg;V~as`e&wmYEvepg ztLaU5^>+6x?rLu7OgHv)H@CGm_x7#s*pfD>?u{GiueGzg7kwu&;8+Xo?ML%Ws-+qF z!X-=lF;v-p!}*L3DfHCa*7TP576b zWm~qb&o%@N?M>@Q;h;rEtF^lev!knTVSi5#4n)@4j)g-VESXCgW7E>yrxCVwpj#!# zt}V@-7#p*2b<@fuCmGshr&DbWLRi+(zG+oQTl&!M-qqe#ZC7F+RQHq6@W^lR*BXTwq)(=8oc=I|8@bj*9w&20>v6AjZ%W2Ygk zx3_L;F{|t$)WYtb^g;ND}tfwuQ*=9*+cQbl~Q>VuMuQiQW zUaJCo1EBGw}3gx$Q>V1?N2m0L{dCOaKvDyDjuEN@yIbpk=W z?ZXJ;gfiXPd}8X*UYSVP-nH=yHr)?#-gTy%yKt>w3bAiZw{~poNVmDYl$~#>EzLW& zw{eHd6FscTbh^!~JR-Fin-&OMJ8&Z#rPQ`&?k#LXHg)5oLt1aPYh1+bY+Y*O*6v=k zH{J^H92C*YGM2U6(z)4gHtY&YaYA#0fL&?S$FeQuF5m7Z?DU}@mQQWPqF}i0h(I?y zXnSAx<`hmB`*0?iZr!}w+SGoPZr#{rPiajw+)c8lTD5w?>Xl~cVQb13&YfFk&-%+| zZfWjm-E=_Dw%VEwd~UI0JC&A>13Egl*46;`at||;TgRE59a}p34k(*LwRu~5CSvWw zmc49dd)dsxd&_2GhjBoAS3g|O+_(j+8XNSP7*^~f52%JD`}mn`C)mdRE^HdRyJq4r zf$u24(bnSeuI`zw-CMYp8&_ePrc!H~aNL5eYFnGx*wf8nb=?=O^i+FicMCSZ8GABp zHdr5LOMfpW3J<~z=9CVQohSByA!8eZ?b1p1n5T1AU9;VU>n24H_-x(rY;Xr^1`8ynMkG z77ckJvSpw6smv$9+9!?0WgCmlvZsD90v}9em)WhK*bhsJ%Z^3~78tNER!V!bs^h0+ zQOY%c{v;v*xNFI$;PR2P6La`!nwN6$DVmFQE%XF9zAyCBz#JcqX_EYZmGcuaNmAa$ zfNzOy{qfZ`!f`D{hJ7}Vzrh##xIcx@aK+VsRTiJ~FYO3M83KL?*7 zX7=~MJnmn~&*sydd-b;`ZZE#DWyD`LkNZRN?^e z`Pn?KU-IMncjuY)mt@sHFpuk#{5|n_`zrSF_EUJgy%ZkDFFcN4cs!oM?X`)vA;RPB z?ZCVyYP96f%i{6&L-O~;sC;_>!c?Bnqpn8)KO`R8Z(i^nrQ@}Nl$?v~6P&;M_DBC22f~EXS0a)(j;cIm$VvA|p4)OwHo)o=EKDkrf`VOyM)K%2(O(TpOu!K6p~Z z<$NZtCHr_;j#sBd_Swgeay%FB59D|u=Cc2YSD|cwv$q%VdXe?(&ri}bV%YX|9zPX$hsU|^i`!db&H?ZA^4Yeyze>zy;PbrvtALv# zUTUrbZt?h6faCf~&8^_Ezf$uJ@OYF<&E4RO@RC$&z762-pS}kk&w|nB5%74HjWdsf z$7!m05#-)z!B&~qz)!?lkW^)U2XG`V5_0?<2kkp*ifk#&un%)s7HL&x6mT4Gm6-_s zM80!UWh%gn9L31(13ue}CkehT;S8$G9PsP$l7!1|fiLs&mw+D|eXLVu4h7Hk@>hdD z;EJQZ_2Bz>^|gU_=Q@Kb(+U0%u7#3RW%|MA;pO-#z;Ao`XM(@N>jG@5G8cgV$m_o= zz?(e(*MX1o;=LLC6EFV`@W(y>_kqv#`tL#T4?O-jI4=)!^*;-4pVpx9ya>L*YwxSz z*LeQl0{^bpUw;ID-1GN7_((6_kHE*^QUVre)<6~3vtml6e_#;DN`$^z<3Qtsi zD){?e`)7jx#w%YBp6l@gz*l?z7K3m0;yDz2x^s{5UIQMdDswFO6<&X&!N2E~-vU0= z^WP8tMX&v*fM1B0q$+bJ@Lit$1>i?}{;mL@;?;K@_$;qIH-q2n+1~+vvRB`I;4iuA z(4GguFY@dk2mc5!7tgc6fAaeCMev_{^}Pzdz$^b2IM;|P|3~n0uRZUBmw55Bt_r-I zJ@3f5+lzN7@aYoHY!sAoHzvA(k;4{4P_27?s@f`qOjhCx`G4LjZryFI=I{9E4q><8cO<(~q+$cyhx@Rz;#E&#vX>%S|&CwuGl zI`BDox%h7ep5VoQ2l$zu|NFq(oH@rI{AO=`J`R4RSO2r%8$JFac%e6buYzCb@wdRA z@%;S}{C>P#eD4GQ){FlmaNPJ7<>w*RuX+756#Uy>{G)(*36rEMGYR}ok52{P=*2S= zd~dv*{Vd>=*PjQ0Kj@9mGVtGc@g4zwqGx|J_);&vR`B?E8rysD!Crs$gTLj)_jz!B zr{Ur`3;0M!F&-C#AMB0a)!={j^1lL}(k!GG)d`)}~)Jo~?ZU+T5*L-4~q`#jXO&Kr+n@KUe*81VbO`pUq|y!K58 z-{AEp?lUrvc1z+SKsNthk5zugRk@W72s!k?fo)%i{kN+k7s`j_|;y18}OgJ_HF^^ zF}*9#zI(y5KNUFP^~c%Zw|VWq1bnAg-!*WO{^U-JBo z1#j^9WbpVVW*lFGf8Q%#3*PI+J0JWsul!>0Q@#2R126OX_ek(Bd+~1o|Cwjs0lw0! zuLt}}kADt)foG4$9@-dP|6c(9eXsw&2>!gsucy6N{x`o z-%)Fx8GjM^FMIsU;E#Co@74@|rFLJyb970i=04(&$Uhrq4c&iL=(uq@%IX$C%kvTV`e37{Xe6u$nuE{7r z#M}rTkIxWu8+iPE&k%bodW{$V0~zHD%)=Sw3(ON4$r5Ku>;M_(?sxs$*pX+V!E(Jfz>z^-y@9S;fzY0Fw<9C3M z!pr&lHt<8<_TypjH@*4$RAkE%6U=kqu{6QF1QLaZ{8!^l*pD-BX7JJG58(0VWuwiz z8Tlg(pR*PB2R<3Zb!l-bHG{yLBB9h2gU9_{YDR&#c=>$bL6^rXz~fY6_5p8j@L>v_Uj9MgJ3PJwJWjc$2|V5&@%|^*tOJj?pSk8Z@VNhSO&fTe#+uFG z(QsqW(vy*2VRnMY`_FuH7I^%9c)qz1+@GI(7?j^%*Mi6EvDDlI?)Tr|H7WcrlB=mBs(6oNK%k>m5(ni4x0?%;M!) ze7`Kde-=Mfd1(C?*oTq13g~}Jmi_0l_yrl|vAtH#eMTvI?(Pg;Y#vk2ePAi}XFpNS zI$7WAS^V7$`%)9&F-kqL|iq=G^4v4Il?=+~H#ecK;&uZ3y7B$uQS4)#x zYPI$JXN%IV*5=Lusw1r@wRa__np;|W(%Z-vtXfiIJzGFq3+6_qxE{Ja-5VF}#NF#! zP~Yeqg=|aUO&G(0$bj(1`0>UT;7w~`9bidylT-&u^^mlUqk*eHeJ0guQoSbCZBqRv z)v+sYyAXbA)UoYDa@Sh*Tcdt$Z!=&0)~G+*ozQK6^IiSbYJ7GGsH>k^jjvYy)M|aT z>aR{4UZ)MOb6uzY>NKu8^;f6<>eL^u^0pmVr~d5tqW*gISFir+)nC0E6ZKcG{_53V zz51(Hf3q~cS?X_=`kSTx@OTTj<4o2&ljs=s8lI!sop$7Hp-#3KXT6_frlea<$$B?%ZapR4f=ap-m2^ug>DE-zEvlqjRY|w3 zl5Slk-NH(`m6dc$E9ur&(k-r}TU|-FypnExCEWr`x)qjmODyTuSkf)Bq+4Z4x6G1m zoh98uOS+YobW1Ji)>_gnw&WZ)joorfy7iWH3ohwaT+%JMq+4@Ix9E~?)g|4sOS*NJ zbPF%(R$kIAy&AXlYTVMRaZ9hJn$vhmqn#^D7P~1^W0zgis?}~u)Yv6Tfs1Z!lbZoG zcA=s?S02ji0<5vCmF8Tvjg5A(tZj00tHv#Z8oQX6G}>9bWU+l?DF(%NP9_xNb^>p@ zm8h``ABDIfKq0=-m{xpuW_A|}Gll>&z9Cz;9yNBO0nYZY6t_-%XA9Og*%i08$u3|p zX5vlrSOJ)BkZNqjsE0$0diVxM`bML*O?F#@H&za>;?8bUz}Q&4=?tl{@xvY44tLT8 zZu3=R0dnoIEw*p)8#UP$YP6dYl$Ai;#<0dlfwJr<>uxs1~yT)y>YiyTeUg?yU(Y0GUh^zx|GE{b6W5{Lv z>@>xQNr>8ywwW-IMz~?q(UTf%a408jw_&Vpk_x0_rL2~b`bDzaYdKiuJ)10pu4IT< zTa3GLvAi|fc7xF&@>ms^zR?*(#tm^cZgS((nzp5QlVU2l`z^Vet+y}2!ruEP_j2;q zT)%it*6sfp_xAbskGoRNYjgvw_ecTXadq|$!C6s7CmARo-z=E@l!A!ICblur4YPig zby3q?kacm>-L2hT*VV^&;byn4J}#JX*P+*wa#w7|ZRwwOzhYLNyQ|id$0)^*$Qba3?SXHN#u*{bIZuc_Y%{f1k$UiUCb&|L(Ezvz+n&#a#JZ$JNEt_6e#JJDum` z1{V?E(YESI+mB20@VyE*nsL~x053$qvS=9Kq@ehgE>0Q7RRVQ|O4{+&;;)mGj zfTr|wq7yrPH1(53CwBT?)K3we*y(`(r+zq>Ts*|CUVcXC;vsfA;DGV`TYgU4y?^Zd z)Nv$s_1gKVx<5Zz?*!F%i~l6?@5f)m_&+Z?vGYHV`stz*JG~Lu%?Dzq+j*$-A$uN{ z>IEbIJZz!=eEdTqc78aQobJ!79nf99#LoU?;0anUvD420F5Q{He`AQ9J{GtHzdOaW z4_-6!1Xlr< zUAQsbZH?%d`fG%3DgA=fOYG{MPhH2F*y)R?pC$IhPHzHseNOE36~L~~iJiU<*o`%@ z(>ad+mt)G$GD`}j|ECcb37$hdRPbtI{)8LS2E1k}w&OTV^qtU4N(9?+RLq{4Fd}4iCzCxQy*YI$hkVBRO$sBa67}cJDmvJysd=?Rp5FDmlz1<}Yl!z2yq;Ju8fhk;EP6L_xnPcaz>C3= zczr=IMexPMQw3i^916abxKi*ph^GmDfOxv#$B21BInwjQ`1uW{-xBkN52SaAX9`9a zn4n59s|@xNTuWRnnAe-*2R3Y3UKbG52tJCKhDf~LGN==LDsjEw^ND8(zM6Qp;HQas zVLQ@G#B&9|L97>>zeBvg=)C4Sm@jw;rf+b7;4#Gf{Wqj3#0(ZGN!%d#Kw`b%w~4q> z^rMLv3T`J}B)E@wv0&~FgC&A*Bwi}`PGW8E_lflefTxLc*a^fQd-$=Yt@HdH93H~0jUflc?@fy)TBwj0c za4ztXf-8vE39csQAR`?>tQU13Oni*!M-uaf0;D$LV+DVS_&C8|Cr$}|fOvyoUe_5k z3x0vPMeuKkTLr&E+$Q*A;mY-zqJNwC1i_CJ_Xy^-jX|&Aw~6}%pMecl&@Y(R z>jm2cUr(&_>JH-VqJNKghv1ipPZazn@kxT;CH|aXKFbzQaIyU}o%j^Nvxz@1nAf=l zT&zf|h<6HZCf+5O*M$eC2|k7RbiwBlpCR~a;xh%~2YF5K1;O_bpCy>roCRkK{t59p zf`3JPuHZispC|YOVs1Q;1{VNdAb1S%g@UINUnIDT_+r5)6JH{j*FL#<_#ecVivBwB zWrC;UdXnIB!Lx|35WJB1i-Hd)zEbcp#8(Nnj}_&H4aq*A^cumJ(dJ8ndHqdrtzcgF z9b6~)LEnc#E%Gmjra$Gd0j#9AAwTKo=-eO<1iwU_5d1Q5MNW(> zRey^%>i->Ly^->L;ykhEhi*Z>;1c3Nf=3af&w0*NNn9ZM4C29p4f?p=q3rt^Q*%_h}SE~Md+UQukM?6z(a&QtG=*6%F#5#vZ5bq~8V~MK; z&m!i@4blL*8R@$#I>StC$1BG8gaegF927}igBgtSI}m*=vUKbPK+y6|0Zqp z29A4(=ZVcT#QO{WF)`Kx(;LL|MSt7V-}m%Shz}5(AtQi!(uOpd_}3PinZyT)-a!1O z=qrgEL|+SBu^`5ks;6nwDEemNg@U_1yq$QF=%4fO>BNggKg+`x5ib$_G7o==c&X^u zd-zu3Wuo8i;d_Xei+;a{A0|Fn^hZ6+RtJZOj#DC>KMKZSNQAMuvilc4%aPk7?rVrA z66^k}iuh0|TSKgVc(16#2M}x7B_2MQSpC?~It~**8>nMn!@Al%yqQ?{W%jdE1gpg7C&bvEGyZ%`cZY`%>;7dNvD#1aY^Hd48u4oJxu1t?iLo!B|9Kuh zkXZd6O052mAl7)+d3Zgs`fv4cJF)uj@^BBa`sb-&uts7#lUV(nPrO$2i;0gEe5HqZ z3gq^EJVkN%He&UEKe0aWfQRhdAF;hW)OPp@V%^8_@YLD!(9_xQkkMft(gjCJJUrxb zm{XAZHTvhFjKe%M!7nUgH1Uo%hq=qg@3&f=yJ3g9E5$D~TAjNzhq;S#adNXB94j{5 zOb5pa=BCqOZt{YZ=-gyD%;gc5j1`v|tH*TdV1)&DLJpGl1U z2<^}J@WsUH|0~4J_=j{0vBrOghwmm<|KIcQ!^9f@6CQqsSpC03tlRn5iFH5n4)HVA;h zNwYYIwJq{su$060U*;{PtXj2wrcbqeaHk@2Y z^YL=WQN->zssY#?2QH$Gt`TB)9Jq`&3GvfJ8(nwA?zndaZS)wM-&43_Z(?`sy^c0| z{J)+yx_u^g=LH*R(;#)V(MHFD*zJoq(MHc@I%%W(1!8xOvz0b_Zq-K{-PaJib1uN> zcq5lME%g=sVh)tYduxv5xOo ziFJH$Bi1qf2C%ICE~Z~lFN$%fHm_61XAn%pq1wDn9p~gs#G%^!jXDqFkcdOI;r9sTC886DYJ*<| zGUYh0U?L9Hrj$C4t(k~Jwc+;;bkT`JwfPS9eMBb?)#eA(_Z6KuRGX)%&k&tBRGXhtpD8+Vs5ZZ#&JzM8 z;!tf~qrRW$#G%^!mU^}5#G%^!iF#6W;!th=N}VSeNW`Jqd_uiebmCBL3b2;T>qI9G z)n+*LdeMpTOT;#fp*}0dq1u#D*9YJchiWsO`W&$*4%H?}ohLv@#G%^Eqdre`;!tfC zQr};6;!tgtQh#4`;!tglquwYwao8ZZo%+HUhibE#`u~bf9IDM})DIS&I9w+9JnDzU zI8>X9sQ*=T;!tgFp}tad;&6rFJE^aVai});Q2(3g#G%?eL;YyciNke*e@6Y77>8=Z z=Q))BU3B75ZTQ@#@)psF!wrJ}O1(A4q1y1dVdZV26NhTU=SP&MMJEo`W*GI2q7#Q| zGnP6}SdoZBwV6zPljy{u+VB}KIicTD=%`WPFq7#Q| z!|z7R`$Z=X)#hUAyubm8I8>W2Qr|8*ai}(Y#!UGR(TPK~xt02fq7#Q|a~JiKL?;f_ zhR>cU|D5Q=q1y0yN#*|#oj6n*em`5jOLXE;j~Vz3n)1^`Cl1x-E$XL>P8_PuAE}=q zI&r8r?^8chbmCBLKBoQ!(TPK~Da?m{mgvNx+Ki!ow&=v6+U!OB9MOqGwV6WwT+xX` zwV6r%Jkg0mwV6fze9?(RwK<6T1)>v&YO{>`MWPdjYI6kji$y06)#hmGmxxXrs?A2~ zmx@jts!cET%S0y*)rQZ$DZgBF;!th)44m>SL?;f_hTpB1e^GSeP;K~3oboG0Cl1x- zChAv-P8_Put<*mdoj6n*J{za}I?;(kJeq`-9IDNW)Nc@-I8>Wo zQ@>Gk;!th=Nc}6K6NhT^cj`BZP8_ODVi5GNicTD=O(FH0MJEo`hR>%fzeRN7P;K~} znetmjCl1wSZ|Wb4P8_NYpYvCKhv>xN?Sc=Y{>>PNYQt+1%I^}LI8+-xgQxs%(TPK~ z;j?(kza=_xs5Tp@-y=G4s5X2yPx-x~6NhSZ0`>buCl1x-BW_#{9IDOz)PEp4ai}&AQ~wXqi9@yF zbr4WH>#{*>s%;S+-2p#F4>L$&z>^=CvU4%Ox_)PE#8ai}(Y=1=*vq7#Q| zlUo4&$D$L5YBQAjbD|T6YBQSp^P&@nYO@#hpNLKzs!b*JpNdW#stunJRQ`$R#G%^o zxjf}Bi%uN=Lhv%`zl?FHHb+o@MRej&ZTO6!@>fMC4%OyZ>i9O2i8xf7k>K(>=JM>H z0DZ(X5w8mVL*iSd>UF@*eh%?o_=hwfuZjaKw763B)sUS1I^u)GWPKgbtQN_tIu2lVP+Nk|I#GevsF&d%QUhLfIO z$e0ay)h{3tT&MFY4PL*<%7(a3Z8(JW%S9)y(|NUvdXwnHb!u}J^&>?ow!bIOjYlRTl$(?@Qz0~xqG;G{de``~u_u}H6UmRaN@?pM!3Z>VF>S84A>PcES*-I5_?-Ct*i zPKHW;8WBU-Yl{x}^P?_L9J7<6Us07d#P@KKesKP{iS+&L^H2PpsAU@P&a~R| zHw4`IDgzpLQy zLTE0z_Nnh?b@6X-ksemuw!vlXA|r7$HUq2>p9;a z?<;Y6Ea-3{I`XsF@hec)>k|F_aD-!V9_KH8H)z&>q5s~-gy(ov;Ke-7dtP?t`%8_% z^MPGZ$ai@MXW4DUAWTKwE;+l!S@phf2A*%1C-rjs=IZ6;Ag&C3oQGrJodlX(9xshy znFiHAJO|(LA(QQxhL`iluZdk5nilTu|1L+I$FHS*f3M)PIJbWH@%-(|^7knGwQztm zxw=ly^7qvXa9sr!662eJmy7QL_2<^kR0RKXZg4fxA758x*?kB{{=U%J-I5g_9@Anj zcR|4q>t(tzE556+bGr+fjE}Ln_*fLCQF;uOR!^6E08daKm_BAOUf!^q_ppQdU}#h< T8iV0kcFS%w<{qyC7wZ25(9WoK diff --git a/obj/Hardware/src/gpio.o b/obj/Hardware/src/gpio.o index 6cb2e136f0c26cc7245e1dfc47b26ee240aac8ef..ff0b87c9582d1504f189f72831e52061eb48fa13 100644 GIT binary patch literal 40516 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 IQD)))0=m=>-~a#s literal 44584 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 literal 47248 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 DFxv!- diff --git a/obj/User/main.o b/obj/User/main.o index 6f3565cce1fdefb1135537153dbbfae11b1388c5..bcfba1abba45becf885f3be2f3a66e36a9f94e8f 100644 GIT binary patch literal 15128 zcmcJW3wWGWna9sJnM`hNm?mx03$*DirP8FC+*4Y5Nv{&x0&PJF{W>$5NruiP&P7tbi`dt|%z#Qxz4~^?_B~W&i*4o-;WOth^1`HhJpb)r3;&oNlFchjutxHK>`Yp-ibmfihLT@fuhU zouky`^M?}k<>igm`e21p=igkRy33V<{axO-Uobhx+sHbGRGB*YK%tn(^riQ$TrxPd zTB*L_)X3HiE0?tPj6?nrmY{A~P&ayt=1Cs`FGLFhDit_pRu4~JrB(s7$maCUK8ZO2 zG#00zle2wxTAL)NQs)FJwF(ByQ`sWiwbE6TEu4KF+{=Ssz~@BG!R56dfI+(i^A2Cx za4zh+e0joaI0#W04Bk@qXFwGW6})ZAQziaVJ?*NRy{JN;Yv^C5rc?%Rs%nOw%G}`1 z6^v=b?d31hW~%;j8H-6X?wWf!a%zKGg=Xq*9>IdMLMtlow9!J5da?@p`&6h+M-J+0 zLTxpyrqYP%6jO|tOA!wH<0{l%b1#Zd$B3MabM>&|gJyP96P1+jI|%X_$FVqw0b{)CKjDLi30xlh3q-vhx606Hn7AOV}S#p$F=;bJ)+T(1S9mVSh}8zNXo<w8D({ zH+2~^#E(ITF%Iu&Ah*dL9l&<}LzRtPln zS>4PY2(Z609 z-asYuXHkZZ4d`|lwKh=m6xthWYNvSa5Vb2% z#qRACH6EzA8J?%k*1bI|P|uaV#S{6FKpj_dzmew#rc~g{_LG3*UKj{piVpwG$b*6E zdgT5tfHD0gDlnJtndI^y*RP(5=_umNgqCI|Uelg$;&b{vXb#tz<4Kd9vqog;%NCd4 zgb(W30E52Ba$V`27ZCkXtIah#G~b)E4BKuFJ3b|}$g6xD9x^CPylE6hHF4#QqC%3l-m5!_)v9WqX2Z=ib?$Sa4+JV& zFeBo4T42^eco;PhsN>X`mYg04)6p!yJ%NVDu(TITIX`d&2h}Wxy@BOtLYV~+4a|8C zZ9Y{zV}Y66G{d6eqDDjwiW(P{2!xMAedmZu2EyB*4vHF*`aUmeSjv4-R7%txqRtR? zpQwGJz9}j#>TyvS*+S2#YAzvGtp{ngXjZOuh3Gw2H>kO9gz|xk3t*5yqk*{;M(q#G zx(aGsRr5kh)M1WN)d%6j&0zGAZ-h<>lyTo4g$xzS25LA{BE|wWtWoOzu`M)9ZXC*k zw9Mny)r%9W4uC~M%QNknDYQCC3l zyFyjWs$Y(i@Z#y4O58eqFSrqhs;r;33jsA(EpT|@w5=ukBFDa1vyNGPWL>Fj^-(iF zYyGR|X|7%k!}BReEeH~K6cdgU&fCJ(bto(WJ zVk!DlSgsIjx$dl#`VCA+GY<0+*5s*Wv@uOt7b*^@sUSb^UvgU&{({^HJ}W z)w+Rk+fY_%n@GoL+M|4;>bk>1VcXWvP)pI^=`*~gv!xX?%FzmZV4Ln#9K!bak5 zL=S`R8ta&Sm;oW@l$vFV%r)IH@<=lpMjqvs$M$1OSke3rr=m5pIjoJwq^Cek3xXJf z<7znm=%op{@Msj}ozfx=XyoD+Z_R8weeCHpuP(H9)-~&ORZA{D&%@+L^ei-8a-OFG zv#wl^i_=nMC}v>gSs$gAwJ27et+fHM_Kw7XuVN&ukynE&2Sy6x1Nk!sGP%)gKD9rQ_Y1|*!BlRbn9HT(!_icBAfGD4oA);+ zGO@(qU}CUwC?40g{mt22Hqor@1F390Jvx{e$VB7Ascho^A#&kB;qQ-{PQ?b^v)w%{ zZ7r>~^=gBR#|b-j>>Lw#72kS<+^TUgkk>vCUThHYe?T!(~d+wH8PyY zN7K4OmBA#n#1-b%A50{pqv@hwJTQ_dvh4_%6NbKv)l`n1?h$ZOM4`bb|+O~IF~Or^10qm zW~2F`g7Wjx>|jTa+I8}}lXm($w41**n}SColgJMxvhf4T_eW8t$A>XmOpK?BttwyW z=;`!xqeVY9noOzY$onTX>fR9aCNaeE1&%{vA zSlm>zZbP5HGoQ-9ubA-*iMV~?lFKLhIP1Gc26g-5>0BY9OiQq(^9s*uqe)8uf*&7`Dl`e}25zQ{h5e~P zjC`WN#kfz3mCACcBVFj=U~V*)M)3IlqHa$vnJgsG?@WvXiea@QjE<)hS*wy+RIDeg zy^X`fo}nd~kv zI^E3j&FNGoRb1WJLu+(@q8Z~<#H2Mg4>dM#FEloz`KyPrqX^xc%p?kh=un~=tr{v0 zuWp4&X0n+x36&hp#*0`U%~%0EqkK}=;^=IyIiAa8xQ0;JXA#*Kel{^~MlhP@LdW_q zAWSA9LS|4#P5J%X`;PZ_qWg(4wSC7rv--HyFlU%)Y=wM^JAw=HK!OV`%Uu z7VlGhv}z;~PbE`{L3@!%Ws^BXiH?sA@=C`GIi@&~;A)TK8=cLQ`SJHhxq+F9*&6n- zKe8yw#*gX7CvjO~8zn(R)g7K)sDimrk>oirBpS{B)Fqoy_X5 zB6D3nJVJDk&D_{fzA2c=ty5Kn@piWSv{8$SH>w- z7-W|)p3(Hg7U2kHc5}5smL_cp0r~d)9VAbAXL(Zt@|?>I zleV1e)rJFukK!TYT?sc1r4&^E_D)Fv%6MDhq%v~{YE5Olv2aouZYXdI;H3A~6F!nZ zS=W^!NWOl%qHUrVPRehcq_<4cu}PZ03P_T8uC_Tmm&wz7$y6q9`yI{OkBL;K@Zjhq zyxw;d;~hQ&Wh$)4%dLN6ELgNoUJ93@gkZr-MMvwGmL*-KpJWUAW{SqJ;@Ct>j|^ee z3;kee+QMo*-AZYS;`^wHRIBzvEGR95Fn-&?tC*5QSY^Q{IPpiJaYJZQSe*qL!L6gD zusR=bgQG8jPCD_ggnr%8pN8J%^ydcX&pP?HKwpYOQdoTj5O?A~K<)IGFN0?}`AcO`|@D}euW{0~8&?&#N{mpbiz3p(t?;|81W=nC}ZGtT%O0X^dA z2IvPJ|M}3yj?}q*h4oP9P23+IxhrjA9bmDD?e%rcZ{hR_l?)dxA zeB*B84S^qa@^jEXbjD*0`Z7nK4c+Cm_af*6PJ1th-s8l(26_t)Ti*>}{kxAggw?Ik z&p74pg1*{`{~+{!9Jc%;;Fp~CJOTZLQ~p`#-#Y#;g3ovIUx99S@(+Pecj|i``iqYL zThKYj{~hpNXS^%GU$f1_cpm}1+wpIJKGN}@55B-@KiAq)r~VbtbDZ+s(0spZ`@aTy zhcmvLp?5mvw?p$ivh_a&I*G$-AAG>6e+c>xr@uL9zOl6aW6)(z{Ij9AIQk;!k2>{T z4t*RBTmBmG6i43x{*Dv>R_J!?j`6z-`c)_YLFhZ3{yqZz3#a{0K>v&5|19(_C;vt0 zPde>;1^Ol@-XZAuPWjiN`75Ap|6Aa1IOX4g-si-x08e~hVg8|)I{ExPeUDRqK6Ia> z>AT$-&lS+0aN5%i9d_Eg20HDuZ!`31j{kOOya_9{{}kwIC%zATHV#SnJ^urkgOh(PIO6D=z~?&tcR=6owEuqStDO9Yp_e)NPe9Li z@}GlVg~PVzU%`(!?R^#cC(d}k2K@``j`j8@=%<~0emCrM@zY2Qdwk)hRLjTl>zYY4sjy?tY%T9auLf`MiPeHdh z>mv_6;4*?OIY0veWJ;weh7ND z_CMqF?*-^L9Q`u%1&;qA=nI|pya9cqQ{SJVf8=QXrO9oMe@!Vior0e_aB-uoOS2j)8XXUn9^H*Mp$`+nXJZ|7zsN9Nh=q?X<5STK=Yn zPGPkRdT+@;toA@JaP$!LL<;MBwOgF|K5$t6#GM_>lsVtTqU+Q}#-C$Shw-`0DbM@X z>n7>@Ch4ap=@%yHLzDDdlk~*3hrP#d7^SfhZC{wS^tU#umj1q0enjx0-);KQSS+8| zPvg3iH$^&n4Rl&d=Y%UBH-{1hW=PRA-h3N3b80uG<>B+-DcA9vdCSIqB*JeKFi4&Ls5HfMJ~CuDa&$82{$2W)pg=V5oh zorDfMoOU-x>~@UU{TQ(uGNN~+TqgO}vemo^^YzbOKHr1;t?GY#9cTWQbka{7&W|$h z{&{Co5oLZMdea-|p0zn=i7p^ZUN;`{GQtc7E^IJtcOs zwI5CU(_$xEJ1d{_jM&N6&cETEYwToe?*Y%5iw`8SwXXutHFmPKuLalrBR-JU;;?q! zZ`Az&A4p_tKM6dCKRhFmt$jCmuCbG?{exf|pKR@ewDZLZ64~1M)$Hj%r;&G<-aLB9 z^Sw7;cm_^hBR-J$T;iFV7oI$GBgHZF7U2V_8Hcx6qdJznM0h>9Nq94Psqii`10W6H z@Rn&*QS$qQbL3-$_mh_ke}v2mk@ybEYtg8#Ag>UlQFh=gAyYq?gHk!mp7x2>%CpqcDHq^)?CDkvR!S^T}LvNXyAvg?q{G z7v4-hUU(O|UpPiSK{!X=Cj1fdcH!&EJA`j1oBr~>fM*^w9w&2wBRx+xb^Vomve>I| zPwed!o=N7yL3$sVn*ixF@+rc@l zZc3yv@|f@ig1!q1b>6Mlt!zVPqK9}|9?e1Y)d3h;%(ZRCrD*OCtkZzEqUJV3rg z_zd!;!sF!2gfAq2T=-Mue-OTre7W#f$yW$JOukb18S*EDe@ym2j{U ze6?^L`5NIy@~4GUXuzbHc}wZxDVz`SZfN z$zKqTk#7{vl5Y||ll(>D3&}SNe}a6A@aM?43g1q?P51%wmxO;vzFqid!BHtnW zJMx{v?~uPDTwV>nOSp#oRpDvmyM&+4SEHVcPiBq^}nnuk_jlB`3PV7UbMjRc+ z-UROApdyi%7$4PAIFKnuV>sha1N3>=68_k#s9N-2)wIM41=W(r-&wWL3TONo$LL54 z|KI}l9G$dam`DpANVM<7BL(8{kJHQxoWruC@}}l6+k2S!{>DZ@C8~vgHN(HDaH~q@ zqnU*6FM`baOUl#clqkS>v?Phv`%tEVC8| z)8lB!2s*}kxrJ=KDX=XARQF+Dtg?-F^3HOYes5quG!jg*F?f66){BQ${r;8pvYEDC zeg)bxKo!P5GRvE?ly@oEjW>vR+((SZakKIG730QhM7-a>M?d&A=Ege<@t%Q=@wk<3 zJbpzmUMmi!so1Me+C>JfxYZPG;crJsga|@#JOEu4SO=S%UY|llnnBFGa53ZK(GJW|(B# F{@=k^DsKP) literal 17592 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 literal 36936 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 literal 369424 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 z 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 diff --git a/obj/mppt_Nos_V0.4.hex b/obj/mppt_Nos_V0.4.hex index f214088..2e750ec 100644 --- a/obj/mppt_Nos_V0.4.hex +++ b/obj/mppt_Nos_V0.4.hex @@ -1,22 +1,22 @@ -:040000006F00204429 +:040000006F006043EA :100004000000000000000000480200004A02000056 -:100014000000000040040000000000000000000098 -:100024004004000040040000000000000000000044 -:10003400DE1C00000000000040040000000000007E -:10004400400400004004000040040000400400009C -:10005400400400004004000040040000400400008C -:100064006A1700004004000040040000400400003F -:10007400400400004004000040040000400400006C -:10008400400400004004000040040000400400005C -:10009400400400004004000040040000400400004C -:1000A40040040000EC1C0000400400004004000078 -:1000B400C21C0000121C00004004000040040000A8 -:1000C400400400004004000040040000400400001C -:1000D400400400004004000040040000021B000033 -:1000E4000618000040040000400400004004000022 -:1000F40040040000481B00004004000040040000CD -:1001040040040000400400004004000040040000DB -:100114004004000000000000000000000000000097 +:1000140000000000340400000000000000000000A4 +:10002400340400003404000000000000000000005C +:10003400800B0000000000003404000000000000F9 +:1000440034040000340400003404000034040000CC +:1000540034040000340400003404000034040000BC +:10006400A80A000034040000340400003404000032 +:10007400340400003404000034040000340400009C +:10008400340400003404000034040000340400008C +:10009400340400003404000034040000340400007C +:1000A400340400008E0B000034040000340400000B +:1000B400680B0000460B0000340400003404000008 +:1000C400340400003404000034040000340400004C +:1000D400340400003404000034040000C20A0000A8 +:1000E400BA0A0000340400003404000034040000A0 +:1000F40034040000040B0000340400003404000045 +:10010400340400003404000034040000340400000B +:1001140034040000000000000000000000000000A3 :1001240000000000000000000000000000000000CB :0C013400000000000000000000000000BF :10014000397101436EC619A0397141536AC866CA34 @@ -36,2276 +36,480 @@ :10022000D58D93960501D58D61B7939627009702DA :10023000000096968682E78086FA9680C1171D8F09 :100240003E96E374C3F8A5B701A001A0EFF25FF2F8 -:100250000545EF0010299922EF10F03E7165130556 -:100260000520EF10B043B707002083A58716378518 -:10027000000013058542EF6090261925AA85378571 -:10028000000013058543EF609025EF406004EF30D8 -:10029000B07A014501B7EFF2BFED371402401C40C0 -:1002A0003707FF08411193E717001CC05C40F98F26 -:1002B0005CC01C403707F7FE6D17F98F1CC01C404F -:1002C0003707FCFF7D17F98F1CC05C40370701FF23 -:1002D0007D17F98F5CC0B7079F001CC4EF00700743 -:1002E00002C402C6B7270240054798C31C404167B5 -:1002F000B7160240D98F1CC03706020005679C4222 -:10030000F18F3EC6A24785073EC4B24781E7A247A8 -:10031000E397E7FEB71702409C431397E700635744 -:10032000070685473EC6324785476313F706B7176A -:100330000240D843B706C1FFFD16D8C3D843D8C37F -:10034000D84313670740D8C3D843758FD8C3D84361 -:10035000B7061100558FD8C39843B7060001558FD3 -:1003600098C3984393166700E3DD06FED843B7169B -:100370000240719BD8C3D84313672700D8C32147D5 -:10038000DC42B18BE39EE7FE410129B502C661BFA5 -:10039000372702401C43F19B1CC3FDB7B716024030 -:1003A000DC42370700201146B18B13078716638F95 -:1003B000C70221466381C70495EB9C42918B9DC780 -:1003C000B7470F00938707241CC3B7170240DC43CD -:1003D000918393F6F700B707002093870700B6973D -:1003E00094231C43B3D7D7001CC38280B7177A006D -:1003F00093870720D1BFDC42D4424166C983BD8BBD -:10040000F18E890745466393C700C94781EEB74619 -:10041000024083A60680C18A89CEB7167A009386E9 -:10042000062021A8B7160240D4421396E600E356F0 -:1004300006FEB7163D0093860690B387D70269B7CC -:1004400001A09701002093816152175100201301F0 -:1004500061BB179500001305E5A69705002093855D -:1004600065BA1386018263FAC5008322050023A0C2 -:10047000550011059105E3EAC5FE13850182971524 -:1004800000209385A50A6377B50023200500110598 -:10049000E36DB5FEFD42739002BC8D4273904280C5 -:1004A0009302800873900230970200009382C2B5D5 -:1004B00093E2320073905230EFF0FFDD97020000BC -:1004C000938202D97390123473002030B727014011 -:1004D00093870740631FF500EFF29FC98545130519 -:1004E0000020EF001018814513050020EF00701761 -:1004F00055B182805C413707F1E01307F7EF944D67 -:100500007D8F9C41D58FD44DD58FD441A206D58FF8 -:10051000D98F5CC11C4537F7F1FF1307D77FD4454E -:100520007D8F9C49D58F94458606D58FD98F1CC564 -:100530005C55370710FF7D177D8FDC29FD1793F77A -:10054000F70FD207D98F5CD582801C4589C593E708 -:1005500017001CC58280F99BEDBF1C4593E78700FF -:100560001CC5828008450D81058982801C4593E762 -:1005700047001CC5828008450981058982801C4589 -:1005800091C537075000D98F1CC582803707B0FF4F -:100590007D17F98FD5BFA54763F7B7048D4713873C -:1005A00065FF3307F7020328C5009D47B397E700AF -:1005B00093C7F7FFB3F70701B396E600DD8E54C586 -:1005C000994763E3C70495477D163306F6025859E9 -:1005D000FD47B397C70093C7F7FFF98F3396C50060 -:1005E0005D8E50D982800D473387E50203280501CF -:1005F0009D47B397E70093C7F7FFB3F70701B3969B -:10060000E600DD8E14C96DBFB14763E2C7029547AE -:1006100065163306F6021859FD47B397C70093C70E -:10062000F7FFF98F3396C5005D8E10D9828095470C -:100630004D163306F6025855FD47B397C70093C7CA -:10064000F7FFF98FB395C500DD8D4CD582806845E5 -:1006500042054181828008416D8D3335A000828042 -:100660005C4191C537070004D98F5CC18280370790 -:1006700000FC7D17F98FD5BF3C4989C593E7070872 -:100680003CC9828093F7F7F7E5BF3C4989C593E7FA -:1006900007043CC9828093F7F7FBE5BF3C4993F719 -:1006A000F7FD3CC93C49DD8D2CC98280EFF25FAC7F -:1006B000B7066745B7270240938636123797EFCDC6 -:1006C000D4C31307B79AD8C3D4D3011198C7D45B46 -:1006D0001387470313962600E34B06FED4573725AE -:1006E00001401305054093E60620D4D7DC5BB7062E -:1006F0000020D58F1CC31C431C4537070E00D98F23 -:100700001CC51C4593E717001CC53C4993E707042B -:100710003CC91C4593E787001CC52A84228599356E -:1007200075FD37250140832785401305054093E774 -:1007300047001CC52A8422853D3D75FD37250140B3 -:100740000546C945814613050540B13525462304B4 -:10075000010037270140B70550001C84637FF60471 -:1007600023040100A54621461C8463FFF6062315D9 -:1007700001002304010095461C8463F1F60E3885C0 -:100780003C8599460D46B3F7D702056513050580EC -:100790003357D702B3D7C702BA97C207C1837C8544 -:1007A000B727014003A78740799B23A4E7403C85F6 -:1007B00005611D8D42054185F1BA83278740CD8FA4 -:1007C0002324F74083270740898BEDDF1C84832691 -:1007D000C74408108607AA972396D7FE1C8485076E -:1007E00093F7F70F5C8495BFA30401009C846378A2 -:1007F000F6001C84850793F7F70F5C84B5B79884DF -:100800009C840C100607850786072E97AE97035722 -:10081000C7FE83D7C7FE63FDE7029C848607AE97B9 -:1008200083D7C7FE7C859C84988485078607AE970E -:1008300083D5C7FE931717001810BA972396B7FEF3 -:100840009C8438850C1085078607AE972396E7FEB3 -:100850009C84850793F7F70FDC8449BF1C84101034 -:10086000388589078607B29783D7C7FEBA97C2072C -:10087000C1837C851C84850793F7F70F5C84EDBDED -:1008800003A5418282805841032805004C45370664 -:100890000140930706403E979346F8FFB1C5832574 -:1008A0000640F58D2320B640D043F18ED4C31443C7 -:1008B000B3E6060114C3184190479346F7FF758EBF -:1008C00090C7D047F18ED4C7144541466399C600FE -:1008D0009447D98E94C7D447558FD8C78280B6978E -:1008E0009443558F98C382801C43F58F1CC382802C -:1008F000B70701401387074083A70740584B698F0C -:1009000009C77D8D3335A000828001458280B707FD -:10091000014023AAA74082809C4513F7070113F8E2 -:10092000F70001C7D8413368E8008E2113F7F50FAF -:1009300039C318418146854E3D4F930F8002930283 -:100940008004214E3396DE00B3F8C5006311160310 -:100950009398260033131F011343F3FF3377E3000B -:10096000B318180133E7E800639FF70550C98506FF -:10097000E39AC6FD18C11307F00F6375B70454411D -:100980002146854E3D4F930F800293028004414ED5 -:10099000B398CE0033F715016392E80213172600CF -:1009A00001173313EF001343F3FFB376D30033176C -:1009B000E800D98E639DF701232A15010506E31986 -:1009C000C6FD54C18280E39457FA10C94DB7E3972E -:1009D00057FE23281501DDB708456D8D3335A0007E -:1009E000828048456D8D3335A00082800CC982809D -:1009F00019C20CC982804CC98280370700C0B37706 -:100A0000E5006395E708370701405C439356B5015D -:100A1000584F9D8A9DE6F99BB70600FFFD16758F1E -:100A200089C993160501C182D58FB706FF01758D5F -:100A3000498FB7060007D58FB7060140DCC2D8CE74 -:100A4000828005466396C600F59BB70680FFF9B71E -:100A500009466396C600ED9BB706E8FFC1B70D4691 -:100A60006396C600DD9BB706FCFF4DBF114663973A -:100A7000C60093F7F7F3B706C0FF4DB71546E391ED -:100A8000C6FA93F7F7CFB706E0FF49BF3707004034 -:100A90006391E702B7070140D84F4205B367A7004B -:100AA00089E51345F5FFB377E500370701405CCFD3 -:100AB0008280A9E337080140B707300003264800C9 -:100AC00013170501B376F50041836396F602B70666 -:100AD00000F9FD16B377D60003264800F18E2322D5 -:100AE000D80091C5558112053315A700C98F370766 -:100AF00001405CC382809317B50063D0070293570F -:100B0000050193F6F7008D47B397D70093C7F7FF1A -:100B1000F18FB7060007D58FE9B7935755019207B4 -:100B2000B317F700E5B713F7C50F93F73500B7050F -:100B30000140BA9594458A073D473317F70013479C -:100B4000F7FF758F98C598453315F500598D88C501 -:100B50008280EFF2EFE137F4FF1F0327447237067C -:100B6000003E4111931797019346F7FFF18F060757 -:100B700037063E00718FD98F370600011397960014 -:100B8000718FD98FBD824167F98ED58F02C202C4A1 -:100B900002C623A4F1820357847285452390E18223 -:100BA000032704721305D00323A6E18203274470B0 -:100BB00023A2E1828D2C8327447037073A10130754 -:100BC000077093F7F7F06380E7106361F702370768 -:100BD0003210130707706380E706370737101307D3 -:100BE00007706387E70841016FF0CFDA37073B10E2 -:100BF00013070770638BE70A37073D101307077069 -:100C0000E393E7FE85452165CD3BB7140140E177CD -:100C1000130480044C00138504807C8222C6ED39C5 -:100C200085679387C7334C00138504C07C8222C636 -:100C3000E531F9770DA085452165C133B714014031 -:100C4000930700E0130480044C00138504C07C82E9 -:100C500022C6D93189674C00371501407C8222C6F3 -:100C600065398D477C8222C64C001385044025A837 -:100C7000B7140140E17793870770130480044C0098 -:100C8000138504807C8222C641399307D0E34C004F -:100C9000138504C07C8222C64131F9777C8222C64A -:100CA0004C00371501408D393DBFB7140140E17745 -:100CB000130480044C00138504807C8222C6A93969 -:100CC000930740208DB7B7140140E17713048004E7 -:100CD0004C00138504807C8222C63D398967F51754 -:100CE00099B723A8A182828003A701838547142195 -:100CF0006310F7021C31639CE7023C21960793E7DF -:100D000007F837E700E093F7F70F36972300F7402F -:100D1000054793D756003317D700544189CE9387A0 -:100D200007048A07B7E600E0B69798C38280EDF320 -:100D30003C219607F9B793870706E5B7B716024037 -:100D4000DC423747FF7F7D17F98F5D8DC8C28280F7 -:100D5000371702405C439146B18B638CD706A1469E -:100D6000638ED706BDE71C43918BA5C7B7470F001D -:100D7000938707241CC1371602405C4237070020C6 -:100D8000130707019183BD8BBA9794231C41B3D7F6 -:100D9000D7005CC15442A1829D8ABA969422B3D6F0 -:100DA000D70014C55442AD829D8A36971423B3D61A -:100DB000D70054C55842634C07005C42B98313F70F -:100DC000370093874180BA979C23B3D7F6021CC99A -:100DD0008280B7177A009387072069BF5C43584326 -:100DE000C166C983BD8B758F8907C5466393D700DC -:100DF000C94701EF3747024003270780418B09CFDE -:100E000037177A001307072021A8371702405843E5 -:100E10009316E700E3D606FE37173D001307079049 -:100E2000B387E70281BF99C5371702401C4F5D8D1C -:100E300008CF8280B7170240984F1345F5FF798D90 -:100E400088CF828099C5371702405C4F5D8D48CFAF -:100E50008280B7170240D84F1345F5FF798DC8CF70 -:100E6000828099C5371702405C475D8D48C78280F4 -:100E7000B7170240D8471345F5FF798DC8C7828060 -:100E80001A218D6793870704B6217D8F9E21D58F08 -:100E9000D621D58FF621D58F9625D58FB625D58F1E -:100EA000D625D58FF625D58FD98F1EA19E291EA9AF -:100EB00082801E2189C593E707041EA18280C20794 -:100EC000C18393F7F7FBC207C183C5BF4EA58280DC -:100ED0004A2582800A256D8D3335A00082801E212F -:100EE00037370140130707C0C207C1836300E5021B -:100EF00037070040630CE500130707406308E5006F -:100F000037170040130707806316E500FA2193F7AF -:100F1000F7F8D98F9A2593F7F7CFC207C183D98FF6 -:100F2000371700401EA1130707809C416310E5029C -:100F30005CD5DE211EB5B7370140938707C0631427 -:100F4000F500BC251EB985475EA98280C207C18312 -:100F50005EB5C5B71A31FD77FD17F98F1EB103587D -:100F6000050256215E2D6577D2211307F7CF7D8FBD -:100F7000F9772206FD17518FB3F70701F22103D845 -:100F8000A500C2064207336606013206D18F373606 -:100F90000140C207130606C0C1824183C183631AA0 -:100FA000C50071767D16F18EF2251A06D18EC20625 -:100FB000C18256A1B71600405AAD9386068098416B -:100FC0006315D50038C11EB1828042074183DDBF61 -:100FD0001E2189C593E717001EA18280C207C18325 -:100FE000F99BC207C183CDBF8357450491C52167D3 -:100FF000D98F2312F5048280C607C583DDBF5E2525 -:1010000001C6DD8D4EA5828093C5F5FFFD8DDDBF48 -:101010001E2189C593E707081EA18280C207C183EC -:1010200093F7F7F7C207C183C5BF5A2DFD779387A2 -:10103000F77FF98FA205CD8FC207C1835EAD828095 -:10104000B7170040938707806314F5002CC1828096 -:10105000C205C181E5BFB7170040938707806314BD -:10106000F500485182804A314205418182801E2923 -:101070004A25ED8F4205418189C76D8D3335A0002A -:1010800082800145828093C5F5FFC205C1810EA90A -:101090008280EFF2EF8D1629F577FD17F58FF62197 -:1010A000DA257971D58F1EA95625FD779387379F4D -:1010B000F58FD6212A842EC6D58F9625D58FB625B5 -:1010C000D58F5EA55E29C207C18393F7F7CFD98F6D -:1010D0005EA96808B539B747014093870780B245D4 -:1010E000631AF404A25756246547B387E702C20681 -:1010F000C186984163D20604060752244206B3D73C -:10110000E702130740064186B3D6E702B3F7E702CA -:101110009206635506028E0793872703B3D7E7022B -:1011200013F77700B367D700C207C1831EA44561D8 -:101130006FF04F86925745BF0A07C1B79207938752 -:101140002703B3D7E702BD8BD58FF9BF91C55E25C5 -:101150000967D98F5EA582805A25F977FD17F98F27 -:10116000D5BF13F7F50F85471583B395B7006319FE -:10117000F7009307C500984301CED98D8CC38280B8 -:10118000894693074501E318D7FE93070501E5B7A4 -:1011900093C5F5FFF98DDDB793F5F51F4EA182805C -:1011A0004A211375F51F82800A216D8D3335A00009 -:1011B000828013F7F50F85461583B397B600631148 -:1011C000D7025A25F98F1A2101454207418381CB65 -:1011D0000545A181B315B5006D8F3335E0008280E0 -:1011E00089466314D7001A29F1BF5A29E1BFEFE2FB -:1011F0003FF879711306000281450808EFE05FFAB5 -:101200008545114502C202C402C631398545130520 -:101210000020113901451D36371501409307E00FB5 -:101220004C0013050580372401407C8202C6EFF094 -:10123000AFEE13050440EFF06FA913050440EFF083 -:10124000EFC6AA85239AA18237850000130585443D -:10125000EF50F028B7070E003ECE0C088547130567 -:1012600004402302F10202C802CA02CC02D0EFF00D -:101270006FA8854513050440EFF02FAD8545130594 -:101280000440EFF08FC0814513050440EFF04FBDDF -:1012900013050440EFF06FAC930404402685EFF093 -:1012A0006FAC6DFD1305044037240140EFF00FAC27 -:1012B000930404402685EFF00FAC6DFD37050080E8 -:1012C000B53C130504408545EFF00FBB93050002C4 -:1012D00013050440EFF08FBC45616FE0BFEBEFE218 -:1012E0003FE90111854521453D3E85451165993E02 -:1012F0003714014085678D447C808A85C14713057A -:1013000004C03EC426C2EFF02FE1130504C085657A -:10131000EFF0CFED896761498A85130504C07C80B1 -:101320004AC426C2EFF04FDF91677C808A859147DF -:10133000130504C03EC4EFF02FDEE1778A85130564 -:1013400004C07C804AC426C2EFF00FDDB707040159 -:101350003EC6B70702003EC8B707000285073744FC -:1013600000403ECAA1473ECC6C009D471305048057 -:10137000FC863936854513050480253E05616FE0FE -:101380007FE1EFE25FDDB74400402A891304900C4F -:101390009389048089454E85353E0DC5CA851385E0 -:1013A0000480B74400401D361304900C1389048058 -:1013B00085454A85053611CD13850480113E137588 -:1013C000F50F31A07D141374F40F69F401456FE03B -:1013D000DFDB7D141374F40F61FCCDBFEFE25FD946 -:1013E0003714014001468565130504C0EFF04FE056 -:1013F0001545413F1305F00F6937AA8405461305CB -:1014000004C08565EFF0CFDE26856FE0BFD8EFE240 -:101410003FD6E937058975FD6FE0DFD7EFE25FD58D -:101420003714014001468565130504C0EFF04FDC19 -:101430001945813F05468565130504C0EFF04FDB74 -:101440006FE05FD5EFE2DFD21314C500B71401409F -:10145000F137753F01468565138504C0EFF04FD91C -:1014600013050002393F135504011375F50F113FA1 -:10147000135584001375050F2937014519370546A3 -:101480008565138504C0EFF0AFD651376FE09FD06C -:10149000EFE21FCE2A89371501402E84130505C0BF -:1014A0008565B2840146EFF0AFD40D45D93D1355A3 -:1014B00004011375F50FF135135584001375F50FFD -:1014C000C9351375F40F753D014493170401C183A9 -:1014D00063EC97003715014005468565130505C087 -:1014E000EFF00FD16FE01FCB1305F00F593DB3079D -:1014F000890088A30504D1BFEFE29FC72E842A8903 -:10150000B284293F3715014001468565130505C0A2 -:10151000EFF00FCE0945B535135504011375F50FDE -:101520008D35135584001375F50FA13D1375F40F18 -:10153000893D014493170401C18363ED970037157A -:10154000014005468565130505C0EFF06FCAC1353A -:101550006FE05FC4B3078900882305041D35D9BF38 -:10156000EFE27FBF13F7F50F93070010998F3E84CA -:10157000C207C183AA892E89B2846373F6003284BC -:1015800042044180130A00102286CA854E85AD3779 -:10159000638F8400818CC204C180A2992299268421 -:1015A00063749A001304001042044180F1BF6FE09D -:1015B000DFBDEFE27FB913994501135949018567F2 -:1015C000B38727413E84C207C183AA8AAE89B28409 -:1015D00013DAC5006373F6003284370B002042042F -:1015E000930BCB214180130BCB21130CF00F931CD9 -:1015F000CA000566E6855E85613D81471397070150 -:101600004183636687002286CE85568525A8850797 -:101610003307F9005A970347F7FFE30187FF528525 -:10162000153581473387FA0014233307F9005E9795 -:10163000850714A3139707014183E36587FE0566B9 -:10164000E6855A85313F63838402A29AA299338446 -:10165000844093140401C1808567050A01492684EA -:1016600063F3970005644204418051B76FE05FB1B6 -:10167000EFE21FB0411185451145EFF0CFFA930716 -:1016800000107C8237150140C1473EC64C008D4793 -:10169000130505803EC4EFF02FA841016FE09FAF16 -:1016A000EFE21FAD411185454145EFF0CFF785676A -:1016B000938707807C8237150140C1473EC64C00A6 -:1016C0008D47130505803EC4EFF00FA541016FE083 -:1016D0007FACEFE2FFA9411185452145EFF0AFF462 -:1016E00093070010371401407C82C1473EC64C006E -:1016F0008D47130504C03EC4EFF00FA201469305C9 -:101700000010130504C0EFF0AFAE41016FE09FA8D9 -:10171000EFE21FA6797185452545EFF0CFF091479F -:1017200037150140FC824C0893078004130505C05F -:101730003ECEEFF06F9E89450545EFF0CFBE914755 -:1017400005443ED00810B1473ED422D602D2EFF075 -:101750008F93930780117C86680089475C8722C835 -:10176000EFF08FD845616FE0FFA24111114522C60D -:10177000EFF00F9885476317F5022A841145EFF0C3 -:101780000F9903C7618919EFB7450000371500208D -:1017900081461306803E938505ED1305052A238BAC -:1017A0008188B52B3244410173002030EFE25F9C09 -:1017B000797185451545EFF00FE7856737150140CD -:1017C000FC824C0893078002130505803ECEEFF0A3 -:1017D000AF94B1450145EFF00FB5856705443ED0A4 -:1017E0000810A1473ED422D602D2EFF0CF8993074A -:1017F00080137C8668008D475C8722C8EFF0CFCECF -:1018000045616FE03F990565EFF08F8E8547631660 -:10181000F5020565EFF0AF8F83C7C187B7450000BC -:1018200037150020850781461306803E9385A5F372 -:1018300013050528238EF186DD2173002030EFE2A9 -:101840003F93411185452145EFF0EFDD8545114579 -:10185000EFF04FDF93070020371401407C82E1470F -:101860003EC64C008D47130504C03EC4EFF0CF8A3E -:10187000930700084C00130504C07C82EFF0CF8969 -:1018800041016FE03F91EFE2BF8E01114D3F3714F0 -:1018900000409307F01D8A85130504803EC002C2F4 -:1018A0002314010023050100EFF06FE3130504800A -:1018B0008545EFF0EFF5C167938707066C001305C8 -:1018C00004803EC8231B010002C6EFF0AFE81305F9 -:1018D0000480A145EFF06FF5130504808545EFF016 -:1018E0002FEF854513050480EFF00FF005616FE0E1 -:1018F0007F8A411122C42A8408414AC24EC006C6CA -:10190000EF50800AB787000003A6074783A6474722 -:101910002A89AE89EF304038635F0502B78700003F -:1019200083A707461CC0B787000083A587460840E9 -:10193000EF401001EF40B0689315050137150040E6 -:10194000C18113050580EFF0AFEFB2402244124988 -:10195000824941018280B787000003A6874783A69A -:10196000C7474A85CE85EF304028E35EA0FAB787A7 -:10197000000083A747467DB7EFE28FFF79713714E8 -:101980000140C1472A89FC828D44C1474C08130598 -:1019900004C03ECE26CCEFE03FF80146130504C05C -:1019A000C145EFF0EF8485452145EFF0CFC7854570 -:1019B00037050800EFF00FC98547FC824C08E14766 -:1019C000130504C026CC3ECEEFE01FF589449147B5 -:1019D0004C08130504C0E482375400403ECEEFE0CB -:1019E000BFF30C10B7070C00130504C04AD03ED457 -:1019F00002D223160102EFF0CFE99307D0137C86C1 -:101A0000680085473EC84487EFF00FAE05461305D2 -:101A100004C093055052EFF0CFF48545130504C080 -:101A2000EFF0CFF245616FE0EFF6EFE26FF479711E -:101A300037140140930700022A89FC828D44C14774 -:101A40004C08130504C03ECE26CCEFE0FFEC014667 -:101A5000130504C093050002EFE09FF98545214579 -:101A6000EFF06FBC854537050400EFF0AFBD93077D -:101A70000040FC824C08E147130504C026CC3ECE52 -:101A8000EFE09FE9856793870780FC824C089147C8 -:101A9000130504C03ECE37540040EFE0FFE70C10C2 -:101AA000B7070C00130504804AD03ED402D2231697 -:101AB0000102EFF00FDE930770137C8685475C8789 -:101AC000680085473EC8EFF02FA205461305048045 -:101AD00093055052EFF0EFE8854513050480EFF0D1 -:101AE000EFE645616FE00FEBEFE28FE82A84EFF05D -:101AF000AFEA930500082285EFF00FEB7DD96FE088 -:101B00006FE9411122C63754004093055052130526 -:101B10000480EFF00FEA0DC513050480EFF04FE8E5 -:101B20009375F50F238CB18203A5418A1C4D104992 -:101B300054498507B3E7C7026384D70031055D24A4 -:101B40003244410173002030411122C63754004015 -:101B500093055052130504C0EFF0AFE50DC5130512 -:101B600004C0EFF0EFE39375F50F238EB18203A568 -:101B7000818A1C4D104954498507B3E7C702638425 -:101B8000D700310585243244410173002030EFE253 -:101B90002FDE0111AA842E8409458545EFF08FAA16 -:101BA000E084370400404C081305044026CA231E75 -:101BB0000100231D0100EFF08FB21305044085459D -:101BC000EFF06FCC0546854513050440EFF02FC3B9 -:101BD0009307D0027C8685475C87680085473EC8AE -:101BE000EFF08F9005616FE0EFDAEFE26FD8B707A3 -:101BF000002083A58716896793870771B3D5F502FF -:101C00007D1542054181FD15C205C18149376FE04F -:101C10006FD8411122C637040040854513050440A2 -:101C2000EFF0EFC401C9854513050440EFF0AFC5DF -:101C3000EF0070343244410173002030EFE24FD3A3 -:101C400001112E84AA8485450545EFF0AF9F4C080D -:101C50003705004026CAE084231E0100231D010031 -:101C6000EFF0EFA70546854537050040EFF02FB9A7 -:101C70009307C0027C868D475C87680085473EC815 -:101C8000EFF08F86854537050040EFF06FB40561B2 -:101C90006FE04FD0EFE2CFCDB707002083A58716C6 -:101CA000896793870771B3D5F502A9473305F50214 -:101CB000FD15C205C1817D154205418141376FE0A7 -:101CC0006FCD854537050040EFF06FBA19C58545E2 -:101CD00037050040EFF02FBBD12873002030B7F755 -:101CE00000E023A20700D92073002030411122C652 -:101CF000373401408545130504C0EFF04FB701CDDF -:101D0000130504C08545EFF00FB8378500001305B3 -:101D10000548EF50000E32444101730020301DC9C8 -:101D2000B296C206C18252A136A10CC509EE854702 -:101D30001CA183A6018493870184368701EB54C5D7 -:101D400088C30145828023000500E5B76306A7002C -:101D50005847EDB77D558280054582800DC583A724 -:101D600001841387018499E305458280D4476396F3 -:101D7000A6005845D8C7014582806394A70014C3C4 -:101D8000DDBFB687CDB77D558280EFE26FBE03A47D -:101D9000018475DC1C2093F7F70F99C75E2099C367 -:101DA000230004001C4482974044E5B783A70184C4 -:101DB000054691E38280D62381CEBA237D17420760 -:101DC0004183BAA3BA234207418319E390A3B6A380 -:101DD000DC47C5B7232605000CC150C123240500EC -:101DE000054582805C45544118458507B3E7D70215 -:101DF000638EE70058451C41BA978CA35C45584157 -:101E00008507B3E7E7025CC5054582807955828086 -:101E100018455C45630FF70018451C41BA979C2391 -:101E20009CA11C4558418507B3E7E7021CC5054541 -:101E30008280014582805C4518454841998FAA9768 -:101E400033E5A7028280B707002083A787160967BA -:101E5000130707F4B3D7E702C207C1832393F184C2 -:101E60002392F1848280B7F700E0D8438146799BC2 -:101E7000D8C303D741843306A70290CBD4CB984371 -:101E80001367070198C398431367170298C3D84391 -:101E9000058B75DF9843799B98C38280EFE24FAD45 -:101EA0002A841165011185451105EFE0DFF79307DD -:101EB00000207C82371501408D473EC44C00E1472D -:101EC000130505803EC6EFE03FA522C83744014018 -:101ED000B70708000C08130504803ECC02CA231E75 -:101EE0000100EFF00F9B854513050480EFF00FA66E -:101EF00005616FE02FAAEFE20FA6B7440140AE895B -:101F00003289014493840480634524014A856FE04B -:101F1000CFA7930500042685EFF00FA97DD9B387DD -:101F200089008385070026850504C205C181EFF07D -:101F3000AFA6D9BF138781801C43B71600209386B4 -:101F400086523E95636BD500B75600209386068077 -:101F500063E5A60008C33E858280FD57EDBF039769 -:101F6000418381472A97634F070009CD0566930691 -:101F7000F6FFB6876358C700AA876305D500931795 -:101F80000701C1833E858280EFE2EF9C4111372437 -:101F90000140AA8944001309010113040440CE85BD -:101FA000228595460546EFE00FDF85452285EFE067 -:101FB0000FDD89452285EFE00FEA65DD2285EFE040 -:101FC0000FE942054185613F8AA08904E31999FC24 -:101FD0001547814735A013961700140885073696D4 -:101FE000080893961700AA96835546FF03D546FF27 -:101FF0006376B500231AA6FE239AB6FEC207C183F4 -:10200000E3CBE7FC7D1771F728843C8541013E95C1 -:102010004205418105816FE04F97EFE26F950545DD -:10202000A537EF40900BB787000083A50749EF3035 -:10203000304FEF407017B787000003A6874983A68B -:10204000C749EF20D050B787000003A6074A83A6F0 -:10205000474AEF20D04FEF40F01F6FE0AF93EFE221 -:102060002F9109451537EF405007B787000083A52A -:102070000749EF30F04AEF403013B787000003A65E -:10208000874983A6C749EF20904CB787000003A675 -:10209000074C83A6474CEF20904BEF40B01B6FE0FE -:1020A0006F8FEFE2EF8C0D45C535EF401003B7871A -:1020B000000083A50749EF30B046EF40F00EB78728 -:1020C000000003A6874983A6C749EF205048B78779 -:1020D000000003A6074A83A6474AEF205047EF4077 -:1020E00070176FE02F8BEFE2AF881145713DEF4025 -:1020F000C07EB787000083A50749EF307042EF40EC -:10210000B00AB787000003A6874983A6C749EF2016 -:102110001044B787000003A6874B83A6C74BEF2068 -:102120001043EF4030136FE0EF86EFE26F84194504 -:10213000A13DA1679387874C01479306100F922317 -:102140006369C5023A85EF30E07FB787000003A6D8 -:10215000874A83A6C74AEF20903FB787000003A6AF -:10216000074B83A6474BEF30000AEF40B00E6FE0FD -:102170006F8205078907E314D7FC13050000C5BF6C -:10218000EFD21FFF130620038145EFF08FC26FE0EF -:102190006F80EFD2FFFD397168001306200381457F -:1021A000EFF00FAF1886930730053705002063174F -:1021B000F70298869307C0046312F7020347D1031E -:1021C000D947631DF700130620036C0013050502B1 -:1021D000EF40D025054521616FD0DFFBB707002018 -:1021E00003C74705130505029387470518A19833D0 -:1021F00018B1B82338A1B83338B1D82358A1D8338F -:1022000058B1F82378A1F83378B19827DC3718A5AE -:10221000A308F5020145C1B7EFD29FF539712A84B1 -:102220001306200381456800EFF08FA618869307F8 -:1022300030056316F70298869307C0046311F7020E -:102240000347D103D947631CF700130620036C0032 -:102250002285EF40B01D054521616FD0BFF3B70760 -:10226000002003C7470593874705014518A0983309 -:1022700018B0B82338A0B83338B0D82358A0D83312 -:1022800058B0F82378A0F83378B0982718A4DC3732 -:10229000A308F402D1B7EFD21FECB7170020938741 -:1022A000C721F82FC03FAA852207418FE03F13893D -:1022B000C1804204418F03C407026204598C228505 -:1022C000EF404011B787000083A5076FEF305067DC -:1022D000B787000083A5876EAA892285EF305066F4 -:1022E000AA854E85EF30206D83250900EF30A06C64 -:1022F0002320A9001385C180EFF0AFDF6FD0FFE886 -:10230000EFD27FE5B71700209387C721F827C037A2 -:102310002207418FE0371389C1804204418F802B0F -:102320006204598CA285EF40E00AB787000083A5BC -:10233000076FEF30F060B787000083A5876EAA892A -:102340002285EF30F05FAA854E85EF30C066832589 -:102350000900EF3040662320A9001385C180EFF00B -:102360004FD96FD09FE2EFD21FDFB71700209387BE -:10237000C721F82BC03B2207418FE03B1389C18066 -:102380004204418F802F6204598CA285EF40800463 -:10239000B787000083A5076FEF30905AB78700001A -:1023A00083A5476EAA892285EF309059AA854E856C -:1023B000EF30606083250900EF30E05F2320A90043 -:1023C0001385C180EFF0EFD26FD03FDCEFD25FDA40 -:1023D000371400201307C4218347C7028346B7027E -:1023E0000947A207D58F6387E7086367F7000547AA -:1023F0006387E7026FD01FDA0D476384E708114750 -:10240000E39AE7FE938421819C2013844185DDC3F8 -:10241000B707002093870702A83FDC2FBDA81389C8 -:102420000181834709001304C4219384018685C771 -:10243000B707002093870702883FBC2FA2075D8D56 -:10244000EF40A049B787000083A5076BEF30500D20 -:1024500088C0230009002C2C1C3C8840A205DD8D7F -:102460003C3CC207CD8F4C2CE205DD8DEF30A054F3 -:10247000DD3D49B7B787000003A5476BEFF0BFE12B -:1024800095BF938411819C201384C18485C7B707AD -:10249000002093870702E83B9C2FA2075D8DEF4049 -:1024A000C043B787000083A5076BEF30700708C0F3 -:1024B000238004000840EFF0BFE42DBFEFD2DFC857 -:1024C00013893181834709009389C185D1C73704B6 -:1024D0000020130404027C244834B7840000A207BF -:1024E0005D8DEF40803F83A5046BEF30700323A424 -:1024F000A1841C286834A2075D8DEF40003E83A5AF -:10250000046BEF30F00123A8A1843C280838A2070F -:102510005D8DEF40803C83A5046BEF30700083A598 -:10252000046B23ACA184EF30B041EF402023AA8597 -:10253000378500001305056DEF40607A7C28483828 -:10254000A2075D8DEF40603983A5046BEF30407DBD -:1025500023A0A90023000900371400209304C421FC -:10256000FC2803C95401EC2CA207B3E7270103C9D7 -:102570007401A20503A509004209B367F90003C964 -:1025800084011304C421378B000062093369F90008 -:10259000DC3CDD8DFC3CC207CD8F83C50402E20527 -:1025A000DD8DEF30D0286359A0044A85EF40C03F4D -:1025B00003260B4783264B47EF20006E635E050220 -:1025C00083C7C40203C7B402A207D98F95C7A385E6 -:1025D000040223860402EF104018B73500003715B7 -:1025E000002081461306803E93852567130505303C -:1025F000EFF0EFF26FD0DFB83C2C834994014A85AD -:10260000A207B3E737018349B401C209B3E7F90070 -:102610008349C401E209B3E9F900CE85EF30905B4C -:10262000EF408038832B4B47032B0B472A8ADE86EB -:102630005A86AE8AEF204066635E0500CA854E85E5 -:10264000EF305059EF4040365A86DE86EF20C064A6 -:10265000634E05023C280438A207C58F2438C20403 -:10266000C58F4428E204DD8CB787000083A5876B03 -:102670002685EF30D01B634BA000B787000083A5F1 -:10268000C76B2685EF301023635A05009147A305D9 -:10269000F40223060402238F0186A9BF03AC8184C0 -:1026A0002685EF4060302A8B6285AE8B83AC018536 -:1026B000378D0000EF40402F03260D6C83264D6CB4 -:1026C000EF10B05F5A86DE86EF20005D6350050490 -:1026D0006685EF40602D03260D6C83264D6CEF2040 -:1026E00090322A86AE865A85DE85EF20E05A634F07 -:1026F000A000B787000003A6876C83A6C76C52852D -:10270000D685EF20804E89476342A006E685268560 -:10271000EF30F0116355A00403AB81855A85EF407B -:10272000A028B787000003A6876C83A6C76CEF10AC -:10273000D0582A86AE865285D685EF20004B8D472D -:1027400063560502CA855A85EF30700E6359A000A2 -:10275000DA854E85EF301016914763490500E28512 -:102760002685EF303015E35705E88547A305F402C9 -:102770002306040241B5EFD23F9DEFF01F8AB71444 -:1027800000201384C4219357850048B87CA8935730 -:10279000050161817CB808ACEFF0BF9093578500CC -:1027A00008BC3CAC9357050161813CBC48ACEFF0E0 -:1027B0001F8B9357850048B47CA493570501618112 -:1027C0007CB408A8EFF03F92935785007CAC9357F8 -:1027D00005017CBC3C2C034A940148BCA207B3E72A -:1027E0004701034AB40161812300A402420AB3678E -:1027F000FA00034AC40193050000620A336AFA0032 -:102800005285EF30007D0DE168285C3893050000AB -:1028100022055D8D7C38C207C98F082C62055D8D4D -:10282000EF30207B6304050E7C28834A5401D28557 -:10283000A207B3E75701834A7401378B0000C20A2D -:10284000B3E7FA00834A8401E20AB3EAFA00568544 -:10285000EF305038AA8BEF4020157C2444340326F7 -:102860008B6CA207C58F64348326CB6C2A89C20483 -:10287000C58F0428AE89E204DD8CEF200037635950 -:10288000A00883A501885E85EF30900BAA85268578 -:10289000EF305034935785003CA8935705013CB85E -:1028A00003C7E18708B8618148A83E8429EB832BE0 -:1028B000CB6C032B8B6C4A85DE865A86CE85EF2047 -:1028C000C032634EA000D6855285EF30B030EF4065 -:1028D000A00D5A86DE86EF2040316352A002268585 -:1028E000EF40800CB787000003A6876F83A6C76FF1 -:1028F000EF20803A635505008547238FF18683C713 -:10290000718989E7EFF09FBBEFF05FAC6FD05F8715 -:10291000268549B7EFD2DF85379500001306F022F0 -:1029200085451305458BEF40803BB7170020938703 -:10293000C72103C5B70283C7C702A2075D8D6FD049 -:102940007F85EFD2FF823795000013063022854540 -:1029500013050584EF40A038B717002003A54724CE -:102960002181420541816FD0FF82EFD27F80379570 -:10297000000013067021854513058587EF4020363A -:10298000B71700209387C721D85303C58702B7978D -:10299000000083A5478721836205598DEF30407A77 -:1029A000EF30F061420541816FD0CFFEEFD24FFC96 -:1029B000379500001306B02085451305058EEF40BE -:1029C0000032B71700209387C721985303C54702E9 -:1029D000B797000083A5478721836205598DEF30A3 -:1029E0002076EF30D05D420541816FD0AFFAEFD253 -:1029F0002FF8379500001306F01F85451305C58095 -:102A0000EF40E02DB71700209387C721984FC82FBC -:102A1000B797000083A5478721836205598DEF3062 -:102A20002072EF30D059420541816FD0AFF6EFD21E -:102A30002FF4378500001306301F85451305C57D2B -:102A4000EF40E029B71700209387C721D84B882F84 -:102A5000B797000083A5478721836205598DEF3022 -:102A6000206EEF30D055420541816FD0AFF2EFD2EA -:102A70002FF0378500001306701E85451305857AF3 -:102A8000EF40E025B71700209387C721984BC82B4C -:102A9000B797000083A5478721836205598DEF30E2 -:102AA000206AEF30D051420541816FD0AFEEEFD2B6 -:102AB0002FEC378500002E841306F014854513058E -:102AC0000570EF40C0210547B7140020238CE18832 -:102AD0001385042B23820186EFF04FA85C24583421 -:102AE000B7450000A20737150020D98F8146371758 -:102AF00000201306803E9385E5011305052E2388EB -:102B0000042A231EF720EFF08FA16FD0AFE8EFD299 -:102B10002FE63714002023A4A18815470566B74582 -:102B200000002386E18885448146130686BB938591 -:102B300045D71305042B23829186EFF04F9E23087F -:102B4000942A6FD02FE5EFD2AFE2D425DC35A20670 -:102B5000DD8E954763FDD7003785000013064012D0 -:102B600085451305C572EF4080176FD0AFE2B425DD -:102B7000BC35A206DD8E9307002063FAD7003785A7 -:102B800000001306B01285451305C575E9BF3785EA -:102B9000000013054579EF40C025C1BFC1676976C4 -:102BA0008146FD1705061397060141836364B7004C -:102BB0003E8582803307D5001823B98F214713F84B -:102BC0001700858363050800B18FC207C1837D1795 -:102BD000420741836DF78506F9B7EFD26FD93715F4 -:102BE000004013050580EFE00FC7EF404021EF40A4 -:102BF00080269307100F3365F502A9472905330591 -:102C0000F5026FD02FD9EFD20FD503A7418A2A84BE -:102C1000BE84054693055052631CA70437550040F7 -:102C200013050580EFE0EFD32285EF10300813196C -:102C300005010945EFF02FA32285EF10300783A788 -:102C4000418A931905011359090193D909010146D4 -:102C50009305505237550040639187021305058054 -:102C6000EFE02FD0330539413335A0006FD0EFD1DD -:102C700037550040130505C075B7130505C0CDB71E -:102C8000EFD20FCF37040020834704024111130411 -:102C900004025C801C3023150100AA84DC803C20E7 -:102CA000AD450A855C813C3023160100DC815C2047 -:102CB0005C825C30DC827C205C837C30DC831C2486 -:102CC0005C84930710FDDC8485475C85EFF01FED85 -:102CD00093578500DC85834714034886DC86EFF034 -:102CE000DFEFEFF04F982685EFF0FFF16DF93D46ED -:102CF0008A852685EF10607183A7418A0546930572 -:102D00005052375500406399970013050580EFE056 -:102D10004FC541016FD00FC8130505C0CDBFEFD21D -:102D20002FC5370400208347040241111304040215 -:102D30005C801C3023150100AA84DC803C20AD455A -:102D40000A855C813C3023160100DC815C205C82BA -:102D50005C30DC827C205C837C30DC831C245C84E3 -:102D6000930700FDDC8485475C85EFF03FE39357D4 -:102D70008500DC85834714034886DC86EFF0FFE599 -:102D8000EFF06F8E2685EFF01FE86DF93D468A85DE -:102D90002685EF10806783A7418A05469305505228 -:102DA000375500406399970013050580EFE06FBB2E -:102DB00041016FD02FBE130505C0CDBFEFD2CFB8F4 -:102DC00003C9C500DC35011122093369F900420944 -:102DD0001359094193140901C180954763FF970076 -:102DE00037850000A6861306500C85451305C5726D -:102DF000EF30F06E05616FD0AFB8B425BC35A206D8 -:102E0000DD8E9307002063FAD70037850000130694 -:102E1000B00C85451305C575E1BFAA8902CA02CC6D -:102E2000231E0100930A4101368A370B0020B307A5 -:102E3000DA40C207C18363E5970C371A00201304F8 -:102E4000CA241305C400130660028145EFD04FB5B4 -:102E50003707002083470702A30524012305040048 -:102E60001CA0930707029433939A140013090702D6 -:102E700014B0B42334A0B43334B0D42354A0D43326 -:102E800054B0F42374A0F4339C2774B01CA49307AB -:102E900000031CB43714002081471304842563C544 -:102EA000570993856400860593F5E50F1305CA2439 -:102EB000EFF0DFCE9317850021815D8D83471903E5 -:102EC00056940AA03CA0EFF05FD1EFE0DFF94E8509 -:102ED000EFF07FD36DF913860A019305CA244E855E -:102EE000EF10A05283A7418A0546930550523755EB -:102EF0000040639C370513050580EFE08FA6DDBD1C -:102F000013044B09930B84031C40639947015C40F5 -:102F1000014536C68297B2462390AA002104E39564 -:102F20008BFE890A050A21B7101013F7E70F3297B5 -:102F300013F61700B306F400035747FF11E221838D -:102F4000850798A293F7F70F99BF130505C075B7CA -:102F5000EFD20F9F41112A8CEF10405163060518E4 -:102F60005145EFE05FF0B7190020130620038145BB -:102F70001385C9241384C924B70D0020EFD04FA2B4 -:102F800001498144014A930B1400B79C0000379D0E -:102F90000000138B0D026285EF104051630605148B -:102FA0006285EF10204E9387C924D2973EC688A32E -:102FB000930A1A0089476384FA00638F0426182055 -:102FC00083C70D026318F710183083471B00631383 -:102FD000F710379500001306202785451305C59186 -:102FE000EF30F04FA5476396FA06B717002003D7D6 -:102FF000C7218947631FF708382083472B00631DCB -:10300000F708383083473B006318F7085820834798 -:103010004B006313F708583083475B00631EF706C5 -:10302000782083476B006319F706783083477B006D -:103030006314F706182483478B00631FF704379542 -:1030400000001306B028854513058594EF303049FC -:1030500021A08547E3EB97F8A9476385FA008947E4 -:1030600063F3970AB717002083D7C72109471434A1 -:103070006394E71213070003639BE606379500008D -:103080001306C02D85451305859AEF3050454549F7 -:103090009DA883C74186ADF383C7518195CB383056 -:1030A0003C20F98F5820F98F5830F98F7820F98F0C -:1030B0007830F98F1824F98F1307F00F639AE7001F -:1030C000379500001306002A854513054597BDBFB7 -:1030D00091E085445286DE851385C924EF30103592 -:1030E00093070003E3F947EB41016FD02F89414774 -:1030F0006398E602379500001306202E85451305D8 -:10310000C59CEF30D03D1834C1476312F70CB5476A -:1031100063FF570B0349D40006094509568AC9B70E -:10312000138706031377F70F0546636DE60037959F -:1031300000001306902E85451305059FEF30303AA9 -:103140003549D1B703C751811DCF1307000A1306B4 -:10315000F02E6389E6041307100A6398E60013064D -:10316000502F854513054DA30DB7268763F3F40053 -:1031700009479374F70F1306D02F85451385CCA507 -:10318000EF30F03581BF268763F3F400094793746D -:10319000F70F13068030D5B79307000A639AF6003D -:1031A00013061031379500008545130505A179B741 -:1031B0009307100A13067031E385F6FAA68763F3C6 -:1031C000E400894793F4F70F1306F0317DB7E397D6 -:1031D0002AF59305D9FF93F5F50F1385C924EFF070 -:1031E000FF9B330744018347E7FF0347F7FFA2072D -:1031F000D98F6397A700B2479823D947630AF7008E -:103200000D47A68763F3E4008D4793F4F70FD9B514 -:10321000B704002093844406138A040318349C40A6 -:103220006318F700DC404A869385C924628582973B -:10323000A104E3159AFE4DBDA547E39FFAE075B3DF -:10324000EFC27FF103A5418AB79900005D710D4679 -:103250009385C9B2EF10601B1306000581450A85EE -:10326000EFC01FF4378A000003A5C1808325CA6E12 -:10327000371400201304C421EF20906CEF30004E6F -:10328000B79500002A86938505A80A85EF30F0449B -:1032900003A5418A130600058A85EF10001713065F -:1032A000000581450A85EFC0BFEF682C5C3C37897B -:1032B000000022055D8D7C3C8325096BC207C98F08 -:1032C0000345040262055D8DEF209067EF300049F1 -:1032D000B79500002A86938585A90A85EF30F03FCF -:1032E00003A5418A130600058A85EF100012130614 -:1032F000000581450A85EFC0BFEA68245C34832558 -:10330000096B22055D8D7C34C207C98F08286205D0 -:103310005D8DEF20F062EF306044B79500002A86A3 -:10332000938545AB0A85EF30503B03A5418A1306D0 -:1033300000058A85EF10600D1306000581450A859A -:10334000EFC01FE628281C388325096B22055D8DF8 -:103350003C38C207C98F482862055D8DEF20505E5A -:10336000EF30C03FB79500002A86938585AC0A856B -:10337000EF30B03603A5418A130600058A85EF10A9 -:10338000C0081306000581450A85EFC07FE1682863 -:103390005C388325096B22055D8D7C38C207C98F97 -:1033A000082C62055D8DEF20B059EF30203BB795BA -:1033B00000002A86938505AE0A85EF30103203A5FA -:1033C000418A130600058A85EF10200413060005C4 -:1033D00081450A85EFC0DFDC282C1C3C8325096B66 -:1033E00022055D8D3C3CC207C98F482C62055D8D6E -:1033F000EF201055EF308036B79500002A86938570 -:1034000045AF0A85EF30702D03A5418A13060005EC -:103410008A85EF00907F1306000581450A85EFC07D -:103420003FD80345640283475402379700002205C2 -:103430005D8D8347740283254787C207C98F034583 -:10344000840262055D8DEF20B04FEF302031B795DB -:1034500000002A86938585B00A85EF30102803A5E1 -:10346000418A130600058A85EF00307A13060005AD -:1034700081450A85EFC0DFD203A501888325CA6E86 -:10348000EF20104CEF30802DB79500002A869385F1 -:1034900085B10A85EF30702403A5418A1306000523 -:1034A0008A85EF0090761306000581450A85EFC0F6 -:1034B0003FCF03C64188B7950000938505B30A85C1 -:1034C000EF30B02103A5418A130600058A85EF007D -:1034D000D0731306000581450A85EFC07FCC834772 -:1034E000A40203469402B7950000A2075D8E93855F -:1034F000C5B40A85EF30701E03A5418A1306000586 -:103500008A85EF0090701306000581450A85EFC09B -:103510003FC903C6E187B7950000938505B60A85C4 -:10352000EF30B01B03A5418A130600058A85EF0022 -:10353000D06D1306000581450A85EFC07FC603C61E -:103540006189B7950000938585B70A85EF30F0183B -:1035500003A5418A130600058A85EF00106B130648 -:10356000000581450A85EFC0BFC303C6C187B79573 -:103570000000938505B90A85EF30301603A5418A0E -:10358000130600058A85EF00506813060005814583 -:103590000A85EFC0FFC08347C4020346B402B79553 -:1035A0000000A2075D8E9385C5BA0A85EF30F01240 -:1035B00003A5418A130600058A85EF00106503A55F -:1035C000418A0D469385C9B2EF0030649387D18755 -:1035D000902337140140930500101336160013058D -:1035E000048090A3EFD0CFC01387D1881C23850718 -:1035F00093F7F70F1CA329476399E7000546930546 -:103600000010130504C0EFD0AFBE61616FC0FFB7FB -:10361000EFC21FB69387C1899843D5669386061873 -:103620006307D702050798C3371401408564938563 -:103630000480130504800546EFD08FBB01469385B7 -:10364000048013050480EFD0AFBA6FC0BFB423A0CD -:103650000700B707EFBE37E700E0938707083CC7CE -:10366000E1B7EFC2FFB003A5818AEFF07F8E6FC094 -:103670007FB2EFC2FFAFB704002093870402F42F9C -:10368000D83FA206D98E1387418110239384040268 -:103690009387818611C6230007001387D6FF9AA35C -:1036A0009A230507420741836305D7009AA36FC099 -:1036B0007FAE2390070037140020EFE0DFA2130451 -:1036C000C421135785002301E40293578501135742 -:1036D0000501A301E402A300A4022302F402DC28F2 -:1036E0002A89A838A2075D8DEF30201FB787000018 -:1036F00083A5076BEF20C062AA854A85EF203013AF -:10370000E357A0FA37150020930405301305053060 -:10371000EFE0CFE42380040068245C343797000096 -:1037200022055D8D7C34832587C1C207C98F082897 -:1037300062055D8DEF20B00F3325A000238FA18699 -:10374000B745000037150020814679469385E5AEE0 -:103750001305052FEFE0AFDC99BFEFC27FA13797CC -:103760000000032707C237050040814513050540C7 -:1037700023A6E180EFD0DF85371500408145130592 -:103780000580EFD0FF8B6FC0FFA0EFC2FF9B1387B8 -:10379000618637090020130609021E2383460602AC -:1037A0006C3E8507C207A206C183CD8E6385F600F5 -:1037B0001EA36FC0FF9C2310070037140020EFE00A -:1037C0001F8A9304C42193578500C8B4FCA493575F -:1037D00005016181FCB488A8EFE03F849357850020 -:1037E000C8B8FCA8935705016181FCB888ACEFE02C -:1037F0005F8B9357850088BCBCAC935705016181F2 -:10380000BCBCC8ACEFE07F9293578500A382A402B2 -:103810002383F402935705016181A383F402238477 -:10382000A402B714014093050010138504C0EFD023 -:103830004F9B130909021304C421814701C9914513 -:10384000138504C0EFD04F99B337A000A304F4024E -:103850007C28443883499401A207C58F6438230526 -:103860000402C204C58F042CE204DD8C3C2C2685A6 -:10387000A207B3E737018349B401C209B3E7F900EE -:103880008349C401E209B3E9F900CE85EF20903401 -:10389000AA8AEF306011B797000003A687C083A6FD -:1038A000C7C02A8BAE8BEF10203F635405047C24E5 -:1038B000034AD4005685A207B3E74701034AF40040 -:1038C000420AB367FA00034A0401620A336AFA0043 -:1038D00083A50188EF20D006AA855285EF20902F7E -:1038E0009357850008B83CA89357050161813CB8FF -:1038F00048A883C7E187138CE187C5EBB787000031 -:1039000003AA876C83AAC76C5A855286D686DE8541 -:10391000EF10A02D634EA000A6854E85EF20902BC2 -:10392000EF3080085286D686EF10202C6352A00814 -:1039300068245C3422055D8D7C34C207C98F082859 -:1039400062055D8DEF304006B787000003A6876FE4 -:1039500083A6C76FEF104034635C050485472300DE -:10396000FC00B797000083A507C02685EF20206CD8 -:103970006350A00403C7418885476309F70003A586 -:10398000018893050000EF20C0641DE1B7450000E9 -:10399000371500209306800C1306800C938525C2F2 -:1039A00013050529EFE0AFB721A00547E38BE7FA40 -:1039B000EFE06FF3935785007CAC935705017CBC17 -:1039C000834764028344540248BCA207C58F8344E2 -:1039D000740261812300A402C204C58F834484025F -:1039E0000345A902E204DD8C8347990222055D8D1F -:1039F0000D05EF203062AA852685EF20A06B635865 -:103A0000050283C67189094713847189639EE600A4 -:103A1000B745000037150020814679469385E5AE0D -:103A20001305052FEFE0AFAF2300040059B30345A2 -:103A300089028347790222055D8D0D05EF20905D97 -:103A4000AA852685EF20A05E635DA00283476902F8 -:103A500003455902A2075D8DEF20D05BAA8526851C -:103A6000EF204065635F0500B797000083A747C05C -:103A700023A6F1801385C180EFD0BFE70547A38B54 -:103A8000E188834564028347540203456902A20525 -:103A9000CD8F83457402034484022205C205DD8D67 -:103AA0008347590262044D8C5D8D0D05EF209056C1 -:103AB000A285EF202060E35E05CE0947A38BE18855 -:103AC000EFF0BFC9FDB1EFC2AFEA37050040854551 -:103AD00013050540EFD0CFCFB71700209387C7213C -:103AE0000947A385E702238607026FC0AFEAEFC24A -:103AF0008FE61387E1881E238507C207C1831EA3B3 -:103B00001147636CF7003715004093054006130515 -:103B10000580EFD0EFD26FC04FE713076004138426 -:103B2000E188138A4187636BF70083290A0083A524 -:103B3000C1804E85EF20A04F6351A00C37150020A7 -:103B40001309052F1305052FEFE04FA19307000080 -:103B50001385C1802320FA002300090023100400EC -:103B6000EFD03FD903C7E18785476315F700EFF032 -:103B70009FF555B7930700001385C1802320FA00F5 -:103B800023100400EFD0FFD6EFE02FC92A84EFE026 -:103B90004FD1AA852285EF20F003EF20F060B78790 -:103BA000000003A4876C83A4C76C2286A686EF104E -:103BB000C003E34EA0FAEFE0CFCE2A89EFE0EFC5D5 -:103BC000AA854A85EF201001EF20105E2286A68686 -:103BD000EF10A001E34DA0F8B71700203705004013 -:103BE0009387C7211147854513050540A385E70243 -:103BF00023860702EFD0CFBD39BF4E85EF20D05AC4 -:103C0000B797000003A607C183A647C1EF00F00ADB -:103C1000EF2050642320AA0013854187EFD07FCD89 -:103C2000DDBDEFC24FD3138701891C23397185078E -:103C300093F7F70F1CA305476394E702370500408D -:103C4000814513050540EFD0AFB89305C012371575 -:103C5000004013050580EFD0AFBE21616FC0EFD2E9 -:103C60002D476394E702EFE04FBBAA84EFE06FC3F8 -:103C7000AA852685EF20007623A6A186EFE02FBE39 -:103C800023A0A18A9305401AD9B75547E397E7FCCB -:103C9000371500209304052913050529EFE00F8C43 -:103CA00023800400EFE06FB72A89EFE08FBFAA8579 -:103CB0004A85EF2020729384018788C0EFE02FBAF5 -:103CC000AA8503A5018A13840189EF20A0702A899F -:103CD0008C4003A5C186EF20E06FAA854A85EF20BE -:103CE0002004B797000083A5C7BF1389018823204C -:103CF000A900AA89EF20A03393840188634FA00014 -:103D00004E85EF20704AB787000003A6074783A6B9 -:103D10004747EF007078635A0500930700009CC086 -:103D200023000400EFF03FDA0DBF6800EFE0CFCED4 -:103D3000B784000015C583A5C46E03250900EF20D4 -:103D40002040EF20D02742054181A306A102218116 -:103D50002307A1026800EFE0AFC223820188C9B740 -:103D6000B705002013062003938505026800EF20A5 -:103D7000F06BD1B7EFC22FBE138791891C230111BD -:103D800093861700F51714A393F7F70F9306B00F58 -:103D900063E3F602371500201304052B1305052BEA -:103DA0002382018623000700EFD05FFB230004007D -:103DB00005616FC08FBD414681451305E100EFC02D -:103DC0002FBE370400208347040213040402DD459C -:103DD0005C821C30480093849189DC82FD577C838F -:103DE000FD573EC4E9779387F71F7C8683C7C18858 -:103DF000DC87B717002003C7D72183C6C721938765 -:103E0000C7212207558FA308E10093568700382069 -:103E10002308D1002309E1003830A309E10058202C -:103E2000230AE1005830A30AE1007820230BE100C7 -:103E30007830A30BE1001824230CE1009837BC274D -:103E4000A207D98F13D78700230DF100A30CE1003F -:103E5000EFE0DFD493578500A30DF10083471403EF -:103E6000230EA1002944A30EF100EFE01FD7EFD0ED -:103E70009FFF1389818803250900EFE0DFD821E542 -:103E800093878189942305476397E6002380070081 -:103E90002380040031BF032509006D464C00B52383 -:103EA0000327090083A7418A0546930550523755D9 -:103EB00000406317F70013050580EFD08FAACDBD32 -:103EC000130505C0DDBF7D141374F40F59FCCDB587 -:103ED000138711891C233706002013060602850765 -:103EE00093F7F70F1CA38346C6028345B602A206CA -:103EF000CD8E6393D704EFC2AFA73715002013040C -:103F0000052A1305052A23000700238B0188EFD01B -:103F1000FFE423000400371401409145130504C059 -:103F2000EFC09FAB01E9014693050010130504C0E3 -:103F3000EFC01FAC6FC00FA68280EFC26FA303C794 -:103F400061898547138421899384C1876312F702AD -:103F50003715002013090528130505282300040040 -:103F6000239A018823800400EFD05FDF230009003B -:103F7000982085476315F7001C2085071CA037098A -:103F800000209306090283C7E60203C6D602142066 -:103F9000A207D18F130909026392F60223000400DD -:103FA0003715002013040528130505282380040075 -:103FB000EFD0DFDA230004006FC0CF9D854763FD9B -:103FC000E70037150140014693050010130505C0B1 -:103FD000EFC01FA223000400371501409305001015 -:103FE000130505C0EFC0FF9F9387418901E59A2320 -:103FF00005079AA3034709030346F90296232207FC -:10400000518FE39BE6FA37150140054693050010F2 -:10401000130505C023900700EFC09F9D51B79387FC -:1040200081879043938651810506B705002090C390 -:10403000238006009385050203C7450203C53502A8 -:104040002207498F6314E602EFC28F9237150020D2 -:104050001304052E23A007001305052E85479CA2F7 -:10406000EFD0DFCF230004006FC0CF928280EFC279 -:104070008F8EB70400209384040283C7240203C5F3 -:10408000140237190020A2075D8DEF201005B787B5 -:10409000000083A5C76E1304C921EF107048BC202F -:1040A00093890188370700203CA0BC3013074705DF -:1040B000230E09203CB0DC20A30E092023A0A90078 -:1040C0005CA0DC301309C9215CB0FC207CA0FC3072 -:1040D0007CB09C241CA43C271437A207D58F1CB4A9 -:1040E000A1833CA45C273437A207D58F3CB4A183BD -:1040F0005CA4EFD0DFF69357850048B47CA49357B7 -:10410000050161817CB408A8EFD03FF19357850089 -:1041100048B87CA89357050161817CB808ACEFD002 -:104120005FF8935785015CAC7C24443413578500B9 -:10413000A207C58F643438AC13570501C204C58F7C -:10414000042838BC5838E204DD8C7C28AA8508BCD9 -:10415000A2075D8F7C38C207D98F182C62073365A0 -:10416000F700EF20202783A50900EF10707DAA85B6 -:104170002685EF2020269357850008B83CA8935742 -:10418000050161813CB848A8EFD0FFF59357850041 -:10419000A300A4022301F402935705016181A30146 -:1041A000F4022302A402EFD05FF8935785002303A3 -:1041B000F40293570501A303F4023C280438A30238 -:1041C000A402A207C58F243861812304A402C2047B -:1041D000C58F4428E204DD8CB797000083A5C7C1D2 -:1041E0002685EF10306D634B0500B797000083A55F -:1041F00087C12685EF10B0636355A0000547238271 -:10420000E188B714014093050010138504C0EFC086 -:104210004FFD814701C99145138504C0EFC0CFFB15 -:10422000B337A000A304F90223050902A30509027C -:10423000230609026FB07FF5EFB29FF3EFD07FF551 -:10424000EFF0FFE2B7350000371500208146130676 -:10425000803E938505241305052DEFD05FACB7355F -:104260000000371500208146130640069385256619 -:1042700013050531EFD0BFAAB73500003715002070 -:10428000F9461306803E9385056113050532EFD08C -:104290001FA9B7350000371500209306803E13068E -:1042A000803E9385A5781305052CEFD05FA7B73521 -:1042B00000003715002081461306803E9385256750 -:1042C00013050530EFD0BFA5EFD03FAC6FB09FEC2A -:1042D000EFB21FEA0545EFD0FF9B8D28EFD0AFDA94 -:1042E000EFC0FFF0EFD0CFB8EFD08FBBEFC03FFFF4 -:1042F000EFD02FBEEFD0CFC1EFD04FCB2945EFD0BD -:10430000DF8E6FB03FE9EFB2BFE6014405C1002187 -:1043100011CC5C410D47639EE7003755004093F593 -:10432000F50F13050580EFD02FFC054422856FB0F3 -:104330007FE611470544E39BE7FE3755004093F5C0 -:10434000F50F130505C0EFD02FFACDB7EFB25FE23E -:10435000370400201304C40CB71500201306800C8A -:10436000938505331305C400EFD0DFA671651305EF -:104370000520EFD08FEB8544B715002004A013066D -:10438000C0129385853F1305840223A2818AEFD052 -:104390007FA448507104EFD02FDE04A0014523A470 -:1043A000818A6FB03FDFEFB2BFDC371501400546B1 -:1043B00093050002130505C0EFC08FE36FB09FDDCA -:1043C000EFB21FDB371501400146930500021305CC -:1043D00005C0EFC0EFE16FB0FFDBEFB27FD937155B -:1043E00001400546C145130505C0EFC06FE06FB041 -:1043F0007FDAEFB2FFD7371501400146C1451305FB -:1044000005C0EFC0EFDE6FB0FFD8EFB2DFD403A777 -:10441000418A2A842E8AB2899384418A6311A70231 -:10442000EFF07FF80149634339030545EFD0BFA39F -:104430009C4063968702EFF0BFF86FB01FD583A74B -:10444000818AE391A7FEEFF05FF9E9BFB3072A0184 -:104450008385070022850509EFF0FFEAE9B783A706 -:10446000818AE39C87FCEFF0DFF8C1BF814709C96F -:104470001821814711C75C49084D898FB337F00077 -:104480003E858280EFB2DFCE41112A84A30701006E -:10449000EFF0DFFD19C59305F1001305C400EFD05F -:1044A0003F970305F10041016FB0DFCEEFB25FCC63 -:1044B0003105EFD05F986FB0FFCD370810000111C4 -:1044C0007D183377B80026CA3378D80093D44501D5 -:1044D00013D34601131E37004EC61357D5010E08DD -:1044E0009357D60193F4F47F1373F37F06CE22CC57 -:1044F0004AC893D9F50193DEF6013367C701131F4C -:10450000350033E80701931F3600338E6440638023 -:10451000D9196356C0136304031CB70680009307C0 -:10452000F07F3368D800638FF4369307800363C04D -:10453000C735FD4763CDC747130500023305C541A5 -:10454000B3D7CF01B316A8003399AF00DD8E33394E -:104550002001B357C80133E926011D8F33092F41CC -:10456000B3372F013306F7409317860063D407242F -:10457000370780007D173374E600630C042C228516 -:10458000EF20E063130785FF93070002998FB3576D -:10459000F9003316E400D18F3319E9006341972AFB -:1045A00033059740130615007D47634DC738130741 -:1045B0000002118FB356C9003319E9003397E700A1 -:1045C000558F333920013369270133D6C700814421 -:1045D0009377790081CF1377F90091476308F7004B -:1045E00013074900333927014A963A899317860001 -:1045F00063D6071C138514009307F07FCE856304F0 -:10460000F520B70780FFFD17F18F9398D701135955 -:104610003900A607B3E82801B1831375F57F939697 -:10462000C7005205F2406244B182FE05C98ECD8EAC -:10463000D2444249B2494685B68505618280631EEF -:104640000E0A138314001373E37F63170322B36707 -:10465000E701B368F801639D041A63870740638626 -:1046600008443309FF41B307074133362F0133862E -:10467000C7409317860063D6074C3389EF41B307D1 -:10468000E84033B62F013386C740F68991B76350AF -:10469000C00F6300030CB70680009307F07F3368F8 -:1046A000D800638AF43A9307800363CBC713FD47AE -:1046B00063DFC73513090EFE93070002B3562801C6 -:1046C000630AFE00130900043309C94133192801A4 -:1046D000B3EF2F013339F0013369D90031A2B36749 -:1046E000F801638A071C9307FEFF638C0738930663 -:1046F000F07F6309DE1A3E8E0DBDB30593406391D2 -:104700000422B367E701638707329387F5FF63816C -:1047100007449306F07F638CD520BE859307800302 -:1047200063CCB72AFD4763CFB73C930700028D8F58 -:104730003319F700B356BF00B317FF003369D90030 -:10474000B337F0003357B7003369F9003308E84056 -:1047500041ACB367F801638007349307FEFF638AB7 -:1047600007209306F07F6308DE2E3E8E2DBF631E6A -:104770000E149386140093F7E67F63910734B367B2 -:10478000E7016395042C6380073EB367F801638EED -:1047900007303309FF01B3070701333FE9013386CF -:1047A000E7019317860063D70700B70780FFFD175F -:1047B0007D8E854493777900E39F07E09317D601B8 -:1047C00093583900B3E8F800935736001307F07F89 -:1047D000638DE404B207B18313F5F47FCE8581B510 -:1047E0003369F801333920017A99B337E901338607 -:1047F000E70093178600E3DF07FA85049307F07F4D -:104800006396F418CE851305F07F8147814801BD7A -:10481000C1EB6384083A931636009317D8018D8252 -:10482000B3E8D700F68993573800B3E7F800F9DB0F -:1048300081451305F07FB70708008148CDB33706DF -:1048400080FF7D167D8E93777900998CE39507D84C -:10485000B5B74A85EF20A03613078501FD47E3D59C -:10486000E7D2130685FFB317C900014905BB3369B9 -:10487000F80133392001DDB13309FF413306074127 -:1048800033342F01330486409317840063CD07240B -:10489000B3688900E39308CE8147814981441DBFF5 -:1048A000E39808F80E059317D7010D81B3E8A70028 -:1048B000935737009DBF0E059317D7010D81B3E8BD -:1048C000A700F2849357370011B7330593406382F2 -:1048D0000412B70680009307F07F558F630DF32E07 -:1048E0009307800363CBA720FD4763C3A72A9307E1 -:1048F0000002898F3319F700B356AF00B317FF00DA -:104900003369D900B337F0003357A7003369F90092 -:104910003A987E99B337F901338607019A84D1BD5D -:10492000B70680009307F07F558FE319F3DE9317E6 -:1049300036008D839318D801B3E81701F689935791 -:104940003800E5B5130715FE9306000233D7E700DC -:10495000630AD600930600043386C6403396C70028 -:104960003369C900333920013369E90001468144C4 -:1049700091B53309FF01B30707013336E9013E96CC -:10498000931786008544E3D707E28944B70780FF81 -:10499000FD17F18F13571900137919003369270197 -:1049A0009398F70133E9280113D6170015B11309BD -:1049B0000EFE93070002B3562801630AFE00130996 -:1049C00000043309C94133192801B3EF2F013339EA -:1049D000F0013369D90059B63369E7013339200151 -:1049E00033892F41B3B72F013306F8409A84F689F3 -:1049F000A5BEB367E701638207189307F5FF6384D9 -:104A0000071C9306F07F6304D5123E85D1BD930742 -:104A10000002B387C741B316F8003399FF0033D6BD -:104A2000CF01D18E33392001B357C80133E92601B4 -:104A30003E975DBB931736008D839318D801B3E87A -:104A40001701AE8493573800F68949B3EDC3336933 -:104A5000F801E31F09DC0E059317D7010D81B36838 -:104A6000F50093573700D1B36381080E93163600D3 -:104A70009317D8018D82B3E8D700F6899357380091 -:104A800091BB3309FF41B3070741333F2F01338601 -:104A9000E7418544D1BC0E059317D7010D81B3685A -:104AA000F500F2849357370015B30E059317D7011D -:104AB0000D81B3E8A7009357370029BB9307F07F18 -:104AC000E382F6D43309FF013336E901B307070166 -:104AD000B2979398F7011359190033E9280113D6B7 -:104AE0001700B684C1B93389EF413307E84033B6C4 -:104AF0002F013304C740F68949B43369E7013339DC -:104B0000200101BD938705FE93060002B357F7000D -:104B1000638AD50093060004B385B6403317B70007 -:104B2000336FEF003339E0013369F90055BD931756 -:104B300036008D839318D801B3E8170193573800D6 -:104B4000EDB1B368C900E39708C68147814959B1FF -:104B50003389EF41B307E84033B62F013386C740AE -:104B6000F689854411B4931636009317D8018D82C7 -:104B7000B3E8D70093573800B1B9931636009317AE -:104B8000D8018D82B3E8D700AA84935738003DB985 -:104B9000930705FE93060002B357F700630AD5009A -:104BA000930600043385A6403317A700336FEF0048 -:104BB0003339E0013369F900A9BB81451305F07F62 -:104BC000B7070800A9BC3309FF01B3070701333653 -:104BD000F9013E9675B3931636009317D8018D826E -:104BE000B3E8D7009357380089B113D74501B70709 -:104BF0001000FD1713D846011377F77F9308F07F55 -:104C000033F3B7002A8EF58FFD81B28E1378F87FCB -:104C1000FD8263081703630018030DEBB368A3005C -:104C2000631408005D8E29CA638508046388D50271 -:104C3000054595ED8280B3E8C700E38008FE79550D -:104C400082803365A30065FD630CE80263140800ED -:104C50005D8E79DEE39ED5FCE34CE8FC63480701FA -:104C6000E3E867FC6303F302637FF30081E57D55AE -:104C70008280F5DE054582800145E39B08FA82804B -:104C80005D8E69DA6DBF01458280E3E3CEFB0145AD -:104C9000E372DEFBE5F1E1BF13D74501B707100072 -:104CA000FD1713D846011377F77F9308F07F33FE83 -:104CB000B700AA8EF58FFD81328F1378F87FFD82C1 -:104CC000630E1703630D180129E3B368AE00631F79 -:104CD00008005D8E01EE0143638C080421A8B3E84F -:104CE000C7000943639608046DD305A063840804D4 -:104CF0006385D50205438DCD7D531DA8B368AE00F5 -:104D0000094363970802630AE802631408005D8E92 -:104D100075D2E391D5FEE34FE8FC63490701E3EB6D -:104D2000C7FD630FFE0001436374FE00F1D5054328 -:104D30001A858280EDFE7D53E5BF5D8E79DACDBFA9 -:104D4000E36ADFFB0143E3F5EEFFF5F175B7397177 -:104D50004AD813D945014ED652D456D29399C5009C -:104D600006DE22DC26DA5AD05ECE1379F97F2A8A53 -:104D700093D9C90093DAF501630D090E9307F07F0B -:104D80006306F9181354D5018E09B3693401370449 -:104D9000800033E4890093143500130919C0814958 -:104DA000814B13D74601139AC6001377F77FB2855C -:104DB000135ACA0013DBF601630B07109307F07F49 -:104DC0006303F7049357D6010E0A33EA470113072A -:104DD00017C0B7078000B367FA00931536003A99F9 -:104DE000814833C76A01BD463A851308190063E854 -:104DF000361717460000130626E38A09B29983A6E0 -:104E00000900B2968286B367CA001309F97F6399D5 -:104E1000071293E9290081458948E1B701479307C3 -:104E2000F07F3704080081443204D20731807E07C6 -:104E30005D8C598CA285F250625426854259D25419 -:104E4000B259225A925A025BF24B216182805A85F2 -:104E50003E84AE84C68B8947638DFB0E8D47E38FFE -:104E6000FBFA85472A87639EFB38814701448144CA -:104E700065BF33E4A90061C036C632C4638C092A19 -:104E80004E85EF10D0532246B246AA87130755FF2E -:104E90007544938487FF198CB399990033548A0021 -:104EA00033643401B3149A0013D746011309D0C0F8 -:104EB000139AC6001377F77F3309F9408149814B74 -:104EC000B285135ACA0013DBF601E31907EEB36784 -:104ED000CA00B1C7630F0A22528532C4EF10304EA8 -:104EE00022462A87930655FFF547930587FF958F3E -:104EF000331ABA00B357F600B3E74701B315B6004B -:104F00003309E9401309D9C08148E1BD33E4A90060 -:104F100001ECA14981441309F07F894B59B593E90C -:104F200019008145854875BD4E84AA84B14913098D -:104F3000F07F8D4BBDB5914981440149854B95B5B5 -:104F400093E93900D2878D4869BD89475685E39733 -:104F5000FBF02A879307F07F01448144F1B5C16ECD -:104F60001386FEFF93D6040113DE0501F18CF18D4B -:104F7000338695023383B6029358060133059E02A9 -:104F80001A95AA98B382C60363F36800F692C16FBC -:104F90001383FFFF33F5670093D30701B3F768006E -:104FA000C207337366003E933306950293D8080117 -:104FB000B387A602135F0601B3849302BE94FA94EA -:104FC000B38E760263F3F400FE9E416A9307FAFF04 -:104FD000935F0401B376F400B3F9F4007D8EC180D1 -:104FE0003384D502C209338FD401B299CE98B30766 -:104FF000DE02935E0401B385BF02AE97BE9E330E00 -:10500000FE0363F3BE00529EC1679385F7FF33F63C -:10501000BE006D8C4206229693DE0E01B305D502CA -:10502000769E3385AF0213D40501B386D302AA96C8 -:10503000A296B38FF30363F3A600BE9F41657D156F -:10504000B3F7A600C2076D8DAA97B3855800B3B910 -:105050003501FA97B2953384370133B6C500B30EE4 -:10506000C4013385CE0033343401B3B7E701C18FB7 -:1050700033BECE0113D406013336C5003E943366E9 -:10508000CE009394950032947E94B3E46400260499 -:1050900093567501B3349000DD8193179500CD8C44 -:1050A000558CDD8C9317740063DB070093D71400D5 -:1050B00085889316F401DD8CD58C05804289930791 -:1050C000F93F6359F00893F6740081CE93F6F4002B -:1050D00011466388C60093864400B3B496002694B4 -:1050E000B6849316740063D80600B70700FFFD1757 -:1050F0007D8C930709409306E07F63CFF60E93D62D -:1051000034009314D4012604D58C318093F7F77FB3 -:1051100021BB328532C4EF10902A93065501F14726 -:10512000130705022246E3D1D7DC6115B317A600A9 -:105130008145F9B3EF10B02813075501F1459307E6 -:1051400005022246B246E3D5E5D461153314AA0020 -:10515000814499BB85469D8EB1E71309E941B39718 -:105160002401B3D4D40033192401B337F000B3645D -:105170009900DD8C93F77400B356D40081CF93F778 -:10518000F40011466388C70093874400B3B49700C6 -:10519000A696BE849397860063D80704854701448A -:1051A000814459B113068003E341D6CC7D46E356D2 -:1051B000D6FA0556B307F640930500023356F400BD -:1051C0006387B6001309E943B3172401DD8CB334B8 -:1051D0009000D18C93F67400014499CA93F7F400BF -:1051E00011468146E392C7FA139496003180F60681 -:1051F0008D80D58C81470DB99307F07F01448144A0 -:1052000025B142896DBD370710007D170111337339 -:10521000B70093D84601758F935ED60122CC26CA7B -:105220000E0393D445019357D5010E0706CE4AC805 -:105230004EC693F8F87F130EF07F33E7EE0093F439 -:10524000F47F13D4F50133E36700131F3500FD82AB -:10525000931E36006380C81993C61600B3851441A7 -:105260006305D4126351B018638B081AB707800026 -:105270005D8F6381C4599307800363C4B734FD47CE -:1052800063C5B748930700028D8FB3D9BE003318AA -:10529000F700B39EFE00336838013357B700B339C7 -:1052A000D001336838013303E340B3090F41B3370A -:1052B0003F013306F3409317860063D30724370971 -:1052C00080007D1933792601630F092C4A85EF1080 -:1052D000100F130785FF93070002998FB3D7F900CA -:1052E0003316E900D18FB399E9006344972A058FFB -:1052F00013061700FD4663C5C63A13070002118F57 -:10530000B3D6C9003398E9003397E700558F333897 -:105310000001B369070133D6C700814493F77900D0 -:1053200081CF93F6F90091476388F6009386490090 -:1053300033B836014296B6899317860063D6071CA8 -:10534000138714009307F07F05886306F720B707DB -:1053500080FFFD17F18F1398D70193D93900A60765 -:1053600033683801B1831377F77F9396C7005207EC -:10537000B1827E04D98EC18EF2406244D244424949 -:10538000B2494285B685056182806356B00A638A58 -:105390000812B70780005D8F6387C42D93078003D1 -:1053A00063C7B718FD4763D2B73C138805FE930760 -:1053B0000002B3590701638AF50093070004B3851F -:1053C000B7403317B700B3EEEE003338D00133687F -:1053D000380195A2B367D7019385148099E393C6EA -:1053E0001600630AD404D1E19387140093F7E77F92 -:1053F0006399071EB367E3013368D701639204160C -:105400006382073C63160842131835009316D301D4 -:105410001358380033E806019357330019A2B367D5 -:10542000D7016385071A9387F5FF638B073A638C6F -:10543000C523BE8589B56399051C9386140093F72F -:10544000E67FC1EFB367E30163900436638D0744E1 -:10545000B367D701639407460E051318D3010D8176 -:105460003368A800935733006DA8B38598406397BD -:105470000420B367E301638D07309387F5FF6389E9 -:1054800007401305F07F6383A520BE859307800343 -:1054900063C2B72AFD4763C8B73C930700028D8FEC -:1054A0003318F3003356BF00B317FF003368C8004A -:1054B000B339F0003353B300336838013307674022 -:1054C000B5ACB367D701638307109387F5FF638F8C -:1054D000071E6380C52FBE85D1B59307F07F638B10 -:1054E000F606FA9E33B6EE01B307E300B2971398BF -:1054F000F70193DE1E00B369D80113D61700B684F6 -:1055000093F77900E39F07E09317D60113D839008A -:105510003368F800A685935736001307F07F638041 -:10552000E506B207B18313F7F57F05883DBD336704 -:10553000D7013338E000B309E801B3B7E901338696 -:10554000670093178600E3DD07FA85049307F07F71 -:10555000639CF41805881307F07F8147014831B533 -:10556000639107106301083C131836009317D701A5 -:10557000135838003368F800368493573700B36700 -:10558000F800E9DB01441307F07FB7070800014882 -:10559000E9BB370680FF7D167D8E93F77900998CE5 -:1055A000E39107D895B74E85EF1060611307850129 -:1055B000FD47E3D2E7D2130685FFB397C9008149BF -:1055C0002DB33368D70133380001C5B11318350046 -:1055D0009317D301135838003368F80093573300FA -:1055E0002DBFB309DF413309E34033363F013309AF -:1055F000C9409317890063CA072033E82901E315DE -:1056000008CC8147014431BFB385984063810414BD -:10561000B70680009307F07F3363D3006381F820DF -:105620009307800363CCB722FD4763C9B72C930768 -:1056300000028D8F3318F300B356BF00B317FF007D -:105640003368D800B339F0003353B30033683801FE -:105650001A97B309D801B3B7D9013386E700C684D6 -:10566000CDB5E31108F2131835009317D301135881 -:1056700038003368F8009357330011B737058000BE -:105680009307F07F3363A300E392F8E00E0613184C -:10569000D7010D823368C800935737003684C5B5EB -:1056A00005179306000233D7E700630AD600930676 -:1056B00000043386C6403396C700B3E9C9003338C7 -:1056C0003001B369E800014681441DBDB309DF0123 -:1056D000B307E30033BFE9013386E7019317860080 -:1056E0008544E3DF07E08944B70780FFFD17F18FAA -:1056F00013D7190013F81900336807019399F701BC -:10570000B3E9090113D6170011B9138805FE9307F1 -:105710000002B3590701638AF50093070004B385BB -:10572000B7403317B700B3EEEE003338D00133681B -:105730003801A5BE3363E30133386000B3890E41FD -:10574000B3B73E013306F740C6843684ADB6B367BF -:10575000E301638707189387F5FF638C071C9306A3 -:10576000F07F638ED50ABE8565BD930700028D8FDD -:10577000B3D9BE003318F700B39EFE00336838017A -:105780003357B700B339D001336838013A9365B362 -:10579000131836009317D7011358380033E8070160 -:1057A00036849357370095BBBDCB3367D701E31BD6 -:1057B00007DC0E051318D3010D813368A800935739 -:1057C000330075BBE30F08E2131836009317D701B7 -:1057D000135838003368F80036849357370091B374 -:1057E000B309DF41B307E340333F3F013386E7416D -:1057F0008544D1B4131835009316D30113583800DB -:1058000033E80601935733009DBBB389EE4133065D -:10581000674033B93E0133092641368475B40E061C -:105820001318D7010D823368C8009357370081BB26 -:10583000B309DF41B307E34033363F013386C74046 -:105840009317860063D7070AB389EE41B307674011 -:10585000B3BE3E013386D7413684C9B43363E30116 -:1058600033386000FDB3138805FE93070002B35977 -:105870000301638AF50093070004B385B74033132F -:10588000B300336F6F003338E001336838017DB502 -:10589000B389EE41B3076740B3BE3E013386D741BB -:1058A0003684854409BC131836009317D701135862 -:1058B00038003368F80093573700A5B1B309DF010A -:1058C000B307E30033BFE9013386E701931786008E -:1058D000E3D807C2B70780FFFD177D8E85440DB161 -:1058E0000E061318D7010D823368C800935737008E -:1058F0002DB133E8C900E30608D019B1138805FEBD -:1059000093070002B3590301638AF500930700046B -:10591000B385B7403313B300336F6F003338E00102 -:10592000336838013DB301441307F07FB70708001F -:105930002DBCB309DF01B307E300B3BED901338641 -:10594000D70169BB411106C622C426C20DCD9357AB -:10595000F541B3C4A7009D8C2A842685EF1020262C -:105960009306E041898EA9477D8093F6F67F63CD4B -:10597000A7022D47098FB3D7E4005505B207B394AA -:10598000A400B18329A00144814681478144B20724 -:10599000D206B1837E04D58FC18FB24022442685C2 -:1059A000BE859244410182805515B397A400B20789 -:1059B000B1838144E9BF4111370780007D1713D8B7 -:1059C000750126C2935475013373A70093F4F40F45 -:1059D000B376B7004AC01378F80F1359F50106C61D -:1059E00022C4FD819A8726854A86131E3300939E22 -:1059F0003600B3880441630AB90E6350100D630486 -:105A000008149307F00F638BF414B7070004B3EE88 -:105A1000FE00ED4763C1172993070002B3871741C2 -:105A2000B397FE00B3D81E01B337F000B3E7F80018 -:105A3000B307FE4013975700635E0718370400044E -:105A40007D147D8C2285EF1080176D15B317A4008F -:105A50006348951A058D1304150013070002018F82 -:105A60003397E7003337E000B3D78700D98F8144FD -:105A700013F7770019C713F7F70091466303D700B0 -:105A8000910713975700635B071485041307F00F02 -:105A90004A866383E4169A07A58313F5F40FB24090 -:105AA0002244A6079314750113D59700458D7E06F1 -:105AB00092440249518D410182806399080A1387FB -:105AC00014001377E70F6317071463900422630D24 -:105AD0000E1EE3860EFCB307DE411397570063509A -:105AE0000722B387CE412E8961B7635C100B630E2A -:105AF00008089307F00F6383F406B7070004B3EEBA -:105B0000FE00ED4763C9171F93070002B3871741D3 -:105B1000B397FE00B3D81E01B337F000B3E7F80027 -:105B2000F297139757006357070A85041307F00F7E -:105B30006384E40CB706007E13D71700FD16858B2F -:105B4000758FD98F35B7638D0E08FD18B307DE4109 -:105B5000E38208EE9307F00FE39DF4EA630D030878 -:105B600001461305F00FB707400015BF33079840F3 -:105B7000EDE863020E147D17630807189307F00F12 -:105B80006319F80E2E893683D1BF638B0E04FD187E -:105B9000B307DE01E38708F89307F00FE393F4F609 -:105BA00075BF63950808850413F7E40F63130712A4 -:105BB00063170510630F0E14E3830EEEB307DE01C7 -:105BC00013975700814463570700370700FC7D1780 -:105BD000F98F854413F77700E31F07E813D33700E5 -:105BE0009307F00FE38CF4F693179300A58313F556 -:105BF000F40F4A866DB54A861305F00F814745B507 -:105C0000370700FC7D17F98F13F77700898CE314B1 -:105C100007E6E9B73304DE419317540063C3070C6A -:105C2000E31204E201460145814795BD33079840E0 -:105C3000ADC49307F00FE308F8F4B7070004336E20 -:105C4000FE00ED4763CCE70C93070002998FB31772 -:105C5000FE003357EE00B337F000D98FF697C284B9 -:105C6000C9B59307F00FE30FF8F0B7070004336EE0 -:105C7000FE00ED4763C3E70893060002998EB31652 -:105C8000DE00B357EE003337D000D98FB387FE4024 -:105C9000C2842E8945B3854761BB630E0E067D170E -:105CA000B307DE01C284E30E07E69307F00FE31AA1 -:105CB000F8F8368365B53683C2842E8915B7E304B8 -:105CC0000EECE38D0EE869BD638D0E022E86B6875D -:105CD000F9B39307F00FE381F4F2B307DE01858394 -:105CE000D5BD3384CE412E89B1BBE31C0EFCE389C4 -:105CF0000EE62E8949BD854725B5854741BFE39B03 -:105D000007EC0146814761BBB387CE41C2842E892F -:105D100015B3B68769B33683C284D9B585473DBF0D -:105D20003971935775014AD856D25ECE931A9500B1 -:105D30001359F50106DE22DC26DA4ED652D45AD0AB -:105D400093F7F70F93DA9A00CA8B6382071213074F -:105D5000F00F6384E7128E0A37070004B3EAEA0003 -:105D6000138A17F80144014B93D77501939495005A -:105D700093F7F70FA58093D9F501FDC71307F00F2F -:105D80006387E7028E04938717F837070004D98CDE -:105D9000330AFA408146558C173700001307C7ECC9 -:105DA0000A043A941C4033493901BA978287130A8E -:105DB0001AF0F9E88946558C173700001307C7EE2B -:105DC0000A043A941C4033493901BA978287014941 -:105DD0001307F00FB707400013959700F250625475 -:105DE0009317770125817E095D8D33652501D25496 -:105DF0004259B259225A925A025BF24B2161828077 -:105E00001307F00F8147C9BFA68ACE8B368B89470F -:105E1000630BFB1A8D47E30CFBFA8547630AFB0A09 -:105E20001307FA0713F91B006357E01293F77A0080 -:105E300099C793F7FA0091466383D700910A939725 -:105E40004A0063D90700B70700F8FD17B3FAFA0054 -:105E500013070A089307E00FE3C4E7FA93976A0071 -:105E6000A5831377F70F8DBFB9E48546A9B763946F -:105E70000A021144014A054BC5BD63990A00214439 -:105E8000130AF00F094BCDB58D4631B73144130AD3 -:105E9000F00F0D4BD1BD56852EC6EF005052930723 -:105EA000B5FFB39AFA009307A0F8338AA7400144DC -:105EB000014BB24555BD2685EF0070501307B5FF65 -:105EC000B307AA00B394E400138A67078146E1B5DB -:105ED00013F91B000147814701B741661395540030 -:105EE0007D1693570501698E63FA9A0AB3D5FA02B3 -:105EF0007D1AD68601473388C502B3F6F602C2067C -:105F0000558F637B07012A979386F5FF6368A70A7D -:105F10006376070BF9152A9733070741B356F70243 -:105F20003377F702B38AC6029317070163FB570161 -:105F3000AA971387F6FF63E1A70863FF5707F916CF -:105F4000AA97C205B38A5741D58DB33A5001B3EA37 -:105F50005501CA8BF1B58546998E11C76D4601472B -:105F60008147E34BD6E6130AEA09339A4A01B3D7CD -:105F7000DA00B33A4001B3E7570113F7770019C7C6 -:105F800013F7F70091466303D70091071397570063 -:105F9000634807029A07A58301473DBD93D61A00BF -:105FA000B3D5F6021397FA0141833388C502B1B71E -:105FB000CE8B368B814AA1BDBA8661B7B685A9BFA3 -:105FC0000547814711BD13F91B001307F00F8147E7 -:105FD00021B593567501B7078000FD1713D67501DB -:105FE00093F6F60F1308F00FB3F8A7001357F50157 -:105FF000ED8F1376F60FFD81638406031305F00F12 -:106000006304A60205456383C6008280E39FF8FE11 -:106010000145E30CB7FE0545EDFA333510018280EA -:106020000545E38D08FC82800545E9DF82809356B3 -:106030007501B7078000FD1713D6750193F6F60FAB -:106040001308F00FB3F8A7001357F501ED8F13767F -:10605000F60FFD8163810603630C06018DE211E2F8 -:10606000B1C3638E08026305B70405451DE782804E -:10607000F5D779558280E39E08FE6309D60211E2C6 -:10608000EDD7E314B7FEE342D6FE63C7C600E3EEE6 -:1060900017FD0145E3FDF8FC01E77D558280F5DD44 -:1060A000054582800145E39208FC8280F9DBD1B787 -:1060B0008146E1BF93567501B7078000FD1713D6DF -:1060C000750193F6F60F1308F00FB3F8A7001357F6 -:1060D000F501ED8F1376F60FFD81638706036309E3 -:1060E000060185EA11EA89EB0145639B080082807D -:1060F0000945F5FFE5DA31A8638C08026300B704AF -:10610000054575D77D55828009456398080263046B -:10611000D60211E2F5D7E315B7FEE343D6FE63C717 -:10612000C600E3EF17FD0145E3F3F8FC19E3D9BF1F -:10613000F1D905458280E5D3828082808146C5B74A -:10614000797122D4135475014ECE52CC9319950017 -:1061500006D626D24AD056CA5AC81374F40F93D919 -:106160009900135AF50169C49307F00F6308F40E00 -:106170009397390037070004B3E9E700130414F8D4 -:106180008144014B13D77501939A95001377F70F4C -:1061900093DA9A0013D9F50145CF9307F00F630CFA -:1061A000F7028E0A130717F8B7070004B3EAFA00DC -:1061B0003A94014633452A01BD47AA869305140047 -:1061C00063E2971017370000130707B28A04BA94E6 -:1061D0009C40BA9782871304F40F63980A0C93E4E7 -:1061E00024000946C1BF01451307F00FB70740005F -:1061F000B2502254A6075E07A5837E05D98F92541C -:106200000259F249624AD24A424B5D8D4561828011 -:10621000CA86D689328B89476301FB0A8D47E3041E -:10622000FBFC854736856312FB1A01478147C9B7D6 -:10623000639E090413D77501939A95001377F70F9E -:1062400091440144054B93DA9A0013D9F50131F7D3 -:10625000639D0A0093E414000546A9BF63930902F5 -:10626000A1441304F00F094B31BF5685EF003015E0 -:106270009307B5FF098CB39AFA001304A4F80146FA -:1062800015BFB1441304F00F0D4BEDBD4E852EC666 -:10629000EF00F0129307B5FF1304A0F8B399F900CB -:1062A000098C8144014BB245F1BD93E434000D46A5 -:1062B00011B78947D286E313FBF636851307F00F33 -:1062C00081473DB741639306F3FF13D6090193D885 -:1062D0000A01B3F7D900B3FADA0033885703B38958 -:1062E000F80213570801B30A5603D6994E9733069E -:1062F0001603637357011A96C167FD17B376F7004B -:106300003378F800C206C296939966009357070146 -:10631000B3393001E982B2979A07B3E6D900B3E9FD -:10632000D7009397490063D9070013D7190093F753 -:106330001900B369F7002E841307F4076350E004D3 -:1063400093F7790099C793F7F90091466383D700D3 -:1063500091099397490063D90700B70700F8FD1723 -:10636000B3F9F900130704089307E00F63CBE704C0 -:1063700093976900A5831377F70F9DBD8547B38673 -:10638000E74011C76D4601478147E343D6E613074F -:10639000E4093397E9003337E000B3D7D900D98F48 -:1063A00013F7770019C713F7F70091466303D70077 -:1063B000910713975700634C07009A07A58301477D -:1063C00005BD1307F00F814725B52E84B5B70547E6 -:1063D000814739BD3707800041117D1793567501FC -:1063E00013D87501B377A70093F6F60F935EF50106 -:1063F0003376B70026C24AC01378F80F06C622C407 -:106400001303F00F3E8E3689F684139F3700FD810B -:1064100013153600B38806416302681093C5150052 -:10642000638CBE106354100D631008106304051EC6 -:10643000FD18B307AF40638608029307F00F638827 -:10644000F616ED4763C717291307000233071741F4 -:106450003317E500B35715013337E000D98FB30781 -:10646000FF40139757006351071A370400047D1447 -:106470007D8C2285A9276D15B317A400634E251BBB -:10648000330525411304150013070002018F3397CC -:10649000E7003337E000B3D78700D98F014913F7FE -:1064A000770019C713F7F70091466303D7009107E8 -:1064B00013975700635E0714930619001307F00F34 -:1064C00093FE14006386E6169A07A58393F6F60FEB -:1064D000A607B240224413D59700DE069397FE012B -:1064E000558D924402495D8D410182806392080A74 -:1064F000138716001377E70F631B071463940622B4 -:1065000063020F2071D5B307AF401397570063554F -:106510000722B307E5410149AE8451B7E30005F016 -:10652000638ABE0AE35410FD9307F00F6381F608F7 -:10653000B70700045D8D31B7635E10096301080879 -:106540009307F00F6385F606B70700045D8DED47EE -:1065500063C0171F13070002330717413317E50005 -:10656000B35715013337E000D98FFA9713975700C7 -:10657000635C070805091307F00F630BE90AB70608 -:10658000007E13D71700FD16858B758FD98F01BF3D -:106590003307D84063950610630D0F147D1763030E -:1065A000071A9307F00F6314F810AE84328E630F4E -:1065B0000E06814E9306F00FB707400011BF39C990 -:1065C000FD18B307AF00E38308FA9307F00FE390D9 -:1065D000F6F8F1BF63990808138916001377E90FDD -:1065E00063160712639B061063030F16E30205EEA2 -:1065F000B307AF00139757000149635707003707E8 -:1066000000FC7D17F98F054913F77700E31C07E8B5 -:1066100013DE37009307F00FE30BF9F893179E0092 -:10662000A5839376F90F93FE14005DB593FE1400D5 -:106630009306F00F814769BD370700FC7D17F98F7E -:1066400013F777003309A940E31E07E4D1B73304F9 -:10665000AF409317540063C3070CE31C04E0814E62 -:1066600081468147B5B53307D840B5C69307F00FCB -:10667000E30EF8F2B7070004336FFF00ED4763CD78 -:10668000E70C93070002998FB317FF003357EF0011 -:10669000B337F0005D8FB307A7004289C1BD9307F0 -:1066A000F00FE304F8F0B7070004336FFF00ED4785 -:1066B00063C2E70893070002998FB317FF003357AF -:1066C000EF00B337F000D98FB307F5404289AE84AD -:1066D00049BB854769B3630E0F067D17B307AF004B -:1066E0004289E30507E89307F00FE319F8F8328EC3 -:1066F0007DBD328E4289AE8431BFE3090FEAE308E3 -:1067000005EA45BD0DCDAE8EB287D9B39307F00F24 -:10671000E300F9F2B307AF008583FDB53304E5412B -:10672000AE8481BBE31D0FFCE30505E8AE84BDBD6F -:10673000854725BD854749BF0149E39707EC814E51 -:10674000814779B3B307E5414289AE8419BBB2876B -:1067500041B3328E42897DBD054735BF3706800083 -:10676000135775019307F6FF1377F70F9305E007AB -:10677000B3F6A7009357F50163FCE5009305D00934 -:1067800063FAE500370500801345F5FF3E958280EA -:106790000145828093055009D18E63CDE500130633 -:1067A00060093307E64033D7E6003305E040F5F3F0 -:1067B0003A8582801307A7F63397E600FDB7135793 -:1067C0007501370680009307F6FF1377F70F9305DF -:1067D000E007B3F6A7009357F501014563F4E50020 -:1067E00099C3828082809307E0097D55E3EBE7FE41 -:1067F00093055009B3E7C60063D7E5001307A7F672 -:106800003395E7008280130560093307E54033D5EF -:10681000E7008280411106C622C426C20DCD9357DF -:10682000F54133C4A7001D8CAA842285492E930705 -:10683000E0093387A74093076009FD8063CCE70236 -:10684000A1469377F70F63D5A60061153314A40012 -:106850002604258021A08144814701442604135544 -:106860009400B2402244DE07FE045D8D458D9244C3 -:10687000410182809307900963DDE7009307B5012A -:106880009546B317F400898E3354D400B337F00023 -:106890005D8C954763D6A7009307B5FF3314F400CA -:1068A000B70600FCFD16937774003376D40085C3D9 -:1068B0009377F4009145638CB70011069317560047 -:1068C00063D707009307F009758E3387A740131429 -:1068D000660025809377F70F51B7411106C622C491 -:1068E00015CD2A84E92C9307E0093387A740930745 -:1068F000600963C0E704A1469377F70F63D5A6004C -:1069000061153314A4002604258026041355940031 -:10691000B2402244DE075D8D41018280014426049D -:1069200013559400B24022448147DE075D8D41013A -:1069300082809307900963DDE7009307B5019546D0 -:10694000B317F400898EB337F0003354D4005D8C54 -:10695000954763D6A7009307B5FF3314F400B70635 -:1069600000FCFD16937774003376D40085C39377CB -:10697000F4009145638CB70011069317560063D756 -:1069800007009307F009758E3387A740131466003C -:106990002580260413559400B24022449377F70FC4 -:1069A000DE075D8D41018280135775011377F70F64 -:1069B00041119307170022C426C21314950006C67E -:1069C00093F7E70F25809354F50185C7935734005B -:1069D000130707387604B2075207B1831395F40101 -:1069E000D98FC98FB240228522449244BE8541018D -:1069F000828005EB39C42285D922A94763C6A70442 -:106A00002D47098F930755013357E4003314F400E1 -:106A10009317C70013079038098FB1831377F77F57 -:106A20005DBF01CC13573400B7070800D98FB207F8 -:106A30007604B1831307F07F79BF1307F07F814796 -:106A400059BF0147814741BF130755FF3317E40082 -:106A500001447DBF93D645019397C50093F6F67F19 -:106A6000B183138616008E071357D5011376E67F80 -:106A7000FD815D8F9318350035CE138806C89307C6 -:106A8000E00F63DD07018147139597009306F00F30 -:106A9000DE062581FE05558D4D8D82806355000BE8 -:106AA000931765000E07B337F000D98F93D8D8013C -:106AB000B3E7170113F777006301071013F7F70027 -:106AC00091466303D7009107370700047D8F75C790 -:106AD000130718001306F00F9376F70FE305C7FAB4 -:106AE0009A07A58313959700DE062581FE05558D2F -:106AF0004D8D8280B367170199EE85CF95479A0730 -:106B0000A5831395970093F6F60FDE062581FE0503 -:106B1000558D4D8D8280A5DBB707400013959700FA -:106B20009306F00FDE0681452581FE05558D4D8DBE -:106B300082808147139597008146DE062581FE05F8 -:106B4000558D4D8D8280A5576348F804F947370667 -:106B50008000B38707417D45598E6351F50479570D -:106B600033070741130500023357E6006388A70087 -:106B7000938626CAB316D600B3E8D800B3371001FF -:106B8000D98F13F77700014815FB139757008546F7 -:106B9000E34807F48146A5B781468DB7938626C89A -:106BA0003397D8003337E000B316D600B3D8F800D7 -:106BB000B367D700B3E7F800E9B7C28689B7C16702 -:106BC000637CF5029307F00F1307000263EBA70045 -:106BD0009727000093874715AA9788233305A74076 -:106BE000828021819727000093870714AA97882322 -:106BF00061473305A7408280B7070001636DF50048 -:106C000061819727000093872712AA97882321473D -:106C10003305A74082804181972700009387C710E2 -:106C2000AA97882341473305A7408280B3C7A500B0 -:106C30008D8B3307C50081E78D4763EDC700AA87B9 -:106C4000637EE508942185078505A38FD7FEE3EBD6 -:106C5000E7FE828093763500AA8789CA942185074A -:106C60008505A38FD7FE93F63700C5BF9376C7FF80 -:106C7000138606FE63F0C70683A3050083A24500C2 -:106C800083AF850003AFC50083AE050103AE4501A8 -:106C900003A3850183A8C5019385450223A077003E -:106CA00003A8C5FF23A2570023A4F70123A6E701E9 -:106CB00023A8D70123AAC70123AC670023AE17017D -:106CC0009387470223AE07FF75B79041910791055F -:106CD00023AEC7FEE3EBD7FEE3E6E7F68280397129 -:106CE0003EDA2ED232D436D63AD842DC46DE93870C -:106CF000818122CC804326CA06CEAA8409C41C4CBA -:106D000099E3228505250C4454102686228536C633 -:106D1000EF00905BF2406244D24421618280011115 -:106D200026CA4AC806CE22CC4EC652C4AA842E8990 -:106D300001C51C4D91E3FD239C4C804499E32685BD -:106D4000D5239727000093872710631BF402C040C8 -:106D50005E24A18BB1C71C48A1C7FD59294A1C4418 -:106D600083450900FD17B1E91CC463DD07062286CF -:106D7000A94526857522FD576308F502294535A0EA -:106D8000972700009387470E6314F4008044C9B727 -:106D90009727000093874709E31CF4FAC0444DBFCE -:106DA000A2852685252C55D97D55F2406244D244D2 -:106DB0004249B249224A056182801CC4050963D751 -:106DC0000700184C63CAE700638845011C4013871D -:106DD000170018C08CA361B7228626859122E31084 -:106DE00035F9D9B71C401387170018C0294798A355 -:106DF00071B793878181AA8588436FF05FF2411153 -:106E00009387818122C4804326C206C61C5CAA8463 -:106E100095EB6145EF000077B737CDAB08DC938782 -:106E2000E7301CC1B7176DE6938747235CC1B7E70E -:106E300005009387C7EE1CC5AD475EA50547814792 -:106E400018C95CC91C5CB240224484CB23AA070049 -:106E500092444101828041119387818122C4804301 -:106E600006C61C5C8DEB6145312FB737CDAB08DC16 -:106E70009387E7301CC1B7176DE6938747235CC142 -:106E8000B7E705009387C7EE1CC5AD475EA505476C -:106E9000814718C95CC9105C3787954CB7F75158C2 -:106EA000144A484A1307D7F29387D742B387F602AA -:106EB000B24022443305E5023E95B387E60233B77C -:106EC000E6029386170014CA2A9733B5F6003A955E -:106ED00048CA060505814101828035713ECBB7075E -:106EE000008093C7F7FF3ECE3EC8C17793878720C7 -:106EF00032C536C73AC942CD46CF3ECA9387818153 -:106F00002AC42ACC884334012E862C0086DE36C261 -:106F1000EF00500EA24723800700F6500D618280DB -:106F2000011122CC26CA4AC806CE4EC6AA842E8992 -:106F3000328401C51C4D91E3F52697270000938705 -:106F4000A7F06317F406C0401C4C1CC45E24A18B40 -:106F5000C1C31C48B5CF1C4808409379F90F137979 -:106F6000F90F1D8D5C486346F500A2852685692CC6 -:106F700025E51C440505FD171CC41C40138717009C -:106F800018C0238037015C486388A7005E24858B86 -:106F900081CBA9476316F900A2852685B5240DED9E -:106FA000F24062444A85D2444249B2490561828036 -:106FB00097270000938747EB6314F400804469B778 -:106FC00097270000938747E6E310F4F8C044ADBF6D -:106FD000A2852685212041D17D59D9B741119387BA -:106FE000818126C2844322C44AC006C62A892E84CF -:106FF00089C49C4C99E32685352697270000938702 -:10700000A7E4631BF402C0400317C40093170701F1 -:10701000C18393F68700ADEA93F6070195EEA54785 -:107020002320F900136707045AA47D55B240224477 -:107030009244024941018280972700009387C7E26A -:107040006314F4008044C9B7972700009387C7DD15 -:10705000E31CF4FAC0444DBF918B9DC34C5889C9C1 -:10706000930744046384F5004A851523232A040208 -:107070005E242322040093F7B7FD5EA41C481CC0C5 -:107080005E2493E787005EA41C4899EB5E241307F7 -:10709000002093F707286385E700A2854A85912998 -:1070A0005E2413F717001DC35C4823240400B307B4 -:1070B000F0401CCC1C480145B5FB8317C40013F7F6 -:1070C00007082DD793E707045EA485B7898B01478E -:1070D00091E3584818C4F9BFDE25011122CC26CA15 -:1070E00006CE4AC84EC613F78700AA842E8479EBD1 -:1070F000D841634DE000B841634AE0000145F240E9 -:107100006244D2444249B2490561828058547DD7D5 -:1071100003A904009396370123A0040063DB06064D -:1071200070485E24918B99C75C401D8E5C5899C352 -:107130003C401D8E5C540C50814626858297FD573D -:107140005A24631DF5009440F54763E8D706B70756 -:1071500040208507B3D7D700858BA5C31C482322C1 -:1071600004001CC09317370163D80700FD57631450 -:10717000F5009C4091E368C84C5823A02401BDDD74 -:10718000930744046384F50026851121232A040211 -:10719000B5B70C500146854626850297FD572A86CD -:1071A000E311F5F89C40B5DF75476385E700594763 -:1071B0006393E70423A0240191B7136707045AA43B -:1071C0007D5535BF83A90501E38A09F203A90500AE -:1071D0008D8B23A0350133093941014791E3D8490B -:1071E00018C4E35D20F11C540C50CA864E862685D7 -:1071F00082976347A0005E2493E707045EA4C9B7A3 -:10720000AA993309A940F1BF9C49A5C3011122CC19 -:1072100006CE2A8411C51C4D81E72EC62122B24517 -:1072200097270000938747C2639CF5004C408397E3 -:10723000C5009DC722856244F24005616FF0DFE919 -:1072400097270000938747C26394F5000C44C5B7A5 -:1072500097270000938747BDE39BF5FC4C44C1BFD3 -:10726000F2406244014505618280014582804111FE -:1072700022C406C62A844EA572A523200500232217 -:107280000500232405002322050623280500232AC0 -:107290000500232C0500214681451305C505EF8017 -:1072A0003FF0971700009387E7E85CD0971700003E -:1072B000938707EB1CD4971700009387E7EE5CD405 -:1072C00097170000938747F100D01CD8B2402244A2 -:1072D0004101828097050000938545F391AA4111F1 -:1072E00026C2130680069384F5FFB384C4024AC005 -:1072F0002E8922C406C693854407352E2A8401CDE3 -:107300002320050023222501310508C413868406A5 -:107310008145EF80FFE82285B24022449244024931 -:10732000410182801C4DA5E7411106C622C4970782 -:107330000000938767FA1CD59387C1819C4323245F -:10734000050423260504232805046314F500854756 -:107350001CCD2A84352848C022851D2808C42285D2 -:10736000052848C4484001469145EFF05FF00844C5 -:107370000546A545EFF0BFEF48440946C945EFF083 -:107380001FEF85471CCCB24022444101828082809D -:1073900041119387C18126C284434AC006C69C4CD2 -:1073A00022C42A8981E72685EFF0DFF793848404DD -:1073B0008044DC40FD1763D607009C40B9CF844071 -:1073C000C5BF0317C40039E7C17785072322040628 -:1073D0002320040023220400232404005CC4232867 -:1073E0000400232A0400232C0400214681451305B0 -:1073F000C405EF80FFDA232A0402232C040223248D -:107400000404232604042285B24022449244024903 -:10741000410182801304840671BF91454A85EFF0D3 -:107420001FEC88C049FDB1472320F9000144E1BFAA -:10743000797122D44AD052CC56CA5AC85EC606D6F2 -:1074400026D24ECE2A8AAE8A130485040149054B02 -:10745000FD5B09ECB25022544A8592540259F2491C -:10746000624AD24A424BB24B45618280044483292E -:107470004400FD1963D409000040E1BFDE24637BB2 -:10748000FB008397E40063877701A6855285829A83 -:107490003369A90093848406E9BF1971A6DAAE8422 -:1074A0008395E500A2DC86DE328463DB0500DE2402 -:1074B00023A0060093F7070885E7930700401DA067 -:1074C000300836C6EF00D057B246E34205FE724799 -:1074D000BD67F98F7977BA9793B717009CC2F1BF50 -:1074E000930700041CC0F6506654D6540145096148 -:1074F0008280DE25011122CC06CE26CA4AC8898B9D -:107500002E8489CF930774041CC01CC885475CC8AF -:10751000F2406244D24442490561828074003000E6 -:10752000AA84EFF09FF7A2452A892685292219E926 -:107530008317C40013F7072061FFF19B93E727002F -:107540005EA4C9B797070000938707D99CD45E242F -:1075500008C008C893E707085EA4A2475CC8B24702 -:1075600081CF8315E4002685EF00B05011C55E245D -:10757000F19B93E717005EA45E243369F90023169C -:10758000240179B793878181AA8588436DA0DDC1E5 -:1075900083A7C5FF411122C406C626C21384C5FFB6 -:1075A00063D307003E94AA84EF00D0589387C18A22 -:1075B0009C4381EF2322040023A6818A2244B24007 -:1075C0002685924441016F001057637EF4001440F9 -:1075D0003307D4006396E7009843DC43369718C01E -:1075E0005CC0D9BFBA87D84319C3E37DE4FE944396 -:1075F0003386D700631F86001040B29694C333864B -:10760000D700E31DC7FA10435843B29694C3D8C3BA -:1076100075B76375C400B1479CC04DB71040B30641 -:10762000C4006316D70014435843B29614C058C020 -:10763000C0C369B78280011126CA93843500F198CE -:1076400006CE22CC4AC84EC6A104B14763F5F40465 -:10765000B14463E4B4042A89EF00D04D9387C18A12 -:1076600098433A8429E49387018B9C4399E78145A9 -:107670004A85EF00D02823A8A18AA6854A85EF0075 -:107680001028FD5963193507B1472320F9004A85B1 -:10769000EF00704A29A0E3DE04FAB1471CC101459E -:1076A000F2406244D2444249B249056182801C40A2 -:1076B000858F63CF0702AD4663F6F6001CC03E948B -:1076C00004C031A05C406313870223A6F18A4A8577 -:1076D000EF0070461305B400930744006199330727 -:1076E000F5405DDF3A94898F1CC05DBF5CC3C5B7B0 -:1076F0002287404085BF130435007198E30285FC62 -:10770000B305A4404A85EF00901FE31B35FBADBFD6 -:1077100001114AC803A9850022CC52C45AC006CE22 -:1077200026CA4EC656C22E84328B368A63E9260993 -:10773000DE2513F7074851C304408C495848AA8AEC -:10774000B389B4408D44B384E4020947B3C4E4026E -:10775000138716004E9763F3E400BA8493F707404B -:10776000BDCFA6855685EFF01FED2A891DE1B147F3 -:1077700023A0FA005E247D5593E707045EA4F2403F -:107780006244D2444249B249224A924A024B0561BC -:1077900082800C484E86EFF06FC95E2493F7F7B7EE -:1077A00093E707085EA42328240144C84E99B384B4 -:1077B00034412320240104C4528963732A0152896D -:1077C00008404A86DA85EF0090321C440145B387B1 -:1077D00027411CC41C403E99232024014DB7268616 -:1077E0005685EF0070352A895DFD0C485685EFF00F -:1077F0001FDAB5BFDE25717126D34AD14ECF06D729 -:1078000022D552CD56CB5AC95EC762C566C393F71F -:107810000708AA892E89B284B9C39C49A9E39305B4 -:10782000000436C6EFF03FE12320A9002328A90079 -:10783000B24615E1B14723A0F9007D55BA502A544C -:107840009A540A59FA496A4ADA4A4A4BBA4B2A4CBC -:107850009A4C4D61828093070004232AF900930714 -:107860000002A30CF1029307000302DA230DF102D8 -:1078700036CE930B5002971A0000938AEA60054CAB -:10788000294B26841C2099C363997709B30C944033 -:10789000638E0C00E6862686CA854E85EFF05FE78C -:1078A000FD57630BF518D256E69636DA1C20638531 -:1078B0000718FD579304140002D002D63ED202D41A -:1078C000A301010682DC8C2015465685EF00B0200E -:1078D00013841400825721E513F7070109C7130722 -:1078E0000002A301E10613F7870009C71307B002DE -:1078F000A301E10694201307A002638AE602B257AF -:10790000268481462546182093051400130707FD99 -:107910006372E6068DC63ED61DA00504A5B73305E5 -:1079200055413315AC00C98F3ED0A28469BF724760 -:1079300093064700184336CE634707023AD618200D -:107940009307E002631DF70418309307A002631B3E -:10795000F702F2470904138747009C433ACE63C1FC -:1079600007023ED22DA83307E04093E727003AD61E -:107970003ED0F1B7B387670385462E84BA9761B7C7 -:10798000FD57C5B7050402D2814681472546182018 -:1079900093051400130707FD6376E606F9F20C2041 -:1079A0000D46171500001305A54EEF00D01211CD9E -:1079B000971700009387C74D1D8D93070004B39759 -:1079C000A700025505045D8D2AD00C201946171515 -:1079D00000001305254C93041400230CB102EF00A2 -:1079E000900F25C59787FFFF9387C76195E70257DB -:1079F000F2471377071009CF91073ECED257D2979F -:107A00003EDA41B5B387670385462E84BA9741B7FE -:107A10009D07E19BA107D5B77808970600009386DC -:107A200066CF4A860C104E8597000000E7000000E4 -:107A3000FD572A8AE314F5FC8357C9007D5593F757 -:107A40000704E39D07DE5255D5BB78089706000072 -:107A5000938646CC4A860C104E850921D1BF1C4620 -:107A6000FD171CC663DA0700184E63C5E700A94777 -:107A70006394F5006FF0CFCA1C422E851387170060 -:107A800018C28CA38280011122CC26CA4AC84EC6D5 -:107A900052C406CE2A89AE893284B304D6007D5AF8 -:107AA00063149400014509A80C204E864A85EFF026 -:107AB0001FFB0504E31645FFF2406244D2444249ED -:107AC000B249224A05618280357122CD26CB4AC94E -:107AD0004EC706CF52C556C35AC1DEDEE2DCE6DA37 -:107AE000AA89AE843289368409C51C4D99E3EFF02A -:107AF0007F8397170000938727356398F40C83A43E -:107B00004900DE24A18BE5C79C48F5C3930700021A -:107B1000A304F1029307000302D22305F10222C657 -:107B2000930B5002971A0000938A0A36054C294B92 -:107B30004A841C2099C3639F770DB30C2441638E44 -:107B40000C00E6864A86A6854E85EFF0DFF3FD57EA -:107B5000630FF51C9256E69636D21C206389071CEB -:107B6000FD571309140002C802CE3ECA02CCA30975 -:107B7000010482D48345090015465685A92F1304B4 -:107B80001900C24751E913F7070109C7130700029B -:107B9000A309E10413F7870009C71307B002A3097B -:107BA000E104834609001307A002638FE606F2474B -:107BB0004A8481462546182093051400130707FDC3 -:107BC0006377E60AB5CA3ECE85A89717000093876B -:107BD000A7296395F40083A4890025B797170000AF -:107BE00093878724E39FF4F083A4C90019BFA68577 -:107BF0004E85EFF0AFBE19D97D55FA406A44DA449C -:107C00004A49BA492A4A9A4A0A4BF65B665CD65CEC -:107C10000D618280050431BF330555413315AC0039 -:107C2000C98F3EC82289B9B7324793064700184327 -:107C300036C6634707023ACE18209307E002631D59 -:107C4000F70418309307A002631BF702B247090438 -:107C5000138747009C433AC663C107023ECA2DA85A -:107C60003307E04093E727003ACE3EC8F1B7B38729 -:107C7000670385462E84BA973DBFFD57C5B70504F7 -:107C800002CA814681472546182093051400130730 -:107C900007FD6374E606F9F20C200D461715000087 -:107CA0001305051F0D2D11CD971700009387471E53 -:107CB0001D8D93070004B397A700424505045D8D11 -:107CC0002AC80C201946171500001305A51C130916 -:107CD00014002304B102012535C19787FFFF938764 -:107CE000673295E74247B2471377071009CF9107EC -:107CF0003EC69257D2973ED225BDB38767038546CD -:107D00002E84BA9751B79D07E19BA107D5B778009C -:107D100097060000938666D726860C084E85970046 -:107D20000000E7000000FD572A8AE314F5FCDE247A -:107D300093F70704E39207EC1255C1B57800970654 -:107D40000000938686D426860C084E85012AE1BF62 -:107D5000797156CA9C49BA8A984522D426D24ECE09 -:107D600052CC06D64AD05AC85EC6AA892E84B2849E -:107D7000368A63D3E700BA879CC00347340419C32B -:107D800085079CC01C4093F7070281C79C40890768 -:107D90009CC00329040013796900631A0900130BBE -:107DA0009401FD5B5C449840998F634CF9041C403E -:107DB0008346340493F70702B336D000A5EB1306CD -:107DC0003404D2854E85829AFD576303F5041C4026 -:107DD00011469840998B544481446397C700B384FB -:107DE000E64063D3040081441C4418486354F70000 -:107DF000998FBE94014969047D5B63982405014510 -:107E000009A885465A86D2854E85829A631E7501D9 -:107E10007D55B250225492540259F249624AD24AD4 -:107E2000424BB24B456182800509ADBF3307D40098 -:107E300013060003A301C7040347540493871600E5 -:107E4000A2978906A381E7049DBF85462286D28535 -:107E50004E85829AE30E65FB050945B7797122D4F8 -:107E600026D24AD04ECE06D652CC56CA5AC8B68969 -:107E7000942D930790063289AA842E8413863504A4 -:107E8000638DF60263E2D706930780056386F618D2 -:107E900063EDD700638E062093073004638EF60AE5 -:107EA000930A24042301D404C9A0930730066385F0 -:107EB000F60A93074006E395F6FE1C40084393F646 -:107EC000070893054500C5C61C410CC363D80700CD -:107ED0001307D002B307F040A301E4049716000093 -:107EE0009386C6FB294765A8930700076382F616A9 -:107EF00063E5D7029307E0066389F6189307F00657 -:107F0000E390F6FA0C401C4313F80508138547006C -:107F10006307080608C39C4385A893075007E383BB -:107F2000F6FE930780076389F61293073007E399FB -:107F3000F6F61C43D04181459386470014C383AABB -:107F400007005685492E01C53305554148C05C40A0 -:107F50001CC8A301040461A81C43930A240493864B -:107F600047009C4314C32301F4048547D5B793F617 -:107F700007041C410CC3B9DAC207C18781BF93F55E -:107F8000050408C3C9D99E231307F0066387E60ECC -:107F900097160000938686F02947A30104044C40FD -:107FA0000CC463C5050008406D9908C099E3B28A06 -:107FB00089CDB28AB3F5E702FD1AB6958C212380EC -:107FC000BA00B3D5E70263F0E70CA147631EF700E0 -:107FD0001C40858B91CB58401C4863C7E700930732 -:107FE0000003A38FFAFEFD1A3306564110C84E87D0 -:107FF000CA867000A2852685EFF09FD57D5A631D45 -:10800000450B7D55B250225492540259F249624AAE -:10801000D24A424B45618280A382D5049716000064 -:108020009386C6E70C40084313F805081C41110568 -:10803000630D080208C313F7150001C793E5050295 -:108040000CC04147B9FB0C4093F5F5FD0CC0B1B72E -:108050009C4193E707029CC193078007A302F404A5 -:10806000971600009386C6E475BF13F8050408C38D -:10807000E30308FCC207C1837DBF97160000938607 -:10808000E6E1214719BFAE8735B794411C43CC497F -:1080900013F80608138547006306080008C39C43CD -:1080A0008CC339A008C393F606049C43F5DA8EA36B -:1080B00023280400B28A25BF14485686CA8526851F -:1080C0008299E30045F51C40898B8DE7B24748440F -:1080D000E35AF5F23E853DB785465686CA85268524 -:1080E0008299E30065F3050A5C443247998FE345C2 -:1080F000FAFEE9BF014A930A94017D5BF5B741118D -:1081000022C42A842E859797FF1F23AF074006C6F7 -:10811000EF905FE2FD576319F5009797FF1F938774 -:10812000A7409C4391C31CC0B240224441018280BD -:10813000411122C42E848395E50006C6912C634923 -:1081400005007C48AA977CC8B24022444101828045 -:108150005E247D777D17F98F5EA4FDB7DE250111C2 -:1081600022CC26CA4AC84EC606CE93F70710AA8468 -:108170002E843289B68991C78395E50089460146E8 -:108180000D225E247D777D17F98F5EA48315E400B0 -:108190006244F240CE864A86B24942492685D2449C -:1081A000056125A8411122C42E848395E50006C6E9 -:1081B000CD28FD575A24631AF500FD77FD17F98F76 -:1081C0005EA4B2402244410182808567D98F5EA4BB -:1081D00068C8C5BF8395E50025A8411122C42A843B -:1081E0002E85B28536869797FF1F23AF073206C6C6 -:1081F000EF907FD0FD576319F5009797FF1F938786 -:10820000A7329C4391C31CC0B240224441018280EA -:10821000411122C42A842E859797FF1F23A6073079 -:1082200006C65D2AFD576319F5009797FF1F9387D0 -:10823000A72F9C4391C31CC0B240224441018280BD -:10824000411122C42A842E85B2859797FF1F23AD42 -:10825000072C06C6512AFD576319F5009797FF1F93 -:108260009387872C9C4391C31CC0B2402244410198 -:108270008280411122C42A842E859797FF1F23A54F -:10828000072A06C6952AFD576319F5009797FF1F21 -:10829000938787299C4391C31CC0B240224441016B -:1082A0008280411122C42A842E85B2853686979712 -:1082B000FF1F23AB072606C6812AFD576319F50069 -:1082C0009797FF1F938747269C4391C31CC0B240DA -:1082D00022444101828093F5F50F2A966314C5006C -:1082E000014582801C21E38EB7FE0505C5BF63F101 -:1082F000A504B386C500637DD5029345F6FF81478B -:10830000FD176393F50082803387F600034807006A -:108310003387C7002A9723000701DDB73387F500AD -:1083200014233307F500850714A3E319F6FE8280B2 -:108330008147E5BF8280828081E5B2856FF0AFAF73 -:10834000011122CC06CE26CA4AC84EC6328401EE9E -:10835000EFF0EFA30149F24062444A85D24442491A -:10836000B24905618280AE84AA89A9282689E3746E -:1083700085FEA2854E85EFF00FAC2A8969DDA685C2 -:108380002286EFE0BF8AA6854E85EFF04FA0E1B7C9 -:10839000411122C42A842E85B28536869797FF1F05 -:1083A00023A4071806C68D28FD576319F500979773 -:1083B000FF1F938767179C4391C31CC0B2402244A0 -:1083C0004101828083A7C5FF1385C7FF63D50700DE -:1083D000AA959C413E958280930780051797FF1FC1 -:1083E0002324F7147D558280930780051797FF1F7C -:1083F000232CF7127D558280930780051797FF1F66 -:108400002324F71201458280930780051797FF1FE9 -:10841000232CF7107D558280930780051797FF1F47 -:108420002324F7107D55828053797374656D436CF6 -:108430006B3A25640D0A00004368697049443A2587 -:108440003038780D0A00000043616C696272617413 -:1084500074696F6E5F56616C203A2025640A0000D3 -:10846000CDCC4C3D6666663F0000F0430000000046 -:108470009A9999999999A93FCDCCCCCCCCCCEC3F89 -:10848000696E2074696D31206972712000000000EE -:1084900000F07F45000000000000000000000440E4 -:1084A0000000000000002040000000000000E03F4D -:1084B000000000000000344000000000CF463640BD -:1084C0000000006066661A401D130F130213F412B9 -:1084D000E612D712C812B912AA129A128A127A1286 -:1084E0006A12591248123712251213120112EE1194 -:1084F000DB11C811B511A1118D11791164114F1142 -:108500003A1125110F11F910E310CC10B5109E107F -:1085100087106F1057103F1026100D10F40FDB0F4F -:10852000C20FA80F8E0F740F590F3F0F240F090FA2 -:10853000ED0ED20EB60E9A0E7E0E620E460E290E6D -:108540000C0EF00DD30DB60D980D7B0D5E0D400D8C -:10855000220D050DE70CC90CAB0C8D0C6F0C510CEA -:10856000330C150CF70BD90BBB0B9C0B7E0B600B64 -:10857000420B240B060BE80ACA0AAD0A8F0A710ADD -:10858000540A360A190AFC09DF09C209A509880933 -:108590006C094F0933091709FB08DF08C308A8084D -:1085A0008D08720857083C0821080708ED07D30713 -:1085B000B907A00786076D0754073C0723070B0779 -:1085C000F306DB06C406AD0696067F06680652066D -:1085D0003C0626061006FB05E605D105BC05A705E9 -:1085E00093057F056B055805450532051F050C05EC -:1085F000FA04E804D604C404B304A10490047F047C -:108600006F045F044E043E042F041F041004010491 -:10861000F203E303D503C703B903AB039D03900340 -:108620008203750368035C034F03430336032A0385 -:108630001F0313030703FC02F102E602DB02D1026F -:10864000C602BC02B202A7029E0294028A02810202 -:1086500077026E0265025C0254024B0242023A0249 -:1086600032022A0222021A0212020B020302FC0147 -:10867000F401ED01E601DF01D801D201CB01C40113 -:10868000BE01B801B101AB01A5019F01990194019F -:108690008E01880183017D01780173016E016901FA -:1086A00063015E015A0155015001000000401C4663 -:1086B0000000C842000090410000804100000041DD -:1086C0009A9999999999C93F9A9999999999B93F7C -:1086D000466C6F6174493A202564202F2031303078 -:1086E000200A000017B75138ACC5273700007A447C -:1086F0000AD7A33B000000006666666666662C40EB -:108700005B494E464F5D205B25733A25645D2052E0 -:108710006567697374726174696F6E2073756363E2 -:10872000657373200D0A0D0A000000005B4552526C -:108730004F525D205B25733A25645D2020526567AA -:1087400069737465725F4E756D62657220657272D1 -:108750006F723A2578200D0A0D0A00005B455252CF -:108760004F525D205B25733A25645D20205265677A -:1087700069737465725F53746172745F416464728B -:10878000657373206572726F72203A202578200D10 -:108790000A0D0A00696E2077726974652072656738 -:1087A00069737465722000005B494E464F5D205B23 -:1087B00025733A25645D2020534C5F5265616452F5 -:1087C0006567697374657242617474657279566F16 -:1087D0006C74616765200D0A000000005B494E461D -:1087E0004F5D205B25733A25645D2020534C5F521A -:1087F0006561645265676973746572436861726725 -:1088000043757272656E74200D0A00005B494E4616 -:108810004F5D205B25733A25645D2020534C5F52E9 -:1088200065616452656769737465724469736368EE -:1088300061726743757272656E74200D0A000000E4 -:108840005B494E464F5D205B25733A25645D2020D1 -:10885000534C5F5265616452656769737465724415 -:10886000697363686172674D6F73537461746520D7 -:108870000D0A0000000020415B494E464F5D205B21 -:1088800025733A25645D2020534C5F526561645224 -:108890006567697374657248696768536964654D93 -:1088A0006F7354656D7065726174757265200D0A21 -:1088B000000000005B494E464F5D205B25733A2562 -:1088C000645D2020534C5F52656164526567697333 -:1088D0007465724D5050544D6F6465200D0A000050 -:1088E0005B494E464F5D205B25733A25645D202031 -:1088F000534C5F5265616452656769737465725366 -:108900006F6C61724F70656E4369726375697456FE -:108910006F6C74616765200D0A0000005B494E466C -:108920004F5D205B25733A25645D204D617463685B -:108930005F5374617274666C6167207375636365FD -:108940007373200D0A0D0A005B494E464F5D205B94 -:1089500025733A25645D204D617463685F616464CA -:10896000726573732073756363657373200D0A0DED -:108970000A0000005B494E464F5D205B25733A2597 -:10898000645D204D617463685F42726F616463610E -:108990007374616464726573732073756363657364 -:1089A000730D0A0D0A0000005B494E464F5D205BC7 -:1089B00025733A25645D20526561645F526567697D -:1089C000737465720D0A0D0A000000005B494E4683 -:1089D0004F5D205B25733A25645D2057726974658D -:1089E0005F52656769737465720D0A0D0A000000B5 -:1089F0005B494E464F5D205B25733A25645D204FF1 -:108A000074686572206672616D65730D0A0D0A00E7 -:108A10005B494E464F5D205B25733A25645D2042DD -:108A2000726F6164636173745F5363616E0D0A0DED -:108A30000A0000005B494E464F5D205B25733A25D6 -:108A4000645D20526567697374726174696F6E5FEB -:108A5000726571756573740D0A0D0A005B494E46A7 -:108A60004F5D205B25733A25645D2066756E636FEC -:108A70006465206572726F722025780D0A0D0A00F8 -:108A800020647574795F726174696F203A2025647F -:108A90002F31303030200A0020496E7075745F56D7 -:108AA0006F6C74616765203A2025642F3130302067 -:108AB0000A00000020766F7574203A2025642F315B -:108AC0003030200A00000000207642617474657224 -:108AD00079203A2025642F313030200A0000000030 -:108AE00020496F7574203A2025642F313030200AD8 -:108AF0000000000020496469736F7574203A2025D6 -:108B0000642F313030200A00206D6F7354203A20DA -:108B100025642F3130200A0020696D706564616E14 -:108B20006365203A2025642F31303030200A000060 -:108B300020675F696D706564616E6365537461720F -:108B400074203A202564200A00000000206D6F7315 -:108B50005374617465203A202564200A00000000E7 -:108B600020626174746572795374617465203A206F -:108B70002564200A00000000206F75747075744130 -:108B80006761696E466C6167203A202564200A009F -:108B9000206578636573736976654C6F6164466CB4 -:108BA0006167203A202564200A00000020302EC38F -:108BB000BBD3D0B9A4D7F73B20312EE4B8C1F7C45A -:108BC000A3CABD3B20322EBAE3C1F7C4A3CABD3B42 -:108BD00020332EBAE3D1B9C4A3CABD3B20342EB88A -:108BE000A1B3E4C4A3CABD3B20352EC3BBD3D0B5CB -:108BF000E7B3D8203A202564200A00000000803F17 -:108C0000000040409A99193F9A9999999999B9BF4A -:108C10007B14AE47E17A843F000030410000704190 -:108C20003333333F3AC3FFFF2CC2FFFF2CC2FFFF99 -:108C30002AC2FFFF32C2FFFF32C2FFFFF8C1FFFFAF -:108C40002AC2FFFF32C2FFFFF8C1FFFF32C2FFFF9F -:108C50002AC2FFFF26C3FFFF26C3FFFF26C3FFFF75 -:108C6000F8C1FFFF76D2FFFF9CD1FFFF70D2FFFF5C -:108C7000A4D1FFFF70D2FFFF6AD1FFFF70D2FFFFC8 -:108C8000A4D1FFFF9CD1FFFF9CD1FFFF6AD1FFFF62 -:108C9000A4D1FFFFAAD1FFFFAAD1FFFFAAD1FFFFF6 -:108CA0006AD1FFFF5CD1FFFF5CD1FFFF30D2FFFF35 -:108CB0000CD3FFFF30D2FFFF2AD1FFFF30D2FFFFDE -:108CC0000CD3FFFF5CD1FFFF5CD1FFFF2AD1FFFF78 -:108CD0000CD3FFFF6AD1FFFF6AD1FFFF6AD1FFFF0C -:108CE0002AD1FFFFE0D5FFFF2ED5FFFF2ED5FFFFD6 -:108CF0002CD5FFFF32D5FFFF32D5FFFF02D5FFFF96 -:108D00002CD5FFFF32D5FFFF02D5FFFF32D5FFFF85 -:108D10002CD5FFFFCED5FFFFCED5FFFFCED5FFFF71 -:108D200002D5FFFF0001020203030303040404044D -:108D300004040404050505050505050505050505E7 -:108D400005050505060606060606060606060606C7 -:108D500006060606060606060606060606060606B3 -:108D60000606060607070707070707070707070797 -:108D70000707070707070707070707070707070783 -:108D80000707070707070707070707070707070773 -:108D90000707070707070707070707070707070763 -:108DA0000707070708080808080808080808080847 -:108DB0000808080808080808080808080808080833 -:108DC0000808080808080808080808080808080823 -:108DD0000808080808080808080808080808080813 -:108DE0000808080808080808080808080808080803 -:108DF00008080808080808080808080808080808F3 -:108E000008080808080808080808080808080808E2 -:108E100008080808080808080808080808080808D2 -:108E20000808080800000000000000000000000022 -:108E30000000000000000000000000000000000032 -:108E40000000000000000000000000000000000022 -:108E50000000000000000000000000000000000012 -:108E60000000000000000000000000000000000002 -:108E700000000000000000000000000000000000F2 -:108E800000000000232D302B20000000686C4C00F7 -:108E90006566674546470000303132333435363732 -:108EA00038394142434445460000000030313233F6 -:108EB0003435363738396162636465660000000016 -:108EC000000000000000000001020304060708097A -:108ED0000000000001020304010203040607080960 -:108EE00000000000000000000000000000E8038C0B -:108EF000051400A406DC05A00564008C050A000129 -:108F000000140014004600320028000A003C001043 -:108F10000E000000534C111111111111110100012B -:108F20000016000030000000BC2D00001000000002 -:108F3000462B0000A00000000E2B0000A100000046 -:108F4000AE2A0000D00000001E2D0000D10000005D -:108F5000802C0000010100006E2A000002010000C8 -:108F60002E2A000003010000EE2900000401000089 -:108F7000AC290000050100006A290000060100007C -:108F80004229000007010000142900000000000031 -:108F90000300000080250000000000000000000029 -:108FA00000000000000000000000000004000000BD -:108FB000802500000000000000000000000000000C -:108FC0000000000000000000448E0000648E0000DD -:108FD000248E0000000000000000000000000000DF -:108FE0000000000000000000000000000000000081 -:108FF0000000000000000000000000000000000071 -:109000000000000000000000000000000000000060 -:109010000000000000000000000000000000000050 -:109020000000000000000000006CDC0202040608E2 -:10903000281500200000403F01010101010100004E -:089040000401002004010020DE +:100250000545092D352AEF00901B71651305052012 +:10026000EF00F01CB707002083A507083725000022 +:10027000130585E9EF00F0269124AA8537250000B3 +:10028000130585EAEF00F025014529B7EFF25FEE8F +:10029000371402401C403707FF08411193E717004D +:1002A0001CC05C40F98F5CC01C403707F7FE6D171F +:1002B000F98F1CC01C403707FCFF7D17F98F1CC04D +:1002C0005C40370701FF7D17F98F5CC0B7079F00BF +:1002D0001CC4112102C402C6B7270240054798C3B7 +:1002E0001C404167B7160240D98F1CC03706020078 +:1002F00005679C42F18F3EC6A24785073EC4B247C0 +:1003000081E7A247E397E7FEB71702409C431397A4 +:10031000E7006357070685473EC6324785476313A4 +:10032000F706B7170240D843B706C1FFFD16D8C37A +:10033000D843D8C3D84313670740D8C3D843758F71 +:10034000D8C3D843B7061100558FD8C39843B70612 +:100350000001558F98C3984393166700E3DD06FEAE +:10036000D843B7160240719BD8C3D8431367270000 +:10037000D8C32147DC42B18BE39EE7FE410119BDA2 +:1003800002C661BF372702401C43F19B1CC3FDB767 +:10039000B7160240DC42370700201146B18B130725 +:1003A0000708638FC70221466381C70495EB9C420F +:1003B000918B9DC7B7470F00938707241CC3B717BE +:1003C0000240DC43918393F6F700B7070020938740 +:1003D0000700B69794231C43B3D7D7001CC3828071 +:1003E000B7177A0093870720D1BFDC42D442416619 +:1003F000C983BD8BF18E890745466393C700C94702 +:1004000081EEB746024083A60680C18A89CEB71620 +:100410007A009386062021A8B7160240D44213968C +:10042000E600E35606FEB7163D0093860690B387B6 +:10043000D70269B701A0970100209381A144175109 +:100440000020130121BC172500001305E5B1970515 +:100450000020938525BB1386818163FAC500832222 +:10046000050023A0550011059105E3EAC5FE13859B +:100470008181938501856377B500232005001105EF +:10048000E36DB5FEFD42739002BC8D4273904280D5 +:100490009302800873900230970200009382C2B6E4 +:1004A00093E2320073905230EFF05FDE970200006B +:1004B000938202DA739012347300203003A5C18155 +:1004C0008280B70701401387074083A70740584B36 +:1004D000698F09C77D8D3335A000828001458280F8 +:1004E000B707014023AAA74082809C4513F7070164 +:1004F00013F8F70001C7D8413368E8008E2113F7DD +:10050000F50F39C318418146854E3D4F930F800248 +:1005100093028004214E3396DE00B3F8C5006311C8 +:1005200016039398260033131F011343F3FF337709 +:10053000E300B318180133E7E800639FF70550C9DB +:100540008506E39AC6FD18C11307F00F6375B7045B +:1005500054412146854E3D4F930F80029302800403 +:10056000414EB398CE0033F715016392E80213179A +:10057000260001173313EF001343F3FFB376D300C4 +:100580003317E800D98E639DF701232A150105066C +:10059000E319C6FD54C18280E39457FA10C94DB7E0 +:1005A000E39757FE23281501DDB7370700C0B3775F +:1005B000E5006395E708370701405C439356B501B2 +:1005C000584F9D8A9DE6F99BB70600FFFD16758F73 +:1005D00089C993160501C182D58FB706FF01758DB4 +:1005E000498FB7060007D58FB7060140DCC2D8CEC9 +:1005F000828005466396C600F59BB70680FFF9B773 +:1006000009466396C600ED9BB706E8FFC1B70D46E5 +:100610006396C600DD9BB706FCFF4DBF114663978E +:10062000C60093F7F7F3B706C0FF4DB71546E39141 +:10063000C6FA93F7F7CFB706E0FF49BF3707004088 +:100640006391E702B7070140D84F4205B367A7009F +:1006500089E51345F5FFB377E500370701405CCF27 +:100660008280A9E337080140B7073000032648001D +:1006700013170501B376F50041836396F602B706BA +:1006800000F9FD16B377D60003264800F18E232229 +:10069000D80091C5558112053315A700C98F3707BA +:1006A00001405CC382809317B50063D00702935763 +:1006B000050193F6F7008D47B397D70093C7F7FF6F +:1006C000F18FB7060007D58FE9B793575501920709 +:1006D000B317F700E5B7EFF2BFA937F4FF1F032701 +:1006E00044723706003E4111931797019346F7FF76 +:1006F000F18F060737063E00718FD98F370600014C +:1007000013979600718FD98FBD824167F98ED58F6F +:1007100002C202C402C623A0F18203578472854537 +:10072000239CE180032704721305D00323A2E182F6 +:100730000327447023AEE1802124832744703707C8 +:100740003A101307077093F7F7F0638FE70E6360B3 +:10075000F7023707321013070770638FE704370774 +:100760003710130707706386E708410125B4370780 +:100770003B1013070770638BE70A37073D10130719 +:100780000770E394E7FE854521650535B714014000 +:10079000E177130480044C00138504807C8222C618 +:1007A000A93385679387C7334C00138504C07C82C7 +:1007B00022C6253BF9770DA085452165FD33B71489 +:1007C0000140930700E0130480044C00138504C02B +:1007D0007C8222C6193B89674C00371501407C8218 +:1007E00022C621338D477C8222C64C0013850440EB +:1007F00025A8B7140140E17793870770130480049C +:100800004C00138504807C8222C6C5319307D0E357 +:100810004C00138504C07C8222C6C139F9777C82E2 +:1008200022C64C0037150140C93181B7B7140140C9 +:10083000E177130480044C00138504807C8222C677 +:100840006D31930740208DB7B7140140E177130451 +:1008500080044C00138504807C8222C6793189672C +:10086000F51799B723A4A1828280371702405C4311 +:100870009146B18B638CD706A146638ED706BDE740 +:100880001C43918BA5C7B7470F00938707241CC152 +:10089000371602405C423707002013070701918397 +:1008A000BD8BBA9794231C41B3D7D7005CC1544287 +:1008B000A1829D8ABA969422B3D6D70014C5544219 +:1008C000AD829D8A36971423B3D6D70054C55842BB +:1008D000634C07005C42B98313F73700938741806C +:1008E000BA979C23B3D7F6021CC98280B7177A0047 +:1008F0009387072069BF5C435843C166C983BD8B9A +:10090000758F8907C5466393D700C94701EF3747FD +:10091000024003270780418B09CF37177A0013075E +:10092000072021A83717024058439316E700E3D663 +:1009300006FE37173D0013070790B387E70281BF14 +:1009400099C5371702401C4F5D8D08CF8280B717BD +:100950000240984F1345F5FF798D88CF82801E297C +:100960004A25ED8F4205418189C76D8D3335A00041 +:1009700082800145828093C5F5FFC205C1810EA921 +:100980008280EFF2EFFE1629F577FD17F58FF6213D +:10099000DA257971D58F1EA95625FD779387379F64 +:1009A000F58FD6212A842EC6D58F9625D58FB625CC +:1009B000D58F5EA55E29C207C18393F7F7CFD98F84 +:1009C0005EA968085D35B747014093870780B24547 +:1009D000631AF404A25756246547B387E702C20698 +:1009E000C186984163D20604060752244206B3D753 +:1009F000E702130740064186B3D6E702B3F7E702E2 +:100A00009206635506028E0793872703B3D7E70242 +:100A100013F77700B367D700C207C1831EA44561EF +:100A20006FF04FF7925745BF0A07C1B792079387F8 +:100A30002703B3D7E702BD8BD58FF9BF91C55E25DC +:100A40000967D98F5EA582805A25F977FD17F98F3E +:100A5000D5BF93F5F51F4EA182804A211375F51F6E +:100A600082800A216D8D3335A000828013F7F50F47 +:100A700085461583B397B6006311D7025A25F98FBF +:100A80001A2101454207418381CB0545A181B31558 +:100A9000B5006D8F3335E000828089466314D7003E +:100AA0001A29F1BF5A29E1BF1145213C854763143A +:100AB000F500114535347300203005651934730095 +:100AC0002030411122C6375400409305505213057F +:100AD0000480693F05C51305048041379375F50F00 +:100AE0002386B18203A5C1831C4D10495449850753 +:100AF000B3E7C7026384D7003105E52032444101E2 +:100B000073002030411122C63754004093055052E3 +:100B1000130504C0A13F05C5130504C03D3F9375EF +:100B2000F50F2388B18203A501841C4D1049544957 +:100B30008507B3E7C7026384D70031055D203244DF +:100B4000410173002030411122C637040040854521 +:100B500013050440293509C5854513050440213D89 +:100B60003244410173002030854537050040C53BC4 +:100B700011C5854537050040FD3B812073002030BD +:100B8000B7F700E023A207000D28730020304111C1 +:100B900022C6373401408545130504C0C93311C945 +:100BA000130504C08545C13B37250000130585EBBF +:100BB0009924324441017300203083A741830546C4 +:100BC00091E38280D62381CEBA237D1742074183E9 +:100BD000BAA3BA234207418319E390A3B6A3DC4723 +:100BE000C5B75C45544118458507B3E7D702638E06 +:100BF000E70058451C41BA978CA35C4558418507CE +:100C0000B3E7E7025CC50545828079558280B70766 +:100C1000002083A707080967130707F4B3D7E70283 +:100C2000C207C183239DF182239CF1828280EFF26F +:100C30002FD42A84116501118545110511339307BD +:100C400000207C82371501408D473EC44C00E147AF +:100C5000130505803EC6EFF05F8922C83744014086 +:100C6000B70708000C08130504803ECC02CA231EF7 +:100C70000100013B854513050480C93305616FF010 +:100C80006FD1EFF24FCDB7440140AE8932890144B4 +:100C900093840480634524014A856FF00FCF930548 +:100CA000000426857D3B65DDB387890083850700C9 +:100CB00026850504C205C181693BE9BF1387818090 +:100CC0001C43938601853E95636BD500B756002083 +:100CD0009386068063E5A60008C33E858280FD57A3 +:100CE000EDBF39713EDA2ED232D436D63AD842DC54 +:100CF00046DE9387C18022CC804326CA06CEAA84D2 +:100D000009C41C4C99E32285ED290C445410268615 +:100D1000228536C6EF007012F2406244D24421614F +:100D20008280011126CA4AC806CE22CC4EC652C4C1 +:100D3000AA842E8901C51C4D91E3E1219C4C80447D +:100D400099E326857D29971700009387271A631B4F +:100D5000F402C0405E24A18BB1C71C48A1C7FD5955 +:100D6000294A1C4483450900FD17B1E91CC463DD11 +:100D700007062286A94526856120FD576308F502EE +:100D8000294535A097170000938747186314F4008E +:100D90008044C9B79717000093874713E31CF4FA00 +:100DA000C0444DBFA2852685112A55D97D55F240F4 +:100DB0006244D2444249B249224A056182801CC43D +:100DC000050963D70700184C63CAE700638845012B +:100DD0001C401387170018C08CA361B72286268594 +:100DE0000520E31035F9D9B71C401387170018C048 +:100DF000294798A371B79387C180AA85884315B7FF +:100E0000011122CC26CA4AC806CE4EC6AA842E8913 +:100E1000328401C51C4D91E3ED269717000093879E +:100E2000E70C6317F406C0401C4C1CC45E24A18B65 +:100E3000C1C31C48B5CF1C4808409379F90F1379FA +:100E4000F90F1D8D5C486346F500A2852685692C47 +:100E500025E51C440505FD171CC41C40138717001D +:100E600018C0238037015C486388A7005E24858B07 +:100E700081CBA9476316F900A2852685B5240DED1F +:100E8000F24062444A85D2444249B24905618280B7 +:100E900097170000938787076314F400804469B7AD +:100EA0009717000093878702E310F4F8C044ADBFA2 +:100EB000A2852685212041D17D59D9B7411193873B +:100EC000C18026C2844322C44AC006C62A892E8411 +:100ED00089C49C4C99E326852D269717000093879B +:100EE000E700631BF402C0400317C4009317070117 +:100EF000C18393F68700ADEA93F6070195EEA54707 +:100F00002320F900136707045AA47D55B2402244F8 +:100F1000924402494101828097170000938707FF9E +:100F20006314F4008044C9B797170000938707FA49 +:100F3000E31CF4FAC0444DBF918B9DC34C5889C942 +:100F4000930744046384F5004A853123232A04026D +:100F50005E242322040093F7B7FD5EA41C481CC046 +:100F60005E2493E787005EA41C4899EB5E24130778 +:100F7000002093F707286385E700A2854A85A12111 +:100F80005E2413F717001DC35C4823240400B30735 +:100F9000F0401CCC1C480145B5FB8317C40013F777 +:100FA00007082DD793E707045EA485B7898B01470F +:100FB00091E3584818C4F9BFDE25011122CC26CA96 +:100FC00006CE4AC84EC613F78700AA842E8479EB52 +:100FD000D841634DE000B841634AE0000145F2406A +:100FE0006244D2444249B2490561828058547DD757 +:100FF00003A904009396370123A0040063DB0606CF +:1010000070485E24918B99C75C401D8E5C5899C3D3 +:101010003C401D8E5C540C50814626858297FD57BE +:101020005A24631DF5009440F54763E8D706B707D7 +:1010300040208507B3D7D700858BA5C31C48232242 +:1010400004001CC09317370163D80700FD576314D1 +:10105000F5009C4091E368C84C5823A02401BDDDF5 +:10106000930744046384F5002685F526232A0402A9 +:10107000B5B70C500146854626850297FD572A864E +:10108000E311F5F89C40B5DF75476385E7005947E4 +:101090006393E70423A0240191B7136707045AA4BC +:1010A0007D5535BF83A90501E38A09F203A905002F +:1010B0008D8B23A0350133093941014791E3D8498C +:1010C00018C4E35D20F11C540C50CA864E86268558 +:1010D00082976347A0005E2493E707045EA4C9B724 +:1010E000AA993309A940F1BF9C49B9CF011122CC7B +:1010F00006CE2A8411C51C4D81E72EC61922B245A1 +:1011000097170000938787DE639BF5004C40839719 +:10111000C50095C722856244F240056171BD9717ED +:1011200000009387A7DE6394F5000C44CDB79717B2 +:1011300000009387A7D9E39CF5FC4C44C9BFF2405B +:10114000624401450561828001458280411122C4CB +:1011500006C62A844EA572A5232005002322050079 +:10116000232405002322050623280500232A050041 +:10117000232C0500214681451305C505EFF04F825C +:1011800097170000938747B15CD0971700009387AB +:1011900067B31CD497170000938747B75CD49717A1 +:1011A00000009387A7B900D01CD8B2402244410167 +:1011B000828097050000938565F3A9A2411126C29C +:1011C000130680069384F5FFB384C4024AC02E89B7 +:1011D00022C406C6938544071D262A8401CD2320F8 +:1011E000050023222501310508C4138684068145A4 +:1011F000EFE01FFB2285B2402244924402494101A4 +:1012000082801C4DADE3411106C622C49707000041 +:10121000938767FA1CD5938701819C432324050497 +:1012200023260504232805046314F50085471CCDF7 +:101230002A841D2848C02285052808C422852D201F +:1012400048C4484001469145113708440546A54524 +:10125000F53D48440946C945D53D85471CCCB240BB +:10126000224441018280828041119387018126C2FC +:1012700084434AC006C69C4C22C42A8999E3268529 +:101280004937938484048044DC40FD1763D607000B +:101290009C40B9CF8440C5BF0317C40039E7C1776C +:1012A000850723220406232004002322040023248C +:1012B00004005CC423280400232A0400232C040017 +:1012C000214681451305C405EFE09FED232A040262 +:1012D000232C040223240404232604042285B24080 +:1012E000224492440249410182801304840671BF62 +:1012F00091454A85E13588C051FDB1472320F90069 +:101300000144E9BF797122D44AD052CC56CA5AC896 +:101310005EC606D626D24ECE2A8AAE8A130485042D +:101320000149054BFD5B09ECB25022544A859254A9 +:101330000259F249624AD24A424BB24B456182801D +:10134000044483294400FD1963D409000040E1BF2F +:10135000DE24637BFB008397E40063877701A68527 +:101360005285829A3369A90093848406E9BF197172 +:10137000A6DAAE848395E500A2DC86DE328463DBE8 +:101380000500DE2423A0060093F7070885E79307EE +:1013900000401DA0300836C6EF00D01FB246E34221 +:1013A00005FE7247BD67F98F7977BA9793B7170033 +:1013B0009CC2F1BF930700041CC0F6506654D6547B +:1013C000014509618280DE25011122CC06CE26CAA4 +:1013D0004AC8898B2E8489CF930774041CC01CC80B +:1013E00085475CC8F2406244D2444249056182802C +:1013F00074003000AA84A53FA2452A8926850122CF +:1014000019E98317C40013F7072069FFF19B93E7DD +:1014100027005EA4D1B7970700009387C7D99CD453 +:101420005E2408C008C893E707085EA4A2475CC80A +:10143000B24781CF8315E4002685EF00501811C50F +:101440005E24F19B93E717005EA45E243369F900E4 +:101450002316240141BFDDC183A7C5FF411122C46A +:1014600006C626C21384C5FF63D307003E94AA8430 +:10147000EF00B01B938741849C4381EF232204003B +:1014800023A281842244B2402685924441016F0008 +:10149000F019637EF40014403307D4006396E7002C +:1014A0009843DC43369718C05CC0D9BFBA87D8438D +:1014B00019C3E37DE4FE94433386D700631F86009F +:1014C0001040B29694C33386D700E31DC7FA104389 +:1014D0005843B29694C3D8C375B76375C400B14777 +:1014E0009CC04DB71040B306C4006316D700144328 +:1014F0005843B29614C058C0C0C369B78280011166 +:1015000026CA93843500F19806CE22CC4AC84EC62E +:10151000A104B14763F3F404B14463E2B4042A893B +:10152000EF00B0109387418498433A8439E0938761 +:1015300081849C4391E781454A85052F23A4A1849A +:10154000A6854A851D27FD5963193507B147232014 +:10155000F9004A85EF00900D29A0E3D004FCB147C3 +:101560001CC10145F2406244D2444249B24905617E +:1015700082801C40858F63CF0702AD4663F6F6007C +:101580001CC03E9404C031A05C406313870223A2B8 +:10159000F1844A85EF0090091305B40093074400D5 +:1015A00061993307F5405DDF3A94898F1CC05DBFB8 +:1015B0005CC3C5B72287404095BF130435007198BE +:1015C000E30285FCB305A4404A854525E31C35FBB1 +:1015D000B5BF1C46FD171CC663DA0700184E63C56D +:1015E000E700A9476394F5006FF09F811C422E85A8 +:1015F0001387170018C28CA38280011122CC26CA3F +:101600004AC84EC652C406CE2A89AE893284B30473 +:10161000D6007D5A63149400014501A80C204E8623 +:101620004A85453F0504E31745FFF2406244D24432 +:101630004249B249224A05618280357122CD26CBCA +:101640004AC94EC706CF52C556C35AC1DEDEE2DCD8 +:10165000E6DAAA89AE843289368401C51C4D91E34D +:101660004D3697170000938767886397F40C83A41F +:101670004900DE24A18BFDC39C48EDC39307000203 +:10168000A304F1029307000302D22305F10222C64C +:10169000930B5002971A0000938A4A89054C294BF4 +:1016A0004A841C2099C3639E770DB30C2441638D3B +:1016B0000C00E6864A86A6854E858137FD57630F66 +:1016C000F51C9256E69636D21C206389071CFD57FE +:1016D0001309140002C802CE3ECA02CCA3090104B9 +:1016E00082D4834509001546568525271304190021 +:1016F000C24751E913F7070109C713070002A309FD +:10170000E10413F7870009C71307B002A309E10436 +:10171000834609001307A002638FE606F2474A8456 +:1017200081462546182093051400130707FD6377AB +:10173000E60AB5CA3ECE85A8970700009387077DC5 +:101740006395F40083A489002DB797070000938761 +:10175000E777E390F4F283A4C90021BFA6854E8504 +:10176000EFF0CFF501DD7D55FA406A44DA444A498D +:10177000BA492A4A9A4A0A4BF65B665CD65C0D6106 +:101780008280050439BF330555413315AC00C98F3C +:101790003EC82289B9B7324793064700184336C678 +:1017A000634707023ACE18209307E002631DF7044F +:1017B00018309307A002631BF702B247090413878E +:1017C00047009C433AC663C107023ECA2DA83307AF +:1017D000E04093E727003ACE3EC8F1B7B3876703EE +:1017E00085462E84BA973DBFFD57C5B7050402CA8A +:1017F000814681472546182093051400130707FDED +:101800006374E606F9F20C200D4617050000130577 +:101810006572012511CD970700009387A7711D8D73 +:1018200093070004B397A700424505045D8D2AC8BD +:101830000C20194617050000130505701309140044 +:101840002304B102F92335C197E7FFFF9387877B14 +:1018500095E74247B2471377071009CF91073EC675 +:101860009257D2973ED22DBDB387670385462E840B +:10187000BA9751B79D07E19BA107D5B778009706A6 +:1018800000009386C6D726860C084E859700000078 +:10189000E7000000FD572A8AE314F5FCDE2493F7E5 +:1018A0000704E39207EC1255C1B5780097060000D3 +:1018B0009386E6D426860C084E85012AE1BF79710D +:1018C00056CA9C49BA8A984522D426D24ECE52CCCA +:1018D00006D64AD05AC85EC6AA892E84B284368AF1 +:1018E00063D3E700BA879CC00347340419C3850754 +:1018F0009CC01C4093F7070281C79C4089079CC08D +:101900000329040013796900631A0900130B940179 +:10191000FD5B5C449840998F634CF9041C408346FE +:10192000340493F70702B336D000A5EB1306340452 +:10193000D2854E85829AFD576303F5041C401146FB +:101940009840998B544481446397C700B384E64020 +:1019500063D3040081441C4418486354F700998FF2 +:10196000BE94014969047D5B63982405014509A87B +:1019700085465A86D2854E85829A631E75017D55AD +:10198000B250225492540259F249624AD24A424B0E +:10199000B24B456182800509ADBF3307D400130601 +:1019A0000003A301C7040347540493871600A297BA +:1019B0008906A381E7049DBF85462286D2854E8590 +:1019C000829AE30E65FB050945B7797122D426D2C8 +:1019D0004AD04ECE06D652CC56CA5AC8B689942D95 +:1019E000930790063289AA842E8413863504638D6A +:1019F000F60263E2D706930780056385F61863ED68 +:101A0000D700638D062093073004638EF60A930A8D +:101A100024042301D404C9A0930730066385F60A81 +:101A200093074006E395F6FE1C40084393F607082B +:101A300093054500C5C61C410CC363D807001307B6 +:101A4000D002B307F040A301E40497060000938698 +:101A5000264F294765A8930700076381F61663E5BB +:101A6000D7029307E0066388F6189307F006E39021 +:101A7000F6FA0C401C4313F805081385470063076A +:101A8000080608C39C4385A893075007E383F6FE26 +:101A9000930780076388F61293073007E399F6F6F9 +:101AA0001C43D04181459386470014C383AA070095 +:101AB0005685852601C53305554148C05C401CC884 +:101AC000A301040461A81C43930A240493864700DD +:101AD0009C4314C32301F4048547D5B793F6070448 +:101AE0001C410CC3B9DAC207C18781BF93F5050455 +:101AF00008C3C9D99E231307F0066386E60E97062E +:101B000000009386E6432947A30104044C400CC41B +:101B100063C5050008406D9908C099E3B28A89CD74 +:101B2000B28AB3F5E702FD1AB6958C212380BA007C +:101B3000B3D5E70263FFE70AA147631EF7001C4025 +:101B4000858B91CB58401C4863C7E700930700037F +:101B5000A38FFAFEFD1A3306564110C84E87CA8677 +:101B60007000A2852685A13B7D5A631D450B7D55DE +:101B7000B250225492540259F249624AD24A424B1C +:101B800045618280A382D504970600009386463B78 +:101B90000C40084313F805081C411105630D0802A9 +:101BA00008C313F7150001C793E505020CC04147B0 +:101BB000A1FF0C4093F5F5FD0CC0B9B79C4193E72C +:101BC00007029CC193078007A302F4049706000054 +:101BD0009386463875BF13F8050408C3E30308FC71 +:101BE000C207C1837DBF97060000938666352147F3 +:101BF00021BFAE873DB794411C43CC4913F806087A +:101C0000138547006306080008C39C438CC339A0B2 +:101C100008C393F606049C43F5DA8EA32328040038 +:101C2000B28A2DBF14485686CA8526858299E3005C +:101C300045F51C40898B8DE7B2474844E35AF5F2DD +:101C40003E853DB785465686CA8526858299E3003E +:101C500065F3050A5C443247998FE345FAFEE9BF14 +:101C6000014A930A94017D5BF5B7411122C42A848D +:101C70002E8523A6018406C6EFF04F84FD57631717 +:101C8000F5009387C1849C4391C31CC0B240224499 +:101C900041018280411122C42E848395E50006C64D +:101CA0007922634905007C48AA977CC8B240224447 +:101CB000410182805E247D777D17F98F5EA4FDB798 +:101CC000DE25011122CC26CA4AC84EC606CE93F79D +:101CD0000710AA842E843289B68991C78395E500BE +:101CE0008946014609225E247D777D17F98F5EA41F +:101CF0008315E4006244F240CE864A86B2494249E6 +:101D00002685D244056125A8411122C42E848395DD +:101D1000E50006C6C928FD575A24631AF500FD7769 +:101D2000FD17F98F5EA4B24022444101828085678D +:101D3000D98F5EA468C8C5BF8395E50005A8411189 +:101D400022C42A842E85B285368623A6018406C63F +:101D5000EFE03FF3FD576317F5009387C1849C4381 +:101D600091C31CC0B240224441018280411122C46F +:101D70002A842E8523A6018406C6C520FD57631735 +:101D8000F5009387C1849C4391C31CC0B240224498 +:101D900041018280411122C42A842E85B28523A666 +:101DA000018406C6C920FD576317F5009387C184D7 +:101DB0009C4391C31CC0B240224441018280411126 +:101DC00022C42A842E8523A6018406C65D20FD57E1 +:101DD0006317F5009387C1849C4391C31CC0B24034 +:101DE000224441018280411122C42A842E85B28579 +:101DF000368623A6018406C65920FD576317F500D1 +:101E00009387C1849C4391C31CC0B24022444101CA +:101E1000828093F5F50F2A966314C50001458280F0 +:101E20001C21E38EB7FE0505C5BF8280828041116B +:101E300022C42A842E85B285368623A6018406C64E +:101E4000A920FD576317F5009387C1849C4391C374 +:101E50001CC0B2402244410182809307800523A622 +:101E6000F1847D5582809307800523A6F1847D55FA +:101E700082809307800523A6F18401458280930721 +:101E8000800523A6F1847D5582809307800523A6D3 +:101E9000F1847D558280000053797374656D436CC5 +:101EA0006B3A25640D0A00004368697049443A257D +:101EB0003038780D0A000000696E2074696D312099 +:101EC00069727120000000000000000000000000A6 +:101ED0000000000000000000000000000000000002 +:101EE00000000000000000000000000000000000F2 +:101EF00000000000000000000000000000000000E2 +:101F000000000000000000000000000000000000D1 +:101F100000000000000000000000000000000000C1 +:101F20000000000000000000232D302B20000000E6 +:101F3000686C4C00656667454647000030313233B7 +:101F400034353637383941424344454600000000B5 +:101F5000303132333435363738396162636465661F +:041F6000000000007D +:101F64000000000000000000010203040607080945 +:101F7400000000000102030401020304060708092B +:101F840000000000E81E0000081F0000C81E00003A +:101F9400000000000000000000000000000000003D +:101FA400000000000000000000000000000000002D +:101FB400000000000000000000000000000000001D +:101FC400000000000000000000000000000000000D +:101FD40000000000000000000000000000000000FD +:101FE400006CDC0202040608D0000020200000205F +:081FF4002000002000000000A5 :00000001FF diff --git a/obj/mppt_Nos_V0.4.lst b/obj/mppt_Nos_V0.4.lst index 17ba73b..a990821 100644 --- a/obj/mppt_Nos_V0.4.lst +++ b/obj/mppt_Nos_V0.4.lst @@ -7,10 +7,10 @@ start address 0x00000000 Program Header: LOAD off 0x00001000 vaddr 0x00000000 paddr 0x00000000 align 2**12 - filesz 0x00008ec0 memsz 0x00008ec0 flags r-x - LOAD off 0x0000a000 vaddr 0x20000000 paddr 0x00008ec0 align 2**12 - filesz 0x00000188 memsz 0x00001528 flags rw- - LOAD off 0x0000a800 vaddr 0x20004800 paddr 0x20004800 align 2**12 + filesz 0x00001f64 memsz 0x00001f64 flags r-x + LOAD off 0x00003000 vaddr 0x20000000 paddr 0x00001f64 align 2**12 + filesz 0x00000098 memsz 0x000000d0 flags rw- + LOAD off 0x00003800 vaddr 0x20004800 paddr 0x20004800 align 2**12 filesz 0x00000000 memsz 0x00000800 flags rw- Sections: @@ -19,51 +19,51 @@ Idx Name Size VMA LMA File off Algn CONTENTS, ALLOC, LOAD, READONLY, CODE 1 .vector 0000013c 00000004 00000004 00001004 2**1 CONTENTS, ALLOC, LOAD, READONLY, CODE - 2 .text 00008d80 00000140 00000140 00001140 2**3 + 2 .text 00001e24 00000140 00000140 00001140 2**2 CONTENTS, ALLOC, LOAD, READONLY, CODE - 3 .fini 00000000 00008ec0 00008ec0 0000a188 2**0 + 3 .fini 00000000 00001f64 00001f64 00003098 2**0 CONTENTS, ALLOC, LOAD, CODE - 4 .dalign 00000000 20000000 20000000 0000a188 2**0 + 4 .dalign 00000000 20000000 20000000 00003098 2**0 CONTENTS - 5 .dlalign 00000000 00008ec0 00008ec0 0000a188 2**0 + 5 .dlalign 00000000 00001f64 00001f64 00003098 2**0 CONTENTS - 6 .data 00000188 20000000 00008ec0 0000a000 2**2 + 6 .data 00000098 20000000 00001f64 00003000 2**2 CONTENTS, ALLOC, LOAD, DATA - 7 .bss 000013a0 20000188 00009048 0000a188 2**2 + 7 .bss 00000038 20000098 00001ffc 00003098 2**2 ALLOC - 8 .stack 00000800 20004800 20004800 0000a800 2**0 + 8 .stack 00000800 20004800 20004800 00003800 2**0 ALLOC - 9 .debug_info 0002182e 00000000 00000000 0000a188 2**0 + 9 .debug_info 00012475 00000000 00000000 00003098 2**0 CONTENTS, READONLY, DEBUGGING - 10 .debug_abbrev 00005698 00000000 00000000 0002b9b6 2**0 + 10 .debug_abbrev 00003230 00000000 00000000 0001550d 2**0 CONTENTS, READONLY, DEBUGGING - 11 .debug_aranges 00000ef8 00000000 00000000 00031050 2**3 + 11 .debug_aranges 00000978 00000000 00000000 00018740 2**3 CONTENTS, READONLY, DEBUGGING - 12 .debug_ranges 00001110 00000000 00000000 00031f48 2**3 + 12 .debug_ranges 000009d0 00000000 00000000 000190b8 2**3 CONTENTS, READONLY, DEBUGGING - 13 .debug_line 00014717 00000000 00000000 00033058 2**0 + 13 .debug_line 0000b290 00000000 00000000 00019a88 2**0 CONTENTS, READONLY, DEBUGGING - 14 .debug_str 00004ae0 00000000 00000000 0004776f 2**0 + 14 .debug_str 00002fb6 00000000 00000000 00024d18 2**0 CONTENTS, READONLY, DEBUGGING - 15 .comment 00000033 00000000 00000000 0004c24f 2**0 + 15 .comment 00000033 00000000 00000000 00027cce 2**0 CONTENTS, READONLY - 16 .debug_frame 00003394 00000000 00000000 0004c284 2**2 + 16 .debug_frame 00001d20 00000000 00000000 00027d04 2**2 CONTENTS, READONLY, DEBUGGING - 17 .debug_loc 000067e0 00000000 00000000 0004f618 2**0 + 17 .debug_loc 00003e96 00000000 00000000 00029a24 2**0 CONTENTS, READONLY, DEBUGGING - 18 .stab 00000084 00000000 00000000 00055df8 2**2 + 18 .stab 00000084 00000000 00000000 0002d8bc 2**2 CONTENTS, READONLY, DEBUGGING - 19 .stabstr 00000117 00000000 00000000 00055e7c 2**0 + 19 .stabstr 00000117 00000000 00000000 0002d940 2**0 CONTENTS, READONLY, DEBUGGING SYMBOL TABLE: 00000000 l d .init 00000000 .init 00000004 l d .vector 00000000 .vector 00000140 l d .text 00000000 .text -00008ec0 l d .fini 00000000 .fini +00001f64 l d .fini 00000000 .fini 20000000 l d .dalign 00000000 .dalign -00008ec0 l d .dlalign 00000000 .dlalign +00001f64 l d .dlalign 00000000 .dlalign 20000000 l d .data 00000000 .data -20000188 l d .bss 00000000 .bss +20000098 l d .bss 00000000 .bss 20004800 l d .stack 00000000 .stack 00000000 l d .debug_info 00000000 .debug_info 00000000 l d .debug_abbrev 00000000 .debug_abbrev @@ -81,120 +81,38 @@ SYMBOL TABLE: 00000000 l df *ABS* 00000000 ch32l103_it.c 00000000 l df *ABS* 00000000 main.c 00000000 l df *ABS* 00000000 system_ch32l103.c -00000000 l df *ABS* 00000000 ch32l103_adc.c 00000000 l df *ABS* 00000000 ch32l103_dbgmcu.c 00000000 l df *ABS* 00000000 ch32l103_exti.c 00000000 l df *ABS* 00000000 ch32l103_gpio.c 00000000 l df *ABS* 00000000 ch32l103_misc.c 00000000 l df *ABS* 00000000 ch32l103_rcc.c 20000010 l O .data 00000010 PBHBPrescTable -2000016c l O .data 00000004 ADCPrescTable -00000000 l df *ABS* 00000000 ch32l103_spi.c +20000084 l O .data 00000004 ADCPrescTable 00000000 l df *ABS* 00000000 ch32l103_tim.c 00000000 l df *ABS* 00000000 ch32l103_usart.c -00000000 l df *ABS* 00000000 adc.c -00000000 l df *ABS* 00000000 flash.c 00000000 l df *ABS* 00000000 gpio.c -00000000 l df *ABS* 00000000 pwm.c 00000000 l df *ABS* 00000000 rs485.c 00000000 l df *ABS* 00000000 tim.c 00000000 l df *ABS* 00000000 timeSliceOffset.c -200001a8 l O .bss 00000004 pTimeSliceList +200000b4 l O .bss 00000004 pTimeSliceList 00000000 l df *ABS* 00000000 ring_queue.c 00000000 l df *ABS* 00000000 debug.c -200001ac l O .bss 00000002 p_ms -200001ae l O .bss 00000002 p_us -20000170 l O .data 00000004 curbrk.5007 -00000000 l df *ABS* 00000000 collect_Conversion.c -00001f88 l F .text 00000092 middleAverageFilter -00000000 l df *ABS* 00000000 inflash.c -00000000 l df *ABS* 00000000 mppt_control.c -200001b0 l O .bss 00000004 ConstantCurrentV.5836 -200001b4 l O .bss 00000004 ConstantVoltageChargeV.5814 -200001b8 l O .bss 00000004 ConstantVoltageV.5837 -200001bc l O .bss 00000004 FloatChargeV.5819 -200001c0 l O .bss 00000004 FloatI.5838 -200001c4 l O .bss 00000004 StopSolarOpenCircuitV.5839 -200001c8 l O .bss 00000004 TrickleChargeC.5806 -20000178 l O .data 00000001 onlyOnce.5807 -20000179 l O .data 00000001 onlyOnce.5815 -2000017a l O .data 00000001 onlyOnce.5820 -2000017b l O .data 00000001 only_once.5840 -00000000 l df *ABS* 00000000 sl_protocol.c -00002914 l F .text 0000002e SL_ReadRegisterMPPTMode -00002942 l F .text 00000028 SL_ReadRegisterDischargMosState -0000296a l F .text 00000042 SL_ReadRegisterHighSideMosTemperature -000029ac l F .text 00000042 SL_ReadRegisterSolarOpenCircuitVoltage -000029ee l F .text 00000040 SL_ReadRegisterDischargCurrent -00002a2e l F .text 00000040 SL_ReadRegisterChargCurrent -00002a6e l F .text 00000040 SL_ReadRegisterBatteryVoltage -00002aae l F .text 00000060 SL_MsgProcFunc_Registration_request -00002b0e l F .text 00000038 SL_MsgProcFunc_Broadcast_Scan -00002b46 l F .text 00000056 SL_MsgProcFunc_Write_Register -00002c80 l F .text 0000009e SL_MsgProcFunc_Remote_Upgrade -00002d1e l F .text 0000009e SL_MsgProcFunc_Update_Profile -00002dbc l F .text 00000194 SL_MsgProcFunc_Read_Register -2000124c l O .bss 00000032 rs485_buff -00000000 l df *ABS* 00000000 task.c -200001ce l O .bss 00000002 checkRegisterRefreshTimeFlag.6456 -200001d0 l O .bss 00000002 checkSolarOpenCircuitVTimeFlag.6433 -200001d4 l O .bss 00000004 currOne.6481 -200001d8 l O .bss 00000004 currTwo.6483 -200001dc l O .bss 00000004 dutyRatio.6440 -200001e0 l O .bss 00000004 enabBroadcastTimeFlag.6504 -200001e5 l O .bss 00000001 flag.6427 -200001f5 l O .bss 00000001 num.6428 -200001f6 l O .bss 00000002 num.6439 -200001f8 l O .bss 00000001 num.6480 -200001f9 l O .bss 00000001 num.6491 -200001fa l O .bss 00000001 num.6497 -200001fc l O .bss 00000002 numLong.6498 -20000201 l O .bss 00000001 run_number.6466 -20000204 l O .bss 00000004 temp.6450 -20000208 l O .bss 00000004 voltOne.6482 -2000017c l O .data 00000001 only_once.6434 -00000000 l df *ABS* 00000000 uart_dev.c -00004306 l F .text 00000046 uart_putchar -20001330 l O .bss 000000c8 bat485_in_buff -200013f8 l O .bss 0000012c gw485_in_buff -00000000 l df *ABS* 00000000 adddf3.c -00000000 l df *ABS* 00000000 gedf2.c -00000000 l df *ABS* 00000000 ledf2.c -00000000 l df *ABS* 00000000 muldf3.c -00000000 l df *ABS* 00000000 subdf3.c -00000000 l df *ABS* 00000000 floatsidf.c -00000000 l df *ABS* 00000000 addsf3.c -00000000 l df *ABS* 00000000 divsf3.c -00000000 l df *ABS* 00000000 eqsf2.c -00000000 l df *ABS* 00000000 gesf2.c -00000000 l df *ABS* 00000000 lesf2.c -00000000 l df *ABS* 00000000 mulsf3.c -00000000 l df *ABS* 00000000 subsf3.c -00000000 l df *ABS* 00000000 fixsfsi.c -00000000 l df *ABS* 00000000 fixunssfsi.c -00000000 l df *ABS* 00000000 floatsisf.c -00000000 l df *ABS* 00000000 floatunsisf.c -00000000 l df *ABS* 00000000 extendsfdf2.c -00000000 l df *ABS* 00000000 truncdfsf2.c -00000000 l df *ABS* 00000000 libgcc2.c -00000000 l df *ABS* 00000000 memcpy.c +200000b8 l O .bss 00000002 p_ms +200000ba l O .bss 00000002 p_us +20000088 l O .data 00000004 curbrk.5007 00000000 l df *ABS* 00000000 printf.c 00000000 l df *ABS* 00000000 puts.c -00000000 l df *ABS* 00000000 rand.c -00000000 l df *ABS* 00000000 sprintf.c 00000000 l df *ABS* 00000000 wbuf.c 00000000 l df *ABS* 00000000 wsetup.c 00000000 l df *ABS* 00000000 fflush.c 00000000 l df *ABS* 00000000 findfp.c -0000726e l F .text 00000066 std +0000114c l F .text 00000066 std 00000000 l df *ABS* 00000000 fwalk.c 00000000 l df *ABS* 00000000 makebuf.c -00000000 l df *ABS* 00000000 malloc.c 00000000 l df *ABS* 00000000 nano-mallocr.c 00000000 l df *ABS* 00000000 nano-mallocr.c 00000000 l df *ABS* 00000000 nano-vfprintf.c -00000000 l df *ABS* 00000000 nano-vfprintf.c -00007a5e l F .text 00000028 __sfputc_r +000015d2 l F .text 00000028 __sfputc_r 00000000 l df *ABS* 00000000 nano-vfprintf_i.c 00000000 l df *ABS* 00000000 sbrkr.c 00000000 l df *ABS* 00000000 stdio.c @@ -204,402 +122,211 @@ SYMBOL TABLE: 00000000 l df *ABS* 00000000 isattyr.c 00000000 l df *ABS* 00000000 lseekr.c 00000000 l df *ABS* 00000000 memchr.c -00000000 l df *ABS* 00000000 memmove.c 00000000 l df *ABS* 00000000 mlock.c -00000000 l df *ABS* 00000000 nano-mallocr.c 00000000 l df *ABS* 00000000 readr.c -00000000 l df *ABS* 00000000 nano-mallocr.c 00000000 l df *ABS* 00000000 close.c 00000000 l df *ABS* 00000000 fstat.c 00000000 l df *ABS* 00000000 isatty.c 00000000 l df *ABS* 00000000 lseek.c 00000000 l df *ABS* 00000000 read.c -00000000 l df *ABS* 00000000 libgcc2.c 00000000 l df *ABS* 00000000 impure.c -20000104 l O .data 00000060 impure_data +20000020 l O .data 00000060 impure_data +00000000 l df *ABS* 00000000 uart_dev.c 00000000 l df *ABS* 00000000 reent.c -000083c4 g F .text 00000014 _malloc_usable_size_r -0000176a g F .text 00000042 EXTI2_IRQHandler -200001e4 g O .bss 00000001 excessiveLoadFlag -00008272 g F .text 00000030 _isatty_r -00001d8a g F .text 00000022 TimeSliceOffset_Start -000017ac g F .text 0000005a WORK_VOLT_INT_Init -00006d1e g F .text 000000d4 _puts_r -000082a2 g F .text 00000034 _lseek_r -00001b8e g F .text 0000005c TIM3_Int_Init -00001ae8 g F .text 0000001a USARTx_SendByte -20000020 g O .data 00000032 g_slConfigInfo -0000434c g F .text 0000005a uart_dev_init -0000401e g F .text 00000050 Task_sensorEnableBroadcast -00001560 g F .text 00000052 SPI_Flash_Write_NoCheck -2000017d g O .data 00000001 run_Broadcast -00002366 g F .text 00000066 mppt_constantCurrentO -000009e2 g F .text 0000000a GPIO_ReadOutputDataBit -00006cde g F .text 00000040 printf -20000968 g .data 00000000 __global_pointer$ +00000aa8 g F .text 00000012 EXTI2_IRQHandler +00001dbe g F .text 00000028 _isatty_r +00000d22 g F .text 000000d4 _puts_r +00001de6 g F .text 0000002c _lseek_r +00000ce2 g F .text 00000040 printf +20000880 g .data 00000000 __global_pointer$ 00000148 g F .text 00000028 .hidden __riscv_save_8 -00000440 w .text 00000000 TIM1_CC_IRQHandler -000081a4 g F .text 00000030 __sseek -00001444 g F .text 0000004c SPI_Flash_Erase_Sector -00007324 g F .text 0000006c __sinit -00000ecc g F .text 00000004 SPI_I2S_SendData -00006f20 g F .text 000000bc __swbuf_r +00000434 w .text 00000000 TIM1_CC_IRQHandler +00001d08 g F .text 00000030 __sseek +00001202 g F .text 00000066 __sinit +00000e00 g F .text 000000bc __swbuf_r 0000024a g F .text 00000002 HardFault_Handler -000072de g F .text 00000046 __sfmoreglue -00008336 g F .text 00000002 __malloc_unlock -00001de4 g F .text 0000002c InRingQueue -00000440 w .text 00000000 USBPD_IRQHandler +000011bc g F .text 00000046 __sfmoreglue +00001e2c g F .text 00000002 __malloc_unlock +00000be2 g F .text 0000002c InRingQueue +00000434 w .text 00000000 USBPD_IRQHandler 00000194 g F .text 0000000c .hidden __riscv_restore_3 -00005d20 g F .text 000002b2 .hidden __divsf3 -00001c3c g F .text 00000058 TIM2_Int_Init -00001cde g F .text 0000000e SysTick_Handler -0000056c g F .text 0000000a ADC_StartCalibration -0000446c g F .text 00000018 uart_dev_char_present -00000ce8 g F .text 00000054 NVIC_Init -200001fe g O .bss 00000001 outputAgainFlag -00000440 w .text 00000000 PVD_IRQHandler -000082ee g F .text 00000046 memmove -000020e6 g F .text 00000044 get_PV1_VOLT_IN +00000b80 g F .text 0000000e SysTick_Handler +00000434 w .text 00000000 PVD_IRQHandler 00000180 g F .text 00000020 .hidden __riscv_restore_10 -00000ed0 g F .text 00000004 SPI_I2S_ReceiveData 00000248 g F .text 00000002 NMI_Handler -0000140e g F .text 0000000e SPI_Flash_Wait_Busy -0000675c g F .text 00000062 .hidden __fixsfsi -00000440 w .text 00000000 EXTI3_IRQHandler +00000434 w .text 00000000 EXTI3_IRQHandler 00000148 g F .text 00000028 .hidden __riscv_save_11 -00000880 g F .text 00000006 DBGMCU_GetCHIPID -00004bea g F .text 000000ae .hidden __gtdf2 -00003240 g F .text 000003d0 Task_RunLED -000011a8 g F .text 0000000a USART_GetFlagStatus -00008240 g F .text 00000032 _fstat_r -20001524 g O .bss 00000004 errno -000043da g F .text 00000018 gw485_tx_enabla -20000188 g .bss 00000000 _sbss +000004bc g F .text 00000006 DBGMCU_GetCHIPID +00000a62 g F .text 0000000a USART_GetFlagStatus +00001d94 g F .text 0000002a _fstat_r +200000cc g O .bss 00000004 errno +20000098 g .bss 00000000 _sbss 00000800 g *ABS* 00000000 __stack_size -00000656 g F .text 0000000a ADC_GetFlagStatus -00001e9c g F .text 0000005a USART_Printf_Init -000044ac g F .text 0000000e ring_queue_length -000084c8 g O .text 000001e2 mosTemperADC -000063d4 g F .text 00000388 .hidden __subsf3 -00000440 w .text 00000000 USBFS_IRQHandler +00000c2e g F .text 00000054 USART_Printf_Init +00000434 w .text 00000000 USBFS_IRQHandler 00000194 g F .text 0000000c .hidden __riscv_restore_2 -0000440a g F .text 00000062 uart_dev_write -00002300 g F .text 00000066 mppt_constantVoltageO -00000fe8 g F .text 00000016 TIM_CtrlPWMOutputs -00006c2c g F .text 000000b2 memcpy -0000054a g F .text 00000010 ADC_Cmd -000072d4 g F .text 0000000a _cleanup_r -000009fa g F .text 0000012c GPIO_PinRemapConfig -000077f4 g F .text 0000026a _svfprintf_r -00005944 g F .text 00000072 .hidden __floatsidf -00004c98 g F .text 000000b6 .hidden __ltdf2 -00000440 w .text 00000000 EXTI0_IRQHandler -00000440 w .text 00000000 I2C2_EV_IRQHandler -00000e62 g F .text 0000001e RCC_PB2PeriphResetCmd -00000440 w .text 00000000 LPTIM_IRQHandler -0000141c g F .text 00000028 SPI_FLASH_Write_Enable -000043a6 g F .text 0000001a bat485_tx_enabla -2000019c g O .bss 00000002 Calibrattion_Val -00000fd0 g F .text 00000018 TIM_Cmd -000013dc g F .text 00000032 SPI_Flash_ReadSR -00006df2 g F .text 0000000c puts -0000102a g F .text 00000016 TIM_OC4PreloadConfig -20000168 g O .data 00000004 SystemCoreClock -000011a0 g F .text 00000008 USART_ReceiveData -00007584 g F .text 0000000a malloc -000083e8 g F .text 00000010 _fstat -00002296 g F .text 0000006a mppt_constantVoltage +000011b2 g F .text 0000000a _cleanup_r +000005aa g F .text 0000012c GPIO_PinRemapConfig +00000434 w .text 00000000 EXTI0_IRQHandler +00000434 w .text 00000000 I2C2_EV_IRQHandler +00000434 w .text 00000000 LPTIM_IRQHandler +00000df6 g F .text 0000000a puts +20000080 g O .data 00000004 SystemCoreClock +00000a5a g F .text 00000008 USART_ReceiveData +00001e66 g F .text 0000000c _fstat 00000004 g .init 00000000 _einit -00001086 g F .text 0000000c TIM_ClearITPendingBit -00001056 g F .text 00000018 TIM_GetCounter -000060b4 g F .text 0000008c .hidden __lesf2 +00000976 g F .text 0000000c TIM_ClearITPendingBit 00000140 g F .text 00000030 .hidden __riscv_save_12 -00000918 g F .text 000000c0 GPIO_Init -00000d3c g F .text 00000014 RCC_ADCCLKConfig -00001d1e g F .text 0000003e TimeSliceOffset_Register -00000440 w .text 00000000 Break_Point_Handler -00002180 g F .text 00000012 save_config_info +000004ea g F .text 000000c0 GPIO_Init +00000434 w .text 00000000 Break_Point_Handler 00000180 g F .text 00000020 .hidden __riscv_restore_11 -2000020c g O .bss 00000004 g_bat485_uart3_handle -20000198 g O .bss 00000004 NVIC_Priority_Group -00000440 w .text 00000000 SPI1_IRQHandler -0000055a g F .text 0000000a ADC_ResetCalibration -0000114c g F .text 00000016 USART_Cmd -000080fe g F .text 00000032 _sbrk_r -2000018c g O .bss 00000004 CHIPID -00000440 w .text 00000000 TAMPER_IRQHandler +200000bc g O .bss 00000004 g_bat485_uart3_handle +200000a8 g O .bss 00000004 NVIC_Priority_Group +00000434 w .text 00000000 SPI1_IRQHandler +00000a3c g F .text 00000016 USART_Cmd +00001c6a g F .text 0000002a _sbrk_r +2000009c g O .bss 00000004 CHIPID +00000434 w .text 00000000 TAMPER_IRQHandler 00000170 g F .text 0000000c .hidden __riscv_save_1 -00002192 g F .text 00000086 read_config_info -0000201a g F .text 00000044 get_CHG_CURR -20000200 g O .bss 00000001 recvbroadcast_flag 00000194 g F .text 0000000c .hidden __riscv_restore_0 -00008390 g F .text 00000034 _read_r +00001e2e g F .text 0000002c _read_r 00000156 g F .text 0000001a .hidden __riscv_save_7 -200001ec g O .bss 00000001 g_impedanceStart -200001f4 g O .bss 00000001 g_recvBroadcastRegisterNumber -000069a8 g F .text 000000ac .hidden __extendsfdf2 -000044ba g F .text 00000730 .hidden __adddf3 -00005fd2 g F .text 0000005c .hidden __nesf2 -00000440 w .text 00000000 Ecall_M_Mode_Handler +00000434 w .text 00000000 Ecall_M_Mode_Handler 20004800 g .stack 00000000 _heap_end -000043c0 g F .text 0000001a bat485_tx_disenabla -000083f8 g F .text 00000010 _isatty -20000094 g O .data 00000038 g_RegTblR -20000184 g O .data 00000004 _global_impure_ptr +00001e72 g F .text 0000000c _isatty +20000090 g O .data 00000004 _global_impure_ptr 0000018a g F .text 00000016 .hidden __riscv_restore_5 -00008338 g F .text 00000058 _realloc_r -20000188 g O .bss 00000002 ADC_Trim -00000ed4 g F .text 0000000a SPI_I2S_GetFlagStatus -00000440 w .text 00000000 DMA1_Channel4_IRQHandler -00000596 g F .text 000000b8 ADC_RegularChannelConfig -00001f34 g F .text 0000002a _sbrk -0000068a g F .text 00000012 ADC_FIFO_Cmd -0000064e g F .text 00000008 ADC_GetConversionValue -00002bda g F .text 0000002c randomDelay -20000054 g O .data 0000000e defaultValue -00002218 g F .text 0000007e read_config_info1 -00001dd4 g F .text 00000010 InitRingQueue -00003662 g F .text 00000010 Task_usart -00001e36 g F .text 00000010 RingQueueLength -00002b9c g F .text 0000003e CheckFunc -00001710 g F .text 0000005a DSG_PROT_Init -00001382 g F .text 0000005a SPI_ReadWriteByte +20000098 g O .bss 00000002 ADC_Trim +00000434 w .text 00000000 DMA1_Channel4_IRQHandler +00000cbc g F .text 00000026 _sbrk 0000018a g F .text 00000016 .hidden __riscv_restore_6 -000023cc g F .text 000000f0 MpptContorl -00001b02 g F .text 00000046 USART3_IRQHandler -0000090e g F .text 0000000a EXTI_ClearITPendingBit -000020a2 g F .text 00000044 get_DSG_CURR -00000440 w .text 00000000 RTC_IRQHandler -00000576 g F .text 00000008 ADC_GetCalibrationStatus -20001528 g .bss 00000000 _ebss -000011b2 g F .text 0000003c USART_GetITStatus -0000406e g F .text 000001ca g_Mppt_Para_Init -00000440 w .text 00000000 DMA1_Channel7_IRQHandler -200001a0 g O .bss 00000001 USART3_Rbuffer -0000057e g F .text 00000018 ADC_SoftwareStartConvCmd -00000564 g F .text 00000008 ADC_GetResetCalibrationStatus -00000440 w .text 00000000 CAN1_RX1_IRQHandler -00003c22 g F .text 00000152 Task_impedanceCalculation -00001e46 g F .text 00000020 Delay_Init -00001490 g F .text 00000068 SPI_Flash_Read -00001e10 g F .text 00000026 OutRingQueue -00000e26 g F .text 0000001e RCC_PB2PeriphClockCmd -00000b52 g F .text 00000190 GPIO_IPD_Unused -0000602e g F .text 00000086 .hidden __gtsf2 -00000440 w .text 00000000 USBPDWakeUp_IRQHandler -000009ec g F .text 00000004 GPIO_SetBits -00000440 w .text 00000000 TIM4_IRQHandler -00004c98 g F .text 000000b6 .hidden __ledf2 -00001010 g F .text 0000001a TIM_ARRPreloadConfig +00000ac2 g F .text 00000042 USART3_IRQHandler +000004e0 g F .text 0000000a EXTI_ClearITPendingBit +00000434 w .text 00000000 RTC_IRQHandler +200000d0 g .bss 00000000 _ebss +00000a6c g F .text 0000003c USART_GetITStatus +00000434 w .text 00000000 DMA1_Channel7_IRQHandler +200000ac g O .bss 00000001 USART3_Rbuffer +00000434 w .text 00000000 CAN1_RX1_IRQHandler +00000c0e g F .text 00000020 Delay_Init +00000940 g F .text 0000001e RCC_PB2PeriphClockCmd +000006d6 g F .text 0000018e GPIO_IPD_Unused +00000434 w .text 00000000 USBPDWakeUp_IRQHandler +00000434 w .text 00000000 TIM4_IRQHandler 00000148 g F .text 00000028 .hidden __riscv_save_9 -000009f0 g F .text 0000000a GPIO_WriteBit -20001280 g O .bss 00000010 m_excessiveLoad -00008e24 g O .text 00000020 __sf_fake_stderr -0000183e g F .text 00000048 PWM_GPIO_Configuration +00001ec8 g O .text 00000020 __sf_fake_stderr 00000156 g F .text 0000001a .hidden __riscv_save_4 -00000440 w .text 00000000 I2C1_EV_IRQHandler -00001b48 g F .text 00000046 USART4_IRQHandler -00001978 g F .text 000000b2 GW_485_Init -00007710 g F .text 000000e4 __ssputs_r -0000106e g F .text 00000018 TIM_GetITStatus -00000d50 g F .text 000000d6 RCC_GetClocksFreq -00003ac6 g F .text 00000028 start_mpptWork -00000440 w .text 00000000 DMA1_Channel6_IRQHandler -00006bbe g F .text 0000006e .hidden __clzsi2 -00001dac g F .text 00000028 TimeSliceOffset_Produce -00007a86 g F .text 00000042 __sfputs_r -20000194 g O .bss 00000004 TS_Val -000082d6 g F .text 00000018 memchr -00003ed0 g F .text 0000006a Task_outputAgain -00001092 g F .text 000000ba USART_Init -0000758e g F .text 000000a8 _free_r -00001c12 g F .text 0000002a TIM3_IRQHandler -00000440 w .text 00000000 RCC_IRQHandler +00000434 w .text 00000000 I2C1_EV_IRQHandler +00000b04 g F .text 00000042 USART4_IRQHandler +0000095e g F .text 00000018 TIM_GetITStatus +0000086a g F .text 000000d6 RCC_GetClocksFreq +00000434 w .text 00000000 DMA1_Channel6_IRQHandler +00000bba g F .text 00000028 TimeSliceOffset_Produce +000015fa g F .text 00000040 __sfputs_r +200000a4 g O .bss 00000004 TS_Val +00001e12 g F .text 00000018 memchr +00000982 g F .text 000000ba USART_Init +00001456 g F .text 000000a8 _free_r +00000b46 g F .text 00000022 TIM3_IRQHandler +00000434 w .text 00000000 RCC_IRQHandler 00000170 g F .text 0000000c .hidden __riscv_save_3 -00000440 w .text 00000000 TIM1_TRG_COM_IRQHandler -00002776 g F .text 0000019e test -00000440 w .text 00000000 DMA1_Channel1_IRQHandler -00001670 g F .text 00000030 RUN_LED_Init +00000434 w .text 00000000 TIM1_TRG_COM_IRQHandler +00000434 w .text 00000000 DMA1_Channel1_IRQHandler 00000000 g .init 00000000 _start -200012e0 g O .bss 00000010 m_sensorEnableBroadcast -200012c0 g O .bss 00000010 m_refreshRegister -00006e56 g F .text 00000084 rand -00008408 g F .text 00000010 _lseek -200001cc g O .bss 00000001 RegistrationRequestFlag -200001e6 g O .bss 00000001 g_batteryState -00006814 g F .text 000000c6 .hidden __floatsisf -00000e44 g F .text 0000001e RCC_PB1PeriphClockCmd -00001806 g F .text 00000038 EXTI15_10_IRQHandler -00000ffe g F .text 00000012 TIM_ITConfig -00000440 w .text 00000000 ADC_IRQHandler -00001162 g F .text 00000036 USART_ITConfig -00000886 g F .text 0000006a EXTI_Init -20000190 g O .bss 00000004 OPA_Trim -00005fd2 g F .text 0000005c .hidden __eqsf2 -00000440 w .text 00000000 DMA1_Channel8_IRQHandler -20000174 g O .data 00000004 g_duty_ratio -00008210 g F .text 00000030 _close_r +00001e7e g F .text 0000000c _lseek +00000aba g F .text 00000008 EXTI15_10_IRQHandler +00000434 w .text 00000000 ADC_IRQHandler +200000a0 g O .bss 00000004 OPA_Trim +00000434 w .text 00000000 DMA1_Channel8_IRQHandler +00001d6c g F .text 00000028 _close_r 20000000 g .dalign 00000000 _data_vma -00003f3a g F .text 000000e4 Task_excessiveLoad -000016d2 g F .text 0000003e POW_OUT_CON_Init -000042d0 g F .text 00000036 hardware_Init -00000f54 g F .text 0000007c TIM_OC4Init -00006fdc g F .text 000000fc __swsetup_r -00000440 w .text 00000000 EXTI9_5_IRQHandler -00007390 g F .text 000000a0 __sfp -200012d0 g O .bss 00000010 m_runled -00000b26 g F .text 0000002c GPIO_EXTILineConfig -00004d4e g F .text 000004b8 .hidden __muldf3 +00000ebc g F .text 000000fc __swsetup_r +00000434 w .text 00000000 EXTI9_5_IRQHandler +00001268 g F .text 0000009c __sfp 00000148 g F .text 00000028 .hidden __riscv_save_10 -00008130 g F .text 0000002c __sread -200000cc g O .data 00000038 uart_devices -00008334 g F .text 00000002 __malloc_lock +00001c94 g F .text 0000002c __sread +00001e2a g F .text 00000002 __malloc_lock 0000018a g F .text 00000016 .hidden __riscv_restore_4 -0000205e g F .text 00000044 get_PV_VOLT_OUT 00000180 g F .text 00000020 .hidden __riscv_restore_8 -00001f5e g F .text 0000002a Get_ConversionVal -00007208 g F .text 00000066 _fflush_r +000010e8 g F .text 00000064 _fflush_r 00000156 g F .text 0000001a .hidden __riscv_save_6 -000008f0 g F .text 0000001e EXTI_GetITStatus -00000440 w .text 00000000 SPI2_IRQHandler -00008e44 g O .text 00000020 __sf_fake_stdin -200001ff g O .bss 00000001 overTemperature +000004c2 g F .text 0000001e EXTI_GetITStatus +00000434 w .text 00000000 SPI2_IRQHandler +00001ee8 g O .text 00000020 __sf_fake_stdin 000001a0 g F .text 000000a8 memset 00000180 g F .text 00000020 .hidden __riscv_restore_9 0000018a g F .text 00000016 .hidden __riscv_restore_7 -0000024c g F .text 0000004a main -00001bea g F .text 00000028 TIM3_Init -00006dfe g F .text 00000058 srand -000043f2 g F .text 00000018 gw485_tx_disenabla -000060b4 g F .text 0000008c .hidden __ltsf2 -000081d4 g F .text 00000006 __sclose -00006a54 g F .text 0000016a .hidden __truncdfsf2 -200012a0 g O .bss 00000010 m_outputAgain -00007636 g F .text 000000da _malloc_r -00003672 g F .text 000000e8 Task_startMpptControl -000006ac g F .text 000001d4 Get_CalibrationValue -00000440 w .text 00000000 DMA1_Channel5_IRQHandler -20001310 g O .bss 00000010 m_usart -00000440 w .text 00000000 EXTI4_IRQHandler -00003aee g F .text 00000134 Task_softStart -00001e66 g F .text 00000036 Delay_Ms -00000440 w .text 00000000 USB_LP_CAN1_RX0_IRQHandler -00006140 g F .text 00000294 .hidden __mulsf3 -00001040 g F .text 00000016 TIM_SetCompare4 -00000660 g F .text 00000018 ADC_BufferCmd -00000eb2 g F .text 0000001a SPI_Cmd -00000296 g F .text 00000106 SystemInit -00000678 g F .text 00000012 ADC_DutyDelayCmd -000014f8 g F .text 00000068 SPI_Flash_Write_Page -00006cde g F .text 00000040 iprintf -00002f50 g F .text 000002f0 read_and_process_uart_data -200001a4 g O .bss 00000001 USART4_Rbuffer -00000440 w .text 00000000 USB_HP_CAN1_TX_IRQHandler -20001290 g O .bss 00000010 m_impedanceCalculation -00006eda g F .text 00000046 sprintf -00008d24 g O .text 00000100 .hidden __clz_tab +0000024c g F .text 00000040 main +00001d38 g F .text 00000006 __sclose +000014fe g F .text 000000d4 _malloc_r +00000434 w .text 00000000 DMA1_Channel5_IRQHandler +00000434 w .text 00000000 EXTI4_IRQHandler +00000434 w .text 00000000 USB_LP_CAN1_RX0_IRQHandler +0000028c g F .text 00000104 SystemInit +00000ce2 g F .text 00000040 iprintf +200000b0 g O .bss 00000001 USART4_Rbuffer +00000434 w .text 00000000 USB_HP_CAN1_TX_IRQHandler 00000000 g .init 00000000 _sinit -00000440 w .text 00000000 CMPWakeUp_IRQHandler -0000602e g F .text 00000086 .hidden __gesf2 -000081da g F .text 00000036 _write_r -00000440 w .text 00000000 DMA1_Channel3_IRQHandler -00007d50 g F .text 0000010c _printf_common -20000180 g O .data 00000004 _impure_ptr -00003d74 g F .text 0000015c Task_recvbroadcast -00001cec g F .text 00000032 TIM1_UP_IRQHandler -000070d8 g F .text 00000130 __sflush_r -00000440 w .text 00000000 LPTIMWakeUp_IRQHandler -000077f4 g F .text 0000026a _svfiprintf_r -00000440 w .text 00000000 WWDG_IRQHandler -200012f0 g O .bss 00000010 m_softStart -00001d5c g F .text 0000002e TimeSliceOffset_Unregister -00000440 w .text 00000000 Ecall_U_Mode_Handler -00004238 g F .text 00000098 task_Init -0000378a g F .text 0000033c Task_refreshRegister -20000064 g O .data 00000030 g_MsgTbl -0000069c g F .text 00000010 ADC_Sample_ModeConfig -00001cc2 g F .text 0000001c TIM2_IRQHandler +00000434 w .text 00000000 CMPWakeUp_IRQHandler +00001d3e g F .text 0000002e _write_r +00000434 w .text 00000000 DMA1_Channel3_IRQHandler +000018be g F .text 0000010c _printf_common +2000008c g O .data 00000004 _impure_ptr +00000b8e g F .text 0000002c TIM1_UP_IRQHandler +00000fb8 g F .text 00000130 __sflush_r +00000434 w .text 00000000 LPTIMWakeUp_IRQHandler +00000434 w .text 00000000 WWDG_IRQHandler +00000434 w .text 00000000 Ecall_U_Mode_Handler +00000b68 g F .text 00000018 TIM2_IRQHandler 20005000 g .stack 00000000 _eusrstack -00003610 g F .text 00000052 Task_wdi 00000170 g F .text 0000000c .hidden __riscv_save_2 -00000440 w .text 00000000 SW_Handler -200001e8 g O .bss 00000004 g_impedance -000004cc g F .text 00000028 ADC_DeInit -00000440 w .text 00000000 TIM1_BRK_IRQHandler -0000749a g F .text 00000058 __swhatbuf_r -000004f4 g F .text 00000056 ADC_Init -00001198 g F .text 00000008 USART_SendData -00000440 w .text 00000000 OPA_IRQHandler -00002c06 g F .text 0000007a Check_485_bus_busy -200012b0 g O .bss 00000010 m_recvbroadcast -00000440 w .text 00000000 EXTI1_IRQHandler +00000434 w .text 00000000 SW_Handler +00000434 w .text 00000000 TIM1_BRK_IRQHandler +0000136e g F .text 00000058 __swhatbuf_r +00000a52 g F .text 00000008 USART_SendData +00000434 w .text 00000000 OPA_IRQHandler +00000434 w .text 00000000 EXTI1_IRQHandler 00000156 g F .text 0000001a .hidden __riscv_save_5 -00001ef6 g F .text 0000003e _write -20000188 g .data 00000000 _edata -20001528 g .bss 00000000 _end -00000ede g F .text 00000076 TIM_TimeBaseInit -00000440 w .text 00000000 RTCAlarm_IRQHandler -00008ec0 g .dlalign 00000000 _data_lma -000024bc g F .text 000002ba MpptMode -00000440 w .text 00000000 USART2_IRQHandler -0000815c g F .text 00000048 __swrite -00001a2a g F .text 000000be BAT_485_Init -000015b2 g F .text 000000be SPI_Flash_Write -00007ac8 g F .text 00000288 _vfiprintf_r -00007430 g F .text 0000006a _fwalk_reent -0000039c g F .text 000000a4 SystemCoreClockUpdate -000068da g F .text 000000ce .hidden __floatunsisf -000016a0 g F .text 00000032 WDI_INPUT_Init -2000021c g O .bss 00001000 SPI_FLASH_BUF -00000440 w .text 00000000 I2C2_ER_IRQHandler -00000440 w .text 00000000 DMA1_Channel2_IRQHandler -00001886 g F .text 0000006c PWM_TIM_Configuration -00008e64 g O .text 00000020 __sf_fake_stdout -00006eda g F .text 00000046 siprintf +00000c82 g F .text 0000003a _write +20000098 g .data 00000000 _edata +200000d0 g .bss 00000000 _end +00000434 w .text 00000000 RTCAlarm_IRQHandler +00001f64 g .dlalign 00000000 _data_lma +00000434 w .text 00000000 USART2_IRQHandler +00001cc0 g F .text 00000048 __swrite +0000163a g F .text 00000284 _vfiprintf_r +00001304 g F .text 0000006a _fwalk_reent +00000390 g F .text 000000a4 SystemCoreClockUpdate +00000434 w .text 00000000 I2C2_ER_IRQHandler +00000434 w .text 00000000 DMA1_Channel2_IRQHandler +00001f08 g O .text 00000020 __sf_fake_stdout 20000000 g O .data 00000010 HBPrescTable 0000017c g F .text 00000024 .hidden __riscv_restore_12 -00008418 g F .text 00000010 _read -00000442 w .text 00000000 handle_reset -00000440 w .text 00000000 CAN1_SCE_IRQHandler -000067be g F .text 00000056 .hidden __fixunssfsi -00000440 w .text 00000000 FLASH_IRQHandler +00001e8a g F .text 0000000c _read +00000436 w .text 00000000 handle_reset +00000434 w .text 00000000 CAN1_SCE_IRQHandler +00000434 w .text 00000000 FLASH_IRQHandler 00000170 g F .text 0000000c .hidden __riscv_save_0 -20001320 g O .bss 00000010 m_wdi -00000440 w .text 00000000 USBFSWakeUp_IRQHandler -200001f0 g O .bss 00000004 g_recvBroadcastDevice -00001c94 g F .text 0000002e TIM2_Init -00000440 w .text 00000000 USART1_IRQHandler -000074f2 g F .text 00000092 __smakebuf_r -00007e5c g F .text 000002a2 _printf_i -2000121c g O .bss 0000002d g_Mppt_Para -00004bea g F .text 000000ae .hidden __gedf2 -20000218 g O .bss 00000004 __malloc_sbrk_start -00000440 w .text 00000000 I2C1_ER_IRQHandler -000012de g F .text 000000a4 SPI_Flash_Init -00000e80 g F .text 00000032 SPI_Init -00000ce2 g F .text 00000006 NVIC_PriorityGroupConfig -20001300 g O .bss 00000010 m_startMpptControl -000011ee g F .text 000000f0 ADC_all_Init -0000375a g F .text 00000030 stop_mpptWork -000018f2 g F .text 00000086 Set_duty_ratio -00000440 w .text 00000000 TKeyWakeUp_IRQHandler -20000214 g O .bss 00000004 __malloc_free_list +00000434 w .text 00000000 USBFSWakeUp_IRQHandler +00000434 w .text 00000000 USART1_IRQHandler +000013c6 g F .text 00000090 __smakebuf_r +000019ca g F .text 000002a0 _printf_i +200000c8 g O .bss 00000004 __malloc_sbrk_start +00000434 w .text 00000000 I2C1_ER_IRQHandler +00000864 g F .text 00000006 NVIC_PriorityGroupConfig +00000434 w .text 00000000 TKeyWakeUp_IRQHandler +200000c4 g O .bss 00000004 __malloc_free_list 00000194 g F .text 0000000c .hidden __riscv_restore_1 -20000210 g O .bss 00000004 g_gw485_uart4_handle -00005206 g F .text 0000073e .hidden __subdf3 -00007ac8 g F .text 00000288 _vfprintf_r -000009d8 g F .text 0000000a GPIO_ReadInputDataBit -000059b6 g F .text 0000036a .hidden __addsf3 -0000212a g F .text 00000056 get_MOSFET_Temper -000083d8 g F .text 00000010 _close -00004484 g F .text 00000028 uart_dev_in_char +200000c0 g O .bss 00000004 g_gw485_uart4_handle +0000163a g F .text 00000284 _vfprintf_r +00001e5a g F .text 0000000c _close Disassembly of section .init: 00000000 <_sinit>: - 0: 4420006f j 442 + 0: 4360006f j 436 Disassembly of section .vector: @@ -611,127 +338,127 @@ Disassembly of section .vector: 12: 0000 unimp 14: 0000 unimp 16: 0000 unimp - 18: 0440 addi s0,sp,516 + 18: 0434 addi a3,sp,520 ... 22: 0000 unimp - 24: 0440 addi s0,sp,516 + 24: 0434 addi a3,sp,520 26: 0000 unimp - 28: 0440 addi s0,sp,516 + 28: 0434 addi a3,sp,520 ... 32: 0000 unimp - 34: 1cde slli s9,s9,0x37 + 34: 0b80 addi s0,sp,464 36: 0000 unimp 38: 0000 unimp 3a: 0000 unimp - 3c: 0440 addi s0,sp,516 + 3c: 0434 addi a3,sp,520 3e: 0000 unimp 40: 0000 unimp 42: 0000 unimp - 44: 0440 addi s0,sp,516 + 44: 0434 addi a3,sp,520 46: 0000 unimp - 48: 0440 addi s0,sp,516 + 48: 0434 addi a3,sp,520 4a: 0000 unimp - 4c: 0440 addi s0,sp,516 + 4c: 0434 addi a3,sp,520 4e: 0000 unimp - 50: 0440 addi s0,sp,516 + 50: 0434 addi a3,sp,520 52: 0000 unimp - 54: 0440 addi s0,sp,516 + 54: 0434 addi a3,sp,520 56: 0000 unimp - 58: 0440 addi s0,sp,516 + 58: 0434 addi a3,sp,520 5a: 0000 unimp - 5c: 0440 addi s0,sp,516 + 5c: 0434 addi a3,sp,520 5e: 0000 unimp - 60: 0440 addi s0,sp,516 + 60: 0434 addi a3,sp,520 62: 0000 unimp - 64: 176a slli a4,a4,0x3a + 64: 0aa8 addi a0,sp,344 66: 0000 unimp - 68: 0440 addi s0,sp,516 + 68: 0434 addi a3,sp,520 6a: 0000 unimp - 6c: 0440 addi s0,sp,516 + 6c: 0434 addi a3,sp,520 6e: 0000 unimp - 70: 0440 addi s0,sp,516 + 70: 0434 addi a3,sp,520 72: 0000 unimp - 74: 0440 addi s0,sp,516 + 74: 0434 addi a3,sp,520 76: 0000 unimp - 78: 0440 addi s0,sp,516 + 78: 0434 addi a3,sp,520 7a: 0000 unimp - 7c: 0440 addi s0,sp,516 + 7c: 0434 addi a3,sp,520 7e: 0000 unimp - 80: 0440 addi s0,sp,516 + 80: 0434 addi a3,sp,520 82: 0000 unimp - 84: 0440 addi s0,sp,516 + 84: 0434 addi a3,sp,520 86: 0000 unimp - 88: 0440 addi s0,sp,516 + 88: 0434 addi a3,sp,520 8a: 0000 unimp - 8c: 0440 addi s0,sp,516 + 8c: 0434 addi a3,sp,520 8e: 0000 unimp - 90: 0440 addi s0,sp,516 + 90: 0434 addi a3,sp,520 92: 0000 unimp - 94: 0440 addi s0,sp,516 + 94: 0434 addi a3,sp,520 96: 0000 unimp - 98: 0440 addi s0,sp,516 + 98: 0434 addi a3,sp,520 9a: 0000 unimp - 9c: 0440 addi s0,sp,516 + 9c: 0434 addi a3,sp,520 9e: 0000 unimp - a0: 0440 addi s0,sp,516 + a0: 0434 addi a3,sp,520 a2: 0000 unimp - a4: 0440 addi s0,sp,516 + a4: 0434 addi a3,sp,520 a6: 0000 unimp - a8: 1cec addi a1,sp,636 + a8: 0b8e slli s7,s7,0x3 aa: 0000 unimp - ac: 0440 addi s0,sp,516 + ac: 0434 addi a3,sp,520 ae: 0000 unimp - b0: 0440 addi s0,sp,516 + b0: 0434 addi a3,sp,520 b2: 0000 unimp - b4: 1cc2 slli s9,s9,0x30 + b4: 0b68 addi a0,sp,412 b6: 0000 unimp - b8: 1c12 slli s8,s8,0x24 + b8: 0b46 slli s6,s6,0x11 ba: 0000 unimp - bc: 0440 addi s0,sp,516 + bc: 0434 addi a3,sp,520 be: 0000 unimp - c0: 0440 addi s0,sp,516 + c0: 0434 addi a3,sp,520 c2: 0000 unimp - c4: 0440 addi s0,sp,516 + c4: 0434 addi a3,sp,520 c6: 0000 unimp - c8: 0440 addi s0,sp,516 + c8: 0434 addi a3,sp,520 ca: 0000 unimp - cc: 0440 addi s0,sp,516 + cc: 0434 addi a3,sp,520 ce: 0000 unimp - d0: 0440 addi s0,sp,516 + d0: 0434 addi a3,sp,520 d2: 0000 unimp - d4: 0440 addi s0,sp,516 + d4: 0434 addi a3,sp,520 d6: 0000 unimp - d8: 0440 addi s0,sp,516 + d8: 0434 addi a3,sp,520 da: 0000 unimp - dc: 0440 addi s0,sp,516 + dc: 0434 addi a3,sp,520 de: 0000 unimp - e0: 1b02 slli s6,s6,0x20 + e0: 0ac2 slli s5,s5,0x10 e2: 0000 unimp - e4: 1806 slli a6,a6,0x21 + e4: 0aba slli s5,s5,0xe e6: 0000 unimp - e8: 0440 addi s0,sp,516 + e8: 0434 addi a3,sp,520 ea: 0000 unimp - ec: 0440 addi s0,sp,516 + ec: 0434 addi a3,sp,520 ee: 0000 unimp - f0: 0440 addi s0,sp,516 + f0: 0434 addi a3,sp,520 f2: 0000 unimp - f4: 0440 addi s0,sp,516 + f4: 0434 addi a3,sp,520 f6: 0000 unimp - f8: 1b48 addi a0,sp,436 + f8: 0b04 addi s1,sp,400 fa: 0000 unimp - fc: 0440 addi s0,sp,516 + fc: 0434 addi a3,sp,520 fe: 0000 unimp - 100: 0440 addi s0,sp,516 + 100: 0434 addi a3,sp,520 102: 0000 unimp - 104: 0440 addi s0,sp,516 + 104: 0434 addi a3,sp,520 106: 0000 unimp - 108: 0440 addi s0,sp,516 + 108: 0434 addi a3,sp,520 10a: 0000 unimp - 10c: 0440 addi s0,sp,516 + 10c: 0434 addi a3,sp,520 10e: 0000 unimp - 110: 0440 addi s0,sp,516 + 110: 0434 addi a3,sp,520 112: 0000 unimp - 114: 0440 addi s0,sp,516 + 114: 0434 addi a3,sp,520 ... Disassembly of section .text: @@ -865,12072 +592,2940 @@ Disassembly of section .text: 0000024c

: 24c: f25ff2ef jal t0,170 <__riscv_save_0> 250: 4505 li a0,1 - 252: 291000ef jal ra,ce2 - 256: 2299 jal 39c - 258: 3ef010ef jal ra,1e46 - 25c: 6571 lui a0,0x1c - 25e: 20050513 addi a0,a0,512 # 1c200 <_data_lma+0x13340> - 262: 43b010ef jal ra,1e9c - 266: 200007b7 lui a5,0x20000 - 26a: 1687a583 lw a1,360(a5) # 20000168 - 26e: 00008537 lui a0,0x8 - 272: 42850513 addi a0,a0,1064 # 8428 <_read+0x10> - 276: 269060ef jal ra,6cde - 27a: 2519 jal 880 - 27c: 85aa mv a1,a0 - 27e: 00008537 lui a0,0x8 - 282: 43850513 addi a0,a0,1080 # 8438 <_read+0x20> - 286: 259060ef jal ra,6cde - 28a: 046040ef jal ra,42d0 - 28e: 7ab030ef jal ra,4238 - 292: 4501 li a0,0 - 294: b701 j 194 <__riscv_restore_0> + 252: 2d09 jal 864 + 254: 2a35 jal 390 + 256: 1b9000ef jal ra,c0e + 25a: 6571 lui a0,0x1c + 25c: 20050513 addi a0,a0,512 # 1c200 <_data_lma+0x1a29c> + 260: 1cf000ef jal ra,c2e + 264: 200007b7 lui a5,0x20000 + 268: 0807a583 lw a1,128(a5) # 20000080 + 26c: 00002537 lui a0,0x2 + 270: e9850513 addi a0,a0,-360 # 1e98 <_read+0xe> + 274: 26f000ef jal ra,ce2 + 278: 2491 jal 4bc + 27a: 85aa mv a1,a0 + 27c: 00002537 lui a0,0x2 + 280: ea850513 addi a0,a0,-344 # 1ea8 <_read+0x1e> + 284: 25f000ef jal ra,ce2 + 288: 4501 li a0,0 + 28a: b729 j 194 <__riscv_restore_0> -00000296 : - 296: edbff2ef jal t0,170 <__riscv_save_0> - 29a: 40021437 lui s0,0x40021 - 29e: 401c lw a5,0(s0) - 2a0: 08ff0737 lui a4,0x8ff0 - 2a4: 1141 addi sp,sp,-16 - 2a6: 0017e793 ori a5,a5,1 - 2aa: c01c sw a5,0(s0) - 2ac: 405c lw a5,4(s0) - 2ae: 8ff9 and a5,a5,a4 - 2b0: c05c sw a5,4(s0) - 2b2: 401c lw a5,0(s0) - 2b4: fef70737 lui a4,0xfef70 - 2b8: 176d addi a4,a4,-5 - 2ba: 8ff9 and a5,a5,a4 - 2bc: c01c sw a5,0(s0) - 2be: 401c lw a5,0(s0) - 2c0: fffc0737 lui a4,0xfffc0 - 2c4: 177d addi a4,a4,-1 - 2c6: 8ff9 and a5,a5,a4 - 2c8: c01c sw a5,0(s0) - 2ca: 405c lw a5,4(s0) - 2cc: ff010737 lui a4,0xff010 - 2d0: 177d addi a4,a4,-1 - 2d2: 8ff9 and a5,a5,a4 - 2d4: c05c sw a5,4(s0) - 2d6: 009f07b7 lui a5,0x9f0 - 2da: c41c sw a5,8(s0) - 2dc: 077000ef jal ra,b52 - 2e0: c402 sw zero,8(sp) - 2e2: c602 sw zero,12(sp) - 2e4: 400227b7 lui a5,0x40022 - 2e8: 4705 li a4,1 - 2ea: c398 sw a4,0(a5) - 2ec: 401c lw a5,0(s0) - 2ee: 6741 lui a4,0x10 - 2f0: 400216b7 lui a3,0x40021 - 2f4: 8fd9 or a5,a5,a4 - 2f6: c01c sw a5,0(s0) - 2f8: 00020637 lui a2,0x20 - 2fc: 6705 lui a4,0x1 - 2fe: 429c lw a5,0(a3) - 300: 8ff1 and a5,a5,a2 - 302: c63e sw a5,12(sp) - 304: 47a2 lw a5,8(sp) - 306: 0785 addi a5,a5,1 - 308: c43e sw a5,8(sp) - 30a: 47b2 lw a5,12(sp) - 30c: e781 bnez a5,314 - 30e: 47a2 lw a5,8(sp) - 310: fee797e3 bne a5,a4,2fe - 314: 400217b7 lui a5,0x40021 - 318: 439c lw a5,0(a5) - 31a: 00e79713 slli a4,a5,0xe - 31e: 06075763 bgez a4,38c - 322: 4785 li a5,1 - 324: c63e sw a5,12(sp) - 326: 4732 lw a4,12(sp) - 328: 4785 li a5,1 - 32a: 06f71363 bne a4,a5,390 - 32e: 400217b7 lui a5,0x40021 - 332: 43d8 lw a4,4(a5) - 334: ffc106b7 lui a3,0xffc10 - 338: 16fd addi a3,a3,-1 +0000028c : + 28c: ee5ff2ef jal t0,170 <__riscv_save_0> + 290: 40021437 lui s0,0x40021 + 294: 401c lw a5,0(s0) + 296: 08ff0737 lui a4,0x8ff0 + 29a: 1141 addi sp,sp,-16 + 29c: 0017e793 ori a5,a5,1 + 2a0: c01c sw a5,0(s0) + 2a2: 405c lw a5,4(s0) + 2a4: 8ff9 and a5,a5,a4 + 2a6: c05c sw a5,4(s0) + 2a8: 401c lw a5,0(s0) + 2aa: fef70737 lui a4,0xfef70 + 2ae: 176d addi a4,a4,-5 + 2b0: 8ff9 and a5,a5,a4 + 2b2: c01c sw a5,0(s0) + 2b4: 401c lw a5,0(s0) + 2b6: fffc0737 lui a4,0xfffc0 + 2ba: 177d addi a4,a4,-1 + 2bc: 8ff9 and a5,a5,a4 + 2be: c01c sw a5,0(s0) + 2c0: 405c lw a5,4(s0) + 2c2: ff010737 lui a4,0xff010 + 2c6: 177d addi a4,a4,-1 + 2c8: 8ff9 and a5,a5,a4 + 2ca: c05c sw a5,4(s0) + 2cc: 009f07b7 lui a5,0x9f0 + 2d0: c41c sw a5,8(s0) + 2d2: 2111 jal 6d6 + 2d4: c402 sw zero,8(sp) + 2d6: c602 sw zero,12(sp) + 2d8: 400227b7 lui a5,0x40022 + 2dc: 4705 li a4,1 + 2de: c398 sw a4,0(a5) + 2e0: 401c lw a5,0(s0) + 2e2: 6741 lui a4,0x10 + 2e4: 400216b7 lui a3,0x40021 + 2e8: 8fd9 or a5,a5,a4 + 2ea: c01c sw a5,0(s0) + 2ec: 00020637 lui a2,0x20 + 2f0: 6705 lui a4,0x1 + 2f2: 429c lw a5,0(a3) + 2f4: 8ff1 and a5,a5,a2 + 2f6: c63e sw a5,12(sp) + 2f8: 47a2 lw a5,8(sp) + 2fa: 0785 addi a5,a5,1 + 2fc: c43e sw a5,8(sp) + 2fe: 47b2 lw a5,12(sp) + 300: e781 bnez a5,308 + 302: 47a2 lw a5,8(sp) + 304: fee797e3 bne a5,a4,2f2 + 308: 400217b7 lui a5,0x40021 + 30c: 439c lw a5,0(a5) + 30e: 00e79713 slli a4,a5,0xe + 312: 06075763 bgez a4,380 + 316: 4785 li a5,1 + 318: c63e sw a5,12(sp) + 31a: 4732 lw a4,12(sp) + 31c: 4785 li a5,1 + 31e: 06f71363 bne a4,a5,384 + 322: 400217b7 lui a5,0x40021 + 326: 43d8 lw a4,4(a5) + 328: ffc106b7 lui a3,0xffc10 + 32c: 16fd addi a3,a3,-1 + 32e: c3d8 sw a4,4(a5) + 330: 43d8 lw a4,4(a5) + 332: c3d8 sw a4,4(a5) + 334: 43d8 lw a4,4(a5) + 336: 40076713 ori a4,a4,1024 33a: c3d8 sw a4,4(a5) 33c: 43d8 lw a4,4(a5) - 33e: c3d8 sw a4,4(a5) - 340: 43d8 lw a4,4(a5) - 342: 40076713 ori a4,a4,1024 - 346: c3d8 sw a4,4(a5) - 348: 43d8 lw a4,4(a5) - 34a: 8f75 and a4,a4,a3 - 34c: c3d8 sw a4,4(a5) - 34e: 43d8 lw a4,4(a5) - 350: 001106b7 lui a3,0x110 - 354: 8f55 or a4,a4,a3 - 356: c3d8 sw a4,4(a5) - 358: 4398 lw a4,0(a5) - 35a: 010006b7 lui a3,0x1000 - 35e: 8f55 or a4,a4,a3 - 360: c398 sw a4,0(a5) - 362: 4398 lw a4,0(a5) - 364: 00671693 slli a3,a4,0x6 - 368: fe06dde3 bgez a3,362 - 36c: 43d8 lw a4,4(a5) - 36e: 400216b7 lui a3,0x40021 - 372: 9b71 andi a4,a4,-4 - 374: c3d8 sw a4,4(a5) - 376: 43d8 lw a4,4(a5) - 378: 00276713 ori a4,a4,2 - 37c: c3d8 sw a4,4(a5) - 37e: 4721 li a4,8 - 380: 42dc lw a5,4(a3) - 382: 8bb1 andi a5,a5,12 - 384: fee79ee3 bne a5,a4,380 - 388: 0141 addi sp,sp,16 - 38a: b529 j 194 <__riscv_restore_0> - 38c: c602 sw zero,12(sp) - 38e: bf61 j 326 - 390: 40022737 lui a4,0x40022 - 394: 431c lw a5,0(a4) - 396: 9bf1 andi a5,a5,-4 - 398: c31c sw a5,0(a4) - 39a: b7fd j 388 + 33e: 8f75 and a4,a4,a3 + 340: c3d8 sw a4,4(a5) + 342: 43d8 lw a4,4(a5) + 344: 001106b7 lui a3,0x110 + 348: 8f55 or a4,a4,a3 + 34a: c3d8 sw a4,4(a5) + 34c: 4398 lw a4,0(a5) + 34e: 010006b7 lui a3,0x1000 + 352: 8f55 or a4,a4,a3 + 354: c398 sw a4,0(a5) + 356: 4398 lw a4,0(a5) + 358: 00671693 slli a3,a4,0x6 + 35c: fe06dde3 bgez a3,356 + 360: 43d8 lw a4,4(a5) + 362: 400216b7 lui a3,0x40021 + 366: 9b71 andi a4,a4,-4 + 368: c3d8 sw a4,4(a5) + 36a: 43d8 lw a4,4(a5) + 36c: 00276713 ori a4,a4,2 + 370: c3d8 sw a4,4(a5) + 372: 4721 li a4,8 + 374: 42dc lw a5,4(a3) + 376: 8bb1 andi a5,a5,12 + 378: fee79ee3 bne a5,a4,374 + 37c: 0141 addi sp,sp,16 + 37e: bd19 j 194 <__riscv_restore_0> + 380: c602 sw zero,12(sp) + 382: bf61 j 31a + 384: 40022737 lui a4,0x40022 + 388: 431c lw a5,0(a4) + 38a: 9bf1 andi a5,a5,-4 + 38c: c31c sw a5,0(a4) + 38e: b7fd j 37c -0000039c : - 39c: 400216b7 lui a3,0x40021 - 3a0: 42dc lw a5,4(a3) - 3a2: 20000737 lui a4,0x20000 - 3a6: 4611 li a2,4 - 3a8: 8bb1 andi a5,a5,12 - 3aa: 16870713 addi a4,a4,360 # 20000168 - 3ae: 02c78f63 beq a5,a2,3ec - 3b2: 4621 li a2,8 - 3b4: 04c78163 beq a5,a2,3f6 - 3b8: eb95 bnez a5,3ec - 3ba: 429c lw a5,0(a3) - 3bc: 8b91 andi a5,a5,4 - 3be: c79d beqz a5,3ec - 3c0: 000f47b7 lui a5,0xf4 - 3c4: 24078793 addi a5,a5,576 # f4240 <_data_lma+0xeb380> - 3c8: c31c sw a5,0(a4) - 3ca: 400217b7 lui a5,0x40021 - 3ce: 43dc lw a5,4(a5) - 3d0: 8391 srli a5,a5,0x4 - 3d2: 00f7f693 andi a3,a5,15 - 3d6: 200007b7 lui a5,0x20000 - 3da: 00078793 mv a5,a5 - 3de: 97b6 add a5,a5,a3 - 3e0: 2394 lbu a3,0(a5) - 3e2: 431c lw a5,0(a4) - 3e4: 00d7d7b3 srl a5,a5,a3 - 3e8: c31c sw a5,0(a4) - 3ea: 8082 ret - 3ec: 007a17b7 lui a5,0x7a1 - 3f0: 20078793 addi a5,a5,512 # 7a1200 <_data_lma+0x798340> - 3f4: bfd1 j 3c8 - 3f6: 42dc lw a5,4(a3) - 3f8: 42d4 lw a3,4(a3) - 3fa: 6641 lui a2,0x10 - 3fc: 83c9 srli a5,a5,0x12 - 3fe: 8bbd andi a5,a5,15 - 400: 8ef1 and a3,a3,a2 - 402: 0789 addi a5,a5,2 - 404: 4645 li a2,17 - 406: 00c79363 bne a5,a2,40c - 40a: 47c9 li a5,18 - 40c: ee81 bnez a3,424 - 40e: 400246b7 lui a3,0x40024 - 412: 8006a683 lw a3,-2048(a3) # 40023800 <_eusrstack+0x2001e800> - 416: 8ac1 andi a3,a3,16 - 418: ce89 beqz a3,432 - 41a: 007a16b7 lui a3,0x7a1 - 41e: 20068693 addi a3,a3,512 # 7a1200 <_data_lma+0x798340> - 422: a821 j 43a - 424: 400216b7 lui a3,0x40021 - 428: 42d4 lw a3,4(a3) - 42a: 00e69613 slli a2,a3,0xe - 42e: fe0656e3 bgez a2,41a - 432: 003d16b7 lui a3,0x3d1 - 436: 90068693 addi a3,a3,-1792 # 3d0900 <_data_lma+0x3c7a40> - 43a: 02d787b3 mul a5,a5,a3 - 43e: b769 j 3c8 +00000390 : + 390: 400216b7 lui a3,0x40021 + 394: 42dc lw a5,4(a3) + 396: 20000737 lui a4,0x20000 + 39a: 4611 li a2,4 + 39c: 8bb1 andi a5,a5,12 + 39e: 08070713 addi a4,a4,128 # 20000080 + 3a2: 02c78f63 beq a5,a2,3e0 + 3a6: 4621 li a2,8 + 3a8: 04c78163 beq a5,a2,3ea + 3ac: eb95 bnez a5,3e0 + 3ae: 429c lw a5,0(a3) + 3b0: 8b91 andi a5,a5,4 + 3b2: c79d beqz a5,3e0 + 3b4: 000f47b7 lui a5,0xf4 + 3b8: 24078793 addi a5,a5,576 # f4240 <_data_lma+0xf22dc> + 3bc: c31c sw a5,0(a4) + 3be: 400217b7 lui a5,0x40021 + 3c2: 43dc lw a5,4(a5) + 3c4: 8391 srli a5,a5,0x4 + 3c6: 00f7f693 andi a3,a5,15 + 3ca: 200007b7 lui a5,0x20000 + 3ce: 00078793 mv a5,a5 + 3d2: 97b6 add a5,a5,a3 + 3d4: 2394 lbu a3,0(a5) + 3d6: 431c lw a5,0(a4) + 3d8: 00d7d7b3 srl a5,a5,a3 + 3dc: c31c sw a5,0(a4) + 3de: 8082 ret + 3e0: 007a17b7 lui a5,0x7a1 + 3e4: 20078793 addi a5,a5,512 # 7a1200 <_data_lma+0x79f29c> + 3e8: bfd1 j 3bc + 3ea: 42dc lw a5,4(a3) + 3ec: 42d4 lw a3,4(a3) + 3ee: 6641 lui a2,0x10 + 3f0: 83c9 srli a5,a5,0x12 + 3f2: 8bbd andi a5,a5,15 + 3f4: 8ef1 and a3,a3,a2 + 3f6: 0789 addi a5,a5,2 + 3f8: 4645 li a2,17 + 3fa: 00c79363 bne a5,a2,400 + 3fe: 47c9 li a5,18 + 400: ee81 bnez a3,418 + 402: 400246b7 lui a3,0x40024 + 406: 8006a683 lw a3,-2048(a3) # 40023800 <_eusrstack+0x2001e800> + 40a: 8ac1 andi a3,a3,16 + 40c: ce89 beqz a3,426 + 40e: 007a16b7 lui a3,0x7a1 + 412: 20068693 addi a3,a3,512 # 7a1200 <_data_lma+0x79f29c> + 416: a821 j 42e + 418: 400216b7 lui a3,0x40021 + 41c: 42d4 lw a3,4(a3) + 41e: 00e69613 slli a2,a3,0xe + 422: fe0656e3 bgez a2,40e + 426: 003d16b7 lui a3,0x3d1 + 42a: 90068693 addi a3,a3,-1792 # 3d0900 <_data_lma+0x3ce99c> + 42e: 02d787b3 mul a5,a5,a3 + 432: b769 j 3bc -00000440 : - 440: a001 j 440 +00000434 : + 434: a001 j 434 -00000442 : - 442: 20000197 auipc gp,0x20000 - 446: 52618193 addi gp,gp,1318 # 20000968 <__global_pointer$> - 44a: 20005117 auipc sp,0x20005 - 44e: bb610113 addi sp,sp,-1098 # 20005000 <_eusrstack> - 452: 00009517 auipc a0,0x9 - 456: a6e50513 addi a0,a0,-1426 # 8ec0 <_data_lma> - 45a: 20000597 auipc a1,0x20000 - 45e: ba658593 addi a1,a1,-1114 # 20000000 <_data_vma> - 462: 82018613 addi a2,gp,-2016 # 20000188 <_edata> - 466: 00c5fa63 bgeu a1,a2,47a - 46a: 00052283 lw t0,0(a0) - 46e: 0055a023 sw t0,0(a1) - 472: 0511 addi a0,a0,4 - 474: 0591 addi a1,a1,4 - 476: fec5eae3 bltu a1,a2,46a - 47a: 82018513 addi a0,gp,-2016 # 20000188 <_edata> - 47e: 20001597 auipc a1,0x20001 - 482: 0aa58593 addi a1,a1,170 # 20001528 <_ebss> - 486: 00b57763 bgeu a0,a1,494 - 48a: 00052023 sw zero,0(a0) - 48e: 0511 addi a0,a0,4 - 490: feb56de3 bltu a0,a1,48a - 494: 42fd li t0,31 - 496: bc029073 csrw 0xbc0,t0 - 49a: 428d li t0,3 - 49c: 80429073 csrw 0x804,t0 - 4a0: 08800293 li t0,136 - 4a4: 30029073 csrw mstatus,t0 - 4a8: 00000297 auipc t0,0x0 - 4ac: b5c28293 addi t0,t0,-1188 # 4 <_einit> - 4b0: 0032e293 ori t0,t0,3 - 4b4: 30529073 csrw mtvec,t0 - 4b8: ddfff0ef jal ra,296 - 4bc: 00000297 auipc t0,0x0 - 4c0: d9028293 addi t0,t0,-624 # 24c
- 4c4: 34129073 csrw mepc,t0 - 4c8: 30200073 mret +00000436 : + 436: 20000197 auipc gp,0x20000 + 43a: 44a18193 addi gp,gp,1098 # 20000880 <__global_pointer$> + 43e: 20005117 auipc sp,0x20005 + 442: bc210113 addi sp,sp,-1086 # 20005000 <_eusrstack> + 446: 00002517 auipc a0,0x2 + 44a: b1e50513 addi a0,a0,-1250 # 1f64 <_data_lma> + 44e: 20000597 auipc a1,0x20000 + 452: bb258593 addi a1,a1,-1102 # 20000000 <_data_vma> + 456: 81818613 addi a2,gp,-2024 # 20000098 <_edata> + 45a: 00c5fa63 bgeu a1,a2,46e + 45e: 00052283 lw t0,0(a0) + 462: 0055a023 sw t0,0(a1) + 466: 0511 addi a0,a0,4 + 468: 0591 addi a1,a1,4 + 46a: fec5eae3 bltu a1,a2,45e + 46e: 81818513 addi a0,gp,-2024 # 20000098 <_edata> + 472: 85018593 addi a1,gp,-1968 # 200000d0 <_ebss> + 476: 00b57763 bgeu a0,a1,484 + 47a: 00052023 sw zero,0(a0) + 47e: 0511 addi a0,a0,4 + 480: feb56de3 bltu a0,a1,47a + 484: 42fd li t0,31 + 486: bc029073 csrw 0xbc0,t0 + 48a: 428d li t0,3 + 48c: 80429073 csrw 0x804,t0 + 490: 08800293 li t0,136 + 494: 30029073 csrw mstatus,t0 + 498: 00000297 auipc t0,0x0 + 49c: b6c28293 addi t0,t0,-1172 # 4 <_einit> + 4a0: 0032e293 ori t0,t0,3 + 4a4: 30529073 csrw mtvec,t0 + 4a8: de5ff0ef jal ra,28c + 4ac: 00000297 auipc t0,0x0 + 4b0: da028293 addi t0,t0,-608 # 24c
+ 4b4: 34129073 csrw mepc,t0 + 4b8: 30200073 mret -000004cc : - 4cc: 400127b7 lui a5,0x40012 - 4d0: 40078793 addi a5,a5,1024 # 40012400 <_eusrstack+0x2000d400> - 4d4: 00f51f63 bne a0,a5,4f2 - 4d8: c99ff2ef jal t0,170 <__riscv_save_0> - 4dc: 4585 li a1,1 - 4de: 20000513 li a0,512 - 4e2: 181000ef jal ra,e62 - 4e6: 4581 li a1,0 - 4e8: 20000513 li a0,512 - 4ec: 177000ef jal ra,e62 - 4f0: b155 j 194 <__riscv_restore_0> - 4f2: 8082 ret +000004bc : + 4bc: 81c1a503 lw a0,-2020(gp) # 2000009c + 4c0: 8082 ret -000004f4 : - 4f4: 415c lw a5,4(a0) - 4f6: e0f10737 lui a4,0xe0f10 - 4fa: eff70713 addi a4,a4,-257 # e0f0feff <_eusrstack+0xc0f0aeff> - 4fe: 4d94 lw a3,24(a1) - 500: 8f7d and a4,a4,a5 - 502: 419c lw a5,0(a1) - 504: 8fd5 or a5,a5,a3 - 506: 4dd4 lw a3,28(a1) - 508: 8fd5 or a5,a5,a3 - 50a: 41d4 lw a3,4(a1) - 50c: 06a2 slli a3,a3,0x8 - 50e: 8fd5 or a5,a5,a3 - 510: 8fd9 or a5,a5,a4 - 512: c15c sw a5,4(a0) - 514: 451c lw a5,8(a0) - 516: fff1f737 lui a4,0xfff1f - 51a: 7fd70713 addi a4,a4,2045 # fff1f7fd <_eusrstack+0xdff1a7fd> - 51e: 45d4 lw a3,12(a1) - 520: 8f7d and a4,a4,a5 - 522: 499c lw a5,16(a1) - 524: 8fd5 or a5,a5,a3 - 526: 4594 lw a3,8(a1) - 528: 0686 slli a3,a3,0x1 - 52a: 8fd5 or a5,a5,a3 - 52c: 8fd9 or a5,a5,a4 - 52e: c51c sw a5,8(a0) - 530: 555c lw a5,44(a0) - 532: ff100737 lui a4,0xff100 - 536: 177d addi a4,a4,-1 - 538: 8f7d and a4,a4,a5 - 53a: 29dc lbu a5,20(a1) - 53c: 17fd addi a5,a5,-1 - 53e: 0ff7f793 andi a5,a5,255 - 542: 07d2 slli a5,a5,0x14 - 544: 8fd9 or a5,a5,a4 - 546: d55c sw a5,44(a0) - 548: 8082 ret +000004c2 : + 4c2: 400107b7 lui a5,0x40010 + 4c6: 40078713 addi a4,a5,1024 # 40010400 <_eusrstack+0x2000b400> + 4ca: 4007a783 lw a5,1024(a5) + 4ce: 4b58 lw a4,20(a4) + 4d0: 8f69 and a4,a4,a0 + 4d2: c709 beqz a4,4dc + 4d4: 8d7d and a0,a0,a5 + 4d6: 00a03533 snez a0,a0 + 4da: 8082 ret + 4dc: 4501 li a0,0 + 4de: 8082 ret -0000054a : - 54a: 451c lw a5,8(a0) - 54c: c589 beqz a1,556 - 54e: 0017e793 ori a5,a5,1 - 552: c51c sw a5,8(a0) - 554: 8082 ret - 556: 9bf9 andi a5,a5,-2 - 558: bfed j 552 +000004e0 : + 4e0: 400107b7 lui a5,0x40010 + 4e4: 40a7aa23 sw a0,1044(a5) # 40010414 <_eusrstack+0x2000b414> + 4e8: 8082 ret -0000055a : - 55a: 451c lw a5,8(a0) - 55c: 0087e793 ori a5,a5,8 - 560: c51c sw a5,8(a0) - 562: 8082 ret +000004ea : + 4ea: 459c lw a5,8(a1) + 4ec: 0107f713 andi a4,a5,16 + 4f0: 00f7f813 andi a6,a5,15 + 4f4: c701 beqz a4,4fc + 4f6: 41d8 lw a4,4(a1) + 4f8: 00e86833 or a6,a6,a4 + 4fc: 218e lhu a1,0(a1) + 4fe: 0ff5f713 andi a4,a1,255 + 502: c339 beqz a4,548 + 504: 4118 lw a4,0(a0) + 506: 4681 li a3,0 + 508: 4e85 li t4,1 + 50a: 4f3d li t5,15 + 50c: 02800f93 li t6,40 + 510: 04800293 li t0,72 + 514: 4e21 li t3,8 + 516: 00de9633 sll a2,t4,a3 + 51a: 00c5f8b3 and a7,a1,a2 + 51e: 03161163 bne a2,a7,540 + 522: 00269893 slli a7,a3,0x2 + 526: 011f1333 sll t1,t5,a7 + 52a: fff34313 not t1,t1 + 52e: 00e37733 and a4,t1,a4 + 532: 011818b3 sll a7,a6,a7 + 536: 00e8e733 or a4,a7,a4 + 53a: 05f79f63 bne a5,t6,598 + 53e: c950 sw a2,20(a0) + 540: 0685 addi a3,a3,1 + 542: fdc69ae3 bne a3,t3,516 + 546: c118 sw a4,0(a0) + 548: 0ff00713 li a4,255 + 54c: 04b77563 bgeu a4,a1,596 + 550: 4154 lw a3,4(a0) + 552: 4621 li a2,8 + 554: 4e85 li t4,1 + 556: 4f3d li t5,15 + 558: 02800f93 li t6,40 + 55c: 04800293 li t0,72 + 560: 4e41 li t3,16 + 562: 00ce98b3 sll a7,t4,a2 + 566: 0115f733 and a4,a1,a7 + 56a: 02e89263 bne a7,a4,58e + 56e: 00261713 slli a4,a2,0x2 + 572: 1701 addi a4,a4,-32 + 574: 00ef1333 sll t1,t5,a4 + 578: fff34313 not t1,t1 + 57c: 00d376b3 and a3,t1,a3 + 580: 00e81733 sll a4,a6,a4 + 584: 8ed9 or a3,a3,a4 + 586: 01f79d63 bne a5,t6,5a0 + 58a: 01152a23 sw a7,20(a0) + 58e: 0605 addi a2,a2,1 + 590: fdc619e3 bne a2,t3,562 + 594: c154 sw a3,4(a0) + 596: 8082 ret + 598: fa5794e3 bne a5,t0,540 + 59c: c910 sw a2,16(a0) + 59e: b74d j 540 + 5a0: fe5797e3 bne a5,t0,58e + 5a4: 01152823 sw a7,16(a0) + 5a8: b7dd j 58e -00000564 : - 564: 4508 lw a0,8(a0) - 566: 810d srli a0,a0,0x3 - 568: 8905 andi a0,a0,1 - 56a: 8082 ret +000005aa : + 5aa: c0000737 lui a4,0xc0000 + 5ae: 00e577b3 and a5,a0,a4 + 5b2: 08e79563 bne a5,a4,63c + 5b6: 40010737 lui a4,0x40010 + 5ba: 435c lw a5,4(a4) + 5bc: 01b55693 srli a3,a0,0x1b + 5c0: 4f58 lw a4,28(a4) + 5c2: 8a9d andi a3,a3,7 + 5c4: e69d bnez a3,5f2 + 5c6: 9bf9 andi a5,a5,-2 + 5c8: ff0006b7 lui a3,0xff000 + 5cc: 16fd addi a3,a3,-1 + 5ce: 8f75 and a4,a4,a3 + 5d0: c989 beqz a1,5e2 + 5d2: 01051693 slli a3,a0,0x10 + 5d6: 82c1 srli a3,a3,0x10 + 5d8: 8fd5 or a5,a5,a3 + 5da: 01ff06b7 lui a3,0x1ff0 + 5de: 8d75 and a0,a0,a3 + 5e0: 8f49 or a4,a4,a0 + 5e2: 070006b7 lui a3,0x7000 + 5e6: 8fd5 or a5,a5,a3 + 5e8: 400106b7 lui a3,0x40010 + 5ec: c2dc sw a5,4(a3) + 5ee: ced8 sw a4,28(a3) + 5f0: 8082 ret + 5f2: 4605 li a2,1 + 5f4: 00c69663 bne a3,a2,600 + 5f8: 9bf5 andi a5,a5,-3 + 5fa: ff8006b7 lui a3,0xff800 + 5fe: b7f9 j 5cc + 600: 4609 li a2,2 + 602: 00c69663 bne a3,a2,60e + 606: 9bed andi a5,a5,-5 + 608: ffe806b7 lui a3,0xffe80 + 60c: b7c1 j 5cc + 60e: 460d li a2,3 + 610: 00c69663 bne a3,a2,61c + 614: 9bdd andi a5,a5,-9 + 616: fffc06b7 lui a3,0xfffc0 + 61a: bf4d j 5cc + 61c: 4611 li a2,4 + 61e: 00c69763 bne a3,a2,62c + 622: f3f7f793 andi a5,a5,-193 + 626: ffc006b7 lui a3,0xffc00 + 62a: b74d j 5cc + 62c: 4615 li a2,5 + 62e: fac691e3 bne a3,a2,5d0 + 632: cff7f793 andi a5,a5,-769 + 636: ffe006b7 lui a3,0xffe00 + 63a: bf49 j 5cc + 63c: 40000737 lui a4,0x40000 + 640: 02e79163 bne a5,a4,662 + 644: 400107b7 lui a5,0x40010 + 648: 4fd8 lw a4,28(a5) + 64a: 0542 slli a0,a0,0x10 + 64c: 00a767b3 or a5,a4,a0 + 650: e589 bnez a1,65a + 652: fff54513 not a0,a0 + 656: 00e577b3 and a5,a0,a4 + 65a: 40010737 lui a4,0x40010 + 65e: cf5c sw a5,28(a4) + 660: 8082 ret + 662: e3a9 bnez a5,6a4 + 664: 40010837 lui a6,0x40010 + 668: 003007b7 lui a5,0x300 + 66c: 00482603 lw a2,4(a6) # 40010004 <_eusrstack+0x2000b004> + 670: 01051713 slli a4,a0,0x10 + 674: 00f576b3 and a3,a0,a5 + 678: 8341 srli a4,a4,0x10 + 67a: 02f69663 bne a3,a5,6a6 + 67e: f90006b7 lui a3,0xf9000 + 682: 16fd addi a3,a3,-1 + 684: 00d677b3 and a5,a2,a3 + 688: 00482603 lw a2,4(a6) + 68c: 8ef1 and a3,a3,a2 + 68e: 00d82223 sw a3,4(a6) + 692: c591 beqz a1,69e + 694: 8155 srli a0,a0,0x15 + 696: 0512 slli a0,a0,0x4 + 698: 00a71533 sll a0,a4,a0 + 69c: 8fc9 or a5,a5,a0 + 69e: 40010737 lui a4,0x40010 + 6a2: c35c sw a5,4(a4) + 6a4: 8082 ret + 6a6: 00b51793 slli a5,a0,0xb + 6aa: 0207d063 bgez a5,6ca + 6ae: 01055793 srli a5,a0,0x10 + 6b2: 00f7f693 andi a3,a5,15 + 6b6: 478d li a5,3 + 6b8: 00d797b3 sll a5,a5,a3 + 6bc: fff7c793 not a5,a5 + 6c0: 8ff1 and a5,a5,a2 + 6c2: 070006b7 lui a3,0x7000 + 6c6: 8fd5 or a5,a5,a3 + 6c8: b7e9 j 692 + 6ca: 01555793 srli a5,a0,0x15 + 6ce: 0792 slli a5,a5,0x4 + 6d0: 00f717b3 sll a5,a4,a5 + 6d4: b7e5 j 6bc -0000056c : - 56c: 451c lw a5,8(a0) - 56e: 0047e793 ori a5,a5,4 - 572: c51c sw a5,8(a0) - 574: 8082 ret +000006d6 : + 6d6: a9bff2ef jal t0,170 <__riscv_save_0> + 6da: 1ffff437 lui s0,0x1ffff + 6de: 72442703 lw a4,1828(s0) # 1ffff724 <_data_lma+0x1fffd7c0> + 6e2: 3e000637 lui a2,0x3e000 + 6e6: 1141 addi sp,sp,-16 + 6e8: 01971793 slli a5,a4,0x19 + 6ec: fff74693 not a3,a4 + 6f0: 8ff1 and a5,a5,a2 + 6f2: 0706 slli a4,a4,0x1 + 6f4: 003e0637 lui a2,0x3e0 + 6f8: 8f71 and a4,a4,a2 + 6fa: 8fd9 or a5,a5,a4 + 6fc: 01000637 lui a2,0x1000 + 700: 00969713 slli a4,a3,0x9 + 704: 8f71 and a4,a4,a2 + 706: 8fd9 or a5,a5,a4 + 708: 82bd srli a3,a3,0xf + 70a: 6741 lui a4,0x10 + 70c: 8ef9 and a3,a3,a4 + 70e: 8fd5 or a5,a5,a3 + 710: c202 sw zero,4(sp) + 712: c402 sw zero,8(sp) + 714: c602 sw zero,12(sp) + 716: 82f1a023 sw a5,-2016(gp) # 200000a0 + 71a: 72845703 lhu a4,1832(s0) + 71e: 4585 li a1,1 + 720: 80e19c23 sh a4,-2024(gp) # 20000098 <_edata> + 724: 72042703 lw a4,1824(s0) + 728: 03d00513 li a0,61 + 72c: 82e1a223 sw a4,-2012(gp) # 200000a4 + 730: 70442703 lw a4,1796(s0) + 734: 80e1ae23 sw a4,-2020(gp) # 2000009c + 738: 2421 jal 940 + 73a: 70442783 lw a5,1796(s0) + 73e: 103a0737 lui a4,0x103a0 + 742: 70070713 addi a4,a4,1792 # 103a0700 <_data_lma+0x1039e79c> + 746: f0f7f793 andi a5,a5,-241 + 74a: 0ee78f63 beq a5,a4,848 <__stack_size+0x48> + 74e: 02f76063 bltu a4,a5,76e + 752: 10320737 lui a4,0x10320 + 756: 70070713 addi a4,a4,1792 # 10320700 <_data_lma+0x1031e79c> + 75a: 04e78f63 beq a5,a4,7b8 + 75e: 10370737 lui a4,0x10370 + 762: 70070713 addi a4,a4,1792 # 10370700 <_data_lma+0x1036e79c> + 766: 08e78663 beq a5,a4,7f2 + 76a: 0141 addi sp,sp,16 + 76c: b425 j 194 <__riscv_restore_0> + 76e: 103b0737 lui a4,0x103b0 + 772: 70070713 addi a4,a4,1792 # 103b0700 <_data_lma+0x103ae79c> + 776: 0ae78b63 beq a5,a4,82c <__stack_size+0x2c> + 77a: 103d0737 lui a4,0x103d0 + 77e: 70070713 addi a4,a4,1792 # 103d0700 <_data_lma+0x103ce79c> + 782: fee794e3 bne a5,a4,76a + 786: 4585 li a1,1 + 788: 6521 lui a0,0x8 + 78a: 3505 jal 5aa + 78c: 400114b7 lui s1,0x40011 + 790: 77e1 lui a5,0xffff8 + 792: 04800413 li s0,72 + 796: 004c addi a1,sp,4 + 798: 80048513 addi a0,s1,-2048 # 40010800 <_eusrstack+0x2000b800> + 79c: 827c sh a5,4(sp) + 79e: c622 sw s0,12(sp) + 7a0: 33a9 jal 4ea + 7a2: 6785 lui a5,0x1 + 7a4: 33c78793 addi a5,a5,828 # 133c <_fwalk_reent+0x38> + 7a8: 004c addi a1,sp,4 + 7aa: c0048513 addi a0,s1,-1024 + 7ae: 827c sh a5,4(sp) + 7b0: c622 sw s0,12(sp) + 7b2: 3b25 jal 4ea + 7b4: 77f9 lui a5,0xffffe + 7b6: a00d j 7d8 + 7b8: 4585 li a1,1 + 7ba: 6521 lui a0,0x8 + 7bc: 33fd jal 5aa + 7be: 400114b7 lui s1,0x40011 + 7c2: e0000793 li a5,-512 + 7c6: 04800413 li s0,72 + 7ca: 004c addi a1,sp,4 + 7cc: c0048513 addi a0,s1,-1024 # 40010c00 <_eusrstack+0x2000bc00> + 7d0: 827c sh a5,4(sp) + 7d2: c622 sw s0,12(sp) + 7d4: 3b19 jal 4ea + 7d6: 6789 lui a5,0x2 + 7d8: 004c addi a1,sp,4 + 7da: 40011537 lui a0,0x40011 + 7de: 827c sh a5,4(sp) + 7e0: c622 sw s0,12(sp) + 7e2: 3321 jal 4ea + 7e4: 478d li a5,3 + 7e6: 827c sh a5,4(sp) + 7e8: c622 sw s0,12(sp) + 7ea: 004c addi a1,sp,4 + 7ec: 40048513 addi a0,s1,1024 + 7f0: a825 j 828 <__stack_size+0x28> + 7f2: 400114b7 lui s1,0x40011 + 7f6: 77e1 lui a5,0xffff8 + 7f8: 70078793 addi a5,a5,1792 # ffff8700 <_eusrstack+0xdfff3700> + 7fc: 04800413 li s0,72 + 800: 004c addi a1,sp,4 + 802: 80048513 addi a0,s1,-2048 # 40010800 <_eusrstack+0x2000b800> + 806: 827c sh a5,4(sp) + 808: c622 sw s0,12(sp) + 80a: 31c5 jal 4ea + 80c: e3d00793 li a5,-451 + 810: 004c addi a1,sp,4 + 812: c0048513 addi a0,s1,-1024 + 816: 827c sh a5,4(sp) + 818: c622 sw s0,12(sp) + 81a: 39c1 jal 4ea + 81c: 77f9 lui a5,0xffffe + 81e: 827c sh a5,4(sp) + 820: c622 sw s0,12(sp) + 822: 004c addi a1,sp,4 + 824: 40011537 lui a0,0x40011 + 828: 31c9 jal 4ea + 82a: b781 j 76a + 82c: 400114b7 lui s1,0x40011 + 830: 77e1 lui a5,0xffff8 + 832: 04800413 li s0,72 + 836: 004c addi a1,sp,4 + 838: 80048513 addi a0,s1,-2048 # 40010800 <_eusrstack+0x2000b800> + 83c: 827c sh a5,4(sp) + 83e: c622 sw s0,12(sp) + 840: 316d jal 4ea + 842: 20400793 li a5,516 + 846: b78d j 7a8 + 848: 400114b7 lui s1,0x40011 + 84c: 77e1 lui a5,0xffff8 + 84e: 04800413 li s0,72 + 852: 004c addi a1,sp,4 + 854: 80048513 addi a0,s1,-2048 # 40010800 <_eusrstack+0x2000b800> + 858: 827c sh a5,4(sp) + 85a: c622 sw s0,12(sp) + 85c: 3179 jal 4ea + 85e: 6789 lui a5,0x2 + 860: 17f5 addi a5,a5,-3 + 862: b799 j 7a8 -00000576 : - 576: 4508 lw a0,8(a0) - 578: 8109 srli a0,a0,0x2 - 57a: 8905 andi a0,a0,1 - 57c: 8082 ret +00000864 : + 864: 82a1a423 sw a0,-2008(gp) # 200000a8 + 868: 8082 ret -0000057e : - 57e: 451c lw a5,8(a0) - 580: c591 beqz a1,58c - 582: 00500737 lui a4,0x500 - 586: 8fd9 or a5,a5,a4 - 588: c51c sw a5,8(a0) - 58a: 8082 ret - 58c: ffb00737 lui a4,0xffb00 - 590: 177d addi a4,a4,-1 - 592: 8ff9 and a5,a5,a4 - 594: bfd5 j 588 +0000086a : + 86a: 40021737 lui a4,0x40021 + 86e: 435c lw a5,4(a4) + 870: 4691 li a3,4 + 872: 8bb1 andi a5,a5,12 + 874: 06d78c63 beq a5,a3,8ec + 878: 46a1 li a3,8 + 87a: 06d78e63 beq a5,a3,8f6 + 87e: e7bd bnez a5,8ec + 880: 431c lw a5,0(a4) + 882: 8b91 andi a5,a5,4 + 884: c7a5 beqz a5,8ec + 886: 000f47b7 lui a5,0xf4 + 88a: 24078793 addi a5,a5,576 # f4240 <_data_lma+0xf22dc> + 88e: c11c sw a5,0(a0) + 890: 40021637 lui a2,0x40021 + 894: 425c lw a5,4(a2) + 896: 20000737 lui a4,0x20000 + 89a: 01070713 addi a4,a4,16 # 20000010 + 89e: 8391 srli a5,a5,0x4 + 8a0: 8bbd andi a5,a5,15 + 8a2: 97ba add a5,a5,a4 + 8a4: 2394 lbu a3,0(a5) + 8a6: 411c lw a5,0(a0) + 8a8: 00d7d7b3 srl a5,a5,a3 + 8ac: c15c sw a5,4(a0) + 8ae: 4254 lw a3,4(a2) + 8b0: 82a1 srli a3,a3,0x8 + 8b2: 8a9d andi a3,a3,7 + 8b4: 96ba add a3,a3,a4 + 8b6: 2294 lbu a3,0(a3) + 8b8: 00d7d6b3 srl a3,a5,a3 + 8bc: c514 sw a3,8(a0) + 8be: 4254 lw a3,4(a2) + 8c0: 82ad srli a3,a3,0xb + 8c2: 8a9d andi a3,a3,7 + 8c4: 9736 add a4,a4,a3 + 8c6: 2314 lbu a3,0(a4) + 8c8: 00d7d6b3 srl a3,a5,a3 + 8cc: c554 sw a3,12(a0) + 8ce: 4258 lw a4,4(a2) + 8d0: 00074c63 bltz a4,8e8 + 8d4: 425c lw a5,4(a2) + 8d6: 83b9 srli a5,a5,0xe + 8d8: 0037f713 andi a4,a5,3 + 8dc: 80418793 addi a5,gp,-2044 # 20000084 + 8e0: 97ba add a5,a5,a4 + 8e2: 239c lbu a5,0(a5) + 8e4: 02f6d7b3 divu a5,a3,a5 + 8e8: c91c sw a5,16(a0) + 8ea: 8082 ret + 8ec: 007a17b7 lui a5,0x7a1 + 8f0: 20078793 addi a5,a5,512 # 7a1200 <_data_lma+0x79f29c> + 8f4: bf69 j 88e + 8f6: 435c lw a5,4(a4) + 8f8: 4358 lw a4,4(a4) + 8fa: 66c1 lui a3,0x10 + 8fc: 83c9 srli a5,a5,0x12 + 8fe: 8bbd andi a5,a5,15 + 900: 8f75 and a4,a4,a3 + 902: 0789 addi a5,a5,2 + 904: 46c5 li a3,17 + 906: 00d79363 bne a5,a3,90c + 90a: 47c9 li a5,18 + 90c: ef01 bnez a4,924 + 90e: 40024737 lui a4,0x40024 + 912: 80072703 lw a4,-2048(a4) # 40023800 <_eusrstack+0x2001e800> + 916: 8b41 andi a4,a4,16 + 918: cf09 beqz a4,932 + 91a: 007a1737 lui a4,0x7a1 + 91e: 20070713 addi a4,a4,512 # 7a1200 <_data_lma+0x79f29c> + 922: a821 j 93a + 924: 40021737 lui a4,0x40021 + 928: 4358 lw a4,4(a4) + 92a: 00e71693 slli a3,a4,0xe + 92e: fe06d6e3 bgez a3,91a + 932: 003d1737 lui a4,0x3d1 + 936: 90070713 addi a4,a4,-1792 # 3d0900 <_data_lma+0x3ce99c> + 93a: 02e787b3 mul a5,a5,a4 + 93e: bf81 j 88e -00000596 : - 596: 47a5 li a5,9 - 598: 04b7f763 bgeu a5,a1,5e6 - 59c: 478d li a5,3 - 59e: ff658713 addi a4,a1,-10 - 5a2: 02f70733 mul a4,a4,a5 - 5a6: 00c52803 lw a6,12(a0) - 5aa: 479d li a5,7 - 5ac: 00e797b3 sll a5,a5,a4 - 5b0: fff7c793 not a5,a5 - 5b4: 0107f7b3 and a5,a5,a6 - 5b8: 00e696b3 sll a3,a3,a4 - 5bc: 8edd or a3,a3,a5 - 5be: c554 sw a3,12(a0) - 5c0: 4799 li a5,6 - 5c2: 04c7e363 bltu a5,a2,608 - 5c6: 4795 li a5,5 - 5c8: 167d addi a2,a2,-1 - 5ca: 02f60633 mul a2,a2,a5 - 5ce: 5958 lw a4,52(a0) - 5d0: 47fd li a5,31 - 5d2: 00c797b3 sll a5,a5,a2 - 5d6: fff7c793 not a5,a5 - 5da: 8ff9 and a5,a5,a4 - 5dc: 00c59633 sll a2,a1,a2 - 5e0: 8e5d or a2,a2,a5 - 5e2: d950 sw a2,52(a0) - 5e4: 8082 ret - 5e6: 470d li a4,3 - 5e8: 02e58733 mul a4,a1,a4 - 5ec: 01052803 lw a6,16(a0) - 5f0: 479d li a5,7 - 5f2: 00e797b3 sll a5,a5,a4 - 5f6: fff7c793 not a5,a5 - 5fa: 0107f7b3 and a5,a5,a6 - 5fe: 00e696b3 sll a3,a3,a4 - 602: 8edd or a3,a3,a5 - 604: c914 sw a3,16(a0) - 606: bf6d j 5c0 - 608: 47b1 li a5,12 - 60a: 02c7e263 bltu a5,a2,62e - 60e: 4795 li a5,5 - 610: 1665 addi a2,a2,-7 - 612: 02f60633 mul a2,a2,a5 - 616: 5918 lw a4,48(a0) - 618: 47fd li a5,31 - 61a: 00c797b3 sll a5,a5,a2 - 61e: fff7c793 not a5,a5 - 622: 8ff9 and a5,a5,a4 - 624: 00c59633 sll a2,a1,a2 - 628: 8e5d or a2,a2,a5 - 62a: d910 sw a2,48(a0) - 62c: 8082 ret - 62e: 4795 li a5,5 - 630: 164d addi a2,a2,-13 - 632: 02f60633 mul a2,a2,a5 - 636: 5558 lw a4,44(a0) - 638: 47fd li a5,31 - 63a: 00c797b3 sll a5,a5,a2 - 63e: fff7c793 not a5,a5 - 642: 8ff9 and a5,a5,a4 - 644: 00c595b3 sll a1,a1,a2 - 648: 8ddd or a1,a1,a5 - 64a: d54c sw a1,44(a0) - 64c: 8082 ret +00000940 : + 940: c599 beqz a1,94e + 942: 40021737 lui a4,0x40021 + 946: 4f1c lw a5,24(a4) + 948: 8d5d or a0,a0,a5 + 94a: cf08 sw a0,24(a4) + 94c: 8082 ret + 94e: 400217b7 lui a5,0x40021 + 952: 4f98 lw a4,24(a5) + 954: fff54513 not a0,a0 + 958: 8d79 and a0,a0,a4 + 95a: cf88 sw a0,24(a5) + 95c: 8082 ret -0000064e : - 64e: 4568 lw a0,76(a0) - 650: 0542 slli a0,a0,0x10 - 652: 8141 srli a0,a0,0x10 - 654: 8082 ret +0000095e : + 95e: 291e lhu a5,16(a0) + 960: 254a lhu a0,12(a0) + 962: 8fed and a5,a5,a1 + 964: 0542 slli a0,a0,0x10 + 966: 8141 srli a0,a0,0x10 + 968: c789 beqz a5,972 + 96a: 8d6d and a0,a0,a1 + 96c: 00a03533 snez a0,a0 + 970: 8082 ret + 972: 4501 li a0,0 + 974: 8082 ret -00000656 : - 656: 4108 lw a0,0(a0) - 658: 8d6d and a0,a0,a1 - 65a: 00a03533 snez a0,a0 - 65e: 8082 ret +00000976 : + 976: fff5c593 not a1,a1 + 97a: 05c2 slli a1,a1,0x10 + 97c: 81c1 srli a1,a1,0x10 + 97e: a90e sh a1,16(a0) + 980: 8082 ret -00000660 : - 660: 415c lw a5,4(a0) - 662: c591 beqz a1,66e - 664: 04000737 lui a4,0x4000 - 668: 8fd9 or a5,a5,a4 - 66a: c15c sw a5,4(a0) - 66c: 8082 ret - 66e: fc000737 lui a4,0xfc000 - 672: 177d addi a4,a4,-1 - 674: 8ff9 and a5,a5,a4 - 676: bfd5 j 66a +00000982 : + 982: feeff2ef jal t0,170 <__riscv_save_0> + 986: 2916 lhu a3,16(a0) + 988: 77f5 lui a5,0xffffd + 98a: 17fd addi a5,a5,-1 + 98c: 8ff5 and a5,a5,a3 + 98e: 21f6 lhu a3,6(a1) + 990: 25da lhu a4,12(a1) + 992: 7179 addi sp,sp,-48 + 994: 8fd5 or a5,a5,a3 + 996: a91e sh a5,16(a0) + 998: 2556 lhu a3,12(a0) + 99a: 77fd lui a5,0xfffff + 99c: 9f378793 addi a5,a5,-1549 # ffffe9f3 <_eusrstack+0xdfff99f3> + 9a0: 8ff5 and a5,a5,a3 + 9a2: 21d6 lhu a3,4(a1) + 9a4: 842a mv s0,a0 + 9a6: c62e sw a1,12(sp) + 9a8: 8fd5 or a5,a5,a3 + 9aa: 2596 lhu a3,8(a1) + 9ac: 8fd5 or a5,a5,a3 + 9ae: 25b6 lhu a3,10(a1) + 9b0: 8fd5 or a5,a5,a3 + 9b2: a55e sh a5,12(a0) + 9b4: 295e lhu a5,20(a0) + 9b6: 07c2 slli a5,a5,0x10 + 9b8: 83c1 srli a5,a5,0x10 + 9ba: cff7f793 andi a5,a5,-769 + 9be: 8fd9 or a5,a5,a4 + 9c0: a95e sh a5,20(a0) + 9c2: 0868 addi a0,sp,28 + 9c4: 355d jal 86a + 9c6: 400147b7 lui a5,0x40014 + 9ca: 80078793 addi a5,a5,-2048 # 40013800 <_eusrstack+0x2000e800> + 9ce: 45b2 lw a1,12(sp) + 9d0: 04f41a63 bne s0,a5,a24 + 9d4: 57a2 lw a5,40(sp) + 9d6: 2456 lhu a3,12(s0) + 9d8: 4765 li a4,25 + 9da: 02e787b3 mul a5,a5,a4 + 9de: 06c2 slli a3,a3,0x10 + 9e0: 86c1 srai a3,a3,0x10 + 9e2: 4198 lw a4,0(a1) + 9e4: 0406d263 bgez a3,a28 + 9e8: 0706 slli a4,a4,0x1 + 9ea: 2452 lhu a2,12(s0) + 9ec: 0642 slli a2,a2,0x10 + 9ee: 02e7d7b3 divu a5,a5,a4 + 9f2: 06400713 li a4,100 + 9f6: 8641 srai a2,a2,0x10 + 9f8: 02e7d6b3 divu a3,a5,a4 + 9fc: 02e7f7b3 remu a5,a5,a4 + a00: 0692 slli a3,a3,0x4 + a02: 02065563 bgez a2,a2c + a06: 078e slli a5,a5,0x3 + a08: 03278793 addi a5,a5,50 + a0c: 02e7d7b3 divu a5,a5,a4 + a10: 0077f713 andi a4,a5,7 + a14: 00d767b3 or a5,a4,a3 + a18: 07c2 slli a5,a5,0x10 + a1a: 83c1 srli a5,a5,0x10 + a1c: a41e sh a5,8(s0) + a1e: 6145 addi sp,sp,48 + a20: f74ff06f j 194 <__riscv_restore_0> + a24: 5792 lw a5,36(sp) + a26: bf45 j 9d6 + a28: 070a slli a4,a4,0x2 + a2a: b7c1 j 9ea + a2c: 0792 slli a5,a5,0x4 + a2e: 03278793 addi a5,a5,50 + a32: 02e7d7b3 divu a5,a5,a4 + a36: 8bbd andi a5,a5,15 + a38: 8fd5 or a5,a5,a3 + a3a: bff9 j a18 -00000678 : - 678: 493c lw a5,80(a0) - 67a: c589 beqz a1,684 - 67c: 0807e793 ori a5,a5,128 - 680: c93c sw a5,80(a0) - 682: 8082 ret - 684: f7f7f793 andi a5,a5,-129 - 688: bfe5 j 680 +00000a3c : + a3c: c591 beqz a1,a48 + a3e: 255e lhu a5,12(a0) + a40: 6709 lui a4,0x2 + a42: 8fd9 or a5,a5,a4 + a44: a55e sh a5,12(a0) + a46: 8082 ret + a48: 255a lhu a4,12(a0) + a4a: 77f9 lui a5,0xffffe + a4c: 17fd addi a5,a5,-1 + a4e: 8ff9 and a5,a5,a4 + a50: bfd5 j a44 -0000068a : - 68a: 493c lw a5,80(a0) - 68c: c589 beqz a1,696 - 68e: 0407e793 ori a5,a5,64 - 692: c93c sw a5,80(a0) - 694: 8082 ret - 696: fbf7f793 andi a5,a5,-65 - 69a: bfe5 j 692 +00000a52 : + a52: 1ff5f593 andi a1,a1,511 + a56: a14e sh a1,4(a0) + a58: 8082 ret -0000069c : - 69c: 493c lw a5,80(a0) - 69e: fdf7f793 andi a5,a5,-33 - 6a2: c93c sw a5,80(a0) - 6a4: 493c lw a5,80(a0) - 6a6: 8ddd or a1,a1,a5 - 6a8: c92c sw a1,80(a0) - 6aa: 8082 ret +00000a5a : + a5a: 214a lhu a0,4(a0) + a5c: 1ff57513 andi a0,a0,511 + a60: 8082 ret -000006ac : - 6ac: ac5ff2ef jal t0,170 <__riscv_save_0> - 6b0: 456706b7 lui a3,0x45670 - 6b4: 400227b7 lui a5,0x40022 - 6b8: 12368693 addi a3,a3,291 # 45670123 <_eusrstack+0x2566b123> - 6bc: cdef9737 lui a4,0xcdef9 - 6c0: c3d4 sw a3,4(a5) - 6c2: 9ab70713 addi a4,a4,-1621 # cdef89ab <_eusrstack+0xadef39ab> - 6c6: c3d8 sw a4,4(a5) - 6c8: d3d4 sw a3,36(a5) - 6ca: 1101 addi sp,sp,-32 - 6cc: c798 sw a4,8(a5) - 6ce: 5bd4 lw a3,52(a5) - 6d0: 03478713 addi a4,a5,52 # 40022034 <_eusrstack+0x2001d034> - 6d4: 00269613 slli a2,a3,0x2 - 6d8: fe064be3 bltz a2,6ce - 6dc: 57d4 lw a3,44(a5) - 6de: 40012537 lui a0,0x40012 - 6e2: 40050513 addi a0,a0,1024 # 40012400 <_eusrstack+0x2000d400> - 6e6: 2006e693 ori a3,a3,512 - 6ea: d7d4 sw a3,44(a5) - 6ec: 5bdc lw a5,52(a5) - 6ee: 200006b7 lui a3,0x20000 - 6f2: 8fd5 or a5,a5,a3 - 6f4: c31c sw a5,0(a4) - 6f6: 431c lw a5,0(a4) - 6f8: 451c lw a5,8(a0) - 6fa: 000e0737 lui a4,0xe0 - 6fe: 8fd9 or a5,a5,a4 - 700: c51c sw a5,8(a0) - 702: 451c lw a5,8(a0) - 704: 0017e793 ori a5,a5,1 - 708: c51c sw a5,8(a0) - 70a: 493c lw a5,80(a0) - 70c: 0407e793 ori a5,a5,64 - 710: c93c sw a5,80(a0) - 712: 451c lw a5,8(a0) - 714: 0087e793 ori a5,a5,8 - 718: c51c sw a5,8(a0) - 71a: 842a mv s0,a0 - 71c: 8522 mv a0,s0 - 71e: 3599 jal 564 - 720: fd75 bnez a0,71c - 722: 40012537 lui a0,0x40012 - 726: 40852783 lw a5,1032(a0) # 40012408 <_eusrstack+0x2000d408> - 72a: 40050513 addi a0,a0,1024 - 72e: 0047e793 ori a5,a5,4 - 732: c51c sw a5,8(a0) - 734: 842a mv s0,a0 - 736: 8522 mv a0,s0 - 738: 3d3d jal 576 - 73a: fd75 bnez a0,736 - 73c: 40012537 lui a0,0x40012 - 740: 4605 li a2,1 - 742: 45c9 li a1,18 - 744: 4681 li a3,0 - 746: 40050513 addi a0,a0,1024 # 40012400 <_eusrstack+0x2000d400> - 74a: 35b1 jal 596 - 74c: 4625 li a2,9 - 74e: 00010423 sb zero,8(sp) - 752: 40012737 lui a4,0x40012 - 756: 005005b7 lui a1,0x500 - 75a: 841c lbu a5,8(sp) - 75c: 04f67f63 bgeu a2,a5,7ba - 760: 00010423 sb zero,8(sp) - 764: 46a5 li a3,9 - 766: 4621 li a2,8 - 768: 841c lbu a5,8(sp) - 76a: 06f6ff63 bgeu a3,a5,7e8 - 76e: 00011523 sh zero,10(sp) - 772: 00010423 sb zero,8(sp) - 776: 4695 li a3,5 - 778: 841c lbu a5,8(sp) - 77a: 0ef6f163 bgeu a3,a5,85c <__stack_size+0x5c> - 77e: 8538 lhu a4,10(sp) - 780: 853c lhu a5,10(sp) - 782: 4699 li a3,6 - 784: 460d li a2,3 - 786: 02d7f7b3 remu a5,a5,a3 - 78a: 6505 lui a0,0x1 - 78c: 80050513 addi a0,a0,-2048 # 800 <__stack_size> - 790: 02d75733 divu a4,a4,a3 - 794: 02c7d7b3 divu a5,a5,a2 - 798: 97ba add a5,a5,a4 - 79a: 07c2 slli a5,a5,0x10 - 79c: 83c1 srli a5,a5,0x10 - 79e: 857c sh a5,10(sp) - 7a0: 400127b7 lui a5,0x40012 - 7a4: 4087a703 lw a4,1032(a5) # 40012408 <_eusrstack+0x2000d408> - 7a8: 9b79 andi a4,a4,-2 - 7aa: 40e7a423 sw a4,1032(a5) - 7ae: 853c lhu a5,10(sp) - 7b0: 6105 addi sp,sp,32 - 7b2: 8d1d sub a0,a0,a5 - 7b4: 0542 slli a0,a0,0x10 - 7b6: 8541 srai a0,a0,0x10 - 7b8: baf1 j 194 <__riscv_restore_0> - 7ba: 40872783 lw a5,1032(a4) # 40012408 <_eusrstack+0x2000d408> - 7be: 8fcd or a5,a5,a1 - 7c0: 40f72423 sw a5,1032(a4) - 7c4: 40072783 lw a5,1024(a4) - 7c8: 8b89 andi a5,a5,2 - 7ca: dfed beqz a5,7c4 - 7cc: 841c lbu a5,8(sp) - 7ce: 44c72683 lw a3,1100(a4) - 7d2: 1008 addi a0,sp,32 - 7d4: 0786 slli a5,a5,0x1 - 7d6: 97aa add a5,a5,a0 - 7d8: fed79623 sh a3,-20(a5) - 7dc: 841c lbu a5,8(sp) - 7de: 0785 addi a5,a5,1 - 7e0: 0ff7f793 andi a5,a5,255 - 7e4: 845c sb a5,8(sp) - 7e6: bf95 j 75a - 7e8: 000104a3 sb zero,9(sp) - 7ec: 849c lbu a5,9(sp) - 7ee: 00f67863 bgeu a2,a5,7fe - 7f2: 841c lbu a5,8(sp) - 7f4: 0785 addi a5,a5,1 - 7f6: 0ff7f793 andi a5,a5,255 - 7fa: 845c sb a5,8(sp) - 7fc: b7b5 j 768 - 7fe: 8498 lbu a4,9(sp) - 800: 849c lbu a5,9(sp) - 802: 100c addi a1,sp,32 - 804: 0706 slli a4,a4,0x1 - 806: 0785 addi a5,a5,1 - 808: 0786 slli a5,a5,0x1 - 80a: 972e add a4,a4,a1 - 80c: 97ae add a5,a5,a1 - 80e: fec75703 lhu a4,-20(a4) - 812: fec7d783 lhu a5,-20(a5) - 816: 02e7fd63 bgeu a5,a4,850 <__stack_size+0x50> - 81a: 849c lbu a5,9(sp) - 81c: 0786 slli a5,a5,0x1 - 81e: 97ae add a5,a5,a1 - 820: fec7d783 lhu a5,-20(a5) - 824: 857c sh a5,10(sp) - 826: 849c lbu a5,9(sp) - 828: 8498 lbu a4,9(sp) - 82a: 0785 addi a5,a5,1 - 82c: 0786 slli a5,a5,0x1 - 82e: 97ae add a5,a5,a1 - 830: fec7d583 lhu a1,-20(a5) - 834: 00171793 slli a5,a4,0x1 - 838: 1018 addi a4,sp,32 - 83a: 97ba add a5,a5,a4 - 83c: feb79623 sh a1,-20(a5) - 840: 849c lbu a5,9(sp) - 842: 8538 lhu a4,10(sp) - 844: 100c addi a1,sp,32 - 846: 0785 addi a5,a5,1 - 848: 0786 slli a5,a5,0x1 - 84a: 97ae add a5,a5,a1 - 84c: fee79623 sh a4,-20(a5) - 850: 849c lbu a5,9(sp) - 852: 0785 addi a5,a5,1 - 854: 0ff7f793 andi a5,a5,255 - 858: 84dc sb a5,9(sp) - 85a: bf49 j 7ec - 85c: 841c lbu a5,8(sp) - 85e: 1010 addi a2,sp,32 - 860: 8538 lhu a4,10(sp) - 862: 0789 addi a5,a5,2 - 864: 0786 slli a5,a5,0x1 - 866: 97b2 add a5,a5,a2 - 868: fec7d783 lhu a5,-20(a5) - 86c: 97ba add a5,a5,a4 - 86e: 07c2 slli a5,a5,0x10 - 870: 83c1 srli a5,a5,0x10 - 872: 857c sh a5,10(sp) - 874: 841c lbu a5,8(sp) - 876: 0785 addi a5,a5,1 - 878: 0ff7f793 andi a5,a5,255 - 87c: 845c sb a5,8(sp) - 87e: bded j 778 +00000a62 : + a62: 210a lhu a0,0(a0) + a64: 8d6d and a0,a0,a1 + a66: 00a03533 snez a0,a0 + a6a: 8082 ret -00000880 : - 880: 8241a503 lw a0,-2012(gp) # 2000018c - 884: 8082 ret +00000a6c : + a6c: 0ff5f713 andi a4,a1,255 + a70: 4685 li a3,1 + a72: 8315 srli a4,a4,0x5 + a74: 00b697b3 sll a5,a3,a1 + a78: 02d71163 bne a4,a3,a9a + a7c: 255a lhu a4,12(a0) + a7e: 8ff9 and a5,a5,a4 + a80: 211a lhu a4,0(a0) + a82: 4501 li a0,0 + a84: 0742 slli a4,a4,0x10 + a86: 8341 srli a4,a4,0x10 + a88: cb81 beqz a5,a98 + a8a: 4505 li a0,1 + a8c: 81a1 srli a1,a1,0x8 + a8e: 00b515b3 sll a1,a0,a1 + a92: 8f6d and a4,a4,a1 + a94: 00e03533 snez a0,a4 + a98: 8082 ret + a9a: 4689 li a3,2 + a9c: 00d71463 bne a4,a3,aa4 + aa0: 291a lhu a4,16(a0) + aa2: bff1 j a7e + aa4: 295a lhu a4,20(a0) + aa6: bfe1 j a7e -00000886 : - 886: 4158 lw a4,4(a0) - 888: 00052803 lw a6,0(a0) - 88c: 454c lw a1,12(a0) - 88e: 40010637 lui a2,0x40010 - 892: 40060793 addi a5,a2,1024 # 40010400 <_eusrstack+0x2000b400> - 896: 973e add a4,a4,a5 - 898: fff84693 not a3,a6 - 89c: c5b1 beqz a1,8e8 - 89e: 40062583 lw a1,1024(a2) - 8a2: 8df5 and a1,a1,a3 - 8a4: 40b62023 sw a1,1024(a2) - 8a8: 43d0 lw a2,4(a5) - 8aa: 8ef1 and a3,a3,a2 - 8ac: c3d4 sw a3,4(a5) - 8ae: 4314 lw a3,0(a4) - 8b0: 0106e6b3 or a3,a3,a6 - 8b4: c314 sw a3,0(a4) - 8b6: 4118 lw a4,0(a0) - 8b8: 4790 lw a2,8(a5) - 8ba: fff74693 not a3,a4 - 8be: 8e75 and a2,a2,a3 - 8c0: c790 sw a2,8(a5) - 8c2: 47d0 lw a2,12(a5) - 8c4: 8ef1 and a3,a3,a2 - 8c6: c7d4 sw a3,12(a5) - 8c8: 4514 lw a3,8(a0) - 8ca: 4641 li a2,16 - 8cc: 00c69963 bne a3,a2,8de - 8d0: 4794 lw a3,8(a5) - 8d2: 8ed9 or a3,a3,a4 - 8d4: c794 sw a3,8(a5) - 8d6: 47d4 lw a3,12(a5) - 8d8: 8f55 or a4,a4,a3 - 8da: c7d8 sw a4,12(a5) - 8dc: 8082 ret - 8de: 97b6 add a5,a5,a3 - 8e0: 4394 lw a3,0(a5) - 8e2: 8f55 or a4,a4,a3 - 8e4: c398 sw a4,0(a5) - 8e6: 8082 ret - 8e8: 431c lw a5,0(a4) - 8ea: 8ff5 and a5,a5,a3 - 8ec: c31c sw a5,0(a4) - 8ee: 8082 ret +00000aa8 : + aa8: 4511 li a0,4 + aaa: 3c21 jal 4c2 + aac: 4785 li a5,1 + aae: 00f51463 bne a0,a5,ab6 + ab2: 4511 li a0,4 + ab4: 3435 jal 4e0 + ab6: 30200073 mret -000008f0 : - 8f0: 400107b7 lui a5,0x40010 - 8f4: 40078713 addi a4,a5,1024 # 40010400 <_eusrstack+0x2000b400> - 8f8: 4007a783 lw a5,1024(a5) - 8fc: 4b58 lw a4,20(a4) - 8fe: 8f69 and a4,a4,a0 - 900: c709 beqz a4,90a - 902: 8d7d and a0,a0,a5 - 904: 00a03533 snez a0,a0 - 908: 8082 ret - 90a: 4501 li a0,0 - 90c: 8082 ret +00000aba : + aba: 6505 lui a0,0x1 + abc: 3419 jal 4c2 + abe: 30200073 mret -0000090e : - 90e: 400107b7 lui a5,0x40010 - 912: 40a7aa23 sw a0,1044(a5) # 40010414 <_eusrstack+0x2000b414> - 916: 8082 ret +00000ac2 : + ac2: 1141 addi sp,sp,-16 + ac4: c622 sw s0,12(sp) + ac6: 40005437 lui s0,0x40005 + aca: 52500593 li a1,1317 + ace: 80040513 addi a0,s0,-2048 # 40004800 <_eusrstack+0x1ffff800> + ad2: 3f69 jal a6c + ad4: c505 beqz a0,afc + ad6: 80040513 addi a0,s0,-2048 + ada: 3741 jal a5a + adc: 0ff57593 andi a1,a0,255 + ae0: 82b18623 sb a1,-2004(gp) # 200000ac + ae4: 83c1a503 lw a0,-1988(gp) # 200000bc + ae8: 4d1c lw a5,24(a0) + aea: 4910 lw a2,16(a0) + aec: 4954 lw a3,20(a0) + aee: 0785 addi a5,a5,1 + af0: 02c7e7b3 rem a5,a5,a2 + af4: 00d78463 beq a5,a3,afc + af8: 0531 addi a0,a0,12 + afa: 20e5 jal be2 + afc: 4432 lw s0,12(sp) + afe: 0141 addi sp,sp,16 + b00: 30200073 mret -00000918 : - 918: 459c lw a5,8(a1) - 91a: 0107f713 andi a4,a5,16 - 91e: 00f7f813 andi a6,a5,15 - 922: c701 beqz a4,92a - 924: 41d8 lw a4,4(a1) - 926: 00e86833 or a6,a6,a4 - 92a: 218e lhu a1,0(a1) - 92c: 0ff5f713 andi a4,a1,255 - 930: c339 beqz a4,976 - 932: 4118 lw a4,0(a0) - 934: 4681 li a3,0 - 936: 4e85 li t4,1 - 938: 4f3d li t5,15 - 93a: 02800f93 li t6,40 - 93e: 04800293 li t0,72 - 942: 4e21 li t3,8 - 944: 00de9633 sll a2,t4,a3 - 948: 00c5f8b3 and a7,a1,a2 - 94c: 03161163 bne a2,a7,96e - 950: 00269893 slli a7,a3,0x2 - 954: 011f1333 sll t1,t5,a7 - 958: fff34313 not t1,t1 - 95c: 00e37733 and a4,t1,a4 - 960: 011818b3 sll a7,a6,a7 - 964: 00e8e733 or a4,a7,a4 - 968: 05f79f63 bne a5,t6,9c6 - 96c: c950 sw a2,20(a0) - 96e: 0685 addi a3,a3,1 - 970: fdc69ae3 bne a3,t3,944 - 974: c118 sw a4,0(a0) - 976: 0ff00713 li a4,255 - 97a: 04b77563 bgeu a4,a1,9c4 - 97e: 4154 lw a3,4(a0) - 980: 4621 li a2,8 - 982: 4e85 li t4,1 - 984: 4f3d li t5,15 - 986: 02800f93 li t6,40 - 98a: 04800293 li t0,72 - 98e: 4e41 li t3,16 - 990: 00ce98b3 sll a7,t4,a2 - 994: 0115f733 and a4,a1,a7 - 998: 02e89263 bne a7,a4,9bc - 99c: 00261713 slli a4,a2,0x2 - 9a0: 1701 addi a4,a4,-32 - 9a2: 00ef1333 sll t1,t5,a4 - 9a6: fff34313 not t1,t1 - 9aa: 00d376b3 and a3,t1,a3 - 9ae: 00e81733 sll a4,a6,a4 - 9b2: 8ed9 or a3,a3,a4 - 9b4: 01f79d63 bne a5,t6,9ce - 9b8: 01152a23 sw a7,20(a0) - 9bc: 0605 addi a2,a2,1 - 9be: fdc619e3 bne a2,t3,990 - 9c2: c154 sw a3,4(a0) - 9c4: 8082 ret - 9c6: fa5794e3 bne a5,t0,96e - 9ca: c910 sw a2,16(a0) - 9cc: b74d j 96e - 9ce: fe5797e3 bne a5,t0,9bc - 9d2: 01152823 sw a7,16(a0) - 9d6: b7dd j 9bc +00000b04 : + b04: 1141 addi sp,sp,-16 + b06: c622 sw s0,12(sp) + b08: 40005437 lui s0,0x40005 + b0c: 52500593 li a1,1317 + b10: c0040513 addi a0,s0,-1024 # 40004c00 <_eusrstack+0x1ffffc00> + b14: 3fa1 jal a6c + b16: c505 beqz a0,b3e + b18: c0040513 addi a0,s0,-1024 + b1c: 3f3d jal a5a + b1e: 0ff57593 andi a1,a0,255 + b22: 82b18823 sb a1,-2000(gp) # 200000b0 + b26: 8401a503 lw a0,-1984(gp) # 200000c0 + b2a: 4d1c lw a5,24(a0) + b2c: 4910 lw a2,16(a0) + b2e: 4954 lw a3,20(a0) + b30: 0785 addi a5,a5,1 + b32: 02c7e7b3 rem a5,a5,a2 + b36: 00d78463 beq a5,a3,b3e + b3a: 0531 addi a0,a0,12 + b3c: 205d jal be2 + b3e: 4432 lw s0,12(sp) + b40: 0141 addi sp,sp,16 + b42: 30200073 mret -000009d8 : - 9d8: 4508 lw a0,8(a0) - 9da: 8d6d and a0,a0,a1 - 9dc: 00a03533 snez a0,a0 - 9e0: 8082 ret +00000b46 : + b46: 1141 addi sp,sp,-16 + b48: c622 sw s0,12(sp) + b4a: 40000437 lui s0,0x40000 + b4e: 4585 li a1,1 + b50: 40040513 addi a0,s0,1024 # 40000400 <_eusrstack+0x1fffb400> + b54: 3529 jal 95e + b56: c509 beqz a0,b60 + b58: 4585 li a1,1 + b5a: 40040513 addi a0,s0,1024 + b5e: 3d21 jal 976 + b60: 4432 lw s0,12(sp) + b62: 0141 addi sp,sp,16 + b64: 30200073 mret -000009e2 : - 9e2: 4548 lw a0,12(a0) - 9e4: 8d6d and a0,a0,a1 - 9e6: 00a03533 snez a0,a0 - 9ea: 8082 ret +00000b68 : + b68: 4585 li a1,1 + b6a: 40000537 lui a0,0x40000 + b6e: 3bc5 jal 95e + b70: c511 beqz a0,b7c + b72: 4585 li a1,1 + b74: 40000537 lui a0,0x40000 + b78: 3bfd jal 976 + b7a: 2081 jal bba + b7c: 30200073 mret -000009ec : - 9ec: c90c sw a1,16(a0) - 9ee: 8082 ret +00000b80 : + b80: e000f7b7 lui a5,0xe000f + b84: 0007a223 sw zero,4(a5) # e000f004 <_eusrstack+0xc000a004> + b88: 280d jal bba + b8a: 30200073 mret -000009f0 : - 9f0: c219 beqz a2,9f6 - 9f2: c90c sw a1,16(a0) - 9f4: 8082 ret - 9f6: c94c sw a1,20(a0) - 9f8: 8082 ret +00000b8e : + b8e: 1141 addi sp,sp,-16 + b90: c622 sw s0,12(sp) + b92: 40013437 lui s0,0x40013 + b96: 4585 li a1,1 + b98: c0040513 addi a0,s0,-1024 # 40012c00 <_eusrstack+0x2000dc00> + b9c: 33c9 jal 95e + b9e: c911 beqz a0,bb2 + ba0: c0040513 addi a0,s0,-1024 + ba4: 4585 li a1,1 + ba6: 3bc1 jal 976 + ba8: 00002537 lui a0,0x2 + bac: eb850513 addi a0,a0,-328 # 1eb8 <_read+0x2e> + bb0: 2499 jal df6 + bb2: 4432 lw s0,12(sp) + bb4: 0141 addi sp,sp,16 + bb6: 30200073 mret -000009fa : - 9fa: c0000737 lui a4,0xc0000 - 9fe: 00e577b3 and a5,a0,a4 - a02: 08e79563 bne a5,a4,a8c - a06: 40010737 lui a4,0x40010 - a0a: 435c lw a5,4(a4) - a0c: 01b55693 srli a3,a0,0x1b - a10: 4f58 lw a4,28(a4) - a12: 8a9d andi a3,a3,7 - a14: e69d bnez a3,a42 - a16: 9bf9 andi a5,a5,-2 - a18: ff0006b7 lui a3,0xff000 - a1c: 16fd addi a3,a3,-1 - a1e: 8f75 and a4,a4,a3 - a20: c989 beqz a1,a32 - a22: 01051693 slli a3,a0,0x10 - a26: 82c1 srli a3,a3,0x10 - a28: 8fd5 or a5,a5,a3 - a2a: 01ff06b7 lui a3,0x1ff0 - a2e: 8d75 and a0,a0,a3 - a30: 8f49 or a4,a4,a0 - a32: 070006b7 lui a3,0x7000 - a36: 8fd5 or a5,a5,a3 - a38: 400106b7 lui a3,0x40010 - a3c: c2dc sw a5,4(a3) - a3e: ced8 sw a4,28(a3) - a40: 8082 ret - a42: 4605 li a2,1 - a44: 00c69663 bne a3,a2,a50 - a48: 9bf5 andi a5,a5,-3 - a4a: ff8006b7 lui a3,0xff800 - a4e: b7f9 j a1c - a50: 4609 li a2,2 - a52: 00c69663 bne a3,a2,a5e - a56: 9bed andi a5,a5,-5 - a58: ffe806b7 lui a3,0xffe80 - a5c: b7c1 j a1c - a5e: 460d li a2,3 - a60: 00c69663 bne a3,a2,a6c - a64: 9bdd andi a5,a5,-9 - a66: fffc06b7 lui a3,0xfffc0 - a6a: bf4d j a1c - a6c: 4611 li a2,4 - a6e: 00c69763 bne a3,a2,a7c - a72: f3f7f793 andi a5,a5,-193 - a76: ffc006b7 lui a3,0xffc00 - a7a: b74d j a1c - a7c: 4615 li a2,5 - a7e: fac691e3 bne a3,a2,a20 - a82: cff7f793 andi a5,a5,-769 - a86: ffe006b7 lui a3,0xffe00 - a8a: bf49 j a1c - a8c: 40000737 lui a4,0x40000 - a90: 02e79163 bne a5,a4,ab2 - a94: 400107b7 lui a5,0x40010 - a98: 4fd8 lw a4,28(a5) - a9a: 0542 slli a0,a0,0x10 - a9c: 00a767b3 or a5,a4,a0 - aa0: e589 bnez a1,aaa - aa2: fff54513 not a0,a0 - aa6: 00e577b3 and a5,a0,a4 - aaa: 40010737 lui a4,0x40010 - aae: cf5c sw a5,28(a4) - ab0: 8082 ret - ab2: e3a9 bnez a5,af4 - ab4: 40010837 lui a6,0x40010 - ab8: 003007b7 lui a5,0x300 - abc: 00482603 lw a2,4(a6) # 40010004 <_eusrstack+0x2000b004> - ac0: 01051713 slli a4,a0,0x10 - ac4: 00f576b3 and a3,a0,a5 - ac8: 8341 srli a4,a4,0x10 - aca: 02f69663 bne a3,a5,af6 - ace: f90006b7 lui a3,0xf9000 - ad2: 16fd addi a3,a3,-1 - ad4: 00d677b3 and a5,a2,a3 - ad8: 00482603 lw a2,4(a6) - adc: 8ef1 and a3,a3,a2 - ade: 00d82223 sw a3,4(a6) - ae2: c591 beqz a1,aee - ae4: 8155 srli a0,a0,0x15 - ae6: 0512 slli a0,a0,0x4 - ae8: 00a71533 sll a0,a4,a0 - aec: 8fc9 or a5,a5,a0 - aee: 40010737 lui a4,0x40010 - af2: c35c sw a5,4(a4) - af4: 8082 ret - af6: 00b51793 slli a5,a0,0xb - afa: 0207d063 bgez a5,b1a - afe: 01055793 srli a5,a0,0x10 - b02: 00f7f693 andi a3,a5,15 - b06: 478d li a5,3 - b08: 00d797b3 sll a5,a5,a3 - b0c: fff7c793 not a5,a5 - b10: 8ff1 and a5,a5,a2 - b12: 070006b7 lui a3,0x7000 - b16: 8fd5 or a5,a5,a3 - b18: b7e9 j ae2 - b1a: 01555793 srli a5,a0,0x15 - b1e: 0792 slli a5,a5,0x4 - b20: 00f717b3 sll a5,a4,a5 - b24: b7e5 j b0c +00000bba : + bba: 8341a783 lw a5,-1996(gp) # 200000b4 + bbe: 4605 li a2,1 + bc0: e391 bnez a5,bc4 + bc2: 8082 ret + bc4: 23d6 lhu a3,4(a5) + bc6: ce81 beqz a3,bde + bc8: 23ba lhu a4,2(a5) + bca: 177d addi a4,a4,-1 + bcc: 0742 slli a4,a4,0x10 + bce: 8341 srli a4,a4,0x10 + bd0: a3ba sh a4,2(a5) + bd2: 23ba lhu a4,2(a5) + bd4: 0742 slli a4,a4,0x10 + bd6: 8341 srli a4,a4,0x10 + bd8: e319 bnez a4,bde + bda: a390 sb a2,0(a5) + bdc: a3b6 sh a3,2(a5) + bde: 47dc lw a5,12(a5) + be0: b7c5 j bc0 -00000b26 : - b26: 0fc5f713 andi a4,a1,252 - b2a: 0035f793 andi a5,a1,3 - b2e: 400105b7 lui a1,0x40010 - b32: 95ba add a1,a1,a4 - b34: 4594 lw a3,8(a1) - b36: 078a slli a5,a5,0x2 - b38: 473d li a4,15 - b3a: 00f71733 sll a4,a4,a5 - b3e: fff74713 not a4,a4 - b42: 8f75 and a4,a4,a3 - b44: c598 sw a4,8(a1) - b46: 4598 lw a4,8(a1) - b48: 00f51533 sll a0,a0,a5 - b4c: 8d59 or a0,a0,a4 - b4e: c588 sw a0,8(a1) - b50: 8082 ret +00000be2 : + be2: 455c lw a5,12(a0) + be4: 4154 lw a3,4(a0) + be6: 4518 lw a4,8(a0) + be8: 0785 addi a5,a5,1 + bea: 02d7e7b3 rem a5,a5,a3 + bee: 00e78e63 beq a5,a4,c0a + bf2: 4558 lw a4,12(a0) + bf4: 411c lw a5,0(a0) + bf6: 97ba add a5,a5,a4 + bf8: a38c sb a1,0(a5) + bfa: 455c lw a5,12(a0) + bfc: 4158 lw a4,4(a0) + bfe: 0785 addi a5,a5,1 + c00: 02e7e7b3 rem a5,a5,a4 + c04: c55c sw a5,12(a0) + c06: 4505 li a0,1 + c08: 8082 ret + c0a: 5579 li a0,-2 + c0c: 8082 ret -00000b52 : - b52: e1eff2ef jal t0,170 <__riscv_save_0> - b56: 1ffff437 lui s0,0x1ffff - b5a: 72442703 lw a4,1828(s0) # 1ffff724 <_data_lma+0x1fff6864> - b5e: 3e000637 lui a2,0x3e000 - b62: 1141 addi sp,sp,-16 - b64: 01971793 slli a5,a4,0x19 - b68: fff74693 not a3,a4 - b6c: 8ff1 and a5,a5,a2 - b6e: 0706 slli a4,a4,0x1 - b70: 003e0637 lui a2,0x3e0 - b74: 8f71 and a4,a4,a2 - b76: 8fd9 or a5,a5,a4 - b78: 01000637 lui a2,0x1000 - b7c: 00969713 slli a4,a3,0x9 - b80: 8f71 and a4,a4,a2 - b82: 8fd9 or a5,a5,a4 - b84: 82bd srli a3,a3,0xf - b86: 6741 lui a4,0x10 - b88: 8ef9 and a3,a3,a4 - b8a: 8fd5 or a5,a5,a3 - b8c: c202 sw zero,4(sp) - b8e: c402 sw zero,8(sp) - b90: c602 sw zero,12(sp) - b92: 82f1a423 sw a5,-2008(gp) # 20000190 - b96: 72845703 lhu a4,1832(s0) - b9a: 4585 li a1,1 - b9c: 82e19023 sh a4,-2016(gp) # 20000188 <_edata> - ba0: 72042703 lw a4,1824(s0) - ba4: 03d00513 li a0,61 - ba8: 82e1a623 sw a4,-2004(gp) # 20000194 - bac: 70442703 lw a4,1796(s0) - bb0: 82e1a223 sw a4,-2012(gp) # 2000018c - bb4: 2c8d jal e26 - bb6: 70442783 lw a5,1796(s0) - bba: 103a0737 lui a4,0x103a0 - bbe: 70070713 addi a4,a4,1792 # 103a0700 <_data_lma+0x10397840> - bc2: f0f7f793 andi a5,a5,-241 - bc6: 10e78063 beq a5,a4,cc6 - bca: 02f76163 bltu a4,a5,bec - bce: 10320737 lui a4,0x10320 - bd2: 70070713 addi a4,a4,1792 # 10320700 <_data_lma+0x10317840> - bd6: 06e78063 beq a5,a4,c36 - bda: 10370737 lui a4,0x10370 - bde: 70070713 addi a4,a4,1792 # 10370700 <_data_lma+0x10367840> - be2: 08e78763 beq a5,a4,c70 - be6: 0141 addi sp,sp,16 - be8: dacff06f j 194 <__riscv_restore_0> - bec: 103b0737 lui a4,0x103b0 - bf0: 70070713 addi a4,a4,1792 # 103b0700 <_data_lma+0x103a7840> - bf4: 0ae78b63 beq a5,a4,caa - bf8: 103d0737 lui a4,0x103d0 - bfc: 70070713 addi a4,a4,1792 # 103d0700 <_data_lma+0x103c7840> - c00: fee793e3 bne a5,a4,be6 - c04: 4585 li a1,1 - c06: 6521 lui a0,0x8 - c08: 3bcd jal 9fa - c0a: 400114b7 lui s1,0x40011 - c0e: 77e1 lui a5,0xffff8 - c10: 04800413 li s0,72 - c14: 004c addi a1,sp,4 - c16: 80048513 addi a0,s1,-2048 # 40010800 <_eusrstack+0x2000b800> - c1a: 827c sh a5,4(sp) - c1c: c622 sw s0,12(sp) - c1e: 39ed jal 918 - c20: 6785 lui a5,0x1 - c22: 33c78793 addi a5,a5,828 # 133c - c26: 004c addi a1,sp,4 - c28: c0048513 addi a0,s1,-1024 - c2c: 827c sh a5,4(sp) - c2e: c622 sw s0,12(sp) - c30: 31e5 jal 918 - c32: 77f9 lui a5,0xffffe - c34: a00d j c56 - c36: 4585 li a1,1 - c38: 6521 lui a0,0x8 - c3a: 33c1 jal 9fa - c3c: 400114b7 lui s1,0x40011 - c40: e0000793 li a5,-512 - c44: 04800413 li s0,72 - c48: 004c addi a1,sp,4 - c4a: c0048513 addi a0,s1,-1024 # 40010c00 <_eusrstack+0x2000bc00> - c4e: 827c sh a5,4(sp) - c50: c622 sw s0,12(sp) - c52: 31d9 jal 918 - c54: 6789 lui a5,0x2 - c56: 004c addi a1,sp,4 - c58: 40011537 lui a0,0x40011 - c5c: 827c sh a5,4(sp) - c5e: c622 sw s0,12(sp) - c60: 3965 jal 918 - c62: 478d li a5,3 - c64: 827c sh a5,4(sp) - c66: c622 sw s0,12(sp) - c68: 004c addi a1,sp,4 - c6a: 40048513 addi a0,s1,1024 - c6e: a825 j ca6 - c70: 400114b7 lui s1,0x40011 - c74: 77e1 lui a5,0xffff8 - c76: 70078793 addi a5,a5,1792 # ffff8700 <_eusrstack+0xdfff3700> - c7a: 04800413 li s0,72 - c7e: 004c addi a1,sp,4 - c80: 80048513 addi a0,s1,-2048 # 40010800 <_eusrstack+0x2000b800> - c84: 827c sh a5,4(sp) - c86: c622 sw s0,12(sp) - c88: 3941 jal 918 - c8a: e3d00793 li a5,-451 - c8e: 004c addi a1,sp,4 - c90: c0048513 addi a0,s1,-1024 - c94: 827c sh a5,4(sp) - c96: c622 sw s0,12(sp) - c98: 3141 jal 918 - c9a: 77f9 lui a5,0xffffe - c9c: 827c sh a5,4(sp) - c9e: c622 sw s0,12(sp) - ca0: 004c addi a1,sp,4 - ca2: 40011537 lui a0,0x40011 - ca6: 398d jal 918 - ca8: bf3d j be6 - caa: 400114b7 lui s1,0x40011 - cae: 77e1 lui a5,0xffff8 - cb0: 04800413 li s0,72 - cb4: 004c addi a1,sp,4 - cb6: 80048513 addi a0,s1,-2048 # 40010800 <_eusrstack+0x2000b800> - cba: 827c sh a5,4(sp) - cbc: c622 sw s0,12(sp) - cbe: 39a9 jal 918 - cc0: 20400793 li a5,516 - cc4: b78d j c26 - cc6: 400114b7 lui s1,0x40011 - cca: 77e1 lui a5,0xffff8 - ccc: 04800413 li s0,72 - cd0: 004c addi a1,sp,4 - cd2: 80048513 addi a0,s1,-2048 # 40010800 <_eusrstack+0x2000b800> - cd6: 827c sh a5,4(sp) - cd8: c622 sw s0,12(sp) - cda: 393d jal 918 - cdc: 6789 lui a5,0x2 - cde: 17f5 addi a5,a5,-3 - ce0: b799 j c26 +00000c0e : + c0e: 200007b7 lui a5,0x20000 + c12: 0807a783 lw a5,128(a5) # 20000080 + c16: 6709 lui a4,0x2 + c18: f4070713 addi a4,a4,-192 # 1f40 <__sf_fake_stdout+0x38> + c1c: 02e7d7b3 divu a5,a5,a4 + c20: 07c2 slli a5,a5,0x10 + c22: 83c1 srli a5,a5,0x10 + c24: 82f19d23 sh a5,-1990(gp) # 200000ba + c28: 82f19c23 sh a5,-1992(gp) # 200000b8 + c2c: 8082 ret -00000ce2 : - ce2: 82a1a823 sw a0,-2000(gp) # 20000198 - ce6: 8082 ret +00000c2e : + c2e: d42ff2ef jal t0,170 <__riscv_save_0> + c32: 842a mv s0,a0 + c34: 6511 lui a0,0x4 + c36: 1101 addi sp,sp,-32 + c38: 4585 li a1,1 + c3a: 0511 addi a0,a0,4 + c3c: 3311 jal 940 + c3e: 20000793 li a5,512 + c42: 827c sh a5,4(sp) + c44: 40011537 lui a0,0x40011 + c48: 478d li a5,3 + c4a: c43e sw a5,8(sp) + c4c: 004c addi a1,sp,4 + c4e: 47e1 li a5,24 + c50: 80050513 addi a0,a0,-2048 # 40010800 <_eusrstack+0x2000b800> + c54: c63e sw a5,12(sp) + c56: 895ff0ef jal ra,4ea + c5a: c822 sw s0,16(sp) + c5c: 40014437 lui s0,0x40014 + c60: 000807b7 lui a5,0x80 + c64: 080c addi a1,sp,16 + c66: 80040513 addi a0,s0,-2048 # 40013800 <_eusrstack+0x2000e800> + c6a: cc3e sw a5,24(sp) + c6c: ca02 sw zero,20(sp) + c6e: 00011e23 sh zero,28(sp) + c72: 3b01 jal 982 + c74: 4585 li a1,1 + c76: 80040513 addi a0,s0,-2048 + c7a: 33c9 jal a3c + c7c: 6105 addi sp,sp,32 + c7e: d16ff06f j 194 <__riscv_restore_0> -00000ce8 : - ce8: 8301a703 lw a4,-2000(gp) # 20000198 - cec: 4785 li a5,1 - cee: 2114 lbu a3,0(a0) - cf0: 02f71063 bne a4,a5,d10 - cf4: 311c lbu a5,1(a0) - cf6: 02e79c63 bne a5,a4,d2e - cfa: 213c lbu a5,2(a0) - cfc: 0796 slli a5,a5,0x5 - cfe: f807e793 ori a5,a5,-128 - d02: e000e737 lui a4,0xe000e - d06: 0ff7f793 andi a5,a5,255 - d0a: 9736 add a4,a4,a3 - d0c: 40f70023 sb a5,1024(a4) # e000e400 <_eusrstack+0xc0009400> - d10: 4705 li a4,1 - d12: 0056d793 srli a5,a3,0x5 - d16: 00d71733 sll a4,a4,a3 - d1a: 4154 lw a3,4(a0) - d1c: ce89 beqz a3,d36 - d1e: 04078793 addi a5,a5,64 # 2040 - d22: 078a slli a5,a5,0x2 - d24: e000e6b7 lui a3,0xe000e - d28: 97b6 add a5,a5,a3 - d2a: c398 sw a4,0(a5) - d2c: 8082 ret - d2e: f3ed bnez a5,d10 - d30: 213c lbu a5,2(a0) - d32: 0796 slli a5,a5,0x5 - d34: b7f9 j d02 - d36: 06078793 addi a5,a5,96 - d3a: b7e5 j d22 +00000c82 <_write>: + c82: cd4ff2ef jal t0,156 <__riscv_save_4> + c86: 400144b7 lui s1,0x40014 + c8a: 89ae mv s3,a1 + c8c: 8932 mv s2,a2 + c8e: 4401 li s0,0 + c90: 80048493 addi s1,s1,-2048 # 40013800 <_eusrstack+0x2000e800> + c94: 01244563 blt s0,s2,c9e <_write+0x1c> + c98: 854a mv a0,s2 + c9a: cf0ff06f j 18a <__riscv_restore_4> + c9e: 04000593 li a1,64 + ca2: 8526 mv a0,s1 + ca4: 3b7d jal a62 + ca6: dd65 beqz a0,c9e <_write+0x1c> + ca8: 008987b3 add a5,s3,s0 + cac: 00078583 lb a1,0(a5) # 80000 <_data_lma+0x7e09c> + cb0: 8526 mv a0,s1 + cb2: 0405 addi s0,s0,1 + cb4: 05c2 slli a1,a1,0x10 + cb6: 81c1 srli a1,a1,0x10 + cb8: 3b69 jal a52 + cba: bfe9 j c94 <_write+0x12> -00000d3c : - d3c: 400216b7 lui a3,0x40021 - d40: 42dc lw a5,4(a3) - d42: 7fff4737 lui a4,0x7fff4 - d46: 177d addi a4,a4,-1 - d48: 8ff9 and a5,a5,a4 - d4a: 8d5d or a0,a0,a5 - d4c: c2c8 sw a0,4(a3) - d4e: 8082 ret +00000cbc <_sbrk>: + cbc: 80818713 addi a4,gp,-2040 # 20000088 + cc0: 431c lw a5,0(a4) + cc2: 85018693 addi a3,gp,-1968 # 200000d0 <_ebss> + cc6: 953e add a0,a0,a5 + cc8: 00d56b63 bltu a0,a3,cde <_sbrk+0x22> + ccc: 200056b7 lui a3,0x20005 + cd0: 80068693 addi a3,a3,-2048 # 20004800 <_heap_end> + cd4: 00a6e563 bltu a3,a0,cde <_sbrk+0x22> + cd8: c308 sw a0,0(a4) + cda: 853e mv a0,a5 + cdc: 8082 ret + cde: 57fd li a5,-1 + ce0: bfed j cda <_sbrk+0x1e> -00000d50 : - d50: 40021737 lui a4,0x40021 - d54: 435c lw a5,4(a4) - d56: 4691 li a3,4 - d58: 8bb1 andi a5,a5,12 - d5a: 06d78c63 beq a5,a3,dd2 - d5e: 46a1 li a3,8 - d60: 06d78e63 beq a5,a3,ddc - d64: e7bd bnez a5,dd2 - d66: 431c lw a5,0(a4) - d68: 8b91 andi a5,a5,4 - d6a: c7a5 beqz a5,dd2 - d6c: 000f47b7 lui a5,0xf4 - d70: 24078793 addi a5,a5,576 # f4240 <_data_lma+0xeb380> - d74: c11c sw a5,0(a0) - d76: 40021637 lui a2,0x40021 - d7a: 425c lw a5,4(a2) - d7c: 20000737 lui a4,0x20000 - d80: 01070713 addi a4,a4,16 # 20000010 - d84: 8391 srli a5,a5,0x4 - d86: 8bbd andi a5,a5,15 - d88: 97ba add a5,a5,a4 - d8a: 2394 lbu a3,0(a5) - d8c: 411c lw a5,0(a0) - d8e: 00d7d7b3 srl a5,a5,a3 - d92: c15c sw a5,4(a0) - d94: 4254 lw a3,4(a2) - d96: 82a1 srli a3,a3,0x8 - d98: 8a9d andi a3,a3,7 - d9a: 96ba add a3,a3,a4 - d9c: 2294 lbu a3,0(a3) - d9e: 00d7d6b3 srl a3,a5,a3 - da2: c514 sw a3,8(a0) - da4: 4254 lw a3,4(a2) - da6: 82ad srli a3,a3,0xb - da8: 8a9d andi a3,a3,7 - daa: 9736 add a4,a4,a3 - dac: 2314 lbu a3,0(a4) - dae: 00d7d6b3 srl a3,a5,a3 - db2: c554 sw a3,12(a0) - db4: 4258 lw a4,4(a2) - db6: 00074c63 bltz a4,dce - dba: 425c lw a5,4(a2) - dbc: 83b9 srli a5,a5,0xe - dbe: 0037f713 andi a4,a5,3 - dc2: 80418793 addi a5,gp,-2044 # 2000016c - dc6: 97ba add a5,a5,a4 - dc8: 239c lbu a5,0(a5) - dca: 02f6d7b3 divu a5,a3,a5 - dce: c91c sw a5,16(a0) - dd0: 8082 ret - dd2: 007a17b7 lui a5,0x7a1 - dd6: 20078793 addi a5,a5,512 # 7a1200 <_data_lma+0x798340> - dda: bf69 j d74 - ddc: 435c lw a5,4(a4) - dde: 4358 lw a4,4(a4) - de0: 66c1 lui a3,0x10 - de2: 83c9 srli a5,a5,0x12 - de4: 8bbd andi a5,a5,15 - de6: 8f75 and a4,a4,a3 - de8: 0789 addi a5,a5,2 - dea: 46c5 li a3,17 - dec: 00d79363 bne a5,a3,df2 - df0: 47c9 li a5,18 - df2: ef01 bnez a4,e0a - df4: 40024737 lui a4,0x40024 - df8: 80072703 lw a4,-2048(a4) # 40023800 <_eusrstack+0x2001e800> - dfc: 8b41 andi a4,a4,16 - dfe: cf09 beqz a4,e18 - e00: 007a1737 lui a4,0x7a1 - e04: 20070713 addi a4,a4,512 # 7a1200 <_data_lma+0x798340> - e08: a821 j e20 - e0a: 40021737 lui a4,0x40021 - e0e: 4358 lw a4,4(a4) - e10: 00e71693 slli a3,a4,0xe - e14: fe06d6e3 bgez a3,e00 - e18: 003d1737 lui a4,0x3d1 - e1c: 90070713 addi a4,a4,-1792 # 3d0900 <_data_lma+0x3c7a40> - e20: 02e787b3 mul a5,a5,a4 - e24: bf81 j d74 +00000ce2 : + ce2: 7139 addi sp,sp,-64 + ce4: da3e sw a5,52(sp) + ce6: d22e sw a1,36(sp) + ce8: d432 sw a2,40(sp) + cea: d636 sw a3,44(sp) + cec: d83a sw a4,48(sp) + cee: dc42 sw a6,56(sp) + cf0: de46 sw a7,60(sp) + cf2: 80c18793 addi a5,gp,-2036 # 2000008c <_impure_ptr> + cf6: cc22 sw s0,24(sp) + cf8: 4380 lw s0,0(a5) + cfa: ca26 sw s1,20(sp) + cfc: ce06 sw ra,28(sp) + cfe: 84aa mv s1,a0 + d00: c409 beqz s0,d0a + d02: 4c1c lw a5,24(s0) + d04: e399 bnez a5,d0a + d06: 8522 mv a0,s0 + d08: 29ed jal 1202 <__sinit> + d0a: 440c lw a1,8(s0) + d0c: 1054 addi a3,sp,36 + d0e: 8626 mv a2,s1 + d10: 8522 mv a0,s0 + d12: c636 sw a3,12(sp) + d14: 127000ef jal ra,163a <_vfiprintf_r> + d18: 40f2 lw ra,28(sp) + d1a: 4462 lw s0,24(sp) + d1c: 44d2 lw s1,20(sp) + d1e: 6121 addi sp,sp,64 + d20: 8082 ret -00000e26 : - e26: c599 beqz a1,e34 - e28: 40021737 lui a4,0x40021 - e2c: 4f1c lw a5,24(a4) - e2e: 8d5d or a0,a0,a5 - e30: cf08 sw a0,24(a4) - e32: 8082 ret - e34: 400217b7 lui a5,0x40021 - e38: 4f98 lw a4,24(a5) - e3a: fff54513 not a0,a0 - e3e: 8d79 and a0,a0,a4 - e40: cf88 sw a0,24(a5) - e42: 8082 ret +00000d22 <_puts_r>: + d22: 1101 addi sp,sp,-32 + d24: ca26 sw s1,20(sp) + d26: c84a sw s2,16(sp) + d28: ce06 sw ra,28(sp) + d2a: cc22 sw s0,24(sp) + d2c: c64e sw s3,12(sp) + d2e: c452 sw s4,8(sp) + d30: 84aa mv s1,a0 + d32: 892e mv s2,a1 + d34: c501 beqz a0,d3c <_puts_r+0x1a> + d36: 4d1c lw a5,24(a0) + d38: e391 bnez a5,d3c <_puts_r+0x1a> + d3a: 21e1 jal 1202 <__sinit> + d3c: 4c9c lw a5,24(s1) + d3e: 4480 lw s0,8(s1) + d40: e399 bnez a5,d46 <_puts_r+0x24> + d42: 8526 mv a0,s1 + d44: 297d jal 1202 <__sinit> + d46: 00001797 auipc a5,0x1 + d4a: 1a278793 addi a5,a5,418 # 1ee8 <__sf_fake_stdin> + d4e: 02f41b63 bne s0,a5,d84 <_puts_r+0x62> + d52: 40c0 lw s0,4(s1) + d54: 245e lhu a5,12(s0) + d56: 8ba1 andi a5,a5,8 + d58: c7b1 beqz a5,da4 <_puts_r+0x82> + d5a: 481c lw a5,16(s0) + d5c: c7a1 beqz a5,da4 <_puts_r+0x82> + d5e: 59fd li s3,-1 + d60: 4a29 li s4,10 + d62: 441c lw a5,8(s0) + d64: 00094583 lbu a1,0(s2) + d68: 17fd addi a5,a5,-1 + d6a: e9b1 bnez a1,dbe <_puts_r+0x9c> + d6c: c41c sw a5,8(s0) + d6e: 0607dd63 bgez a5,de8 <_puts_r+0xc6> + d72: 8622 mv a2,s0 + d74: 45a9 li a1,10 + d76: 8526 mv a0,s1 + d78: 2061 jal e00 <__swbuf_r> + d7a: 57fd li a5,-1 + d7c: 02f50863 beq a0,a5,dac <_puts_r+0x8a> + d80: 4529 li a0,10 + d82: a035 j dae <_puts_r+0x8c> + d84: 00001797 auipc a5,0x1 + d88: 18478793 addi a5,a5,388 # 1f08 <__sf_fake_stdout> + d8c: 00f41463 bne s0,a5,d94 <_puts_r+0x72> + d90: 4480 lw s0,8(s1) + d92: b7c9 j d54 <_puts_r+0x32> + d94: 00001797 auipc a5,0x1 + d98: 13478793 addi a5,a5,308 # 1ec8 <__sf_fake_stderr> + d9c: faf41ce3 bne s0,a5,d54 <_puts_r+0x32> + da0: 44c0 lw s0,12(s1) + da2: bf4d j d54 <_puts_r+0x32> + da4: 85a2 mv a1,s0 + da6: 8526 mv a0,s1 + da8: 2a11 jal ebc <__swsetup_r> + daa: d955 beqz a0,d5e <_puts_r+0x3c> + dac: 557d li a0,-1 + dae: 40f2 lw ra,28(sp) + db0: 4462 lw s0,24(sp) + db2: 44d2 lw s1,20(sp) + db4: 4942 lw s2,16(sp) + db6: 49b2 lw s3,12(sp) + db8: 4a22 lw s4,8(sp) + dba: 6105 addi sp,sp,32 + dbc: 8082 ret + dbe: c41c sw a5,8(s0) + dc0: 0905 addi s2,s2,1 + dc2: 0007d763 bgez a5,dd0 <_puts_r+0xae> + dc6: 4c18 lw a4,24(s0) + dc8: 00e7ca63 blt a5,a4,ddc <_puts_r+0xba> + dcc: 01458863 beq a1,s4,ddc <_puts_r+0xba> + dd0: 401c lw a5,0(s0) + dd2: 00178713 addi a4,a5,1 + dd6: c018 sw a4,0(s0) + dd8: a38c sb a1,0(a5) + dda: b761 j d62 <_puts_r+0x40> + ddc: 8622 mv a2,s0 + dde: 8526 mv a0,s1 + de0: 2005 jal e00 <__swbuf_r> + de2: f93510e3 bne a0,s3,d62 <_puts_r+0x40> + de6: b7d9 j dac <_puts_r+0x8a> + de8: 401c lw a5,0(s0) + dea: 00178713 addi a4,a5,1 + dee: c018 sw a4,0(s0) + df0: 4729 li a4,10 + df2: a398 sb a4,0(a5) + df4: b771 j d80 <_puts_r+0x5e> -00000e44 : - e44: c599 beqz a1,e52 - e46: 40021737 lui a4,0x40021 - e4a: 4f5c lw a5,28(a4) - e4c: 8d5d or a0,a0,a5 - e4e: cf48 sw a0,28(a4) - e50: 8082 ret - e52: 400217b7 lui a5,0x40021 - e56: 4fd8 lw a4,28(a5) - e58: fff54513 not a0,a0 - e5c: 8d79 and a0,a0,a4 - e5e: cfc8 sw a0,28(a5) - e60: 8082 ret +00000df6 : + df6: 80c18793 addi a5,gp,-2036 # 2000008c <_impure_ptr> + dfa: 85aa mv a1,a0 + dfc: 4388 lw a0,0(a5) + dfe: b715 j d22 <_puts_r> -00000e62 : - e62: c599 beqz a1,e70 - e64: 40021737 lui a4,0x40021 - e68: 475c lw a5,12(a4) - e6a: 8d5d or a0,a0,a5 - e6c: c748 sw a0,12(a4) - e6e: 8082 ret - e70: 400217b7 lui a5,0x40021 - e74: 47d8 lw a4,12(a5) - e76: fff54513 not a0,a0 - e7a: 8d79 and a0,a0,a4 - e7c: c7c8 sw a0,12(a5) - e7e: 8082 ret +00000e00 <__swbuf_r>: + e00: 1101 addi sp,sp,-32 + e02: cc22 sw s0,24(sp) + e04: ca26 sw s1,20(sp) + e06: c84a sw s2,16(sp) + e08: ce06 sw ra,28(sp) + e0a: c64e sw s3,12(sp) + e0c: 84aa mv s1,a0 + e0e: 892e mv s2,a1 + e10: 8432 mv s0,a2 + e12: c501 beqz a0,e1a <__swbuf_r+0x1a> + e14: 4d1c lw a5,24(a0) + e16: e391 bnez a5,e1a <__swbuf_r+0x1a> + e18: 26ed jal 1202 <__sinit> + e1a: 00001797 auipc a5,0x1 + e1e: 0ce78793 addi a5,a5,206 # 1ee8 <__sf_fake_stdin> + e22: 06f41763 bne s0,a5,e90 <__swbuf_r+0x90> + e26: 40c0 lw s0,4(s1) + e28: 4c1c lw a5,24(s0) + e2a: c41c sw a5,8(s0) + e2c: 245e lhu a5,12(s0) + e2e: 8ba1 andi a5,a5,8 + e30: c3c1 beqz a5,eb0 <__swbuf_r+0xb0> + e32: 481c lw a5,16(s0) + e34: cfb5 beqz a5,eb0 <__swbuf_r+0xb0> + e36: 481c lw a5,16(s0) + e38: 4008 lw a0,0(s0) + e3a: 0ff97993 andi s3,s2,255 + e3e: 0ff97913 andi s2,s2,255 + e42: 8d1d sub a0,a0,a5 + e44: 485c lw a5,20(s0) + e46: 00f54663 blt a0,a5,e52 <__swbuf_r+0x52> + e4a: 85a2 mv a1,s0 + e4c: 8526 mv a0,s1 + e4e: 2c69 jal 10e8 <_fflush_r> + e50: e525 bnez a0,eb8 <__swbuf_r+0xb8> + e52: 441c lw a5,8(s0) + e54: 0505 addi a0,a0,1 + e56: 17fd addi a5,a5,-1 + e58: c41c sw a5,8(s0) + e5a: 401c lw a5,0(s0) + e5c: 00178713 addi a4,a5,1 + e60: c018 sw a4,0(s0) + e62: 01378023 sb s3,0(a5) + e66: 485c lw a5,20(s0) + e68: 00a78863 beq a5,a0,e78 <__swbuf_r+0x78> + e6c: 245e lhu a5,12(s0) + e6e: 8b85 andi a5,a5,1 + e70: cb81 beqz a5,e80 <__swbuf_r+0x80> + e72: 47a9 li a5,10 + e74: 00f91663 bne s2,a5,e80 <__swbuf_r+0x80> + e78: 85a2 mv a1,s0 + e7a: 8526 mv a0,s1 + e7c: 24b5 jal 10e8 <_fflush_r> + e7e: ed0d bnez a0,eb8 <__swbuf_r+0xb8> + e80: 40f2 lw ra,28(sp) + e82: 4462 lw s0,24(sp) + e84: 854a mv a0,s2 + e86: 44d2 lw s1,20(sp) + e88: 4942 lw s2,16(sp) + e8a: 49b2 lw s3,12(sp) + e8c: 6105 addi sp,sp,32 + e8e: 8082 ret + e90: 00001797 auipc a5,0x1 + e94: 07878793 addi a5,a5,120 # 1f08 <__sf_fake_stdout> + e98: 00f41463 bne s0,a5,ea0 <__swbuf_r+0xa0> + e9c: 4480 lw s0,8(s1) + e9e: b769 j e28 <__swbuf_r+0x28> + ea0: 00001797 auipc a5,0x1 + ea4: 02878793 addi a5,a5,40 # 1ec8 <__sf_fake_stderr> + ea8: f8f410e3 bne s0,a5,e28 <__swbuf_r+0x28> + eac: 44c0 lw s0,12(s1) + eae: bfad j e28 <__swbuf_r+0x28> + eb0: 85a2 mv a1,s0 + eb2: 8526 mv a0,s1 + eb4: 2021 jal ebc <__swsetup_r> + eb6: d141 beqz a0,e36 <__swbuf_r+0x36> + eb8: 597d li s2,-1 + eba: b7d9 j e80 <__swbuf_r+0x80> -00000e80 : - e80: 211a lhu a4,0(a0) - e82: 678d lui a5,0x3 - e84: 04078793 addi a5,a5,64 # 3040 - e88: 21b6 lhu a3,2(a1) - e8a: 8f7d and a4,a4,a5 - e8c: 219e lhu a5,0(a1) - e8e: 8fd5 or a5,a5,a3 - e90: 21d6 lhu a3,4(a1) - e92: 8fd5 or a5,a5,a3 - e94: 21f6 lhu a3,6(a1) - e96: 8fd5 or a5,a5,a3 - e98: 2596 lhu a3,8(a1) - e9a: 8fd5 or a5,a5,a3 - e9c: 25b6 lhu a3,10(a1) - e9e: 8fd5 or a5,a5,a3 - ea0: 25d6 lhu a3,12(a1) - ea2: 8fd5 or a5,a5,a3 - ea4: 25f6 lhu a3,14(a1) - ea6: 8fd5 or a5,a5,a3 - ea8: 8fd9 or a5,a5,a4 - eaa: a11e sh a5,0(a0) - eac: 299e lhu a5,16(a1) - eae: a91e sh a5,16(a0) - eb0: 8082 ret +00000ebc <__swsetup_r>: + ebc: 1141 addi sp,sp,-16 + ebe: 80c18793 addi a5,gp,-2036 # 2000008c <_impure_ptr> + ec2: c226 sw s1,4(sp) + ec4: 4384 lw s1,0(a5) + ec6: c422 sw s0,8(sp) + ec8: c04a sw s2,0(sp) + eca: c606 sw ra,12(sp) + ecc: 892a mv s2,a0 + ece: 842e mv s0,a1 + ed0: c489 beqz s1,eda <__swsetup_r+0x1e> + ed2: 4c9c lw a5,24(s1) + ed4: e399 bnez a5,eda <__swsetup_r+0x1e> + ed6: 8526 mv a0,s1 + ed8: 262d jal 1202 <__sinit> + eda: 00001797 auipc a5,0x1 + ede: 00e78793 addi a5,a5,14 # 1ee8 <__sf_fake_stdin> + ee2: 02f41b63 bne s0,a5,f18 <__swsetup_r+0x5c> + ee6: 40c0 lw s0,4(s1) + ee8: 00c41703 lh a4,12(s0) + eec: 01071793 slli a5,a4,0x10 + ef0: 83c1 srli a5,a5,0x10 + ef2: 0087f693 andi a3,a5,8 + ef6: eaad bnez a3,f68 <__swsetup_r+0xac> + ef8: 0107f693 andi a3,a5,16 + efc: ee95 bnez a3,f38 <__swsetup_r+0x7c> + efe: 47a5 li a5,9 + f00: 00f92023 sw a5,0(s2) + f04: 04076713 ori a4,a4,64 + f08: a45a sh a4,12(s0) + f0a: 557d li a0,-1 + f0c: 40b2 lw ra,12(sp) + f0e: 4422 lw s0,8(sp) + f10: 4492 lw s1,4(sp) + f12: 4902 lw s2,0(sp) + f14: 0141 addi sp,sp,16 + f16: 8082 ret + f18: 00001797 auipc a5,0x1 + f1c: ff078793 addi a5,a5,-16 # 1f08 <__sf_fake_stdout> + f20: 00f41463 bne s0,a5,f28 <__swsetup_r+0x6c> + f24: 4480 lw s0,8(s1) + f26: b7c9 j ee8 <__swsetup_r+0x2c> + f28: 00001797 auipc a5,0x1 + f2c: fa078793 addi a5,a5,-96 # 1ec8 <__sf_fake_stderr> + f30: faf41ce3 bne s0,a5,ee8 <__swsetup_r+0x2c> + f34: 44c0 lw s0,12(s1) + f36: bf4d j ee8 <__swsetup_r+0x2c> + f38: 8b91 andi a5,a5,4 + f3a: c39d beqz a5,f60 <__swsetup_r+0xa4> + f3c: 584c lw a1,52(s0) + f3e: c989 beqz a1,f50 <__swsetup_r+0x94> + f40: 04440793 addi a5,s0,68 + f44: 00f58463 beq a1,a5,f4c <__swsetup_r+0x90> + f48: 854a mv a0,s2 + f4a: 2331 jal 1456 <_free_r> + f4c: 02042a23 sw zero,52(s0) + f50: 245e lhu a5,12(s0) + f52: 00042223 sw zero,4(s0) + f56: fdb7f793 andi a5,a5,-37 + f5a: a45e sh a5,12(s0) + f5c: 481c lw a5,16(s0) + f5e: c01c sw a5,0(s0) + f60: 245e lhu a5,12(s0) + f62: 0087e793 ori a5,a5,8 + f66: a45e sh a5,12(s0) + f68: 481c lw a5,16(s0) + f6a: eb99 bnez a5,f80 <__swsetup_r+0xc4> + f6c: 245e lhu a5,12(s0) + f6e: 20000713 li a4,512 + f72: 2807f793 andi a5,a5,640 + f76: 00e78563 beq a5,a4,f80 <__swsetup_r+0xc4> + f7a: 85a2 mv a1,s0 + f7c: 854a mv a0,s2 + f7e: 21a1 jal 13c6 <__smakebuf_r> + f80: 245e lhu a5,12(s0) + f82: 0017f713 andi a4,a5,1 + f86: c31d beqz a4,fac <__swsetup_r+0xf0> + f88: 485c lw a5,20(s0) + f8a: 00042423 sw zero,8(s0) + f8e: 40f007b3 neg a5,a5 + f92: cc1c sw a5,24(s0) + f94: 481c lw a5,16(s0) + f96: 4501 li a0,0 + f98: fbb5 bnez a5,f0c <__swsetup_r+0x50> + f9a: 00c41783 lh a5,12(s0) + f9e: 0807f713 andi a4,a5,128 + fa2: d72d beqz a4,f0c <__swsetup_r+0x50> + fa4: 0407e793 ori a5,a5,64 + fa8: a45e sh a5,12(s0) + faa: b785 j f0a <__swsetup_r+0x4e> + fac: 8b89 andi a5,a5,2 + fae: 4701 li a4,0 + fb0: e391 bnez a5,fb4 <__swsetup_r+0xf8> + fb2: 4858 lw a4,20(s0) + fb4: c418 sw a4,8(s0) + fb6: bff9 j f94 <__swsetup_r+0xd8> -00000eb2 : - eb2: 211e lhu a5,0(a0) - eb4: c589 beqz a1,ebe - eb6: 0407e793 ori a5,a5,64 - eba: a11e sh a5,0(a0) - ebc: 8082 ret - ebe: 07c2 slli a5,a5,0x10 - ec0: 83c1 srli a5,a5,0x10 - ec2: fbf7f793 andi a5,a5,-65 - ec6: 07c2 slli a5,a5,0x10 - ec8: 83c1 srli a5,a5,0x10 - eca: bfc5 j eba +00000fb8 <__sflush_r>: + fb8: 25de lhu a5,12(a1) + fba: 1101 addi sp,sp,-32 + fbc: cc22 sw s0,24(sp) + fbe: ca26 sw s1,20(sp) + fc0: ce06 sw ra,28(sp) + fc2: c84a sw s2,16(sp) + fc4: c64e sw s3,12(sp) + fc6: 0087f713 andi a4,a5,8 + fca: 84aa mv s1,a0 + fcc: 842e mv s0,a1 + fce: eb79 bnez a4,10a4 <__sflush_r+0xec> + fd0: 41d8 lw a4,4(a1) + fd2: 00e04d63 bgtz a4,fec <__sflush_r+0x34> + fd6: 41b8 lw a4,64(a1) + fd8: 00e04a63 bgtz a4,fec <__sflush_r+0x34> + fdc: 4501 li a0,0 + fde: 40f2 lw ra,28(sp) + fe0: 4462 lw s0,24(sp) + fe2: 44d2 lw s1,20(sp) + fe4: 4942 lw s2,16(sp) + fe6: 49b2 lw s3,12(sp) + fe8: 6105 addi sp,sp,32 + fea: 8082 ret + fec: 5458 lw a4,44(s0) + fee: d77d beqz a4,fdc <__sflush_r+0x24> + ff0: 0004a903 lw s2,0(s1) + ff4: 01379693 slli a3,a5,0x13 + ff8: 0004a023 sw zero,0(s1) + ffc: 0606db63 bgez a3,1072 <__sflush_r+0xba> + 1000: 4870 lw a2,84(s0) + 1002: 245e lhu a5,12(s0) + 1004: 8b91 andi a5,a5,4 + 1006: c799 beqz a5,1014 <__sflush_r+0x5c> + 1008: 405c lw a5,4(s0) + 100a: 8e1d sub a2,a2,a5 + 100c: 585c lw a5,52(s0) + 100e: c399 beqz a5,1014 <__sflush_r+0x5c> + 1010: 403c lw a5,64(s0) + 1012: 8e1d sub a2,a2,a5 + 1014: 545c lw a5,44(s0) + 1016: 500c lw a1,32(s0) + 1018: 4681 li a3,0 + 101a: 8526 mv a0,s1 + 101c: 9782 jalr a5 + 101e: 57fd li a5,-1 + 1020: 245a lhu a4,12(s0) + 1022: 00f51d63 bne a0,a5,103c <__sflush_r+0x84> + 1026: 4094 lw a3,0(s1) + 1028: 47f5 li a5,29 + 102a: 06d7e863 bltu a5,a3,109a <__sflush_r+0xe2> + 102e: 204007b7 lui a5,0x20400 + 1032: 0785 addi a5,a5,1 + 1034: 00d7d7b3 srl a5,a5,a3 + 1038: 8b85 andi a5,a5,1 + 103a: c3a5 beqz a5,109a <__sflush_r+0xe2> + 103c: 481c lw a5,16(s0) + 103e: 00042223 sw zero,4(s0) + 1042: c01c sw a5,0(s0) + 1044: 01371793 slli a5,a4,0x13 + 1048: 0007d863 bgez a5,1058 <__sflush_r+0xa0> + 104c: 57fd li a5,-1 + 104e: 00f51463 bne a0,a5,1056 <__sflush_r+0x9e> + 1052: 409c lw a5,0(s1) + 1054: e391 bnez a5,1058 <__sflush_r+0xa0> + 1056: c868 sw a0,84(s0) + 1058: 584c lw a1,52(s0) + 105a: 0124a023 sw s2,0(s1) + 105e: ddbd beqz a1,fdc <__sflush_r+0x24> + 1060: 04440793 addi a5,s0,68 + 1064: 00f58463 beq a1,a5,106c <__sflush_r+0xb4> + 1068: 8526 mv a0,s1 + 106a: 26f5 jal 1456 <_free_r> + 106c: 02042a23 sw zero,52(s0) + 1070: b7b5 j fdc <__sflush_r+0x24> + 1072: 500c lw a1,32(s0) + 1074: 4601 li a2,0 + 1076: 4685 li a3,1 + 1078: 8526 mv a0,s1 + 107a: 9702 jalr a4 + 107c: 57fd li a5,-1 + 107e: 862a mv a2,a0 + 1080: f8f511e3 bne a0,a5,1002 <__sflush_r+0x4a> + 1084: 409c lw a5,0(s1) + 1086: dfb5 beqz a5,1002 <__sflush_r+0x4a> + 1088: 4775 li a4,29 + 108a: 00e78563 beq a5,a4,1094 <__sflush_r+0xdc> + 108e: 4759 li a4,22 + 1090: 04e79363 bne a5,a4,10d6 <__sflush_r+0x11e> + 1094: 0124a023 sw s2,0(s1) + 1098: b791 j fdc <__sflush_r+0x24> + 109a: 04076713 ori a4,a4,64 + 109e: a45a sh a4,12(s0) + 10a0: 557d li a0,-1 + 10a2: bf35 j fde <__sflush_r+0x26> + 10a4: 0105a983 lw s3,16(a1) + 10a8: f2098ae3 beqz s3,fdc <__sflush_r+0x24> + 10ac: 0005a903 lw s2,0(a1) + 10b0: 8b8d andi a5,a5,3 + 10b2: 0135a023 sw s3,0(a1) + 10b6: 41390933 sub s2,s2,s3 + 10ba: 4701 li a4,0 + 10bc: e391 bnez a5,10c0 <__sflush_r+0x108> + 10be: 49d8 lw a4,20(a1) + 10c0: c418 sw a4,8(s0) + 10c2: f1205de3 blez s2,fdc <__sflush_r+0x24> + 10c6: 541c lw a5,40(s0) + 10c8: 500c lw a1,32(s0) + 10ca: 86ca mv a3,s2 + 10cc: 864e mv a2,s3 + 10ce: 8526 mv a0,s1 + 10d0: 9782 jalr a5 + 10d2: 00a04763 bgtz a0,10e0 <__sflush_r+0x128> + 10d6: 245e lhu a5,12(s0) + 10d8: 0407e793 ori a5,a5,64 + 10dc: a45e sh a5,12(s0) + 10de: b7c9 j 10a0 <__sflush_r+0xe8> + 10e0: 99aa add s3,s3,a0 + 10e2: 40a90933 sub s2,s2,a0 + 10e6: bff1 j 10c2 <__sflush_r+0x10a> -00000ecc : - ecc: a54e sh a1,12(a0) - ece: 8082 ret +000010e8 <_fflush_r>: + 10e8: 499c lw a5,16(a1) + 10ea: cfb9 beqz a5,1148 <_fflush_r+0x60> + 10ec: 1101 addi sp,sp,-32 + 10ee: cc22 sw s0,24(sp) + 10f0: ce06 sw ra,28(sp) + 10f2: 842a mv s0,a0 + 10f4: c511 beqz a0,1100 <_fflush_r+0x18> + 10f6: 4d1c lw a5,24(a0) + 10f8: e781 bnez a5,1100 <_fflush_r+0x18> + 10fa: c62e sw a1,12(sp) + 10fc: 2219 jal 1202 <__sinit> + 10fe: 45b2 lw a1,12(sp) + 1100: 00001797 auipc a5,0x1 + 1104: de878793 addi a5,a5,-536 # 1ee8 <__sf_fake_stdin> + 1108: 00f59b63 bne a1,a5,111e <_fflush_r+0x36> + 110c: 404c lw a1,4(s0) + 110e: 00c59783 lh a5,12(a1) + 1112: c795 beqz a5,113e <_fflush_r+0x56> + 1114: 8522 mv a0,s0 + 1116: 4462 lw s0,24(sp) + 1118: 40f2 lw ra,28(sp) + 111a: 6105 addi sp,sp,32 + 111c: bd71 j fb8 <__sflush_r> + 111e: 00001797 auipc a5,0x1 + 1122: dea78793 addi a5,a5,-534 # 1f08 <__sf_fake_stdout> + 1126: 00f59463 bne a1,a5,112e <_fflush_r+0x46> + 112a: 440c lw a1,8(s0) + 112c: b7cd j 110e <_fflush_r+0x26> + 112e: 00001797 auipc a5,0x1 + 1132: d9a78793 addi a5,a5,-614 # 1ec8 <__sf_fake_stderr> + 1136: fcf59ce3 bne a1,a5,110e <_fflush_r+0x26> + 113a: 444c lw a1,12(s0) + 113c: bfc9 j 110e <_fflush_r+0x26> + 113e: 40f2 lw ra,28(sp) + 1140: 4462 lw s0,24(sp) + 1142: 4501 li a0,0 + 1144: 6105 addi sp,sp,32 + 1146: 8082 ret + 1148: 4501 li a0,0 + 114a: 8082 ret -00000ed0 : - ed0: 254a lhu a0,12(a0) - ed2: 8082 ret - -00000ed4 : - ed4: 250a lhu a0,8(a0) - ed6: 8d6d and a0,a0,a1 - ed8: 00a03533 snez a0,a0 - edc: 8082 ret - -00000ede : - ede: 211e lhu a5,0(a0) - ee0: 40013737 lui a4,0x40013 - ee4: c0070713 addi a4,a4,-1024 # 40012c00 <_eusrstack+0x2000dc00> - ee8: 07c2 slli a5,a5,0x10 - eea: 83c1 srli a5,a5,0x10 - eec: 02e50063 beq a0,a4,f0c - ef0: 40000737 lui a4,0x40000 - ef4: 00e50c63 beq a0,a4,f0c - ef8: 40070713 addi a4,a4,1024 # 40000400 <_eusrstack+0x1fffb400> - efc: 00e50863 beq a0,a4,f0c - f00: 40001737 lui a4,0x40001 - f04: 80070713 addi a4,a4,-2048 # 40000800 <_eusrstack+0x1fffb800> - f08: 00e51663 bne a0,a4,f14 - f0c: 21fa lhu a4,6(a1) - f0e: f8f7f793 andi a5,a5,-113 - f12: 8fd9 or a5,a5,a4 - f14: 259a lhu a4,8(a1) - f16: cff7f793 andi a5,a5,-769 - f1a: 07c2 slli a5,a5,0x10 - f1c: 83c1 srli a5,a5,0x10 - f1e: 8fd9 or a5,a5,a4 - f20: 40001737 lui a4,0x40001 - f24: a11e sh a5,0(a0) - f26: 80070713 addi a4,a4,-2048 # 40000800 <_eusrstack+0x1fffb800> - f2a: 419c lw a5,0(a1) - f2c: 02e51063 bne a0,a4,f4c - f30: d55c sw a5,44(a0) - f32: 21de lhu a5,4(a1) - f34: b51e sh a5,40(a0) - f36: 400137b7 lui a5,0x40013 - f3a: c0078793 addi a5,a5,-1024 # 40012c00 <_eusrstack+0x2000dc00> - f3e: 00f51463 bne a0,a5,f46 - f42: 25bc lbu a5,10(a1) - f44: b91e sh a5,48(a0) - f46: 4785 li a5,1 - f48: a95e sh a5,20(a0) - f4a: 8082 ret - f4c: 07c2 slli a5,a5,0x10 - f4e: 83c1 srli a5,a5,0x10 - f50: b55e sh a5,44(a0) - f52: b7c5 j f32 - -00000f54 : - f54: 311a lhu a4,32(a0) - f56: 77fd lui a5,0xfffff - f58: 17fd addi a5,a5,-1 - f5a: 8ff9 and a5,a5,a4 - f5c: b11e sh a5,32(a0) - f5e: 02055803 lhu a6,32(a0) # 40011020 <_eusrstack+0x2000c020> - f62: 2156 lhu a3,4(a0) - f64: 2d5e lhu a5,28(a0) - f66: 7765 lui a4,0xffff9 - f68: 21d2 lhu a2,4(a1) - f6a: cff70713 addi a4,a4,-769 # ffff8cff <_eusrstack+0xdfff3cff> - f6e: 8f7d and a4,a4,a5 - f70: 77f9 lui a5,0xffffe - f72: 0622 slli a2,a2,0x8 - f74: 17fd addi a5,a5,-1 - f76: 8f51 or a4,a4,a2 - f78: 0107f7b3 and a5,a5,a6 - f7c: 21f2 lhu a2,6(a1) - f7e: 00a5d803 lhu a6,10(a1) # 4001000a <_eusrstack+0x2000b00a> - f82: 06c2 slli a3,a3,0x10 - f84: 0742 slli a4,a4,0x10 - f86: 01066633 or a2,a2,a6 - f8a: 0632 slli a2,a2,0xc - f8c: 8fd1 or a5,a5,a2 - f8e: 40013637 lui a2,0x40013 - f92: 07c2 slli a5,a5,0x10 - f94: c0060613 addi a2,a2,-1024 # 40012c00 <_eusrstack+0x2000dc00> - f98: 82c1 srli a3,a3,0x10 - f9a: 8341 srli a4,a4,0x10 - f9c: 83c1 srli a5,a5,0x10 - f9e: 00c51a63 bne a0,a2,fb2 - fa2: 7671 lui a2,0xffffc - fa4: 167d addi a2,a2,-1 - fa6: 8ef1 and a3,a3,a2 - fa8: 25f2 lhu a2,14(a1) - faa: 061a slli a2,a2,0x6 - fac: 8ed1 or a3,a3,a2 - fae: 06c2 slli a3,a3,0x10 - fb0: 82c1 srli a3,a3,0x10 - fb2: a156 sh a3,4(a0) - fb4: 400016b7 lui a3,0x40001 - fb8: ad5a sh a4,28(a0) - fba: 80068693 addi a3,a3,-2048 # 40000800 <_eusrstack+0x1fffb800> - fbe: 4198 lw a4,0(a1) - fc0: 00d51563 bne a0,a3,fca - fc4: c138 sw a4,64(a0) - fc6: b11e sh a5,32(a0) - fc8: 8082 ret - fca: 0742 slli a4,a4,0x10 - fcc: 8341 srli a4,a4,0x10 - fce: bfdd j fc4 - -00000fd0 : - fd0: 211e lhu a5,0(a0) - fd2: c589 beqz a1,fdc - fd4: 0017e793 ori a5,a5,1 - fd8: a11e sh a5,0(a0) - fda: 8082 ret - fdc: 07c2 slli a5,a5,0x10 - fde: 83c1 srli a5,a5,0x10 - fe0: 9bf9 andi a5,a5,-2 - fe2: 07c2 slli a5,a5,0x10 - fe4: 83c1 srli a5,a5,0x10 - fe6: bfcd j fd8 - -00000fe8 : - fe8: 04455783 lhu a5,68(a0) - fec: c591 beqz a1,ff8 - fee: 6721 lui a4,0x8 - ff0: 8fd9 or a5,a5,a4 - ff2: 04f51223 sh a5,68(a0) - ff6: 8082 ret - ff8: 07c6 slli a5,a5,0x11 - ffa: 83c5 srli a5,a5,0x11 - ffc: bfdd j ff2 - -00000ffe : - ffe: 255e lhu a5,12(a0) - 1000: c601 beqz a2,1008 - 1002: 8ddd or a1,a1,a5 - 1004: a54e sh a1,12(a0) - 1006: 8082 ret - 1008: fff5c593 not a1,a1 - 100c: 8dfd and a1,a1,a5 - 100e: bfdd j 1004 - -00001010 : - 1010: 211e lhu a5,0(a0) - 1012: c589 beqz a1,101c - 1014: 0807e793 ori a5,a5,128 - 1018: a11e sh a5,0(a0) - 101a: 8082 ret - 101c: 07c2 slli a5,a5,0x10 - 101e: 83c1 srli a5,a5,0x10 - 1020: f7f7f793 andi a5,a5,-129 - 1024: 07c2 slli a5,a5,0x10 - 1026: 83c1 srli a5,a5,0x10 - 1028: bfc5 j 1018 - -0000102a : - 102a: 2d5a lhu a4,28(a0) - 102c: 77fd lui a5,0xfffff - 102e: 7ff78793 addi a5,a5,2047 # fffff7ff <_eusrstack+0xdfffa7ff> - 1032: 8ff9 and a5,a5,a4 - 1034: 05a2 slli a1,a1,0x8 - 1036: 8fcd or a5,a5,a1 - 1038: 07c2 slli a5,a5,0x10 - 103a: 83c1 srli a5,a5,0x10 - 103c: ad5e sh a5,28(a0) - 103e: 8082 ret - -00001040 : - 1040: 400017b7 lui a5,0x40001 - 1044: 80078793 addi a5,a5,-2048 # 40000800 <_eusrstack+0x1fffb800> - 1048: 00f51463 bne a0,a5,1050 - 104c: c12c sw a1,64(a0) - 104e: 8082 ret - 1050: 05c2 slli a1,a1,0x10 - 1052: 81c1 srli a1,a1,0x10 - 1054: bfe5 j 104c - -00001056 : - 1056: 400017b7 lui a5,0x40001 - 105a: 80078793 addi a5,a5,-2048 # 40000800 <_eusrstack+0x1fffb800> - 105e: 00f51463 bne a0,a5,1066 - 1062: 5148 lw a0,36(a0) - 1064: 8082 ret - 1066: 314a lhu a0,36(a0) - 1068: 0542 slli a0,a0,0x10 - 106a: 8141 srli a0,a0,0x10 - 106c: 8082 ret - -0000106e : - 106e: 291e lhu a5,16(a0) - 1070: 254a lhu a0,12(a0) - 1072: 8fed and a5,a5,a1 - 1074: 0542 slli a0,a0,0x10 - 1076: 8141 srli a0,a0,0x10 - 1078: c789 beqz a5,1082 - 107a: 8d6d and a0,a0,a1 - 107c: 00a03533 snez a0,a0 - 1080: 8082 ret - 1082: 4501 li a0,0 - 1084: 8082 ret - -00001086 : - 1086: fff5c593 not a1,a1 - 108a: 05c2 slli a1,a1,0x10 - 108c: 81c1 srli a1,a1,0x10 - 108e: a90e sh a1,16(a0) - 1090: 8082 ret - -00001092 : - 1092: 8deff2ef jal t0,170 <__riscv_save_0> - 1096: 2916 lhu a3,16(a0) - 1098: 77f5 lui a5,0xffffd - 109a: 17fd addi a5,a5,-1 - 109c: 8ff5 and a5,a5,a3 - 109e: 21f6 lhu a3,6(a1) - 10a0: 25da lhu a4,12(a1) - 10a2: 7179 addi sp,sp,-48 - 10a4: 8fd5 or a5,a5,a3 - 10a6: a91e sh a5,16(a0) - 10a8: 2556 lhu a3,12(a0) - 10aa: 77fd lui a5,0xfffff - 10ac: 9f378793 addi a5,a5,-1549 # ffffe9f3 <_eusrstack+0xdfff99f3> - 10b0: 8ff5 and a5,a5,a3 - 10b2: 21d6 lhu a3,4(a1) - 10b4: 842a mv s0,a0 - 10b6: c62e sw a1,12(sp) - 10b8: 8fd5 or a5,a5,a3 - 10ba: 2596 lhu a3,8(a1) - 10bc: 8fd5 or a5,a5,a3 - 10be: 25b6 lhu a3,10(a1) - 10c0: 8fd5 or a5,a5,a3 - 10c2: a55e sh a5,12(a0) - 10c4: 295e lhu a5,20(a0) - 10c6: 07c2 slli a5,a5,0x10 - 10c8: 83c1 srli a5,a5,0x10 - 10ca: cff7f793 andi a5,a5,-769 - 10ce: 8fd9 or a5,a5,a4 - 10d0: a95e sh a5,20(a0) - 10d2: 0868 addi a0,sp,28 - 10d4: 39b5 jal d50 - 10d6: 400147b7 lui a5,0x40014 - 10da: 80078793 addi a5,a5,-2048 # 40013800 <_eusrstack+0x2000e800> - 10de: 45b2 lw a1,12(sp) - 10e0: 04f41a63 bne s0,a5,1134 - 10e4: 57a2 lw a5,40(sp) - 10e6: 2456 lhu a3,12(s0) - 10e8: 4765 li a4,25 - 10ea: 02e787b3 mul a5,a5,a4 - 10ee: 06c2 slli a3,a3,0x10 - 10f0: 86c1 srai a3,a3,0x10 - 10f2: 4198 lw a4,0(a1) - 10f4: 0406d263 bgez a3,1138 - 10f8: 0706 slli a4,a4,0x1 - 10fa: 2452 lhu a2,12(s0) - 10fc: 0642 slli a2,a2,0x10 - 10fe: 02e7d7b3 divu a5,a5,a4 - 1102: 06400713 li a4,100 - 1106: 8641 srai a2,a2,0x10 - 1108: 02e7d6b3 divu a3,a5,a4 - 110c: 02e7f7b3 remu a5,a5,a4 - 1110: 0692 slli a3,a3,0x4 - 1112: 02065563 bgez a2,113c - 1116: 078e slli a5,a5,0x3 - 1118: 03278793 addi a5,a5,50 - 111c: 02e7d7b3 divu a5,a5,a4 - 1120: 0077f713 andi a4,a5,7 - 1124: 00d767b3 or a5,a4,a3 - 1128: 07c2 slli a5,a5,0x10 - 112a: 83c1 srli a5,a5,0x10 - 112c: a41e sh a5,8(s0) - 112e: 6145 addi sp,sp,48 - 1130: 864ff06f j 194 <__riscv_restore_0> - 1134: 5792 lw a5,36(sp) - 1136: bf45 j 10e6 - 1138: 070a slli a4,a4,0x2 - 113a: b7c1 j 10fa - 113c: 0792 slli a5,a5,0x4 - 113e: 03278793 addi a5,a5,50 - 1142: 02e7d7b3 divu a5,a5,a4 - 1146: 8bbd andi a5,a5,15 - 1148: 8fd5 or a5,a5,a3 - 114a: bff9 j 1128 - -0000114c : - 114c: c591 beqz a1,1158 - 114e: 255e lhu a5,12(a0) - 1150: 6709 lui a4,0x2 - 1152: 8fd9 or a5,a5,a4 - 1154: a55e sh a5,12(a0) - 1156: 8082 ret - 1158: 255a lhu a4,12(a0) - 115a: 77f9 lui a5,0xffffe - 115c: 17fd addi a5,a5,-1 - 115e: 8ff9 and a5,a5,a4 - 1160: bfd5 j 1154 - -00001162 : - 1162: 0ff5f713 andi a4,a1,255 - 1166: 4785 li a5,1 - 1168: 8315 srli a4,a4,0x5 - 116a: 00b795b3 sll a1,a5,a1 - 116e: 00f71963 bne a4,a5,1180 - 1172: 00c50793 addi a5,a0,12 - 1176: 4398 lw a4,0(a5) - 1178: ce01 beqz a2,1190 - 117a: 8dd9 or a1,a1,a4 - 117c: c38c sw a1,0(a5) - 117e: 8082 ret - 1180: 4689 li a3,2 - 1182: 01450793 addi a5,a0,20 - 1186: fed718e3 bne a4,a3,1176 - 118a: 01050793 addi a5,a0,16 - 118e: b7e5 j 1176 - 1190: fff5c593 not a1,a1 - 1194: 8df9 and a1,a1,a4 - 1196: b7dd j 117c - -00001198 : - 1198: 1ff5f593 andi a1,a1,511 - 119c: a14e sh a1,4(a0) - 119e: 8082 ret - -000011a0 : - 11a0: 214a lhu a0,4(a0) - 11a2: 1ff57513 andi a0,a0,511 - 11a6: 8082 ret - -000011a8 : - 11a8: 210a lhu a0,0(a0) - 11aa: 8d6d and a0,a0,a1 - 11ac: 00a03533 snez a0,a0 +0000114c : + 114c: 1141 addi sp,sp,-16 + 114e: c422 sw s0,8(sp) + 1150: c606 sw ra,12(sp) + 1152: 842a mv s0,a0 + 1154: a54e sh a1,12(a0) + 1156: a572 sh a2,14(a0) + 1158: 00052023 sw zero,0(a0) + 115c: 00052223 sw zero,4(a0) + 1160: 00052423 sw zero,8(a0) + 1164: 06052223 sw zero,100(a0) + 1168: 00052823 sw zero,16(a0) + 116c: 00052a23 sw zero,20(a0) + 1170: 00052c23 sw zero,24(a0) + 1174: 4621 li a2,8 + 1176: 4581 li a1,0 + 1178: 05c50513 addi a0,a0,92 + 117c: 824ff0ef jal ra,1a0 + 1180: 00001797 auipc a5,0x1 + 1184: b1478793 addi a5,a5,-1260 # 1c94 <__sread> + 1188: d05c sw a5,36(s0) + 118a: 00001797 auipc a5,0x1 + 118e: b3678793 addi a5,a5,-1226 # 1cc0 <__swrite> + 1192: d41c sw a5,40(s0) + 1194: 00001797 auipc a5,0x1 + 1198: b7478793 addi a5,a5,-1164 # 1d08 <__sseek> + 119c: d45c sw a5,44(s0) + 119e: 00001797 auipc a5,0x1 + 11a2: b9a78793 addi a5,a5,-1126 # 1d38 <__sclose> + 11a6: d000 sw s0,32(s0) + 11a8: d81c sw a5,48(s0) + 11aa: 40b2 lw ra,12(sp) + 11ac: 4422 lw s0,8(sp) + 11ae: 0141 addi sp,sp,16 11b0: 8082 ret -000011b2 : - 11b2: 0ff5f713 andi a4,a1,255 - 11b6: 4685 li a3,1 - 11b8: 8315 srli a4,a4,0x5 - 11ba: 00b697b3 sll a5,a3,a1 - 11be: 02d71163 bne a4,a3,11e0 - 11c2: 255a lhu a4,12(a0) - 11c4: 8ff9 and a5,a5,a4 - 11c6: 211a lhu a4,0(a0) - 11c8: 4501 li a0,0 - 11ca: 0742 slli a4,a4,0x10 - 11cc: 8341 srli a4,a4,0x10 - 11ce: cb81 beqz a5,11de - 11d0: 4505 li a0,1 - 11d2: 81a1 srli a1,a1,0x8 - 11d4: 00b515b3 sll a1,a0,a1 - 11d8: 8f6d and a4,a4,a1 - 11da: 00e03533 snez a0,a4 - 11de: 8082 ret - 11e0: 4689 li a3,2 - 11e2: 00d71463 bne a4,a3,11ea - 11e6: 291a lhu a4,16(a0) - 11e8: bff1 j 11c4 - 11ea: 295a lhu a4,20(a0) - 11ec: bfe1 j 11c4 +000011b2 <_cleanup_r>: + 11b2: 00000597 auipc a1,0x0 + 11b6: f3658593 addi a1,a1,-202 # 10e8 <_fflush_r> + 11ba: a2a9 j 1304 <_fwalk_reent> -000011ee : - 11ee: f83fe2ef jal t0,170 <__riscv_save_0> - 11f2: 7179 addi sp,sp,-48 - 11f4: 02000613 li a2,32 - 11f8: 4581 li a1,0 - 11fa: 0808 addi a0,sp,16 - 11fc: fa5fe0ef jal ra,1a0 - 1200: 4585 li a1,1 - 1202: 4511 li a0,4 - 1204: c202 sw zero,4(sp) - 1206: c402 sw zero,8(sp) - 1208: c602 sw zero,12(sp) - 120a: 3931 jal e26 - 120c: 4585 li a1,1 - 120e: 20000513 li a0,512 - 1212: 3911 jal e26 - 1214: 4501 li a0,0 - 1216: 361d jal d3c - 1218: 40011537 lui a0,0x40011 - 121c: 0fe00793 li a5,254 - 1220: 004c addi a1,sp,4 - 1222: 80050513 addi a0,a0,-2048 # 40010800 <_eusrstack+0x2000b800> - 1226: 40012437 lui s0,0x40012 - 122a: 827c sh a5,4(sp) - 122c: c602 sw zero,12(sp) - 122e: eeaff0ef jal ra,918 - 1232: 40040513 addi a0,s0,1024 # 40012400 <_eusrstack+0x2000d400> - 1236: a96ff0ef jal ra,4cc - 123a: 40040513 addi a0,s0,1024 - 123e: c6eff0ef jal ra,6ac - 1242: 85aa mv a1,a0 - 1244: 82a19a23 sh a0,-1996(gp) # 2000019c - 1248: 00008537 lui a0,0x8 - 124c: 44850513 addi a0,a0,1096 # 8448 <_read+0x30> - 1250: 28f050ef jal ra,6cde - 1254: 000e07b7 lui a5,0xe0 - 1258: ce3e sw a5,28(sp) - 125a: 080c addi a1,sp,16 - 125c: 4785 li a5,1 - 125e: 40040513 addi a0,s0,1024 - 1262: 02f10223 sb a5,36(sp) - 1266: c802 sw zero,16(sp) - 1268: ca02 sw zero,20(sp) - 126a: cc02 sw zero,24(sp) - 126c: d002 sw zero,32(sp) - 126e: a86ff0ef jal ra,4f4 - 1272: 4585 li a1,1 - 1274: 40040513 addi a0,s0,1024 - 1278: ad2ff0ef jal ra,54a - 127c: 4585 li a1,1 - 127e: 40040513 addi a0,s0,1024 - 1282: c08ff0ef jal ra,68a - 1286: 4581 li a1,0 - 1288: 40040513 addi a0,s0,1024 - 128c: bd4ff0ef jal ra,660 - 1290: 40040513 addi a0,s0,1024 - 1294: ac6ff0ef jal ra,55a - 1298: 40040493 addi s1,s0,1024 - 129c: 8526 mv a0,s1 - 129e: ac6ff0ef jal ra,564 - 12a2: fd6d bnez a0,129c - 12a4: 40040513 addi a0,s0,1024 - 12a8: 40012437 lui s0,0x40012 - 12ac: ac0ff0ef jal ra,56c - 12b0: 40040493 addi s1,s0,1024 # 40012400 <_eusrstack+0x2000d400> - 12b4: 8526 mv a0,s1 - 12b6: ac0ff0ef jal ra,576 - 12ba: fd6d bnez a0,12b4 - 12bc: 80000537 lui a0,0x80000 - 12c0: 3cb5 jal d3c - 12c2: 40040513 addi a0,s0,1024 - 12c6: 4585 li a1,1 - 12c8: bb0ff0ef jal ra,678 - 12cc: 02000593 li a1,32 - 12d0: 40040513 addi a0,s0,1024 - 12d4: bc8ff0ef jal ra,69c - 12d8: 6145 addi sp,sp,48 - 12da: ebbfe06f j 194 <__riscv_restore_0> +000011bc <__sfmoreglue>: + 11bc: 1141 addi sp,sp,-16 + 11be: c226 sw s1,4(sp) + 11c0: 06800613 li a2,104 + 11c4: fff58493 addi s1,a1,-1 + 11c8: 02c484b3 mul s1,s1,a2 + 11cc: c04a sw s2,0(sp) + 11ce: 892e mv s2,a1 + 11d0: c422 sw s0,8(sp) + 11d2: c606 sw ra,12(sp) + 11d4: 07448593 addi a1,s1,116 + 11d8: 261d jal 14fe <_malloc_r> + 11da: 842a mv s0,a0 + 11dc: cd01 beqz a0,11f4 <__sfmoreglue+0x38> + 11de: 00052023 sw zero,0(a0) + 11e2: 01252223 sw s2,4(a0) + 11e6: 0531 addi a0,a0,12 + 11e8: c408 sw a0,8(s0) + 11ea: 06848613 addi a2,s1,104 + 11ee: 4581 li a1,0 + 11f0: fb1fe0ef jal ra,1a0 + 11f4: 8522 mv a0,s0 + 11f6: 40b2 lw ra,12(sp) + 11f8: 4422 lw s0,8(sp) + 11fa: 4492 lw s1,4(sp) + 11fc: 4902 lw s2,0(sp) + 11fe: 0141 addi sp,sp,16 + 1200: 8082 ret -000012de : - 12de: e93fe2ef jal t0,170 <__riscv_save_0> - 12e2: 1101 addi sp,sp,-32 - 12e4: 4585 li a1,1 - 12e6: 4521 li a0,8 - 12e8: 3e3d jal e26 - 12ea: 4585 li a1,1 - 12ec: 6511 lui a0,0x4 - 12ee: 3e99 jal e44 - 12f0: 40011437 lui s0,0x40011 - 12f4: 6785 lui a5,0x1 - 12f6: 448d li s1,3 - 12f8: 807c sh a5,0(sp) - 12fa: 858a mv a1,sp - 12fc: 47c1 li a5,16 - 12fe: c0040513 addi a0,s0,-1024 # 40010c00 <_eusrstack+0x2000bc00> - 1302: c43e sw a5,8(sp) - 1304: c226 sw s1,4(sp) - 1306: e12ff0ef jal ra,918 - 130a: c0040513 addi a0,s0,-1024 - 130e: 6585 lui a1,0x1 - 1310: edcff0ef jal ra,9ec - 1314: 6789 lui a5,0x2 - 1316: 4961 li s2,24 - 1318: 858a mv a1,sp - 131a: c0040513 addi a0,s0,-1024 - 131e: 807c sh a5,0(sp) - 1320: c44a sw s2,8(sp) - 1322: c226 sw s1,4(sp) - 1324: df4ff0ef jal ra,918 - 1328: 6791 lui a5,0x4 - 132a: 807c sh a5,0(sp) - 132c: 858a mv a1,sp - 132e: 4791 li a5,4 - 1330: c0040513 addi a0,s0,-1024 - 1334: c43e sw a5,8(sp) - 1336: de2ff0ef jal ra,918 - 133a: 77e1 lui a5,0xffff8 - 133c: 858a mv a1,sp - 133e: c0040513 addi a0,s0,-1024 - 1342: 807c sh a5,0(sp) - 1344: c44a sw s2,8(sp) - 1346: c226 sw s1,4(sp) - 1348: dd0ff0ef jal ra,918 - 134c: 010407b7 lui a5,0x1040 - 1350: c63e sw a5,12(sp) - 1352: 000207b7 lui a5,0x20 - 1356: c83e sw a5,16(sp) - 1358: 020007b7 lui a5,0x2000 - 135c: 0785 addi a5,a5,1 - 135e: 40004437 lui s0,0x40004 - 1362: ca3e sw a5,20(sp) - 1364: 47a1 li a5,8 - 1366: cc3e sw a5,24(sp) - 1368: 006c addi a1,sp,12 - 136a: 479d li a5,7 - 136c: 80040513 addi a0,s0,-2048 # 40003800 <_eusrstack+0x1fffe800> - 1370: 86fc sh a5,28(sp) - 1372: 3639 jal e80 - 1374: 4585 li a1,1 - 1376: 80040513 addi a0,s0,-2048 - 137a: 3e25 jal eb2 - 137c: 6105 addi sp,sp,32 - 137e: e17fe06f j 194 <__riscv_restore_0> +00001202 <__sinit>: + 1202: 4d1c lw a5,24(a0) + 1204: e3ad bnez a5,1266 <__sinit+0x64> + 1206: 1141 addi sp,sp,-16 + 1208: c606 sw ra,12(sp) + 120a: c422 sw s0,8(sp) + 120c: 00000797 auipc a5,0x0 + 1210: fa678793 addi a5,a5,-90 # 11b2 <_cleanup_r> + 1214: d51c sw a5,40(a0) + 1216: 81018793 addi a5,gp,-2032 # 20000090 <_global_impure_ptr> + 121a: 439c lw a5,0(a5) + 121c: 04052423 sw zero,72(a0) + 1220: 04052623 sw zero,76(a0) + 1224: 04052823 sw zero,80(a0) + 1228: 00f51463 bne a0,a5,1230 <__sinit+0x2e> + 122c: 4785 li a5,1 + 122e: cd1c sw a5,24(a0) + 1230: 842a mv s0,a0 + 1232: 281d jal 1268 <__sfp> + 1234: c048 sw a0,4(s0) + 1236: 8522 mv a0,s0 + 1238: 2805 jal 1268 <__sfp> + 123a: c408 sw a0,8(s0) + 123c: 8522 mv a0,s0 + 123e: 202d jal 1268 <__sfp> + 1240: c448 sw a0,12(s0) + 1242: 4048 lw a0,4(s0) + 1244: 4601 li a2,0 + 1246: 4591 li a1,4 + 1248: 3711 jal 114c + 124a: 4408 lw a0,8(s0) + 124c: 4605 li a2,1 + 124e: 45a5 li a1,9 + 1250: 3df5 jal 114c + 1252: 4448 lw a0,12(s0) + 1254: 4609 li a2,2 + 1256: 45c9 li a1,18 + 1258: 3dd5 jal 114c + 125a: 4785 li a5,1 + 125c: cc1c sw a5,24(s0) + 125e: 40b2 lw ra,12(sp) + 1260: 4422 lw s0,8(sp) + 1262: 0141 addi sp,sp,16 + 1264: 8082 ret + 1266: 8082 ret -00001382 : - 1382: dd5fe2ef jal t0,156 <__riscv_save_4> - 1386: 400044b7 lui s1,0x40004 - 138a: 892a mv s2,a0 - 138c: 0c900413 li s0,201 - 1390: 80048993 addi s3,s1,-2048 # 40003800 <_eusrstack+0x1fffe800> - 1394: 4589 li a1,2 - 1396: 854e mv a0,s3 - 1398: 3e35 jal ed4 - 139a: c50d beqz a0,13c4 - 139c: 85ca mv a1,s2 - 139e: 80048513 addi a0,s1,-2048 - 13a2: 400044b7 lui s1,0x40004 - 13a6: 361d jal ecc - 13a8: 0c900413 li s0,201 - 13ac: 80048913 addi s2,s1,-2048 # 40003800 <_eusrstack+0x1fffe800> - 13b0: 4585 li a1,1 - 13b2: 854a mv a0,s2 - 13b4: 3605 jal ed4 - 13b6: cd11 beqz a0,13d2 - 13b8: 80048513 addi a0,s1,-2048 - 13bc: 3e11 jal ed0 - 13be: 0ff57513 andi a0,a0,255 - 13c2: a031 j 13ce - 13c4: 147d addi s0,s0,-1 - 13c6: 0ff47413 andi s0,s0,255 - 13ca: f469 bnez s0,1394 - 13cc: 4501 li a0,0 - 13ce: dbdfe06f j 18a <__riscv_restore_4> - 13d2: 147d addi s0,s0,-1 - 13d4: 0ff47413 andi s0,s0,255 - 13d8: fc61 bnez s0,13b0 - 13da: bfcd j 13cc +00001268 <__sfp>: + 1268: 1141 addi sp,sp,-16 + 126a: 81018793 addi a5,gp,-2032 # 20000090 <_global_impure_ptr> + 126e: c226 sw s1,4(sp) + 1270: 4384 lw s1,0(a5) + 1272: c04a sw s2,0(sp) + 1274: c606 sw ra,12(sp) + 1276: 4c9c lw a5,24(s1) + 1278: c422 sw s0,8(sp) + 127a: 892a mv s2,a0 + 127c: e399 bnez a5,1282 <__sfp+0x1a> + 127e: 8526 mv a0,s1 + 1280: 3749 jal 1202 <__sinit> + 1282: 04848493 addi s1,s1,72 + 1286: 4480 lw s0,8(s1) + 1288: 40dc lw a5,4(s1) + 128a: 17fd addi a5,a5,-1 + 128c: 0007d663 bgez a5,1298 <__sfp+0x30> + 1290: 409c lw a5,0(s1) + 1292: cfb9 beqz a5,12f0 <__sfp+0x88> + 1294: 4084 lw s1,0(s1) + 1296: bfc5 j 1286 <__sfp+0x1e> + 1298: 00c41703 lh a4,12(s0) + 129c: e739 bnez a4,12ea <__sfp+0x82> + 129e: 77c1 lui a5,0xffff0 + 12a0: 0785 addi a5,a5,1 + 12a2: 06042223 sw zero,100(s0) + 12a6: 00042023 sw zero,0(s0) + 12aa: 00042223 sw zero,4(s0) + 12ae: 00042423 sw zero,8(s0) + 12b2: c45c sw a5,12(s0) + 12b4: 00042823 sw zero,16(s0) + 12b8: 00042a23 sw zero,20(s0) + 12bc: 00042c23 sw zero,24(s0) + 12c0: 4621 li a2,8 + 12c2: 4581 li a1,0 + 12c4: 05c40513 addi a0,s0,92 + 12c8: ed9fe0ef jal ra,1a0 + 12cc: 02042a23 sw zero,52(s0) + 12d0: 02042c23 sw zero,56(s0) + 12d4: 04042423 sw zero,72(s0) + 12d8: 04042623 sw zero,76(s0) + 12dc: 8522 mv a0,s0 + 12de: 40b2 lw ra,12(sp) + 12e0: 4422 lw s0,8(sp) + 12e2: 4492 lw s1,4(sp) + 12e4: 4902 lw s2,0(sp) + 12e6: 0141 addi sp,sp,16 + 12e8: 8082 ret + 12ea: 06840413 addi s0,s0,104 + 12ee: bf71 j 128a <__sfp+0x22> + 12f0: 4591 li a1,4 + 12f2: 854a mv a0,s2 + 12f4: 35e1 jal 11bc <__sfmoreglue> + 12f6: c088 sw a0,0(s1) + 12f8: fd51 bnez a0,1294 <__sfp+0x2c> + 12fa: 47b1 li a5,12 + 12fc: 00f92023 sw a5,0(s2) + 1300: 4401 li s0,0 + 1302: bfe9 j 12dc <__sfp+0x74> -000013dc : - 13dc: d95fe2ef jal t0,170 <__riscv_save_0> - 13e0: 40011437 lui s0,0x40011 - 13e4: 4601 li a2,0 - 13e6: 6585 lui a1,0x1 - 13e8: c0040513 addi a0,s0,-1024 # 40010c00 <_eusrstack+0x2000bc00> - 13ec: e04ff0ef jal ra,9f0 - 13f0: 4515 li a0,5 - 13f2: 3f41 jal 1382 - 13f4: 0ff00513 li a0,255 - 13f8: 3769 jal 1382 - 13fa: 84aa mv s1,a0 - 13fc: 4605 li a2,1 - 13fe: c0040513 addi a0,s0,-1024 - 1402: 6585 lui a1,0x1 - 1404: decff0ef jal ra,9f0 - 1408: 8526 mv a0,s1 - 140a: d8bfe06f j 194 <__riscv_restore_0> +00001304 <_fwalk_reent>: + 1304: 7179 addi sp,sp,-48 + 1306: d422 sw s0,40(sp) + 1308: d04a sw s2,32(sp) + 130a: cc52 sw s4,24(sp) + 130c: ca56 sw s5,20(sp) + 130e: c85a sw s6,16(sp) + 1310: c65e sw s7,12(sp) + 1312: d606 sw ra,44(sp) + 1314: d226 sw s1,36(sp) + 1316: ce4e sw s3,28(sp) + 1318: 8a2a mv s4,a0 + 131a: 8aae mv s5,a1 + 131c: 04850413 addi s0,a0,72 + 1320: 4901 li s2,0 + 1322: 4b05 li s6,1 + 1324: 5bfd li s7,-1 + 1326: ec09 bnez s0,1340 <_fwalk_reent+0x3c> + 1328: 50b2 lw ra,44(sp) + 132a: 5422 lw s0,40(sp) + 132c: 854a mv a0,s2 + 132e: 5492 lw s1,36(sp) + 1330: 5902 lw s2,32(sp) + 1332: 49f2 lw s3,28(sp) + 1334: 4a62 lw s4,24(sp) + 1336: 4ad2 lw s5,20(sp) + 1338: 4b42 lw s6,16(sp) + 133a: 4bb2 lw s7,12(sp) + 133c: 6145 addi sp,sp,48 + 133e: 8082 ret + 1340: 4404 lw s1,8(s0) + 1342: 00442983 lw s3,4(s0) + 1346: 19fd addi s3,s3,-1 + 1348: 0009d463 bgez s3,1350 <_fwalk_reent+0x4c> + 134c: 4000 lw s0,0(s0) + 134e: bfe1 j 1326 <_fwalk_reent+0x22> + 1350: 24de lhu a5,12(s1) + 1352: 00fb7b63 bgeu s6,a5,1368 <_fwalk_reent+0x64> + 1356: 00e49783 lh a5,14(s1) + 135a: 01778763 beq a5,s7,1368 <_fwalk_reent+0x64> + 135e: 85a6 mv a1,s1 + 1360: 8552 mv a0,s4 + 1362: 9a82 jalr s5 + 1364: 00a96933 or s2,s2,a0 + 1368: 06848493 addi s1,s1,104 + 136c: bfe9 j 1346 <_fwalk_reent+0x42> -0000140e : - 140e: d63fe2ef jal t0,170 <__riscv_save_0> - 1412: 37e9 jal 13dc - 1414: 8905 andi a0,a0,1 - 1416: fd75 bnez a0,1412 - 1418: d7dfe06f j 194 <__riscv_restore_0> +0000136e <__swhatbuf_r>: + 136e: 7119 addi sp,sp,-128 + 1370: daa6 sw s1,116(sp) + 1372: 84ae mv s1,a1 + 1374: 00e59583 lh a1,14(a1) + 1378: dca2 sw s0,120(sp) + 137a: de86 sw ra,124(sp) + 137c: 8432 mv s0,a2 + 137e: 0005db63 bgez a1,1394 <__swhatbuf_r+0x26> + 1382: 24de lhu a5,12(s1) + 1384: 0006a023 sw zero,0(a3) + 1388: 0807f793 andi a5,a5,128 + 138c: e785 bnez a5,13b4 <__swhatbuf_r+0x46> + 138e: 40000793 li a5,1024 + 1392: a01d j 13b8 <__swhatbuf_r+0x4a> + 1394: 0830 addi a2,sp,24 + 1396: c636 sw a3,12(sp) + 1398: 1fd000ef jal ra,1d94 <_fstat_r> + 139c: 46b2 lw a3,12(sp) + 139e: fe0542e3 bltz a0,1382 <__swhatbuf_r+0x14> + 13a2: 4772 lw a4,28(sp) + 13a4: 67bd lui a5,0xf + 13a6: 8ff9 and a5,a5,a4 + 13a8: 7779 lui a4,0xffffe + 13aa: 97ba add a5,a5,a4 + 13ac: 0017b793 seqz a5,a5 + 13b0: c29c sw a5,0(a3) + 13b2: bff1 j 138e <__swhatbuf_r+0x20> + 13b4: 04000793 li a5,64 + 13b8: c01c sw a5,0(s0) + 13ba: 50f6 lw ra,124(sp) + 13bc: 5466 lw s0,120(sp) + 13be: 54d6 lw s1,116(sp) + 13c0: 4501 li a0,0 + 13c2: 6109 addi sp,sp,128 + 13c4: 8082 ret -0000141c : - 141c: d55fe2ef jal t0,170 <__riscv_save_0> - 1420: 40011437 lui s0,0x40011 - 1424: 4601 li a2,0 - 1426: 6585 lui a1,0x1 - 1428: c0040513 addi a0,s0,-1024 # 40010c00 <_eusrstack+0x2000bc00> - 142c: dc4ff0ef jal ra,9f0 - 1430: 4519 li a0,6 - 1432: 3f81 jal 1382 - 1434: 4605 li a2,1 - 1436: 6585 lui a1,0x1 - 1438: c0040513 addi a0,s0,-1024 - 143c: db4ff0ef jal ra,9f0 - 1440: d55fe06f j 194 <__riscv_restore_0> +000013c6 <__smakebuf_r>: + 13c6: 25de lhu a5,12(a1) + 13c8: 1101 addi sp,sp,-32 + 13ca: cc22 sw s0,24(sp) + 13cc: ce06 sw ra,28(sp) + 13ce: ca26 sw s1,20(sp) + 13d0: c84a sw s2,16(sp) + 13d2: 8b89 andi a5,a5,2 + 13d4: 842e mv s0,a1 + 13d6: cf89 beqz a5,13f0 <__smakebuf_r+0x2a> + 13d8: 04740793 addi a5,s0,71 + 13dc: c01c sw a5,0(s0) + 13de: c81c sw a5,16(s0) + 13e0: 4785 li a5,1 + 13e2: c85c sw a5,20(s0) + 13e4: 40f2 lw ra,28(sp) + 13e6: 4462 lw s0,24(sp) + 13e8: 44d2 lw s1,20(sp) + 13ea: 4942 lw s2,16(sp) + 13ec: 6105 addi sp,sp,32 + 13ee: 8082 ret + 13f0: 0074 addi a3,sp,12 + 13f2: 0030 addi a2,sp,8 + 13f4: 84aa mv s1,a0 + 13f6: 3fa5 jal 136e <__swhatbuf_r> + 13f8: 45a2 lw a1,8(sp) + 13fa: 892a mv s2,a0 + 13fc: 8526 mv a0,s1 + 13fe: 2201 jal 14fe <_malloc_r> + 1400: e919 bnez a0,1416 <__smakebuf_r+0x50> + 1402: 00c41783 lh a5,12(s0) + 1406: 2007f713 andi a4,a5,512 + 140a: ff69 bnez a4,13e4 <__smakebuf_r+0x1e> + 140c: 9bf1 andi a5,a5,-4 + 140e: 0027e793 ori a5,a5,2 + 1412: a45e sh a5,12(s0) + 1414: b7d1 j 13d8 <__smakebuf_r+0x12> + 1416: 00000797 auipc a5,0x0 + 141a: d9c78793 addi a5,a5,-612 # 11b2 <_cleanup_r> + 141e: d49c sw a5,40(s1) + 1420: 245e lhu a5,12(s0) + 1422: c008 sw a0,0(s0) + 1424: c808 sw a0,16(s0) + 1426: 0807e793 ori a5,a5,128 + 142a: a45e sh a5,12(s0) + 142c: 47a2 lw a5,8(sp) + 142e: c85c sw a5,20(s0) + 1430: 47b2 lw a5,12(sp) + 1432: cf81 beqz a5,144a <__smakebuf_r+0x84> + 1434: 00e41583 lh a1,14(s0) + 1438: 8526 mv a0,s1 + 143a: 185000ef jal ra,1dbe <_isatty_r> + 143e: c511 beqz a0,144a <__smakebuf_r+0x84> + 1440: 245e lhu a5,12(s0) + 1442: 9bf1 andi a5,a5,-4 + 1444: 0017e793 ori a5,a5,1 + 1448: a45e sh a5,12(s0) + 144a: 245e lhu a5,12(s0) + 144c: 00f96933 or s2,s2,a5 + 1450: 01241623 sh s2,12(s0) + 1454: bf41 j 13e4 <__smakebuf_r+0x1e> -00001444 : - 1444: d2dfe2ef jal t0,170 <__riscv_save_0> - 1448: 00c51413 slli s0,a0,0xc - 144c: 400114b7 lui s1,0x40011 - 1450: 37f1 jal 141c - 1452: 3f75 jal 140e - 1454: 4601 li a2,0 - 1456: 6585 lui a1,0x1 - 1458: c0048513 addi a0,s1,-1024 # 40010c00 <_eusrstack+0x2000bc00> - 145c: d94ff0ef jal ra,9f0 - 1460: 02000513 li a0,32 - 1464: 3f39 jal 1382 - 1466: 01045513 srli a0,s0,0x10 - 146a: 0ff57513 andi a0,a0,255 - 146e: 3f11 jal 1382 - 1470: 00845513 srli a0,s0,0x8 - 1474: 0f057513 andi a0,a0,240 - 1478: 3729 jal 1382 - 147a: 4501 li a0,0 - 147c: 3719 jal 1382 - 147e: 4605 li a2,1 - 1480: 6585 lui a1,0x1 - 1482: c0048513 addi a0,s1,-1024 - 1486: d6aff0ef jal ra,9f0 - 148a: 3751 jal 140e - 148c: d09fe06f j 194 <__riscv_restore_0> +00001456 <_free_r>: + 1456: c1dd beqz a1,14fc <_free_r+0xa6> + 1458: ffc5a783 lw a5,-4(a1) + 145c: 1141 addi sp,sp,-16 + 145e: c422 sw s0,8(sp) + 1460: c606 sw ra,12(sp) + 1462: c226 sw s1,4(sp) + 1464: ffc58413 addi s0,a1,-4 + 1468: 0007d363 bgez a5,146e <_free_r+0x18> + 146c: 943e add s0,s0,a5 + 146e: 84aa mv s1,a0 + 1470: 1bb000ef jal ra,1e2a <__malloc_lock> + 1474: 84418793 addi a5,gp,-1980 # 200000c4 <__malloc_free_list> + 1478: 439c lw a5,0(a5) + 147a: ef81 bnez a5,1492 <_free_r+0x3c> + 147c: 00042223 sw zero,4(s0) + 1480: 8481a223 sw s0,-1980(gp) # 200000c4 <__malloc_free_list> + 1484: 4422 lw s0,8(sp) + 1486: 40b2 lw ra,12(sp) + 1488: 8526 mv a0,s1 + 148a: 4492 lw s1,4(sp) + 148c: 0141 addi sp,sp,16 + 148e: 19f0006f j 1e2c <__malloc_unlock> + 1492: 00f47e63 bgeu s0,a5,14ae <_free_r+0x58> + 1496: 4014 lw a3,0(s0) + 1498: 00d40733 add a4,s0,a3 + 149c: 00e79663 bne a5,a4,14a8 <_free_r+0x52> + 14a0: 4398 lw a4,0(a5) + 14a2: 43dc lw a5,4(a5) + 14a4: 9736 add a4,a4,a3 + 14a6: c018 sw a4,0(s0) + 14a8: c05c sw a5,4(s0) + 14aa: bfd9 j 1480 <_free_r+0x2a> + 14ac: 87ba mv a5,a4 + 14ae: 43d8 lw a4,4(a5) + 14b0: c319 beqz a4,14b6 <_free_r+0x60> + 14b2: fee47de3 bgeu s0,a4,14ac <_free_r+0x56> + 14b6: 4394 lw a3,0(a5) + 14b8: 00d78633 add a2,a5,a3 + 14bc: 00861f63 bne a2,s0,14da <_free_r+0x84> + 14c0: 4010 lw a2,0(s0) + 14c2: 96b2 add a3,a3,a2 + 14c4: c394 sw a3,0(a5) + 14c6: 00d78633 add a2,a5,a3 + 14ca: fac71de3 bne a4,a2,1484 <_free_r+0x2e> + 14ce: 4310 lw a2,0(a4) + 14d0: 4358 lw a4,4(a4) + 14d2: 96b2 add a3,a3,a2 + 14d4: c394 sw a3,0(a5) + 14d6: c3d8 sw a4,4(a5) + 14d8: b775 j 1484 <_free_r+0x2e> + 14da: 00c47563 bgeu s0,a2,14e4 <_free_r+0x8e> + 14de: 47b1 li a5,12 + 14e0: c09c sw a5,0(s1) + 14e2: b74d j 1484 <_free_r+0x2e> + 14e4: 4010 lw a2,0(s0) + 14e6: 00c406b3 add a3,s0,a2 + 14ea: 00d71663 bne a4,a3,14f6 <_free_r+0xa0> + 14ee: 4314 lw a3,0(a4) + 14f0: 4358 lw a4,4(a4) + 14f2: 96b2 add a3,a3,a2 + 14f4: c014 sw a3,0(s0) + 14f6: c058 sw a4,4(s0) + 14f8: c3c0 sw s0,4(a5) + 14fa: b769 j 1484 <_free_r+0x2e> + 14fc: 8082 ret -00001490 : - 1490: ce1fe2ef jal t0,170 <__riscv_save_0> - 1494: 892a mv s2,a0 - 1496: 40011537 lui a0,0x40011 - 149a: 842e mv s0,a1 - 149c: c0050513 addi a0,a0,-1024 # 40010c00 <_eusrstack+0x2000bc00> - 14a0: 6585 lui a1,0x1 - 14a2: 84b2 mv s1,a2 - 14a4: 4601 li a2,0 - 14a6: d4aff0ef jal ra,9f0 - 14aa: 450d li a0,3 - 14ac: 3dd9 jal 1382 - 14ae: 01045513 srli a0,s0,0x10 - 14b2: 0ff57513 andi a0,a0,255 - 14b6: 35f1 jal 1382 - 14b8: 00845513 srli a0,s0,0x8 - 14bc: 0ff57513 andi a0,a0,255 - 14c0: 35c9 jal 1382 - 14c2: 0ff47513 andi a0,s0,255 - 14c6: 3d75 jal 1382 - 14c8: 4401 li s0,0 - 14ca: 01041793 slli a5,s0,0x10 - 14ce: 83c1 srli a5,a5,0x10 - 14d0: 0097ec63 bltu a5,s1,14e8 - 14d4: 40011537 lui a0,0x40011 - 14d8: 4605 li a2,1 - 14da: 6585 lui a1,0x1 - 14dc: c0050513 addi a0,a0,-1024 # 40010c00 <_eusrstack+0x2000bc00> - 14e0: d10ff0ef jal ra,9f0 - 14e4: cb1fe06f j 194 <__riscv_restore_0> - 14e8: 0ff00513 li a0,255 - 14ec: 3d59 jal 1382 - 14ee: 008907b3 add a5,s2,s0 - 14f2: a388 sb a0,0(a5) - 14f4: 0405 addi s0,s0,1 - 14f6: bfd1 j 14ca +000014fe <_malloc_r>: + 14fe: 1101 addi sp,sp,-32 + 1500: ca26 sw s1,20(sp) + 1502: 00358493 addi s1,a1,3 + 1506: 98f1 andi s1,s1,-4 + 1508: ce06 sw ra,28(sp) + 150a: cc22 sw s0,24(sp) + 150c: c84a sw s2,16(sp) + 150e: c64e sw s3,12(sp) + 1510: 04a1 addi s1,s1,8 + 1512: 47b1 li a5,12 + 1514: 04f4f363 bgeu s1,a5,155a <_malloc_r+0x5c> + 1518: 44b1 li s1,12 + 151a: 04b4e263 bltu s1,a1,155e <_malloc_r+0x60> + 151e: 892a mv s2,a0 + 1520: 10b000ef jal ra,1e2a <__malloc_lock> + 1524: 84418793 addi a5,gp,-1980 # 200000c4 <__malloc_free_list> + 1528: 4398 lw a4,0(a5) + 152a: 843a mv s0,a4 + 152c: e039 bnez s0,1572 <_malloc_r+0x74> + 152e: 84818793 addi a5,gp,-1976 # 200000c8 <__malloc_sbrk_start> + 1532: 439c lw a5,0(a5) + 1534: e791 bnez a5,1540 <_malloc_r+0x42> + 1536: 4581 li a1,0 + 1538: 854a mv a0,s2 + 153a: 2f05 jal 1c6a <_sbrk_r> + 153c: 84a1a423 sw a0,-1976(gp) # 200000c8 <__malloc_sbrk_start> + 1540: 85a6 mv a1,s1 + 1542: 854a mv a0,s2 + 1544: 271d jal 1c6a <_sbrk_r> + 1546: 59fd li s3,-1 + 1548: 07351963 bne a0,s3,15ba <_malloc_r+0xbc> + 154c: 47b1 li a5,12 + 154e: 00f92023 sw a5,0(s2) + 1552: 854a mv a0,s2 + 1554: 0d9000ef jal ra,1e2c <__malloc_unlock> + 1558: a029 j 1562 <_malloc_r+0x64> + 155a: fc04d0e3 bgez s1,151a <_malloc_r+0x1c> + 155e: 47b1 li a5,12 + 1560: c11c sw a5,0(a0) + 1562: 4501 li a0,0 + 1564: 40f2 lw ra,28(sp) + 1566: 4462 lw s0,24(sp) + 1568: 44d2 lw s1,20(sp) + 156a: 4942 lw s2,16(sp) + 156c: 49b2 lw s3,12(sp) + 156e: 6105 addi sp,sp,32 + 1570: 8082 ret + 1572: 401c lw a5,0(s0) + 1574: 8f85 sub a5,a5,s1 + 1576: 0207cf63 bltz a5,15b4 <_malloc_r+0xb6> + 157a: 46ad li a3,11 + 157c: 00f6f663 bgeu a3,a5,1588 <_malloc_r+0x8a> + 1580: c01c sw a5,0(s0) + 1582: 943e add s0,s0,a5 + 1584: c004 sw s1,0(s0) + 1586: a031 j 1592 <_malloc_r+0x94> + 1588: 405c lw a5,4(s0) + 158a: 02871363 bne a4,s0,15b0 <_malloc_r+0xb2> + 158e: 84f1a223 sw a5,-1980(gp) # 200000c4 <__malloc_free_list> + 1592: 854a mv a0,s2 + 1594: 099000ef jal ra,1e2c <__malloc_unlock> + 1598: 00b40513 addi a0,s0,11 + 159c: 00440793 addi a5,s0,4 + 15a0: 9961 andi a0,a0,-8 + 15a2: 40f50733 sub a4,a0,a5 + 15a6: df5d beqz a4,1564 <_malloc_r+0x66> + 15a8: 943a add s0,s0,a4 + 15aa: 8f89 sub a5,a5,a0 + 15ac: c01c sw a5,0(s0) + 15ae: bf5d j 1564 <_malloc_r+0x66> + 15b0: c35c sw a5,4(a4) + 15b2: b7c5 j 1592 <_malloc_r+0x94> + 15b4: 8722 mv a4,s0 + 15b6: 4040 lw s0,4(s0) + 15b8: bf95 j 152c <_malloc_r+0x2e> + 15ba: 00350413 addi s0,a0,3 + 15be: 9871 andi s0,s0,-4 + 15c0: fc8502e3 beq a0,s0,1584 <_malloc_r+0x86> + 15c4: 40a405b3 sub a1,s0,a0 + 15c8: 854a mv a0,s2 + 15ca: 2545 jal 1c6a <_sbrk_r> + 15cc: fb351ce3 bne a0,s3,1584 <_malloc_r+0x86> + 15d0: bfb5 j 154c <_malloc_r+0x4e> -000014f8 : - 14f8: c79fe2ef jal t0,170 <__riscv_save_0> - 14fc: 842e mv s0,a1 - 14fe: 892a mv s2,a0 - 1500: 84b2 mv s1,a2 - 1502: 3f29 jal 141c - 1504: 40011537 lui a0,0x40011 - 1508: 4601 li a2,0 - 150a: 6585 lui a1,0x1 - 150c: c0050513 addi a0,a0,-1024 # 40010c00 <_eusrstack+0x2000bc00> - 1510: ce0ff0ef jal ra,9f0 - 1514: 4509 li a0,2 - 1516: 35b5 jal 1382 - 1518: 01045513 srli a0,s0,0x10 - 151c: 0ff57513 andi a0,a0,255 - 1520: 358d jal 1382 - 1522: 00845513 srli a0,s0,0x8 - 1526: 0ff57513 andi a0,a0,255 - 152a: 3da1 jal 1382 - 152c: 0ff47513 andi a0,s0,255 - 1530: 3d89 jal 1382 - 1532: 4401 li s0,0 - 1534: 01041793 slli a5,s0,0x10 - 1538: 83c1 srli a5,a5,0x10 - 153a: 0097ed63 bltu a5,s1,1554 - 153e: 40011537 lui a0,0x40011 - 1542: 4605 li a2,1 - 1544: 6585 lui a1,0x1 - 1546: c0050513 addi a0,a0,-1024 # 40010c00 <_eusrstack+0x2000bc00> - 154a: ca6ff0ef jal ra,9f0 - 154e: 35c1 jal 140e - 1550: c45fe06f j 194 <__riscv_restore_0> - 1554: 008907b3 add a5,s2,s0 - 1558: 2388 lbu a0,0(a5) - 155a: 0405 addi s0,s0,1 - 155c: 351d jal 1382 - 155e: bfd9 j 1534 +000015d2 <__sfputc_r>: + 15d2: 461c lw a5,8(a2) + 15d4: 17fd addi a5,a5,-1 + 15d6: c61c sw a5,8(a2) + 15d8: 0007da63 bgez a5,15ec <__sfputc_r+0x1a> + 15dc: 4e18 lw a4,24(a2) + 15de: 00e7c563 blt a5,a4,15e8 <__sfputc_r+0x16> + 15e2: 47a9 li a5,10 + 15e4: 00f59463 bne a1,a5,15ec <__sfputc_r+0x1a> + 15e8: 819ff06f j e00 <__swbuf_r> + 15ec: 421c lw a5,0(a2) + 15ee: 852e mv a0,a1 + 15f0: 00178713 addi a4,a5,1 + 15f4: c218 sw a4,0(a2) + 15f6: a38c sb a1,0(a5) + 15f8: 8082 ret -00001560 : - 1560: bf7fe2ef jal t0,156 <__riscv_save_4> - 1564: 0ff5f713 andi a4,a1,255 - 1568: 10000793 li a5,256 - 156c: 8f99 sub a5,a5,a4 - 156e: 843e mv s0,a5 - 1570: 07c2 slli a5,a5,0x10 - 1572: 83c1 srli a5,a5,0x10 - 1574: 89aa mv s3,a0 - 1576: 892e mv s2,a1 - 1578: 84b2 mv s1,a2 - 157a: 00f67363 bgeu a2,a5,1580 - 157e: 8432 mv s0,a2 - 1580: 0442 slli s0,s0,0x10 - 1582: 8041 srli s0,s0,0x10 - 1584: 10000a13 li s4,256 - 1588: 8622 mv a2,s0 - 158a: 85ca mv a1,s2 - 158c: 854e mv a0,s3 - 158e: 37ad jal 14f8 - 1590: 00848f63 beq s1,s0,15ae - 1594: 8c81 sub s1,s1,s0 - 1596: 04c2 slli s1,s1,0x10 - 1598: 80c1 srli s1,s1,0x10 - 159a: 99a2 add s3,s3,s0 - 159c: 9922 add s2,s2,s0 - 159e: 8426 mv s0,s1 - 15a0: 009a7463 bgeu s4,s1,15a8 - 15a4: 10000413 li s0,256 - 15a8: 0442 slli s0,s0,0x10 - 15aa: 8041 srli s0,s0,0x10 - 15ac: bff1 j 1588 - 15ae: bddfe06f j 18a <__riscv_restore_4> +000015fa <__sfputs_r>: + 15fa: 1101 addi sp,sp,-32 + 15fc: cc22 sw s0,24(sp) + 15fe: ca26 sw s1,20(sp) + 1600: c84a sw s2,16(sp) + 1602: c64e sw s3,12(sp) + 1604: c452 sw s4,8(sp) + 1606: ce06 sw ra,28(sp) + 1608: 892a mv s2,a0 + 160a: 89ae mv s3,a1 + 160c: 8432 mv s0,a2 + 160e: 00d604b3 add s1,a2,a3 + 1612: 5a7d li s4,-1 + 1614: 00941463 bne s0,s1,161c <__sfputs_r+0x22> + 1618: 4501 li a0,0 + 161a: a801 j 162a <__sfputs_r+0x30> + 161c: 200c lbu a1,0(s0) + 161e: 864e mv a2,s3 + 1620: 854a mv a0,s2 + 1622: 3f45 jal 15d2 <__sfputc_r> + 1624: 0405 addi s0,s0,1 + 1626: ff4517e3 bne a0,s4,1614 <__sfputs_r+0x1a> + 162a: 40f2 lw ra,28(sp) + 162c: 4462 lw s0,24(sp) + 162e: 44d2 lw s1,20(sp) + 1630: 4942 lw s2,16(sp) + 1632: 49b2 lw s3,12(sp) + 1634: 4a22 lw s4,8(sp) + 1636: 6105 addi sp,sp,32 + 1638: 8082 ret -000015b2 : - 15b2: b97fe2ef jal t0,148 <__riscv_save_10> - 15b6: 01459913 slli s2,a1,0x14 - 15ba: 01495913 srli s2,s2,0x14 - 15be: 6785 lui a5,0x1 - 15c0: 412787b3 sub a5,a5,s2 - 15c4: 843e mv s0,a5 - 15c6: 07c2 slli a5,a5,0x10 - 15c8: 83c1 srli a5,a5,0x10 - 15ca: 8aaa mv s5,a0 - 15cc: 89ae mv s3,a1 - 15ce: 84b2 mv s1,a2 - 15d0: 00c5da13 srli s4,a1,0xc - 15d4: 00f67363 bgeu a2,a5,15da - 15d8: 8432 mv s0,a2 - 15da: 20000b37 lui s6,0x20000 - 15de: 0442 slli s0,s0,0x10 - 15e0: 21cb0b93 addi s7,s6,540 # 2000021c - 15e4: 8041 srli s0,s0,0x10 - 15e6: 21cb0b13 addi s6,s6,540 - 15ea: 0ff00c13 li s8,255 - 15ee: 00ca1c93 slli s9,s4,0xc - 15f2: 6605 lui a2,0x1 - 15f4: 85e6 mv a1,s9 - 15f6: 855e mv a0,s7 - 15f8: 3d61 jal 1490 - 15fa: 4781 li a5,0 - 15fc: 01079713 slli a4,a5,0x10 - 1600: 8341 srli a4,a4,0x10 - 1602: 00876663 bltu a4,s0,160e - 1606: 8622 mv a2,s0 - 1608: 85ce mv a1,s3 - 160a: 8556 mv a0,s5 - 160c: a825 j 1644 - 160e: 0785 addi a5,a5,1 - 1610: 00f90733 add a4,s2,a5 - 1614: 975a add a4,a4,s6 - 1616: fff74703 lbu a4,-1(a4) # 1fff - 161a: ff8701e3 beq a4,s8,15fc - 161e: 8552 mv a0,s4 - 1620: 3515 jal 1444 - 1622: 4781 li a5,0 - 1624: 00fa8733 add a4,s5,a5 - 1628: 2314 lbu a3,0(a4) - 162a: 00f90733 add a4,s2,a5 - 162e: 975e add a4,a4,s7 - 1630: 0785 addi a5,a5,1 - 1632: a314 sb a3,0(a4) - 1634: 01079713 slli a4,a5,0x10 - 1638: 8341 srli a4,a4,0x10 - 163a: fe8765e3 bltu a4,s0,1624 - 163e: 6605 lui a2,0x1 - 1640: 85e6 mv a1,s9 - 1642: 855a mv a0,s6 - 1644: 3f31 jal 1560 - 1646: 02848363 beq s1,s0,166c - 164a: 9aa2 add s5,s5,s0 - 164c: 99a2 add s3,s3,s0 - 164e: 40848433 sub s0,s1,s0 - 1652: 01041493 slli s1,s0,0x10 - 1656: 80c1 srli s1,s1,0x10 - 1658: 6785 lui a5,0x1 - 165a: 0a05 addi s4,s4,1 - 165c: 4901 li s2,0 - 165e: 8426 mv s0,s1 - 1660: 0097f363 bgeu a5,s1,1666 - 1664: 6405 lui s0,0x1 - 1666: 0442 slli s0,s0,0x10 - 1668: 8041 srli s0,s0,0x10 - 166a: b751 j 15ee - 166c: b15fe06f j 180 <__riscv_restore_10> +0000163a <_vfiprintf_r>: + 163a: 7135 addi sp,sp,-160 + 163c: cd22 sw s0,152(sp) + 163e: cb26 sw s1,148(sp) + 1640: c94a sw s2,144(sp) + 1642: c74e sw s3,140(sp) + 1644: cf06 sw ra,156(sp) + 1646: c552 sw s4,136(sp) + 1648: c356 sw s5,132(sp) + 164a: c15a sw s6,128(sp) + 164c: dede sw s7,124(sp) + 164e: dce2 sw s8,120(sp) + 1650: dae6 sw s9,116(sp) + 1652: 89aa mv s3,a0 + 1654: 84ae mv s1,a1 + 1656: 8932 mv s2,a2 + 1658: 8436 mv s0,a3 + 165a: c501 beqz a0,1662 <_vfiprintf_r+0x28> + 165c: 4d1c lw a5,24(a0) + 165e: e391 bnez a5,1662 <_vfiprintf_r+0x28> + 1660: 364d jal 1202 <__sinit> + 1662: 00001797 auipc a5,0x1 + 1666: 88678793 addi a5,a5,-1914 # 1ee8 <__sf_fake_stdin> + 166a: 0cf49763 bne s1,a5,1738 <_vfiprintf_r+0xfe> + 166e: 0049a483 lw s1,4(s3) + 1672: 24de lhu a5,12(s1) + 1674: 8ba1 andi a5,a5,8 + 1676: c3fd beqz a5,175c <_vfiprintf_r+0x122> + 1678: 489c lw a5,16(s1) + 167a: c3ed beqz a5,175c <_vfiprintf_r+0x122> + 167c: 02000793 li a5,32 + 1680: 02f104a3 sb a5,41(sp) + 1684: 03000793 li a5,48 + 1688: d202 sw zero,36(sp) + 168a: 02f10523 sb a5,42(sp) + 168e: c622 sw s0,12(sp) + 1690: 02500b93 li s7,37 + 1694: 00001a97 auipc s5,0x1 + 1698: 894a8a93 addi s5,s5,-1900 # 1f28 <__sf_fake_stdout+0x20> + 169c: 4c05 li s8,1 + 169e: 4b29 li s6,10 + 16a0: 844a mv s0,s2 + 16a2: 201c lbu a5,0(s0) + 16a4: c399 beqz a5,16aa <_vfiprintf_r+0x70> + 16a6: 0d779e63 bne a5,s7,1782 <_vfiprintf_r+0x148> + 16aa: 41240cb3 sub s9,s0,s2 + 16ae: 000c8d63 beqz s9,16c8 <_vfiprintf_r+0x8e> + 16b2: 86e6 mv a3,s9 + 16b4: 864a mv a2,s2 + 16b6: 85a6 mv a1,s1 + 16b8: 854e mv a0,s3 + 16ba: 3781 jal 15fa <__sfputs_r> + 16bc: 57fd li a5,-1 + 16be: 1cf50f63 beq a0,a5,189c <_vfiprintf_r+0x262> + 16c2: 5692 lw a3,36(sp) + 16c4: 96e6 add a3,a3,s9 + 16c6: d236 sw a3,36(sp) + 16c8: 201c lbu a5,0(s0) + 16ca: 1c078963 beqz a5,189c <_vfiprintf_r+0x262> + 16ce: 57fd li a5,-1 + 16d0: 00140913 addi s2,s0,1 + 16d4: c802 sw zero,16(sp) + 16d6: ce02 sw zero,28(sp) + 16d8: ca3e sw a5,20(sp) + 16da: cc02 sw zero,24(sp) + 16dc: 040109a3 sb zero,83(sp) + 16e0: d482 sw zero,104(sp) + 16e2: 00094583 lbu a1,0(s2) + 16e6: 4615 li a2,5 + 16e8: 8556 mv a0,s5 + 16ea: 2725 jal 1e12 + 16ec: 00190413 addi s0,s2,1 + 16f0: 47c2 lw a5,16(sp) + 16f2: e951 bnez a0,1786 <_vfiprintf_r+0x14c> + 16f4: 0107f713 andi a4,a5,16 + 16f8: c709 beqz a4,1702 <_vfiprintf_r+0xc8> + 16fa: 02000713 li a4,32 + 16fe: 04e109a3 sb a4,83(sp) + 1702: 0087f713 andi a4,a5,8 + 1706: c709 beqz a4,1710 <_vfiprintf_r+0xd6> + 1708: 02b00713 li a4,43 + 170c: 04e109a3 sb a4,83(sp) + 1710: 00094683 lbu a3,0(s2) + 1714: 02a00713 li a4,42 + 1718: 06e68f63 beq a3,a4,1796 <_vfiprintf_r+0x15c> + 171c: 47f2 lw a5,28(sp) + 171e: 844a mv s0,s2 + 1720: 4681 li a3,0 + 1722: 4625 li a2,9 + 1724: 2018 lbu a4,0(s0) + 1726: 00140593 addi a1,s0,1 + 172a: fd070713 addi a4,a4,-48 # ffffdfd0 <_eusrstack+0xdfff8fd0> + 172e: 0ae67763 bgeu a2,a4,17dc <_vfiprintf_r+0x1a2> + 1732: cab5 beqz a3,17a6 <_vfiprintf_r+0x16c> + 1734: ce3e sw a5,28(sp) + 1736: a885 j 17a6 <_vfiprintf_r+0x16c> + 1738: 00000797 auipc a5,0x0 + 173c: 7d078793 addi a5,a5,2000 # 1f08 <__sf_fake_stdout> + 1740: 00f49563 bne s1,a5,174a <_vfiprintf_r+0x110> + 1744: 0089a483 lw s1,8(s3) + 1748: b72d j 1672 <_vfiprintf_r+0x38> + 174a: 00000797 auipc a5,0x0 + 174e: 77e78793 addi a5,a5,1918 # 1ec8 <__sf_fake_stderr> + 1752: f2f490e3 bne s1,a5,1672 <_vfiprintf_r+0x38> + 1756: 00c9a483 lw s1,12(s3) + 175a: bf21 j 1672 <_vfiprintf_r+0x38> + 175c: 85a6 mv a1,s1 + 175e: 854e mv a0,s3 + 1760: f5cff0ef jal ra,ebc <__swsetup_r> + 1764: dd01 beqz a0,167c <_vfiprintf_r+0x42> + 1766: 557d li a0,-1 + 1768: 40fa lw ra,156(sp) + 176a: 446a lw s0,152(sp) + 176c: 44da lw s1,148(sp) + 176e: 494a lw s2,144(sp) + 1770: 49ba lw s3,140(sp) + 1772: 4a2a lw s4,136(sp) + 1774: 4a9a lw s5,132(sp) + 1776: 4b0a lw s6,128(sp) + 1778: 5bf6 lw s7,124(sp) + 177a: 5c66 lw s8,120(sp) + 177c: 5cd6 lw s9,116(sp) + 177e: 610d addi sp,sp,160 + 1780: 8082 ret + 1782: 0405 addi s0,s0,1 + 1784: bf39 j 16a2 <_vfiprintf_r+0x68> + 1786: 41550533 sub a0,a0,s5 + 178a: 00ac1533 sll a0,s8,a0 + 178e: 8fc9 or a5,a5,a0 + 1790: c83e sw a5,16(sp) + 1792: 8922 mv s2,s0 + 1794: b7b9 j 16e2 <_vfiprintf_r+0xa8> + 1796: 4732 lw a4,12(sp) + 1798: 00470693 addi a3,a4,4 + 179c: 4318 lw a4,0(a4) + 179e: c636 sw a3,12(sp) + 17a0: 02074763 bltz a4,17ce <_vfiprintf_r+0x194> + 17a4: ce3a sw a4,28(sp) + 17a6: 2018 lbu a4,0(s0) + 17a8: 02e00793 li a5,46 + 17ac: 04f71d63 bne a4,a5,1806 <_vfiprintf_r+0x1cc> + 17b0: 3018 lbu a4,1(s0) + 17b2: 02a00793 li a5,42 + 17b6: 02f71b63 bne a4,a5,17ec <_vfiprintf_r+0x1b2> + 17ba: 47b2 lw a5,12(sp) + 17bc: 0409 addi s0,s0,2 + 17be: 00478713 addi a4,a5,4 + 17c2: 439c lw a5,0(a5) + 17c4: c63a sw a4,12(sp) + 17c6: 0207c163 bltz a5,17e8 <_vfiprintf_r+0x1ae> + 17ca: ca3e sw a5,20(sp) + 17cc: a82d j 1806 <_vfiprintf_r+0x1cc> + 17ce: 40e00733 neg a4,a4 + 17d2: 0027e793 ori a5,a5,2 + 17d6: ce3a sw a4,28(sp) + 17d8: c83e sw a5,16(sp) + 17da: b7f1 j 17a6 <_vfiprintf_r+0x16c> + 17dc: 036787b3 mul a5,a5,s6 + 17e0: 4685 li a3,1 + 17e2: 842e mv s0,a1 + 17e4: 97ba add a5,a5,a4 + 17e6: bf3d j 1724 <_vfiprintf_r+0xea> + 17e8: 57fd li a5,-1 + 17ea: b7c5 j 17ca <_vfiprintf_r+0x190> + 17ec: 0405 addi s0,s0,1 + 17ee: ca02 sw zero,20(sp) + 17f0: 4681 li a3,0 + 17f2: 4781 li a5,0 + 17f4: 4625 li a2,9 + 17f6: 2018 lbu a4,0(s0) + 17f8: 00140593 addi a1,s0,1 + 17fc: fd070713 addi a4,a4,-48 + 1800: 06e67463 bgeu a2,a4,1868 <_vfiprintf_r+0x22e> + 1804: f2f9 bnez a3,17ca <_vfiprintf_r+0x190> + 1806: 200c lbu a1,0(s0) + 1808: 460d li a2,3 + 180a: 00000517 auipc a0,0x0 + 180e: 72650513 addi a0,a0,1830 # 1f30 <__sf_fake_stdout+0x28> + 1812: 2501 jal 1e12 + 1814: cd11 beqz a0,1830 <_vfiprintf_r+0x1f6> + 1816: 00000797 auipc a5,0x0 + 181a: 71a78793 addi a5,a5,1818 # 1f30 <__sf_fake_stdout+0x28> + 181e: 8d1d sub a0,a0,a5 + 1820: 04000793 li a5,64 + 1824: 00a797b3 sll a5,a5,a0 + 1828: 4542 lw a0,16(sp) + 182a: 0405 addi s0,s0,1 + 182c: 8d5d or a0,a0,a5 + 182e: c82a sw a0,16(sp) + 1830: 200c lbu a1,0(s0) + 1832: 4619 li a2,6 + 1834: 00000517 auipc a0,0x0 + 1838: 70050513 addi a0,a0,1792 # 1f34 <__sf_fake_stdout+0x2c> + 183c: 00140913 addi s2,s0,1 + 1840: 02b10423 sb a1,40(sp) + 1844: 23f9 jal 1e12 + 1846: c135 beqz a0,18aa <_vfiprintf_r+0x270> + 1848: ffffe797 auipc a5,0xffffe + 184c: 7b878793 addi a5,a5,1976 # 0 <_sinit> + 1850: e795 bnez a5,187c <_vfiprintf_r+0x242> + 1852: 4742 lw a4,16(sp) + 1854: 47b2 lw a5,12(sp) + 1856: 10077713 andi a4,a4,256 + 185a: cf09 beqz a4,1874 <_vfiprintf_r+0x23a> + 185c: 0791 addi a5,a5,4 + 185e: c63e sw a5,12(sp) + 1860: 5792 lw a5,36(sp) + 1862: 97d2 add a5,a5,s4 + 1864: d23e sw a5,36(sp) + 1866: bd2d j 16a0 <_vfiprintf_r+0x66> + 1868: 036787b3 mul a5,a5,s6 + 186c: 4685 li a3,1 + 186e: 842e mv s0,a1 + 1870: 97ba add a5,a5,a4 + 1872: b751 j 17f6 <_vfiprintf_r+0x1bc> + 1874: 079d addi a5,a5,7 + 1876: 9be1 andi a5,a5,-8 + 1878: 07a1 addi a5,a5,8 + 187a: b7d5 j 185e <_vfiprintf_r+0x224> + 187c: 0078 addi a4,sp,12 + 187e: 00000697 auipc a3,0x0 + 1882: d7c68693 addi a3,a3,-644 # 15fa <__sfputs_r> + 1886: 8626 mv a2,s1 + 1888: 080c addi a1,sp,16 + 188a: 854e mv a0,s3 + 188c: 00000097 auipc ra,0x0 + 1890: 000000e7 jalr zero # 0 <_sinit> + 1894: 57fd li a5,-1 + 1896: 8a2a mv s4,a0 + 1898: fcf514e3 bne a0,a5,1860 <_vfiprintf_r+0x226> + 189c: 24de lhu a5,12(s1) + 189e: 0407f793 andi a5,a5,64 + 18a2: ec0792e3 bnez a5,1766 <_vfiprintf_r+0x12c> + 18a6: 5512 lw a0,36(sp) + 18a8: b5c1 j 1768 <_vfiprintf_r+0x12e> + 18aa: 0078 addi a4,sp,12 + 18ac: 00000697 auipc a3,0x0 + 18b0: d4e68693 addi a3,a3,-690 # 15fa <__sfputs_r> + 18b4: 8626 mv a2,s1 + 18b6: 080c addi a1,sp,16 + 18b8: 854e mv a0,s3 + 18ba: 2a01 jal 19ca <_printf_i> + 18bc: bfe1 j 1894 <_vfiprintf_r+0x25a> -00001670 : - 1670: b01fe2ef jal t0,170 <__riscv_save_0> - 1674: 1141 addi sp,sp,-16 - 1676: 4585 li a1,1 - 1678: 4511 li a0,4 - 167a: facff0ef jal ra,e26 - 167e: 10000793 li a5,256 - 1682: 827c sh a5,4(sp) - 1684: 40011537 lui a0,0x40011 - 1688: 47c1 li a5,16 - 168a: c63e sw a5,12(sp) - 168c: 004c addi a1,sp,4 - 168e: 478d li a5,3 - 1690: 80050513 addi a0,a0,-2048 # 40010800 <_eusrstack+0x2000b800> - 1694: c43e sw a5,8(sp) - 1696: a82ff0ef jal ra,918 - 169a: 0141 addi sp,sp,16 - 169c: af9fe06f j 194 <__riscv_restore_0> +000018be <_printf_common>: + 18be: 7179 addi sp,sp,-48 + 18c0: ca56 sw s5,20(sp) + 18c2: 499c lw a5,16(a1) + 18c4: 8aba mv s5,a4 + 18c6: 4598 lw a4,8(a1) + 18c8: d422 sw s0,40(sp) + 18ca: d226 sw s1,36(sp) + 18cc: ce4e sw s3,28(sp) + 18ce: cc52 sw s4,24(sp) + 18d0: d606 sw ra,44(sp) + 18d2: d04a sw s2,32(sp) + 18d4: c85a sw s6,16(sp) + 18d6: c65e sw s7,12(sp) + 18d8: 89aa mv s3,a0 + 18da: 842e mv s0,a1 + 18dc: 84b2 mv s1,a2 + 18de: 8a36 mv s4,a3 + 18e0: 00e7d363 bge a5,a4,18e6 <_printf_common+0x28> + 18e4: 87ba mv a5,a4 + 18e6: c09c sw a5,0(s1) + 18e8: 04344703 lbu a4,67(s0) + 18ec: c319 beqz a4,18f2 <_printf_common+0x34> + 18ee: 0785 addi a5,a5,1 + 18f0: c09c sw a5,0(s1) + 18f2: 401c lw a5,0(s0) + 18f4: 0207f793 andi a5,a5,32 + 18f8: c781 beqz a5,1900 <_printf_common+0x42> + 18fa: 409c lw a5,0(s1) + 18fc: 0789 addi a5,a5,2 + 18fe: c09c sw a5,0(s1) + 1900: 00042903 lw s2,0(s0) + 1904: 00697913 andi s2,s2,6 + 1908: 00091a63 bnez s2,191c <_printf_common+0x5e> + 190c: 01940b13 addi s6,s0,25 + 1910: 5bfd li s7,-1 + 1912: 445c lw a5,12(s0) + 1914: 4098 lw a4,0(s1) + 1916: 8f99 sub a5,a5,a4 + 1918: 04f94c63 blt s2,a5,1970 <_printf_common+0xb2> + 191c: 401c lw a5,0(s0) + 191e: 04344683 lbu a3,67(s0) + 1922: 0207f793 andi a5,a5,32 + 1926: 00d036b3 snez a3,a3 + 192a: eba5 bnez a5,199a <_printf_common+0xdc> + 192c: 04340613 addi a2,s0,67 + 1930: 85d2 mv a1,s4 + 1932: 854e mv a0,s3 + 1934: 9a82 jalr s5 + 1936: 57fd li a5,-1 + 1938: 04f50363 beq a0,a5,197e <_printf_common+0xc0> + 193c: 401c lw a5,0(s0) + 193e: 4611 li a2,4 + 1940: 4098 lw a4,0(s1) + 1942: 8b99 andi a5,a5,6 + 1944: 4454 lw a3,12(s0) + 1946: 4481 li s1,0 + 1948: 00c79763 bne a5,a2,1956 <_printf_common+0x98> + 194c: 40e684b3 sub s1,a3,a4 + 1950: 0004d363 bgez s1,1956 <_printf_common+0x98> + 1954: 4481 li s1,0 + 1956: 441c lw a5,8(s0) + 1958: 4818 lw a4,16(s0) + 195a: 00f75463 bge a4,a5,1962 <_printf_common+0xa4> + 195e: 8f99 sub a5,a5,a4 + 1960: 94be add s1,s1,a5 + 1962: 4901 li s2,0 + 1964: 0469 addi s0,s0,26 + 1966: 5b7d li s6,-1 + 1968: 05249863 bne s1,s2,19b8 <_printf_common+0xfa> + 196c: 4501 li a0,0 + 196e: a809 j 1980 <_printf_common+0xc2> + 1970: 4685 li a3,1 + 1972: 865a mv a2,s6 + 1974: 85d2 mv a1,s4 + 1976: 854e mv a0,s3 + 1978: 9a82 jalr s5 + 197a: 01751e63 bne a0,s7,1996 <_printf_common+0xd8> + 197e: 557d li a0,-1 + 1980: 50b2 lw ra,44(sp) + 1982: 5422 lw s0,40(sp) + 1984: 5492 lw s1,36(sp) + 1986: 5902 lw s2,32(sp) + 1988: 49f2 lw s3,28(sp) + 198a: 4a62 lw s4,24(sp) + 198c: 4ad2 lw s5,20(sp) + 198e: 4b42 lw s6,16(sp) + 1990: 4bb2 lw s7,12(sp) + 1992: 6145 addi sp,sp,48 + 1994: 8082 ret + 1996: 0905 addi s2,s2,1 + 1998: bfad j 1912 <_printf_common+0x54> + 199a: 00d40733 add a4,s0,a3 + 199e: 03000613 li a2,48 + 19a2: 04c701a3 sb a2,67(a4) + 19a6: 04544703 lbu a4,69(s0) + 19aa: 00168793 addi a5,a3,1 + 19ae: 97a2 add a5,a5,s0 + 19b0: 0689 addi a3,a3,2 + 19b2: 04e781a3 sb a4,67(a5) + 19b6: bf9d j 192c <_printf_common+0x6e> + 19b8: 4685 li a3,1 + 19ba: 8622 mv a2,s0 + 19bc: 85d2 mv a1,s4 + 19be: 854e mv a0,s3 + 19c0: 9a82 jalr s5 + 19c2: fb650ee3 beq a0,s6,197e <_printf_common+0xc0> + 19c6: 0905 addi s2,s2,1 + 19c8: b745 j 1968 <_printf_common+0xaa> -000016a0 : - 16a0: ad1fe2ef jal t0,170 <__riscv_save_0> - 16a4: 1141 addi sp,sp,-16 - 16a6: 4585 li a1,1 - 16a8: 4541 li a0,16 - 16aa: f7cff0ef jal ra,e26 - 16ae: 6785 lui a5,0x1 - 16b0: 80078793 addi a5,a5,-2048 # 800 <__stack_size> - 16b4: 827c sh a5,4(sp) - 16b6: 40011537 lui a0,0x40011 - 16ba: 47c1 li a5,16 - 16bc: c63e sw a5,12(sp) - 16be: 004c addi a1,sp,4 - 16c0: 478d li a5,3 - 16c2: 80050513 addi a0,a0,-2048 # 40010800 <_eusrstack+0x2000b800> - 16c6: c43e sw a5,8(sp) - 16c8: a50ff0ef jal ra,918 - 16cc: 0141 addi sp,sp,16 - 16ce: ac7fe06f j 194 <__riscv_restore_0> +000019ca <_printf_i>: + 19ca: 7179 addi sp,sp,-48 + 19cc: d422 sw s0,40(sp) + 19ce: d226 sw s1,36(sp) + 19d0: d04a sw s2,32(sp) + 19d2: ce4e sw s3,28(sp) + 19d4: d606 sw ra,44(sp) + 19d6: cc52 sw s4,24(sp) + 19d8: ca56 sw s5,20(sp) + 19da: c85a sw s6,16(sp) + 19dc: 89b6 mv s3,a3 + 19de: 2d94 lbu a3,24(a1) + 19e0: 06900793 li a5,105 + 19e4: 8932 mv s2,a2 + 19e6: 84aa mv s1,a0 + 19e8: 842e mv s0,a1 + 19ea: 04358613 addi a2,a1,67 + 19ee: 02f68d63 beq a3,a5,1a28 <_printf_i+0x5e> + 19f2: 06d7e263 bltu a5,a3,1a56 <_printf_i+0x8c> + 19f6: 05800793 li a5,88 + 19fa: 18f68563 beq a3,a5,1b84 <_printf_i+0x1ba> + 19fe: 00d7ed63 bltu a5,a3,1a18 <_printf_i+0x4e> + 1a02: 20068d63 beqz a3,1c1c <_printf_i+0x252> + 1a06: 04300793 li a5,67 + 1a0a: 0af68e63 beq a3,a5,1ac6 <_printf_i+0xfc> + 1a0e: 04240a93 addi s5,s0,66 + 1a12: 04d40123 sb a3,66(s0) + 1a16: a0c9 j 1ad8 <_printf_i+0x10e> + 1a18: 06300793 li a5,99 + 1a1c: 0af68563 beq a3,a5,1ac6 <_printf_i+0xfc> + 1a20: 06400793 li a5,100 + 1a24: fef695e3 bne a3,a5,1a0e <_printf_i+0x44> + 1a28: 401c lw a5,0(s0) + 1a2a: 4308 lw a0,0(a4) + 1a2c: 0807f693 andi a3,a5,128 + 1a30: 00450593 addi a1,a0,4 + 1a34: c6c5 beqz a3,1adc <_printf_i+0x112> + 1a36: 411c lw a5,0(a0) + 1a38: c30c sw a1,0(a4) + 1a3a: 0007d863 bgez a5,1a4a <_printf_i+0x80> + 1a3e: 02d00713 li a4,45 + 1a42: 40f007b3 neg a5,a5 + 1a46: 04e401a3 sb a4,67(s0) + 1a4a: 00000697 auipc a3,0x0 + 1a4e: 4f268693 addi a3,a3,1266 # 1f3c <__sf_fake_stdout+0x34> + 1a52: 4729 li a4,10 + 1a54: a865 j 1b0c <_printf_i+0x142> + 1a56: 07000793 li a5,112 + 1a5a: 16f68163 beq a3,a5,1bbc <_printf_i+0x1f2> + 1a5e: 02d7e563 bltu a5,a3,1a88 <_printf_i+0xbe> + 1a62: 06e00793 li a5,110 + 1a66: 18f68863 beq a3,a5,1bf6 <_printf_i+0x22c> + 1a6a: 06f00793 li a5,111 + 1a6e: faf690e3 bne a3,a5,1a0e <_printf_i+0x44> + 1a72: 400c lw a1,0(s0) + 1a74: 431c lw a5,0(a4) + 1a76: 0805f813 andi a6,a1,128 + 1a7a: 00478513 addi a0,a5,4 + 1a7e: 06080763 beqz a6,1aec <_printf_i+0x122> + 1a82: c308 sw a0,0(a4) + 1a84: 439c lw a5,0(a5) + 1a86: a885 j 1af6 <_printf_i+0x12c> + 1a88: 07500793 li a5,117 + 1a8c: fef683e3 beq a3,a5,1a72 <_printf_i+0xa8> + 1a90: 07800793 li a5,120 + 1a94: 12f68863 beq a3,a5,1bc4 <_printf_i+0x1fa> + 1a98: 07300793 li a5,115 + 1a9c: f6f699e3 bne a3,a5,1a0e <_printf_i+0x44> + 1aa0: 431c lw a5,0(a4) + 1aa2: 41d0 lw a2,4(a1) + 1aa4: 4581 li a1,0 + 1aa6: 00478693 addi a3,a5,4 + 1aaa: c314 sw a3,0(a4) + 1aac: 0007aa83 lw s5,0(a5) + 1ab0: 8556 mv a0,s5 + 1ab2: 2685 jal 1e12 + 1ab4: c501 beqz a0,1abc <_printf_i+0xf2> + 1ab6: 41550533 sub a0,a0,s5 + 1aba: c048 sw a0,4(s0) + 1abc: 405c lw a5,4(s0) + 1abe: c81c sw a5,16(s0) + 1ac0: 040401a3 sb zero,67(s0) + 1ac4: a861 j 1b5c <_printf_i+0x192> + 1ac6: 431c lw a5,0(a4) + 1ac8: 04240a93 addi s5,s0,66 + 1acc: 00478693 addi a3,a5,4 + 1ad0: 439c lw a5,0(a5) + 1ad2: c314 sw a3,0(a4) + 1ad4: 04f40123 sb a5,66(s0) + 1ad8: 4785 li a5,1 + 1ada: b7d5 j 1abe <_printf_i+0xf4> + 1adc: 0407f693 andi a3,a5,64 + 1ae0: 411c lw a5,0(a0) + 1ae2: c30c sw a1,0(a4) + 1ae4: dab9 beqz a3,1a3a <_printf_i+0x70> + 1ae6: 07c2 slli a5,a5,0x10 + 1ae8: 87c1 srai a5,a5,0x10 + 1aea: bf81 j 1a3a <_printf_i+0x70> + 1aec: 0405f593 andi a1,a1,64 + 1af0: c308 sw a0,0(a4) + 1af2: d9c9 beqz a1,1a84 <_printf_i+0xba> + 1af4: 239e lhu a5,0(a5) + 1af6: 06f00713 li a4,111 + 1afa: 0ee68663 beq a3,a4,1be6 <_printf_i+0x21c> + 1afe: 00000697 auipc a3,0x0 + 1b02: 43e68693 addi a3,a3,1086 # 1f3c <__sf_fake_stdout+0x34> + 1b06: 4729 li a4,10 + 1b08: 040401a3 sb zero,67(s0) + 1b0c: 404c lw a1,4(s0) + 1b0e: c40c sw a1,8(s0) + 1b10: 0005c563 bltz a1,1b1a <_printf_i+0x150> + 1b14: 4008 lw a0,0(s0) + 1b16: 996d andi a0,a0,-5 + 1b18: c008 sw a0,0(s0) + 1b1a: e399 bnez a5,1b20 <_printf_i+0x156> + 1b1c: 8ab2 mv s5,a2 + 1b1e: cd89 beqz a1,1b38 <_printf_i+0x16e> + 1b20: 8ab2 mv s5,a2 + 1b22: 02e7f5b3 remu a1,a5,a4 + 1b26: 1afd addi s5,s5,-1 + 1b28: 95b6 add a1,a1,a3 + 1b2a: 218c lbu a1,0(a1) + 1b2c: 00ba8023 sb a1,0(s5) + 1b30: 02e7d5b3 divu a1,a5,a4 + 1b34: 0ae7ff63 bgeu a5,a4,1bf2 <_printf_i+0x228> + 1b38: 47a1 li a5,8 + 1b3a: 00f71e63 bne a4,a5,1b56 <_printf_i+0x18c> + 1b3e: 401c lw a5,0(s0) + 1b40: 8b85 andi a5,a5,1 + 1b42: cb91 beqz a5,1b56 <_printf_i+0x18c> + 1b44: 4058 lw a4,4(s0) + 1b46: 481c lw a5,16(s0) + 1b48: 00e7c763 blt a5,a4,1b56 <_printf_i+0x18c> + 1b4c: 03000793 li a5,48 + 1b50: fefa8fa3 sb a5,-1(s5) + 1b54: 1afd addi s5,s5,-1 + 1b56: 41560633 sub a2,a2,s5 + 1b5a: c810 sw a2,16(s0) + 1b5c: 874e mv a4,s3 + 1b5e: 86ca mv a3,s2 + 1b60: 0070 addi a2,sp,12 + 1b62: 85a2 mv a1,s0 + 1b64: 8526 mv a0,s1 + 1b66: 3ba1 jal 18be <_printf_common> + 1b68: 5a7d li s4,-1 + 1b6a: 0b451d63 bne a0,s4,1c24 <_printf_i+0x25a> + 1b6e: 557d li a0,-1 + 1b70: 50b2 lw ra,44(sp) + 1b72: 5422 lw s0,40(sp) + 1b74: 5492 lw s1,36(sp) + 1b76: 5902 lw s2,32(sp) + 1b78: 49f2 lw s3,28(sp) + 1b7a: 4a62 lw s4,24(sp) + 1b7c: 4ad2 lw s5,20(sp) + 1b7e: 4b42 lw s6,16(sp) + 1b80: 6145 addi sp,sp,48 + 1b82: 8082 ret + 1b84: 04d582a3 sb a3,69(a1) + 1b88: 00000697 auipc a3,0x0 + 1b8c: 3b468693 addi a3,a3,948 # 1f3c <__sf_fake_stdout+0x34> + 1b90: 400c lw a1,0(s0) + 1b92: 4308 lw a0,0(a4) + 1b94: 0805f813 andi a6,a1,128 + 1b98: 411c lw a5,0(a0) + 1b9a: 0511 addi a0,a0,4 + 1b9c: 02080d63 beqz a6,1bd6 <_printf_i+0x20c> + 1ba0: c308 sw a0,0(a4) + 1ba2: 0015f713 andi a4,a1,1 + 1ba6: c701 beqz a4,1bae <_printf_i+0x1e4> + 1ba8: 0205e593 ori a1,a1,32 + 1bac: c00c sw a1,0(s0) + 1bae: 4741 li a4,16 + 1bb0: ffa1 bnez a5,1b08 <_printf_i+0x13e> + 1bb2: 400c lw a1,0(s0) + 1bb4: fdf5f593 andi a1,a1,-33 + 1bb8: c00c sw a1,0(s0) + 1bba: b7b9 j 1b08 <_printf_i+0x13e> + 1bbc: 419c lw a5,0(a1) + 1bbe: 0207e793 ori a5,a5,32 + 1bc2: c19c sw a5,0(a1) + 1bc4: 07800793 li a5,120 + 1bc8: 04f402a3 sb a5,69(s0) + 1bcc: 00000697 auipc a3,0x0 + 1bd0: 38468693 addi a3,a3,900 # 1f50 <__sf_fake_stdout+0x48> + 1bd4: bf75 j 1b90 <_printf_i+0x1c6> + 1bd6: 0405f813 andi a6,a1,64 + 1bda: c308 sw a0,0(a4) + 1bdc: fc0803e3 beqz a6,1ba2 <_printf_i+0x1d8> + 1be0: 07c2 slli a5,a5,0x10 + 1be2: 83c1 srli a5,a5,0x10 + 1be4: bf7d j 1ba2 <_printf_i+0x1d8> + 1be6: 00000697 auipc a3,0x0 + 1bea: 35668693 addi a3,a3,854 # 1f3c <__sf_fake_stdout+0x34> + 1bee: 4721 li a4,8 + 1bf0: bf21 j 1b08 <_printf_i+0x13e> + 1bf2: 87ae mv a5,a1 + 1bf4: b73d j 1b22 <_printf_i+0x158> + 1bf6: 4194 lw a3,0(a1) + 1bf8: 431c lw a5,0(a4) + 1bfa: 49cc lw a1,20(a1) + 1bfc: 0806f813 andi a6,a3,128 + 1c00: 00478513 addi a0,a5,4 + 1c04: 00080663 beqz a6,1c10 <_printf_i+0x246> + 1c08: c308 sw a0,0(a4) + 1c0a: 439c lw a5,0(a5) + 1c0c: c38c sw a1,0(a5) + 1c0e: a039 j 1c1c <_printf_i+0x252> + 1c10: c308 sw a0,0(a4) + 1c12: 0406f693 andi a3,a3,64 + 1c16: 439c lw a5,0(a5) + 1c18: daf5 beqz a3,1c0c <_printf_i+0x242> + 1c1a: a38e sh a1,0(a5) + 1c1c: 00042823 sw zero,16(s0) + 1c20: 8ab2 mv s5,a2 + 1c22: bf2d j 1b5c <_printf_i+0x192> + 1c24: 4814 lw a3,16(s0) + 1c26: 8656 mv a2,s5 + 1c28: 85ca mv a1,s2 + 1c2a: 8526 mv a0,s1 + 1c2c: 9982 jalr s3 + 1c2e: f54500e3 beq a0,s4,1b6e <_printf_i+0x1a4> + 1c32: 401c lw a5,0(s0) + 1c34: 8b89 andi a5,a5,2 + 1c36: e78d bnez a5,1c60 <_printf_i+0x296> + 1c38: 47b2 lw a5,12(sp) + 1c3a: 4448 lw a0,12(s0) + 1c3c: f2f55ae3 bge a0,a5,1b70 <_printf_i+0x1a6> + 1c40: 853e mv a0,a5 + 1c42: b73d j 1b70 <_printf_i+0x1a6> + 1c44: 4685 li a3,1 + 1c46: 8656 mv a2,s5 + 1c48: 85ca mv a1,s2 + 1c4a: 8526 mv a0,s1 + 1c4c: 9982 jalr s3 + 1c4e: f36500e3 beq a0,s6,1b6e <_printf_i+0x1a4> + 1c52: 0a05 addi s4,s4,1 + 1c54: 445c lw a5,12(s0) + 1c56: 4732 lw a4,12(sp) + 1c58: 8f99 sub a5,a5,a4 + 1c5a: fefa45e3 blt s4,a5,1c44 <_printf_i+0x27a> + 1c5e: bfe9 j 1c38 <_printf_i+0x26e> + 1c60: 4a01 li s4,0 + 1c62: 01940a93 addi s5,s0,25 + 1c66: 5b7d li s6,-1 + 1c68: b7f5 j 1c54 <_printf_i+0x28a> -000016d2 : - 16d2: a9ffe2ef jal t0,170 <__riscv_save_0> - 16d6: 1141 addi sp,sp,-16 - 16d8: 4585 li a1,1 - 16da: 4521 li a0,8 - 16dc: f4aff0ef jal ra,e26 - 16e0: 10000793 li a5,256 - 16e4: 40011437 lui s0,0x40011 - 16e8: 827c sh a5,4(sp) - 16ea: 47c1 li a5,16 - 16ec: c63e sw a5,12(sp) - 16ee: 004c addi a1,sp,4 - 16f0: 478d li a5,3 - 16f2: c0040513 addi a0,s0,-1024 # 40010c00 <_eusrstack+0x2000bc00> - 16f6: c43e sw a5,8(sp) - 16f8: a20ff0ef jal ra,918 - 16fc: 4601 li a2,0 - 16fe: 10000593 li a1,256 - 1702: c0040513 addi a0,s0,-1024 - 1706: aeaff0ef jal ra,9f0 - 170a: 0141 addi sp,sp,16 - 170c: a89fe06f j 194 <__riscv_restore_0> +00001c6a <_sbrk_r>: + 1c6a: 1141 addi sp,sp,-16 + 1c6c: c422 sw s0,8(sp) + 1c6e: 842a mv s0,a0 + 1c70: 852e mv a0,a1 + 1c72: 8401a623 sw zero,-1972(gp) # 200000cc + 1c76: c606 sw ra,12(sp) + 1c78: 844ff0ef jal ra,cbc <_sbrk> + 1c7c: 57fd li a5,-1 + 1c7e: 00f51763 bne a0,a5,1c8c <_sbrk_r+0x22> + 1c82: 84c18793 addi a5,gp,-1972 # 200000cc + 1c86: 439c lw a5,0(a5) + 1c88: c391 beqz a5,1c8c <_sbrk_r+0x22> + 1c8a: c01c sw a5,0(s0) + 1c8c: 40b2 lw ra,12(sp) + 1c8e: 4422 lw s0,8(sp) + 1c90: 0141 addi sp,sp,16 + 1c92: 8082 ret -00001710 : - 1710: a61fe2ef jal t0,170 <__riscv_save_0> - 1714: 7179 addi sp,sp,-48 - 1716: 4585 li a1,1 - 1718: 4525 li a0,9 - 171a: f0cff0ef jal ra,e26 - 171e: 4791 li a5,4 - 1720: 40011537 lui a0,0x40011 - 1724: 82fc sh a5,20(sp) - 1726: 084c addi a1,sp,20 - 1728: 04800793 li a5,72 - 172c: c0050513 addi a0,a0,-1024 # 40010c00 <_eusrstack+0x2000bc00> - 1730: ce3e sw a5,28(sp) - 1732: 9e6ff0ef jal ra,918 - 1736: 4589 li a1,2 - 1738: 4505 li a0,1 - 173a: becff0ef jal ra,b26 - 173e: 4791 li a5,4 - 1740: 4405 li s0,1 - 1742: d03e sw a5,32(sp) - 1744: 1008 addi a0,sp,32 - 1746: 47b1 li a5,12 - 1748: d43e sw a5,40(sp) - 174a: d622 sw s0,44(sp) - 174c: d202 sw zero,36(sp) - 174e: 938ff0ef jal ra,886 - 1752: 11800793 li a5,280 - 1756: 867c sh a5,12(sp) - 1758: 0068 addi a0,sp,12 - 175a: 4789 li a5,2 - 175c: 875c sb a5,14(sp) - 175e: c822 sw s0,16(sp) - 1760: d88ff0ef jal ra,ce8 - 1764: 6145 addi sp,sp,48 - 1766: a2ffe06f j 194 <__riscv_restore_0> +00001c94 <__sread>: + 1c94: 1141 addi sp,sp,-16 + 1c96: c422 sw s0,8(sp) + 1c98: 842e mv s0,a1 + 1c9a: 00e59583 lh a1,14(a1) + 1c9e: c606 sw ra,12(sp) + 1ca0: 2279 jal 1e2e <_read_r> + 1ca2: 00054963 bltz a0,1cb4 <__sread+0x20> + 1ca6: 487c lw a5,84(s0) + 1ca8: 97aa add a5,a5,a0 + 1caa: c87c sw a5,84(s0) + 1cac: 40b2 lw ra,12(sp) + 1cae: 4422 lw s0,8(sp) + 1cb0: 0141 addi sp,sp,16 + 1cb2: 8082 ret + 1cb4: 245e lhu a5,12(s0) + 1cb6: 777d lui a4,0xfffff + 1cb8: 177d addi a4,a4,-1 + 1cba: 8ff9 and a5,a5,a4 + 1cbc: a45e sh a5,12(s0) + 1cbe: b7fd j 1cac <__sread+0x18> -0000176a : - 176a: 1141 addi sp,sp,-16 - 176c: 4511 li a0,4 - 176e: c622 sw s0,12(sp) - 1770: 980ff0ef jal ra,8f0 - 1774: 4785 li a5,1 - 1776: 02f51763 bne a0,a5,17a4 - 177a: 842a mv s0,a0 - 177c: 4511 li a0,4 - 177e: 990ff0ef jal ra,90e - 1782: 8961c703 lbu a4,-1898(gp) # 200001fe - 1786: ef19 bnez a4,17a4 - 1788: 000045b7 lui a1,0x4 - 178c: 20001537 lui a0,0x20001 - 1790: 4681 li a3,0 - 1792: 3e800613 li a2,1000 - 1796: ed058593 addi a1,a1,-304 # 3ed0 - 179a: 2a050513 addi a0,a0,672 # 200012a0 - 179e: 88818b23 sb s0,-1898(gp) # 200001fe - 17a2: 2bb5 jal 1d1e - 17a4: 4432 lw s0,12(sp) - 17a6: 0141 addi sp,sp,16 - 17a8: 30200073 mret +00001cc0 <__swrite>: + 1cc0: 25de lhu a5,12(a1) + 1cc2: 1101 addi sp,sp,-32 + 1cc4: cc22 sw s0,24(sp) + 1cc6: ca26 sw s1,20(sp) + 1cc8: c84a sw s2,16(sp) + 1cca: c64e sw s3,12(sp) + 1ccc: ce06 sw ra,28(sp) + 1cce: 1007f793 andi a5,a5,256 + 1cd2: 84aa mv s1,a0 + 1cd4: 842e mv s0,a1 + 1cd6: 8932 mv s2,a2 + 1cd8: 89b6 mv s3,a3 + 1cda: c791 beqz a5,1ce6 <__swrite+0x26> + 1cdc: 00e59583 lh a1,14(a1) + 1ce0: 4689 li a3,2 + 1ce2: 4601 li a2,0 + 1ce4: 2209 jal 1de6 <_lseek_r> + 1ce6: 245e lhu a5,12(s0) + 1ce8: 777d lui a4,0xfffff + 1cea: 177d addi a4,a4,-1 + 1cec: 8ff9 and a5,a5,a4 + 1cee: a45e sh a5,12(s0) + 1cf0: 00e41583 lh a1,14(s0) + 1cf4: 4462 lw s0,24(sp) + 1cf6: 40f2 lw ra,28(sp) + 1cf8: 86ce mv a3,s3 + 1cfa: 864a mv a2,s2 + 1cfc: 49b2 lw s3,12(sp) + 1cfe: 4942 lw s2,16(sp) + 1d00: 8526 mv a0,s1 + 1d02: 44d2 lw s1,20(sp) + 1d04: 6105 addi sp,sp,32 + 1d06: a825 j 1d3e <_write_r> -000017ac : - 17ac: 9c5fe2ef jal t0,170 <__riscv_save_0> - 17b0: 7179 addi sp,sp,-48 - 17b2: 4585 li a1,1 - 17b4: 4515 li a0,5 - 17b6: e70ff0ef jal ra,e26 - 17ba: 6785 lui a5,0x1 - 17bc: 40011537 lui a0,0x40011 - 17c0: 82fc sh a5,20(sp) - 17c2: 084c addi a1,sp,20 - 17c4: 02800793 li a5,40 - 17c8: 80050513 addi a0,a0,-2048 # 40010800 <_eusrstack+0x2000b800> - 17cc: ce3e sw a5,28(sp) - 17ce: 94aff0ef jal ra,918 - 17d2: 45b1 li a1,12 - 17d4: 4501 li a0,0 - 17d6: b50ff0ef jal ra,b26 - 17da: 6785 lui a5,0x1 - 17dc: 4405 li s0,1 - 17de: d03e sw a5,32(sp) - 17e0: 1008 addi a0,sp,32 - 17e2: 47a1 li a5,8 - 17e4: d43e sw a5,40(sp) - 17e6: d622 sw s0,44(sp) - 17e8: d202 sw zero,36(sp) - 17ea: 89cff0ef jal ra,886 - 17ee: 13800793 li a5,312 - 17f2: 867c sh a5,12(sp) - 17f4: 0068 addi a0,sp,12 - 17f6: 478d li a5,3 - 17f8: 875c sb a5,14(sp) - 17fa: c822 sw s0,16(sp) - 17fc: cecff0ef jal ra,ce8 - 1800: 6145 addi sp,sp,48 - 1802: 993fe06f j 194 <__riscv_restore_0> +00001d08 <__sseek>: + 1d08: 1141 addi sp,sp,-16 + 1d0a: c422 sw s0,8(sp) + 1d0c: 842e mv s0,a1 + 1d0e: 00e59583 lh a1,14(a1) + 1d12: c606 sw ra,12(sp) + 1d14: 28c9 jal 1de6 <_lseek_r> + 1d16: 57fd li a5,-1 + 1d18: 245a lhu a4,12(s0) + 1d1a: 00f51a63 bne a0,a5,1d2e <__sseek+0x26> + 1d1e: 77fd lui a5,0xfffff + 1d20: 17fd addi a5,a5,-1 + 1d22: 8ff9 and a5,a5,a4 + 1d24: a45e sh a5,12(s0) + 1d26: 40b2 lw ra,12(sp) + 1d28: 4422 lw s0,8(sp) + 1d2a: 0141 addi sp,sp,16 + 1d2c: 8082 ret + 1d2e: 6785 lui a5,0x1 + 1d30: 8fd9 or a5,a5,a4 + 1d32: a45e sh a5,12(s0) + 1d34: c868 sw a0,84(s0) + 1d36: bfc5 j 1d26 <__sseek+0x1e> -00001806 : - 1806: 6505 lui a0,0x1 - 1808: 8e8ff0ef jal ra,8f0 - 180c: 4785 li a5,1 - 180e: 02f51663 bne a0,a5,183a - 1812: 6505 lui a0,0x1 - 1814: 8faff0ef jal ra,90e - 1818: 87c1c783 lbu a5,-1924(gp) # 200001e4 - 181c: 000045b7 lui a1,0x4 - 1820: 20001537 lui a0,0x20001 - 1824: 0785 addi a5,a5,1 - 1826: 4681 li a3,0 - 1828: 3e800613 li a2,1000 - 182c: f3a58593 addi a1,a1,-198 # 3f3a - 1830: 28050513 addi a0,a0,640 # 20001280 - 1834: 86f18e23 sb a5,-1924(gp) # 200001e4 - 1838: 21dd jal 1d1e - 183a: 30200073 mret +00001d38 <__sclose>: + 1d38: 00e59583 lh a1,14(a1) + 1d3c: a805 j 1d6c <_close_r> -0000183e : - 183e: 933fe2ef jal t0,170 <__riscv_save_0> - 1842: 1141 addi sp,sp,-16 - 1844: 4585 li a1,1 - 1846: 4521 li a0,8 - 1848: ddeff0ef jal ra,e26 - 184c: 4585 li a1,1 - 184e: 4511 li a0,4 - 1850: df4ff0ef jal ra,e44 - 1854: 20000793 li a5,512 - 1858: 40011437 lui s0,0x40011 - 185c: 827c sh a5,4(sp) - 185e: 47e1 li a5,24 - 1860: c63e sw a5,12(sp) - 1862: 004c addi a1,sp,4 - 1864: 478d li a5,3 - 1866: c0040513 addi a0,s0,-1024 # 40010c00 <_eusrstack+0x2000bc00> - 186a: c43e sw a5,8(sp) - 186c: 8acff0ef jal ra,918 - 1870: 08000793 li a5,128 - 1874: 004c addi a1,sp,4 - 1876: c0040513 addi a0,s0,-1024 - 187a: 827c sh a5,4(sp) - 187c: 89cff0ef jal ra,918 - 1880: 0141 addi sp,sp,16 - 1882: 913fe06f j 194 <__riscv_restore_0> - -00001886 : - 1886: 8ebfe2ef jal t0,170 <__riscv_save_0> - 188a: 1101 addi sp,sp,-32 - 188c: 3f4d jal 183e - 188e: 40001437 lui s0,0x40001 - 1892: 1df00793 li a5,479 - 1896: 858a mv a1,sp - 1898: 80040513 addi a0,s0,-2048 # 40000800 <_eusrstack+0x1fffb800> - 189c: c03e sw a5,0(sp) - 189e: c202 sw zero,4(sp) - 18a0: 00011423 sh zero,8(sp) - 18a4: 00010523 sb zero,10(sp) - 18a8: e36ff0ef jal ra,ede - 18ac: 80040513 addi a0,s0,-2048 - 18b0: 4585 li a1,1 - 18b2: f5eff0ef jal ra,1010 - 18b6: 67c1 lui a5,0x10 - 18b8: 06078793 addi a5,a5,96 # 10060 <_data_lma+0x71a0> - 18bc: 006c addi a1,sp,12 - 18be: 80040513 addi a0,s0,-2048 - 18c2: c83e sw a5,16(sp) - 18c4: 00011b23 sh zero,22(sp) - 18c8: c602 sw zero,12(sp) - 18ca: e8aff0ef jal ra,f54 - 18ce: 80040513 addi a0,s0,-2048 - 18d2: 45a1 li a1,8 - 18d4: f56ff0ef jal ra,102a - 18d8: 80040513 addi a0,s0,-2048 - 18dc: 4585 li a1,1 - 18de: ef2ff0ef jal ra,fd0 - 18e2: 4585 li a1,1 - 18e4: 80040513 addi a0,s0,-2048 - 18e8: f00ff0ef jal ra,fe8 - 18ec: 6105 addi sp,sp,32 - 18ee: 8a7fe06f j 194 <__riscv_restore_0> - -000018f2 : - 18f2: 1141 addi sp,sp,-16 - 18f4: c422 sw s0,8(sp) - 18f6: 842a mv s0,a0 - 18f8: 4108 lw a0,0(a0) - 18fa: c24a sw s2,4(sp) - 18fc: c04e sw s3,0(sp) - 18fe: c606 sw ra,12(sp) - 1900: 0a8050ef jal ra,69a8 <__extendsfdf2> - 1904: 000087b7 lui a5,0x8 - 1908: 4707a603 lw a2,1136(a5) # 8470 <_read+0x58> - 190c: 4747a683 lw a3,1140(a5) - 1910: 892a mv s2,a0 - 1912: 89ae mv s3,a1 - 1914: 384030ef jal ra,4c98 <__ledf2> - 1918: 02055f63 bgez a0,1956 - 191c: 000087b7 lui a5,0x8 - 1920: 4607a783 lw a5,1120(a5) # 8460 <_read+0x48> - 1924: c01c sw a5,0(s0) - 1926: 000087b7 lui a5,0x8 - 192a: 4687a583 lw a1,1128(a5) # 8468 <_read+0x50> - 192e: 4008 lw a0,0(s0) - 1930: 011040ef jal ra,6140 <__mulsf3> - 1934: 68b040ef jal ra,67be <__fixunssfsi> - 1938: 01051593 slli a1,a0,0x10 - 193c: 40001537 lui a0,0x40001 - 1940: 81c1 srli a1,a1,0x10 - 1942: 80050513 addi a0,a0,-2048 # 40000800 <_eusrstack+0x1fffb800> - 1946: efaff0ef jal ra,1040 - 194a: 40b2 lw ra,12(sp) - 194c: 4422 lw s0,8(sp) - 194e: 4912 lw s2,4(sp) - 1950: 4982 lw s3,0(sp) - 1952: 0141 addi sp,sp,16 - 1954: 8082 ret - 1956: 000087b7 lui a5,0x8 - 195a: 4787a603 lw a2,1144(a5) # 8478 <_read+0x60> - 195e: 47c7a683 lw a3,1148(a5) - 1962: 854a mv a0,s2 - 1964: 85ce mv a1,s3 - 1966: 284030ef jal ra,4bea <__gedf2> - 196a: faa05ee3 blez a0,1926 - 196e: 000087b7 lui a5,0x8 - 1972: 4647a783 lw a5,1124(a5) # 8464 <_read+0x4c> - 1976: b77d j 1924 - -00001978 : - 1978: ff8fe2ef jal t0,170 <__riscv_save_0> - 197c: 7179 addi sp,sp,-48 - 197e: 40011437 lui s0,0x40011 - 1982: 47c1 li a5,16 - 1984: 892a mv s2,a0 - 1986: 82fc sh a5,20(sp) - 1988: 448d li s1,3 - 198a: 47c1 li a5,16 - 198c: 084c addi a1,sp,20 - 198e: c0040513 addi a0,s0,-1024 # 40010c00 <_eusrstack+0x2000bc00> - 1992: ce3e sw a5,28(sp) - 1994: cc26 sw s1,24(sp) - 1996: f83fe0ef jal ra,918 - 199a: 4601 li a2,0 - 199c: c0040513 addi a0,s0,-1024 - 19a0: 45c1 li a1,16 - 19a2: 84eff0ef jal ra,9f0 - 19a6: 4585 li a1,1 - 19a8: 4521 li a0,8 - 19aa: c7cff0ef jal ra,e26 - 19ae: 4585 li a1,1 - 19b0: 00080537 lui a0,0x80 - 19b4: c90ff0ef jal ra,e44 - 19b8: 4785 li a5,1 - 19ba: 82fc sh a5,20(sp) - 19bc: 084c addi a1,sp,20 - 19be: 47e1 li a5,24 - 19c0: c0040513 addi a0,s0,-1024 - 19c4: cc26 sw s1,24(sp) - 19c6: ce3e sw a5,28(sp) - 19c8: f51fe0ef jal ra,918 - 19cc: 4489 li s1,2 - 19ce: 4791 li a5,4 - 19d0: 084c addi a1,sp,20 - 19d2: c0040513 addi a0,s0,-1024 - 19d6: 82e4 sh s1,20(sp) - 19d8: 40005437 lui s0,0x40005 - 19dc: ce3e sw a5,28(sp) - 19de: f3bfe0ef jal ra,918 - 19e2: 100c addi a1,sp,32 - 19e4: 000c07b7 lui a5,0xc0 - 19e8: c0040513 addi a0,s0,-1024 # 40004c00 <_eusrstack+0x1ffffc00> - 19ec: d04a sw s2,32(sp) - 19ee: d43e sw a5,40(sp) - 19f0: d202 sw zero,36(sp) - 19f2: 02011623 sh zero,44(sp) - 19f6: e9cff0ef jal ra,1092 - 19fa: 13d00793 li a5,317 - 19fe: 867c sh a5,12(sp) - 1a00: 0068 addi a0,sp,12 - 1a02: 4785 li a5,1 - 1a04: c83e sw a5,16(sp) - 1a06: 8744 sb s1,14(sp) - 1a08: ae0ff0ef jal ra,ce8 - 1a0c: 4605 li a2,1 - 1a0e: c0040513 addi a0,s0,-1024 - 1a12: 52500593 li a1,1317 - 1a16: f4cff0ef jal ra,1162 - 1a1a: 4585 li a1,1 - 1a1c: c0040513 addi a0,s0,-1024 - 1a20: f2cff0ef jal ra,114c - 1a24: 6145 addi sp,sp,48 - 1a26: f6efe06f j 194 <__riscv_restore_0> - -00001a2a : - 1a2a: f46fe2ef jal t0,170 <__riscv_save_0> - 1a2e: 7179 addi sp,sp,-48 - 1a30: 40011437 lui s0,0x40011 - 1a34: 02000793 li a5,32 - 1a38: 892a mv s2,a0 - 1a3a: 82fc sh a5,20(sp) - 1a3c: 448d li s1,3 - 1a3e: 47c1 li a5,16 - 1a40: 084c addi a1,sp,20 - 1a42: c0040513 addi a0,s0,-1024 # 40010c00 <_eusrstack+0x2000bc00> - 1a46: ce3e sw a5,28(sp) - 1a48: cc26 sw s1,24(sp) - 1a4a: ecffe0ef jal ra,918 - 1a4e: 4601 li a2,0 - 1a50: c0040513 addi a0,s0,-1024 - 1a54: 02000593 li a1,32 - 1a58: f99fe0ef jal ra,9f0 - 1a5c: 4585 li a1,1 - 1a5e: 4521 li a0,8 - 1a60: bc6ff0ef jal ra,e26 - 1a64: 4585 li a1,1 - 1a66: 00040537 lui a0,0x40 - 1a6a: bdaff0ef jal ra,e44 - 1a6e: 40000793 li a5,1024 - 1a72: 82fc sh a5,20(sp) - 1a74: 084c addi a1,sp,20 - 1a76: 47e1 li a5,24 - 1a78: c0040513 addi a0,s0,-1024 - 1a7c: cc26 sw s1,24(sp) - 1a7e: ce3e sw a5,28(sp) - 1a80: e99fe0ef jal ra,918 - 1a84: 6785 lui a5,0x1 - 1a86: 80078793 addi a5,a5,-2048 # 800 <__stack_size> - 1a8a: 82fc sh a5,20(sp) - 1a8c: 084c addi a1,sp,20 - 1a8e: 4791 li a5,4 - 1a90: c0040513 addi a0,s0,-1024 - 1a94: ce3e sw a5,28(sp) - 1a96: 40005437 lui s0,0x40005 - 1a9a: e7ffe0ef jal ra,918 - 1a9e: 100c addi a1,sp,32 - 1aa0: 000c07b7 lui a5,0xc0 - 1aa4: 80040513 addi a0,s0,-2048 # 40004800 <_eusrstack+0x1ffff800> - 1aa8: d04a sw s2,32(sp) - 1aaa: d43e sw a5,40(sp) - 1aac: d202 sw zero,36(sp) - 1aae: 02011623 sh zero,44(sp) - 1ab2: de0ff0ef jal ra,1092 - 1ab6: 13700793 li a5,311 - 1aba: 867c sh a5,12(sp) - 1abc: 4785 li a5,1 - 1abe: 875c sb a5,14(sp) - 1ac0: 0068 addi a0,sp,12 - 1ac2: 4785 li a5,1 - 1ac4: c83e sw a5,16(sp) - 1ac6: a22ff0ef jal ra,ce8 - 1aca: 4605 li a2,1 - 1acc: 80040513 addi a0,s0,-2048 - 1ad0: 52500593 li a1,1317 - 1ad4: e8eff0ef jal ra,1162 - 1ad8: 4585 li a1,1 - 1ada: 80040513 addi a0,s0,-2048 - 1ade: e6eff0ef jal ra,114c - 1ae2: 6145 addi sp,sp,48 - 1ae4: eb0fe06f j 194 <__riscv_restore_0> - -00001ae8 : - 1ae8: e88fe2ef jal t0,170 <__riscv_save_0> - 1aec: 842a mv s0,a0 - 1aee: eaaff0ef jal ra,1198 - 1af2: 08000593 li a1,128 - 1af6: 8522 mv a0,s0 - 1af8: eb0ff0ef jal ra,11a8 - 1afc: d97d beqz a0,1af2 - 1afe: e96fe06f j 194 <__riscv_restore_0> - -00001b02 : - 1b02: 1141 addi sp,sp,-16 - 1b04: c622 sw s0,12(sp) - 1b06: 40005437 lui s0,0x40005 - 1b0a: 52500593 li a1,1317 - 1b0e: 80040513 addi a0,s0,-2048 # 40004800 <_eusrstack+0x1ffff800> - 1b12: ea0ff0ef jal ra,11b2 - 1b16: c50d beqz a0,1b40 - 1b18: 80040513 addi a0,s0,-2048 - 1b1c: e84ff0ef jal ra,11a0 - 1b20: 0ff57593 andi a1,a0,255 - 1b24: 82b18c23 sb a1,-1992(gp) # 200001a0 - 1b28: 8a41a503 lw a0,-1884(gp) # 2000020c - 1b2c: 4d1c lw a5,24(a0) - 1b2e: 4910 lw a2,16(a0) - 1b30: 4954 lw a3,20(a0) - 1b32: 0785 addi a5,a5,1 - 1b34: 02c7e7b3 rem a5,a5,a2 - 1b38: 00d78463 beq a5,a3,1b40 - 1b3c: 0531 addi a0,a0,12 - 1b3e: 245d jal 1de4 - 1b40: 4432 lw s0,12(sp) - 1b42: 0141 addi sp,sp,16 - 1b44: 30200073 mret - -00001b48 : - 1b48: 1141 addi sp,sp,-16 - 1b4a: c622 sw s0,12(sp) - 1b4c: 40005437 lui s0,0x40005 - 1b50: 52500593 li a1,1317 - 1b54: c0040513 addi a0,s0,-1024 # 40004c00 <_eusrstack+0x1ffffc00> - 1b58: e5aff0ef jal ra,11b2 - 1b5c: c50d beqz a0,1b86 - 1b5e: c0040513 addi a0,s0,-1024 - 1b62: e3eff0ef jal ra,11a0 - 1b66: 0ff57593 andi a1,a0,255 - 1b6a: 82b18e23 sb a1,-1988(gp) # 200001a4 - 1b6e: 8a81a503 lw a0,-1880(gp) # 20000210 - 1b72: 4d1c lw a5,24(a0) - 1b74: 4910 lw a2,16(a0) - 1b76: 4954 lw a3,20(a0) - 1b78: 0785 addi a5,a5,1 - 1b7a: 02c7e7b3 rem a5,a5,a2 - 1b7e: 00d78463 beq a5,a3,1b86 - 1b82: 0531 addi a0,a0,12 - 1b84: 2485 jal 1de4 - 1b86: 4432 lw s0,12(sp) - 1b88: 0141 addi sp,sp,16 - 1b8a: 30200073 mret - -00001b8e : - 1b8e: de2fe2ef jal t0,170 <__riscv_save_0> - 1b92: 1101 addi sp,sp,-32 - 1b94: 84aa mv s1,a0 - 1b96: 842e mv s0,a1 - 1b98: 4509 li a0,2 - 1b9a: 4585 li a1,1 - 1b9c: aa8ff0ef jal ra,e44 - 1ba0: 84e0 sh s0,24(sp) - 1ba2: 40000437 lui s0,0x40000 - 1ba6: 084c addi a1,sp,20 - 1ba8: 40040513 addi a0,s0,1024 # 40000400 <_eusrstack+0x1fffb400> - 1bac: ca26 sw s1,20(sp) - 1bae: 00011e23 sh zero,28(sp) - 1bb2: 00011d23 sh zero,26(sp) - 1bb6: b28ff0ef jal ra,ede - 1bba: 40040513 addi a0,s0,1024 - 1bbe: 4585 li a1,1 - 1bc0: cc6ff0ef jal ra,1086 - 1bc4: 4605 li a2,1 - 1bc6: 4585 li a1,1 - 1bc8: 40040513 addi a0,s0,1024 - 1bcc: c32ff0ef jal ra,ffe - 1bd0: 02d00793 li a5,45 - 1bd4: 867c sh a5,12(sp) - 1bd6: 4785 li a5,1 - 1bd8: 875c sb a5,14(sp) - 1bda: 0068 addi a0,sp,12 - 1bdc: 4785 li a5,1 - 1bde: c83e sw a5,16(sp) - 1be0: 908ff0ef jal ra,ce8 - 1be4: 6105 addi sp,sp,32 - 1be6: daefe06f j 194 <__riscv_restore_0> - -00001bea : - 1bea: d86fe2ef jal t0,170 <__riscv_save_0> - 1bee: 200007b7 lui a5,0x20000 - 1bf2: 1687a583 lw a1,360(a5) # 20000168 - 1bf6: 6789 lui a5,0x2 - 1bf8: 71078793 addi a5,a5,1808 # 2710 - 1bfc: 02f5d5b3 divu a1,a1,a5 - 1c00: 157d addi a0,a0,-1 - 1c02: 0542 slli a0,a0,0x10 - 1c04: 8141 srli a0,a0,0x10 - 1c06: 15fd addi a1,a1,-1 - 1c08: 05c2 slli a1,a1,0x10 - 1c0a: 81c1 srli a1,a1,0x10 - 1c0c: 3749 jal 1b8e - 1c0e: d86fe06f j 194 <__riscv_restore_0> - -00001c12 : - 1c12: 1141 addi sp,sp,-16 - 1c14: c622 sw s0,12(sp) - 1c16: 40000437 lui s0,0x40000 - 1c1a: 4585 li a1,1 - 1c1c: 40040513 addi a0,s0,1024 # 40000400 <_eusrstack+0x1fffb400> - 1c20: c4eff0ef jal ra,106e - 1c24: c901 beqz a0,1c34 - 1c26: 4585 li a1,1 - 1c28: 40040513 addi a0,s0,1024 - 1c2c: c5aff0ef jal ra,1086 - 1c30: 347000ef jal ra,2776 - 1c34: 4432 lw s0,12(sp) - 1c36: 0141 addi sp,sp,16 - 1c38: 30200073 mret - -00001c3c : - 1c3c: d34fe2ef jal t0,170 <__riscv_save_0> - 1c40: 1101 addi sp,sp,-32 - 1c42: 842e mv s0,a1 - 1c44: 84aa mv s1,a0 - 1c46: 4585 li a1,1 - 1c48: 4505 li a0,1 - 1c4a: 9faff0ef jal ra,e44 - 1c4e: 084c addi a1,sp,20 - 1c50: 40000537 lui a0,0x40000 - 1c54: ca26 sw s1,20(sp) - 1c56: 84e0 sh s0,24(sp) - 1c58: 00011e23 sh zero,28(sp) - 1c5c: 00011d23 sh zero,26(sp) - 1c60: a7eff0ef jal ra,ede - 1c64: 4605 li a2,1 - 1c66: 4585 li a1,1 - 1c68: 40000537 lui a0,0x40000 - 1c6c: b92ff0ef jal ra,ffe - 1c70: 02c00793 li a5,44 - 1c74: 867c sh a5,12(sp) - 1c76: 478d li a5,3 - 1c78: 875c sb a5,14(sp) - 1c7a: 0068 addi a0,sp,12 - 1c7c: 4785 li a5,1 - 1c7e: c83e sw a5,16(sp) - 1c80: 868ff0ef jal ra,ce8 - 1c84: 4585 li a1,1 - 1c86: 40000537 lui a0,0x40000 - 1c8a: b46ff0ef jal ra,fd0 - 1c8e: 6105 addi sp,sp,32 - 1c90: d04fe06f j 194 <__riscv_restore_0> - -00001c94 : - 1c94: cdcfe2ef jal t0,170 <__riscv_save_0> - 1c98: 200007b7 lui a5,0x20000 - 1c9c: 1687a583 lw a1,360(a5) # 20000168 - 1ca0: 6789 lui a5,0x2 - 1ca2: 71078793 addi a5,a5,1808 # 2710 - 1ca6: 02f5d5b3 divu a1,a1,a5 - 1caa: 47a9 li a5,10 - 1cac: 02f50533 mul a0,a0,a5 - 1cb0: 15fd addi a1,a1,-1 - 1cb2: 05c2 slli a1,a1,0x10 - 1cb4: 81c1 srli a1,a1,0x10 - 1cb6: 157d addi a0,a0,-1 - 1cb8: 0542 slli a0,a0,0x10 - 1cba: 8141 srli a0,a0,0x10 - 1cbc: 3741 jal 1c3c - 1cbe: cd6fe06f j 194 <__riscv_restore_0> - -00001cc2 : - 1cc2: 4585 li a1,1 - 1cc4: 40000537 lui a0,0x40000 - 1cc8: ba6ff0ef jal ra,106e - 1ccc: c519 beqz a0,1cda - 1cce: 4585 li a1,1 - 1cd0: 40000537 lui a0,0x40000 - 1cd4: bb2ff0ef jal ra,1086 - 1cd8: 28d1 jal 1dac - 1cda: 30200073 mret - -00001cde : - 1cde: e000f7b7 lui a5,0xe000f - 1ce2: 0007a223 sw zero,4(a5) # e000f004 <_eusrstack+0xc000a004> - 1ce6: 20d9 jal 1dac - 1ce8: 30200073 mret - -00001cec : - 1cec: 1141 addi sp,sp,-16 - 1cee: c622 sw s0,12(sp) - 1cf0: 40013437 lui s0,0x40013 - 1cf4: 4585 li a1,1 - 1cf6: c0040513 addi a0,s0,-1024 # 40012c00 <_eusrstack+0x2000dc00> - 1cfa: b74ff0ef jal ra,106e - 1cfe: cd01 beqz a0,1d16 - 1d00: c0040513 addi a0,s0,-1024 - 1d04: 4585 li a1,1 - 1d06: b80ff0ef jal ra,1086 - 1d0a: 00008537 lui a0,0x8 - 1d0e: 48050513 addi a0,a0,1152 # 8480 <_read+0x68> - 1d12: 0e0050ef jal ra,6df2 - 1d16: 4432 lw s0,12(sp) - 1d18: 0141 addi sp,sp,16 - 1d1a: 30200073 mret - -00001d1e : - 1d1e: c91d beqz a0,1d54 - 1d20: 96b2 add a3,a3,a2 - 1d22: 06c2 slli a3,a3,0x10 - 1d24: 82c1 srli a3,a3,0x10 - 1d26: a152 sh a2,4(a0) - 1d28: a136 sh a3,2(a0) - 1d2a: c50c sw a1,8(a0) - 1d2c: ee09 bnez a2,1d46 - 1d2e: 4785 li a5,1 - 1d30: a11c sb a5,0(a0) - 1d32: 8401a683 lw a3,-1984(gp) # 200001a8 - 1d36: 84018793 addi a5,gp,-1984 # 200001a8 - 1d3a: 8736 mv a4,a3 - 1d3c: eb01 bnez a4,1d4c - 1d3e: c554 sw a3,12(a0) - 1d40: c388 sw a0,0(a5) - 1d42: 4501 li a0,0 - 1d44: 8082 ret - 1d46: 00050023 sb zero,0(a0) - 1d4a: b7e5 j 1d32 - 1d4c: 00a70663 beq a4,a0,1d58 - 1d50: 4758 lw a4,12(a4) - 1d52: b7ed j 1d3c - 1d54: 557d li a0,-1 - 1d56: 8082 ret - 1d58: 4505 li a0,1 - 1d5a: 8082 ret - -00001d5c : - 1d5c: c50d beqz a0,1d86 - 1d5e: 8401a783 lw a5,-1984(gp) # 200001a8 - 1d62: 84018713 addi a4,gp,-1984 # 200001a8 - 1d66: e399 bnez a5,1d6c - 1d68: 4505 li a0,1 +00001d3e <_write_r>: + 1d3e: 1141 addi sp,sp,-16 + 1d40: c422 sw s0,8(sp) + 1d42: 842a mv s0,a0 + 1d44: 852e mv a0,a1 + 1d46: 85b2 mv a1,a2 + 1d48: 8636 mv a2,a3 + 1d4a: 8401a623 sw zero,-1972(gp) # 200000cc + 1d4e: c606 sw ra,12(sp) + 1d50: f33fe0ef jal ra,c82 <_write> + 1d54: 57fd li a5,-1 + 1d56: 00f51763 bne a0,a5,1d64 <_write_r+0x26> + 1d5a: 84c18793 addi a5,gp,-1972 # 200000cc + 1d5e: 439c lw a5,0(a5) + 1d60: c391 beqz a5,1d64 <_write_r+0x26> + 1d62: c01c sw a5,0(s0) + 1d64: 40b2 lw ra,12(sp) + 1d66: 4422 lw s0,8(sp) + 1d68: 0141 addi sp,sp,16 1d6a: 8082 ret - 1d6c: 47d4 lw a3,12(a5) - 1d6e: 00a69663 bne a3,a0,1d7a - 1d72: 4558 lw a4,12(a0) - 1d74: c7d8 sw a4,12(a5) - 1d76: 4501 li a0,0 - 1d78: 8082 ret - 1d7a: 00a79463 bne a5,a0,1d82 - 1d7e: c314 sw a3,0(a4) - 1d80: bfdd j 1d76 - 1d82: 87b6 mv a5,a3 - 1d84: b7cd j 1d66 - 1d86: 557d li a0,-1 - 1d88: 8082 ret -00001d8a : - 1d8a: be6fe2ef jal t0,170 <__riscv_save_0> - 1d8e: 8401a403 lw s0,-1984(gp) # 200001a8 - 1d92: dc75 beqz s0,1d8e - 1d94: 201c lbu a5,0(s0) - 1d96: 0ff7f793 andi a5,a5,255 - 1d9a: c799 beqz a5,1da8 - 1d9c: 205e lhu a5,4(s0) - 1d9e: c399 beqz a5,1da4 - 1da0: 00040023 sb zero,0(s0) - 1da4: 441c lw a5,8(s0) - 1da6: 9782 jalr a5 - 1da8: 4440 lw s0,12(s0) - 1daa: b7e5 j 1d92 +00001d6c <_close_r>: + 1d6c: 1141 addi sp,sp,-16 + 1d6e: c422 sw s0,8(sp) + 1d70: 842a mv s0,a0 + 1d72: 852e mv a0,a1 + 1d74: 8401a623 sw zero,-1972(gp) # 200000cc + 1d78: c606 sw ra,12(sp) + 1d7a: 20c5 jal 1e5a <_close> + 1d7c: 57fd li a5,-1 + 1d7e: 00f51763 bne a0,a5,1d8c <_close_r+0x20> + 1d82: 84c18793 addi a5,gp,-1972 # 200000cc + 1d86: 439c lw a5,0(a5) + 1d88: c391 beqz a5,1d8c <_close_r+0x20> + 1d8a: c01c sw a5,0(s0) + 1d8c: 40b2 lw ra,12(sp) + 1d8e: 4422 lw s0,8(sp) + 1d90: 0141 addi sp,sp,16 + 1d92: 8082 ret -00001dac : - 1dac: 8401a783 lw a5,-1984(gp) # 200001a8 - 1db0: 4605 li a2,1 - 1db2: e391 bnez a5,1db6 - 1db4: 8082 ret - 1db6: 23d6 lhu a3,4(a5) - 1db8: ce81 beqz a3,1dd0 - 1dba: 23ba lhu a4,2(a5) - 1dbc: 177d addi a4,a4,-1 - 1dbe: 0742 slli a4,a4,0x10 - 1dc0: 8341 srli a4,a4,0x10 - 1dc2: a3ba sh a4,2(a5) - 1dc4: 23ba lhu a4,2(a5) - 1dc6: 0742 slli a4,a4,0x10 - 1dc8: 8341 srli a4,a4,0x10 - 1dca: e319 bnez a4,1dd0 - 1dcc: a390 sb a2,0(a5) - 1dce: a3b6 sh a3,2(a5) - 1dd0: 47dc lw a5,12(a5) - 1dd2: b7c5 j 1db2 +00001d94 <_fstat_r>: + 1d94: 1141 addi sp,sp,-16 + 1d96: c422 sw s0,8(sp) + 1d98: 842a mv s0,a0 + 1d9a: 852e mv a0,a1 + 1d9c: 85b2 mv a1,a2 + 1d9e: 8401a623 sw zero,-1972(gp) # 200000cc + 1da2: c606 sw ra,12(sp) + 1da4: 20c9 jal 1e66 <_fstat> + 1da6: 57fd li a5,-1 + 1da8: 00f51763 bne a0,a5,1db6 <_fstat_r+0x22> + 1dac: 84c18793 addi a5,gp,-1972 # 200000cc + 1db0: 439c lw a5,0(a5) + 1db2: c391 beqz a5,1db6 <_fstat_r+0x22> + 1db4: c01c sw a5,0(s0) + 1db6: 40b2 lw ra,12(sp) + 1db8: 4422 lw s0,8(sp) + 1dba: 0141 addi sp,sp,16 + 1dbc: 8082 ret -00001dd4 : - 1dd4: 00052623 sw zero,12(a0) - 1dd8: c10c sw a1,0(a0) - 1dda: c150 sw a2,4(a0) - 1ddc: 00052423 sw zero,8(a0) - 1de0: 4505 li a0,1 - 1de2: 8082 ret +00001dbe <_isatty_r>: + 1dbe: 1141 addi sp,sp,-16 + 1dc0: c422 sw s0,8(sp) + 1dc2: 842a mv s0,a0 + 1dc4: 852e mv a0,a1 + 1dc6: 8401a623 sw zero,-1972(gp) # 200000cc + 1dca: c606 sw ra,12(sp) + 1dcc: 205d jal 1e72 <_isatty> + 1dce: 57fd li a5,-1 + 1dd0: 00f51763 bne a0,a5,1dde <_isatty_r+0x20> + 1dd4: 84c18793 addi a5,gp,-1972 # 200000cc + 1dd8: 439c lw a5,0(a5) + 1dda: c391 beqz a5,1dde <_isatty_r+0x20> + 1ddc: c01c sw a5,0(s0) + 1dde: 40b2 lw ra,12(sp) + 1de0: 4422 lw s0,8(sp) + 1de2: 0141 addi sp,sp,16 + 1de4: 8082 ret -00001de4 : - 1de4: 455c lw a5,12(a0) - 1de6: 4154 lw a3,4(a0) - 1de8: 4518 lw a4,8(a0) - 1dea: 0785 addi a5,a5,1 - 1dec: 02d7e7b3 rem a5,a5,a3 - 1df0: 00e78e63 beq a5,a4,1e0c - 1df4: 4558 lw a4,12(a0) - 1df6: 411c lw a5,0(a0) - 1df8: 97ba add a5,a5,a4 - 1dfa: a38c sb a1,0(a5) - 1dfc: 455c lw a5,12(a0) - 1dfe: 4158 lw a4,4(a0) - 1e00: 0785 addi a5,a5,1 - 1e02: 02e7e7b3 rem a5,a5,a4 - 1e06: c55c sw a5,12(a0) - 1e08: 4505 li a0,1 - 1e0a: 8082 ret - 1e0c: 5579 li a0,-2 - 1e0e: 8082 ret +00001de6 <_lseek_r>: + 1de6: 1141 addi sp,sp,-16 + 1de8: c422 sw s0,8(sp) + 1dea: 842a mv s0,a0 + 1dec: 852e mv a0,a1 + 1dee: 85b2 mv a1,a2 + 1df0: 8636 mv a2,a3 + 1df2: 8401a623 sw zero,-1972(gp) # 200000cc + 1df6: c606 sw ra,12(sp) + 1df8: 2059 jal 1e7e <_lseek> + 1dfa: 57fd li a5,-1 + 1dfc: 00f51763 bne a0,a5,1e0a <_lseek_r+0x24> + 1e00: 84c18793 addi a5,gp,-1972 # 200000cc + 1e04: 439c lw a5,0(a5) + 1e06: c391 beqz a5,1e0a <_lseek_r+0x24> + 1e08: c01c sw a5,0(s0) + 1e0a: 40b2 lw ra,12(sp) + 1e0c: 4422 lw s0,8(sp) + 1e0e: 0141 addi sp,sp,16 + 1e10: 8082 ret -00001e10 : - 1e10: 4518 lw a4,8(a0) - 1e12: 455c lw a5,12(a0) - 1e14: 00f70f63 beq a4,a5,1e32 - 1e18: 4518 lw a4,8(a0) - 1e1a: 411c lw a5,0(a0) - 1e1c: 97ba add a5,a5,a4 - 1e1e: 239c lbu a5,0(a5) - 1e20: a19c sb a5,0(a1) - 1e22: 451c lw a5,8(a0) - 1e24: 4158 lw a4,4(a0) - 1e26: 0785 addi a5,a5,1 - 1e28: 02e7e7b3 rem a5,a5,a4 - 1e2c: c51c sw a5,8(a0) - 1e2e: 4505 li a0,1 - 1e30: 8082 ret - 1e32: 4501 li a0,0 - 1e34: 8082 ret +00001e12 : + 1e12: 0ff5f593 andi a1,a1,255 + 1e16: 962a add a2,a2,a0 + 1e18: 00c51463 bne a0,a2,1e20 + 1e1c: 4501 li a0,0 + 1e1e: 8082 ret + 1e20: 211c lbu a5,0(a0) + 1e22: feb78ee3 beq a5,a1,1e1e + 1e26: 0505 addi a0,a0,1 + 1e28: bfc5 j 1e18 -00001e36 : - 1e36: 455c lw a5,12(a0) - 1e38: 4518 lw a4,8(a0) - 1e3a: 4148 lw a0,4(a0) - 1e3c: 8f99 sub a5,a5,a4 - 1e3e: 97aa add a5,a5,a0 - 1e40: 02a7e533 rem a0,a5,a0 - 1e44: 8082 ret +00001e2a <__malloc_lock>: + 1e2a: 8082 ret -00001e46 : - 1e46: 200007b7 lui a5,0x20000 - 1e4a: 1687a783 lw a5,360(a5) # 20000168 - 1e4e: 6709 lui a4,0x2 - 1e50: f4070713 addi a4,a4,-192 # 1f40 <_sbrk+0xc> - 1e54: 02e7d7b3 divu a5,a5,a4 - 1e58: 07c2 slli a5,a5,0x10 - 1e5a: 83c1 srli a5,a5,0x10 - 1e5c: 84f19323 sh a5,-1978(gp) # 200001ae - 1e60: 84f19223 sh a5,-1980(gp) # 200001ac +00001e2c <__malloc_unlock>: + 1e2c: 8082 ret + +00001e2e <_read_r>: + 1e2e: 1141 addi sp,sp,-16 + 1e30: c422 sw s0,8(sp) + 1e32: 842a mv s0,a0 + 1e34: 852e mv a0,a1 + 1e36: 85b2 mv a1,a2 + 1e38: 8636 mv a2,a3 + 1e3a: 8401a623 sw zero,-1972(gp) # 200000cc + 1e3e: c606 sw ra,12(sp) + 1e40: 20a9 jal 1e8a <_read> + 1e42: 57fd li a5,-1 + 1e44: 00f51763 bne a0,a5,1e52 <_read_r+0x24> + 1e48: 84c18793 addi a5,gp,-1972 # 200000cc + 1e4c: 439c lw a5,0(a5) + 1e4e: c391 beqz a5,1e52 <_read_r+0x24> + 1e50: c01c sw a5,0(s0) + 1e52: 40b2 lw ra,12(sp) + 1e54: 4422 lw s0,8(sp) + 1e56: 0141 addi sp,sp,16 + 1e58: 8082 ret + +00001e5a <_close>: + 1e5a: 05800793 li a5,88 + 1e5e: 84f1a623 sw a5,-1972(gp) # 200000cc + 1e62: 557d li a0,-1 1e64: 8082 ret -00001e66 : - 1e66: e000f7b7 lui a5,0xe000f - 1e6a: 43d8 lw a4,4(a5) - 1e6c: 4681 li a3,0 - 1e6e: 9b79 andi a4,a4,-2 - 1e70: c3d8 sw a4,4(a5) - 1e72: 8441d703 lhu a4,-1980(gp) # 200001ac - 1e76: 02a70633 mul a2,a4,a0 - 1e7a: cb90 sw a2,16(a5) - 1e7c: cbd4 sw a3,20(a5) - 1e7e: 4398 lw a4,0(a5) - 1e80: 01076713 ori a4,a4,16 - 1e84: c398 sw a4,0(a5) - 1e86: 4398 lw a4,0(a5) - 1e88: 02176713 ori a4,a4,33 - 1e8c: c398 sw a4,0(a5) - 1e8e: 43d8 lw a4,4(a5) - 1e90: 8b05 andi a4,a4,1 - 1e92: df75 beqz a4,1e8e - 1e94: 4398 lw a4,0(a5) - 1e96: 9b79 andi a4,a4,-2 - 1e98: c398 sw a4,0(a5) - 1e9a: 8082 ret - -00001e9c : - 1e9c: ad4fe2ef jal t0,170 <__riscv_save_0> - 1ea0: 842a mv s0,a0 - 1ea2: 6511 lui a0,0x4 - 1ea4: 1101 addi sp,sp,-32 - 1ea6: 4585 li a1,1 - 1ea8: 0511 addi a0,a0,4 - 1eaa: f7dfe0ef jal ra,e26 - 1eae: 20000793 li a5,512 - 1eb2: 827c sh a5,4(sp) - 1eb4: 40011537 lui a0,0x40011 - 1eb8: 478d li a5,3 - 1eba: c43e sw a5,8(sp) - 1ebc: 004c addi a1,sp,4 - 1ebe: 47e1 li a5,24 - 1ec0: 80050513 addi a0,a0,-2048 # 40010800 <_eusrstack+0x2000b800> - 1ec4: c63e sw a5,12(sp) - 1ec6: a53fe0ef jal ra,918 - 1eca: c822 sw s0,16(sp) - 1ecc: 40014437 lui s0,0x40014 - 1ed0: 000807b7 lui a5,0x80 - 1ed4: 080c addi a1,sp,16 - 1ed6: 80040513 addi a0,s0,-2048 # 40013800 <_eusrstack+0x2000e800> - 1eda: cc3e sw a5,24(sp) - 1edc: ca02 sw zero,20(sp) - 1ede: 00011e23 sh zero,28(sp) - 1ee2: 9b0ff0ef jal ra,1092 - 1ee6: 4585 li a1,1 - 1ee8: 80040513 addi a0,s0,-2048 - 1eec: a60ff0ef jal ra,114c - 1ef0: 6105 addi sp,sp,32 - 1ef2: aa2fe06f j 194 <__riscv_restore_0> - -00001ef6 <_write>: - 1ef6: a60fe2ef jal t0,156 <__riscv_save_4> - 1efa: 400144b7 lui s1,0x40014 - 1efe: 89ae mv s3,a1 - 1f00: 8932 mv s2,a2 - 1f02: 4401 li s0,0 - 1f04: 80048493 addi s1,s1,-2048 # 40013800 <_eusrstack+0x2000e800> - 1f08: 01244563 blt s0,s2,1f12 <_write+0x1c> - 1f0c: 854a mv a0,s2 - 1f0e: a7cfe06f j 18a <__riscv_restore_4> - 1f12: 04000593 li a1,64 - 1f16: 8526 mv a0,s1 - 1f18: a90ff0ef jal ra,11a8 - 1f1c: d97d beqz a0,1f12 <_write+0x1c> - 1f1e: 008987b3 add a5,s3,s0 - 1f22: 00078583 lb a1,0(a5) # 80000 <_data_lma+0x77140> - 1f26: 8526 mv a0,s1 - 1f28: 0405 addi s0,s0,1 - 1f2a: 05c2 slli a1,a1,0x10 - 1f2c: 81c1 srli a1,a1,0x10 - 1f2e: a6aff0ef jal ra,1198 - 1f32: bfd9 j 1f08 <_write+0x12> - -00001f34 <_sbrk>: - 1f34: 80818713 addi a4,gp,-2040 # 20000170 - 1f38: 431c lw a5,0(a4) - 1f3a: 200016b7 lui a3,0x20001 - 1f3e: 52868693 addi a3,a3,1320 # 20001528 <_ebss> - 1f42: 953e add a0,a0,a5 - 1f44: 00d56b63 bltu a0,a3,1f5a <_sbrk+0x26> - 1f48: 200056b7 lui a3,0x20005 - 1f4c: 80068693 addi a3,a3,-2048 # 20004800 <_heap_end> - 1f50: 00a6e563 bltu a3,a0,1f5a <_sbrk+0x26> - 1f54: c308 sw a0,0(a4) - 1f56: 853e mv a0,a5 - 1f58: 8082 ret - 1f5a: 57fd li a5,-1 - 1f5c: bfed j 1f56 <_sbrk+0x22> - -00001f5e : - 1f5e: 83419703 lh a4,-1996(gp) # 2000019c - 1f62: 4781 li a5,0 - 1f64: 972a add a4,a4,a0 - 1f66: 00074f63 bltz a4,1f84 - 1f6a: cd09 beqz a0,1f84 - 1f6c: 6605 lui a2,0x1 - 1f6e: fff60693 addi a3,a2,-1 # fff - 1f72: 87b6 mv a5,a3 - 1f74: 00c75863 bge a4,a2,1f84 - 1f78: 87aa mv a5,a0 - 1f7a: 00d50563 beq a0,a3,1f84 - 1f7e: 01071793 slli a5,a4,0x10 - 1f82: 83c1 srli a5,a5,0x10 - 1f84: 853e mv a0,a5 - 1f86: 8082 ret - -00001f88 : - 1f88: 9cefe2ef jal t0,156 <__riscv_save_4> - 1f8c: 1141 addi sp,sp,-16 - 1f8e: 40012437 lui s0,0x40012 - 1f92: 89aa mv s3,a0 - 1f94: 0044 addi s1,sp,4 - 1f96: 01010913 addi s2,sp,16 - 1f9a: 40040413 addi s0,s0,1024 # 40012400 <_eusrstack+0x2000d400> - 1f9e: 85ce mv a1,s3 - 1fa0: 8522 mv a0,s0 - 1fa2: 4695 li a3,5 - 1fa4: 4605 li a2,1 - 1fa6: df0fe0ef jal ra,596 - 1faa: 4585 li a1,1 - 1fac: 8522 mv a0,s0 - 1fae: dd0fe0ef jal ra,57e - 1fb2: 4589 li a1,2 - 1fb4: 8522 mv a0,s0 - 1fb6: ea0fe0ef jal ra,656 - 1fba: dd65 beqz a0,1fb2 - 1fbc: 8522 mv a0,s0 - 1fbe: e90fe0ef jal ra,64e - 1fc2: 0542 slli a0,a0,0x10 - 1fc4: 8541 srai a0,a0,0x10 - 1fc6: 3f61 jal 1f5e - 1fc8: a08a sh a0,0(s1) - 1fca: 0489 addi s1,s1,2 - 1fcc: fc9919e3 bne s2,s1,1f9e - 1fd0: 4715 li a4,5 - 1fd2: 4781 li a5,0 - 1fd4: a035 j 2000 - 1fd6: 00179613 slli a2,a5,0x1 - 1fda: 0814 addi a3,sp,16 - 1fdc: 0785 addi a5,a5,1 - 1fde: 9636 add a2,a2,a3 - 1fe0: 0808 addi a0,sp,16 - 1fe2: 00179693 slli a3,a5,0x1 - 1fe6: 96aa add a3,a3,a0 - 1fe8: ff465583 lhu a1,-12(a2) - 1fec: ff46d503 lhu a0,-12(a3) - 1ff0: 00b57663 bgeu a0,a1,1ffc - 1ff4: fea61a23 sh a0,-12(a2) - 1ff8: feb69a23 sh a1,-12(a3) - 1ffc: 07c2 slli a5,a5,0x10 - 1ffe: 83c1 srli a5,a5,0x10 - 2000: fce7cbe3 blt a5,a4,1fd6 - 2004: 177d addi a4,a4,-1 - 2006: f771 bnez a4,1fd2 - 2008: 8428 lhu a0,8(sp) - 200a: 853c lhu a5,10(sp) - 200c: 0141 addi sp,sp,16 - 200e: 953e add a0,a0,a5 - 2010: 0542 slli a0,a0,0x10 - 2012: 8141 srli a0,a0,0x10 - 2014: 8105 srli a0,a0,0x1 - 2016: 974fe06f j 18a <__riscv_restore_4> - -0000201a : - 201a: 956fe2ef jal t0,170 <__riscv_save_0> - 201e: 4505 li a0,1 - 2020: 37a5 jal 1f88 - 2022: 0b9040ef jal ra,68da <__floatunsisf> - 2026: 000087b7 lui a5,0x8 - 202a: 4907a583 lw a1,1168(a5) # 8490 <_read+0x78> - 202e: 4f3030ef jal ra,5d20 <__divsf3> - 2032: 177040ef jal ra,69a8 <__extendsfdf2> - 2036: 000087b7 lui a5,0x8 - 203a: 4987a603 lw a2,1176(a5) # 8498 <_read+0x80> - 203e: 49c7a683 lw a3,1180(a5) - 2042: 50d020ef jal ra,4d4e <__muldf3> - 2046: 000087b7 lui a5,0x8 - 204a: 4a07a603 lw a2,1184(a5) # 84a0 <_read+0x88> - 204e: 4a47a683 lw a3,1188(a5) - 2052: 4fd020ef jal ra,4d4e <__muldf3> - 2056: 1ff040ef jal ra,6a54 <__truncdfsf2> - 205a: 93afe06f j 194 <__riscv_restore_0> - -0000205e : - 205e: 912fe2ef jal t0,170 <__riscv_save_0> - 2062: 4509 li a0,2 - 2064: 3715 jal 1f88 - 2066: 075040ef jal ra,68da <__floatunsisf> - 206a: 000087b7 lui a5,0x8 - 206e: 4907a583 lw a1,1168(a5) # 8490 <_read+0x78> - 2072: 4af030ef jal ra,5d20 <__divsf3> - 2076: 133040ef jal ra,69a8 <__extendsfdf2> - 207a: 000087b7 lui a5,0x8 - 207e: 4987a603 lw a2,1176(a5) # 8498 <_read+0x80> - 2082: 49c7a683 lw a3,1180(a5) - 2086: 4c9020ef jal ra,4d4e <__muldf3> - 208a: 000087b7 lui a5,0x8 - 208e: 4c07a603 lw a2,1216(a5) # 84c0 <_read+0xa8> - 2092: 4c47a683 lw a3,1220(a5) - 2096: 4b9020ef jal ra,4d4e <__muldf3> - 209a: 1bb040ef jal ra,6a54 <__truncdfsf2> - 209e: 8f6fe06f j 194 <__riscv_restore_0> - -000020a2 : - 20a2: 8cefe2ef jal t0,170 <__riscv_save_0> - 20a6: 450d li a0,3 - 20a8: 35c5 jal 1f88 - 20aa: 031040ef jal ra,68da <__floatunsisf> - 20ae: 000087b7 lui a5,0x8 - 20b2: 4907a583 lw a1,1168(a5) # 8490 <_read+0x78> - 20b6: 46b030ef jal ra,5d20 <__divsf3> - 20ba: 0ef040ef jal ra,69a8 <__extendsfdf2> - 20be: 000087b7 lui a5,0x8 - 20c2: 4987a603 lw a2,1176(a5) # 8498 <_read+0x80> - 20c6: 49c7a683 lw a3,1180(a5) - 20ca: 485020ef jal ra,4d4e <__muldf3> - 20ce: 000087b7 lui a5,0x8 - 20d2: 4a07a603 lw a2,1184(a5) # 84a0 <_read+0x88> - 20d6: 4a47a683 lw a3,1188(a5) - 20da: 475020ef jal ra,4d4e <__muldf3> - 20de: 177040ef jal ra,6a54 <__truncdfsf2> - 20e2: 8b2fe06f j 194 <__riscv_restore_0> - -000020e6 : - 20e6: 88afe2ef jal t0,170 <__riscv_save_0> - 20ea: 4511 li a0,4 - 20ec: 3d71 jal 1f88 - 20ee: 7ec040ef jal ra,68da <__floatunsisf> - 20f2: 000087b7 lui a5,0x8 - 20f6: 4907a583 lw a1,1168(a5) # 8490 <_read+0x78> - 20fa: 427030ef jal ra,5d20 <__divsf3> - 20fe: 0ab040ef jal ra,69a8 <__extendsfdf2> - 2102: 000087b7 lui a5,0x8 - 2106: 4987a603 lw a2,1176(a5) # 8498 <_read+0x80> - 210a: 49c7a683 lw a3,1180(a5) - 210e: 441020ef jal ra,4d4e <__muldf3> - 2112: 000087b7 lui a5,0x8 - 2116: 4b87a603 lw a2,1208(a5) # 84b8 <_read+0xa0> - 211a: 4bc7a683 lw a3,1212(a5) - 211e: 431020ef jal ra,4d4e <__muldf3> - 2122: 133040ef jal ra,6a54 <__truncdfsf2> - 2126: 86efe06f j 194 <__riscv_restore_0> - -0000212a : - 212a: 846fe2ef jal t0,170 <__riscv_save_0> - 212e: 4519 li a0,6 - 2130: 3da1 jal 1f88 - 2132: 67a1 lui a5,0x8 - 2134: 4c878793 addi a5,a5,1224 # 84c8 - 2138: 4701 li a4,0 - 213a: 0f100693 li a3,241 - 213e: 2392 lhu a2,0(a5) - 2140: 02c56963 bltu a0,a2,2172 - 2144: 853a mv a0,a4 - 2146: 7fe030ef jal ra,5944 <__floatsidf> - 214a: 000087b7 lui a5,0x8 - 214e: 4a87a603 lw a2,1192(a5) # 84a8 <_read+0x90> - 2152: 4ac7a683 lw a3,1196(a5) - 2156: 3f9020ef jal ra,4d4e <__muldf3> - 215a: 000087b7 lui a5,0x8 - 215e: 4b07a603 lw a2,1200(a5) # 84b0 <_read+0x98> - 2162: 4b47a683 lw a3,1204(a5) - 2166: 0a0030ef jal ra,5206 <__subdf3> - 216a: 0eb040ef jal ra,6a54 <__truncdfsf2> - 216e: 826fe06f j 194 <__riscv_restore_0> - 2172: 0705 addi a4,a4,1 - 2174: 0789 addi a5,a5,2 - 2176: fcd714e3 bne a4,a3,213e - 217a: 00000513 li a0,0 - 217e: bfc5 j 216e - -00002180 : - 2180: ff1fd2ef jal t0,170 <__riscv_save_0> - 2184: 03200613 li a2,50 - 2188: 4581 li a1,0 - 218a: c28ff0ef jal ra,15b2 - 218e: 806fe06f j 194 <__riscv_restore_0> - -00002192 : - 2192: fdffd2ef jal t0,170 <__riscv_save_0> - 2196: 7139 addi sp,sp,-64 - 2198: 0068 addi a0,sp,12 - 219a: 03200613 li a2,50 - 219e: 4581 li a1,0 - 21a0: af0ff0ef jal ra,1490 - 21a4: 8618 lbu a4,12(sp) - 21a6: 05300793 li a5,83 - 21aa: 20000537 lui a0,0x20000 - 21ae: 02f71763 bne a4,a5,21dc - 21b2: 8698 lbu a4,13(sp) - 21b4: 04c00793 li a5,76 - 21b8: 02f71263 bne a4,a5,21dc - 21bc: 03d14703 lbu a4,61(sp) - 21c0: 47d9 li a5,22 - 21c2: 00f71d63 bne a4,a5,21dc - 21c6: 03200613 li a2,50 - 21ca: 006c addi a1,sp,12 - 21cc: 02050513 addi a0,a0,32 # 20000020 - 21d0: 25d040ef jal ra,6c2c - 21d4: 4505 li a0,1 - 21d6: 6121 addi sp,sp,64 - 21d8: fbdfd06f j 194 <__riscv_restore_0> - 21dc: 200007b7 lui a5,0x20000 - 21e0: 0547c703 lbu a4,84(a5) # 20000054 - 21e4: 02050513 addi a0,a0,32 - 21e8: 05478793 addi a5,a5,84 - 21ec: a118 sb a4,0(a0) - 21ee: 3398 lbu a4,1(a5) - 21f0: b118 sb a4,1(a0) - 21f2: 23b8 lbu a4,2(a5) - 21f4: a138 sb a4,2(a0) - 21f6: 33b8 lbu a4,3(a5) - 21f8: b138 sb a4,3(a0) - 21fa: 23d8 lbu a4,4(a5) - 21fc: a158 sb a4,4(a0) - 21fe: 33d8 lbu a4,5(a5) - 2200: b158 sb a4,5(a0) - 2202: 23f8 lbu a4,6(a5) - 2204: a178 sb a4,6(a0) - 2206: 33f8 lbu a4,7(a5) - 2208: b178 sb a4,7(a0) - 220a: 2798 lbu a4,8(a5) - 220c: 37dc lbu a5,13(a5) - 220e: a518 sb a4,8(a0) - 2210: 02f508a3 sb a5,49(a0) - 2214: 4501 li a0,0 - 2216: b7c1 j 21d6 - -00002218 : - 2218: f59fd2ef jal t0,170 <__riscv_save_0> - 221c: 7139 addi sp,sp,-64 - 221e: 842a mv s0,a0 - 2220: 03200613 li a2,50 - 2224: 4581 li a1,0 - 2226: 0068 addi a0,sp,12 - 2228: a68ff0ef jal ra,1490 - 222c: 8618 lbu a4,12(sp) - 222e: 05300793 li a5,83 - 2232: 02f71663 bne a4,a5,225e - 2236: 8698 lbu a4,13(sp) - 2238: 04c00793 li a5,76 - 223c: 02f71163 bne a4,a5,225e - 2240: 03d14703 lbu a4,61(sp) - 2244: 47d9 li a5,22 - 2246: 00f71c63 bne a4,a5,225e - 224a: 03200613 li a2,50 - 224e: 006c addi a1,sp,12 - 2250: 8522 mv a0,s0 - 2252: 1db040ef jal ra,6c2c - 2256: 4505 li a0,1 - 2258: 6121 addi sp,sp,64 - 225a: f3bfd06f j 194 <__riscv_restore_0> - 225e: 200007b7 lui a5,0x20000 - 2262: 0547c703 lbu a4,84(a5) # 20000054 - 2266: 05478793 addi a5,a5,84 - 226a: 4501 li a0,0 - 226c: a018 sb a4,0(s0) - 226e: 3398 lbu a4,1(a5) - 2270: b018 sb a4,1(s0) - 2272: 23b8 lbu a4,2(a5) - 2274: a038 sb a4,2(s0) - 2276: 33b8 lbu a4,3(a5) - 2278: b038 sb a4,3(s0) - 227a: 23d8 lbu a4,4(a5) - 227c: a058 sb a4,4(s0) - 227e: 33d8 lbu a4,5(a5) - 2280: b058 sb a4,5(s0) - 2282: 23f8 lbu a4,6(a5) - 2284: a078 sb a4,6(s0) - 2286: 33f8 lbu a4,7(a5) - 2288: b078 sb a4,7(s0) - 228a: 2798 lbu a4,8(a5) - 228c: a418 sb a4,8(s0) - 228e: 37dc lbu a5,13(a5) - 2290: 02f408a3 sb a5,49(s0) - 2294: b7d1 j 2258 - -00002296 : - 2296: ec1fd2ef jal t0,156 <__riscv_save_4> - 229a: 200017b7 lui a5,0x20001 - 229e: 21c78793 addi a5,a5,540 # 2000121c - 22a2: 2ff8 lbu a4,30(a5) - 22a4: 3fc0 lbu s0,29(a5) - 22a6: 85aa mv a1,a0 - 22a8: 0722 slli a4,a4,0x8 - 22aa: 8f41 or a4,a4,s0 - 22ac: 3fe0 lbu s0,31(a5) - 22ae: 80c18913 addi s2,gp,-2036 # 20000174 - 22b2: 0442 slli s0,s0,0x10 - 22b4: 8f41 or a4,a4,s0 - 22b6: 0207c403 lbu s0,32(a5) - 22ba: 0462 slli s0,s0,0x18 - 22bc: 8c59 or s0,s0,a4 - 22be: 8522 mv a0,s0 - 22c0: 114040ef jal ra,63d4 <__subsf3> - 22c4: 000087b7 lui a5,0x8 - 22c8: 6f07a583 lw a1,1776(a5) # 86f0 - 22cc: 675030ef jal ra,6140 <__mulsf3> - 22d0: 000087b7 lui a5,0x8 - 22d4: 6e87a583 lw a1,1768(a5) # 86e8 - 22d8: 89aa mv s3,a0 - 22da: 8522 mv a0,s0 - 22dc: 665030ef jal ra,6140 <__mulsf3> - 22e0: 85aa mv a1,a0 - 22e2: 854e mv a0,s3 - 22e4: 6d2030ef jal ra,59b6 <__addsf3> - 22e8: 00092583 lw a1,0(s2) - 22ec: 6ca030ef jal ra,59b6 <__addsf3> - 22f0: 00a92023 sw a0,0(s2) - 22f4: 80c18513 addi a0,gp,-2036 # 20000174 - 22f8: dfaff0ef jal ra,18f2 - 22fc: e8ffd06f j 18a <__riscv_restore_4> - -00002300 : - 2300: e57fd2ef jal t0,156 <__riscv_save_4> - 2304: 200017b7 lui a5,0x20001 - 2308: 21c78793 addi a5,a5,540 # 2000121c - 230c: 27f8 lbu a4,14(a5) - 230e: 37c0 lbu s0,13(a5) - 2310: 0722 slli a4,a4,0x8 - 2312: 8f41 or a4,a4,s0 - 2314: 37e0 lbu s0,15(a5) - 2316: 80c18913 addi s2,gp,-2036 # 20000174 - 231a: 0442 slli s0,s0,0x10 - 231c: 8f41 or a4,a4,s0 - 231e: 2b80 lbu s0,16(a5) - 2320: 0462 slli s0,s0,0x18 - 2322: 8c59 or s0,s0,a4 - 2324: 85a2 mv a1,s0 - 2326: 0ae040ef jal ra,63d4 <__subsf3> - 232a: 000087b7 lui a5,0x8 - 232e: 6f07a583 lw a1,1776(a5) # 86f0 - 2332: 60f030ef jal ra,6140 <__mulsf3> - 2336: 000087b7 lui a5,0x8 - 233a: 6e87a583 lw a1,1768(a5) # 86e8 - 233e: 89aa mv s3,a0 - 2340: 8522 mv a0,s0 - 2342: 5ff030ef jal ra,6140 <__mulsf3> - 2346: 85aa mv a1,a0 - 2348: 854e mv a0,s3 - 234a: 66c030ef jal ra,59b6 <__addsf3> - 234e: 00092583 lw a1,0(s2) - 2352: 664030ef jal ra,59b6 <__addsf3> - 2356: 00a92023 sw a0,0(s2) - 235a: 80c18513 addi a0,gp,-2036 # 20000174 - 235e: d94ff0ef jal ra,18f2 - 2362: e29fd06f j 18a <__riscv_restore_4> - -00002366 : - 2366: df1fd2ef jal t0,156 <__riscv_save_4> - 236a: 200017b7 lui a5,0x20001 - 236e: 21c78793 addi a5,a5,540 # 2000121c - 2372: 2bf8 lbu a4,22(a5) - 2374: 3bc0 lbu s0,21(a5) - 2376: 0722 slli a4,a4,0x8 - 2378: 8f41 or a4,a4,s0 - 237a: 3be0 lbu s0,23(a5) - 237c: 80c18913 addi s2,gp,-2036 # 20000174 - 2380: 0442 slli s0,s0,0x10 - 2382: 8f41 or a4,a4,s0 - 2384: 2f80 lbu s0,24(a5) - 2386: 0462 slli s0,s0,0x18 - 2388: 8c59 or s0,s0,a4 - 238a: 85a2 mv a1,s0 - 238c: 048040ef jal ra,63d4 <__subsf3> - 2390: 000087b7 lui a5,0x8 - 2394: 6f07a583 lw a1,1776(a5) # 86f0 - 2398: 5a9030ef jal ra,6140 <__mulsf3> - 239c: 000087b7 lui a5,0x8 - 23a0: 6e47a583 lw a1,1764(a5) # 86e4 - 23a4: 89aa mv s3,a0 - 23a6: 8522 mv a0,s0 - 23a8: 599030ef jal ra,6140 <__mulsf3> - 23ac: 85aa mv a1,a0 - 23ae: 854e mv a0,s3 - 23b0: 606030ef jal ra,59b6 <__addsf3> - 23b4: 00092583 lw a1,0(s2) - 23b8: 5fe030ef jal ra,59b6 <__addsf3> - 23bc: 00a92023 sw a0,0(s2) - 23c0: 80c18513 addi a0,gp,-2036 # 20000174 - 23c4: d2eff0ef jal ra,18f2 - 23c8: dc3fd06f j 18a <__riscv_restore_4> - -000023cc : - 23cc: da5fd2ef jal t0,170 <__riscv_save_0> - 23d0: 20001437 lui s0,0x20001 - 23d4: 21c40713 addi a4,s0,540 # 2000121c - 23d8: 02c74783 lbu a5,44(a4) - 23dc: 02b74683 lbu a3,43(a4) - 23e0: 4709 li a4,2 - 23e2: 07a2 slli a5,a5,0x8 - 23e4: 8fd5 or a5,a5,a3 - 23e6: 08e78763 beq a5,a4,2474 - 23ea: 00f76763 bltu a4,a5,23f8 - 23ee: 4705 li a4,1 - 23f0: 02e78763 beq a5,a4,241e - 23f4: da1fd06f j 194 <__riscv_restore_0> - 23f8: 470d li a4,3 - 23fa: 08e78463 beq a5,a4,2482 - 23fe: 4711 li a4,4 - 2400: fee79ae3 bne a5,a4,23f4 - 2404: 81218493 addi s1,gp,-2030 # 2000017a - 2408: 209c lbu a5,0(s1) - 240a: 85418413 addi s0,gp,-1964 # 200001bc - 240e: c3dd beqz a5,24b4 - 2410: 200007b7 lui a5,0x20000 - 2414: 02078793 addi a5,a5,32 # 20000020 - 2418: 3fa8 lbu a0,27(a5) - 241a: 2fdc lbu a5,28(a5) - 241c: a8bd j 249a - 241e: 81018913 addi s2,gp,-2032 # 20000178 - 2422: 00094783 lbu a5,0(s2) - 2426: 21c40413 addi s0,s0,540 - 242a: 86018493 addi s1,gp,-1952 # 200001c8 - 242e: c785 beqz a5,2456 - 2430: 200007b7 lui a5,0x20000 - 2434: 02078793 addi a5,a5,32 # 20000020 - 2438: 3f88 lbu a0,25(a5) - 243a: 2fbc lbu a5,26(a5) - 243c: 07a2 slli a5,a5,0x8 - 243e: 8d5d or a0,a0,a5 - 2440: 49a040ef jal ra,68da <__floatunsisf> - 2444: 000087b7 lui a5,0x8 - 2448: 6b07a583 lw a1,1712(a5) # 86b0 - 244c: 0d5030ef jal ra,5d20 <__divsf3> - 2450: c088 sw a0,0(s1) - 2452: 00090023 sb zero,0(s2) - 2456: 2c2c lbu a1,26(s0) - 2458: 3c1c lbu a5,25(s0) - 245a: 4088 lw a0,0(s1) - 245c: 05a2 slli a1,a1,0x8 - 245e: 8ddd or a1,a1,a5 - 2460: 3c3c lbu a5,27(s0) - 2462: 07c2 slli a5,a5,0x10 - 2464: 8fcd or a5,a5,a1 - 2466: 2c4c lbu a1,28(s0) - 2468: 05e2 slli a1,a1,0x18 - 246a: 8ddd or a1,a1,a5 - 246c: 54a030ef jal ra,59b6 <__addsf3> - 2470: 3ddd jal 2366 - 2472: b749 j 23f4 - 2474: 000087b7 lui a5,0x8 - 2478: 6b47a503 lw a0,1716(a5) # 86b4 - 247c: e1bff0ef jal ra,2296 - 2480: bf95 j 23f4 - 2482: 81118493 addi s1,gp,-2031 # 20000179 - 2486: 209c lbu a5,0(s1) - 2488: 84c18413 addi s0,gp,-1972 # 200001b4 - 248c: c785 beqz a5,24b4 - 248e: 200007b7 lui a5,0x20000 - 2492: 02078793 addi a5,a5,32 # 20000020 - 2496: 3be8 lbu a0,23(a5) - 2498: 2f9c lbu a5,24(a5) - 249a: 07a2 slli a5,a5,0x8 - 249c: 8d5d or a0,a0,a5 - 249e: 43c040ef jal ra,68da <__floatunsisf> - 24a2: 000087b7 lui a5,0x8 - 24a6: 6b07a583 lw a1,1712(a5) # 86b0 - 24aa: 077030ef jal ra,5d20 <__divsf3> - 24ae: c008 sw a0,0(s0) - 24b0: 00048023 sb zero,0(s1) - 24b4: 4008 lw a0,0(s0) - 24b6: e4bff0ef jal ra,2300 - 24ba: bf2d j 23f4 - -000024bc : - 24bc: c8dfd2ef jal t0,148 <__riscv_save_10> - 24c0: 81318913 addi s2,gp,-2029 # 2000017b - 24c4: 00094783 lbu a5,0(s2) - 24c8: 85c18993 addi s3,gp,-1956 # 200001c4 - 24cc: c7d1 beqz a5,2558 - 24ce: 20000437 lui s0,0x20000 - 24d2: 02040413 addi s0,s0,32 # 20000020 - 24d6: 247c lbu a5,14(s0) - 24d8: 3448 lbu a0,13(s0) - 24da: 000084b7 lui s1,0x8 - 24de: 07a2 slli a5,a5,0x8 - 24e0: 8d5d or a0,a0,a5 - 24e2: 3f8040ef jal ra,68da <__floatunsisf> - 24e6: 6b04a583 lw a1,1712(s1) # 86b0 - 24ea: 037030ef jal ra,5d20 <__divsf3> - 24ee: 84a1a423 sw a0,-1976(gp) # 200001b0 - 24f2: 281c lbu a5,16(s0) - 24f4: 3468 lbu a0,15(s0) - 24f6: 07a2 slli a5,a5,0x8 - 24f8: 8d5d or a0,a0,a5 - 24fa: 3e0040ef jal ra,68da <__floatunsisf> - 24fe: 6b04a583 lw a1,1712(s1) - 2502: 01f030ef jal ra,5d20 <__divsf3> - 2506: 84a1a823 sw a0,-1968(gp) # 200001b8 - 250a: 283c lbu a5,18(s0) - 250c: 3808 lbu a0,17(s0) - 250e: 07a2 slli a5,a5,0x8 - 2510: 8d5d or a0,a0,a5 - 2512: 3c8040ef jal ra,68da <__floatunsisf> - 2516: 6b04a583 lw a1,1712(s1) - 251a: 007030ef jal ra,5d20 <__divsf3> - 251e: 6b04a583 lw a1,1712(s1) - 2522: 84a1ac23 sw a0,-1960(gp) # 200001c0 - 2526: 41b030ef jal ra,6140 <__mulsf3> - 252a: 232040ef jal ra,675c <__fixsfsi> - 252e: 85aa mv a1,a0 - 2530: 00008537 lui a0,0x8 - 2534: 6d050513 addi a0,a0,1744 # 86d0 - 2538: 7a6040ef jal ra,6cde - 253c: 287c lbu a5,22(s0) - 253e: 3848 lbu a0,21(s0) - 2540: 07a2 slli a5,a5,0x8 - 2542: 8d5d or a0,a0,a5 - 2544: 396040ef jal ra,68da <__floatunsisf> - 2548: 6b04a583 lw a1,1712(s1) - 254c: 7d4030ef jal ra,5d20 <__divsf3> - 2550: 00a9a023 sw a0,0(s3) - 2554: 00090023 sb zero,0(s2) - 2558: 20001437 lui s0,0x20001 - 255c: 21c40493 addi s1,s0,540 # 2000121c - 2560: 28fc lbu a5,22(s1) - 2562: 0154c903 lbu s2,21(s1) - 2566: 2cec lbu a1,30(s1) - 2568: 07a2 slli a5,a5,0x8 - 256a: 0127e7b3 or a5,a5,s2 - 256e: 0174c903 lbu s2,23(s1) - 2572: 05a2 slli a1,a1,0x8 - 2574: 0009a503 lw a0,0(s3) - 2578: 0942 slli s2,s2,0x10 - 257a: 00f967b3 or a5,s2,a5 - 257e: 0184c903 lbu s2,24(s1) - 2582: 21c40413 addi s0,s0,540 - 2586: 00008b37 lui s6,0x8 - 258a: 0962 slli s2,s2,0x18 - 258c: 00f96933 or s2,s2,a5 - 2590: 3cdc lbu a5,29(s1) - 2592: 8ddd or a1,a1,a5 - 2594: 3cfc lbu a5,31(s1) - 2596: 07c2 slli a5,a5,0x10 - 2598: 8fcd or a5,a5,a1 - 259a: 0204c583 lbu a1,32(s1) - 259e: 05e2 slli a1,a1,0x18 - 25a0: 8ddd or a1,a1,a5 - 25a2: 28d030ef jal ra,602e <__gesf2> - 25a6: 04a05963 blez a0,25f8 - 25aa: 854a mv a0,s2 - 25ac: 3fc040ef jal ra,69a8 <__extendsfdf2> - 25b0: 470b2603 lw a2,1136(s6) # 8470 <_read+0x58> - 25b4: 474b2683 lw a3,1140(s6) - 25b8: 6e0020ef jal ra,4c98 <__ledf2> - 25bc: 02055e63 bgez a0,25f8 - 25c0: 02c4c783 lbu a5,44(s1) - 25c4: 02b4c703 lbu a4,43(s1) - 25c8: 07a2 slli a5,a5,0x8 - 25ca: 8fd9 or a5,a5,a4 - 25cc: c795 beqz a5,25f8 - 25ce: 020485a3 sb zero,43(s1) - 25d2: 02048623 sb zero,44(s1) - 25d6: 184010ef jal ra,375a - 25da: 000035b7 lui a1,0x3 - 25de: 20001537 lui a0,0x20001 - 25e2: 4681 li a3,0 - 25e4: 3e800613 li a2,1000 - 25e8: 67258593 addi a1,a1,1650 # 3672 - 25ec: 30050513 addi a0,a0,768 # 20001300 - 25f0: f2eff0ef jal ra,1d1e - 25f4: b8dfd06f j 180 <__riscv_restore_10> - 25f8: 2c3c lbu a5,26(s0) - 25fa: 01944983 lbu s3,25(s0) - 25fe: 854a mv a0,s2 - 2600: 07a2 slli a5,a5,0x8 - 2602: 0137e7b3 or a5,a5,s3 - 2606: 01b44983 lbu s3,27(s0) - 260a: 09c2 slli s3,s3,0x10 - 260c: 00f9e7b3 or a5,s3,a5 - 2610: 01c44983 lbu s3,28(s0) - 2614: 09e2 slli s3,s3,0x18 - 2616: 00f9e9b3 or s3,s3,a5 - 261a: 85ce mv a1,s3 - 261c: 5b9030ef jal ra,63d4 <__subsf3> - 2620: 388040ef jal ra,69a8 <__extendsfdf2> - 2624: 474b2b83 lw s7,1140(s6) - 2628: 470b2b03 lw s6,1136(s6) - 262c: 8a2a mv s4,a0 - 262e: 86de mv a3,s7 - 2630: 865a mv a2,s6 - 2632: 8aae mv s5,a1 - 2634: 664020ef jal ra,4c98 <__ledf2> - 2638: 00055e63 bgez a0,2654 - 263c: 85ca mv a1,s2 - 263e: 854e mv a0,s3 - 2640: 595030ef jal ra,63d4 <__subsf3> - 2644: 364040ef jal ra,69a8 <__extendsfdf2> - 2648: 865a mv a2,s6 - 264a: 86de mv a3,s7 - 264c: 64c020ef jal ra,4c98 <__ledf2> - 2650: 02054e63 bltz a0,268c - 2654: 283c lbu a5,18(s0) - 2656: 3804 lbu s1,17(s0) - 2658: 07a2 slli a5,a5,0x8 - 265a: 8fc5 or a5,a5,s1 - 265c: 3824 lbu s1,19(s0) - 265e: 04c2 slli s1,s1,0x10 - 2660: 8fc5 or a5,a5,s1 - 2662: 2844 lbu s1,20(s0) - 2664: 04e2 slli s1,s1,0x18 - 2666: 8cdd or s1,s1,a5 - 2668: 000087b7 lui a5,0x8 - 266c: 6b87a583 lw a1,1720(a5) # 86b8 - 2670: 8526 mv a0,s1 - 2672: 1bd030ef jal ra,602e <__gesf2> - 2676: 00a04b63 bgtz a0,268c - 267a: 000087b7 lui a5,0x8 - 267e: 6bc7a583 lw a1,1724(a5) # 86bc - 2682: 8526 mv a0,s1 - 2684: 231030ef jal ra,60b4 <__lesf2> - 2688: 00055a63 bgez a0,269c - 268c: 4791 li a5,4 - 268e: 02f405a3 sb a5,43(s0) - 2692: 02040623 sb zero,44(s0) - 2696: 86018f23 sb zero,-1922(gp) # 200001e6 - 269a: bfa9 j 25f4 - 269c: 8481ac03 lw s8,-1976(gp) # 200001b0 - 26a0: 8526 mv a0,s1 - 26a2: 306040ef jal ra,69a8 <__extendsfdf2> - 26a6: 8b2a mv s6,a0 - 26a8: 8562 mv a0,s8 - 26aa: 8bae mv s7,a1 - 26ac: 8501ac83 lw s9,-1968(gp) # 200001b8 - 26b0: 00008d37 lui s10,0x8 - 26b4: 2f4040ef jal ra,69a8 <__extendsfdf2> - 26b8: 6c0d2603 lw a2,1728(s10) # 86c0 - 26bc: 6c4d2683 lw a3,1732(s10) - 26c0: 5fb010ef jal ra,44ba <__adddf3> - 26c4: 865a mv a2,s6 - 26c6: 86de mv a3,s7 - 26c8: 5d0020ef jal ra,4c98 <__ledf2> - 26cc: 04055063 bgez a0,270c - 26d0: 8566 mv a0,s9 - 26d2: 2d6040ef jal ra,69a8 <__extendsfdf2> - 26d6: 6c0d2603 lw a2,1728(s10) - 26da: 6c4d2683 lw a3,1732(s10) - 26de: 329020ef jal ra,5206 <__subdf3> - 26e2: 862a mv a2,a0 - 26e4: 86ae mv a3,a1 - 26e6: 855a mv a0,s6 - 26e8: 85de mv a1,s7 - 26ea: 5ae020ef jal ra,4c98 <__ledf2> - 26ee: 00a04f63 bgtz a0,270c - 26f2: 000087b7 lui a5,0x8 - 26f6: 6c87a603 lw a2,1736(a5) # 86c8 - 26fa: 6cc7a683 lw a3,1740(a5) - 26fe: 8552 mv a0,s4 - 2700: 85d6 mv a1,s5 - 2702: 4e8020ef jal ra,4bea <__gedf2> - 2706: 4789 li a5,2 - 2708: 06a04263 bgtz a0,276c - 270c: 85e6 mv a1,s9 - 270e: 8526 mv a0,s1 - 2710: 11f030ef jal ra,602e <__gesf2> - 2714: 04a05563 blez a0,275e - 2718: 8581ab03 lw s6,-1960(gp) # 200001c0 - 271c: 855a mv a0,s6 - 271e: 28a040ef jal ra,69a8 <__extendsfdf2> - 2722: 000087b7 lui a5,0x8 - 2726: 6c87a603 lw a2,1736(a5) # 86c8 - 272a: 6cc7a683 lw a3,1740(a5) - 272e: 58d010ef jal ra,44ba <__adddf3> - 2732: 862a mv a2,a0 - 2734: 86ae mv a3,a1 - 2736: 8552 mv a0,s4 - 2738: 85d6 mv a1,s5 - 273a: 4b0020ef jal ra,4bea <__gedf2> - 273e: 478d li a5,3 - 2740: 02055663 bgez a0,276c - 2744: 85ca mv a1,s2 - 2746: 855a mv a0,s6 - 2748: 0e7030ef jal ra,602e <__gesf2> - 274c: 00a05963 blez a0,275e - 2750: 85da mv a1,s6 - 2752: 854e mv a0,s3 - 2754: 161030ef jal ra,60b4 <__lesf2> - 2758: 4791 li a5,4 - 275a: 00054963 bltz a0,276c - 275e: 85e2 mv a1,s8 - 2760: 8526 mv a0,s1 - 2762: 153030ef jal ra,60b4 <__lesf2> - 2766: e80557e3 bgez a0,25f4 - 276a: 4785 li a5,1 - 276c: 02f405a3 sb a5,43(s0) - 2770: 02040623 sb zero,44(s0) - 2774: b541 j 25f4 - -00002776 : - 2776: 9d3fd2ef jal t0,148 <__riscv_save_10> - 277a: 8a1ff0ef jal ra,201a - 277e: 200014b7 lui s1,0x20001 - 2782: 21c48413 addi s0,s1,540 # 2000121c - 2786: 00855793 srli a5,a0,0x8 - 278a: b848 sb a0,21(s0) - 278c: a87c sb a5,22(s0) - 278e: 01055793 srli a5,a0,0x10 - 2792: 8161 srli a0,a0,0x18 - 2794: b87c sb a5,23(s0) - 2796: ac08 sb a0,24(s0) - 2798: 90bff0ef jal ra,20a2 - 279c: 00855793 srli a5,a0,0x8 - 27a0: bc08 sb a0,25(s0) - 27a2: ac3c sb a5,26(s0) - 27a4: 01055793 srli a5,a0,0x10 - 27a8: 8161 srli a0,a0,0x18 - 27aa: bc3c sb a5,27(s0) - 27ac: ac48 sb a0,28(s0) - 27ae: 8b1ff0ef jal ra,205e - 27b2: 00855793 srli a5,a0,0x8 - 27b6: b448 sb a0,13(s0) - 27b8: a47c sb a5,14(s0) - 27ba: 01055793 srli a5,a0,0x10 - 27be: 8161 srli a0,a0,0x18 - 27c0: b47c sb a5,15(s0) - 27c2: a808 sb a0,16(s0) - 27c4: 923ff0ef jal ra,20e6 - 27c8: 00855793 srli a5,a0,0x8 - 27cc: ac7c sb a5,30(s0) - 27ce: 01055793 srli a5,a0,0x10 - 27d2: bc7c sb a5,31(s0) - 27d4: 2c3c lbu a5,26(s0) - 27d6: 01944a03 lbu s4,25(s0) - 27da: bc48 sb a0,29(s0) - 27dc: 07a2 slli a5,a5,0x8 - 27de: 0147e7b3 or a5,a5,s4 - 27e2: 01b44a03 lbu s4,27(s0) - 27e6: 8161 srli a0,a0,0x18 - 27e8: 02a40023 sb a0,32(s0) - 27ec: 0a42 slli s4,s4,0x10 - 27ee: 00fa67b3 or a5,s4,a5 - 27f2: 01c44a03 lbu s4,28(s0) - 27f6: 00000593 li a1,0 - 27fa: 0a62 slli s4,s4,0x18 - 27fc: 00fa6a33 or s4,s4,a5 - 2800: 8552 mv a0,s4 - 2802: 7d0030ef jal ra,5fd2 <__eqsf2> - 2806: e10d bnez a0,2828 - 2808: 2868 lbu a0,22(s0) - 280a: 385c lbu a5,21(s0) - 280c: 00000593 li a1,0 - 2810: 0522 slli a0,a0,0x8 - 2812: 8d5d or a0,a0,a5 - 2814: 387c lbu a5,23(s0) - 2816: 07c2 slli a5,a5,0x10 - 2818: 8fc9 or a5,a5,a0 - 281a: 2c08 lbu a0,24(s0) - 281c: 0562 slli a0,a0,0x18 - 281e: 8d5d or a0,a0,a5 - 2820: 7b2030ef jal ra,5fd2 <__eqsf2> - 2824: 0e050463 beqz a0,290c - 2828: 287c lbu a5,22(s0) - 282a: 01544a83 lbu s5,21(s0) - 282e: 85d2 mv a1,s4 - 2830: 07a2 slli a5,a5,0x8 - 2832: 0157e7b3 or a5,a5,s5 - 2836: 01744a83 lbu s5,23(s0) - 283a: 00008b37 lui s6,0x8 - 283e: 0ac2 slli s5,s5,0x10 - 2840: 00fae7b3 or a5,s5,a5 - 2844: 01844a83 lbu s5,24(s0) - 2848: 0ae2 slli s5,s5,0x18 - 284a: 00faeab3 or s5,s5,a5 - 284e: 8556 mv a0,s5 - 2850: 385030ef jal ra,63d4 <__subsf3> - 2854: 8baa mv s7,a0 - 2856: 152040ef jal ra,69a8 <__extendsfdf2> - 285a: 247c lbu a5,14(s0) - 285c: 3444 lbu s1,13(s0) - 285e: 6c8b2603 lw a2,1736(s6) # 86c8 - 2862: 07a2 slli a5,a5,0x8 - 2864: 8fc5 or a5,a5,s1 - 2866: 3464 lbu s1,15(s0) - 2868: 6ccb2683 lw a3,1740(s6) - 286c: 892a mv s2,a0 - 286e: 04c2 slli s1,s1,0x10 - 2870: 8fc5 or a5,a5,s1 - 2872: 2804 lbu s1,16(s0) - 2874: 89ae mv s3,a1 - 2876: 04e2 slli s1,s1,0x18 - 2878: 8cdd or s1,s1,a5 - 287a: 370020ef jal ra,4bea <__gedf2> - 287e: 08a05963 blez a0,2910 - 2882: 8801a583 lw a1,-1920(gp) # 200001e8 - 2886: 855e mv a0,s7 - 2888: 0b9030ef jal ra,6140 <__mulsf3> - 288c: 85aa mv a1,a0 - 288e: 8526 mv a0,s1 - 2890: 345030ef jal ra,63d4 <__subsf3> - 2894: 00855793 srli a5,a0,0x8 - 2898: a83c sb a5,18(s0) - 289a: 01055793 srli a5,a0,0x10 - 289e: b83c sb a5,19(s0) - 28a0: 87e1c703 lbu a4,-1922(gp) # 200001e6 - 28a4: b808 sb a0,17(s0) - 28a6: 8161 srli a0,a0,0x18 - 28a8: a848 sb a0,20(s0) - 28aa: 843e mv s0,a5 - 28ac: eb29 bnez a4,28fe - 28ae: 6ccb2b83 lw s7,1740(s6) - 28b2: 6c8b2b03 lw s6,1736(s6) - 28b6: 854a mv a0,s2 - 28b8: 86de mv a3,s7 - 28ba: 865a mv a2,s6 - 28bc: 85ce mv a1,s3 - 28be: 32c020ef jal ra,4bea <__gedf2> - 28c2: 00a04e63 bgtz a0,28de - 28c6: 85d6 mv a1,s5 - 28c8: 8552 mv a0,s4 - 28ca: 30b030ef jal ra,63d4 <__subsf3> - 28ce: 0da040ef jal ra,69a8 <__extendsfdf2> - 28d2: 865a mv a2,s6 - 28d4: 86de mv a3,s7 - 28d6: 314020ef jal ra,4bea <__gedf2> - 28da: 02a05263 blez a0,28fe - 28de: 8526 mv a0,s1 - 28e0: 0c8040ef jal ra,69a8 <__extendsfdf2> - 28e4: 000087b7 lui a5,0x8 - 28e8: 6f87a603 lw a2,1784(a5) # 86f8 - 28ec: 6fc7a683 lw a3,1788(a5) - 28f0: 3a8020ef jal ra,4c98 <__ledf2> - 28f4: 00055563 bgez a0,28fe - 28f8: 4785 li a5,1 - 28fa: 86f18f23 sb a5,-1922(gp) # 200001e6 - 28fe: 8971c783 lbu a5,-1897(gp) # 200001ff - 2902: e789 bnez a5,290c - 2904: bb9ff0ef jal ra,24bc - 2908: ac5ff0ef jal ra,23cc - 290c: 875fd06f j 180 <__riscv_restore_10> - 2910: 8526 mv a0,s1 - 2912: b749 j 2894 - -00002914 : - 2914: 85dfd2ef jal t0,170 <__riscv_save_0> - 2918: 00009537 lui a0,0x9 - 291c: 22f00613 li a2,559 - 2920: 4585 li a1,1 - 2922: 8b450513 addi a0,a0,-1868 # 88b4 - 2926: 3b8040ef jal ra,6cde - 292a: 200017b7 lui a5,0x20001 - 292e: 21c78793 addi a5,a5,540 # 2000121c - 2932: 02b7c503 lbu a0,43(a5) - 2936: 02c7c783 lbu a5,44(a5) - 293a: 07a2 slli a5,a5,0x8 - 293c: 8d5d or a0,a0,a5 - 293e: 857fd06f j 194 <__riscv_restore_0> - -00002942 : - 2942: 82ffd2ef jal t0,170 <__riscv_save_0> - 2946: 00009537 lui a0,0x9 - 294a: 22300613 li a2,547 - 294e: 4585 li a1,1 - 2950: 84050513 addi a0,a0,-1984 # 8840 - 2954: 38a040ef jal ra,6cde - 2958: 200017b7 lui a5,0x20001 - 295c: 2447a503 lw a0,580(a5) # 20001244 - 2960: 8121 srli a0,a0,0x8 - 2962: 0542 slli a0,a0,0x10 - 2964: 8141 srli a0,a0,0x10 - 2966: 82ffd06f j 194 <__riscv_restore_0> - -0000296a : - 296a: 807fd2ef jal t0,170 <__riscv_save_0> - 296e: 00009537 lui a0,0x9 - 2972: 21700613 li a2,535 - 2976: 4585 li a1,1 - 2978: 87850513 addi a0,a0,-1928 # 8878 - 297c: 362040ef jal ra,6cde - 2980: 200017b7 lui a5,0x20001 - 2984: 21c78793 addi a5,a5,540 # 2000121c - 2988: 53d8 lw a4,36(a5) - 298a: 0287c503 lbu a0,40(a5) - 298e: 000097b7 lui a5,0x9 - 2992: 8747a583 lw a1,-1932(a5) # 8874 - 2996: 8321 srli a4,a4,0x8 - 2998: 0562 slli a0,a0,0x18 - 299a: 8d59 or a0,a0,a4 - 299c: 7a4030ef jal ra,6140 <__mulsf3> - 29a0: 61f030ef jal ra,67be <__fixunssfsi> - 29a4: 0542 slli a0,a0,0x10 - 29a6: 8141 srli a0,a0,0x10 - 29a8: fecfd06f j 194 <__riscv_restore_0> - -000029ac : - 29ac: fc4fd2ef jal t0,170 <__riscv_save_0> - 29b0: 00009537 lui a0,0x9 - 29b4: 20b00613 li a2,523 - 29b8: 4585 li a1,1 - 29ba: 8e050513 addi a0,a0,-1824 # 88e0 - 29be: 320040ef jal ra,6cde - 29c2: 200017b7 lui a5,0x20001 - 29c6: 21c78793 addi a5,a5,540 # 2000121c - 29ca: 5398 lw a4,32(a5) - 29cc: 0247c503 lbu a0,36(a5) - 29d0: 000097b7 lui a5,0x9 - 29d4: 8747a583 lw a1,-1932(a5) # 8874 - 29d8: 8321 srli a4,a4,0x8 - 29da: 0562 slli a0,a0,0x18 - 29dc: 8d59 or a0,a0,a4 - 29de: 762030ef jal ra,6140 <__mulsf3> - 29e2: 5dd030ef jal ra,67be <__fixunssfsi> - 29e6: 0542 slli a0,a0,0x10 - 29e8: 8141 srli a0,a0,0x10 - 29ea: faafd06f j 194 <__riscv_restore_0> - -000029ee : - 29ee: f82fd2ef jal t0,170 <__riscv_save_0> - 29f2: 00009537 lui a0,0x9 - 29f6: 1ff00613 li a2,511 - 29fa: 4585 li a1,1 - 29fc: 80c50513 addi a0,a0,-2036 # 880c - 2a00: 2de040ef jal ra,6cde - 2a04: 200017b7 lui a5,0x20001 - 2a08: 21c78793 addi a5,a5,540 # 2000121c - 2a0c: 4f98 lw a4,24(a5) - 2a0e: 2fc8 lbu a0,28(a5) - 2a10: 000097b7 lui a5,0x9 - 2a14: 8747a583 lw a1,-1932(a5) # 8874 - 2a18: 8321 srli a4,a4,0x8 - 2a1a: 0562 slli a0,a0,0x18 - 2a1c: 8d59 or a0,a0,a4 - 2a1e: 722030ef jal ra,6140 <__mulsf3> - 2a22: 59d030ef jal ra,67be <__fixunssfsi> - 2a26: 0542 slli a0,a0,0x10 - 2a28: 8141 srli a0,a0,0x10 - 2a2a: f6afd06f j 194 <__riscv_restore_0> - -00002a2e : - 2a2e: f42fd2ef jal t0,170 <__riscv_save_0> - 2a32: 00008537 lui a0,0x8 - 2a36: 1f300613 li a2,499 - 2a3a: 4585 li a1,1 - 2a3c: 7dc50513 addi a0,a0,2012 # 87dc - 2a40: 29e040ef jal ra,6cde - 2a44: 200017b7 lui a5,0x20001 - 2a48: 21c78793 addi a5,a5,540 # 2000121c - 2a4c: 4bd8 lw a4,20(a5) - 2a4e: 2f88 lbu a0,24(a5) - 2a50: 000097b7 lui a5,0x9 - 2a54: 8747a583 lw a1,-1932(a5) # 8874 - 2a58: 8321 srli a4,a4,0x8 - 2a5a: 0562 slli a0,a0,0x18 - 2a5c: 8d59 or a0,a0,a4 - 2a5e: 6e2030ef jal ra,6140 <__mulsf3> - 2a62: 55d030ef jal ra,67be <__fixunssfsi> - 2a66: 0542 slli a0,a0,0x10 - 2a68: 8141 srli a0,a0,0x10 - 2a6a: f2afd06f j 194 <__riscv_restore_0> - -00002a6e : - 2a6e: f02fd2ef jal t0,170 <__riscv_save_0> - 2a72: 00008537 lui a0,0x8 - 2a76: 1e700613 li a2,487 - 2a7a: 4585 li a1,1 - 2a7c: 7a850513 addi a0,a0,1960 # 87a8 - 2a80: 25e040ef jal ra,6cde - 2a84: 200017b7 lui a5,0x20001 - 2a88: 21c78793 addi a5,a5,540 # 2000121c - 2a8c: 4b98 lw a4,16(a5) - 2a8e: 2bc8 lbu a0,20(a5) - 2a90: 000097b7 lui a5,0x9 - 2a94: 8747a583 lw a1,-1932(a5) # 8874 - 2a98: 8321 srli a4,a4,0x8 - 2a9a: 0562 slli a0,a0,0x18 - 2a9c: 8d59 or a0,a0,a4 - 2a9e: 6a2030ef jal ra,6140 <__mulsf3> - 2aa2: 51d030ef jal ra,67be <__fixunssfsi> - 2aa6: 0542 slli a0,a0,0x10 - 2aa8: 8141 srli a0,a0,0x10 - 2aaa: eeafd06f j 194 <__riscv_restore_0> - -00002aae : - 2aae: ec2fd2ef jal t0,170 <__riscv_save_0> - 2ab2: 00008537 lui a0,0x8 - 2ab6: 842e mv s0,a1 - 2ab8: 14f00613 li a2,335 - 2abc: 4585 li a1,1 - 2abe: 70050513 addi a0,a0,1792 # 8700 - 2ac2: 21c040ef jal ra,6cde - 2ac6: 4705 li a4,1 - 2ac8: 200014b7 lui s1,0x20001 - 2acc: 88e18c23 sb a4,-1896(gp) # 20000200 - 2ad0: 2b048513 addi a0,s1,688 # 200012b0 - 2ad4: 86018223 sb zero,-1948(gp) # 200001cc - 2ad8: a84ff0ef jal ra,1d5c - 2adc: 245c lbu a5,12(s0) - 2ade: 3458 lbu a4,13(s0) - 2ae0: 000045b7 lui a1,0x4 - 2ae4: 07a2 slli a5,a5,0x8 - 2ae6: 20001537 lui a0,0x20001 - 2aea: 8fd9 or a5,a5,a4 - 2aec: 4681 li a3,0 - 2aee: 20001737 lui a4,0x20001 - 2af2: 3e800613 li a2,1000 - 2af6: 01e58593 addi a1,a1,30 # 401e - 2afa: 2e050513 addi a0,a0,736 # 200012e0 - 2afe: 2a048823 sb zero,688(s1) - 2b02: 20f71e23 sh a5,540(a4) # 2000121c - 2b06: a18ff0ef jal ra,1d1e - 2b0a: e8afd06f j 194 <__riscv_restore_0> - -00002b0e : - 2b0e: e62fd2ef jal t0,170 <__riscv_save_0> - 2b12: 20001437 lui s0,0x20001 - 2b16: 88a1a423 sw a0,-1912(gp) # 200001f0 - 2b1a: 4715 li a4,5 - 2b1c: 6605 lui a2,0x1 - 2b1e: 000045b7 lui a1,0x4 - 2b22: 88e18623 sb a4,-1908(gp) # 200001f4 - 2b26: 4485 li s1,1 - 2b28: 4681 li a3,0 - 2b2a: bb860613 addi a2,a2,-1096 # bb8 - 2b2e: d7458593 addi a1,a1,-652 # 3d74 - 2b32: 2b040513 addi a0,s0,688 # 200012b0 - 2b36: 86918223 sb s1,-1948(gp) # 200001cc - 2b3a: 9e4ff0ef jal ra,1d1e - 2b3e: 2a940823 sb s1,688(s0) - 2b42: e52fd06f j 194 <__riscv_restore_0> - -00002b46 : - 2b46: e2afd2ef jal t0,170 <__riscv_save_0> - 2b4a: 25d4 lbu a3,12(a1) - 2b4c: 35dc lbu a5,13(a1) - 2b4e: 06a2 slli a3,a3,0x8 - 2b50: 8edd or a3,a3,a5 - 2b52: 4795 li a5,5 - 2b54: 00d7fd63 bgeu a5,a3,2b6e - 2b58: 00008537 lui a0,0x8 - 2b5c: 12400613 li a2,292 - 2b60: 4585 li a1,1 - 2b62: 72c50513 addi a0,a0,1836 # 872c - 2b66: 178040ef jal ra,6cde - 2b6a: e2afd06f j 194 <__riscv_restore_0> - 2b6e: 25b4 lbu a3,10(a1) - 2b70: 35bc lbu a5,11(a1) - 2b72: 06a2 slli a3,a3,0x8 - 2b74: 8edd or a3,a3,a5 - 2b76: 20000793 li a5,512 - 2b7a: 00d7fa63 bgeu a5,a3,2b8e - 2b7e: 00008537 lui a0,0x8 - 2b82: 12b00613 li a2,299 - 2b86: 4585 li a1,1 - 2b88: 75c50513 addi a0,a0,1884 # 875c - 2b8c: bfe9 j 2b66 - 2b8e: 00008537 lui a0,0x8 - 2b92: 79450513 addi a0,a0,1940 # 8794 - 2b96: 25c040ef jal ra,6df2 - 2b9a: bfc1 j 2b6a - -00002b9c : - 2b9c: 67c1 lui a5,0x10 - 2b9e: 7669 lui a2,0xffffa - 2ba0: 4681 li a3,0 - 2ba2: 17fd addi a5,a5,-1 - 2ba4: 0605 addi a2,a2,1 - 2ba6: 01069713 slli a4,a3,0x10 - 2baa: 8341 srli a4,a4,0x10 - 2bac: 00b76463 bltu a4,a1,2bb4 - 2bb0: 853e mv a0,a5 - 2bb2: 8082 ret - 2bb4: 00d50733 add a4,a0,a3 - 2bb8: 2318 lbu a4,0(a4) - 2bba: 8fb9 xor a5,a5,a4 - 2bbc: 4721 li a4,8 - 2bbe: 0017f813 andi a6,a5,1 - 2bc2: 8385 srli a5,a5,0x1 - 2bc4: 00080563 beqz a6,2bce - 2bc8: 8fb1 xor a5,a5,a2 - 2bca: 07c2 slli a5,a5,0x10 - 2bcc: 83c1 srli a5,a5,0x10 - 2bce: 177d addi a4,a4,-1 - 2bd0: 0742 slli a4,a4,0x10 - 2bd2: 8341 srli a4,a4,0x10 - 2bd4: f76d bnez a4,2bbe - 2bd6: 0685 addi a3,a3,1 - 2bd8: b7f9 j 2ba6 - -00002bda : - 2bda: d96fd2ef jal t0,170 <__riscv_save_0> - 2bde: 40001537 lui a0,0x40001 - 2be2: 80050513 addi a0,a0,-2048 # 40000800 <_eusrstack+0x1fffb800> - 2be6: c70fe0ef jal ra,1056 - 2bea: 214040ef jal ra,6dfe - 2bee: 268040ef jal ra,6e56 - 2bf2: 0f100793 li a5,241 - 2bf6: 02f56533 rem a0,a0,a5 - 2bfa: 47a9 li a5,10 - 2bfc: 0529 addi a0,a0,10 - 2bfe: 02f50533 mul a0,a0,a5 - 2c02: d92fd06f j 194 <__riscv_restore_0> - -00002c06 : - 2c06: d50fd2ef jal t0,156 <__riscv_save_4> - 2c0a: 8a41a703 lw a4,-1884(gp) # 2000020c - 2c0e: 842a mv s0,a0 - 2c10: 84be mv s1,a5 - 2c12: 4605 li a2,1 - 2c14: 52500593 li a1,1317 - 2c18: 04a71c63 bne a4,a0,2c70 - 2c1c: 40005537 lui a0,0x40005 - 2c20: 80050513 addi a0,a0,-2048 # 40004800 <_eusrstack+0x1ffff800> - 2c24: d3efe0ef jal ra,1162 - 2c28: 8522 mv a0,s0 - 2c2a: 083010ef jal ra,44ac - 2c2e: 01051913 slli s2,a0,0x10 - 2c32: 4509 li a0,2 - 2c34: a32ff0ef jal ra,1e66 - 2c38: 8522 mv a0,s0 - 2c3a: 073010ef jal ra,44ac - 2c3e: 8a41a783 lw a5,-1884(gp) # 2000020c - 2c42: 01051993 slli s3,a0,0x10 - 2c46: 01095913 srli s2,s2,0x10 - 2c4a: 0109d993 srli s3,s3,0x10 - 2c4e: 4601 li a2,0 - 2c50: 52500593 li a1,1317 - 2c54: 40005537 lui a0,0x40005 - 2c58: 02879163 bne a5,s0,2c7a - 2c5c: 80050513 addi a0,a0,-2048 # 40004800 <_eusrstack+0x1ffff800> - 2c60: d02fe0ef jal ra,1162 - 2c64: 41390533 sub a0,s2,s3 - 2c68: 00a03533 snez a0,a0 - 2c6c: d1efd06f j 18a <__riscv_restore_4> - 2c70: 40005537 lui a0,0x40005 - 2c74: c0050513 addi a0,a0,-1024 # 40004c00 <_eusrstack+0x1ffffc00> - 2c78: b775 j 2c24 - 2c7a: c0050513 addi a0,a0,-1024 - 2c7e: b7cd j 2c60 - -00002c80 : - 2c80: cf0fd2ef jal t0,170 <__riscv_save_0> - 2c84: 20000437 lui s0,0x20000 - 2c88: 02044783 lbu a5,32(s0) # 20000020 - 2c8c: 1141 addi sp,sp,-16 - 2c8e: 02040413 addi s0,s0,32 - 2c92: 805c sb a5,0(sp) - 2c94: 301c lbu a5,1(s0) - 2c96: 00011523 sh zero,10(sp) - 2c9a: 84aa mv s1,a0 - 2c9c: 80dc sb a5,1(sp) - 2c9e: 203c lbu a5,2(s0) - 2ca0: 45ad li a1,11 - 2ca2: 850a mv a0,sp - 2ca4: 815c sb a5,2(sp) - 2ca6: 303c lbu a5,3(s0) - 2ca8: 00011623 sh zero,12(sp) - 2cac: 81dc sb a5,3(sp) - 2cae: 205c lbu a5,4(s0) - 2cb0: 825c sb a5,4(sp) - 2cb2: 305c lbu a5,5(s0) - 2cb4: 82dc sb a5,5(sp) - 2cb6: 207c lbu a5,6(s0) - 2cb8: 835c sb a5,6(sp) - 2cba: 307c lbu a5,7(s0) - 2cbc: 83dc sb a5,7(sp) - 2cbe: 241c lbu a5,8(s0) - 2cc0: 845c sb a5,8(sp) - 2cc2: fd100793 li a5,-47 - 2cc6: 84dc sb a5,9(sp) - 2cc8: 4785 li a5,1 - 2cca: 855c sb a5,10(sp) - 2ccc: ed1ff0ef jal ra,2b9c - 2cd0: 00855793 srli a5,a0,0x8 - 2cd4: 85dc sb a5,11(sp) - 2cd6: 03144783 lbu a5,49(s0) - 2cda: 8648 sb a0,12(sp) - 2cdc: 86dc sb a5,13(sp) - 2cde: efdff0ef jal ra,2bda - 2ce2: 984ff0ef jal ra,1e66 - 2ce6: 8526 mv a0,s1 - 2ce8: f1fff0ef jal ra,2c06 - 2cec: f96d bnez a0,2cde - 2cee: 463d li a2,15 - 2cf0: 858a mv a1,sp - 2cf2: 8526 mv a0,s1 - 2cf4: 716010ef jal ra,440a - 2cf8: 8a41a783 lw a5,-1884(gp) # 2000020c - 2cfc: 4605 li a2,1 - 2cfe: 52500593 li a1,1317 - 2d02: 40005537 lui a0,0x40005 - 2d06: 00979963 bne a5,s1,2d18 - 2d0a: 80050513 addi a0,a0,-2048 # 40004800 <_eusrstack+0x1ffff800> - 2d0e: c54fe0ef jal ra,1162 - 2d12: 0141 addi sp,sp,16 - 2d14: c80fd06f j 194 <__riscv_restore_0> - 2d18: c0050513 addi a0,a0,-1024 - 2d1c: bfcd j 2d0e - -00002d1e : - 2d1e: c52fd2ef jal t0,170 <__riscv_save_0> - 2d22: 20000437 lui s0,0x20000 - 2d26: 02044783 lbu a5,32(s0) # 20000020 - 2d2a: 1141 addi sp,sp,-16 - 2d2c: 02040413 addi s0,s0,32 - 2d30: 805c sb a5,0(sp) - 2d32: 301c lbu a5,1(s0) - 2d34: 00011523 sh zero,10(sp) - 2d38: 84aa mv s1,a0 - 2d3a: 80dc sb a5,1(sp) - 2d3c: 203c lbu a5,2(s0) - 2d3e: 45ad li a1,11 - 2d40: 850a mv a0,sp - 2d42: 815c sb a5,2(sp) - 2d44: 303c lbu a5,3(s0) - 2d46: 00011623 sh zero,12(sp) - 2d4a: 81dc sb a5,3(sp) - 2d4c: 205c lbu a5,4(s0) - 2d4e: 825c sb a5,4(sp) - 2d50: 305c lbu a5,5(s0) - 2d52: 82dc sb a5,5(sp) - 2d54: 207c lbu a5,6(s0) - 2d56: 835c sb a5,6(sp) - 2d58: 307c lbu a5,7(s0) - 2d5a: 83dc sb a5,7(sp) - 2d5c: 241c lbu a5,8(s0) - 2d5e: 845c sb a5,8(sp) - 2d60: fd000793 li a5,-48 - 2d64: 84dc sb a5,9(sp) - 2d66: 4785 li a5,1 - 2d68: 855c sb a5,10(sp) - 2d6a: e33ff0ef jal ra,2b9c - 2d6e: 00855793 srli a5,a0,0x8 - 2d72: 85dc sb a5,11(sp) - 2d74: 03144783 lbu a5,49(s0) - 2d78: 8648 sb a0,12(sp) - 2d7a: 86dc sb a5,13(sp) - 2d7c: e5fff0ef jal ra,2bda - 2d80: 8e6ff0ef jal ra,1e66 - 2d84: 8526 mv a0,s1 - 2d86: e81ff0ef jal ra,2c06 - 2d8a: f96d bnez a0,2d7c - 2d8c: 463d li a2,15 - 2d8e: 858a mv a1,sp - 2d90: 8526 mv a0,s1 - 2d92: 678010ef jal ra,440a - 2d96: 8a41a783 lw a5,-1884(gp) # 2000020c - 2d9a: 4605 li a2,1 - 2d9c: 52500593 li a1,1317 - 2da0: 40005537 lui a0,0x40005 - 2da4: 00979963 bne a5,s1,2db6 - 2da8: 80050513 addi a0,a0,-2048 # 40004800 <_eusrstack+0x1ffff800> - 2dac: bb6fe0ef jal ra,1162 - 2db0: 0141 addi sp,sp,16 - 2db2: be2fd06f j 194 <__riscv_restore_0> - 2db6: c0050513 addi a0,a0,-1024 - 2dba: bfcd j 2dac - -00002dbc : - 2dbc: b8cfd2ef jal t0,148 <__riscv_save_10> - 2dc0: 00c5c903 lbu s2,12(a1) - 2dc4: 35dc lbu a5,13(a1) - 2dc6: 1101 addi sp,sp,-32 - 2dc8: 0922 slli s2,s2,0x8 - 2dca: 00f96933 or s2,s2,a5 - 2dce: 0942 slli s2,s2,0x10 - 2dd0: 41095913 srai s2,s2,0x10 - 2dd4: 01091493 slli s1,s2,0x10 - 2dd8: 80c1 srli s1,s1,0x10 - 2dda: 4795 li a5,5 - 2ddc: 0097ff63 bgeu a5,s1,2dfa - 2de0: 00008537 lui a0,0x8 - 2de4: 86a6 mv a3,s1 - 2de6: 0c500613 li a2,197 - 2dea: 4585 li a1,1 - 2dec: 72c50513 addi a0,a0,1836 # 872c - 2df0: 6ef030ef jal ra,6cde - 2df4: 6105 addi sp,sp,32 - 2df6: b8afd06f j 180 <__riscv_restore_10> - 2dfa: 25b4 lbu a3,10(a1) - 2dfc: 35bc lbu a5,11(a1) - 2dfe: 06a2 slli a3,a3,0x8 - 2e00: 8edd or a3,a3,a5 - 2e02: 20000793 li a5,512 - 2e06: 00d7fa63 bgeu a5,a3,2e1a - 2e0a: 00008537 lui a0,0x8 - 2e0e: 0cb00613 li a2,203 - 2e12: 4585 li a1,1 - 2e14: 75c50513 addi a0,a0,1884 # 875c - 2e18: bfe1 j 2df0 - 2e1a: 89aa mv s3,a0 - 2e1c: ca02 sw zero,20(sp) - 2e1e: cc02 sw zero,24(sp) - 2e20: 00011e23 sh zero,28(sp) - 2e24: 01410a93 addi s5,sp,20 - 2e28: 8a36 mv s4,a3 - 2e2a: 20000b37 lui s6,0x20000 - 2e2e: 40da07b3 sub a5,s4,a3 - 2e32: 07c2 slli a5,a5,0x10 - 2e34: 83c1 srli a5,a5,0x10 - 2e36: 0c97e563 bltu a5,s1,2f00 - 2e3a: 20001a37 lui s4,0x20001 - 2e3e: 24ca0413 addi s0,s4,588 # 2000124c - 2e42: 00c40513 addi a0,s0,12 - 2e46: 02600613 li a2,38 - 2e4a: 4581 li a1,0 - 2e4c: b54fd0ef jal ra,1a0 - 2e50: 20000737 lui a4,0x20000 - 2e54: 02074783 lbu a5,32(a4) # 20000020 - 2e58: 012405a3 sb s2,11(s0) - 2e5c: 00040523 sb zero,10(s0) - 2e60: a01c sb a5,0(s0) - 2e62: 02070793 addi a5,a4,32 - 2e66: 3394 lbu a3,1(a5) - 2e68: 00149a93 slli s5,s1,0x1 - 2e6c: 02070913 addi s2,a4,32 - 2e70: b014 sb a3,1(s0) - 2e72: 23b4 lbu a3,2(a5) - 2e74: a034 sb a3,2(s0) - 2e76: 33b4 lbu a3,3(a5) - 2e78: b034 sb a3,3(s0) - 2e7a: 23d4 lbu a3,4(a5) - 2e7c: a054 sb a3,4(s0) - 2e7e: 33d4 lbu a3,5(a5) - 2e80: b054 sb a3,5(s0) - 2e82: 23f4 lbu a3,6(a5) - 2e84: a074 sb a3,6(s0) - 2e86: 33f4 lbu a3,7(a5) - 2e88: 279c lbu a5,8(a5) - 2e8a: b074 sb a3,7(s0) - 2e8c: a41c sb a5,8(s0) - 2e8e: 03000793 li a5,48 - 2e92: b41c sb a5,9(s0) - 2e94: 20001437 lui s0,0x20001 - 2e98: 4781 li a5,0 - 2e9a: 25840413 addi s0,s0,600 # 20001258 - 2e9e: 0957c563 blt a5,s5,2f28 - 2ea2: 00648593 addi a1,s1,6 - 2ea6: 0586 slli a1,a1,0x1 - 2ea8: 0fe5f593 andi a1,a1,254 - 2eac: 24ca0513 addi a0,s4,588 - 2eb0: cedff0ef jal ra,2b9c - 2eb4: 00851793 slli a5,a0,0x8 - 2eb8: 8121 srli a0,a0,0x8 - 2eba: 8d5d or a0,a0,a5 - 2ebc: 03194783 lbu a5,49(s2) - 2ec0: 9456 add s0,s0,s5 - 2ec2: a00a sh a0,0(s0) - 2ec4: a03c sb a5,2(s0) - 2ec6: d15ff0ef jal ra,2bda - 2eca: f9dfe0ef jal ra,1e66 - 2ece: 854e mv a0,s3 - 2ed0: d37ff0ef jal ra,2c06 - 2ed4: f96d bnez a0,2ec6 - 2ed6: 010a8613 addi a2,s5,16 - 2eda: 24ca0593 addi a1,s4,588 - 2ede: 854e mv a0,s3 - 2ee0: 52a010ef jal ra,440a - 2ee4: 8a41a783 lw a5,-1884(gp) # 2000020c - 2ee8: 4605 li a2,1 - 2eea: 52500593 li a1,1317 - 2eee: 40005537 lui a0,0x40005 - 2ef2: 05379c63 bne a5,s3,2f4a - 2ef6: 80050513 addi a0,a0,-2048 # 40004800 <_eusrstack+0x1ffff800> - 2efa: a68fe0ef jal ra,1162 - 2efe: bddd j 2df4 - 2f00: 094b0413 addi s0,s6,148 # 20000094 - 2f04: 03840b93 addi s7,s0,56 - 2f08: 401c lw a5,0(s0) - 2f0a: 01479963 bne a5,s4,2f1c - 2f0e: 405c lw a5,4(s0) - 2f10: 4501 li a0,0 - 2f12: c636 sw a3,12(sp) - 2f14: 9782 jalr a5 - 2f16: 46b2 lw a3,12(sp) - 2f18: 00aa9023 sh a0,0(s5) - 2f1c: 0421 addi s0,s0,8 - 2f1e: fe8b95e3 bne s7,s0,2f08 - 2f22: 0a89 addi s5,s5,2 - 2f24: 0a05 addi s4,s4,1 - 2f26: b721 j 2e2e - 2f28: 1010 addi a2,sp,32 - 2f2a: 0fe7f713 andi a4,a5,254 - 2f2e: 9732 add a4,a4,a2 - 2f30: 0017f613 andi a2,a5,1 - 2f34: 00f406b3 add a3,s0,a5 - 2f38: ff475703 lhu a4,-12(a4) - 2f3c: e211 bnez a2,2f40 - 2f3e: 8321 srli a4,a4,0x8 - 2f40: 0785 addi a5,a5,1 - 2f42: a298 sb a4,0(a3) - 2f44: 0ff7f793 andi a5,a5,255 - 2f48: bf99 j 2e9e - 2f4a: c0050513 addi a0,a0,-1024 - 2f4e: b775 j 2efa - -00002f50 : - 2f50: 9f0fd2ef jal t0,140 <__riscv_save_12> - 2f54: 1141 addi sp,sp,-16 - 2f56: 8c2a mv s8,a0 - 2f58: 514010ef jal ra,446c - 2f5c: 18050663 beqz a0,30e8 - 2f60: 4551 li a0,20 - 2f62: f05fe0ef jal ra,1e66 - 2f66: 200019b7 lui s3,0x20001 - 2f6a: 03200613 li a2,50 - 2f6e: 4581 li a1,0 - 2f70: 24c98513 addi a0,s3,588 # 2000124c - 2f74: 24c98413 addi s0,s3,588 - 2f78: 20000db7 lui s11,0x20000 - 2f7c: a24fd0ef jal ra,1a0 - 2f80: 4901 li s2,0 - 2f82: 4481 li s1,0 - 2f84: 4a01 li s4,0 - 2f86: 00140b93 addi s7,s0,1 - 2f8a: 00009cb7 lui s9,0x9 - 2f8e: 00009d37 lui s10,0x9 - 2f92: 020d8b13 addi s6,s11,32 # 20000020 - 2f96: 8562 mv a0,s8 - 2f98: 514010ef jal ra,44ac - 2f9c: 14050663 beqz a0,30e8 - 2fa0: 8562 mv a0,s8 - 2fa2: 4e2010ef jal ra,4484 - 2fa6: 24c98793 addi a5,s3,588 - 2faa: 97d2 add a5,a5,s4 - 2fac: c63e sw a5,12(sp) - 2fae: a388 sb a0,0(a5) - 2fb0: 001a0a93 addi s5,s4,1 - 2fb4: 4789 li a5,2 - 2fb6: 00fa8463 beq s5,a5,2fbe - 2fba: 26048f63 beqz s1,3238 - 2fbe: 2018 lbu a4,0(s0) - 2fc0: 020dc783 lbu a5,32(s11) - 2fc4: 10f71863 bne a4,a5,30d4 - 2fc8: 3018 lbu a4,1(s0) - 2fca: 001b4783 lbu a5,1(s6) - 2fce: 10f71363 bne a4,a5,30d4 - 2fd2: 00009537 lui a0,0x9 - 2fd6: 27200613 li a2,626 - 2fda: 4585 li a1,1 - 2fdc: 91c50513 addi a0,a0,-1764 # 891c - 2fe0: 4ff030ef jal ra,6cde - 2fe4: 47a5 li a5,9 - 2fe6: 06fa9663 bne s5,a5,3052 - 2fea: 200017b7 lui a5,0x20001 - 2fee: 21c7d703 lhu a4,540(a5) # 2000121c - 2ff2: 4789 li a5,2 - 2ff4: 08f71f63 bne a4,a5,3092 - 2ff8: 2038 lbu a4,2(s0) - 2ffa: 002b4783 lbu a5,2(s6) - 2ffe: 08f71d63 bne a4,a5,3098 - 3002: 3038 lbu a4,3(s0) - 3004: 003b4783 lbu a5,3(s6) - 3008: 08f71863 bne a4,a5,3098 - 300c: 2058 lbu a4,4(s0) - 300e: 004b4783 lbu a5,4(s6) - 3012: 08f71363 bne a4,a5,3098 - 3016: 3058 lbu a4,5(s0) - 3018: 005b4783 lbu a5,5(s6) - 301c: 06f71e63 bne a4,a5,3098 - 3020: 2078 lbu a4,6(s0) - 3022: 006b4783 lbu a5,6(s6) - 3026: 06f71963 bne a4,a5,3098 - 302a: 3078 lbu a4,7(s0) - 302c: 007b4783 lbu a5,7(s6) - 3030: 06f71463 bne a4,a5,3098 - 3034: 2418 lbu a4,8(s0) - 3036: 008b4783 lbu a5,8(s6) - 303a: 04f71f63 bne a4,a5,3098 - 303e: 00009537 lui a0,0x9 - 3042: 28b00613 li a2,651 - 3046: 4585 li a1,1 - 3048: 94850513 addi a0,a0,-1720 # 8948 - 304c: 493030ef jal ra,6cde - 3050: a021 j 3058 - 3052: 4785 li a5,1 - 3054: f897ebe3 bltu a5,s1,2fea - 3058: 47a9 li a5,10 - 305a: 00fa8563 beq s5,a5,3064 - 305e: 4789 li a5,2 - 3060: 0a97f363 bgeu a5,s1,3106 - 3064: 200017b7 lui a5,0x20001 - 3068: 21c7d783 lhu a5,540(a5) # 2000121c - 306c: 4709 li a4,2 - 306e: 3414 lbu a3,9(s0) - 3070: 12e79463 bne a5,a4,3198 - 3074: 03000713 li a4,48 - 3078: 06e69b63 bne a3,a4,30ee - 307c: 00009537 lui a0,0x9 - 3080: 2dc00613 li a2,732 - 3084: 4585 li a1,1 - 3086: 9a850513 addi a0,a0,-1624 # 89a8 - 308a: 455030ef jal ra,6cde - 308e: 4945 li s2,17 - 3090: a89d j 3106 - 3092: 8641c783 lbu a5,-1948(gp) # 200001cc - 3096: f3ad bnez a5,2ff8 - 3098: 8151c783 lbu a5,-2027(gp) # 2000017d - 309c: cb95 beqz a5,30d0 - 309e: 3038 lbu a4,3(s0) - 30a0: 203c lbu a5,2(s0) - 30a2: 8ff9 and a5,a5,a4 - 30a4: 2058 lbu a4,4(s0) - 30a6: 8ff9 and a5,a5,a4 - 30a8: 3058 lbu a4,5(s0) - 30aa: 8ff9 and a5,a5,a4 - 30ac: 2078 lbu a4,6(s0) - 30ae: 8ff9 and a5,a5,a4 - 30b0: 3078 lbu a4,7(s0) - 30b2: 8ff9 and a5,a5,a4 - 30b4: 2418 lbu a4,8(s0) - 30b6: 8ff9 and a5,a5,a4 - 30b8: 0ff00713 li a4,255 - 30bc: 00e79a63 bne a5,a4,30d0 - 30c0: 00009537 lui a0,0x9 - 30c4: 2a000613 li a2,672 - 30c8: 4585 li a1,1 - 30ca: 97450513 addi a0,a0,-1676 # 8974 - 30ce: bfbd j 304c - 30d0: e091 bnez s1,30d4 - 30d2: 4485 li s1,1 - 30d4: 8652 mv a2,s4 - 30d6: 85de mv a1,s7 - 30d8: 24c98513 addi a0,s3,588 - 30dc: 351030ef jal ra,6c2c - 30e0: 03000793 li a5,48 - 30e4: eb47f9e3 bgeu a5,s4,2f96 - 30e8: 0141 addi sp,sp,16 - 30ea: 892fd06f j 17c <__riscv_restore_12> - 30ee: 4741 li a4,16 - 30f0: 02e69863 bne a3,a4,3120 - 30f4: 00009537 lui a0,0x9 - 30f8: 2e200613 li a2,738 - 30fc: 4585 li a1,1 - 30fe: 9cc50513 addi a0,a0,-1588 # 89cc - 3102: 3dd030ef jal ra,6cde - 3106: 3418 lbu a4,9(s0) - 3108: 47c1 li a5,16 - 310a: 0cf71263 bne a4,a5,31ce - 310e: 47b5 li a5,13 - 3110: 0b57ff63 bgeu a5,s5,31ce - 3114: 00d44903 lbu s2,13(s0) - 3118: 0906 slli s2,s2,0x1 - 311a: 0945 addi s2,s2,17 - 311c: 8a56 mv s4,s5 - 311e: b7c9 j 30e0 - 3120: 03068713 addi a4,a3,48 - 3124: 0ff77713 andi a4,a4,255 - 3128: 4605 li a2,1 - 312a: 00e66d63 bltu a2,a4,3144 - 312e: 00009537 lui a0,0x9 - 3132: 2e900613 li a2,745 - 3136: 4585 li a1,1 - 3138: 9f050513 addi a0,a0,-1552 # 89f0 - 313c: 3a3030ef jal ra,6cde - 3140: 4935 li s2,13 - 3142: b7d1 j 3106 - 3144: 8151c703 lbu a4,-2027(gp) # 2000017d - 3148: cf1d beqz a4,3186 - 314a: 0a000713 li a4,160 - 314e: 2ef00613 li a2,751 - 3152: 04e68963 beq a3,a4,31a4 - 3156: 0a100713 li a4,161 - 315a: 00e69863 bne a3,a4,316a - 315e: 2f500613 li a2,757 - 3162: 4585 li a1,1 - 3164: a34d0513 addi a0,s10,-1484 # 8a34 - 3168: b70d j 308a - 316a: 8726 mv a4,s1 - 316c: 00f4f363 bgeu s1,a5,3172 - 3170: 4709 li a4,2 - 3172: 0ff77493 andi s1,a4,255 - 3176: 2fd00613 li a2,765 - 317a: 4585 li a1,1 - 317c: a5cc8513 addi a0,s9,-1444 # 8a5c - 3180: 35f030ef jal ra,6cde - 3184: bf81 j 30d4 - 3186: 8726 mv a4,s1 - 3188: 00f4f363 bgeu s1,a5,318e - 318c: 4709 li a4,2 - 318e: 0ff77493 andi s1,a4,255 - 3192: 30800613 li a2,776 - 3196: b7d5 j 317a - 3198: 0a000793 li a5,160 - 319c: 00f69a63 bne a3,a5,31b0 - 31a0: 31100613 li a2,785 - 31a4: 00009537 lui a0,0x9 - 31a8: 4585 li a1,1 - 31aa: a1050513 addi a0,a0,-1520 # 8a10 - 31ae: b779 j 313c - 31b0: 0a100793 li a5,161 - 31b4: 31700613 li a2,791 - 31b8: faf685e3 beq a3,a5,3162 - 31bc: 87a6 mv a5,s1 - 31be: 00e4f363 bgeu s1,a4,31c4 - 31c2: 4789 li a5,2 - 31c4: 0ff7f493 andi s1,a5,255 - 31c8: 31f00613 li a2,799 - 31cc: b77d j 317a - 31ce: f52a97e3 bne s5,s2,311c - 31d2: ffd90593 addi a1,s2,-3 - 31d6: 0ff5f593 andi a1,a1,255 - 31da: 24c98513 addi a0,s3,588 - 31de: 9bfff0ef jal ra,2b9c - 31e2: 01440733 add a4,s0,s4 - 31e6: ffe74783 lbu a5,-2(a4) - 31ea: fff74703 lbu a4,-1(a4) - 31ee: 07a2 slli a5,a5,0x8 - 31f0: 8fd9 or a5,a5,a4 - 31f2: 00a79763 bne a5,a0,3200 - 31f6: 47b2 lw a5,12(sp) - 31f8: 2398 lbu a4,0(a5) - 31fa: 47d9 li a5,22 - 31fc: 00f70a63 beq a4,a5,3210 - 3200: 470d li a4,3 - 3202: 87a6 mv a5,s1 - 3204: 00e4f363 bgeu s1,a4,320a - 3208: 478d li a5,3 - 320a: 0ff7f493 andi s1,a5,255 - 320e: b5d9 j 30d4 - 3210: 200004b7 lui s1,0x20000 - 3214: 06448493 addi s1,s1,100 # 20000064 - 3218: 03048a13 addi s4,s1,48 - 321c: 3418 lbu a4,9(s0) - 321e: 409c lw a5,0(s1) - 3220: 00f71863 bne a4,a5,3230 - 3224: 40dc lw a5,4(s1) - 3226: 864a mv a2,s2 - 3228: 24c98593 addi a1,s3,588 - 322c: 8562 mv a0,s8 - 322e: 9782 jalr a5 - 3230: 04a1 addi s1,s1,8 - 3232: fe9a15e3 bne s4,s1,321c - 3236: bd4d j 30e8 - 3238: 47a5 li a5,9 - 323a: e0fa9fe3 bne s5,a5,3058 - 323e: b375 j 2fea - -00003240 : - 3240: f17fc2ef jal t0,156 <__riscv_save_4> - 3244: 8a41a503 lw a0,-1884(gp) # 2000020c - 3248: 000099b7 lui s3,0x9 - 324c: 715d addi sp,sp,-80 - 324e: 460d li a2,3 - 3250: b2c98593 addi a1,s3,-1236 # 8b2c - 3254: 1b6010ef jal ra,440a - 3258: 05000613 li a2,80 - 325c: 4581 li a1,0 - 325e: 850a mv a0,sp - 3260: f41fc0ef jal ra,1a0 - 3264: 00008a37 lui s4,0x8 - 3268: 80c1a503 lw a0,-2036(gp) # 20000174 - 326c: 6eca2583 lw a1,1772(s4) # 86ec - 3270: 20001437 lui s0,0x20001 - 3274: 21c40413 addi s0,s0,540 # 2000121c - 3278: 6c9020ef jal ra,6140 <__mulsf3> - 327c: 4e0030ef jal ra,675c <__fixsfsi> - 3280: 000095b7 lui a1,0x9 - 3284: 862a mv a2,a0 - 3286: a8058593 addi a1,a1,-1408 # 8a80 - 328a: 850a mv a0,sp - 328c: 44f030ef jal ra,6eda - 3290: 8a41a503 lw a0,-1884(gp) # 2000020c - 3294: 05000613 li a2,80 - 3298: 858a mv a1,sp - 329a: 170010ef jal ra,440a - 329e: 05000613 li a2,80 - 32a2: 4581 li a1,0 - 32a4: 850a mv a0,sp - 32a6: efbfc0ef jal ra,1a0 - 32aa: 2c68 lbu a0,30(s0) - 32ac: 3c5c lbu a5,29(s0) - 32ae: 00008937 lui s2,0x8 - 32b2: 0522 slli a0,a0,0x8 - 32b4: 8d5d or a0,a0,a5 - 32b6: 3c7c lbu a5,31(s0) - 32b8: 6b092583 lw a1,1712(s2) # 86b0 - 32bc: 07c2 slli a5,a5,0x10 - 32be: 8fc9 or a5,a5,a0 - 32c0: 02044503 lbu a0,32(s0) - 32c4: 0562 slli a0,a0,0x18 - 32c6: 8d5d or a0,a0,a5 - 32c8: 679020ef jal ra,6140 <__mulsf3> - 32cc: 490030ef jal ra,675c <__fixsfsi> - 32d0: 000095b7 lui a1,0x9 - 32d4: 862a mv a2,a0 - 32d6: a9858593 addi a1,a1,-1384 # 8a98 - 32da: 850a mv a0,sp - 32dc: 3ff030ef jal ra,6eda - 32e0: 8a41a503 lw a0,-1884(gp) # 2000020c - 32e4: 05000613 li a2,80 - 32e8: 858a mv a1,sp - 32ea: 120010ef jal ra,440a - 32ee: 05000613 li a2,80 - 32f2: 4581 li a1,0 - 32f4: 850a mv a0,sp - 32f6: eabfc0ef jal ra,1a0 - 32fa: 2468 lbu a0,14(s0) - 32fc: 345c lbu a5,13(s0) - 32fe: 6b092583 lw a1,1712(s2) - 3302: 0522 slli a0,a0,0x8 - 3304: 8d5d or a0,a0,a5 - 3306: 347c lbu a5,15(s0) - 3308: 07c2 slli a5,a5,0x10 - 330a: 8fc9 or a5,a5,a0 - 330c: 2808 lbu a0,16(s0) - 330e: 0562 slli a0,a0,0x18 - 3310: 8d5d or a0,a0,a5 - 3312: 62f020ef jal ra,6140 <__mulsf3> - 3316: 446030ef jal ra,675c <__fixsfsi> - 331a: 000095b7 lui a1,0x9 - 331e: 862a mv a2,a0 - 3320: ab458593 addi a1,a1,-1356 # 8ab4 - 3324: 850a mv a0,sp - 3326: 3b5030ef jal ra,6eda - 332a: 8a41a503 lw a0,-1884(gp) # 2000020c - 332e: 05000613 li a2,80 - 3332: 858a mv a1,sp - 3334: 0d6010ef jal ra,440a - 3338: 05000613 li a2,80 - 333c: 4581 li a1,0 - 333e: 850a mv a0,sp - 3340: e61fc0ef jal ra,1a0 - 3344: 2828 lbu a0,18(s0) - 3346: 381c lbu a5,17(s0) - 3348: 6b092583 lw a1,1712(s2) - 334c: 0522 slli a0,a0,0x8 - 334e: 8d5d or a0,a0,a5 - 3350: 383c lbu a5,19(s0) - 3352: 07c2 slli a5,a5,0x10 - 3354: 8fc9 or a5,a5,a0 - 3356: 2848 lbu a0,20(s0) - 3358: 0562 slli a0,a0,0x18 - 335a: 8d5d or a0,a0,a5 - 335c: 5e5020ef jal ra,6140 <__mulsf3> - 3360: 3fc030ef jal ra,675c <__fixsfsi> - 3364: 000095b7 lui a1,0x9 - 3368: 862a mv a2,a0 - 336a: ac858593 addi a1,a1,-1336 # 8ac8 - 336e: 850a mv a0,sp - 3370: 36b030ef jal ra,6eda - 3374: 8a41a503 lw a0,-1884(gp) # 2000020c - 3378: 05000613 li a2,80 - 337c: 858a mv a1,sp - 337e: 08c010ef jal ra,440a - 3382: 05000613 li a2,80 - 3386: 4581 li a1,0 - 3388: 850a mv a0,sp - 338a: e17fc0ef jal ra,1a0 - 338e: 2868 lbu a0,22(s0) - 3390: 385c lbu a5,21(s0) - 3392: 6b092583 lw a1,1712(s2) - 3396: 0522 slli a0,a0,0x8 - 3398: 8d5d or a0,a0,a5 - 339a: 387c lbu a5,23(s0) - 339c: 07c2 slli a5,a5,0x10 - 339e: 8fc9 or a5,a5,a0 - 33a0: 2c08 lbu a0,24(s0) - 33a2: 0562 slli a0,a0,0x18 - 33a4: 8d5d or a0,a0,a5 - 33a6: 59b020ef jal ra,6140 <__mulsf3> - 33aa: 3b2030ef jal ra,675c <__fixsfsi> - 33ae: 000095b7 lui a1,0x9 - 33b2: 862a mv a2,a0 - 33b4: ae058593 addi a1,a1,-1312 # 8ae0 - 33b8: 850a mv a0,sp - 33ba: 321030ef jal ra,6eda - 33be: 8a41a503 lw a0,-1884(gp) # 2000020c - 33c2: 05000613 li a2,80 - 33c6: 858a mv a1,sp - 33c8: 042010ef jal ra,440a - 33cc: 05000613 li a2,80 - 33d0: 4581 li a1,0 - 33d2: 850a mv a0,sp - 33d4: dcdfc0ef jal ra,1a0 - 33d8: 2c28 lbu a0,26(s0) - 33da: 3c1c lbu a5,25(s0) - 33dc: 6b092583 lw a1,1712(s2) - 33e0: 0522 slli a0,a0,0x8 - 33e2: 8d5d or a0,a0,a5 - 33e4: 3c3c lbu a5,27(s0) - 33e6: 07c2 slli a5,a5,0x10 - 33e8: 8fc9 or a5,a5,a0 - 33ea: 2c48 lbu a0,28(s0) - 33ec: 0562 slli a0,a0,0x18 - 33ee: 8d5d or a0,a0,a5 - 33f0: 551020ef jal ra,6140 <__mulsf3> - 33f4: 368030ef jal ra,675c <__fixsfsi> - 33f8: 000095b7 lui a1,0x9 - 33fc: 862a mv a2,a0 - 33fe: af458593 addi a1,a1,-1292 # 8af4 - 3402: 850a mv a0,sp - 3404: 2d7030ef jal ra,6eda - 3408: 8a41a503 lw a0,-1884(gp) # 2000020c - 340c: 05000613 li a2,80 - 3410: 858a mv a1,sp - 3412: 7f9000ef jal ra,440a - 3416: 05000613 li a2,80 - 341a: 4581 li a1,0 - 341c: 850a mv a0,sp - 341e: d83fc0ef jal ra,1a0 - 3422: 02644503 lbu a0,38(s0) - 3426: 02544783 lbu a5,37(s0) - 342a: 00009737 lui a4,0x9 - 342e: 0522 slli a0,a0,0x8 - 3430: 8d5d or a0,a0,a5 - 3432: 02744783 lbu a5,39(s0) - 3436: 87472583 lw a1,-1932(a4) # 8874 - 343a: 07c2 slli a5,a5,0x10 - 343c: 8fc9 or a5,a5,a0 - 343e: 02844503 lbu a0,40(s0) - 3442: 0562 slli a0,a0,0x18 - 3444: 8d5d or a0,a0,a5 - 3446: 4fb020ef jal ra,6140 <__mulsf3> - 344a: 312030ef jal ra,675c <__fixsfsi> - 344e: 000095b7 lui a1,0x9 - 3452: 862a mv a2,a0 - 3454: b0858593 addi a1,a1,-1272 # 8b08 - 3458: 850a mv a0,sp - 345a: 281030ef jal ra,6eda - 345e: 8a41a503 lw a0,-1884(gp) # 2000020c - 3462: 05000613 li a2,80 - 3466: 858a mv a1,sp - 3468: 7a3000ef jal ra,440a - 346c: 05000613 li a2,80 - 3470: 4581 li a1,0 - 3472: 850a mv a0,sp - 3474: d2dfc0ef jal ra,1a0 - 3478: 8801a503 lw a0,-1920(gp) # 200001e8 - 347c: 6eca2583 lw a1,1772(s4) - 3480: 4c1020ef jal ra,6140 <__mulsf3> - 3484: 2d8030ef jal ra,675c <__fixsfsi> - 3488: 000095b7 lui a1,0x9 - 348c: 862a mv a2,a0 - 348e: b1858593 addi a1,a1,-1256 # 8b18 - 3492: 850a mv a0,sp - 3494: 247030ef jal ra,6eda - 3498: 8a41a503 lw a0,-1884(gp) # 2000020c - 349c: 05000613 li a2,80 - 34a0: 858a mv a1,sp - 34a2: 769000ef jal ra,440a - 34a6: 05000613 li a2,80 - 34aa: 4581 li a1,0 - 34ac: 850a mv a0,sp - 34ae: cf3fc0ef jal ra,1a0 - 34b2: 8841c603 lbu a2,-1916(gp) # 200001ec - 34b6: 000095b7 lui a1,0x9 - 34ba: b3058593 addi a1,a1,-1232 # 8b30 - 34be: 850a mv a0,sp - 34c0: 21b030ef jal ra,6eda - 34c4: 8a41a503 lw a0,-1884(gp) # 2000020c - 34c8: 05000613 li a2,80 - 34cc: 858a mv a1,sp - 34ce: 73d000ef jal ra,440a - 34d2: 05000613 li a2,80 - 34d6: 4581 li a1,0 - 34d8: 850a mv a0,sp - 34da: cc7fc0ef jal ra,1a0 - 34de: 02a44783 lbu a5,42(s0) - 34e2: 02944603 lbu a2,41(s0) - 34e6: 000095b7 lui a1,0x9 - 34ea: 07a2 slli a5,a5,0x8 - 34ec: 8e5d or a2,a2,a5 - 34ee: b4c58593 addi a1,a1,-1204 # 8b4c - 34f2: 850a mv a0,sp - 34f4: 1e7030ef jal ra,6eda - 34f8: 8a41a503 lw a0,-1884(gp) # 2000020c - 34fc: 05000613 li a2,80 - 3500: 858a mv a1,sp - 3502: 709000ef jal ra,440a - 3506: 05000613 li a2,80 - 350a: 4581 li a1,0 - 350c: 850a mv a0,sp - 350e: c93fc0ef jal ra,1a0 - 3512: 87e1c603 lbu a2,-1922(gp) # 200001e6 - 3516: 000095b7 lui a1,0x9 - 351a: b6058593 addi a1,a1,-1184 # 8b60 - 351e: 850a mv a0,sp - 3520: 1bb030ef jal ra,6eda - 3524: 8a41a503 lw a0,-1884(gp) # 2000020c - 3528: 05000613 li a2,80 - 352c: 858a mv a1,sp - 352e: 6dd000ef jal ra,440a - 3532: 05000613 li a2,80 - 3536: 4581 li a1,0 - 3538: 850a mv a0,sp - 353a: c67fc0ef jal ra,1a0 - 353e: 8961c603 lbu a2,-1898(gp) # 200001fe - 3542: 000095b7 lui a1,0x9 - 3546: b7858593 addi a1,a1,-1160 # 8b78 - 354a: 850a mv a0,sp - 354c: 18f030ef jal ra,6eda - 3550: 8a41a503 lw a0,-1884(gp) # 2000020c - 3554: 05000613 li a2,80 - 3558: 858a mv a1,sp - 355a: 6b1000ef jal ra,440a - 355e: 05000613 li a2,80 - 3562: 4581 li a1,0 - 3564: 850a mv a0,sp - 3566: c3bfc0ef jal ra,1a0 - 356a: 87c1c603 lbu a2,-1924(gp) # 200001e4 - 356e: 000095b7 lui a1,0x9 - 3572: b9058593 addi a1,a1,-1136 # 8b90 - 3576: 850a mv a0,sp - 3578: 163030ef jal ra,6eda - 357c: 8a41a503 lw a0,-1884(gp) # 2000020c - 3580: 05000613 li a2,80 - 3584: 858a mv a1,sp - 3586: 685000ef jal ra,440a - 358a: 05000613 li a2,80 - 358e: 4581 li a1,0 - 3590: 850a mv a0,sp - 3592: c0ffc0ef jal ra,1a0 - 3596: 02c44783 lbu a5,44(s0) - 359a: 02b44603 lbu a2,43(s0) - 359e: 000095b7 lui a1,0x9 - 35a2: 07a2 slli a5,a5,0x8 - 35a4: 8e5d or a2,a2,a5 - 35a6: bac58593 addi a1,a1,-1108 # 8bac - 35aa: 850a mv a0,sp - 35ac: 12f030ef jal ra,6eda - 35b0: 8a41a503 lw a0,-1884(gp) # 2000020c - 35b4: 05000613 li a2,80 - 35b8: 858a mv a1,sp - 35ba: 651000ef jal ra,440a - 35be: 8a41a503 lw a0,-1884(gp) # 2000020c - 35c2: 460d li a2,3 - 35c4: b2c98593 addi a1,s3,-1236 - 35c8: 643000ef jal ra,440a - 35cc: 87d18793 addi a5,gp,-1923 # 200001e5 - 35d0: 2390 lbu a2,0(a5) - 35d2: 40011437 lui s0,0x40011 - 35d6: 10000593 li a1,256 - 35da: 00163613 seqz a2,a2 - 35de: 80040513 addi a0,s0,-2048 # 40010800 <_eusrstack+0x2000b800> - 35e2: a390 sb a2,0(a5) - 35e4: c0cfd0ef jal ra,9f0 - 35e8: 88d18713 addi a4,gp,-1907 # 200001f5 - 35ec: 231c lbu a5,0(a4) - 35ee: 0785 addi a5,a5,1 - 35f0: 0ff7f793 andi a5,a5,255 - 35f4: a31c sb a5,0(a4) - 35f6: 4729 li a4,10 - 35f8: 00e79963 bne a5,a4,360a - 35fc: 4605 li a2,1 - 35fe: 10000593 li a1,256 - 3602: c0040513 addi a0,s0,-1024 - 3606: beafd0ef jal ra,9f0 - 360a: 6161 addi sp,sp,80 - 360c: b7ffc06f j 18a <__riscv_restore_4> - -00003610 : - 3610: b61fc2ef jal t0,170 <__riscv_save_0> - 3614: 89c18793 addi a5,gp,-1892 # 20000204 - 3618: 4398 lw a4,0(a5) - 361a: 66d5 lui a3,0x15 - 361c: 18068693 addi a3,a3,384 # 15180 <_data_lma+0xc2c0> - 3620: 02d70763 beq a4,a3,364e - 3624: 0705 addi a4,a4,1 - 3626: c398 sw a4,0(a5) - 3628: 40011437 lui s0,0x40011 - 362c: 6485 lui s1,0x1 - 362e: 80048593 addi a1,s1,-2048 # 800 <__stack_size> - 3632: 80040513 addi a0,s0,-2048 # 40010800 <_eusrstack+0x2000b800> - 3636: 4605 li a2,1 - 3638: bb8fd0ef jal ra,9f0 - 363c: 4601 li a2,0 - 363e: 80048593 addi a1,s1,-2048 - 3642: 80040513 addi a0,s0,-2048 - 3646: baafd0ef jal ra,9f0 - 364a: b4bfc06f j 194 <__riscv_restore_0> - 364e: 0007a023 sw zero,0(a5) - 3652: beef07b7 lui a5,0xbeef0 - 3656: e000e737 lui a4,0xe000e - 365a: 08078793 addi a5,a5,128 # beef0080 <_eusrstack+0x9eeeb080> - 365e: c73c sw a5,72(a4) - 3660: b7e1 j 3628 - -00003662 : - 3662: b0ffc2ef jal t0,170 <__riscv_save_0> - 3666: 8a81a503 lw a0,-1880(gp) # 20000210 - 366a: 8e7ff0ef jal ra,2f50 - 366e: b27fc06f j 194 <__riscv_restore_0> - -00003672 : - 3672: afffc2ef jal t0,170 <__riscv_save_0> - 3676: 200004b7 lui s1,0x20000 - 367a: 02048793 addi a5,s1,32 # 20000020 - 367e: 2ff4 lbu a3,30(a5) - 3680: 3fd8 lbu a4,29(a5) - 3682: 06a2 slli a3,a3,0x8 - 3684: 8ed9 or a3,a3,a4 - 3686: 81418713 addi a4,gp,-2028 # 2000017c - 368a: 2310 lbu a2,0(a4) - 368c: 02048493 addi s1,s1,32 - 3690: 86818793 addi a5,gp,-1944 # 200001d0 - 3694: c611 beqz a2,36a0 - 3696: 00070023 sb zero,0(a4) # e000e000 <_eusrstack+0xc0009000> - 369a: ffd68713 addi a4,a3,-3 - 369e: a39a sh a4,0(a5) - 36a0: 239a lhu a4,0(a5) - 36a2: 0705 addi a4,a4,1 - 36a4: 0742 slli a4,a4,0x10 - 36a6: 8341 srli a4,a4,0x10 - 36a8: 00d70563 beq a4,a3,36b2 - 36ac: a39a sh a4,0(a5) - 36ae: ae7fc06f j 194 <__riscv_restore_0> - 36b2: 00079023 sh zero,0(a5) - 36b6: 20001437 lui s0,0x20001 - 36ba: a2dfe0ef jal ra,20e6 - 36be: 21c40413 addi s0,s0,540 # 2000121c - 36c2: 00855713 srli a4,a0,0x8 - 36c6: 02e40123 sb a4,34(s0) - 36ca: 01855793 srli a5,a0,0x18 - 36ce: 01055713 srli a4,a0,0x10 - 36d2: 02e401a3 sb a4,35(s0) - 36d6: 02a400a3 sb a0,33(s0) - 36da: 02f40223 sb a5,36(s0) - 36de: 28dc lbu a5,20(s1) - 36e0: 892a mv s2,a0 - 36e2: 38a8 lbu a0,19(s1) - 36e4: 07a2 slli a5,a5,0x8 - 36e6: 8d5d or a0,a0,a5 - 36e8: 1f2030ef jal ra,68da <__floatunsisf> - 36ec: 000087b7 lui a5,0x8 - 36f0: 6b07a583 lw a1,1712(a5) # 86b0 - 36f4: 62c020ef jal ra,5d20 <__divsf3> - 36f8: 85aa mv a1,a0 - 36fa: 854a mv a0,s2 - 36fc: 133020ef jal ra,602e <__gesf2> - 3700: faa057e3 blez a0,36ae - 3704: 20001537 lui a0,0x20001 - 3708: 30050493 addi s1,a0,768 # 20001300 - 370c: 30050513 addi a0,a0,768 - 3710: e4cfe0ef jal ra,1d5c - 3714: 00048023 sb zero,0(s1) - 3718: 2468 lbu a0,14(s0) - 371a: 345c lbu a5,13(s0) - 371c: 00009737 lui a4,0x9 - 3720: 0522 slli a0,a0,0x8 - 3722: 8d5d or a0,a0,a5 - 3724: 347c lbu a5,15(s0) - 3726: c1872583 lw a1,-1000(a4) # 8c18 - 372a: 07c2 slli a5,a5,0x10 - 372c: 8fc9 or a5,a5,a0 - 372e: 2808 lbu a0,16(s0) - 3730: 0562 slli a0,a0,0x18 - 3732: 8d5d or a0,a0,a5 - 3734: 0fb020ef jal ra,602e <__gesf2> - 3738: 00a02533 sgtz a0,a0 - 373c: 86a18f23 sb a0,-1922(gp) # 200001e6 - 3740: 000045b7 lui a1,0x4 - 3744: 20001537 lui a0,0x20001 - 3748: 4681 li a3,0 - 374a: 4679 li a2,30 - 374c: aee58593 addi a1,a1,-1298 # 3aee - 3750: 2f050513 addi a0,a0,752 # 200012f0 - 3754: dcafe0ef jal ra,1d1e - 3758: bf99 j 36ae - -0000375a : - 375a: a17fc2ef jal t0,170 <__riscv_save_0> - 375e: 00009737 lui a4,0x9 - 3762: c2072703 lw a4,-992(a4) # 8c20 - 3766: 40000537 lui a0,0x40000 - 376a: 4581 li a1,0 - 376c: 40050513 addi a0,a0,1024 # 40000400 <_eusrstack+0x1fffb400> - 3770: 80e1a623 sw a4,-2036(gp) # 20000174 - 3774: 85dfd0ef jal ra,fd0 - 3778: 40001537 lui a0,0x40001 - 377c: 4581 li a1,0 - 377e: 80050513 addi a0,a0,-2048 # 40000800 <_eusrstack+0x1fffb800> - 3782: 8bffd0ef jal ra,1040 - 3786: a0ffc06f j 194 <__riscv_restore_0> - -0000378a : - 378a: 9bffc2ef jal t0,148 <__riscv_save_10> - 378e: 86618713 addi a4,gp,-1946 # 200001ce - 3792: 20000937 lui s2,0x20000 - 3796: 02090613 addi a2,s2,32 # 20000020 - 379a: 231e lhu a5,0(a4) - 379c: 02064683 lbu a3,32(a2) # ffffa020 <_eusrstack+0xdfff5020> - 37a0: 3e6c lbu a1,31(a2) - 37a2: 0785 addi a5,a5,1 - 37a4: 07c2 slli a5,a5,0x10 - 37a6: 06a2 slli a3,a3,0x8 - 37a8: 83c1 srli a5,a5,0x10 - 37aa: 8ecd or a3,a3,a1 - 37ac: 00f68563 beq a3,a5,37b6 - 37b0: a31e sh a5,0(a4) - 37b2: 9cffc06f j 180 <__riscv_restore_10> - 37b6: 00071023 sh zero,0(a4) - 37ba: 20001437 lui s0,0x20001 - 37be: 8a1fe0ef jal ra,205e - 37c2: 21c40493 addi s1,s0,540 # 2000121c - 37c6: 00855793 srli a5,a0,0x8 - 37ca: b4c8 sb a0,13(s1) - 37cc: a4fc sb a5,14(s1) - 37ce: 01055793 srli a5,a0,0x10 - 37d2: 8161 srli a0,a0,0x18 - 37d4: b4fc sb a5,15(s1) - 37d6: a888 sb a0,16(s1) - 37d8: 843fe0ef jal ra,201a - 37dc: 00855793 srli a5,a0,0x8 - 37e0: b8c8 sb a0,21(s1) - 37e2: a8fc sb a5,22(s1) - 37e4: 01055793 srli a5,a0,0x10 - 37e8: 8161 srli a0,a0,0x18 - 37ea: b8fc sb a5,23(s1) - 37ec: ac88 sb a0,24(s1) - 37ee: 8b5fe0ef jal ra,20a2 - 37f2: 00855793 srli a5,a0,0x8 - 37f6: bc88 sb a0,25(s1) - 37f8: acbc sb a5,26(s1) - 37fa: 01055793 srli a5,a0,0x10 - 37fe: 8161 srli a0,a0,0x18 - 3800: bcbc sb a5,27(s1) - 3802: acc8 sb a0,28(s1) - 3804: 927fe0ef jal ra,212a - 3808: 00855793 srli a5,a0,0x8 - 380c: 02a482a3 sb a0,37(s1) - 3810: 02f48323 sb a5,38(s1) - 3814: 01055793 srli a5,a0,0x10 - 3818: 8161 srli a0,a0,0x18 - 381a: 02f483a3 sb a5,39(s1) - 381e: 02a48423 sb a0,40(s1) - 3822: 400114b7 lui s1,0x40011 - 3826: 10000593 li a1,256 - 382a: c0048513 addi a0,s1,-1024 # 40010c00 <_eusrstack+0x2000bc00> - 382e: 9b4fd0ef jal ra,9e2 - 3832: 02090913 addi s2,s2,32 - 3836: 21c40413 addi s0,s0,540 - 383a: 4781 li a5,0 - 383c: c901 beqz a0,384c - 383e: 4591 li a1,4 - 3840: c0048513 addi a0,s1,-1024 - 3844: 994fd0ef jal ra,9d8 - 3848: 00a037b3 snez a5,a0 - 384c: 02f404a3 sb a5,41(s0) - 3850: 287c lbu a5,22(s0) - 3852: 3844 lbu s1,21(s0) - 3854: 01944983 lbu s3,25(s0) - 3858: 07a2 slli a5,a5,0x8 - 385a: 8fc5 or a5,a5,s1 - 385c: 3864 lbu s1,23(s0) - 385e: 02040523 sb zero,42(s0) - 3862: 04c2 slli s1,s1,0x10 - 3864: 8fc5 or a5,a5,s1 - 3866: 2c04 lbu s1,24(s0) - 3868: 04e2 slli s1,s1,0x18 - 386a: 8cdd or s1,s1,a5 - 386c: 2c3c lbu a5,26(s0) - 386e: 8526 mv a0,s1 - 3870: 07a2 slli a5,a5,0x8 - 3872: 0137e7b3 or a5,a5,s3 - 3876: 01b44983 lbu s3,27(s0) - 387a: 09c2 slli s3,s3,0x10 - 387c: 00f9e7b3 or a5,s3,a5 - 3880: 01c44983 lbu s3,28(s0) - 3884: 09e2 slli s3,s3,0x18 - 3886: 00f9e9b3 or s3,s3,a5 - 388a: 85ce mv a1,s3 - 388c: 349020ef jal ra,63d4 <__subsf3> - 3890: 8aaa mv s5,a0 - 3892: 116030ef jal ra,69a8 <__extendsfdf2> - 3896: 000097b7 lui a5,0x9 - 389a: c087a603 lw a2,-1016(a5) # 8c08 - 389e: c0c7a683 lw a3,-1012(a5) - 38a2: 8b2a mv s6,a0 - 38a4: 8bae mv s7,a1 - 38a6: 3f2010ef jal ra,4c98 <__ledf2> - 38aa: 04055463 bgez a0,38f2 - 38ae: 247c lbu a5,14(s0) - 38b0: 00d44a03 lbu s4,13(s0) - 38b4: 8556 mv a0,s5 - 38b6: 07a2 slli a5,a5,0x8 - 38b8: 0147e7b3 or a5,a5,s4 - 38bc: 00f44a03 lbu s4,15(s0) - 38c0: 0a42 slli s4,s4,0x10 - 38c2: 00fa67b3 or a5,s4,a5 - 38c6: 01044a03 lbu s4,16(s0) - 38ca: 0a62 slli s4,s4,0x18 - 38cc: 00fa6a33 or s4,s4,a5 - 38d0: 8801a583 lw a1,-1920(gp) # 200001e8 - 38d4: 06d020ef jal ra,6140 <__mulsf3> - 38d8: 85aa mv a1,a0 - 38da: 8552 mv a0,s4 - 38dc: 2f9020ef jal ra,63d4 <__subsf3> - 38e0: 00855793 srli a5,a0,0x8 - 38e4: b808 sb a0,17(s0) - 38e6: a83c sb a5,18(s0) - 38e8: 01055793 srli a5,a0,0x10 - 38ec: 8161 srli a0,a0,0x18 - 38ee: b83c sb a5,19(s0) - 38f0: a848 sb a0,20(s0) - 38f2: 87e1c783 lbu a5,-1922(gp) # 200001e6 - 38f6: 87e18c13 addi s8,gp,-1922 # 200001e6 - 38fa: ebc5 bnez a5,39aa - 38fc: 000087b7 lui a5,0x8 - 3900: 6c87aa03 lw s4,1736(a5) # 86c8 - 3904: 6cc7aa83 lw s5,1740(a5) - 3908: 855a mv a0,s6 - 390a: 8652 mv a2,s4 - 390c: 86d6 mv a3,s5 - 390e: 85de mv a1,s7 - 3910: 2da010ef jal ra,4bea <__gedf2> - 3914: 00a04e63 bgtz a0,3930 - 3918: 85a6 mv a1,s1 - 391a: 854e mv a0,s3 - 391c: 2b9020ef jal ra,63d4 <__subsf3> - 3920: 088030ef jal ra,69a8 <__extendsfdf2> - 3924: 8652 mv a2,s4 - 3926: 86d6 mv a3,s5 - 3928: 2c2010ef jal ra,4bea <__gedf2> - 392c: 08a05263 blez a0,39b0 - 3930: 2468 lbu a0,14(s0) - 3932: 345c lbu a5,13(s0) - 3934: 0522 slli a0,a0,0x8 - 3936: 8d5d or a0,a0,a5 - 3938: 347c lbu a5,15(s0) - 393a: 07c2 slli a5,a5,0x10 - 393c: 8fc9 or a5,a5,a0 - 393e: 2808 lbu a0,16(s0) - 3940: 0562 slli a0,a0,0x18 - 3942: 8d5d or a0,a0,a5 - 3944: 064030ef jal ra,69a8 <__extendsfdf2> - 3948: 000087b7 lui a5,0x8 - 394c: 6f87a603 lw a2,1784(a5) # 86f8 - 3950: 6fc7a683 lw a3,1788(a5) - 3954: 344010ef jal ra,4c98 <__ledf2> - 3958: 04055c63 bgez a0,39b0 - 395c: 4785 li a5,1 - 395e: 00fc0023 sb a5,0(s8) - 3962: 000097b7 lui a5,0x9 - 3966: c007a583 lw a1,-1024(a5) # 8c00 - 396a: 8526 mv a0,s1 - 396c: 6c2020ef jal ra,602e <__gesf2> - 3970: 04a05063 blez a0,39b0 - 3974: 8841c703 lbu a4,-1916(gp) # 200001ec - 3978: 4785 li a5,1 - 397a: 00f70963 beq a4,a5,398c - 397e: 8801a503 lw a0,-1920(gp) # 200001e8 - 3982: 00000593 li a1,0 - 3986: 64c020ef jal ra,5fd2 <__eqsf2> - 398a: e11d bnez a0,39b0 - 398c: 000045b7 lui a1,0x4 - 3990: 20001537 lui a0,0x20001 - 3994: 0c800693 li a3,200 - 3998: 0c800613 li a2,200 - 399c: c2258593 addi a1,a1,-990 # 3c22 - 39a0: 29050513 addi a0,a0,656 # 20001290 - 39a4: b7afe0ef jal ra,1d1e - 39a8: a021 j 39b0 - 39aa: 4705 li a4,1 - 39ac: fae78be3 beq a5,a4,3962 - 39b0: f36fe0ef jal ra,20e6 - 39b4: 00855793 srli a5,a0,0x8 - 39b8: ac7c sb a5,30(s0) - 39ba: 01055793 srli a5,a0,0x10 - 39be: bc7c sb a5,31(s0) - 39c0: 02644783 lbu a5,38(s0) - 39c4: 02544483 lbu s1,37(s0) - 39c8: bc48 sb a0,29(s0) - 39ca: 07a2 slli a5,a5,0x8 - 39cc: 8fc5 or a5,a5,s1 - 39ce: 02744483 lbu s1,39(s0) - 39d2: 8161 srli a0,a0,0x18 - 39d4: 02a40023 sb a0,32(s0) - 39d8: 04c2 slli s1,s1,0x10 - 39da: 8fc5 or a5,a5,s1 - 39dc: 02844483 lbu s1,40(s0) - 39e0: 02a94503 lbu a0,42(s2) - 39e4: 04e2 slli s1,s1,0x18 - 39e6: 8cdd or s1,s1,a5 - 39e8: 02994783 lbu a5,41(s2) - 39ec: 0522 slli a0,a0,0x8 - 39ee: 8d5d or a0,a0,a5 - 39f0: 050d addi a0,a0,3 - 39f2: 623020ef jal ra,6814 <__floatsisf> - 39f6: 85aa mv a1,a0 - 39f8: 8526 mv a0,s1 - 39fa: 6ba020ef jal ra,60b4 <__lesf2> - 39fe: 02055863 bgez a0,3a2e - 3a02: 8971c683 lbu a3,-1897(gp) # 200001ff - 3a06: 4709 li a4,2 - 3a08: 89718413 addi s0,gp,-1897 # 200001ff - 3a0c: 00e69e63 bne a3,a4,3a28 - 3a10: 000045b7 lui a1,0x4 - 3a14: 20001537 lui a0,0x20001 - 3a18: 4681 li a3,0 - 3a1a: 4679 li a2,30 - 3a1c: aee58593 addi a1,a1,-1298 # 3aee - 3a20: 2f050513 addi a0,a0,752 # 200012f0 - 3a24: afafe0ef jal ra,1d1e - 3a28: 00040023 sb zero,0(s0) - 3a2c: b359 j 37b2 - 3a2e: 02894503 lbu a0,40(s2) - 3a32: 02794783 lbu a5,39(s2) - 3a36: 0522 slli a0,a0,0x8 - 3a38: 8d5d or a0,a0,a5 - 3a3a: 050d addi a0,a0,3 - 3a3c: 5d9020ef jal ra,6814 <__floatsisf> - 3a40: 85aa mv a1,a0 - 3a42: 8526 mv a0,s1 - 3a44: 5ea020ef jal ra,602e <__gesf2> - 3a48: 02a05d63 blez a0,3a82 - 3a4c: 02694783 lbu a5,38(s2) - 3a50: 02594503 lbu a0,37(s2) - 3a54: 07a2 slli a5,a5,0x8 - 3a56: 8d5d or a0,a0,a5 - 3a58: 5bd020ef jal ra,6814 <__floatsisf> - 3a5c: 85aa mv a1,a0 - 3a5e: 8526 mv a0,s1 - 3a60: 654020ef jal ra,60b4 <__lesf2> - 3a64: 00055f63 bgez a0,3a82 - 3a68: 000097b7 lui a5,0x9 - 3a6c: c047a783 lw a5,-1020(a5) # 8c04 - 3a70: 80f1a623 sw a5,-2036(gp) # 20000174 - 3a74: 80c18513 addi a0,gp,-2036 # 20000174 - 3a78: e7bfd0ef jal ra,18f2 - 3a7c: 4705 li a4,1 - 3a7e: 88e18ba3 sb a4,-1897(gp) # 200001ff - 3a82: 02644583 lbu a1,38(s0) - 3a86: 02544783 lbu a5,37(s0) - 3a8a: 02694503 lbu a0,38(s2) - 3a8e: 05a2 slli a1,a1,0x8 - 3a90: 8fcd or a5,a5,a1 - 3a92: 02744583 lbu a1,39(s0) - 3a96: 02844403 lbu s0,40(s0) - 3a9a: 0522 slli a0,a0,0x8 - 3a9c: 05c2 slli a1,a1,0x10 - 3a9e: 8ddd or a1,a1,a5 - 3aa0: 02594783 lbu a5,37(s2) - 3aa4: 0462 slli s0,s0,0x18 - 3aa6: 8c4d or s0,s0,a1 - 3aa8: 8d5d or a0,a0,a5 - 3aaa: 050d addi a0,a0,3 - 3aac: 569020ef jal ra,6814 <__floatsisf> - 3ab0: 85a2 mv a1,s0 - 3ab2: 602020ef jal ra,60b4 <__lesf2> - 3ab6: ce055ee3 bgez a0,37b2 - 3aba: 4709 li a4,2 - 3abc: 88e18ba3 sb a4,-1897(gp) # 200001ff - 3ac0: c9bff0ef jal ra,375a - 3ac4: b1fd j 37b2 - -00003ac6 : - 3ac6: eaafc2ef jal t0,170 <__riscv_save_0> - 3aca: 40000537 lui a0,0x40000 - 3ace: 4585 li a1,1 - 3ad0: 40050513 addi a0,a0,1024 # 40000400 <_eusrstack+0x1fffb400> - 3ad4: cfcfd0ef jal ra,fd0 - 3ad8: 200017b7 lui a5,0x20001 - 3adc: 21c78793 addi a5,a5,540 # 2000121c - 3ae0: 4709 li a4,2 - 3ae2: 02e785a3 sb a4,43(a5) - 3ae6: 02078623 sb zero,44(a5) - 3aea: eaafc06f j 194 <__riscv_restore_0> - -00003aee : - 3aee: e68fc2ef jal t0,156 <__riscv_save_4> - 3af2: 88e18713 addi a4,gp,-1906 # 200001f6 - 3af6: 231e lhu a5,0(a4) - 3af8: 0785 addi a5,a5,1 - 3afa: 07c2 slli a5,a5,0x10 - 3afc: 83c1 srli a5,a5,0x10 - 3afe: a31e sh a5,0(a4) - 3b00: 4711 li a4,4 - 3b02: 00f76c63 bltu a4,a5,3b1a - 3b06: 40001537 lui a0,0x40001 - 3b0a: 06400593 li a1,100 - 3b0e: 80050513 addi a0,a0,-2048 # 40000800 <_eusrstack+0x1fffb800> - 3b12: d2efd0ef jal ra,1040 - 3b16: e74fc06f j 18a <__riscv_restore_4> - 3b1a: 04600713 li a4,70 - 3b1e: 88e18413 addi s0,gp,-1906 # 200001f6 - 3b22: 87418a13 addi s4,gp,-1932 # 200001dc - 3b26: 00f76b63 bltu a4,a5,3b3c - 3b2a: 000a2983 lw s3,0(s4) - 3b2e: 80c1a583 lw a1,-2036(gp) # 20000174 - 3b32: 854e mv a0,s3 - 3b34: 4fa020ef jal ra,602e <__gesf2> - 3b38: 0ca05163 blez a0,3bfa - 3b3c: 20001537 lui a0,0x20001 - 3b40: 2f050913 addi s2,a0,752 # 200012f0 - 3b44: 2f050513 addi a0,a0,752 - 3b48: a14fe0ef jal ra,1d5c - 3b4c: 00000793 li a5,0 - 3b50: 80c18513 addi a0,gp,-2036 # 20000174 - 3b54: 00fa2023 sw a5,0(s4) - 3b58: 00090023 sb zero,0(s2) - 3b5c: 00041023 sh zero,0(s0) - 3b60: d93fd0ef jal ra,18f2 - 3b64: 87e1c703 lbu a4,-1922(gp) # 200001e6 - 3b68: 4785 li a5,1 - 3b6a: 00f71563 bne a4,a5,3b74 - 3b6e: f59ff0ef jal ra,3ac6 - 3b72: b755 j 3b16 - 3b74: 00000793 li a5,0 - 3b78: 80c18513 addi a0,gp,-2036 # 20000174 - 3b7c: 00fa2023 sw a5,0(s4) - 3b80: 00041023 sh zero,0(s0) - 3b84: d6ffd0ef jal ra,18f2 - 3b88: c92fe0ef jal ra,201a - 3b8c: 842a mv s0,a0 - 3b8e: d14fe0ef jal ra,20a2 - 3b92: 85aa mv a1,a0 - 3b94: 8522 mv a0,s0 - 3b96: 03f020ef jal ra,63d4 <__subsf3> - 3b9a: 60f020ef jal ra,69a8 <__extendsfdf2> - 3b9e: 000087b7 lui a5,0x8 - 3ba2: 6c87a403 lw s0,1736(a5) # 86c8 - 3ba6: 6cc7a483 lw s1,1740(a5) - 3baa: 8622 mv a2,s0 - 3bac: 86a6 mv a3,s1 - 3bae: 03c010ef jal ra,4bea <__gedf2> - 3bb2: faa04ee3 bgtz a0,3b6e - 3bb6: cecfe0ef jal ra,20a2 - 3bba: 892a mv s2,a0 - 3bbc: c5efe0ef jal ra,201a - 3bc0: 85aa mv a1,a0 - 3bc2: 854a mv a0,s2 - 3bc4: 011020ef jal ra,63d4 <__subsf3> - 3bc8: 5e1020ef jal ra,69a8 <__extendsfdf2> - 3bcc: 8622 mv a2,s0 - 3bce: 86a6 mv a3,s1 - 3bd0: 01a010ef jal ra,4bea <__gedf2> - 3bd4: f8a04de3 bgtz a0,3b6e - 3bd8: 200017b7 lui a5,0x20001 - 3bdc: 40000537 lui a0,0x40000 - 3be0: 21c78793 addi a5,a5,540 # 2000121c - 3be4: 4711 li a4,4 - 3be6: 4585 li a1,1 - 3be8: 40050513 addi a0,a0,1024 # 40000400 <_eusrstack+0x1fffb400> - 3bec: 02e785a3 sb a4,43(a5) - 3bf0: 02078623 sb zero,44(a5) - 3bf4: bdcfd0ef jal ra,fd0 - 3bf8: bf39 j 3b16 - 3bfa: 854e mv a0,s3 - 3bfc: 5ad020ef jal ra,69a8 <__extendsfdf2> - 3c00: 000097b7 lui a5,0x9 - 3c04: c107a603 lw a2,-1008(a5) # 8c10 - 3c08: c147a683 lw a3,-1004(a5) - 3c0c: 0af000ef jal ra,44ba <__adddf3> - 3c10: 645020ef jal ra,6a54 <__truncdfsf2> - 3c14: 00aa2023 sw a0,0(s4) - 3c18: 87418513 addi a0,gp,-1932 # 200001dc - 3c1c: cd7fd0ef jal ra,18f2 - 3c20: bddd j 3b16 - -00003c22 : - 3c22: d34fc2ef jal t0,156 <__riscv_save_4> - 3c26: 89018713 addi a4,gp,-1904 # 200001f8 - 3c2a: 231c lbu a5,0(a4) - 3c2c: 7139 addi sp,sp,-64 - 3c2e: 0785 addi a5,a5,1 - 3c30: 0ff7f793 andi a5,a5,255 - 3c34: a31c sb a5,0(a4) - 3c36: 4705 li a4,1 - 3c38: 02e79463 bne a5,a4,3c60 - 3c3c: 40000537 lui a0,0x40000 - 3c40: 4581 li a1,0 - 3c42: 40050513 addi a0,a0,1024 # 40000400 <_eusrstack+0x1fffb400> - 3c46: b8afd0ef jal ra,fd0 - 3c4a: 12c00593 li a1,300 - 3c4e: 40001537 lui a0,0x40001 - 3c52: 80050513 addi a0,a0,-2048 # 40000800 <_eusrstack+0x1fffb800> - 3c56: beafd0ef jal ra,1040 - 3c5a: 6121 addi sp,sp,64 - 3c5c: d2efc06f j 18a <__riscv_restore_4> - 3c60: 472d li a4,11 - 3c62: 02e79463 bne a5,a4,3c8a - 3c66: bb4fe0ef jal ra,201a - 3c6a: 84aa mv s1,a0 - 3c6c: c36fe0ef jal ra,20a2 - 3c70: 85aa mv a1,a0 - 3c72: 8526 mv a0,s1 - 3c74: 760020ef jal ra,63d4 <__subsf3> - 3c78: 86a1a623 sw a0,-1940(gp) # 200001d4 - 3c7c: be2fe0ef jal ra,205e - 3c80: 8aa1a023 sw a0,-1888(gp) # 20000208 - 3c84: 1a400593 li a1,420 - 3c88: b7d9 j 3c4e - 3c8a: 4755 li a4,21 - 3c8c: fce797e3 bne a5,a4,3c5a - 3c90: 20001537 lui a0,0x20001 - 3c94: 29050493 addi s1,a0,656 # 20001290 - 3c98: 29050513 addi a0,a0,656 - 3c9c: 8c0fe0ef jal ra,1d5c - 3ca0: 00048023 sb zero,0(s1) - 3ca4: b76fe0ef jal ra,201a - 3ca8: 892a mv s2,a0 - 3caa: bf8fe0ef jal ra,20a2 - 3cae: 85aa mv a1,a0 - 3cb0: 854a mv a0,s2 - 3cb2: 722020ef jal ra,63d4 <__subsf3> - 3cb6: 87018493 addi s1,gp,-1936 # 200001d8 - 3cba: c088 sw a0,0(s1) - 3cbc: ba2fe0ef jal ra,205e - 3cc0: 85aa mv a1,a0 - 3cc2: 8a01a503 lw a0,-1888(gp) # 20000208 - 3cc6: 89018413 addi s0,gp,-1904 # 200001f8 - 3cca: 70a020ef jal ra,63d4 <__subsf3> - 3cce: 892a mv s2,a0 - 3cd0: 408c lw a1,0(s1) - 3cd2: 86c1a503 lw a0,-1940(gp) # 200001d4 - 3cd6: 6fe020ef jal ra,63d4 <__subsf3> - 3cda: 85aa mv a1,a0 - 3cdc: 854a mv a0,s2 - 3cde: 042020ef jal ra,5d20 <__divsf3> - 3ce2: 000097b7 lui a5,0x9 - 3ce6: bfc7a583 lw a1,-1028(a5) # 8bfc - 3cea: 88018913 addi s2,gp,-1920 # 200001e8 - 3cee: 00a92023 sw a0,0(s2) - 3cf2: 89aa mv s3,a0 - 3cf4: 33a020ef jal ra,602e <__gesf2> - 3cf8: 88018493 addi s1,gp,-1920 # 200001e8 - 3cfc: 00a04f63 bgtz a0,3d1a - 3d00: 854e mv a0,s3 - 3d02: 4a7020ef jal ra,69a8 <__extendsfdf2> - 3d06: 000087b7 lui a5,0x8 - 3d0a: 4707a603 lw a2,1136(a5) # 8470 <_read+0x58> - 3d0e: 4747a683 lw a3,1140(a5) - 3d12: 787000ef jal ra,4c98 <__ledf2> - 3d16: 00055a63 bgez a0,3d2a - 3d1a: 00000793 li a5,0 - 3d1e: c09c sw a5,0(s1) - 3d20: 00040023 sb zero,0(s0) - 3d24: da3ff0ef jal ra,3ac6 - 3d28: bf0d j 3c5a - 3d2a: 0068 addi a0,sp,12 - 3d2c: cecfe0ef jal ra,2218 - 3d30: 000084b7 lui s1,0x8 - 3d34: c515 beqz a0,3d60 - 3d36: 6ec4a583 lw a1,1772(s1) # 86ec - 3d3a: 00092503 lw a0,0(s2) - 3d3e: 402020ef jal ra,6140 <__mulsf3> - 3d42: 27d020ef jal ra,67be <__fixunssfsi> - 3d46: 0542 slli a0,a0,0x10 - 3d48: 8141 srli a0,a0,0x10 - 3d4a: 02a106a3 sb a0,45(sp) - 3d4e: 8121 srli a0,a0,0x8 - 3d50: 02a10723 sb a0,46(sp) - 3d54: 0068 addi a0,sp,12 - 3d56: c2afe0ef jal ra,2180 - 3d5a: 88018223 sb zero,-1916(gp) # 200001ec - 3d5e: b7c9 j 3d20 - 3d60: 200005b7 lui a1,0x20000 - 3d64: 03200613 li a2,50 - 3d68: 02058593 addi a1,a1,32 # 20000020 - 3d6c: 0068 addi a0,sp,12 - 3d6e: 6bf020ef jal ra,6c2c - 3d72: b7d1 j 3d36 - -00003d74 : - 3d74: be2fc2ef jal t0,156 <__riscv_save_4> - 3d78: 89918713 addi a4,gp,-1895 # 20000201 - 3d7c: 231c lbu a5,0(a4) - 3d7e: 1101 addi sp,sp,-32 - 3d80: 00178693 addi a3,a5,1 - 3d84: 17f5 addi a5,a5,-3 - 3d86: a314 sb a3,0(a4) - 3d88: 0ff7f793 andi a5,a5,255 - 3d8c: 0fb00693 li a3,251 - 3d90: 02f6e363 bltu a3,a5,3db6 - 3d94: 20001537 lui a0,0x20001 - 3d98: 2b050413 addi s0,a0,688 # 200012b0 - 3d9c: 2b050513 addi a0,a0,688 - 3da0: 86018223 sb zero,-1948(gp) # 200001cc - 3da4: 00070023 sb zero,0(a4) - 3da8: fb5fd0ef jal ra,1d5c - 3dac: 00040023 sb zero,0(s0) - 3db0: 6105 addi sp,sp,32 - 3db2: bd8fc06f j 18a <__riscv_restore_4> - 3db6: 4641 li a2,16 - 3db8: 4581 li a1,0 - 3dba: 00e10513 addi a0,sp,14 - 3dbe: be2fc0ef jal ra,1a0 - 3dc2: 20000437 lui s0,0x20000 - 3dc6: 02044783 lbu a5,32(s0) # 20000020 - 3dca: 02040413 addi s0,s0,32 - 3dce: 45dd li a1,23 - 3dd0: 825c sb a5,4(sp) - 3dd2: 301c lbu a5,1(s0) - 3dd4: 0048 addi a0,sp,4 - 3dd6: 89918493 addi s1,gp,-1895 # 20000201 - 3dda: 82dc sb a5,5(sp) - 3ddc: 57fd li a5,-1 - 3dde: 837c sh a5,6(sp) - 3de0: 57fd li a5,-1 - 3de2: c43e sw a5,8(sp) - 3de4: 77e9 lui a5,0xffffa - 3de6: 1ff78793 addi a5,a5,511 # ffffa1ff <_eusrstack+0xdfff51ff> - 3dea: 867c sh a5,12(sp) - 3dec: 88c1c783 lbu a5,-1908(gp) # 200001f4 - 3df0: 87dc sb a5,15(sp) - 3df2: 200017b7 lui a5,0x20001 - 3df6: 21d7c703 lbu a4,541(a5) # 2000121d - 3dfa: 21c7c683 lbu a3,540(a5) - 3dfe: 21c78793 addi a5,a5,540 - 3e02: 0722 slli a4,a4,0x8 - 3e04: 8f55 or a4,a4,a3 - 3e06: 00e108a3 sb a4,17(sp) - 3e0a: 00875693 srli a3,a4,0x8 - 3e0e: 2038 lbu a4,2(s0) - 3e10: 00d10823 sb a3,16(sp) - 3e14: 00e10923 sb a4,18(sp) - 3e18: 3038 lbu a4,3(s0) - 3e1a: 00e109a3 sb a4,19(sp) - 3e1e: 2058 lbu a4,4(s0) - 3e20: 00e10a23 sb a4,20(sp) - 3e24: 3058 lbu a4,5(s0) - 3e26: 00e10aa3 sb a4,21(sp) - 3e2a: 2078 lbu a4,6(s0) - 3e2c: 00e10b23 sb a4,22(sp) - 3e30: 3078 lbu a4,7(s0) - 3e32: 00e10ba3 sb a4,23(sp) - 3e36: 2418 lbu a4,8(s0) - 3e38: 00e10c23 sb a4,24(sp) - 3e3c: 3798 lbu a4,9(a5) - 3e3e: 27bc lbu a5,10(a5) - 3e40: 07a2 slli a5,a5,0x8 - 3e42: 8fd9 or a5,a5,a4 - 3e44: 0087d713 srli a4,a5,0x8 - 3e48: 00f10d23 sb a5,26(sp) - 3e4c: 00e10ca3 sb a4,25(sp) - 3e50: d4dfe0ef jal ra,2b9c - 3e54: 00855793 srli a5,a0,0x8 - 3e58: 00f10da3 sb a5,27(sp) - 3e5c: 03144783 lbu a5,49(s0) - 3e60: 00a10e23 sb a0,28(sp) - 3e64: 4429 li s0,10 - 3e66: 00f10ea3 sb a5,29(sp) - 3e6a: d71fe0ef jal ra,2bda - 3e6e: ff9fd0ef jal ra,1e66 - 3e72: 88818913 addi s2,gp,-1912 # 200001f0 - 3e76: 00092503 lw a0,0(s2) - 3e7a: d8dfe0ef jal ra,2c06 - 3e7e: e521 bnez a0,3ec6 - 3e80: 89818793 addi a5,gp,-1896 # 20000200 - 3e84: 2394 lbu a3,0(a5) - 3e86: 4705 li a4,1 - 3e88: 00e69763 bne a3,a4,3e96 - 3e8c: 00078023 sb zero,0(a5) - 3e90: 00048023 sb zero,0(s1) - 3e94: bf31 j 3db0 - 3e96: 00092503 lw a0,0(s2) - 3e9a: 466d li a2,27 - 3e9c: 004c addi a1,sp,4 - 3e9e: 23b5 jal 440a - 3ea0: 00092703 lw a4,0(s2) - 3ea4: 8a41a783 lw a5,-1884(gp) # 2000020c - 3ea8: 4605 li a2,1 - 3eaa: 52500593 li a1,1317 - 3eae: 40005537 lui a0,0x40005 - 3eb2: 00f71763 bne a4,a5,3ec0 - 3eb6: 80050513 addi a0,a0,-2048 # 40004800 <_eusrstack+0x1ffff800> - 3eba: aa8fd0ef jal ra,1162 - 3ebe: bdcd j 3db0 - 3ec0: c0050513 addi a0,a0,-1024 - 3ec4: bfdd j 3eba - 3ec6: 147d addi s0,s0,-1 - 3ec8: 0ff47413 andi s0,s0,255 - 3ecc: fc59 bnez s0,3e6a - 3ece: b5cd j 3db0 - -00003ed0 : - 3ed0: 89118713 addi a4,gp,-1903 # 200001f9 - 3ed4: 231c lbu a5,0(a4) - 3ed6: 20000637 lui a2,0x20000 - 3eda: 02060613 addi a2,a2,32 # 20000020 - 3ede: 0785 addi a5,a5,1 - 3ee0: 0ff7f793 andi a5,a5,255 - 3ee4: a31c sb a5,0(a4) - 3ee6: 02c64683 lbu a3,44(a2) - 3eea: 02b64583 lbu a1,43(a2) - 3eee: 06a2 slli a3,a3,0x8 - 3ef0: 8ecd or a3,a3,a1 - 3ef2: 04d79363 bne a5,a3,3f38 - 3ef6: a7afc2ef jal t0,170 <__riscv_save_0> - 3efa: 20001537 lui a0,0x20001 - 3efe: 2a050413 addi s0,a0,672 # 200012a0 - 3f02: 2a050513 addi a0,a0,672 - 3f06: 00070023 sb zero,0(a4) - 3f0a: 88018b23 sb zero,-1898(gp) # 200001fe - 3f0e: e4ffd0ef jal ra,1d5c - 3f12: 00040023 sb zero,0(s0) - 3f16: 40011437 lui s0,0x40011 - 3f1a: 4591 li a1,4 - 3f1c: c0040513 addi a0,s0,-1024 # 40010c00 <_eusrstack+0x2000bc00> - 3f20: ab9fc0ef jal ra,9d8 - 3f24: e901 bnez a0,3f34 - 3f26: 4601 li a2,0 - 3f28: 10000593 li a1,256 - 3f2c: c0040513 addi a0,s0,-1024 - 3f30: ac1fc0ef jal ra,9f0 - 3f34: a60fc06f j 194 <__riscv_restore_0> - 3f38: 8082 ret - -00003f3a : - 3f3a: a36fc2ef jal t0,170 <__riscv_save_0> - 3f3e: 8961c703 lbu a4,-1898(gp) # 200001fe - 3f42: 4785 li a5,1 - 3f44: 89218413 addi s0,gp,-1902 # 200001fa - 3f48: 87c18493 addi s1,gp,-1924 # 200001e4 - 3f4c: 02f71263 bne a4,a5,3f70 - 3f50: 20001537 lui a0,0x20001 - 3f54: 28050913 addi s2,a0,640 # 20001280 - 3f58: 28050513 addi a0,a0,640 - 3f5c: 00040023 sb zero,0(s0) - 3f60: 88019a23 sh zero,-1900(gp) # 200001fc - 3f64: 00048023 sb zero,0(s1) - 3f68: df5fd0ef jal ra,1d5c - 3f6c: 00090023 sb zero,0(s2) - 3f70: 2098 lbu a4,0(s1) - 3f72: 4785 li a5,1 - 3f74: 00f71563 bne a4,a5,3f7e - 3f78: 201c lbu a5,0(s0) - 3f7a: 0785 addi a5,a5,1 - 3f7c: a01c sb a5,0(s0) - 3f7e: 20000937 lui s2,0x20000 - 3f82: 02090693 addi a3,s2,32 # 20000020 - 3f86: 02e6c783 lbu a5,46(a3) - 3f8a: 02d6c603 lbu a2,45(a3) - 3f8e: 2014 lbu a3,0(s0) - 3f90: 07a2 slli a5,a5,0x8 - 3f92: 8fd1 or a5,a5,a2 - 3f94: 02090913 addi s2,s2,32 - 3f98: 02f69263 bne a3,a5,3fbc - 3f9c: 00040023 sb zero,0(s0) - 3fa0: 20001537 lui a0,0x20001 - 3fa4: 28050413 addi s0,a0,640 # 20001280 - 3fa8: 28050513 addi a0,a0,640 - 3fac: 00048023 sb zero,0(s1) - 3fb0: dadfd0ef jal ra,1d5c - 3fb4: 00040023 sb zero,0(s0) - 3fb8: 9dcfc06f j 194 <__riscv_restore_0> - 3fbc: 4785 li a5,1 - 3fbe: 00e7fd63 bgeu a5,a4,3fd8 - 3fc2: 40011537 lui a0,0x40011 - 3fc6: 4601 li a2,0 - 3fc8: 10000593 li a1,256 - 3fcc: c0050513 addi a0,a0,-1024 # 40010c00 <_eusrstack+0x2000bc00> - 3fd0: a21fc0ef jal ra,9f0 - 3fd4: 00040023 sb zero,0(s0) - 3fd8: 40011537 lui a0,0x40011 - 3fdc: 10000593 li a1,256 - 3fe0: c0050513 addi a0,a0,-1024 # 40010c00 <_eusrstack+0x2000bc00> - 3fe4: 9fffc0ef jal ra,9e2 - 3fe8: 89418793 addi a5,gp,-1900 # 200001fc - 3fec: e501 bnez a0,3ff4 - 3fee: 239a lhu a4,0(a5) - 3ff0: 0705 addi a4,a4,1 - 3ff2: a39a sh a4,0(a5) - 3ff4: 03094703 lbu a4,48(s2) - 3ff8: 02f94603 lbu a2,47(s2) - 3ffc: 2396 lhu a3,0(a5) - 3ffe: 0722 slli a4,a4,0x8 - 4000: 8f51 or a4,a4,a2 - 4002: fae69be3 bne a3,a4,3fb8 - 4006: 40011537 lui a0,0x40011 - 400a: 4605 li a2,1 - 400c: 10000593 li a1,256 - 4010: c0050513 addi a0,a0,-1024 # 40010c00 <_eusrstack+0x2000bc00> - 4014: 00079023 sh zero,0(a5) - 4018: 9d9fc0ef jal ra,9f0 - 401c: b751 j 3fa0 - -0000401e : - 401e: 87818793 addi a5,gp,-1928 # 200001e0 - 4022: 4390 lw a2,0(a5) - 4024: 81518693 addi a3,gp,-2027 # 2000017d - 4028: 0605 addi a2,a2,1 - 402a: 200005b7 lui a1,0x20000 - 402e: c390 sw a2,0(a5) - 4030: 00068023 sb zero,0(a3) - 4034: 02058593 addi a1,a1,32 # 20000020 - 4038: 0245c703 lbu a4,36(a1) - 403c: 0235c503 lbu a0,35(a1) - 4040: 0722 slli a4,a4,0x8 - 4042: 8f49 or a4,a4,a0 - 4044: 02e61463 bne a2,a4,406c - 4048: 928fc2ef jal t0,170 <__riscv_save_0> - 404c: 20001537 lui a0,0x20001 - 4050: 2e050413 addi s0,a0,736 # 200012e0 - 4054: 0007a023 sw zero,0(a5) - 4058: 2e050513 addi a0,a0,736 - 405c: 4785 li a5,1 - 405e: a29c sb a5,0(a3) - 4060: cfdfd0ef jal ra,1d5c - 4064: 00040023 sb zero,0(s0) - 4068: 92cfc06f j 194 <__riscv_restore_0> - 406c: 8082 ret - -0000406e : - 406e: 8e8fc2ef jal t0,156 <__riscv_save_4> - 4072: 200004b7 lui s1,0x20000 - 4076: 02048493 addi s1,s1,32 # 20000020 - 407a: 0224c783 lbu a5,34(s1) - 407e: 0214c503 lbu a0,33(s1) - 4082: 20001937 lui s2,0x20001 - 4086: 07a2 slli a5,a5,0x8 - 4088: 8d5d or a0,a0,a5 - 408a: 051020ef jal ra,68da <__floatunsisf> - 408e: 000087b7 lui a5,0x8 - 4092: 6ec7a583 lw a1,1772(a5) # 86ec - 4096: 21c90413 addi s0,s2,540 # 2000121c - 409a: 487010ef jal ra,5d20 <__divsf3> - 409e: 20bc lbu a5,2(s1) - 40a0: 88018993 addi s3,gp,-1920 # 200001e8 - 40a4: 20000737 lui a4,0x20000 - 40a8: a03c sb a5,2(s0) - 40aa: 30bc lbu a5,3(s1) - 40ac: 05470713 addi a4,a4,84 # 20000054 - 40b0: 20090e23 sb zero,540(s2) - 40b4: b03c sb a5,3(s0) - 40b6: 20dc lbu a5,4(s1) - 40b8: 20090ea3 sb zero,541(s2) - 40bc: 00a9a023 sw a0,0(s3) - 40c0: a05c sb a5,4(s0) - 40c2: 30dc lbu a5,5(s1) - 40c4: 21c90913 addi s2,s2,540 - 40c8: b05c sb a5,5(s0) - 40ca: 20fc lbu a5,6(s1) - 40cc: a07c sb a5,6(s0) - 40ce: 30fc lbu a5,7(s1) - 40d0: b07c sb a5,7(s0) - 40d2: 249c lbu a5,8(s1) - 40d4: a41c sb a5,8(s0) - 40d6: 273c lbu a5,10(a4) - 40d8: 3714 lbu a3,9(a4) - 40da: 07a2 slli a5,a5,0x8 - 40dc: 8fd5 or a5,a5,a3 - 40de: b41c sb a5,9(s0) - 40e0: 83a1 srli a5,a5,0x8 - 40e2: a43c sb a5,10(s0) - 40e4: 275c lbu a5,12(a4) - 40e6: 3734 lbu a3,11(a4) - 40e8: 07a2 slli a5,a5,0x8 - 40ea: 8fd5 or a5,a5,a3 - 40ec: b43c sb a5,11(s0) - 40ee: 83a1 srli a5,a5,0x8 - 40f0: a45c sb a5,12(s0) - 40f2: f6dfd0ef jal ra,205e - 40f6: 00855793 srli a5,a0,0x8 - 40fa: b448 sb a0,13(s0) - 40fc: a47c sb a5,14(s0) - 40fe: 01055793 srli a5,a0,0x10 - 4102: 8161 srli a0,a0,0x18 - 4104: b47c sb a5,15(s0) - 4106: a808 sb a0,16(s0) - 4108: f13fd0ef jal ra,201a - 410c: 00855793 srli a5,a0,0x8 - 4110: b848 sb a0,21(s0) - 4112: a87c sb a5,22(s0) - 4114: 01055793 srli a5,a0,0x10 - 4118: 8161 srli a0,a0,0x18 - 411a: b87c sb a5,23(s0) - 411c: ac08 sb a0,24(s0) - 411e: f85fd0ef jal ra,20a2 - 4122: 01855793 srli a5,a0,0x18 - 4126: ac5c sb a5,28(s0) - 4128: 247c lbu a5,14(s0) - 412a: 3444 lbu s1,13(s0) - 412c: 00855713 srli a4,a0,0x8 - 4130: 07a2 slli a5,a5,0x8 - 4132: 8fc5 or a5,a5,s1 - 4134: 3464 lbu s1,15(s0) - 4136: ac38 sb a4,26(s0) - 4138: 01055713 srli a4,a0,0x10 - 413c: 04c2 slli s1,s1,0x10 - 413e: 8fc5 or a5,a5,s1 - 4140: 2804 lbu s1,16(s0) - 4142: bc38 sb a4,27(s0) - 4144: 3858 lbu a4,21(s0) - 4146: 04e2 slli s1,s1,0x18 - 4148: 8cdd or s1,s1,a5 - 414a: 287c lbu a5,22(s0) - 414c: 85aa mv a1,a0 - 414e: bc08 sb a0,25(s0) - 4150: 07a2 slli a5,a5,0x8 - 4152: 8f5d or a4,a4,a5 - 4154: 387c lbu a5,23(s0) - 4156: 07c2 slli a5,a5,0x10 - 4158: 8fd9 or a5,a5,a4 - 415a: 2c18 lbu a4,24(s0) - 415c: 0762 slli a4,a4,0x18 - 415e: 00f76533 or a0,a4,a5 - 4162: 272020ef jal ra,63d4 <__subsf3> - 4166: 0009a583 lw a1,0(s3) - 416a: 7d7010ef jal ra,6140 <__mulsf3> - 416e: 85aa mv a1,a0 - 4170: 8526 mv a0,s1 - 4172: 262020ef jal ra,63d4 <__subsf3> - 4176: 00855793 srli a5,a0,0x8 - 417a: b808 sb a0,17(s0) - 417c: a83c sb a5,18(s0) - 417e: 01055793 srli a5,a0,0x10 - 4182: 8161 srli a0,a0,0x18 - 4184: b83c sb a5,19(s0) - 4186: a848 sb a0,20(s0) - 4188: f5ffd0ef jal ra,20e6 - 418c: 00855793 srli a5,a0,0x8 - 4190: 02a400a3 sb a0,33(s0) - 4194: 02f40123 sb a5,34(s0) - 4198: 01055793 srli a5,a0,0x10 - 419c: 8161 srli a0,a0,0x18 - 419e: 02f401a3 sb a5,35(s0) - 41a2: 02a40223 sb a0,36(s0) - 41a6: f85fd0ef jal ra,212a - 41aa: 00855793 srli a5,a0,0x8 - 41ae: 02f40323 sb a5,38(s0) - 41b2: 01055793 srli a5,a0,0x10 - 41b6: 02f403a3 sb a5,39(s0) - 41ba: 283c lbu a5,18(s0) - 41bc: 3804 lbu s1,17(s0) - 41be: 02a402a3 sb a0,37(s0) - 41c2: 07a2 slli a5,a5,0x8 - 41c4: 8fc5 or a5,a5,s1 - 41c6: 3824 lbu s1,19(s0) - 41c8: 8161 srli a0,a0,0x18 - 41ca: 02a40423 sb a0,40(s0) - 41ce: 04c2 slli s1,s1,0x10 - 41d0: 8fc5 or a5,a5,s1 - 41d2: 2844 lbu s1,20(s0) - 41d4: 04e2 slli s1,s1,0x18 - 41d6: 8cdd or s1,s1,a5 - 41d8: 000097b7 lui a5,0x9 - 41dc: c1c7a583 lw a1,-996(a5) # 8c1c - 41e0: 8526 mv a0,s1 - 41e2: 6d3010ef jal ra,60b4 <__lesf2> - 41e6: 00054b63 bltz a0,41fc - 41ea: 000097b7 lui a5,0x9 - 41ee: c187a583 lw a1,-1000(a5) # 8c18 - 41f2: 8526 mv a0,s1 - 41f4: 63b010ef jal ra,602e <__gesf2> - 41f8: 00a05563 blez a0,4202 - 41fc: 4705 li a4,1 - 41fe: 88e18223 sb a4,-1916(gp) # 200001ec - 4202: 400114b7 lui s1,0x40011 - 4206: 10000593 li a1,256 - 420a: c0048513 addi a0,s1,-1024 # 40010c00 <_eusrstack+0x2000bc00> - 420e: fd4fc0ef jal ra,9e2 - 4212: 4781 li a5,0 - 4214: c901 beqz a0,4224 - 4216: 4591 li a1,4 - 4218: c0048513 addi a0,s1,-1024 - 421c: fbcfc0ef jal ra,9d8 - 4220: 00a037b3 snez a5,a0 - 4224: 02f904a3 sb a5,41(s2) - 4228: 02090523 sb zero,42(s2) - 422c: 020905a3 sb zero,43(s2) - 4230: 02090623 sb zero,44(s2) - 4234: f57fb06f j 18a <__riscv_restore_4> - -00004238 : - 4238: f39fb2ef jal t0,170 <__riscv_save_0> - 423c: f57fd0ef jal ra,2192 - 4240: e2fff0ef jal ra,406e - 4244: 000035b7 lui a1,0x3 - 4248: 20001537 lui a0,0x20001 - 424c: 4681 li a3,0 - 424e: 3e800613 li a2,1000 - 4252: 24058593 addi a1,a1,576 # 3240 - 4256: 2d050513 addi a0,a0,720 # 200012d0 - 425a: ac5fd0ef jal ra,1d1e - 425e: 000035b7 lui a1,0x3 - 4262: 20001537 lui a0,0x20001 - 4266: 4681 li a3,0 - 4268: 06400613 li a2,100 - 426c: 66258593 addi a1,a1,1634 # 3662 - 4270: 31050513 addi a0,a0,784 # 20001310 - 4274: aabfd0ef jal ra,1d1e - 4278: 000035b7 lui a1,0x3 - 427c: 20001537 lui a0,0x20001 - 4280: 46f9 li a3,30 - 4282: 3e800613 li a2,1000 - 4286: 61058593 addi a1,a1,1552 # 3610 - 428a: 32050513 addi a0,a0,800 # 20001320 - 428e: a91fd0ef jal ra,1d1e - 4292: 000035b7 lui a1,0x3 - 4296: 20001537 lui a0,0x20001 - 429a: 3e800693 li a3,1000 - 429e: 3e800613 li a2,1000 - 42a2: 78a58593 addi a1,a1,1930 # 378a - 42a6: 2c050513 addi a0,a0,704 # 200012c0 - 42aa: a75fd0ef jal ra,1d1e - 42ae: 000035b7 lui a1,0x3 - 42b2: 20001537 lui a0,0x20001 - 42b6: 4681 li a3,0 - 42b8: 3e800613 li a2,1000 - 42bc: 67258593 addi a1,a1,1650 # 3672 - 42c0: 30050513 addi a0,a0,768 # 20001300 - 42c4: a5bfd0ef jal ra,1d1e - 42c8: ac3fd0ef jal ra,1d8a - 42cc: ec9fb06f j 194 <__riscv_restore_0> - -000042d0 : - 42d0: ea1fb2ef jal t0,170 <__riscv_save_0> - 42d4: 4505 li a0,1 - 42d6: 9bffd0ef jal ra,1c94 - 42da: 288d jal 434c - 42dc: daafd0ef jal ra,1886 - 42e0: f0ffc0ef jal ra,11ee - 42e4: b8cfd0ef jal ra,1670 - 42e8: bb8fd0ef jal ra,16a0 - 42ec: ff3fc0ef jal ra,12de - 42f0: be2fd0ef jal ra,16d2 - 42f4: c1cfd0ef jal ra,1710 - 42f8: cb4fd0ef jal ra,17ac - 42fc: 4529 li a0,10 - 42fe: 8edfd0ef jal ra,1bea - 4302: e93fb06f j 194 <__riscv_restore_0> - -00004306 : - 4306: e6bfb2ef jal t0,170 <__riscv_save_0> - 430a: 4401 li s0,0 - 430c: c105 beqz a0,432c - 430e: 2100 lbu s0,0(a0) - 4310: cc11 beqz s0,432c - 4312: 415c lw a5,4(a0) - 4314: 470d li a4,3 - 4316: 00e79e63 bne a5,a4,4332 - 431a: 40005537 lui a0,0x40005 - 431e: 0ff5f593 andi a1,a1,255 - 4322: 80050513 addi a0,a0,-2048 # 40004800 <_eusrstack+0x1ffff800> - 4326: fc2fd0ef jal ra,1ae8 - 432a: 4405 li s0,1 - 432c: 8522 mv a0,s0 - 432e: e67fb06f j 194 <__riscv_restore_0> - 4332: 4711 li a4,4 - 4334: 4405 li s0,1 - 4336: fee79be3 bne a5,a4,432c - 433a: 40005537 lui a0,0x40005 - 433e: 0ff5f593 andi a1,a1,255 - 4342: c0050513 addi a0,a0,-1024 # 40004c00 <_eusrstack+0x1ffffc00> - 4346: fa2fd0ef jal ra,1ae8 - 434a: b7cd j 432c - -0000434c : - 434c: e25fb2ef jal t0,170 <__riscv_save_0> - 4350: 20000437 lui s0,0x20000 - 4354: 0cc40413 addi s0,s0,204 # 200000cc - 4358: 200015b7 lui a1,0x20001 - 435c: 0c800613 li a2,200 - 4360: 33058593 addi a1,a1,816 # 20001330 - 4364: 00c40513 addi a0,s0,12 - 4368: a6dfd0ef jal ra,1dd4 - 436c: 6571 lui a0,0x1c - 436e: 20050513 addi a0,a0,512 # 1c200 <_data_lma+0x13340> - 4372: eb8fd0ef jal ra,1a2a - 4376: 4485 li s1,1 - 4378: 200015b7 lui a1,0x20001 - 437c: a004 sb s1,0(s0) - 437e: 12c00613 li a2,300 - 4382: 3f858593 addi a1,a1,1016 # 200013f8 - 4386: 02840513 addi a0,s0,40 - 438a: 8a81a223 sw s0,-1884(gp) # 2000020c - 438e: a47fd0ef jal ra,1dd4 - 4392: 5048 lw a0,36(s0) - 4394: 0471 addi s0,s0,28 - 4396: de2fd0ef jal ra,1978 - 439a: a004 sb s1,0(s0) - 439c: 4501 li a0,0 - 439e: 8a81a423 sw s0,-1880(gp) # 20000210 - 43a2: df3fb06f j 194 <__riscv_restore_0> - -000043a6 : - 43a6: dcbfb2ef jal t0,170 <__riscv_save_0> - 43aa: 40011537 lui a0,0x40011 - 43ae: 4605 li a2,1 - 43b0: 02000593 li a1,32 - 43b4: c0050513 addi a0,a0,-1024 # 40010c00 <_eusrstack+0x2000bc00> - 43b8: e38fc0ef jal ra,9f0 - 43bc: dd9fb06f j 194 <__riscv_restore_0> - -000043c0 : - 43c0: db1fb2ef jal t0,170 <__riscv_save_0> - 43c4: 40011537 lui a0,0x40011 - 43c8: 4601 li a2,0 - 43ca: 02000593 li a1,32 - 43ce: c0050513 addi a0,a0,-1024 # 40010c00 <_eusrstack+0x2000bc00> - 43d2: e1efc0ef jal ra,9f0 - 43d6: dbffb06f j 194 <__riscv_restore_0> - -000043da : - 43da: d97fb2ef jal t0,170 <__riscv_save_0> - 43de: 40011537 lui a0,0x40011 - 43e2: 4605 li a2,1 - 43e4: 45c1 li a1,16 - 43e6: c0050513 addi a0,a0,-1024 # 40010c00 <_eusrstack+0x2000bc00> - 43ea: e06fc0ef jal ra,9f0 - 43ee: da7fb06f j 194 <__riscv_restore_0> - -000043f2 : - 43f2: d7ffb2ef jal t0,170 <__riscv_save_0> - 43f6: 40011537 lui a0,0x40011 - 43fa: 4601 li a2,0 - 43fc: 45c1 li a1,16 - 43fe: c0050513 addi a0,a0,-1024 # 40010c00 <_eusrstack+0x2000bc00> - 4402: deefc0ef jal ra,9f0 - 4406: d8ffb06f j 194 <__riscv_restore_0> - -0000440a : - 440a: d4dfb2ef jal t0,156 <__riscv_save_4> - 440e: 8a41a703 lw a4,-1884(gp) # 2000020c - 4412: 842a mv s0,a0 - 4414: 8a2e mv s4,a1 - 4416: 89b2 mv s3,a2 - 4418: 8a418493 addi s1,gp,-1884 # 2000020c - 441c: 02a71163 bne a4,a0,443e - 4420: f87ff0ef jal ra,43a6 - 4424: 4901 li s2,0 - 4426: 03394363 blt s2,s3,444c - 442a: 4505 li a0,1 - 442c: a3bfd0ef jal ra,1e66 - 4430: 409c lw a5,0(s1) - 4432: 02879663 bne a5,s0,445e - 4436: f8bff0ef jal ra,43c0 - 443a: d51fb06f j 18a <__riscv_restore_4> - 443e: 8a81a783 lw a5,-1880(gp) # 20000210 - 4442: fea791e3 bne a5,a0,4424 - 4446: f95ff0ef jal ra,43da - 444a: bfe9 j 4424 - 444c: 012a07b3 add a5,s4,s2 - 4450: 00078583 lb a1,0(a5) - 4454: 8522 mv a0,s0 - 4456: 0905 addi s2,s2,1 - 4458: eafff0ef jal ra,4306 - 445c: b7e9 j 4426 - 445e: 8a81a783 lw a5,-1880(gp) # 20000210 - 4462: fc879ce3 bne a5,s0,443a - 4466: f8dff0ef jal ra,43f2 - 446a: bfc1 j 443a - -0000446c : - 446c: 4781 li a5,0 - 446e: c909 beqz a0,4480 - 4470: 2118 lbu a4,0(a0) - 4472: 4781 li a5,0 - 4474: c711 beqz a4,4480 - 4476: 495c lw a5,20(a0) - 4478: 4d08 lw a0,24(a0) - 447a: 8f89 sub a5,a5,a0 - 447c: 00f037b3 snez a5,a5 - 4480: 853e mv a0,a5 - 4482: 8082 ret - -00004484 : - 4484: cedfb2ef jal t0,170 <__riscv_save_0> - 4488: 1141 addi sp,sp,-16 - 448a: 842a mv s0,a0 - 448c: 000107a3 sb zero,15(sp) - 4490: fddff0ef jal ra,446c - 4494: c519 beqz a0,44a2 - 4496: 00f10593 addi a1,sp,15 - 449a: 00c40513 addi a0,s0,12 - 449e: 973fd0ef jal ra,1e10 - 44a2: 00f10503 lb a0,15(sp) - 44a6: 0141 addi sp,sp,16 - 44a8: cedfb06f j 194 <__riscv_restore_0> - -000044ac : - 44ac: cc5fb2ef jal t0,170 <__riscv_save_0> - 44b0: 0531 addi a0,a0,12 - 44b2: 985fd0ef jal ra,1e36 - 44b6: cdffb06f j 194 <__riscv_restore_0> - -000044ba <__adddf3>: - 44ba: 00100837 lui a6,0x100 - 44be: 1101 addi sp,sp,-32 - 44c0: 187d addi a6,a6,-1 - 44c2: 00b87733 and a4,a6,a1 - 44c6: ca26 sw s1,20(sp) - 44c8: 00d87833 and a6,a6,a3 - 44cc: 0145d493 srli s1,a1,0x14 - 44d0: 0146d313 srli t1,a3,0x14 - 44d4: 00371e13 slli t3,a4,0x3 - 44d8: c64e sw s3,12(sp) - 44da: 01d55713 srli a4,a0,0x1d - 44de: 080e slli a6,a6,0x3 - 44e0: 01d65793 srli a5,a2,0x1d - 44e4: 7ff4f493 andi s1,s1,2047 - 44e8: 7ff37313 andi t1,t1,2047 - 44ec: ce06 sw ra,28(sp) - 44ee: cc22 sw s0,24(sp) - 44f0: c84a sw s2,16(sp) - 44f2: 01f5d993 srli s3,a1,0x1f - 44f6: 01f6de93 srli t4,a3,0x1f - 44fa: 01c76733 or a4,a4,t3 - 44fe: 00351f13 slli t5,a0,0x3 - 4502: 0107e833 or a6,a5,a6 - 4506: 00361f93 slli t6,a2,0x3 - 450a: 40648e33 sub t3,s1,t1 - 450e: 19d98063 beq s3,t4,468e <__adddf3+0x1d4> - 4512: 13c05663 blez t3,463e <__adddf3+0x184> - 4516: 1c030463 beqz t1,46de <__adddf3+0x224> - 451a: 008006b7 lui a3,0x800 - 451e: 7ff00793 li a5,2047 - 4522: 00d86833 or a6,a6,a3 - 4526: 36f48f63 beq s1,a5,48a4 <__adddf3+0x3ea> - 452a: 03800793 li a5,56 - 452e: 35c7c063 blt a5,t3,486e <__adddf3+0x3b4> - 4532: 47fd li a5,31 - 4534: 47c7cd63 blt a5,t3,49ae <__adddf3+0x4f4> - 4538: 02000513 li a0,32 - 453c: 41c50533 sub a0,a0,t3 - 4540: 01cfd7b3 srl a5,t6,t3 - 4544: 00a816b3 sll a3,a6,a0 - 4548: 00af9933 sll s2,t6,a0 - 454c: 8edd or a3,a3,a5 - 454e: 01203933 snez s2,s2 - 4552: 01c857b3 srl a5,a6,t3 - 4556: 0126e933 or s2,a3,s2 - 455a: 8f1d sub a4,a4,a5 - 455c: 412f0933 sub s2,t5,s2 - 4560: 012f37b3 sltu a5,t5,s2 - 4564: 40f70633 sub a2,a4,a5 - 4568: 00861793 slli a5,a2,0x8 - 456c: 2407d463 bgez a5,47b4 <__adddf3+0x2fa> - 4570: 00800737 lui a4,0x800 - 4574: 177d addi a4,a4,-1 - 4576: 00e67433 and s0,a2,a4 - 457a: 2c040c63 beqz s0,4852 <__adddf3+0x398> - 457e: 8522 mv a0,s0 - 4580: 63e020ef jal ra,6bbe <__clzsi2> - 4584: ff850713 addi a4,a0,-8 - 4588: 02000793 li a5,32 - 458c: 8f99 sub a5,a5,a4 - 458e: 00f957b3 srl a5,s2,a5 - 4592: 00e41633 sll a2,s0,a4 - 4596: 8fd1 or a5,a5,a2 - 4598: 00e91933 sll s2,s2,a4 - 459c: 2a974163 blt a4,s1,483e <__adddf3+0x384> - 45a0: 40970533 sub a0,a4,s1 - 45a4: 00150613 addi a2,a0,1 - 45a8: 477d li a4,31 - 45aa: 38c74d63 blt a4,a2,4944 <__adddf3+0x48a> - 45ae: 02000713 li a4,32 - 45b2: 8f11 sub a4,a4,a2 - 45b4: 00c956b3 srl a3,s2,a2 - 45b8: 00e91933 sll s2,s2,a4 - 45bc: 00e79733 sll a4,a5,a4 - 45c0: 8f55 or a4,a4,a3 - 45c2: 01203933 snez s2,s2 - 45c6: 01276933 or s2,a4,s2 - 45ca: 00c7d633 srl a2,a5,a2 - 45ce: 4481 li s1,0 - 45d0: 00797793 andi a5,s2,7 - 45d4: cf81 beqz a5,45ec <__adddf3+0x132> - 45d6: 00f97713 andi a4,s2,15 - 45da: 4791 li a5,4 - 45dc: 00f70863 beq a4,a5,45ec <__adddf3+0x132> - 45e0: 00490713 addi a4,s2,4 - 45e4: 01273933 sltu s2,a4,s2 - 45e8: 964a add a2,a2,s2 - 45ea: 893a mv s2,a4 - 45ec: 00861793 slli a5,a2,0x8 - 45f0: 1c07d663 bgez a5,47bc <__adddf3+0x302> - 45f4: 00148513 addi a0,s1,1 - 45f8: 7ff00793 li a5,2047 - 45fc: 85ce mv a1,s3 - 45fe: 20f50463 beq a0,a5,4806 <__adddf3+0x34c> - 4602: ff8007b7 lui a5,0xff800 - 4606: 17fd addi a5,a5,-1 - 4608: 8ff1 and a5,a5,a2 - 460a: 01d79893 slli a7,a5,0x1d - 460e: 00395913 srli s2,s2,0x3 - 4612: 07a6 slli a5,a5,0x9 - 4614: 0128e8b3 or a7,a7,s2 - 4618: 83b1 srli a5,a5,0xc - 461a: 7ff57513 andi a0,a0,2047 - 461e: 00c79693 slli a3,a5,0xc - 4622: 0552 slli a0,a0,0x14 - 4624: 40f2 lw ra,28(sp) - 4626: 4462 lw s0,24(sp) - 4628: 82b1 srli a3,a3,0xc - 462a: 05fe slli a1,a1,0x1f - 462c: 8ec9 or a3,a3,a0 - 462e: 8ecd or a3,a3,a1 - 4630: 44d2 lw s1,20(sp) - 4632: 4942 lw s2,16(sp) - 4634: 49b2 lw s3,12(sp) - 4636: 8546 mv a0,a7 - 4638: 85b6 mv a1,a3 - 463a: 6105 addi sp,sp,32 - 463c: 8082 ret - 463e: 0a0e1e63 bnez t3,46fa <__adddf3+0x240> - 4642: 00148313 addi t1,s1,1 - 4646: 7fe37313 andi t1,t1,2046 - 464a: 22031763 bnez t1,4878 <__adddf3+0x3be> - 464e: 01e767b3 or a5,a4,t5 - 4652: 01f868b3 or a7,a6,t6 - 4656: 1a049d63 bnez s1,4810 <__adddf3+0x356> - 465a: 40078763 beqz a5,4a68 <__adddf3+0x5ae> - 465e: 44088663 beqz a7,4aaa <__adddf3+0x5f0> - 4662: 41ff0933 sub s2,t5,t6 - 4666: 410707b3 sub a5,a4,a6 - 466a: 012f3633 sltu a2,t5,s2 - 466e: 40c78633 sub a2,a5,a2 - 4672: 00861793 slli a5,a2,0x8 - 4676: 4c07d663 bgez a5,4b42 <__adddf3+0x688> - 467a: 41ef8933 sub s2,t6,t5 - 467e: 40e807b3 sub a5,a6,a4 - 4682: 012fb633 sltu a2,t6,s2 - 4686: 40c78633 sub a2,a5,a2 - 468a: 89f6 mv s3,t4 - 468c: b791 j 45d0 <__adddf3+0x116> - 468e: 0fc05063 blez t3,476e <__adddf3+0x2b4> - 4692: 0c030063 beqz t1,4752 <__adddf3+0x298> - 4696: 008006b7 lui a3,0x800 - 469a: 7ff00793 li a5,2047 - 469e: 00d86833 or a6,a6,a3 - 46a2: 3af48a63 beq s1,a5,4a56 <__adddf3+0x59c> - 46a6: 03800793 li a5,56 - 46aa: 13c7cb63 blt a5,t3,47e0 <__adddf3+0x326> - 46ae: 47fd li a5,31 - 46b0: 35c7df63 bge a5,t3,4a0e <__adddf3+0x554> - 46b4: fe0e0913 addi s2,t3,-32 - 46b8: 02000793 li a5,32 - 46bc: 012856b3 srl a3,a6,s2 - 46c0: 00fe0a63 beq t3,a5,46d4 <__adddf3+0x21a> - 46c4: 04000913 li s2,64 - 46c8: 41c90933 sub s2,s2,t3 - 46cc: 01281933 sll s2,a6,s2 - 46d0: 012fefb3 or t6,t6,s2 - 46d4: 01f03933 snez s2,t6 - 46d8: 00d96933 or s2,s2,a3 - 46dc: a231 j 47e8 <__adddf3+0x32e> - 46de: 01f867b3 or a5,a6,t6 - 46e2: 1c078a63 beqz a5,48b6 <__adddf3+0x3fc> - 46e6: fffe0793 addi a5,t3,-1 - 46ea: 38078c63 beqz a5,4a82 <__adddf3+0x5c8> - 46ee: 7ff00693 li a3,2047 - 46f2: 1ade0963 beq t3,a3,48a4 <__adddf3+0x3ea> - 46f6: 8e3e mv t3,a5 - 46f8: bd0d j 452a <__adddf3+0x70> - 46fa: 409305b3 sub a1,t1,s1 - 46fe: 22049163 bnez s1,4920 <__adddf3+0x466> - 4702: 01e767b3 or a5,a4,t5 - 4706: 32078763 beqz a5,4a34 <__adddf3+0x57a> - 470a: fff58793 addi a5,a1,-1 - 470e: 44078163 beqz a5,4b50 <__adddf3+0x696> - 4712: 7ff00693 li a3,2047 - 4716: 20d58c63 beq a1,a3,492e <__adddf3+0x474> - 471a: 85be mv a1,a5 - 471c: 03800793 li a5,56 - 4720: 2ab7cc63 blt a5,a1,49d8 <__adddf3+0x51e> - 4724: 47fd li a5,31 - 4726: 3cb7cf63 blt a5,a1,4b04 <__adddf3+0x64a> - 472a: 02000793 li a5,32 - 472e: 8f8d sub a5,a5,a1 - 4730: 00f71933 sll s2,a4,a5 - 4734: 00bf56b3 srl a3,t5,a1 - 4738: 00ff17b3 sll a5,t5,a5 - 473c: 00d96933 or s2,s2,a3 - 4740: 00f037b3 snez a5,a5 - 4744: 00b75733 srl a4,a4,a1 - 4748: 00f96933 or s2,s2,a5 - 474c: 40e80833 sub a6,a6,a4 - 4750: ac41 j 49e0 <__adddf3+0x526> - 4752: 01f867b3 or a5,a6,t6 - 4756: 34078063 beqz a5,4a96 <__adddf3+0x5dc> - 475a: fffe0793 addi a5,t3,-1 - 475e: 20078a63 beqz a5,4972 <__adddf3+0x4b8> - 4762: 7ff00693 li a3,2047 - 4766: 2ede0863 beq t3,a3,4a56 <__adddf3+0x59c> - 476a: 8e3e mv t3,a5 - 476c: bf2d j 46a6 <__adddf3+0x1ec> - 476e: 140e1e63 bnez t3,48ca <__adddf3+0x410> - 4772: 00148693 addi a3,s1,1 - 4776: 7fe6f793 andi a5,a3,2046 - 477a: 34079163 bnez a5,4abc <__adddf3+0x602> - 477e: 01e767b3 or a5,a4,t5 - 4782: 2c049563 bnez s1,4a4c <__adddf3+0x592> - 4786: 3e078063 beqz a5,4b66 <__adddf3+0x6ac> - 478a: 01f867b3 or a5,a6,t6 - 478e: 30078e63 beqz a5,4aaa <__adddf3+0x5f0> - 4792: 01ff0933 add s2,t5,t6 - 4796: 010707b3 add a5,a4,a6 - 479a: 01e93f33 sltu t5,s2,t5 - 479e: 01e78633 add a2,a5,t5 - 47a2: 00861793 slli a5,a2,0x8 - 47a6: 0007d763 bgez a5,47b4 <__adddf3+0x2fa> - 47aa: ff8007b7 lui a5,0xff800 - 47ae: 17fd addi a5,a5,-1 - 47b0: 8e7d and a2,a2,a5 - 47b2: 4485 li s1,1 - 47b4: 00797793 andi a5,s2,7 - 47b8: e0079fe3 bnez a5,45d6 <__adddf3+0x11c> - 47bc: 01d61793 slli a5,a2,0x1d - 47c0: 00395893 srli a7,s2,0x3 - 47c4: 00f8e8b3 or a7,a7,a5 - 47c8: 00365793 srli a5,a2,0x3 - 47cc: 7ff00713 li a4,2047 - 47d0: 04e48d63 beq s1,a4,482a <__adddf3+0x370> - 47d4: 07b2 slli a5,a5,0xc - 47d6: 83b1 srli a5,a5,0xc - 47d8: 7ff4f513 andi a0,s1,2047 - 47dc: 85ce mv a1,s3 - 47de: b581 j 461e <__adddf3+0x164> - 47e0: 01f86933 or s2,a6,t6 - 47e4: 01203933 snez s2,s2 - 47e8: 997a add s2,s2,t5 - 47ea: 01e937b3 sltu a5,s2,t5 - 47ee: 00e78633 add a2,a5,a4 - 47f2: 00861793 slli a5,a2,0x8 - 47f6: fa07dfe3 bgez a5,47b4 <__adddf3+0x2fa> - 47fa: 0485 addi s1,s1,1 - 47fc: 7ff00793 li a5,2047 - 4800: 18f49663 bne s1,a5,498c <__adddf3+0x4d2> - 4804: 85ce mv a1,s3 - 4806: 7ff00513 li a0,2047 - 480a: 4781 li a5,0 - 480c: 4881 li a7,0 - 480e: bd01 j 461e <__adddf3+0x164> - 4810: ebc1 bnez a5,48a0 <__adddf3+0x3e6> - 4812: 3a088463 beqz a7,4bba <__adddf3+0x700> - 4816: 00361693 slli a3,a2,0x3 - 481a: 01d81793 slli a5,a6,0x1d - 481e: 828d srli a3,a3,0x3 - 4820: 00d7e8b3 or a7,a5,a3 - 4824: 89f6 mv s3,t4 - 4826: 00385793 srli a5,a6,0x3 - 482a: 00f8e7b3 or a5,a7,a5 - 482e: dbf9 beqz a5,4804 <__adddf3+0x34a> - 4830: 4581 li a1,0 - 4832: 7ff00513 li a0,2047 - 4836: 000807b7 lui a5,0x80 - 483a: 4881 li a7,0 - 483c: b3cd j 461e <__adddf3+0x164> - 483e: ff800637 lui a2,0xff800 - 4842: 167d addi a2,a2,-1 - 4844: 8e7d and a2,a2,a5 - 4846: 00797793 andi a5,s2,7 - 484a: 8c99 sub s1,s1,a4 - 484c: d80795e3 bnez a5,45d6 <__adddf3+0x11c> - 4850: b7b5 j 47bc <__adddf3+0x302> - 4852: 854a mv a0,s2 - 4854: 36a020ef jal ra,6bbe <__clzsi2> - 4858: 01850713 addi a4,a0,24 - 485c: 47fd li a5,31 - 485e: d2e7d5e3 bge a5,a4,4588 <__adddf3+0xce> - 4862: ff850613 addi a2,a0,-8 - 4866: 00c917b3 sll a5,s2,a2 - 486a: 4901 li s2,0 - 486c: bb05 j 459c <__adddf3+0xe2> - 486e: 01f86933 or s2,a6,t6 - 4872: 01203933 snez s2,s2 - 4876: b1dd j 455c <__adddf3+0xa2> - 4878: 41ff0933 sub s2,t5,t6 - 487c: 41070633 sub a2,a4,a6 - 4880: 012f3433 sltu s0,t5,s2 - 4884: 40860433 sub s0,a2,s0 - 4888: 00841793 slli a5,s0,0x8 - 488c: 2407cd63 bltz a5,4ae6 <__adddf3+0x62c> - 4890: 008968b3 or a7,s2,s0 - 4894: ce0893e3 bnez a7,457a <__adddf3+0xc0> - 4898: 4781 li a5,0 - 489a: 4981 li s3,0 - 489c: 4481 li s1,0 - 489e: bf1d j 47d4 <__adddf3+0x31a> - 48a0: f80898e3 bnez a7,4830 <__adddf3+0x376> - 48a4: 050e slli a0,a0,0x3 - 48a6: 01d71793 slli a5,a4,0x1d - 48aa: 810d srli a0,a0,0x3 - 48ac: 00a7e8b3 or a7,a5,a0 - 48b0: 00375793 srli a5,a4,0x3 - 48b4: bf9d j 482a <__adddf3+0x370> - 48b6: 050e slli a0,a0,0x3 - 48b8: 01d71793 slli a5,a4,0x1d - 48bc: 810d srli a0,a0,0x3 - 48be: 00a7e8b3 or a7,a5,a0 - 48c2: 84f2 mv s1,t3 - 48c4: 00375793 srli a5,a4,0x3 - 48c8: b711 j 47cc <__adddf3+0x312> - 48ca: 40930533 sub a0,t1,s1 - 48ce: 12048263 beqz s1,49f2 <__adddf3+0x538> - 48d2: 008006b7 lui a3,0x800 - 48d6: 7ff00793 li a5,2047 - 48da: 8f55 or a4,a4,a3 - 48dc: 2ef30d63 beq t1,a5,4bd6 <__adddf3+0x71c> - 48e0: 03800793 li a5,56 - 48e4: 20a7cb63 blt a5,a0,4afa <__adddf3+0x640> - 48e8: 47fd li a5,31 - 48ea: 2aa7c363 blt a5,a0,4b90 <__adddf3+0x6d6> - 48ee: 02000793 li a5,32 - 48f2: 8f89 sub a5,a5,a0 - 48f4: 00f71933 sll s2,a4,a5 - 48f8: 00af56b3 srl a3,t5,a0 - 48fc: 00ff17b3 sll a5,t5,a5 - 4900: 00d96933 or s2,s2,a3 - 4904: 00f037b3 snez a5,a5 - 4908: 00a75733 srl a4,a4,a0 - 490c: 00f96933 or s2,s2,a5 - 4910: 983a add a6,a6,a4 - 4912: 997e add s2,s2,t6 - 4914: 01f937b3 sltu a5,s2,t6 - 4918: 01078633 add a2,a5,a6 - 491c: 849a mv s1,t1 - 491e: bdd1 j 47f2 <__adddf3+0x338> - 4920: 008006b7 lui a3,0x800 - 4924: 7ff00793 li a5,2047 - 4928: 8f55 or a4,a4,a3 - 492a: def319e3 bne t1,a5,471c <__adddf3+0x262> - 492e: 00361793 slli a5,a2,0x3 - 4932: 838d srli a5,a5,0x3 - 4934: 01d81893 slli a7,a6,0x1d - 4938: 0117e8b3 or a7,a5,a7 - 493c: 89f6 mv s3,t4 - 493e: 00385793 srli a5,a6,0x3 - 4942: b5e5 j 482a <__adddf3+0x370> - 4944: fe150713 addi a4,a0,-31 - 4948: 02000693 li a3,32 - 494c: 00e7d733 srl a4,a5,a4 - 4950: 00d60a63 beq a2,a3,4964 <__adddf3+0x4aa> - 4954: 04000693 li a3,64 - 4958: 40c68633 sub a2,a3,a2 - 495c: 00c79633 sll a2,a5,a2 - 4960: 00c96933 or s2,s2,a2 - 4964: 01203933 snez s2,s2 - 4968: 00e96933 or s2,s2,a4 - 496c: 4601 li a2,0 - 496e: 4481 li s1,0 - 4970: b591 j 47b4 <__adddf3+0x2fa> - 4972: 01ff0933 add s2,t5,t6 - 4976: 010707b3 add a5,a4,a6 - 497a: 01e93633 sltu a2,s2,t5 - 497e: 963e add a2,a2,a5 - 4980: 00861793 slli a5,a2,0x8 - 4984: 4485 li s1,1 - 4986: e207d7e3 bgez a5,47b4 <__adddf3+0x2fa> - 498a: 4489 li s1,2 - 498c: ff8007b7 lui a5,0xff800 - 4990: 17fd addi a5,a5,-1 - 4992: 8ff1 and a5,a5,a2 - 4994: 00195713 srli a4,s2,0x1 - 4998: 00197913 andi s2,s2,1 - 499c: 01276933 or s2,a4,s2 - 49a0: 01f79893 slli a7,a5,0x1f - 49a4: 0128e933 or s2,a7,s2 - 49a8: 0017d613 srli a2,a5,0x1 - 49ac: b115 j 45d0 <__adddf3+0x116> - 49ae: fe0e0913 addi s2,t3,-32 - 49b2: 02000793 li a5,32 - 49b6: 012856b3 srl a3,a6,s2 - 49ba: 00fe0a63 beq t3,a5,49ce <__adddf3+0x514> - 49be: 04000913 li s2,64 - 49c2: 41c90933 sub s2,s2,t3 - 49c6: 01281933 sll s2,a6,s2 - 49ca: 012fefb3 or t6,t6,s2 - 49ce: 01f03933 snez s2,t6 - 49d2: 00d96933 or s2,s2,a3 - 49d6: b659 j 455c <__adddf3+0xa2> - 49d8: 01e76933 or s2,a4,t5 - 49dc: 01203933 snez s2,s2 - 49e0: 412f8933 sub s2,t6,s2 - 49e4: 012fb7b3 sltu a5,t6,s2 - 49e8: 40f80633 sub a2,a6,a5 - 49ec: 849a mv s1,t1 - 49ee: 89f6 mv s3,t4 - 49f0: bea5 j 4568 <__adddf3+0xae> - 49f2: 01e767b3 or a5,a4,t5 - 49f6: 18078263 beqz a5,4b7a <__adddf3+0x6c0> - 49fa: fff50793 addi a5,a0,-1 - 49fe: 1c078463 beqz a5,4bc6 <__adddf3+0x70c> - 4a02: 7ff00693 li a3,2047 - 4a06: 12d50463 beq a0,a3,4b2e <__adddf3+0x674> - 4a0a: 853e mv a0,a5 - 4a0c: bdd1 j 48e0 <__adddf3+0x426> - 4a0e: 02000793 li a5,32 - 4a12: 41c787b3 sub a5,a5,t3 - 4a16: 00f816b3 sll a3,a6,a5 - 4a1a: 00ff9933 sll s2,t6,a5 - 4a1e: 01cfd633 srl a2,t6,t3 - 4a22: 8ed1 or a3,a3,a2 - 4a24: 01203933 snez s2,s2 - 4a28: 01c857b3 srl a5,a6,t3 - 4a2c: 0126e933 or s2,a3,s2 - 4a30: 973e add a4,a4,a5 - 4a32: bb5d j 47e8 <__adddf3+0x32e> - 4a34: 00361793 slli a5,a2,0x3 - 4a38: 838d srli a5,a5,0x3 - 4a3a: 01d81893 slli a7,a6,0x1d - 4a3e: 0117e8b3 or a7,a5,a7 - 4a42: 84ae mv s1,a1 - 4a44: 00385793 srli a5,a6,0x3 - 4a48: 89f6 mv s3,t4 - 4a4a: b349 j 47cc <__adddf3+0x312> - 4a4c: c3ed beqz a5,4b2e <__adddf3+0x674> - 4a4e: 01f86933 or s2,a6,t6 - 4a52: dc091fe3 bnez s2,4830 <__adddf3+0x376> - 4a56: 050e slli a0,a0,0x3 - 4a58: 01d71793 slli a5,a4,0x1d - 4a5c: 810d srli a0,a0,0x3 - 4a5e: 00f568b3 or a7,a0,a5 - 4a62: 00375793 srli a5,a4,0x3 - 4a66: b3d1 j 482a <__adddf3+0x370> - 4a68: 0e088163 beqz a7,4b4a <__adddf3+0x690> - 4a6c: 00361693 slli a3,a2,0x3 - 4a70: 01d81793 slli a5,a6,0x1d - 4a74: 828d srli a3,a3,0x3 - 4a76: 00d7e8b3 or a7,a5,a3 - 4a7a: 89f6 mv s3,t4 - 4a7c: 00385793 srli a5,a6,0x3 - 4a80: bb91 j 47d4 <__adddf3+0x31a> - 4a82: 41ff0933 sub s2,t5,t6 - 4a86: 410707b3 sub a5,a4,a6 - 4a8a: 012f3f33 sltu t5,t5,s2 - 4a8e: 41e78633 sub a2,a5,t5 - 4a92: 4485 li s1,1 - 4a94: bcd1 j 4568 <__adddf3+0xae> - 4a96: 050e slli a0,a0,0x3 - 4a98: 01d71793 slli a5,a4,0x1d - 4a9c: 810d srli a0,a0,0x3 - 4a9e: 00f568b3 or a7,a0,a5 - 4aa2: 84f2 mv s1,t3 - 4aa4: 00375793 srli a5,a4,0x3 - 4aa8: b315 j 47cc <__adddf3+0x312> - 4aaa: 050e slli a0,a0,0x3 - 4aac: 01d71793 slli a5,a4,0x1d - 4ab0: 810d srli a0,a0,0x3 - 4ab2: 00a7e8b3 or a7,a5,a0 - 4ab6: 00375793 srli a5,a4,0x3 - 4aba: bb29 j 47d4 <__adddf3+0x31a> - 4abc: 7ff00793 li a5,2047 - 4ac0: d4f682e3 beq a3,a5,4804 <__adddf3+0x34a> - 4ac4: 01ff0933 add s2,t5,t6 - 4ac8: 01e93633 sltu a2,s2,t5 - 4acc: 010707b3 add a5,a4,a6 - 4ad0: 97b2 add a5,a5,a2 - 4ad2: 01f79893 slli a7,a5,0x1f - 4ad6: 00195913 srli s2,s2,0x1 - 4ada: 0128e933 or s2,a7,s2 - 4ade: 0017d613 srli a2,a5,0x1 - 4ae2: 84b6 mv s1,a3 - 4ae4: b9c1 j 47b4 <__adddf3+0x2fa> - 4ae6: 41ef8933 sub s2,t6,t5 - 4aea: 40e80733 sub a4,a6,a4 - 4aee: 012fb633 sltu a2,t6,s2 - 4af2: 40c70433 sub s0,a4,a2 - 4af6: 89f6 mv s3,t4 - 4af8: b449 j 457a <__adddf3+0xc0> - 4afa: 01e76933 or s2,a4,t5 - 4afe: 01203933 snez s2,s2 - 4b02: bd01 j 4912 <__adddf3+0x458> - 4b04: fe058793 addi a5,a1,-32 - 4b08: 02000693 li a3,32 - 4b0c: 00f757b3 srl a5,a4,a5 - 4b10: 00d58a63 beq a1,a3,4b24 <__adddf3+0x66a> - 4b14: 04000693 li a3,64 - 4b18: 40b685b3 sub a1,a3,a1 - 4b1c: 00b71733 sll a4,a4,a1 - 4b20: 00ef6f33 or t5,t5,a4 - 4b24: 01e03933 snez s2,t5 - 4b28: 00f96933 or s2,s2,a5 - 4b2c: bd55 j 49e0 <__adddf3+0x526> - 4b2e: 00361793 slli a5,a2,0x3 - 4b32: 838d srli a5,a5,0x3 - 4b34: 01d81893 slli a7,a6,0x1d - 4b38: 0117e8b3 or a7,a5,a7 - 4b3c: 00385793 srli a5,a6,0x3 - 4b40: b1ed j 482a <__adddf3+0x370> - 4b42: 00c968b3 or a7,s2,a2 - 4b46: c60897e3 bnez a7,47b4 <__adddf3+0x2fa> - 4b4a: 4781 li a5,0 - 4b4c: 4981 li s3,0 - 4b4e: b159 j 47d4 <__adddf3+0x31a> - 4b50: 41ef8933 sub s2,t6,t5 - 4b54: 40e807b3 sub a5,a6,a4 - 4b58: 012fb633 sltu a2,t6,s2 - 4b5c: 40c78633 sub a2,a5,a2 - 4b60: 89f6 mv s3,t4 - 4b62: 4485 li s1,1 - 4b64: b411 j 4568 <__adddf3+0xae> - 4b66: 00361693 slli a3,a2,0x3 - 4b6a: 01d81793 slli a5,a6,0x1d - 4b6e: 828d srli a3,a3,0x3 - 4b70: 00d7e8b3 or a7,a5,a3 - 4b74: 00385793 srli a5,a6,0x3 - 4b78: b9b1 j 47d4 <__adddf3+0x31a> - 4b7a: 00361693 slli a3,a2,0x3 - 4b7e: 01d81793 slli a5,a6,0x1d - 4b82: 828d srli a3,a3,0x3 - 4b84: 00d7e8b3 or a7,a5,a3 - 4b88: 84aa mv s1,a0 - 4b8a: 00385793 srli a5,a6,0x3 - 4b8e: b93d j 47cc <__adddf3+0x312> - 4b90: fe050793 addi a5,a0,-32 - 4b94: 02000693 li a3,32 - 4b98: 00f757b3 srl a5,a4,a5 - 4b9c: 00d50a63 beq a0,a3,4bb0 <__adddf3+0x6f6> - 4ba0: 04000693 li a3,64 - 4ba4: 40a68533 sub a0,a3,a0 - 4ba8: 00a71733 sll a4,a4,a0 - 4bac: 00ef6f33 or t5,t5,a4 - 4bb0: 01e03933 snez s2,t5 - 4bb4: 00f96933 or s2,s2,a5 - 4bb8: bba9 j 4912 <__adddf3+0x458> - 4bba: 4581 li a1,0 - 4bbc: 7ff00513 li a0,2047 - 4bc0: 000807b7 lui a5,0x80 - 4bc4: bca9 j 461e <__adddf3+0x164> - 4bc6: 01ff0933 add s2,t5,t6 - 4bca: 010707b3 add a5,a4,a6 - 4bce: 01f93633 sltu a2,s2,t6 - 4bd2: 963e add a2,a2,a5 - 4bd4: b375 j 4980 <__adddf3+0x4c6> - 4bd6: 00361693 slli a3,a2,0x3 - 4bda: 01d81793 slli a5,a6,0x1d - 4bde: 828d srli a3,a3,0x3 - 4be0: 00d7e8b3 or a7,a5,a3 - 4be4: 00385793 srli a5,a6,0x3 - 4be8: b189 j 482a <__adddf3+0x370> - -00004bea <__gedf2>: - 4bea: 0145d713 srli a4,a1,0x14 - 4bee: 001007b7 lui a5,0x100 - 4bf2: 17fd addi a5,a5,-1 - 4bf4: 0146d813 srli a6,a3,0x14 - 4bf8: 7ff77713 andi a4,a4,2047 - 4bfc: 7ff00893 li a7,2047 - 4c00: 00b7f333 and t1,a5,a1 - 4c04: 8e2a mv t3,a0 - 4c06: 8ff5 and a5,a5,a3 - 4c08: 81fd srli a1,a1,0x1f - 4c0a: 8eb2 mv t4,a2 - 4c0c: 7ff87813 andi a6,a6,2047 - 4c10: 82fd srli a3,a3,0x1f - 4c12: 03170863 beq a4,a7,4c42 <__gedf2+0x58> - 4c16: 03180063 beq a6,a7,4c36 <__gedf2+0x4c> - 4c1a: eb0d bnez a4,4c4c <__gedf2+0x62> - 4c1c: 00a368b3 or a7,t1,a0 - 4c20: 00081463 bnez a6,4c28 <__gedf2+0x3e> - 4c24: 8e5d or a2,a2,a5 - 4c26: ca29 beqz a2,4c78 <__gedf2+0x8e> - 4c28: 04088563 beqz a7,4c72 <__gedf2+0x88> - 4c2c: 02d58863 beq a1,a3,4c5c <__gedf2+0x72> - 4c30: 4505 li a0,1 - 4c32: ed95 bnez a1,4c6e <__gedf2+0x84> - 4c34: 8082 ret - 4c36: 00c7e8b3 or a7,a5,a2 - 4c3a: fe0880e3 beqz a7,4c1a <__gedf2+0x30> - 4c3e: 5579 li a0,-2 - 4c40: 8082 ret - 4c42: 00a36533 or a0,t1,a0 - 4c46: fd65 bnez a0,4c3e <__gedf2+0x54> - 4c48: 02e80c63 beq a6,a4,4c80 <__gedf2+0x96> - 4c4c: 00081463 bnez a6,4c54 <__gedf2+0x6a> - 4c50: 8e5d or a2,a2,a5 - 4c52: de79 beqz a2,4c30 <__gedf2+0x46> - 4c54: fcd59ee3 bne a1,a3,4c30 <__gedf2+0x46> - 4c58: fce84ce3 blt a6,a4,4c30 <__gedf2+0x46> - 4c5c: 01074863 blt a4,a6,4c6c <__gedf2+0x82> - 4c60: fc67e8e3 bltu a5,t1,4c30 <__gedf2+0x46> - 4c64: 02f30363 beq t1,a5,4c8a <__gedf2+0xa0> - 4c68: 00f37f63 bgeu t1,a5,4c86 <__gedf2+0x9c> - 4c6c: e581 bnez a1,4c74 <__gedf2+0x8a> - 4c6e: 557d li a0,-1 - 4c70: 8082 ret - 4c72: def5 beqz a3,4c6e <__gedf2+0x84> - 4c74: 4505 li a0,1 - 4c76: 8082 ret - 4c78: 4501 li a0,0 - 4c7a: fa089be3 bnez a7,4c30 <__gedf2+0x46> - 4c7e: 8082 ret - 4c80: 8e5d or a2,a2,a5 - 4c82: da69 beqz a2,4c54 <__gedf2+0x6a> - 4c84: bf6d j 4c3e <__gedf2+0x54> - 4c86: 4501 li a0,0 - 4c88: 8082 ret - 4c8a: fbcee3e3 bltu t4,t3,4c30 <__gedf2+0x46> - 4c8e: 4501 li a0,0 - 4c90: fbde72e3 bgeu t3,t4,4c34 <__gedf2+0x4a> - 4c94: f1e5 bnez a1,4c74 <__gedf2+0x8a> - 4c96: bfe1 j 4c6e <__gedf2+0x84> - -00004c98 <__ledf2>: - 4c98: 0145d713 srli a4,a1,0x14 - 4c9c: 001007b7 lui a5,0x100 - 4ca0: 17fd addi a5,a5,-1 - 4ca2: 0146d813 srli a6,a3,0x14 - 4ca6: 7ff77713 andi a4,a4,2047 - 4caa: 7ff00893 li a7,2047 - 4cae: 00b7fe33 and t3,a5,a1 - 4cb2: 8eaa mv t4,a0 - 4cb4: 8ff5 and a5,a5,a3 - 4cb6: 81fd srli a1,a1,0x1f - 4cb8: 8f32 mv t5,a2 - 4cba: 7ff87813 andi a6,a6,2047 - 4cbe: 82fd srli a3,a3,0x1f - 4cc0: 03170e63 beq a4,a7,4cfc <__ledf2+0x64> - 4cc4: 01180d63 beq a6,a7,4cde <__ledf2+0x46> - 4cc8: e329 bnez a4,4d0a <__ledf2+0x72> - 4cca: 00ae68b3 or a7,t3,a0 - 4cce: 00081f63 bnez a6,4cec <__ledf2+0x54> - 4cd2: 8e5d or a2,a2,a5 - 4cd4: ee01 bnez a2,4cec <__ledf2+0x54> - 4cd6: 4301 li t1,0 - 4cd8: 04088c63 beqz a7,4d30 <__ledf2+0x98> - 4cdc: a821 j 4cf4 <__ledf2+0x5c> - 4cde: 00c7e8b3 or a7,a5,a2 - 4ce2: 4309 li t1,2 - 4ce4: 04089663 bnez a7,4d30 <__ledf2+0x98> - 4ce8: d36d beqz a4,4cca <__ledf2+0x32> - 4cea: a005 j 4d0a <__ledf2+0x72> - 4cec: 04088463 beqz a7,4d34 <__ledf2+0x9c> - 4cf0: 02d58563 beq a1,a3,4d1a <__ledf2+0x82> - 4cf4: 4305 li t1,1 - 4cf6: cd8d beqz a1,4d30 <__ledf2+0x98> - 4cf8: 537d li t1,-1 - 4cfa: a81d j 4d30 <__ledf2+0x98> - 4cfc: 00ae68b3 or a7,t3,a0 - 4d00: 4309 li t1,2 - 4d02: 02089763 bnez a7,4d30 <__ledf2+0x98> - 4d06: 02e80a63 beq a6,a4,4d3a <__ledf2+0xa2> - 4d0a: 00081463 bnez a6,4d12 <__ledf2+0x7a> - 4d0e: 8e5d or a2,a2,a5 - 4d10: d275 beqz a2,4cf4 <__ledf2+0x5c> - 4d12: fed591e3 bne a1,a3,4cf4 <__ledf2+0x5c> - 4d16: fce84fe3 blt a6,a4,4cf4 <__ledf2+0x5c> - 4d1a: 01074963 blt a4,a6,4d2c <__ledf2+0x94> - 4d1e: fdc7ebe3 bltu a5,t3,4cf4 <__ledf2+0x5c> - 4d22: 00fe0f63 beq t3,a5,4d40 <__ledf2+0xa8> - 4d26: 4301 li t1,0 - 4d28: 00fe7463 bgeu t3,a5,4d30 <__ledf2+0x98> - 4d2c: d5f1 beqz a1,4cf8 <__ledf2+0x60> - 4d2e: 4305 li t1,1 - 4d30: 851a mv a0,t1 - 4d32: 8082 ret - 4d34: feed bnez a3,4d2e <__ledf2+0x96> - 4d36: 537d li t1,-1 - 4d38: bfe5 j 4d30 <__ledf2+0x98> - 4d3a: 8e5d or a2,a2,a5 - 4d3c: da79 beqz a2,4d12 <__ledf2+0x7a> - 4d3e: bfcd j 4d30 <__ledf2+0x98> - 4d40: fbdf6ae3 bltu t5,t4,4cf4 <__ledf2+0x5c> - 4d44: 4301 li t1,0 - 4d46: ffeef5e3 bgeu t4,t5,4d30 <__ledf2+0x98> - 4d4a: f1f5 bnez a1,4d2e <__ledf2+0x96> - 4d4c: b775 j 4cf8 <__ledf2+0x60> - -00004d4e <__muldf3>: - 4d4e: 7139 addi sp,sp,-64 - 4d50: d84a sw s2,48(sp) - 4d52: 0145d913 srli s2,a1,0x14 - 4d56: d64e sw s3,44(sp) - 4d58: d452 sw s4,40(sp) - 4d5a: d256 sw s5,36(sp) - 4d5c: 00c59993 slli s3,a1,0xc - 4d60: de06 sw ra,60(sp) - 4d62: dc22 sw s0,56(sp) - 4d64: da26 sw s1,52(sp) - 4d66: d05a sw s6,32(sp) - 4d68: ce5e sw s7,28(sp) - 4d6a: 7ff97913 andi s2,s2,2047 - 4d6e: 8a2a mv s4,a0 - 4d70: 00c9d993 srli s3,s3,0xc - 4d74: 01f5da93 srli s5,a1,0x1f - 4d78: 0e090d63 beqz s2,4e72 <__muldf3+0x124> - 4d7c: 7ff00793 li a5,2047 - 4d80: 18f90663 beq s2,a5,4f0c <__muldf3+0x1be> - 4d84: 01d55413 srli s0,a0,0x1d - 4d88: 098e slli s3,s3,0x3 - 4d8a: 013469b3 or s3,s0,s3 - 4d8e: 00800437 lui s0,0x800 - 4d92: 0089e433 or s0,s3,s0 - 4d96: 00351493 slli s1,a0,0x3 - 4d9a: c0190913 addi s2,s2,-1023 - 4d9e: 4981 li s3,0 - 4da0: 4b81 li s7,0 - 4da2: 0146d713 srli a4,a3,0x14 - 4da6: 00c69a13 slli s4,a3,0xc - 4daa: 7ff77713 andi a4,a4,2047 - 4dae: 85b2 mv a1,a2 - 4db0: 00ca5a13 srli s4,s4,0xc - 4db4: 01f6db13 srli s6,a3,0x1f - 4db8: 10070b63 beqz a4,4ece <__muldf3+0x180> - 4dbc: 7ff00793 li a5,2047 - 4dc0: 04f70363 beq a4,a5,4e06 <__muldf3+0xb8> - 4dc4: 01d65793 srli a5,a2,0x1d - 4dc8: 0a0e slli s4,s4,0x3 - 4dca: 0147ea33 or s4,a5,s4 - 4dce: c0170713 addi a4,a4,-1023 # 7ffc01 <_data_lma+0x7f6d41> - 4dd2: 008007b7 lui a5,0x800 - 4dd6: 00fa67b3 or a5,s4,a5 - 4dda: 00361593 slli a1,a2,0x3 - 4dde: 993a add s2,s2,a4 - 4de0: 4881 li a7,0 - 4de2: 016ac733 xor a4,s5,s6 - 4de6: 46bd li a3,15 - 4de8: 853a mv a0,a4 - 4dea: 00190813 addi a6,s2,1 - 4dee: 1736e863 bltu a3,s3,4f5e <__muldf3+0x210> - 4df2: 00004617 auipc a2,0x4 - 4df6: e3260613 addi a2,a2,-462 # 8c24 - 4dfa: 098a slli s3,s3,0x2 - 4dfc: 99b2 add s3,s3,a2 - 4dfe: 0009a683 lw a3,0(s3) - 4e02: 96b2 add a3,a3,a2 - 4e04: 8682 jr a3 - 4e06: 00ca67b3 or a5,s4,a2 - 4e0a: 7ff90913 addi s2,s2,2047 - 4e0e: 12079963 bnez a5,4f40 <__muldf3+0x1f2> - 4e12: 0029e993 ori s3,s3,2 - 4e16: 4581 li a1,0 - 4e18: 4889 li a7,2 - 4e1a: b7e1 j 4de2 <__muldf3+0x94> - 4e1c: 4701 li a4,0 - 4e1e: 7ff00793 li a5,2047 - 4e22: 00080437 lui s0,0x80 - 4e26: 4481 li s1,0 - 4e28: 0432 slli s0,s0,0xc - 4e2a: 07d2 slli a5,a5,0x14 - 4e2c: 8031 srli s0,s0,0xc - 4e2e: 077e slli a4,a4,0x1f - 4e30: 8c5d or s0,s0,a5 - 4e32: 8c59 or s0,s0,a4 - 4e34: 85a2 mv a1,s0 - 4e36: 50f2 lw ra,60(sp) - 4e38: 5462 lw s0,56(sp) - 4e3a: 8526 mv a0,s1 - 4e3c: 5942 lw s2,48(sp) - 4e3e: 54d2 lw s1,52(sp) - 4e40: 59b2 lw s3,44(sp) - 4e42: 5a22 lw s4,40(sp) - 4e44: 5a92 lw s5,36(sp) - 4e46: 5b02 lw s6,32(sp) - 4e48: 4bf2 lw s7,28(sp) - 4e4a: 6121 addi sp,sp,64 - 4e4c: 8082 ret - 4e4e: 855a mv a0,s6 - 4e50: 843e mv s0,a5 - 4e52: 84ae mv s1,a1 - 4e54: 8bc6 mv s7,a7 - 4e56: 4789 li a5,2 - 4e58: 0efb8d63 beq s7,a5,4f52 <__muldf3+0x204> - 4e5c: 478d li a5,3 - 4e5e: fafb8fe3 beq s7,a5,4e1c <__muldf3+0xce> - 4e62: 4785 li a5,1 - 4e64: 872a mv a4,a0 - 4e66: 38fb9e63 bne s7,a5,5202 <__muldf3+0x4b4> - 4e6a: 4781 li a5,0 - 4e6c: 4401 li s0,0 - 4e6e: 4481 li s1,0 - 4e70: bf65 j 4e28 <__muldf3+0xda> - 4e72: 00a9e433 or s0,s3,a0 - 4e76: c061 beqz s0,4f36 <__muldf3+0x1e8> - 4e78: c636 sw a3,12(sp) - 4e7a: c432 sw a2,8(sp) - 4e7c: 2a098c63 beqz s3,5134 <__muldf3+0x3e6> - 4e80: 854e mv a0,s3 - 4e82: 53d010ef jal ra,6bbe <__clzsi2> - 4e86: 4622 lw a2,8(sp) - 4e88: 46b2 lw a3,12(sp) - 4e8a: 87aa mv a5,a0 - 4e8c: ff550713 addi a4,a0,-11 - 4e90: 4475 li s0,29 - 4e92: ff878493 addi s1,a5,-8 # 7ffff8 <_data_lma+0x7f7138> - 4e96: 8c19 sub s0,s0,a4 - 4e98: 009999b3 sll s3,s3,s1 - 4e9c: 008a5433 srl s0,s4,s0 - 4ea0: 01346433 or s0,s0,s3 - 4ea4: 009a14b3 sll s1,s4,s1 - 4ea8: 0146d713 srli a4,a3,0x14 - 4eac: c0d00913 li s2,-1011 - 4eb0: 00c69a13 slli s4,a3,0xc - 4eb4: 7ff77713 andi a4,a4,2047 - 4eb8: 40f90933 sub s2,s2,a5 - 4ebc: 4981 li s3,0 - 4ebe: 4b81 li s7,0 - 4ec0: 85b2 mv a1,a2 - 4ec2: 00ca5a13 srli s4,s4,0xc - 4ec6: 01f6db13 srli s6,a3,0x1f - 4eca: ee0719e3 bnez a4,4dbc <__muldf3+0x6e> - 4ece: 00ca67b3 or a5,s4,a2 - 4ed2: c7b1 beqz a5,4f1e <__muldf3+0x1d0> - 4ed4: 220a0f63 beqz s4,5112 <__muldf3+0x3c4> - 4ed8: 8552 mv a0,s4 - 4eda: c432 sw a2,8(sp) - 4edc: 4e3010ef jal ra,6bbe <__clzsi2> - 4ee0: 4622 lw a2,8(sp) - 4ee2: 872a mv a4,a0 - 4ee4: ff550693 addi a3,a0,-11 - 4ee8: 47f5 li a5,29 - 4eea: ff870593 addi a1,a4,-8 - 4eee: 8f95 sub a5,a5,a3 - 4ef0: 00ba1a33 sll s4,s4,a1 - 4ef4: 00f657b3 srl a5,a2,a5 - 4ef8: 0147e7b3 or a5,a5,s4 - 4efc: 00b615b3 sll a1,a2,a1 - 4f00: 40e90933 sub s2,s2,a4 - 4f04: c0d90913 addi s2,s2,-1011 - 4f08: 4881 li a7,0 - 4f0a: bde1 j 4de2 <__muldf3+0x94> - 4f0c: 00a9e433 or s0,s3,a0 - 4f10: ec01 bnez s0,4f28 <__muldf3+0x1da> - 4f12: 49a1 li s3,8 - 4f14: 4481 li s1,0 - 4f16: 7ff00913 li s2,2047 - 4f1a: 4b89 li s7,2 - 4f1c: b559 j 4da2 <__muldf3+0x54> - 4f1e: 0019e993 ori s3,s3,1 - 4f22: 4581 li a1,0 - 4f24: 4885 li a7,1 - 4f26: bd75 j 4de2 <__muldf3+0x94> - 4f28: 844e mv s0,s3 - 4f2a: 84aa mv s1,a0 - 4f2c: 49b1 li s3,12 - 4f2e: 7ff00913 li s2,2047 - 4f32: 4b8d li s7,3 - 4f34: b5bd j 4da2 <__muldf3+0x54> - 4f36: 4991 li s3,4 - 4f38: 4481 li s1,0 - 4f3a: 4901 li s2,0 - 4f3c: 4b85 li s7,1 - 4f3e: b595 j 4da2 <__muldf3+0x54> - 4f40: 0039e993 ori s3,s3,3 - 4f44: 87d2 mv a5,s4 - 4f46: 488d li a7,3 - 4f48: bd69 j 4de2 <__muldf3+0x94> - 4f4a: 4789 li a5,2 - 4f4c: 8556 mv a0,s5 - 4f4e: f0fb97e3 bne s7,a5,4e5c <__muldf3+0x10e> - 4f52: 872a mv a4,a0 - 4f54: 7ff00793 li a5,2047 - 4f58: 4401 li s0,0 - 4f5a: 4481 li s1,0 - 4f5c: b5f1 j 4e28 <__muldf3+0xda> - 4f5e: 6ec1 lui t4,0x10 - 4f60: fffe8613 addi a2,t4,-1 # ffff <_data_lma+0x713f> - 4f64: 0104d693 srli a3,s1,0x10 - 4f68: 0105de13 srli t3,a1,0x10 - 4f6c: 8cf1 and s1,s1,a2 - 4f6e: 8df1 and a1,a1,a2 - 4f70: 02958633 mul a2,a1,s1 - 4f74: 02b68333 mul t1,a3,a1 - 4f78: 01065893 srli a7,a2,0x10 - 4f7c: 029e0533 mul a0,t3,s1 - 4f80: 951a add a0,a0,t1 - 4f82: 98aa add a7,a7,a0 - 4f84: 03c682b3 mul t0,a3,t3 - 4f88: 0068f363 bgeu a7,t1,4f8e <__muldf3+0x240> - 4f8c: 92f6 add t0,t0,t4 - 4f8e: 6fc1 lui t6,0x10 - 4f90: ffff8313 addi t1,t6,-1 # ffff <_data_lma+0x713f> - 4f94: 0067f533 and a0,a5,t1 - 4f98: 0107d393 srli t2,a5,0x10 - 4f9c: 0068f7b3 and a5,a7,t1 - 4fa0: 07c2 slli a5,a5,0x10 - 4fa2: 00667333 and t1,a2,t1 - 4fa6: 933e add t1,t1,a5 - 4fa8: 02950633 mul a2,a0,s1 - 4fac: 0108d893 srli a7,a7,0x10 - 4fb0: 02a687b3 mul a5,a3,a0 - 4fb4: 01065f13 srli t5,a2,0x10 - 4fb8: 029384b3 mul s1,t2,s1 - 4fbc: 94be add s1,s1,a5 - 4fbe: 94fa add s1,s1,t5 - 4fc0: 02768eb3 mul t4,a3,t2 - 4fc4: 00f4f363 bgeu s1,a5,4fca <__muldf3+0x27c> - 4fc8: 9efe add t4,t4,t6 - 4fca: 6a41 lui s4,0x10 - 4fcc: fffa0793 addi a5,s4,-1 # ffff <_data_lma+0x713f> - 4fd0: 01045f93 srli t6,s0,0x10 - 4fd4: 00f476b3 and a3,s0,a5 - 4fd8: 00f4f9b3 and s3,s1,a5 - 4fdc: 8e7d and a2,a2,a5 - 4fde: 80c1 srli s1,s1,0x10 - 4fe0: 02d58433 mul s0,a1,a3 - 4fe4: 09c2 slli s3,s3,0x10 - 4fe6: 01d48f33 add t5,s1,t4 - 4fea: 99b2 add s3,s3,a2 - 4fec: 98ce add a7,a7,s3 - 4fee: 02de07b3 mul a5,t3,a3 - 4ff2: 01045e93 srli t4,s0,0x10 - 4ff6: 02bf85b3 mul a1,t6,a1 - 4ffa: 97ae add a5,a5,a1 - 4ffc: 9ebe add t4,t4,a5 - 4ffe: 03fe0e33 mul t3,t3,t6 - 5002: 00bef363 bgeu t4,a1,5008 <__muldf3+0x2ba> - 5006: 9e52 add t3,t3,s4 - 5008: 67c1 lui a5,0x10 - 500a: fff78593 addi a1,a5,-1 # ffff <_data_lma+0x713f> - 500e: 00bef633 and a2,t4,a1 - 5012: 8c6d and s0,s0,a1 - 5014: 0642 slli a2,a2,0x10 - 5016: 9622 add a2,a2,s0 - 5018: 010ede93 srli t4,t4,0x10 - 501c: 02d505b3 mul a1,a0,a3 - 5020: 9e76 add t3,t3,t4 - 5022: 02af8533 mul a0,t6,a0 - 5026: 0105d413 srli s0,a1,0x10 - 502a: 02d386b3 mul a3,t2,a3 - 502e: 96aa add a3,a3,a0 - 5030: 96a2 add a3,a3,s0 - 5032: 03f38fb3 mul t6,t2,t6 - 5036: 00a6f363 bgeu a3,a0,503c <__muldf3+0x2ee> - 503a: 9fbe add t6,t6,a5 - 503c: 6541 lui a0,0x10 - 503e: 157d addi a0,a0,-1 - 5040: 00a6f7b3 and a5,a3,a0 - 5044: 07c2 slli a5,a5,0x10 - 5046: 8d6d and a0,a0,a1 - 5048: 97aa add a5,a5,a0 - 504a: 005885b3 add a1,a7,t0 - 504e: 0135b9b3 sltu s3,a1,s3 - 5052: 97fa add a5,a5,t5 - 5054: 95b2 add a1,a1,a2 - 5056: 01378433 add s0,a5,s3 - 505a: 00c5b633 sltu a2,a1,a2 - 505e: 01c40eb3 add t4,s0,t3 - 5062: 00ce8533 add a0,t4,a2 - 5066: 01343433 sltu s0,s0,s3 - 506a: 01e7b7b3 sltu a5,a5,t5 - 506e: 8fc1 or a5,a5,s0 - 5070: 01cebe33 sltu t3,t4,t3 - 5074: 0106d413 srli s0,a3,0x10 - 5078: 00c53633 sltu a2,a0,a2 - 507c: 943e add s0,s0,a5 - 507e: 00ce6633 or a2,t3,a2 - 5082: 00959493 slli s1,a1,0x9 - 5086: 9432 add s0,s0,a2 - 5088: 947e add s0,s0,t6 - 508a: 0064e4b3 or s1,s1,t1 - 508e: 0426 slli s0,s0,0x9 - 5090: 01755693 srli a3,a0,0x17 - 5094: 009034b3 snez s1,s1 - 5098: 81dd srli a1,a1,0x17 - 509a: 00951793 slli a5,a0,0x9 - 509e: 8ccd or s1,s1,a1 - 50a0: 8c55 or s0,s0,a3 - 50a2: 8cdd or s1,s1,a5 - 50a4: 00741793 slli a5,s0,0x7 - 50a8: 0007db63 bgez a5,50be <__muldf3+0x370> - 50ac: 0014d793 srli a5,s1,0x1 - 50b0: 8885 andi s1,s1,1 - 50b2: 01f41693 slli a3,s0,0x1f - 50b6: 8cdd or s1,s1,a5 - 50b8: 8cd5 or s1,s1,a3 - 50ba: 8005 srli s0,s0,0x1 - 50bc: 8942 mv s2,a6 - 50be: 3ff90793 addi a5,s2,1023 - 50c2: 08f05963 blez a5,5154 <__muldf3+0x406> - 50c6: 0074f693 andi a3,s1,7 - 50ca: ce81 beqz a3,50e2 <__muldf3+0x394> - 50cc: 00f4f693 andi a3,s1,15 - 50d0: 4611 li a2,4 - 50d2: 00c68863 beq a3,a2,50e2 <__muldf3+0x394> - 50d6: 00448693 addi a3,s1,4 - 50da: 0096b4b3 sltu s1,a3,s1 - 50de: 9426 add s0,s0,s1 - 50e0: 84b6 mv s1,a3 - 50e2: 00741693 slli a3,s0,0x7 - 50e6: 0006d863 bgez a3,50f6 <__muldf3+0x3a8> - 50ea: ff0007b7 lui a5,0xff000 - 50ee: 17fd addi a5,a5,-1 - 50f0: 8c7d and s0,s0,a5 - 50f2: 40090793 addi a5,s2,1024 - 50f6: 7fe00693 li a3,2046 - 50fa: 0ef6cf63 blt a3,a5,51f8 <__muldf3+0x4aa> - 50fe: 0034d693 srli a3,s1,0x3 - 5102: 01d41493 slli s1,s0,0x1d - 5106: 0426 slli s0,s0,0x9 - 5108: 8cd5 or s1,s1,a3 - 510a: 8031 srli s0,s0,0xc - 510c: 7ff7f793 andi a5,a5,2047 - 5110: bb21 j 4e28 <__muldf3+0xda> - 5112: 8532 mv a0,a2 - 5114: c432 sw a2,8(sp) - 5116: 2a9010ef jal ra,6bbe <__clzsi2> - 511a: 01550693 addi a3,a0,21 # 10015 <_data_lma+0x7155> - 511e: 47f1 li a5,28 - 5120: 02050713 addi a4,a0,32 - 5124: 4622 lw a2,8(sp) - 5126: dcd7d1e3 bge a5,a3,4ee8 <__muldf3+0x19a> - 512a: 1561 addi a0,a0,-8 - 512c: 00a617b3 sll a5,a2,a0 - 5130: 4581 li a1,0 - 5132: b3f9 j 4f00 <__muldf3+0x1b2> - 5134: 28b010ef jal ra,6bbe <__clzsi2> - 5138: 01550713 addi a4,a0,21 - 513c: 45f1 li a1,28 - 513e: 02050793 addi a5,a0,32 - 5142: 4622 lw a2,8(sp) - 5144: 46b2 lw a3,12(sp) - 5146: d4e5d5e3 bge a1,a4,4e90 <__muldf3+0x142> - 514a: 1561 addi a0,a0,-8 - 514c: 00aa1433 sll s0,s4,a0 - 5150: 4481 li s1,0 - 5152: bb99 j 4ea8 <__muldf3+0x15a> - 5154: 4685 li a3,1 - 5156: 8e9d sub a3,a3,a5 - 5158: e7b1 bnez a5,51a4 <__muldf3+0x456> - 515a: 41e90913 addi s2,s2,1054 - 515e: 012497b3 sll a5,s1,s2 - 5162: 00d4d4b3 srl s1,s1,a3 - 5166: 01241933 sll s2,s0,s2 - 516a: 00f037b3 snez a5,a5 - 516e: 009964b3 or s1,s2,s1 - 5172: 8cdd or s1,s1,a5 - 5174: 0074f793 andi a5,s1,7 - 5178: 00d456b3 srl a3,s0,a3 - 517c: cf81 beqz a5,5194 <__muldf3+0x446> - 517e: 00f4f793 andi a5,s1,15 - 5182: 4611 li a2,4 - 5184: 00c78863 beq a5,a2,5194 <__muldf3+0x446> - 5188: 00448793 addi a5,s1,4 - 518c: 0097b4b3 sltu s1,a5,s1 - 5190: 96a6 add a3,a3,s1 - 5192: 84be mv s1,a5 - 5194: 00869793 slli a5,a3,0x8 - 5198: 0407d863 bgez a5,51e8 <__muldf3+0x49a> - 519c: 4785 li a5,1 - 519e: 4401 li s0,0 - 51a0: 4481 li s1,0 - 51a2: b159 j 4e28 <__muldf3+0xda> - 51a4: 03800613 li a2,56 - 51a8: ccd641e3 blt a2,a3,4e6a <__muldf3+0x11c> - 51ac: 467d li a2,31 - 51ae: fad656e3 bge a2,a3,515a <__muldf3+0x40c> - 51b2: 5605 li a2,-31 - 51b4: 40f607b3 sub a5,a2,a5 - 51b8: 02000593 li a1,32 - 51bc: 00f45633 srl a2,s0,a5 - 51c0: 00b68763 beq a3,a1,51ce <__muldf3+0x480> - 51c4: 43e90913 addi s2,s2,1086 - 51c8: 012417b3 sll a5,s0,s2 - 51cc: 8cdd or s1,s1,a5 - 51ce: 009034b3 snez s1,s1 - 51d2: 8cd1 or s1,s1,a2 - 51d4: 0074f693 andi a3,s1,7 - 51d8: 4401 li s0,0 - 51da: ca99 beqz a3,51f0 <__muldf3+0x4a2> - 51dc: 00f4f793 andi a5,s1,15 - 51e0: 4611 li a2,4 - 51e2: 4681 li a3,0 - 51e4: fac792e3 bne a5,a2,5188 <__muldf3+0x43a> - 51e8: 00969413 slli s0,a3,0x9 - 51ec: 8031 srli s0,s0,0xc - 51ee: 06f6 slli a3,a3,0x1d - 51f0: 808d srli s1,s1,0x3 - 51f2: 8cd5 or s1,s1,a3 - 51f4: 4781 li a5,0 - 51f6: b90d j 4e28 <__muldf3+0xda> - 51f8: 7ff00793 li a5,2047 - 51fc: 4401 li s0,0 - 51fe: 4481 li s1,0 - 5200: b125 j 4e28 <__muldf3+0xda> - 5202: 8942 mv s2,a6 - 5204: bd6d j 50be <__muldf3+0x370> - -00005206 <__subdf3>: - 5206: 00100737 lui a4,0x100 - 520a: 177d addi a4,a4,-1 - 520c: 1101 addi sp,sp,-32 - 520e: 00b77333 and t1,a4,a1 - 5212: 0146d893 srli a7,a3,0x14 - 5216: 8f75 and a4,a4,a3 - 5218: 01d65e93 srli t4,a2,0x1d - 521c: cc22 sw s0,24(sp) - 521e: ca26 sw s1,20(sp) - 5220: 030e slli t1,t1,0x3 - 5222: 0145d493 srli s1,a1,0x14 - 5226: 01d55793 srli a5,a0,0x1d - 522a: 070e slli a4,a4,0x3 - 522c: ce06 sw ra,28(sp) - 522e: c84a sw s2,16(sp) - 5230: c64e sw s3,12(sp) - 5232: 7ff8f893 andi a7,a7,2047 - 5236: 7ff00e13 li t3,2047 - 523a: 00eee733 or a4,t4,a4 - 523e: 7ff4f493 andi s1,s1,2047 - 5242: 01f5d413 srli s0,a1,0x1f - 5246: 0067e333 or t1,a5,t1 - 524a: 00351f13 slli t5,a0,0x3 - 524e: 82fd srli a3,a3,0x1f - 5250: 00361e93 slli t4,a2,0x3 - 5254: 19c88063 beq a7,t3,53d4 <__subdf3+0x1ce> - 5258: 0016c693 xori a3,a3,1 - 525c: 411485b3 sub a1,s1,a7 - 5260: 12d40563 beq s0,a3,538a <__subdf3+0x184> - 5264: 18b05163 blez a1,53e6 <__subdf3+0x1e0> - 5268: 1a088b63 beqz a7,541e <__subdf3+0x218> - 526c: 008007b7 lui a5,0x800 - 5270: 8f5d or a4,a4,a5 - 5272: 59c48163 beq s1,t3,57f4 <__subdf3+0x5ee> - 5276: 03800793 li a5,56 - 527a: 34b7c463 blt a5,a1,55c2 <__subdf3+0x3bc> - 527e: 47fd li a5,31 - 5280: 48b7c563 blt a5,a1,570a <__subdf3+0x504> - 5284: 02000793 li a5,32 - 5288: 8f8d sub a5,a5,a1 - 528a: 00bed9b3 srl s3,t4,a1 - 528e: 00f71833 sll a6,a4,a5 - 5292: 00fe9eb3 sll t4,t4,a5 - 5296: 01386833 or a6,a6,s3 - 529a: 00b75733 srl a4,a4,a1 - 529e: 01d039b3 snez s3,t4 - 52a2: 01386833 or a6,a6,s3 - 52a6: 40e30333 sub t1,t1,a4 - 52aa: 410f09b3 sub s3,t5,a6 - 52ae: 013f37b3 sltu a5,t5,s3 - 52b2: 40f30633 sub a2,t1,a5 - 52b6: 00861793 slli a5,a2,0x8 - 52ba: 2407d363 bgez a5,5500 <__subdf3+0x2fa> - 52be: 00800937 lui s2,0x800 - 52c2: 197d addi s2,s2,-1 - 52c4: 01267933 and s2,a2,s2 - 52c8: 2c090f63 beqz s2,55a6 <__subdf3+0x3a0> - 52cc: 854a mv a0,s2 - 52ce: 0f1010ef jal ra,6bbe <__clzsi2> - 52d2: ff850713 addi a4,a0,-8 - 52d6: 02000793 li a5,32 - 52da: 8f99 sub a5,a5,a4 - 52dc: 00f9d7b3 srl a5,s3,a5 - 52e0: 00e91633 sll a2,s2,a4 - 52e4: 8fd1 or a5,a5,a2 - 52e6: 00e999b3 sll s3,s3,a4 - 52ea: 2a974463 blt a4,s1,5592 <__subdf3+0x38c> - 52ee: 8f05 sub a4,a4,s1 - 52f0: 00170613 addi a2,a4,1 # 100001 <_data_lma+0xf7141> - 52f4: 46fd li a3,31 - 52f6: 3ac6c563 blt a3,a2,56a0 <__subdf3+0x49a> - 52fa: 02000713 li a4,32 - 52fe: 8f11 sub a4,a4,a2 - 5300: 00c9d6b3 srl a3,s3,a2 - 5304: 00e99833 sll a6,s3,a4 - 5308: 00e79733 sll a4,a5,a4 - 530c: 8f55 or a4,a4,a3 - 530e: 01003833 snez a6,a6 - 5312: 010769b3 or s3,a4,a6 - 5316: 00c7d633 srl a2,a5,a2 - 531a: 4481 li s1,0 - 531c: 0079f793 andi a5,s3,7 - 5320: cf81 beqz a5,5338 <__subdf3+0x132> - 5322: 00f9f693 andi a3,s3,15 - 5326: 4791 li a5,4 - 5328: 00f68863 beq a3,a5,5338 <__subdf3+0x132> - 532c: 00498693 addi a3,s3,4 - 5330: 0136b833 sltu a6,a3,s3 - 5334: 9642 add a2,a2,a6 - 5336: 89b6 mv s3,a3 - 5338: 00861793 slli a5,a2,0x8 - 533c: 1c07d663 bgez a5,5508 <__subdf3+0x302> - 5340: 00148713 addi a4,s1,1 - 5344: 7ff00793 li a5,2047 - 5348: 8805 andi s0,s0,1 - 534a: 20f70663 beq a4,a5,5556 <__subdf3+0x350> - 534e: ff8007b7 lui a5,0xff800 - 5352: 17fd addi a5,a5,-1 - 5354: 8ff1 and a5,a5,a2 - 5356: 01d79813 slli a6,a5,0x1d - 535a: 0039d993 srli s3,s3,0x3 - 535e: 07a6 slli a5,a5,0x9 - 5360: 01386833 or a6,a6,s3 - 5364: 83b1 srli a5,a5,0xc - 5366: 7ff77713 andi a4,a4,2047 - 536a: 00c79693 slli a3,a5,0xc - 536e: 0752 slli a4,a4,0x14 - 5370: 82b1 srli a3,a3,0xc - 5372: 047e slli s0,s0,0x1f - 5374: 8ed9 or a3,a3,a4 - 5376: 8ec1 or a3,a3,s0 - 5378: 40f2 lw ra,28(sp) - 537a: 4462 lw s0,24(sp) - 537c: 44d2 lw s1,20(sp) - 537e: 4942 lw s2,16(sp) - 5380: 49b2 lw s3,12(sp) - 5382: 8542 mv a0,a6 - 5384: 85b6 mv a1,a3 - 5386: 6105 addi sp,sp,32 - 5388: 8082 ret - 538a: 0ab05663 blez a1,5436 <__subdf3+0x230> - 538e: 12088a63 beqz a7,54c2 <__subdf3+0x2bc> - 5392: 008007b7 lui a5,0x800 - 5396: 8f5d or a4,a4,a5 - 5398: 2dc48763 beq s1,t3,5666 <__subdf3+0x460> - 539c: 03800793 li a5,56 - 53a0: 18b7c763 blt a5,a1,552e <__subdf3+0x328> - 53a4: 47fd li a5,31 - 53a6: 3cb7d263 bge a5,a1,576a <__subdf3+0x564> - 53aa: fe058813 addi a6,a1,-32 - 53ae: 02000793 li a5,32 - 53b2: 010759b3 srl s3,a4,a6 - 53b6: 00f58a63 beq a1,a5,53ca <__subdf3+0x1c4> - 53ba: 04000793 li a5,64 - 53be: 40b785b3 sub a1,a5,a1 - 53c2: 00b71733 sll a4,a4,a1 - 53c6: 00eeeeb3 or t4,t4,a4 - 53ca: 01d03833 snez a6,t4 - 53ce: 01386833 or a6,a6,s3 - 53d2: a295 j 5536 <__subdf3+0x330> - 53d4: 01d767b3 or a5,a4,t4 - 53d8: 80148593 addi a1,s1,-2047 - 53dc: e399 bnez a5,53e2 <__subdf3+0x1dc> - 53de: 0016c693 xori a3,a3,1 - 53e2: 04d40a63 beq s0,a3,5436 <__subdf3+0x230> - 53e6: e1d1 bnez a1,546a <__subdf3+0x264> - 53e8: 00148793 addi a5,s1,1 - 53ec: 7fe7f793 andi a5,a5,2046 - 53f0: 1e079963 bnez a5,55e2 <__subdf3+0x3dc> - 53f4: 01e367b3 or a5,t1,t5 - 53f8: 01d76833 or a6,a4,t4 - 53fc: 16049263 bnez s1,5560 <__subdf3+0x35a> - 5400: 3c078263 beqz a5,57c4 <__subdf3+0x5be> - 5404: 42081663 bnez a6,5830 <__subdf3+0x62a> - 5408: 00351813 slli a6,a0,0x3 - 540c: 01d31693 slli a3,t1,0x1d - 5410: 00385813 srli a6,a6,0x3 - 5414: 0106e833 or a6,a3,a6 - 5418: 00335793 srli a5,t1,0x3 - 541c: a219 j 5522 <__subdf3+0x31c> - 541e: 01d767b3 or a5,a4,t4 - 5422: 1a078563 beqz a5,55cc <__subdf3+0x3c6> - 5426: fff58793 addi a5,a1,-1 - 542a: 3a078b63 beqz a5,57e0 <__subdf3+0x5da> - 542e: 23c58c63 beq a1,t3,5666 <__subdf3+0x460> - 5432: 85be mv a1,a5 - 5434: b589 j 5276 <__subdf3+0x70> - 5436: 1c059963 bnez a1,5608 <__subdf3+0x402> - 543a: 00148693 addi a3,s1,1 - 543e: 7fe6f793 andi a5,a3,2046 - 5442: efc1 bnez a5,54da <__subdf3+0x2d4> - 5444: 01e367b3 or a5,t1,t5 - 5448: 36049063 bnez s1,57a8 <__subdf3+0x5a2> - 544c: 44078d63 beqz a5,58a6 <__subdf3+0x6a0> - 5450: 01d767b3 or a5,a4,t4 - 5454: 46079463 bnez a5,58bc <__subdf3+0x6b6> - 5458: 050e slli a0,a0,0x3 - 545a: 01d31813 slli a6,t1,0x1d - 545e: 810d srli a0,a0,0x3 - 5460: 00a86833 or a6,a6,a0 - 5464: 00335793 srli a5,t1,0x3 - 5468: a86d j 5522 <__subdf3+0x31c> - 546a: 409885b3 sub a1,a7,s1 - 546e: 20049763 bnez s1,567c <__subdf3+0x476> - 5472: 01e367b3 or a5,t1,t5 - 5476: 30078d63 beqz a5,5790 <__subdf3+0x58a> - 547a: fff58793 addi a5,a1,-1 - 547e: 40078963 beqz a5,5890 <__subdf3+0x68a> - 5482: 7ff00513 li a0,2047 - 5486: 20a58363 beq a1,a0,568c <__subdf3+0x486> - 548a: 85be mv a1,a5 - 548c: 03800793 li a5,56 - 5490: 2ab7c263 blt a5,a1,5734 <__subdf3+0x52e> - 5494: 47fd li a5,31 - 5496: 3cb7c863 blt a5,a1,5866 <__subdf3+0x660> - 549a: 02000793 li a5,32 - 549e: 8f8d sub a5,a5,a1 - 54a0: 00f31833 sll a6,t1,a5 - 54a4: 00bf5633 srl a2,t5,a1 - 54a8: 00ff17b3 sll a5,t5,a5 - 54ac: 00c86833 or a6,a6,a2 - 54b0: 00f039b3 snez s3,a5 - 54b4: 00b35333 srl t1,t1,a1 - 54b8: 01386833 or a6,a6,s3 - 54bc: 40670733 sub a4,a4,t1 - 54c0: acb5 j 573c <__subdf3+0x536> - 54c2: 01d767b3 or a5,a4,t4 - 54c6: 10078363 beqz a5,55cc <__subdf3+0x3c6> - 54ca: fff58793 addi a5,a1,-1 - 54ce: 1e078f63 beqz a5,56cc <__subdf3+0x4c6> - 54d2: 2fc58063 beq a1,t3,57b2 <__subdf3+0x5ac> - 54d6: 85be mv a1,a5 - 54d8: b5d1 j 539c <__subdf3+0x196> - 54da: 7ff00793 li a5,2047 - 54de: 06f68b63 beq a3,a5,5554 <__subdf3+0x34e> - 54e2: 9efa add t4,t4,t5 - 54e4: 01eeb633 sltu a2,t4,t5 - 54e8: 00e307b3 add a5,t1,a4 - 54ec: 97b2 add a5,a5,a2 - 54ee: 01f79813 slli a6,a5,0x1f - 54f2: 001ede93 srli t4,t4,0x1 - 54f6: 01d869b3 or s3,a6,t4 - 54fa: 0017d613 srli a2,a5,0x1 - 54fe: 84b6 mv s1,a3 - 5500: 0079f793 andi a5,s3,7 - 5504: e0079fe3 bnez a5,5322 <__subdf3+0x11c> - 5508: 01d61793 slli a5,a2,0x1d - 550c: 0039d813 srli a6,s3,0x3 - 5510: 00f86833 or a6,a6,a5 - 5514: 85a6 mv a1,s1 - 5516: 00365793 srli a5,a2,0x3 - 551a: 7ff00713 li a4,2047 - 551e: 06e58063 beq a1,a4,557e <__subdf3+0x378> - 5522: 07b2 slli a5,a5,0xc - 5524: 83b1 srli a5,a5,0xc - 5526: 7ff5f713 andi a4,a1,2047 - 552a: 8805 andi s0,s0,1 - 552c: bd3d j 536a <__subdf3+0x164> - 552e: 01d76733 or a4,a4,t4 - 5532: 00e03833 snez a6,a4 - 5536: 01e809b3 add s3,a6,t5 - 553a: 01e9b7b3 sltu a5,s3,t5 - 553e: 00678633 add a2,a5,t1 - 5542: 00861793 slli a5,a2,0x8 - 5546: fa07dde3 bgez a5,5500 <__subdf3+0x2fa> - 554a: 0485 addi s1,s1,1 - 554c: 7ff00793 li a5,2047 - 5550: 18f49c63 bne s1,a5,56e8 <__subdf3+0x4e2> - 5554: 8805 andi s0,s0,1 - 5556: 7ff00713 li a4,2047 - 555a: 4781 li a5,0 - 555c: 4801 li a6,0 - 555e: b531 j 536a <__subdf3+0x164> - 5560: 10079163 bnez a5,5662 <__subdf3+0x45c> - 5564: 3c080163 beqz a6,5926 <__subdf3+0x720> - 5568: 00361813 slli a6,a2,0x3 - 556c: 01d71793 slli a5,a4,0x1d - 5570: 00385813 srli a6,a6,0x3 - 5574: 00f86833 or a6,a6,a5 - 5578: 8436 mv s0,a3 - 557a: 00375793 srli a5,a4,0x3 - 557e: 00f867b3 or a5,a6,a5 - 5582: dbe9 beqz a5,5554 <__subdf3+0x34e> - 5584: 4401 li s0,0 - 5586: 7ff00713 li a4,2047 - 558a: 000807b7 lui a5,0x80 - 558e: 4801 li a6,0 - 5590: bbe9 j 536a <__subdf3+0x164> - 5592: ff800637 lui a2,0xff800 - 5596: 167d addi a2,a2,-1 - 5598: 8e7d and a2,a2,a5 - 559a: 0079f793 andi a5,s3,7 - 559e: 8c99 sub s1,s1,a4 - 55a0: d80791e3 bnez a5,5322 <__subdf3+0x11c> - 55a4: b795 j 5508 <__subdf3+0x302> - 55a6: 854e mv a0,s3 - 55a8: 616010ef jal ra,6bbe <__clzsi2> - 55ac: 01850713 addi a4,a0,24 - 55b0: 47fd li a5,31 - 55b2: d2e7d2e3 bge a5,a4,52d6 <__subdf3+0xd0> - 55b6: ff850613 addi a2,a0,-8 - 55ba: 00c997b3 sll a5,s3,a2 - 55be: 4981 li s3,0 - 55c0: b32d j 52ea <__subdf3+0xe4> - 55c2: 01d76833 or a6,a4,t4 - 55c6: 01003833 snez a6,a6 - 55ca: b1c5 j 52aa <__subdf3+0xa4> - 55cc: 00351813 slli a6,a0,0x3 - 55d0: 01d31793 slli a5,t1,0x1d - 55d4: 00385813 srli a6,a6,0x3 - 55d8: 00f86833 or a6,a6,a5 - 55dc: 00335793 srli a5,t1,0x3 - 55e0: bf2d j 551a <__subdf3+0x314> - 55e2: 41df09b3 sub s3,t5,t4 - 55e6: 40e30933 sub s2,t1,a4 - 55ea: 013f3633 sltu a2,t5,s3 - 55ee: 40c90933 sub s2,s2,a2 - 55f2: 00891793 slli a5,s2,0x8 - 55f6: 2007ca63 bltz a5,580a <__subdf3+0x604> - 55fa: 0129e833 or a6,s3,s2 - 55fe: cc0815e3 bnez a6,52c8 <__subdf3+0xc2> - 5602: 4781 li a5,0 - 5604: 4401 li s0,0 - 5606: bf31 j 5522 <__subdf3+0x31c> - 5608: 409885b3 sub a1,a7,s1 - 560c: 14048163 beqz s1,574e <__subdf3+0x548> - 5610: 008006b7 lui a3,0x800 - 5614: 7ff00793 li a5,2047 - 5618: 00d36333 or t1,t1,a3 - 561c: 20f88163 beq a7,a5,581e <__subdf3+0x618> - 5620: 03800793 li a5,56 - 5624: 22b7cc63 blt a5,a1,585c <__subdf3+0x656> - 5628: 47fd li a5,31 - 562a: 2cb7c963 blt a5,a1,58fc <__subdf3+0x6f6> - 562e: 02000793 li a5,32 - 5632: 8f8d sub a5,a5,a1 - 5634: 00f31833 sll a6,t1,a5 - 5638: 00bf56b3 srl a3,t5,a1 - 563c: 00ff17b3 sll a5,t5,a5 - 5640: 00d86833 or a6,a6,a3 - 5644: 00f039b3 snez s3,a5 - 5648: 00b35333 srl t1,t1,a1 - 564c: 01386833 or a6,a6,s3 - 5650: 971a add a4,a4,t1 - 5652: 01d809b3 add s3,a6,t4 - 5656: 01d9b7b3 sltu a5,s3,t4 - 565a: 00e78633 add a2,a5,a4 - 565e: 84c6 mv s1,a7 - 5660: b5cd j 5542 <__subdf3+0x33c> - 5662: f20811e3 bnez a6,5584 <__subdf3+0x37e> - 5666: 00351813 slli a6,a0,0x3 - 566a: 01d31793 slli a5,t1,0x1d - 566e: 00385813 srli a6,a6,0x3 - 5672: 00f86833 or a6,a6,a5 - 5676: 00335793 srli a5,t1,0x3 - 567a: b711 j 557e <__subdf3+0x378> - 567c: 00800537 lui a0,0x800 - 5680: 7ff00793 li a5,2047 - 5684: 00a36333 or t1,t1,a0 - 5688: e0f892e3 bne a7,a5,548c <__subdf3+0x286> - 568c: 060e slli a2,a2,0x3 - 568e: 01d71813 slli a6,a4,0x1d - 5692: 820d srli a2,a2,0x3 - 5694: 00c86833 or a6,a6,a2 - 5698: 00375793 srli a5,a4,0x3 - 569c: 8436 mv s0,a3 - 569e: b5c5 j 557e <__subdf3+0x378> - 56a0: 1705 addi a4,a4,-31 - 56a2: 02000693 li a3,32 - 56a6: 00e7d733 srl a4,a5,a4 - 56aa: 00d60a63 beq a2,a3,56be <__subdf3+0x4b8> - 56ae: 04000693 li a3,64 - 56b2: 40c68633 sub a2,a3,a2 - 56b6: 00c79633 sll a2,a5,a2 - 56ba: 00c9e9b3 or s3,s3,a2 - 56be: 01303833 snez a6,s3 - 56c2: 00e869b3 or s3,a6,a4 - 56c6: 4601 li a2,0 - 56c8: 4481 li s1,0 - 56ca: bd1d j 5500 <__subdf3+0x2fa> - 56cc: 01df09b3 add s3,t5,t4 - 56d0: 00e307b3 add a5,t1,a4 - 56d4: 01e9bf33 sltu t5,s3,t5 - 56d8: 01e78633 add a2,a5,t5 - 56dc: 00861793 slli a5,a2,0x8 - 56e0: 4485 li s1,1 - 56e2: e007dfe3 bgez a5,5500 <__subdf3+0x2fa> - 56e6: 4489 li s1,2 - 56e8: ff8007b7 lui a5,0xff800 - 56ec: 17fd addi a5,a5,-1 - 56ee: 8ff1 and a5,a5,a2 - 56f0: 0019d713 srli a4,s3,0x1 - 56f4: 0019f813 andi a6,s3,1 - 56f8: 01076833 or a6,a4,a6 - 56fc: 01f79993 slli s3,a5,0x1f - 5700: 0109e9b3 or s3,s3,a6 - 5704: 0017d613 srli a2,a5,0x1 - 5708: b911 j 531c <__subdf3+0x116> - 570a: fe058813 addi a6,a1,-32 - 570e: 02000793 li a5,32 - 5712: 010759b3 srl s3,a4,a6 - 5716: 00f58a63 beq a1,a5,572a <__subdf3+0x524> - 571a: 04000793 li a5,64 - 571e: 40b785b3 sub a1,a5,a1 - 5722: 00b71733 sll a4,a4,a1 - 5726: 00eeeeb3 or t4,t4,a4 - 572a: 01d03833 snez a6,t4 - 572e: 01386833 or a6,a6,s3 - 5732: bea5 j 52aa <__subdf3+0xa4> - 5734: 01e36333 or t1,t1,t5 - 5738: 00603833 snez a6,t1 - 573c: 410e89b3 sub s3,t4,a6 - 5740: 013eb7b3 sltu a5,t4,s3 - 5744: 40f70633 sub a2,a4,a5 - 5748: 84c6 mv s1,a7 - 574a: 8436 mv s0,a3 - 574c: b6ad j 52b6 <__subdf3+0xb0> - 574e: 01e367b3 or a5,t1,t5 - 5752: 18078763 beqz a5,58e0 <__subdf3+0x6da> - 5756: fff58793 addi a5,a1,-1 - 575a: 1c078c63 beqz a5,5932 <__subdf3+0x72c> - 575e: 7ff00693 li a3,2047 - 5762: 0ad58e63 beq a1,a3,581e <__subdf3+0x618> - 5766: 85be mv a1,a5 - 5768: bd65 j 5620 <__subdf3+0x41a> - 576a: 02000793 li a5,32 - 576e: 8f8d sub a5,a5,a1 - 5770: 00bed9b3 srl s3,t4,a1 - 5774: 00f71833 sll a6,a4,a5 - 5778: 00fe9eb3 sll t4,t4,a5 - 577c: 01386833 or a6,a6,s3 - 5780: 00b75733 srl a4,a4,a1 - 5784: 01d039b3 snez s3,t4 - 5788: 01386833 or a6,a6,s3 - 578c: 933a add t1,t1,a4 - 578e: b365 j 5536 <__subdf3+0x330> - 5790: 00361813 slli a6,a2,0x3 - 5794: 01d71793 slli a5,a4,0x1d - 5798: 00385813 srli a6,a6,0x3 - 579c: 0107e833 or a6,a5,a6 - 57a0: 8436 mv s0,a3 - 57a2: 00375793 srli a5,a4,0x3 - 57a6: bb95 j 551a <__subdf3+0x314> - 57a8: cbbd beqz a5,581e <__subdf3+0x618> - 57aa: 01d76733 or a4,a4,t4 - 57ae: dc071be3 bnez a4,5584 <__subdf3+0x37e> - 57b2: 050e slli a0,a0,0x3 - 57b4: 01d31813 slli a6,t1,0x1d - 57b8: 810d srli a0,a0,0x3 - 57ba: 00a86833 or a6,a6,a0 - 57be: 00335793 srli a5,t1,0x3 - 57c2: bb75 j 557e <__subdf3+0x378> - 57c4: e2080fe3 beqz a6,5602 <__subdf3+0x3fc> - 57c8: 00361813 slli a6,a2,0x3 - 57cc: 01d71793 slli a5,a4,0x1d - 57d0: 00385813 srli a6,a6,0x3 - 57d4: 00f86833 or a6,a6,a5 - 57d8: 8436 mv s0,a3 - 57da: 00375793 srli a5,a4,0x3 - 57de: b391 j 5522 <__subdf3+0x31c> - 57e0: 41df09b3 sub s3,t5,t4 - 57e4: 40e307b3 sub a5,t1,a4 - 57e8: 013f3f33 sltu t5,t5,s3 - 57ec: 41e78633 sub a2,a5,t5 - 57f0: 4485 li s1,1 - 57f2: b4d1 j 52b6 <__subdf3+0xb0> - 57f4: 00351813 slli a6,a0,0x3 - 57f8: 01d31693 slli a3,t1,0x1d - 57fc: 00385813 srli a6,a6,0x3 - 5800: 0106e833 or a6,a3,a6 - 5804: 00335793 srli a5,t1,0x3 - 5808: bb9d j 557e <__subdf3+0x378> - 580a: 41ee89b3 sub s3,t4,t5 - 580e: 40670633 sub a2,a4,t1 - 5812: 013eb933 sltu s2,t4,s3 - 5816: 41260933 sub s2,a2,s2 - 581a: 8436 mv s0,a3 - 581c: b475 j 52c8 <__subdf3+0xc2> - 581e: 060e slli a2,a2,0x3 - 5820: 01d71813 slli a6,a4,0x1d - 5824: 820d srli a2,a2,0x3 - 5826: 00c86833 or a6,a6,a2 - 582a: 00375793 srli a5,a4,0x3 - 582e: bb81 j 557e <__subdf3+0x378> - 5830: 41df09b3 sub s3,t5,t4 - 5834: 40e307b3 sub a5,t1,a4 - 5838: 013f3633 sltu a2,t5,s3 - 583c: 40c78633 sub a2,a5,a2 - 5840: 00861793 slli a5,a2,0x8 - 5844: 0a07d763 bgez a5,58f2 <__subdf3+0x6ec> - 5848: 41ee89b3 sub s3,t4,t5 - 584c: 406707b3 sub a5,a4,t1 - 5850: 013ebeb3 sltu t4,t4,s3 - 5854: 41d78633 sub a2,a5,t4 - 5858: 8436 mv s0,a3 - 585a: b4c9 j 531c <__subdf3+0x116> - 585c: 01e36333 or t1,t1,t5 - 5860: 00603833 snez a6,t1 - 5864: b3fd j 5652 <__subdf3+0x44c> - 5866: fe058813 addi a6,a1,-32 - 586a: 02000793 li a5,32 - 586e: 010359b3 srl s3,t1,a6 - 5872: 00f58a63 beq a1,a5,5886 <__subdf3+0x680> - 5876: 04000793 li a5,64 - 587a: 40b785b3 sub a1,a5,a1 - 587e: 00b31333 sll t1,t1,a1 - 5882: 006f6f33 or t5,t5,t1 - 5886: 01e03833 snez a6,t5 - 588a: 01386833 or a6,a6,s3 - 588e: b57d j 573c <__subdf3+0x536> - 5890: 41ee89b3 sub s3,t4,t5 - 5894: 406707b3 sub a5,a4,t1 - 5898: 013ebeb3 sltu t4,t4,s3 - 589c: 41d78633 sub a2,a5,t4 - 58a0: 8436 mv s0,a3 - 58a2: 4485 li s1,1 - 58a4: bc09 j 52b6 <__subdf3+0xb0> - 58a6: 00361813 slli a6,a2,0x3 - 58aa: 01d71793 slli a5,a4,0x1d - 58ae: 00385813 srli a6,a6,0x3 - 58b2: 00f86833 or a6,a6,a5 - 58b6: 00375793 srli a5,a4,0x3 - 58ba: b1a5 j 5522 <__subdf3+0x31c> - 58bc: 01df09b3 add s3,t5,t4 - 58c0: 00e307b3 add a5,t1,a4 - 58c4: 01e9bf33 sltu t5,s3,t5 - 58c8: 01e78633 add a2,a5,t5 - 58cc: 00861793 slli a5,a2,0x8 - 58d0: c207d8e3 bgez a5,5500 <__subdf3+0x2fa> - 58d4: ff8007b7 lui a5,0xff800 - 58d8: 17fd addi a5,a5,-1 - 58da: 8e7d and a2,a2,a5 - 58dc: 4485 li s1,1 - 58de: b10d j 5500 <__subdf3+0x2fa> - 58e0: 060e slli a2,a2,0x3 - 58e2: 01d71813 slli a6,a4,0x1d - 58e6: 820d srli a2,a2,0x3 - 58e8: 00c86833 or a6,a6,a2 - 58ec: 00375793 srli a5,a4,0x3 - 58f0: b12d j 551a <__subdf3+0x314> - 58f2: 00c9e833 or a6,s3,a2 - 58f6: d00806e3 beqz a6,5602 <__subdf3+0x3fc> - 58fa: b119 j 5500 <__subdf3+0x2fa> - 58fc: fe058813 addi a6,a1,-32 - 5900: 02000793 li a5,32 - 5904: 010359b3 srl s3,t1,a6 - 5908: 00f58a63 beq a1,a5,591c <__subdf3+0x716> - 590c: 04000793 li a5,64 - 5910: 40b785b3 sub a1,a5,a1 - 5914: 00b31333 sll t1,t1,a1 - 5918: 006f6f33 or t5,t5,t1 - 591c: 01e03833 snez a6,t5 - 5920: 01386833 or a6,a6,s3 - 5924: b33d j 5652 <__subdf3+0x44c> - 5926: 4401 li s0,0 - 5928: 7ff00713 li a4,2047 - 592c: 000807b7 lui a5,0x80 - 5930: bc2d j 536a <__subdf3+0x164> - 5932: 01df09b3 add s3,t5,t4 - 5936: 00e307b3 add a5,t1,a4 - 593a: 01d9beb3 sltu t4,s3,t4 - 593e: 01d78633 add a2,a5,t4 - 5942: bb69 j 56dc <__subdf3+0x4d6> - -00005944 <__floatsidf>: - 5944: 1141 addi sp,sp,-16 - 5946: c606 sw ra,12(sp) - 5948: c422 sw s0,8(sp) - 594a: c226 sw s1,4(sp) - 594c: cd0d beqz a0,5986 <__floatsidf+0x42> - 594e: 41f55793 srai a5,a0,0x1f - 5952: 00a7c4b3 xor s1,a5,a0 - 5956: 8c9d sub s1,s1,a5 - 5958: 842a mv s0,a0 - 595a: 8526 mv a0,s1 - 595c: 262010ef jal ra,6bbe <__clzsi2> - 5960: 41e00693 li a3,1054 - 5964: 8e89 sub a3,a3,a0 - 5966: 47a9 li a5,10 - 5968: 807d srli s0,s0,0x1f - 596a: 7ff6f693 andi a3,a3,2047 - 596e: 02a7cd63 blt a5,a0,59a8 <__floatsidf+0x64> - 5972: 472d li a4,11 - 5974: 8f09 sub a4,a4,a0 - 5976: 00e4d7b3 srl a5,s1,a4 - 597a: 0555 addi a0,a0,21 - 597c: 07b2 slli a5,a5,0xc - 597e: 00a494b3 sll s1,s1,a0 - 5982: 83b1 srli a5,a5,0xc - 5984: a029 j 598e <__floatsidf+0x4a> - 5986: 4401 li s0,0 - 5988: 4681 li a3,0 - 598a: 4781 li a5,0 - 598c: 4481 li s1,0 - 598e: 07b2 slli a5,a5,0xc - 5990: 06d2 slli a3,a3,0x14 - 5992: 83b1 srli a5,a5,0xc - 5994: 047e slli s0,s0,0x1f - 5996: 8fd5 or a5,a5,a3 - 5998: 8fc1 or a5,a5,s0 - 599a: 40b2 lw ra,12(sp) - 599c: 4422 lw s0,8(sp) - 599e: 8526 mv a0,s1 - 59a0: 85be mv a1,a5 - 59a2: 4492 lw s1,4(sp) - 59a4: 0141 addi sp,sp,16 - 59a6: 8082 ret - 59a8: 1555 addi a0,a0,-11 - 59aa: 00a497b3 sll a5,s1,a0 - 59ae: 07b2 slli a5,a5,0xc - 59b0: 83b1 srli a5,a5,0xc - 59b2: 4481 li s1,0 - 59b4: bfe9 j 598e <__floatsidf+0x4a> - -000059b6 <__addsf3>: - 59b6: 1141 addi sp,sp,-16 - 59b8: 00800737 lui a4,0x800 - 59bc: 177d addi a4,a4,-1 - 59be: 0175d813 srli a6,a1,0x17 - 59c2: c226 sw s1,4(sp) - 59c4: 01755493 srli s1,a0,0x17 - 59c8: 00a77333 and t1,a4,a0 - 59cc: 0ff4f493 andi s1,s1,255 - 59d0: 00b776b3 and a3,a4,a1 - 59d4: c04a sw s2,0(sp) - 59d6: 0ff87813 andi a6,a6,255 - 59da: 01f55913 srli s2,a0,0x1f - 59de: c606 sw ra,12(sp) - 59e0: c422 sw s0,8(sp) - 59e2: 81fd srli a1,a1,0x1f - 59e4: 879a mv a5,t1 - 59e6: 8526 mv a0,s1 - 59e8: 864a mv a2,s2 - 59ea: 00331e13 slli t3,t1,0x3 - 59ee: 00369e93 slli t4,a3,0x3 - 59f2: 410488b3 sub a7,s1,a6 - 59f6: 0eb90a63 beq s2,a1,5aea <__addsf3+0x134> - 59fa: 0d105063 blez a7,5aba <__addsf3+0x104> - 59fe: 14080463 beqz a6,5b46 <__addsf3+0x190> - 5a02: 0ff00793 li a5,255 - 5a06: 14f48b63 beq s1,a5,5b5c <__addsf3+0x1a6> - 5a0a: 040007b7 lui a5,0x4000 - 5a0e: 00feeeb3 or t4,t4,a5 - 5a12: 47ed li a5,27 - 5a14: 2917c163 blt a5,a7,5c96 <__addsf3+0x2e0> - 5a18: 02000793 li a5,32 - 5a1c: 411787b3 sub a5,a5,a7 - 5a20: 00fe97b3 sll a5,t4,a5 - 5a24: 011ed8b3 srl a7,t4,a7 - 5a28: 00f037b3 snez a5,a5 - 5a2c: 00f8e7b3 or a5,a7,a5 - 5a30: 40fe07b3 sub a5,t3,a5 - 5a34: 00579713 slli a4,a5,0x5 - 5a38: 18075e63 bgez a4,5bd4 <__addsf3+0x21e> - 5a3c: 04000437 lui s0,0x4000 - 5a40: 147d addi s0,s0,-1 - 5a42: 8c7d and s0,s0,a5 - 5a44: 8522 mv a0,s0 - 5a46: 178010ef jal ra,6bbe <__clzsi2> - 5a4a: 156d addi a0,a0,-5 - 5a4c: 00a417b3 sll a5,s0,a0 - 5a50: 1a954863 blt a0,s1,5c00 <__addsf3+0x24a> - 5a54: 8d05 sub a0,a0,s1 - 5a56: 00150413 addi s0,a0,1 # 800001 <_data_lma+0x7f7141> - 5a5a: 02000713 li a4,32 - 5a5e: 8f01 sub a4,a4,s0 - 5a60: 00e79733 sll a4,a5,a4 - 5a64: 00e03733 snez a4,a4 - 5a68: 0087d7b3 srl a5,a5,s0 - 5a6c: 8fd9 or a5,a5,a4 - 5a6e: 4481 li s1,0 - 5a70: 0077f713 andi a4,a5,7 - 5a74: c719 beqz a4,5a82 <__addsf3+0xcc> - 5a76: 00f7f713 andi a4,a5,15 - 5a7a: 4691 li a3,4 - 5a7c: 00d70363 beq a4,a3,5a82 <__addsf3+0xcc> - 5a80: 0791 addi a5,a5,4 - 5a82: 00579713 slli a4,a5,0x5 - 5a86: 14075b63 bgez a4,5bdc <__addsf3+0x226> - 5a8a: 0485 addi s1,s1,1 - 5a8c: 0ff00713 li a4,255 - 5a90: 864a mv a2,s2 - 5a92: 16e48363 beq s1,a4,5bf8 <__addsf3+0x242> - 5a96: 079a slli a5,a5,0x6 - 5a98: 83a5 srli a5,a5,0x9 - 5a9a: 0ff4f513 andi a0,s1,255 - 5a9e: 40b2 lw ra,12(sp) - 5aa0: 4422 lw s0,8(sp) - 5aa2: 07a6 slli a5,a5,0x9 - 5aa4: 01751493 slli s1,a0,0x17 - 5aa8: 0097d513 srli a0,a5,0x9 - 5aac: 8d45 or a0,a0,s1 - 5aae: 067e slli a2,a2,0x1f - 5ab0: 4492 lw s1,4(sp) - 5ab2: 4902 lw s2,0(sp) - 5ab4: 8d51 or a0,a0,a2 - 5ab6: 0141 addi sp,sp,16 - 5ab8: 8082 ret - 5aba: 0a089963 bnez a7,5b6c <__addsf3+0x1b6> - 5abe: 00148713 addi a4,s1,1 - 5ac2: 0fe77713 andi a4,a4,254 - 5ac6: 14071763 bnez a4,5c14 <__addsf3+0x25e> - 5aca: 22049063 bnez s1,5cea <__addsf3+0x334> - 5ace: 1e0e0d63 beqz t3,5cc8 <__addsf3+0x312> - 5ad2: fc0e86e3 beqz t4,5a9e <__addsf3+0xe8> - 5ad6: 41de07b3 sub a5,t3,t4 - 5ada: 00579713 slli a4,a5,0x5 - 5ade: 22075063 bgez a4,5cfe <__addsf3+0x348> - 5ae2: 41ce87b3 sub a5,t4,t3 - 5ae6: 892e mv s2,a1 - 5ae8: b761 j 5a70 <__addsf3+0xba> - 5aea: 0b105c63 blez a7,5ba2 <__addsf3+0x1ec> - 5aee: 08080e63 beqz a6,5b8a <__addsf3+0x1d4> - 5af2: 0ff00793 li a5,255 - 5af6: 06f48363 beq s1,a5,5b5c <__addsf3+0x1a6> - 5afa: 040007b7 lui a5,0x4000 - 5afe: 00feeeb3 or t4,t4,a5 - 5b02: 47ed li a5,27 - 5b04: 1f17c963 blt a5,a7,5cf6 <__addsf3+0x340> - 5b08: 02000793 li a5,32 - 5b0c: 411787b3 sub a5,a5,a7 - 5b10: 00fe97b3 sll a5,t4,a5 - 5b14: 011ed8b3 srl a7,t4,a7 - 5b18: 00f037b3 snez a5,a5 - 5b1c: 00f8e7b3 or a5,a7,a5 - 5b20: 97f2 add a5,a5,t3 - 5b22: 00579713 slli a4,a5,0x5 - 5b26: 0a075763 bgez a4,5bd4 <__addsf3+0x21e> - 5b2a: 0485 addi s1,s1,1 - 5b2c: 0ff00713 li a4,255 - 5b30: 0ce48463 beq s1,a4,5bf8 <__addsf3+0x242> - 5b34: 7e0006b7 lui a3,0x7e000 - 5b38: 0017d713 srli a4,a5,0x1 - 5b3c: 16fd addi a3,a3,-1 - 5b3e: 8b85 andi a5,a5,1 - 5b40: 8f75 and a4,a4,a3 - 5b42: 8fd9 or a5,a5,a4 - 5b44: b735 j 5a70 <__addsf3+0xba> - 5b46: 080e8d63 beqz t4,5be0 <__addsf3+0x22a> - 5b4a: 18fd addi a7,a7,-1 - 5b4c: 41de07b3 sub a5,t3,t4 - 5b50: ee0882e3 beqz a7,5a34 <__addsf3+0x7e> - 5b54: 0ff00793 li a5,255 - 5b58: eaf49de3 bne s1,a5,5a12 <__addsf3+0x5c> - 5b5c: 08030d63 beqz t1,5bf6 <__addsf3+0x240> - 5b60: 4601 li a2,0 - 5b62: 0ff00513 li a0,255 - 5b66: 004007b7 lui a5,0x400 - 5b6a: bf15 j 5a9e <__addsf3+0xe8> - 5b6c: 40980733 sub a4,a6,s1 - 5b70: e8ed bnez s1,5c62 <__addsf3+0x2ac> - 5b72: 140e0263 beqz t3,5cb6 <__addsf3+0x300> - 5b76: 177d addi a4,a4,-1 - 5b78: 18070863 beqz a4,5d08 <__addsf3+0x352> - 5b7c: 0ff00793 li a5,255 - 5b80: 0ef81963 bne a6,a5,5c72 <__addsf3+0x2bc> - 5b84: 892e mv s2,a1 - 5b86: 8336 mv t1,a3 - 5b88: bfd1 j 5b5c <__addsf3+0x1a6> - 5b8a: 040e8b63 beqz t4,5be0 <__addsf3+0x22a> - 5b8e: 18fd addi a7,a7,-1 - 5b90: 01de07b3 add a5,t3,t4 - 5b94: f80887e3 beqz a7,5b22 <__addsf3+0x16c> - 5b98: 0ff00793 li a5,255 - 5b9c: f6f493e3 bne s1,a5,5b02 <__addsf3+0x14c> - 5ba0: bf75 j 5b5c <__addsf3+0x1a6> - 5ba2: 08089563 bnez a7,5c2c <__addsf3+0x276> - 5ba6: 0485 addi s1,s1,1 - 5ba8: 0fe4f713 andi a4,s1,254 - 5bac: 12071363 bnez a4,5cd2 <__addsf3+0x31c> - 5bb0: 10051763 bnez a0,5cbe <__addsf3+0x308> - 5bb4: 140e0f63 beqz t3,5d12 <__addsf3+0x35c> - 5bb8: ee0e83e3 beqz t4,5a9e <__addsf3+0xe8> - 5bbc: 01de07b3 add a5,t3,t4 - 5bc0: 00579713 slli a4,a5,0x5 - 5bc4: 4481 li s1,0 - 5bc6: 00075763 bgez a4,5bd4 <__addsf3+0x21e> - 5bca: fc000737 lui a4,0xfc000 - 5bce: 177d addi a4,a4,-1 - 5bd0: 8ff9 and a5,a5,a4 - 5bd2: 4485 li s1,1 - 5bd4: 0077f713 andi a4,a5,7 - 5bd8: e8071fe3 bnez a4,5a76 <__addsf3+0xc0> - 5bdc: 0037d313 srli t1,a5,0x3 - 5be0: 0ff00793 li a5,255 - 5be4: f6f48ce3 beq s1,a5,5b5c <__addsf3+0x1a6> - 5be8: 00931793 slli a5,t1,0x9 - 5bec: 83a5 srli a5,a5,0x9 - 5bee: 0ff4f513 andi a0,s1,255 - 5bf2: 864a mv a2,s2 - 5bf4: b56d j 5a9e <__addsf3+0xe8> - 5bf6: 864a mv a2,s2 - 5bf8: 0ff00513 li a0,255 - 5bfc: 4781 li a5,0 - 5bfe: b545 j 5a9e <__addsf3+0xe8> - 5c00: fc000737 lui a4,0xfc000 - 5c04: 177d addi a4,a4,-1 - 5c06: 8ff9 and a5,a5,a4 - 5c08: 0077f713 andi a4,a5,7 - 5c0c: 8c89 sub s1,s1,a0 - 5c0e: e60714e3 bnez a4,5a76 <__addsf3+0xc0> - 5c12: b7e9 j 5bdc <__addsf3+0x226> - 5c14: 41de0433 sub s0,t3,t4 - 5c18: 00541793 slli a5,s0,0x5 - 5c1c: 0c07c363 bltz a5,5ce2 <__addsf3+0x32c> - 5c20: e20412e3 bnez s0,5a44 <__addsf3+0x8e> - 5c24: 4601 li a2,0 - 5c26: 4501 li a0,0 - 5c28: 4781 li a5,0 - 5c2a: bd95 j 5a9e <__addsf3+0xe8> - 5c2c: 40980733 sub a4,a6,s1 - 5c30: c4ad beqz s1,5c9a <__addsf3+0x2e4> - 5c32: 0ff00793 li a5,255 - 5c36: f4f808e3 beq a6,a5,5b86 <__addsf3+0x1d0> - 5c3a: 040007b7 lui a5,0x4000 - 5c3e: 00fe6e33 or t3,t3,a5 - 5c42: 47ed li a5,27 - 5c44: 0ce7cc63 blt a5,a4,5d1c <__addsf3+0x366> - 5c48: 02000793 li a5,32 - 5c4c: 8f99 sub a5,a5,a4 - 5c4e: 00fe17b3 sll a5,t3,a5 - 5c52: 00ee5733 srl a4,t3,a4 - 5c56: 00f037b3 snez a5,a5 - 5c5a: 8fd9 or a5,a5,a4 - 5c5c: 97f6 add a5,a5,t4 - 5c5e: 84c2 mv s1,a6 - 5c60: b5c9 j 5b22 <__addsf3+0x16c> - 5c62: 0ff00793 li a5,255 - 5c66: f0f80fe3 beq a6,a5,5b84 <__addsf3+0x1ce> - 5c6a: 040007b7 lui a5,0x4000 - 5c6e: 00fe6e33 or t3,t3,a5 - 5c72: 47ed li a5,27 - 5c74: 08e7c363 blt a5,a4,5cfa <__addsf3+0x344> - 5c78: 02000693 li a3,32 - 5c7c: 8e99 sub a3,a3,a4 - 5c7e: 00de16b3 sll a3,t3,a3 - 5c82: 00ee57b3 srl a5,t3,a4 - 5c86: 00d03733 snez a4,a3 - 5c8a: 8fd9 or a5,a5,a4 - 5c8c: 40fe87b3 sub a5,t4,a5 - 5c90: 84c2 mv s1,a6 - 5c92: 892e mv s2,a1 - 5c94: b345 j 5a34 <__addsf3+0x7e> - 5c96: 4785 li a5,1 - 5c98: bb61 j 5a30 <__addsf3+0x7a> - 5c9a: 060e0e63 beqz t3,5d16 <__addsf3+0x360> - 5c9e: 177d addi a4,a4,-1 - 5ca0: 01de07b3 add a5,t3,t4 - 5ca4: 84c2 mv s1,a6 - 5ca6: e6070ee3 beqz a4,5b22 <__addsf3+0x16c> - 5caa: 0ff00793 li a5,255 - 5cae: f8f81ae3 bne a6,a5,5c42 <__addsf3+0x28c> - 5cb2: 8336 mv t1,a3 - 5cb4: b565 j 5b5c <__addsf3+0x1a6> - 5cb6: 8336 mv t1,a3 - 5cb8: 84c2 mv s1,a6 - 5cba: 892e mv s2,a1 - 5cbc: b715 j 5be0 <__addsf3+0x22a> - 5cbe: ec0e04e3 beqz t3,5b86 <__addsf3+0x1d0> - 5cc2: e80e8de3 beqz t4,5b5c <__addsf3+0x1a6> - 5cc6: bd69 j 5b60 <__addsf3+0x1aa> - 5cc8: 020e8d63 beqz t4,5d02 <__addsf3+0x34c> - 5ccc: 862e mv a2,a1 - 5cce: 87b6 mv a5,a3 - 5cd0: b3f9 j 5a9e <__addsf3+0xe8> - 5cd2: 0ff00793 li a5,255 - 5cd6: f2f481e3 beq s1,a5,5bf8 <__addsf3+0x242> - 5cda: 01de07b3 add a5,t3,t4 - 5cde: 8385 srli a5,a5,0x1 - 5ce0: bdd5 j 5bd4 <__addsf3+0x21e> - 5ce2: 41ce8433 sub s0,t4,t3 - 5ce6: 892e mv s2,a1 - 5ce8: bbb1 j 5a44 <__addsf3+0x8e> - 5cea: fc0e1ce3 bnez t3,5cc2 <__addsf3+0x30c> - 5cee: e60e89e3 beqz t4,5b60 <__addsf3+0x1aa> - 5cf2: 892e mv s2,a1 - 5cf4: bd49 j 5b86 <__addsf3+0x1d0> - 5cf6: 4785 li a5,1 - 5cf8: b525 j 5b20 <__addsf3+0x16a> - 5cfa: 4785 li a5,1 - 5cfc: bf41 j 5c8c <__addsf3+0x2d6> - 5cfe: ec079be3 bnez a5,5bd4 <__addsf3+0x21e> - 5d02: 4601 li a2,0 - 5d04: 4781 li a5,0 - 5d06: bb61 j 5a9e <__addsf3+0xe8> - 5d08: 41ce87b3 sub a5,t4,t3 - 5d0c: 84c2 mv s1,a6 - 5d0e: 892e mv s2,a1 - 5d10: b315 j 5a34 <__addsf3+0x7e> - 5d12: 87b6 mv a5,a3 - 5d14: b369 j 5a9e <__addsf3+0xe8> - 5d16: 8336 mv t1,a3 - 5d18: 84c2 mv s1,a6 - 5d1a: b5d9 j 5be0 <__addsf3+0x22a> - 5d1c: 4785 li a5,1 - 5d1e: bf3d j 5c5c <__addsf3+0x2a6> - -00005d20 <__divsf3>: - 5d20: 7139 addi sp,sp,-64 - 5d22: 01755793 srli a5,a0,0x17 - 5d26: d84a sw s2,48(sp) - 5d28: d256 sw s5,36(sp) - 5d2a: ce5e sw s7,28(sp) - 5d2c: 00951a93 slli s5,a0,0x9 - 5d30: 01f55913 srli s2,a0,0x1f - 5d34: de06 sw ra,60(sp) - 5d36: dc22 sw s0,56(sp) - 5d38: da26 sw s1,52(sp) - 5d3a: d64e sw s3,44(sp) - 5d3c: d452 sw s4,40(sp) - 5d3e: d05a sw s6,32(sp) - 5d40: 0ff7f793 andi a5,a5,255 - 5d44: 009ada93 srli s5,s5,0x9 - 5d48: 8bca mv s7,s2 - 5d4a: 12078263 beqz a5,5e6e <__divsf3+0x14e> - 5d4e: 0ff00713 li a4,255 - 5d52: 12e78463 beq a5,a4,5e7a <__divsf3+0x15a> - 5d56: 0a8e slli s5,s5,0x3 - 5d58: 04000737 lui a4,0x4000 - 5d5c: 00eaeab3 or s5,s5,a4 - 5d60: f8178a13 addi s4,a5,-127 # 3ffff81 <_data_lma+0x3ff70c1> - 5d64: 4401 li s0,0 - 5d66: 4b01 li s6,0 - 5d68: 0175d793 srli a5,a1,0x17 - 5d6c: 00959493 slli s1,a1,0x9 - 5d70: 0ff7f793 andi a5,a5,255 - 5d74: 80a5 srli s1,s1,0x9 - 5d76: 01f5d993 srli s3,a1,0x1f - 5d7a: c7fd beqz a5,5e68 <__divsf3+0x148> - 5d7c: 0ff00713 li a4,255 - 5d80: 02e78763 beq a5,a4,5dae <__divsf3+0x8e> - 5d84: 048e slli s1,s1,0x3 - 5d86: f8178793 addi a5,a5,-127 - 5d8a: 04000737 lui a4,0x4000 - 5d8e: 8cd9 or s1,s1,a4 - 5d90: 40fa0a33 sub s4,s4,a5 - 5d94: 4681 li a3,0 - 5d96: 8c55 or s0,s0,a3 - 5d98: 00003717 auipc a4,0x3 - 5d9c: ecc70713 addi a4,a4,-308 # 8c64 - 5da0: 040a slli s0,s0,0x2 - 5da2: 943a add s0,s0,a4 - 5da4: 401c lw a5,0(s0) - 5da6: 01394933 xor s2,s2,s3 - 5daa: 97ba add a5,a5,a4 - 5dac: 8782 jr a5 - 5dae: f01a0a13 addi s4,s4,-255 - 5db2: e8f9 bnez s1,5e88 <__divsf3+0x168> - 5db4: 4689 li a3,2 - 5db6: 8c55 or s0,s0,a3 - 5db8: 00003717 auipc a4,0x3 - 5dbc: eec70713 addi a4,a4,-276 # 8ca4 - 5dc0: 040a slli s0,s0,0x2 - 5dc2: 943a add s0,s0,a4 - 5dc4: 401c lw a5,0(s0) - 5dc6: 01394933 xor s2,s2,s3 - 5dca: 97ba add a5,a5,a4 - 5dcc: 8782 jr a5 - 5dce: 4901 li s2,0 - 5dd0: 0ff00713 li a4,255 - 5dd4: 004007b7 lui a5,0x400 - 5dd8: 00979513 slli a0,a5,0x9 - 5ddc: 50f2 lw ra,60(sp) - 5dde: 5462 lw s0,56(sp) - 5de0: 01771793 slli a5,a4,0x17 - 5de4: 8125 srli a0,a0,0x9 - 5de6: 097e slli s2,s2,0x1f - 5de8: 8d5d or a0,a0,a5 - 5dea: 01256533 or a0,a0,s2 - 5dee: 54d2 lw s1,52(sp) - 5df0: 5942 lw s2,48(sp) - 5df2: 59b2 lw s3,44(sp) - 5df4: 5a22 lw s4,40(sp) - 5df6: 5a92 lw s5,36(sp) - 5df8: 5b02 lw s6,32(sp) - 5dfa: 4bf2 lw s7,28(sp) - 5dfc: 6121 addi sp,sp,64 - 5dfe: 8082 ret - 5e00: 0ff00713 li a4,255 - 5e04: 4781 li a5,0 - 5e06: bfc9 j 5dd8 <__divsf3+0xb8> - 5e08: 8aa6 mv s5,s1 - 5e0a: 8bce mv s7,s3 - 5e0c: 8b36 mv s6,a3 - 5e0e: 4789 li a5,2 - 5e10: 1afb0b63 beq s6,a5,5fc6 <__divsf3+0x2a6> - 5e14: 478d li a5,3 - 5e16: fafb0ce3 beq s6,a5,5dce <__divsf3+0xae> - 5e1a: 4785 li a5,1 - 5e1c: 0afb0a63 beq s6,a5,5ed0 <__divsf3+0x1b0> - 5e20: 07fa0713 addi a4,s4,127 - 5e24: 001bf913 andi s2,s7,1 - 5e28: 12e05763 blez a4,5f56 <__divsf3+0x236> - 5e2c: 007af793 andi a5,s5,7 - 5e30: c799 beqz a5,5e3e <__divsf3+0x11e> - 5e32: 00faf793 andi a5,s5,15 - 5e36: 4691 li a3,4 - 5e38: 00d78363 beq a5,a3,5e3e <__divsf3+0x11e> - 5e3c: 0a91 addi s5,s5,4 - 5e3e: 004a9793 slli a5,s5,0x4 - 5e42: 0007d963 bgez a5,5e54 <__divsf3+0x134> - 5e46: f80007b7 lui a5,0xf8000 - 5e4a: 17fd addi a5,a5,-1 - 5e4c: 00fafab3 and s5,s5,a5 - 5e50: 080a0713 addi a4,s4,128 - 5e54: 0fe00793 li a5,254 - 5e58: fae7c4e3 blt a5,a4,5e00 <__divsf3+0xe0> - 5e5c: 006a9793 slli a5,s5,0x6 - 5e60: 83a5 srli a5,a5,0x9 - 5e62: 0ff77713 andi a4,a4,255 - 5e66: bf8d j 5dd8 <__divsf3+0xb8> - 5e68: e4b9 bnez s1,5eb6 <__divsf3+0x196> - 5e6a: 4685 li a3,1 - 5e6c: b7a9 j 5db6 <__divsf3+0x96> - 5e6e: 020a9463 bnez s5,5e96 <__divsf3+0x176> - 5e72: 4411 li s0,4 - 5e74: 4a01 li s4,0 - 5e76: 4b05 li s6,1 - 5e78: bdc5 j 5d68 <__divsf3+0x48> - 5e7a: 000a9963 bnez s5,5e8c <__divsf3+0x16c> - 5e7e: 4421 li s0,8 - 5e80: 0ff00a13 li s4,255 - 5e84: 4b09 li s6,2 - 5e86: b5cd j 5d68 <__divsf3+0x48> - 5e88: 468d li a3,3 - 5e8a: b731 j 5d96 <__divsf3+0x76> - 5e8c: 4431 li s0,12 - 5e8e: 0ff00a13 li s4,255 - 5e92: 4b0d li s6,3 - 5e94: bdd1 j 5d68 <__divsf3+0x48> - 5e96: 8556 mv a0,s5 - 5e98: c62e sw a1,12(sp) - 5e9a: 525000ef jal ra,6bbe <__clzsi2> - 5e9e: ffb50793 addi a5,a0,-5 - 5ea2: 00fa9ab3 sll s5,s5,a5 - 5ea6: f8a00793 li a5,-118 - 5eaa: 40a78a33 sub s4,a5,a0 - 5eae: 4401 li s0,0 - 5eb0: 4b01 li s6,0 - 5eb2: 45b2 lw a1,12(sp) - 5eb4: bd55 j 5d68 <__divsf3+0x48> - 5eb6: 8526 mv a0,s1 - 5eb8: 507000ef jal ra,6bbe <__clzsi2> - 5ebc: ffb50713 addi a4,a0,-5 - 5ec0: 00aa07b3 add a5,s4,a0 - 5ec4: 00e494b3 sll s1,s1,a4 - 5ec8: 07678a13 addi s4,a5,118 # f8000076 <_eusrstack+0xd7ffb076> - 5ecc: 4681 li a3,0 - 5ece: b5e1 j 5d96 <__divsf3+0x76> - 5ed0: 001bf913 andi s2,s7,1 - 5ed4: 4701 li a4,0 - 5ed6: 4781 li a5,0 - 5ed8: b701 j 5dd8 <__divsf3+0xb8> - 5eda: 6641 lui a2,0x10 - 5edc: 00549513 slli a0,s1,0x5 - 5ee0: 167d addi a2,a2,-1 - 5ee2: 01055793 srli a5,a0,0x10 - 5ee6: 8e69 and a2,a2,a0 - 5ee8: 0a9afa63 bgeu s5,s1,5f9c <__divsf3+0x27c> - 5eec: 02fad5b3 divu a1,s5,a5 - 5ef0: 1a7d addi s4,s4,-1 - 5ef2: 86d6 mv a3,s5 - 5ef4: 4701 li a4,0 - 5ef6: 02c58833 mul a6,a1,a2 - 5efa: 02f6f6b3 remu a3,a3,a5 - 5efe: 06c2 slli a3,a3,0x10 - 5f00: 8f55 or a4,a4,a3 - 5f02: 01077b63 bgeu a4,a6,5f18 <__divsf3+0x1f8> - 5f06: 972a add a4,a4,a0 - 5f08: fff58693 addi a3,a1,-1 - 5f0c: 0aa76863 bltu a4,a0,5fbc <__divsf3+0x29c> - 5f10: 0b077663 bgeu a4,a6,5fbc <__divsf3+0x29c> - 5f14: 15f9 addi a1,a1,-2 - 5f16: 972a add a4,a4,a0 - 5f18: 41070733 sub a4,a4,a6 - 5f1c: 02f756b3 divu a3,a4,a5 - 5f20: 02f77733 remu a4,a4,a5 - 5f24: 02c68ab3 mul s5,a3,a2 - 5f28: 01071793 slli a5,a4,0x10 - 5f2c: 0157fb63 bgeu a5,s5,5f42 <__divsf3+0x222> - 5f30: 97aa add a5,a5,a0 - 5f32: fff68713 addi a4,a3,-1 # 7dffffff <_eusrstack+0x5dffafff> - 5f36: 08a7e163 bltu a5,a0,5fb8 <__divsf3+0x298> - 5f3a: 0757ff63 bgeu a5,s5,5fb8 <__divsf3+0x298> - 5f3e: 16f9 addi a3,a3,-2 - 5f40: 97aa add a5,a5,a0 - 5f42: 05c2 slli a1,a1,0x10 - 5f44: 41578ab3 sub s5,a5,s5 - 5f48: 8dd5 or a1,a1,a3 - 5f4a: 01503ab3 snez s5,s5 - 5f4e: 0155eab3 or s5,a1,s5 - 5f52: 8bca mv s7,s2 - 5f54: b5f1 j 5e20 <__divsf3+0x100> - 5f56: 4685 li a3,1 - 5f58: 8e99 sub a3,a3,a4 - 5f5a: c711 beqz a4,5f66 <__divsf3+0x246> - 5f5c: 466d li a2,27 - 5f5e: 4701 li a4,0 - 5f60: 4781 li a5,0 - 5f62: e6d64be3 blt a2,a3,5dd8 <__divsf3+0xb8> - 5f66: 09ea0a13 addi s4,s4,158 - 5f6a: 014a9a33 sll s4,s5,s4 - 5f6e: 00dad7b3 srl a5,s5,a3 - 5f72: 01403ab3 snez s5,s4 - 5f76: 0157e7b3 or a5,a5,s5 - 5f7a: 0077f713 andi a4,a5,7 - 5f7e: c719 beqz a4,5f8c <__divsf3+0x26c> - 5f80: 00f7f713 andi a4,a5,15 - 5f84: 4691 li a3,4 - 5f86: 00d70363 beq a4,a3,5f8c <__divsf3+0x26c> - 5f8a: 0791 addi a5,a5,4 - 5f8c: 00579713 slli a4,a5,0x5 - 5f90: 02074863 bltz a4,5fc0 <__divsf3+0x2a0> - 5f94: 079a slli a5,a5,0x6 - 5f96: 83a5 srli a5,a5,0x9 - 5f98: 4701 li a4,0 - 5f9a: bd3d j 5dd8 <__divsf3+0xb8> - 5f9c: 001ad693 srli a3,s5,0x1 - 5fa0: 02f6d5b3 divu a1,a3,a5 - 5fa4: 01fa9713 slli a4,s5,0x1f - 5fa8: 8341 srli a4,a4,0x10 - 5faa: 02c58833 mul a6,a1,a2 - 5fae: b7b1 j 5efa <__divsf3+0x1da> - 5fb0: 8bce mv s7,s3 - 5fb2: 8b36 mv s6,a3 - 5fb4: 4a81 li s5,0 - 5fb6: bda1 j 5e0e <__divsf3+0xee> - 5fb8: 86ba mv a3,a4 - 5fba: b761 j 5f42 <__divsf3+0x222> - 5fbc: 85b6 mv a1,a3 - 5fbe: bfa9 j 5f18 <__divsf3+0x1f8> - 5fc0: 4705 li a4,1 - 5fc2: 4781 li a5,0 - 5fc4: bd11 j 5dd8 <__divsf3+0xb8> - 5fc6: 001bf913 andi s2,s7,1 - 5fca: 0ff00713 li a4,255 - 5fce: 4781 li a5,0 - 5fd0: b521 j 5dd8 <__divsf3+0xb8> - -00005fd2 <__eqsf2>: - 5fd2: 01755693 srli a3,a0,0x17 - 5fd6: 008007b7 lui a5,0x800 - 5fda: 17fd addi a5,a5,-1 - 5fdc: 0175d613 srli a2,a1,0x17 - 5fe0: 0ff6f693 andi a3,a3,255 - 5fe4: 0ff00813 li a6,255 - 5fe8: 00a7f8b3 and a7,a5,a0 - 5fec: 01f55713 srli a4,a0,0x1f - 5ff0: 8fed and a5,a5,a1 - 5ff2: 0ff67613 andi a2,a2,255 - 5ff6: 81fd srli a1,a1,0x1f - 5ff8: 03068463 beq a3,a6,6020 <__eqsf2+0x4e> - 5ffc: 0ff00513 li a0,255 - 6000: 02a60463 beq a2,a0,6028 <__eqsf2+0x56> - 6004: 4505 li a0,1 - 6006: 00c68363 beq a3,a2,600c <__eqsf2+0x3a> - 600a: 8082 ret - 600c: fef89fe3 bne a7,a5,600a <__eqsf2+0x38> - 6010: 4501 li a0,0 - 6012: feb70ce3 beq a4,a1,600a <__eqsf2+0x38> - 6016: 4505 li a0,1 - 6018: faed bnez a3,600a <__eqsf2+0x38> - 601a: 01103533 snez a0,a7 - 601e: 8082 ret - 6020: 4505 li a0,1 - 6022: fc088de3 beqz a7,5ffc <__eqsf2+0x2a> - 6026: 8082 ret - 6028: 4505 li a0,1 - 602a: dfe9 beqz a5,6004 <__eqsf2+0x32> - 602c: 8082 ret - -0000602e <__gesf2>: - 602e: 01755693 srli a3,a0,0x17 - 6032: 008007b7 lui a5,0x800 - 6036: 17fd addi a5,a5,-1 - 6038: 0175d613 srli a2,a1,0x17 - 603c: 0ff6f693 andi a3,a3,255 - 6040: 0ff00813 li a6,255 - 6044: 00a7f8b3 and a7,a5,a0 - 6048: 01f55713 srli a4,a0,0x1f - 604c: 8fed and a5,a5,a1 - 604e: 0ff67613 andi a2,a2,255 - 6052: 81fd srli a1,a1,0x1f - 6054: 03068163 beq a3,a6,6076 <__gesf2+0x48> - 6058: 01060c63 beq a2,a6,6070 <__gesf2+0x42> - 605c: e28d bnez a3,607e <__gesf2+0x50> - 605e: e211 bnez a2,6062 <__gesf2+0x34> - 6060: c3b1 beqz a5,60a4 <__gesf2+0x76> - 6062: 02088e63 beqz a7,609e <__gesf2+0x70> - 6066: 04b70563 beq a4,a1,60b0 <__gesf2+0x82> - 606a: 4505 li a0,1 - 606c: e71d bnez a4,609a <__gesf2+0x6c> - 606e: 8082 ret - 6070: d7f5 beqz a5,605c <__gesf2+0x2e> - 6072: 5579 li a0,-2 - 6074: 8082 ret - 6076: fe089ee3 bnez a7,6072 <__gesf2+0x44> - 607a: 02d60963 beq a2,a3,60ac <__gesf2+0x7e> - 607e: e211 bnez a2,6082 <__gesf2+0x54> - 6080: d7ed beqz a5,606a <__gesf2+0x3c> - 6082: feb714e3 bne a4,a1,606a <__gesf2+0x3c> - 6086: fed642e3 blt a2,a3,606a <__gesf2+0x3c> - 608a: 00c6c763 blt a3,a2,6098 <__gesf2+0x6a> - 608e: fd17eee3 bltu a5,a7,606a <__gesf2+0x3c> - 6092: 4501 li a0,0 - 6094: fcf8fde3 bgeu a7,a5,606e <__gesf2+0x40> - 6098: e701 bnez a4,60a0 <__gesf2+0x72> - 609a: 557d li a0,-1 - 609c: 8082 ret - 609e: ddf5 beqz a1,609a <__gesf2+0x6c> - 60a0: 4505 li a0,1 - 60a2: 8082 ret - 60a4: 4501 li a0,0 - 60a6: fc0892e3 bnez a7,606a <__gesf2+0x3c> - 60aa: 8082 ret - 60ac: dbf9 beqz a5,6082 <__gesf2+0x54> - 60ae: b7d1 j 6072 <__gesf2+0x44> - 60b0: 4681 li a3,0 - 60b2: bfe1 j 608a <__gesf2+0x5c> - -000060b4 <__lesf2>: - 60b4: 01755693 srli a3,a0,0x17 - 60b8: 008007b7 lui a5,0x800 - 60bc: 17fd addi a5,a5,-1 - 60be: 0175d613 srli a2,a1,0x17 - 60c2: 0ff6f693 andi a3,a3,255 - 60c6: 0ff00813 li a6,255 - 60ca: 00a7f8b3 and a7,a5,a0 - 60ce: 01f55713 srli a4,a0,0x1f - 60d2: 8fed and a5,a5,a1 - 60d4: 0ff67613 andi a2,a2,255 - 60d8: 81fd srli a1,a1,0x1f - 60da: 03068763 beq a3,a6,6108 <__lesf2+0x54> - 60de: 01060963 beq a2,a6,60f0 <__lesf2+0x3c> - 60e2: ea85 bnez a3,6112 <__lesf2+0x5e> - 60e4: ea11 bnez a2,60f8 <__lesf2+0x44> - 60e6: eb89 bnez a5,60f8 <__lesf2+0x44> - 60e8: 4501 li a0,0 - 60ea: 00089b63 bnez a7,6100 <__lesf2+0x4c> - 60ee: 8082 ret - 60f0: 4509 li a0,2 - 60f2: fff5 bnez a5,60ee <__lesf2+0x3a> - 60f4: dae5 beqz a3,60e4 <__lesf2+0x30> - 60f6: a831 j 6112 <__lesf2+0x5e> - 60f8: 02088c63 beqz a7,6130 <__lesf2+0x7c> - 60fc: 04b70063 beq a4,a1,613c <__lesf2+0x88> - 6100: 4505 li a0,1 - 6102: d775 beqz a4,60ee <__lesf2+0x3a> - 6104: 557d li a0,-1 - 6106: 8082 ret - 6108: 4509 li a0,2 - 610a: 02089863 bnez a7,613a <__lesf2+0x86> - 610e: 02d60463 beq a2,a3,6136 <__lesf2+0x82> - 6112: e211 bnez a2,6116 <__lesf2+0x62> - 6114: d7f5 beqz a5,6100 <__lesf2+0x4c> - 6116: feb715e3 bne a4,a1,6100 <__lesf2+0x4c> - 611a: fed643e3 blt a2,a3,6100 <__lesf2+0x4c> - 611e: 00c6c763 blt a3,a2,612c <__lesf2+0x78> - 6122: fd17efe3 bltu a5,a7,6100 <__lesf2+0x4c> - 6126: 4501 li a0,0 - 6128: fcf8f3e3 bgeu a7,a5,60ee <__lesf2+0x3a> - 612c: e319 bnez a4,6132 <__lesf2+0x7e> - 612e: bfd9 j 6104 <__lesf2+0x50> - 6130: d9f1 beqz a1,6104 <__lesf2+0x50> - 6132: 4505 li a0,1 - 6134: 8082 ret - 6136: d3e5 beqz a5,6116 <__lesf2+0x62> - 6138: 8082 ret - 613a: 8082 ret - 613c: 4681 li a3,0 - 613e: b7c5 j 611e <__lesf2+0x6a> - -00006140 <__mulsf3>: - 6140: 7179 addi sp,sp,-48 - 6142: d422 sw s0,40(sp) - 6144: 01755413 srli s0,a0,0x17 - 6148: ce4e sw s3,28(sp) - 614a: cc52 sw s4,24(sp) - 614c: 00951993 slli s3,a0,0x9 - 6150: d606 sw ra,44(sp) - 6152: d226 sw s1,36(sp) - 6154: d04a sw s2,32(sp) - 6156: ca56 sw s5,20(sp) - 6158: c85a sw s6,16(sp) - 615a: 0ff47413 andi s0,s0,255 - 615e: 0099d993 srli s3,s3,0x9 - 6162: 01f55a13 srli s4,a0,0x1f - 6166: c469 beqz s0,6230 <__mulsf3+0xf0> - 6168: 0ff00793 li a5,255 - 616c: 0ef40863 beq s0,a5,625c <__mulsf3+0x11c> - 6170: 00399793 slli a5,s3,0x3 - 6174: 04000737 lui a4,0x4000 - 6178: 00e7e9b3 or s3,a5,a4 - 617c: f8140413 addi s0,s0,-127 # 3ffff81 <_data_lma+0x3ff70c1> - 6180: 4481 li s1,0 - 6182: 4b01 li s6,0 - 6184: 0175d713 srli a4,a1,0x17 - 6188: 00959a93 slli s5,a1,0x9 - 618c: 0ff77713 andi a4,a4,255 - 6190: 009ada93 srli s5,s5,0x9 - 6194: 01f5d913 srli s2,a1,0x1f - 6198: cf45 beqz a4,6250 <__mulsf3+0x110> - 619a: 0ff00793 li a5,255 - 619e: 02f70c63 beq a4,a5,61d6 <__mulsf3+0x96> - 61a2: 0a8e slli s5,s5,0x3 - 61a4: f8170713 addi a4,a4,-127 # 3ffff81 <_data_lma+0x3ff70c1> - 61a8: 040007b7 lui a5,0x4000 - 61ac: 00faeab3 or s5,s5,a5 - 61b0: 943a add s0,s0,a4 - 61b2: 4601 li a2,0 - 61b4: 012a4533 xor a0,s4,s2 - 61b8: 47bd li a5,15 - 61ba: 86aa mv a3,a0 - 61bc: 00140593 addi a1,s0,1 - 61c0: 1097e263 bltu a5,s1,62c4 <__mulsf3+0x184> - 61c4: 00003717 auipc a4,0x3 - 61c8: b2070713 addi a4,a4,-1248 # 8ce4 - 61cc: 048a slli s1,s1,0x2 - 61ce: 94ba add s1,s1,a4 - 61d0: 409c lw a5,0(s1) - 61d2: 97ba add a5,a5,a4 - 61d4: 8782 jr a5 - 61d6: 0ff40413 addi s0,s0,255 - 61da: 0c0a9863 bnez s5,62aa <__mulsf3+0x16a> - 61de: 0024e493 ori s1,s1,2 - 61e2: 4609 li a2,2 - 61e4: bfc1 j 61b4 <__mulsf3+0x74> - 61e6: 4501 li a0,0 - 61e8: 0ff00713 li a4,255 - 61ec: 004007b7 lui a5,0x400 - 61f0: 50b2 lw ra,44(sp) - 61f2: 5422 lw s0,40(sp) - 61f4: 07a6 slli a5,a5,0x9 - 61f6: 075e slli a4,a4,0x17 - 61f8: 83a5 srli a5,a5,0x9 - 61fa: 057e slli a0,a0,0x1f - 61fc: 8fd9 or a5,a5,a4 - 61fe: 5492 lw s1,36(sp) - 6200: 5902 lw s2,32(sp) - 6202: 49f2 lw s3,28(sp) - 6204: 4a62 lw s4,24(sp) - 6206: 4ad2 lw s5,20(sp) - 6208: 4b42 lw s6,16(sp) - 620a: 8d5d or a0,a0,a5 - 620c: 6145 addi sp,sp,48 - 620e: 8082 ret - 6210: 86ca mv a3,s2 - 6212: 89d6 mv s3,s5 - 6214: 8b32 mv s6,a2 - 6216: 4789 li a5,2 - 6218: 0afb0163 beq s6,a5,62ba <__mulsf3+0x17a> - 621c: 478d li a5,3 - 621e: fcfb04e3 beq s6,a5,61e6 <__mulsf3+0xa6> - 6222: 4785 li a5,1 - 6224: 8536 mv a0,a3 - 6226: 1afb1263 bne s6,a5,63ca <__mulsf3+0x28a> - 622a: 4701 li a4,0 - 622c: 4781 li a5,0 - 622e: b7c9 j 61f0 <__mulsf3+0xb0> - 6230: 04099e63 bnez s3,628c <__mulsf3+0x14c> - 6234: 0175d713 srli a4,a1,0x17 - 6238: 00959a93 slli s5,a1,0x9 - 623c: 0ff77713 andi a4,a4,255 - 6240: 4491 li s1,4 - 6242: 4401 li s0,0 - 6244: 4b05 li s6,1 - 6246: 009ada93 srli s5,s5,0x9 - 624a: 01f5d913 srli s2,a1,0x1f - 624e: f731 bnez a4,619a <__mulsf3+0x5a> - 6250: 000a9d63 bnez s5,626a <__mulsf3+0x12a> - 6254: 0014e493 ori s1,s1,1 - 6258: 4605 li a2,1 - 625a: bfa9 j 61b4 <__mulsf3+0x74> - 625c: 02099363 bnez s3,6282 <__mulsf3+0x142> - 6260: 44a1 li s1,8 - 6262: 0ff00413 li s0,255 - 6266: 4b09 li s6,2 - 6268: bf31 j 6184 <__mulsf3+0x44> - 626a: 8556 mv a0,s5 - 626c: 153000ef jal ra,6bbe <__clzsi2> - 6270: ffb50793 addi a5,a0,-5 - 6274: 8c09 sub s0,s0,a0 - 6276: 00fa9ab3 sll s5,s5,a5 - 627a: f8a40413 addi s0,s0,-118 - 627e: 4601 li a2,0 - 6280: bf15 j 61b4 <__mulsf3+0x74> - 6282: 44b1 li s1,12 - 6284: 0ff00413 li s0,255 - 6288: 4b0d li s6,3 - 628a: bded j 6184 <__mulsf3+0x44> - 628c: 854e mv a0,s3 - 628e: c62e sw a1,12(sp) - 6290: 12f000ef jal ra,6bbe <__clzsi2> - 6294: ffb50793 addi a5,a0,-5 - 6298: f8a00413 li s0,-118 - 629c: 00f999b3 sll s3,s3,a5 - 62a0: 8c09 sub s0,s0,a0 - 62a2: 4481 li s1,0 - 62a4: 4b01 li s6,0 - 62a6: 45b2 lw a1,12(sp) - 62a8: bdf1 j 6184 <__mulsf3+0x44> - 62aa: 0034e493 ori s1,s1,3 - 62ae: 460d li a2,3 - 62b0: b711 j 61b4 <__mulsf3+0x74> - 62b2: 4789 li a5,2 - 62b4: 86d2 mv a3,s4 - 62b6: f6fb13e3 bne s6,a5,621c <__mulsf3+0xdc> - 62ba: 8536 mv a0,a3 - 62bc: 0ff00713 li a4,255 - 62c0: 4781 li a5,0 - 62c2: b73d j 61f0 <__mulsf3+0xb0> - 62c4: 6341 lui t1,0x10 - 62c6: fff30693 addi a3,t1,-1 # ffff <_data_lma+0x713f> - 62ca: 0109d613 srli a2,s3,0x10 - 62ce: 010ad893 srli a7,s5,0x10 - 62d2: 00d9f7b3 and a5,s3,a3 - 62d6: 00dafab3 and s5,s5,a3 - 62da: 03578833 mul a6,a5,s5 - 62de: 02f889b3 mul s3,a7,a5 - 62e2: 01085713 srli a4,a6,0x10 - 62e6: 03560ab3 mul s5,a2,s5 - 62ea: 99d6 add s3,s3,s5 - 62ec: 974e add a4,a4,s3 - 62ee: 03160633 mul a2,a2,a7 - 62f2: 01577363 bgeu a4,s5,62f8 <__mulsf3+0x1b8> - 62f6: 961a add a2,a2,t1 - 62f8: 67c1 lui a5,0x10 - 62fa: 17fd addi a5,a5,-1 - 62fc: 00f776b3 and a3,a4,a5 - 6300: 00f87833 and a6,a6,a5 - 6304: 06c2 slli a3,a3,0x10 - 6306: 96c2 add a3,a3,a6 - 6308: 00669993 slli s3,a3,0x6 - 630c: 01075793 srli a5,a4,0x10 - 6310: 013039b3 snez s3,s3 - 6314: 82e9 srli a3,a3,0x1a - 6316: 97b2 add a5,a5,a2 - 6318: 079a slli a5,a5,0x6 - 631a: 00d9e6b3 or a3,s3,a3 - 631e: 00d7e9b3 or s3,a5,a3 - 6322: 00499793 slli a5,s3,0x4 - 6326: 0007d963 bgez a5,6338 <__mulsf3+0x1f8> - 632a: 0019d713 srli a4,s3,0x1 - 632e: 0019f793 andi a5,s3,1 - 6332: 00f769b3 or s3,a4,a5 - 6336: 842e mv s0,a1 - 6338: 07f40713 addi a4,s0,127 - 633c: 04e05063 blez a4,637c <__mulsf3+0x23c> - 6340: 0079f793 andi a5,s3,7 - 6344: c799 beqz a5,6352 <__mulsf3+0x212> - 6346: 00f9f793 andi a5,s3,15 - 634a: 4691 li a3,4 - 634c: 00d78363 beq a5,a3,6352 <__mulsf3+0x212> - 6350: 0991 addi s3,s3,4 - 6352: 00499793 slli a5,s3,0x4 - 6356: 0007d963 bgez a5,6368 <__mulsf3+0x228> - 635a: f80007b7 lui a5,0xf8000 - 635e: 17fd addi a5,a5,-1 - 6360: 00f9f9b3 and s3,s3,a5 - 6364: 08040713 addi a4,s0,128 - 6368: 0fe00793 li a5,254 - 636c: 04e7cb63 blt a5,a4,63c2 <__mulsf3+0x282> - 6370: 00699793 slli a5,s3,0x6 - 6374: 83a5 srli a5,a5,0x9 - 6376: 0ff77713 andi a4,a4,255 - 637a: bd9d j 61f0 <__mulsf3+0xb0> - 637c: 4785 li a5,1 - 637e: 40e786b3 sub a3,a5,a4 - 6382: c711 beqz a4,638e <__mulsf3+0x24e> - 6384: 466d li a2,27 - 6386: 4701 li a4,0 - 6388: 4781 li a5,0 - 638a: e6d643e3 blt a2,a3,61f0 <__mulsf3+0xb0> - 638e: 09e40713 addi a4,s0,158 - 6392: 00e99733 sll a4,s3,a4 - 6396: 00e03733 snez a4,a4 - 639a: 00d9d7b3 srl a5,s3,a3 - 639e: 8fd9 or a5,a5,a4 - 63a0: 0077f713 andi a4,a5,7 - 63a4: c719 beqz a4,63b2 <__mulsf3+0x272> - 63a6: 00f7f713 andi a4,a5,15 - 63aa: 4691 li a3,4 - 63ac: 00d70363 beq a4,a3,63b2 <__mulsf3+0x272> - 63b0: 0791 addi a5,a5,4 - 63b2: 00579713 slli a4,a5,0x5 - 63b6: 00074c63 bltz a4,63ce <__mulsf3+0x28e> - 63ba: 079a slli a5,a5,0x6 - 63bc: 83a5 srli a5,a5,0x9 - 63be: 4701 li a4,0 - 63c0: bd05 j 61f0 <__mulsf3+0xb0> - 63c2: 0ff00713 li a4,255 - 63c6: 4781 li a5,0 - 63c8: b525 j 61f0 <__mulsf3+0xb0> - 63ca: 842e mv s0,a1 - 63cc: b7b5 j 6338 <__mulsf3+0x1f8> - 63ce: 4705 li a4,1 - 63d0: 4781 li a5,0 - 63d2: bd39 j 61f0 <__mulsf3+0xb0> - -000063d4 <__subsf3>: - 63d4: 00800737 lui a4,0x800 - 63d8: 1141 addi sp,sp,-16 - 63da: 177d addi a4,a4,-1 - 63dc: 01755693 srli a3,a0,0x17 - 63e0: 0175d813 srli a6,a1,0x17 - 63e4: 00a777b3 and a5,a4,a0 - 63e8: 0ff6f693 andi a3,a3,255 - 63ec: 01f55e93 srli t4,a0,0x1f - 63f0: 00b77633 and a2,a4,a1 - 63f4: c226 sw s1,4(sp) - 63f6: c04a sw s2,0(sp) - 63f8: 0ff87813 andi a6,a6,255 - 63fc: c606 sw ra,12(sp) - 63fe: c422 sw s0,8(sp) - 6400: 0ff00313 li t1,255 - 6404: 8e3e mv t3,a5 - 6406: 8936 mv s2,a3 - 6408: 84f6 mv s1,t4 - 640a: 00379f13 slli t5,a5,0x3 - 640e: 81fd srli a1,a1,0x1f - 6410: 00361513 slli a0,a2,0x3 - 6414: 410688b3 sub a7,a3,a6 - 6418: 10680263 beq a6,t1,651c <__subsf3+0x148> - 641c: 0015c593 xori a1,a1,1 - 6420: 10be8c63 beq t4,a1,6538 <__subsf3+0x164> - 6424: 0d105463 blez a7,64ec <__subsf3+0x118> - 6428: 10081063 bnez a6,6528 <__subsf3+0x154> - 642c: 1e050463 beqz a0,6614 <__subsf3+0x240> - 6430: 18fd addi a7,a7,-1 - 6432: 40af07b3 sub a5,t5,a0 - 6436: 02088663 beqz a7,6462 <__subsf3+0x8e> - 643a: 0ff00793 li a5,255 - 643e: 16f68863 beq a3,a5,65ae <__subsf3+0x1da> - 6442: 47ed li a5,27 - 6444: 2917c763 blt a5,a7,66d2 <__subsf3+0x2fe> - 6448: 02000713 li a4,32 - 644c: 41170733 sub a4,a4,a7 - 6450: 00e51733 sll a4,a0,a4 - 6454: 011557b3 srl a5,a0,a7 - 6458: 00e03733 snez a4,a4 - 645c: 8fd9 or a5,a5,a4 - 645e: 40ff07b3 sub a5,t5,a5 - 6462: 00579713 slli a4,a5,0x5 - 6466: 1a075163 bgez a4,6608 <__subsf3+0x234> - 646a: 04000437 lui s0,0x4000 - 646e: 147d addi s0,s0,-1 - 6470: 8c7d and s0,s0,a5 - 6472: 8522 mv a0,s0 - 6474: 27a9 jal 6bbe <__clzsi2> - 6476: 156d addi a0,a0,-5 - 6478: 00a417b3 sll a5,s0,a0 - 647c: 1b254e63 blt a0,s2,6638 <__subsf3+0x264> - 6480: 41250533 sub a0,a0,s2 - 6484: 00150413 addi s0,a0,1 - 6488: 02000713 li a4,32 - 648c: 8f01 sub a4,a4,s0 - 648e: 00e79733 sll a4,a5,a4 - 6492: 00e03733 snez a4,a4 - 6496: 0087d7b3 srl a5,a5,s0 - 649a: 8fd9 or a5,a5,a4 - 649c: 4901 li s2,0 - 649e: 0077f713 andi a4,a5,7 - 64a2: c719 beqz a4,64b0 <__subsf3+0xdc> - 64a4: 00f7f713 andi a4,a5,15 - 64a8: 4691 li a3,4 - 64aa: 00d70363 beq a4,a3,64b0 <__subsf3+0xdc> - 64ae: 0791 addi a5,a5,4 - 64b0: 00579713 slli a4,a5,0x5 - 64b4: 14075e63 bgez a4,6610 <__subsf3+0x23c> - 64b8: 00190693 addi a3,s2,1 # 800001 <_data_lma+0x7f7141> - 64bc: 0ff00713 li a4,255 - 64c0: 0014fe93 andi t4,s1,1 - 64c4: 16e68663 beq a3,a4,6630 <__subsf3+0x25c> - 64c8: 079a slli a5,a5,0x6 - 64ca: 83a5 srli a5,a5,0x9 - 64cc: 0ff6f693 andi a3,a3,255 - 64d0: 07a6 slli a5,a5,0x9 - 64d2: 40b2 lw ra,12(sp) - 64d4: 4422 lw s0,8(sp) - 64d6: 0097d513 srli a0,a5,0x9 - 64da: 06de slli a3,a3,0x17 - 64dc: 01fe9793 slli a5,t4,0x1f - 64e0: 8d55 or a0,a0,a3 - 64e2: 4492 lw s1,4(sp) - 64e4: 4902 lw s2,0(sp) - 64e6: 8d5d or a0,a0,a5 - 64e8: 0141 addi sp,sp,16 - 64ea: 8082 ret - 64ec: 0a089263 bnez a7,6590 <__subsf3+0x1bc> - 64f0: 00168713 addi a4,a3,1 - 64f4: 0fe77713 andi a4,a4,254 - 64f8: 14071b63 bnez a4,664e <__subsf3+0x27a> - 64fc: 22069463 bnez a3,6724 <__subsf3+0x350> - 6500: 200f0263 beqz t5,6704 <__subsf3+0x330> - 6504: d571 beqz a0,64d0 <__subsf3+0xfc> - 6506: 40af07b3 sub a5,t5,a0 - 650a: 00579713 slli a4,a5,0x5 - 650e: 22075563 bgez a4,6738 <__subsf3+0x364> - 6512: 41e507b3 sub a5,a0,t5 - 6516: 4901 li s2,0 - 6518: 84ae mv s1,a1 - 651a: b751 j 649e <__subsf3+0xca> - 651c: f00500e3 beqz a0,641c <__subsf3+0x48> - 6520: 0abe8a63 beq t4,a1,65d4 <__subsf3+0x200> - 6524: fd1054e3 blez a7,64ec <__subsf3+0x118> - 6528: 0ff00793 li a5,255 - 652c: 08f68163 beq a3,a5,65ae <__subsf3+0x1da> - 6530: 040007b7 lui a5,0x4000 - 6534: 8d5d or a0,a0,a5 - 6536: b731 j 6442 <__subsf3+0x6e> - 6538: 09105e63 blez a7,65d4 <__subsf3+0x200> - 653c: 08080163 beqz a6,65be <__subsf3+0x1ea> - 6540: 0ff00793 li a5,255 - 6544: 06f68563 beq a3,a5,65ae <__subsf3+0x1da> - 6548: 040007b7 lui a5,0x4000 - 654c: 8d5d or a0,a0,a5 - 654e: 47ed li a5,27 - 6550: 1f17c063 blt a5,a7,6730 <__subsf3+0x35c> - 6554: 02000713 li a4,32 - 6558: 41170733 sub a4,a4,a7 - 655c: 00e51733 sll a4,a0,a4 - 6560: 011557b3 srl a5,a0,a7 - 6564: 00e03733 snez a4,a4 - 6568: 8fd9 or a5,a5,a4 - 656a: 97fa add a5,a5,t5 - 656c: 00579713 slli a4,a5,0x5 - 6570: 08075c63 bgez a4,6608 <__subsf3+0x234> - 6574: 0905 addi s2,s2,1 - 6576: 0ff00713 li a4,255 - 657a: 0ae90b63 beq s2,a4,6630 <__subsf3+0x25c> - 657e: 7e0006b7 lui a3,0x7e000 - 6582: 0017d713 srli a4,a5,0x1 - 6586: 16fd addi a3,a3,-1 - 6588: 8b85 andi a5,a5,1 - 658a: 8f75 and a4,a4,a3 - 658c: 8fd9 or a5,a5,a4 - 658e: bf01 j 649e <__subsf3+0xca> - 6590: 40d80733 sub a4,a6,a3 - 6594: 10069563 bnez a3,669e <__subsf3+0x2ca> - 6598: 140f0d63 beqz t5,66f2 <__subsf3+0x31e> - 659c: 177d addi a4,a4,-1 - 659e: 1a070363 beqz a4,6744 <__subsf3+0x370> - 65a2: 0ff00793 li a5,255 - 65a6: 10f81463 bne a6,a5,66ae <__subsf3+0x2da> - 65aa: 84ae mv s1,a1 - 65ac: 8e32 mv t3,a2 - 65ae: 060e0f63 beqz t3,662c <__subsf3+0x258> - 65b2: 4e81 li t4,0 - 65b4: 0ff00693 li a3,255 - 65b8: 004007b7 lui a5,0x400 - 65bc: bf11 j 64d0 <__subsf3+0xfc> - 65be: c939 beqz a0,6614 <__subsf3+0x240> - 65c0: 18fd addi a7,a7,-1 - 65c2: 00af07b3 add a5,t5,a0 - 65c6: fa0883e3 beqz a7,656c <__subsf3+0x198> - 65ca: 0ff00793 li a5,255 - 65ce: f8f690e3 bne a3,a5,654e <__subsf3+0x17a> - 65d2: bff1 j 65ae <__subsf3+0x1da> - 65d4: 08089963 bnez a7,6666 <__subsf3+0x292> - 65d8: 00168913 addi s2,a3,1 # 7e000001 <_eusrstack+0x5dffb001> - 65dc: 0fe97713 andi a4,s2,254 - 65e0: 12071663 bnez a4,670c <__subsf3+0x338> - 65e4: 10069b63 bnez a3,66fa <__subsf3+0x326> - 65e8: 160f0363 beqz t5,674e <__subsf3+0x37a> - 65ec: ee0502e3 beqz a0,64d0 <__subsf3+0xfc> - 65f0: 00af07b3 add a5,t5,a0 - 65f4: 00579713 slli a4,a5,0x5 - 65f8: 4901 li s2,0 - 65fa: 00075763 bgez a4,6608 <__subsf3+0x234> - 65fe: fc000737 lui a4,0xfc000 - 6602: 177d addi a4,a4,-1 - 6604: 8ff9 and a5,a5,a4 - 6606: 4905 li s2,1 - 6608: 0077f713 andi a4,a5,7 - 660c: e8071ce3 bnez a4,64a4 <__subsf3+0xd0> - 6610: 0037de13 srli t3,a5,0x3 - 6614: 0ff00793 li a5,255 - 6618: f8f90be3 beq s2,a5,65ae <__subsf3+0x1da> - 661c: 009e1793 slli a5,t3,0x9 - 6620: 83a5 srli a5,a5,0x9 - 6622: 0ff97693 andi a3,s2,255 - 6626: 0014fe93 andi t4,s1,1 - 662a: b55d j 64d0 <__subsf3+0xfc> - 662c: 0014fe93 andi t4,s1,1 - 6630: 0ff00693 li a3,255 - 6634: 4781 li a5,0 - 6636: bd69 j 64d0 <__subsf3+0xfc> - 6638: fc000737 lui a4,0xfc000 - 663c: 177d addi a4,a4,-1 - 663e: 8ff9 and a5,a5,a4 - 6640: 0077f713 andi a4,a5,7 - 6644: 40a90933 sub s2,s2,a0 - 6648: e4071ee3 bnez a4,64a4 <__subsf3+0xd0> - 664c: b7d1 j 6610 <__subsf3+0x23c> - 664e: 40af0433 sub s0,t5,a0 - 6652: 00541793 slli a5,s0,0x5 - 6656: 0c07c363 bltz a5,671c <__subsf3+0x348> - 665a: e0041ce3 bnez s0,6472 <__subsf3+0x9e> - 665e: 4e81 li t4,0 - 6660: 4681 li a3,0 - 6662: 4781 li a5,0 - 6664: b5b5 j 64d0 <__subsf3+0xfc> - 6666: 40d80733 sub a4,a6,a3 - 666a: c6b5 beqz a3,66d6 <__subsf3+0x302> - 666c: 0ff00793 li a5,255 - 6670: f2f80ee3 beq a6,a5,65ac <__subsf3+0x1d8> - 6674: 040007b7 lui a5,0x4000 - 6678: 00ff6f33 or t5,t5,a5 - 667c: 47ed li a5,27 - 667e: 0ce7cd63 blt a5,a4,6758 <__subsf3+0x384> - 6682: 02000793 li a5,32 - 6686: 8f99 sub a5,a5,a4 - 6688: 00ff17b3 sll a5,t5,a5 - 668c: 00ef5733 srl a4,t5,a4 - 6690: 00f037b3 snez a5,a5 - 6694: 8f5d or a4,a4,a5 - 6696: 00a707b3 add a5,a4,a0 - 669a: 8942 mv s2,a6 - 669c: bdc1 j 656c <__subsf3+0x198> - 669e: 0ff00793 li a5,255 - 66a2: f0f804e3 beq a6,a5,65aa <__subsf3+0x1d6> - 66a6: 040007b7 lui a5,0x4000 - 66aa: 00ff6f33 or t5,t5,a5 - 66ae: 47ed li a5,27 - 66b0: 08e7c263 blt a5,a4,6734 <__subsf3+0x360> - 66b4: 02000793 li a5,32 - 66b8: 8f99 sub a5,a5,a4 - 66ba: 00ff17b3 sll a5,t5,a5 - 66be: 00ef5733 srl a4,t5,a4 - 66c2: 00f037b3 snez a5,a5 - 66c6: 8fd9 or a5,a5,a4 - 66c8: 40f507b3 sub a5,a0,a5 - 66cc: 8942 mv s2,a6 - 66ce: 84ae mv s1,a1 - 66d0: bb49 j 6462 <__subsf3+0x8e> - 66d2: 4785 li a5,1 - 66d4: b369 j 645e <__subsf3+0x8a> - 66d6: 060f0e63 beqz t5,6752 <__subsf3+0x37e> - 66da: 177d addi a4,a4,-1 - 66dc: 00af07b3 add a5,t5,a0 - 66e0: 8942 mv s2,a6 - 66e2: e80705e3 beqz a4,656c <__subsf3+0x198> - 66e6: 0ff00793 li a5,255 - 66ea: f8f819e3 bne a6,a5,667c <__subsf3+0x2a8> - 66ee: 8e32 mv t3,a2 - 66f0: bd7d j 65ae <__subsf3+0x1da> - 66f2: 8e32 mv t3,a2 - 66f4: 8942 mv s2,a6 - 66f6: 84ae mv s1,a1 - 66f8: bf31 j 6614 <__subsf3+0x240> - 66fa: ea0f09e3 beqz t5,65ac <__subsf3+0x1d8> - 66fe: ea0508e3 beqz a0,65ae <__subsf3+0x1da> - 6702: bd45 j 65b2 <__subsf3+0x1de> - 6704: cd0d beqz a0,673e <__subsf3+0x36a> - 6706: 8eae mv t4,a1 - 6708: 87b2 mv a5,a2 - 670a: b3d9 j 64d0 <__subsf3+0xfc> - 670c: 0ff00793 li a5,255 - 6710: f2f900e3 beq s2,a5,6630 <__subsf3+0x25c> - 6714: 00af07b3 add a5,t5,a0 - 6718: 8385 srli a5,a5,0x1 - 671a: b5fd j 6608 <__subsf3+0x234> - 671c: 41e50433 sub s0,a0,t5 - 6720: 84ae mv s1,a1 - 6722: bb81 j 6472 <__subsf3+0x9e> - 6724: fc0f1de3 bnez t5,66fe <__subsf3+0x32a> - 6728: e80505e3 beqz a0,65b2 <__subsf3+0x1de> - 672c: 84ae mv s1,a1 - 672e: bdbd j 65ac <__subsf3+0x1d8> - 6730: 4785 li a5,1 - 6732: bd25 j 656a <__subsf3+0x196> - 6734: 4785 li a5,1 - 6736: bf49 j 66c8 <__subsf3+0x2f4> - 6738: 4901 li s2,0 - 673a: ec0797e3 bnez a5,6608 <__subsf3+0x234> - 673e: 4e81 li t4,0 - 6740: 4781 li a5,0 - 6742: b379 j 64d0 <__subsf3+0xfc> - 6744: 41e507b3 sub a5,a0,t5 - 6748: 8942 mv s2,a6 - 674a: 84ae mv s1,a1 - 674c: bb19 j 6462 <__subsf3+0x8e> - 674e: 87b2 mv a5,a2 - 6750: b341 j 64d0 <__subsf3+0xfc> - 6752: 8e32 mv t3,a2 - 6754: 8942 mv s2,a6 - 6756: bd7d j 6614 <__subsf3+0x240> - 6758: 4705 li a4,1 - 675a: bf35 j 6696 <__subsf3+0x2c2> - -0000675c <__fixsfsi>: - 675c: 00800637 lui a2,0x800 - 6760: 01755713 srli a4,a0,0x17 - 6764: fff60793 addi a5,a2,-1 # 7fffff <_data_lma+0x7f713f> - 6768: 0ff77713 andi a4,a4,255 - 676c: 07e00593 li a1,126 - 6770: 00a7f6b3 and a3,a5,a0 - 6774: 01f55793 srli a5,a0,0x1f - 6778: 00e5fc63 bgeu a1,a4,6790 <__fixsfsi+0x34> - 677c: 09d00593 li a1,157 - 6780: 00e5fa63 bgeu a1,a4,6794 <__fixsfsi+0x38> - 6784: 80000537 lui a0,0x80000 - 6788: fff54513 not a0,a0 - 678c: 953e add a0,a0,a5 - 678e: 8082 ret - 6790: 4501 li a0,0 - 6792: 8082 ret - 6794: 09500593 li a1,149 - 6798: 8ed1 or a3,a3,a2 - 679a: 00e5cd63 blt a1,a4,67b4 <__fixsfsi+0x58> - 679e: 09600613 li a2,150 - 67a2: 40e60733 sub a4,a2,a4 - 67a6: 00e6d733 srl a4,a3,a4 - 67aa: 40e00533 neg a0,a4 - 67ae: f3f5 bnez a5,6792 <__fixsfsi+0x36> - 67b0: 853a mv a0,a4 - 67b2: 8082 ret - 67b4: f6a70713 addi a4,a4,-150 # fbffff6a <_eusrstack+0xdbffaf6a> - 67b8: 00e69733 sll a4,a3,a4 - 67bc: b7fd j 67aa <__fixsfsi+0x4e> - -000067be <__fixunssfsi>: - 67be: 01755713 srli a4,a0,0x17 - 67c2: 00800637 lui a2,0x800 - 67c6: fff60793 addi a5,a2,-1 # 7fffff <_data_lma+0x7f713f> - 67ca: 0ff77713 andi a4,a4,255 - 67ce: 07e00593 li a1,126 - 67d2: 00a7f6b3 and a3,a5,a0 - 67d6: 01f55793 srli a5,a0,0x1f - 67da: 4501 li a0,0 - 67dc: 00e5f463 bgeu a1,a4,67e4 <__fixunssfsi+0x26> - 67e0: c399 beqz a5,67e6 <__fixunssfsi+0x28> - 67e2: 8082 ret - 67e4: 8082 ret - 67e6: 09e00793 li a5,158 - 67ea: 557d li a0,-1 - 67ec: fee7ebe3 bltu a5,a4,67e2 <__fixunssfsi+0x24> - 67f0: 09500593 li a1,149 - 67f4: 00c6e7b3 or a5,a3,a2 - 67f8: 00e5d763 bge a1,a4,6806 <__fixunssfsi+0x48> - 67fc: f6a70713 addi a4,a4,-150 - 6800: 00e79533 sll a0,a5,a4 - 6804: 8082 ret - 6806: 09600513 li a0,150 - 680a: 40e50733 sub a4,a0,a4 - 680e: 00e7d533 srl a0,a5,a4 - 6812: 8082 ret - -00006814 <__floatsisf>: - 6814: 1141 addi sp,sp,-16 - 6816: c606 sw ra,12(sp) - 6818: c422 sw s0,8(sp) - 681a: c226 sw s1,4(sp) - 681c: cd0d beqz a0,6856 <__floatsisf+0x42> - 681e: 41f55793 srai a5,a0,0x1f - 6822: 00a7c433 xor s0,a5,a0 - 6826: 8c1d sub s0,s0,a5 - 6828: 84aa mv s1,a0 - 682a: 8522 mv a0,s0 - 682c: 2e49 jal 6bbe <__clzsi2> - 682e: 09e00793 li a5,158 - 6832: 40a78733 sub a4,a5,a0 - 6836: 09600793 li a5,150 - 683a: 80fd srli s1,s1,0x1f - 683c: 02e7cc63 blt a5,a4,6874 <__floatsisf+0x60> - 6840: 46a1 li a3,8 - 6842: 0ff77793 andi a5,a4,255 - 6846: 00a6d563 bge a3,a0,6850 <__floatsisf+0x3c> - 684a: 1561 addi a0,a0,-8 - 684c: 00a41433 sll s0,s0,a0 - 6850: 0426 slli s0,s0,0x9 - 6852: 8025 srli s0,s0,0x9 - 6854: a021 j 685c <__floatsisf+0x48> - 6856: 4481 li s1,0 - 6858: 4781 li a5,0 - 685a: 4401 li s0,0 - 685c: 0426 slli s0,s0,0x9 - 685e: 00945513 srli a0,s0,0x9 - 6862: 40b2 lw ra,12(sp) - 6864: 4422 lw s0,8(sp) - 6866: 07de slli a5,a5,0x17 - 6868: 04fe slli s1,s1,0x1f - 686a: 8d5d or a0,a0,a5 - 686c: 8d45 or a0,a0,s1 - 686e: 4492 lw s1,4(sp) - 6870: 0141 addi sp,sp,16 - 6872: 8082 ret - 6874: 09900793 li a5,153 - 6878: 00e7dd63 bge a5,a4,6892 <__floatsisf+0x7e> - 687c: 01b50793 addi a5,a0,27 # 8000001b <_eusrstack+0x5fffb01b> - 6880: 4695 li a3,5 - 6882: 00f417b3 sll a5,s0,a5 - 6886: 8e89 sub a3,a3,a0 - 6888: 00d45433 srl s0,s0,a3 - 688c: 00f037b3 snez a5,a5 - 6890: 8c5d or s0,s0,a5 - 6892: 4795 li a5,5 - 6894: 00a7d663 bge a5,a0,68a0 <__floatsisf+0x8c> - 6898: ffb50793 addi a5,a0,-5 - 689c: 00f41433 sll s0,s0,a5 - 68a0: fc0006b7 lui a3,0xfc000 - 68a4: 16fd addi a3,a3,-1 - 68a6: 00747793 andi a5,s0,7 - 68aa: 00d47633 and a2,s0,a3 - 68ae: c385 beqz a5,68ce <__floatsisf+0xba> - 68b0: 00f47793 andi a5,s0,15 - 68b4: 4591 li a1,4 - 68b6: 00b78c63 beq a5,a1,68ce <__floatsisf+0xba> - 68ba: 0611 addi a2,a2,4 - 68bc: 00561793 slli a5,a2,0x5 - 68c0: 0007d763 bgez a5,68ce <__floatsisf+0xba> - 68c4: 09f00793 li a5,159 - 68c8: 8e75 and a2,a2,a3 - 68ca: 40a78733 sub a4,a5,a0 - 68ce: 00661413 slli s0,a2,0x6 - 68d2: 8025 srli s0,s0,0x9 - 68d4: 0ff77793 andi a5,a4,255 - 68d8: b751 j 685c <__floatsisf+0x48> - -000068da <__floatunsisf>: - 68da: 1141 addi sp,sp,-16 - 68dc: c606 sw ra,12(sp) - 68de: c422 sw s0,8(sp) - 68e0: cd15 beqz a0,691c <__floatunsisf+0x42> - 68e2: 842a mv s0,a0 - 68e4: 2ce9 jal 6bbe <__clzsi2> - 68e6: 09e00793 li a5,158 - 68ea: 40a78733 sub a4,a5,a0 - 68ee: 09600793 li a5,150 - 68f2: 04e7c063 blt a5,a4,6932 <__floatunsisf+0x58> - 68f6: 46a1 li a3,8 - 68f8: 0ff77793 andi a5,a4,255 - 68fc: 00a6d563 bge a3,a0,6906 <__floatunsisf+0x2c> - 6900: 1561 addi a0,a0,-8 - 6902: 00a41433 sll s0,s0,a0 - 6906: 0426 slli s0,s0,0x9 - 6908: 8025 srli s0,s0,0x9 - 690a: 0426 slli s0,s0,0x9 - 690c: 00945513 srli a0,s0,0x9 - 6910: 40b2 lw ra,12(sp) - 6912: 4422 lw s0,8(sp) - 6914: 07de slli a5,a5,0x17 - 6916: 8d5d or a0,a0,a5 - 6918: 0141 addi sp,sp,16 - 691a: 8082 ret - 691c: 4401 li s0,0 - 691e: 0426 slli s0,s0,0x9 - 6920: 00945513 srli a0,s0,0x9 - 6924: 40b2 lw ra,12(sp) - 6926: 4422 lw s0,8(sp) - 6928: 4781 li a5,0 - 692a: 07de slli a5,a5,0x17 - 692c: 8d5d or a0,a0,a5 - 692e: 0141 addi sp,sp,16 - 6930: 8082 ret - 6932: 09900793 li a5,153 - 6936: 00e7dd63 bge a5,a4,6950 <__floatunsisf+0x76> - 693a: 01b50793 addi a5,a0,27 - 693e: 4695 li a3,5 - 6940: 00f417b3 sll a5,s0,a5 - 6944: 8e89 sub a3,a3,a0 - 6946: 00f037b3 snez a5,a5 - 694a: 00d45433 srl s0,s0,a3 - 694e: 8c5d or s0,s0,a5 - 6950: 4795 li a5,5 - 6952: 00a7d663 bge a5,a0,695e <__floatunsisf+0x84> - 6956: ffb50793 addi a5,a0,-5 - 695a: 00f41433 sll s0,s0,a5 - 695e: fc0006b7 lui a3,0xfc000 - 6962: 16fd addi a3,a3,-1 - 6964: 00747793 andi a5,s0,7 - 6968: 00d47633 and a2,s0,a3 - 696c: c385 beqz a5,698c <__floatunsisf+0xb2> - 696e: 00f47793 andi a5,s0,15 - 6972: 4591 li a1,4 - 6974: 00b78c63 beq a5,a1,698c <__floatunsisf+0xb2> - 6978: 0611 addi a2,a2,4 - 697a: 00561793 slli a5,a2,0x5 - 697e: 0007d763 bgez a5,698c <__floatunsisf+0xb2> - 6982: 09f00793 li a5,159 - 6986: 8e75 and a2,a2,a3 - 6988: 40a78733 sub a4,a5,a0 - 698c: 00661413 slli s0,a2,0x6 - 6990: 8025 srli s0,s0,0x9 - 6992: 0426 slli s0,s0,0x9 - 6994: 00945513 srli a0,s0,0x9 - 6998: 40b2 lw ra,12(sp) - 699a: 4422 lw s0,8(sp) - 699c: 0ff77793 andi a5,a4,255 - 69a0: 07de slli a5,a5,0x17 - 69a2: 8d5d or a0,a0,a5 - 69a4: 0141 addi sp,sp,16 - 69a6: 8082 ret - -000069a8 <__extendsfdf2>: - 69a8: 01755713 srli a4,a0,0x17 - 69ac: 0ff77713 andi a4,a4,255 - 69b0: 1141 addi sp,sp,-16 - 69b2: 00170793 addi a5,a4,1 - 69b6: c422 sw s0,8(sp) - 69b8: c226 sw s1,4(sp) - 69ba: 00951413 slli s0,a0,0x9 - 69be: c606 sw ra,12(sp) - 69c0: 0fe7f793 andi a5,a5,254 - 69c4: 8025 srli s0,s0,0x9 - 69c6: 01f55493 srli s1,a0,0x1f - 69ca: c785 beqz a5,69f2 <__extendsfdf2+0x4a> - 69cc: 00345793 srli a5,s0,0x3 - 69d0: 38070713 addi a4,a4,896 - 69d4: 0476 slli s0,s0,0x1d - 69d6: 07b2 slli a5,a5,0xc - 69d8: 0752 slli a4,a4,0x14 - 69da: 83b1 srli a5,a5,0xc - 69dc: 01f49513 slli a0,s1,0x1f - 69e0: 8fd9 or a5,a5,a4 - 69e2: 8fc9 or a5,a5,a0 - 69e4: 40b2 lw ra,12(sp) - 69e6: 8522 mv a0,s0 - 69e8: 4422 lw s0,8(sp) - 69ea: 4492 lw s1,4(sp) - 69ec: 85be mv a1,a5 - 69ee: 0141 addi sp,sp,16 - 69f0: 8082 ret - 69f2: eb05 bnez a4,6a22 <__extendsfdf2+0x7a> - 69f4: c439 beqz s0,6a42 <__extendsfdf2+0x9a> - 69f6: 8522 mv a0,s0 - 69f8: 22d9 jal 6bbe <__clzsi2> - 69fa: 47a9 li a5,10 - 69fc: 04a7c663 blt a5,a0,6a48 <__extendsfdf2+0xa0> - 6a00: 472d li a4,11 - 6a02: 8f09 sub a4,a4,a0 - 6a04: 01550793 addi a5,a0,21 - 6a08: 00e45733 srl a4,s0,a4 - 6a0c: 00f41433 sll s0,s0,a5 - 6a10: 00c71793 slli a5,a4,0xc - 6a14: 38900713 li a4,905 - 6a18: 8f09 sub a4,a4,a0 - 6a1a: 83b1 srli a5,a5,0xc - 6a1c: 7ff77713 andi a4,a4,2047 - 6a20: bf5d j 69d6 <__extendsfdf2+0x2e> - 6a22: cc01 beqz s0,6a3a <__extendsfdf2+0x92> - 6a24: 00345713 srli a4,s0,0x3 - 6a28: 000807b7 lui a5,0x80 - 6a2c: 8fd9 or a5,a5,a4 - 6a2e: 07b2 slli a5,a5,0xc - 6a30: 0476 slli s0,s0,0x1d - 6a32: 83b1 srli a5,a5,0xc - 6a34: 7ff00713 li a4,2047 - 6a38: bf79 j 69d6 <__extendsfdf2+0x2e> - 6a3a: 7ff00713 li a4,2047 - 6a3e: 4781 li a5,0 - 6a40: bf59 j 69d6 <__extendsfdf2+0x2e> - 6a42: 4701 li a4,0 - 6a44: 4781 li a5,0 - 6a46: bf41 j 69d6 <__extendsfdf2+0x2e> - 6a48: ff550713 addi a4,a0,-11 - 6a4c: 00e41733 sll a4,s0,a4 - 6a50: 4401 li s0,0 - 6a52: bf7d j 6a10 <__extendsfdf2+0x68> - -00006a54 <__truncdfsf2>: - 6a54: 0145d693 srli a3,a1,0x14 - 6a58: 00c59793 slli a5,a1,0xc - 6a5c: 7ff6f693 andi a3,a3,2047 - 6a60: 83b1 srli a5,a5,0xc - 6a62: 00168613 addi a2,a3,1 # fc000001 <_eusrstack+0xdbffb001> - 6a66: 078e slli a5,a5,0x3 - 6a68: 01d55713 srli a4,a0,0x1d - 6a6c: 7fe67613 andi a2,a2,2046 - 6a70: 81fd srli a1,a1,0x1f - 6a72: 8f5d or a4,a4,a5 - 6a74: 00351893 slli a7,a0,0x3 - 6a78: ce35 beqz a2,6af4 <__truncdfsf2+0xa0> - 6a7a: c8068813 addi a6,a3,-896 - 6a7e: 0fe00793 li a5,254 - 6a82: 0107dd63 bge a5,a6,6a9c <__truncdfsf2+0x48> - 6a86: 4781 li a5,0 - 6a88: 00979513 slli a0,a5,0x9 - 6a8c: 0ff00693 li a3,255 - 6a90: 06de slli a3,a3,0x17 - 6a92: 8125 srli a0,a0,0x9 - 6a94: 05fe slli a1,a1,0x1f - 6a96: 8d55 or a0,a0,a3 - 6a98: 8d4d or a0,a0,a1 - 6a9a: 8082 ret - 6a9c: 0b005563 blez a6,6b46 <__truncdfsf2+0xf2> - 6aa0: 00651793 slli a5,a0,0x6 - 6aa4: 070e slli a4,a4,0x3 - 6aa6: 00f037b3 snez a5,a5 - 6aaa: 8fd9 or a5,a5,a4 - 6aac: 01d8d893 srli a7,a7,0x1d - 6ab0: 0117e7b3 or a5,a5,a7 - 6ab4: 0077f713 andi a4,a5,7 - 6ab8: 10070163 beqz a4,6bba <__truncdfsf2+0x166> - 6abc: 00f7f713 andi a4,a5,15 - 6ac0: 4691 li a3,4 - 6ac2: 00d70363 beq a4,a3,6ac8 <__truncdfsf2+0x74> - 6ac6: 0791 addi a5,a5,4 - 6ac8: 04000737 lui a4,0x4000 - 6acc: 8f7d and a4,a4,a5 - 6ace: c775 beqz a4,6bba <__truncdfsf2+0x166> - 6ad0: 00180713 addi a4,a6,1 # 100001 <_data_lma+0xf7141> - 6ad4: 0ff00613 li a2,255 - 6ad8: 0ff77693 andi a3,a4,255 - 6adc: fac705e3 beq a4,a2,6a86 <__truncdfsf2+0x32> - 6ae0: 079a slli a5,a5,0x6 - 6ae2: 83a5 srli a5,a5,0x9 - 6ae4: 00979513 slli a0,a5,0x9 - 6ae8: 06de slli a3,a3,0x17 - 6aea: 8125 srli a0,a0,0x9 - 6aec: 05fe slli a1,a1,0x1f - 6aee: 8d55 or a0,a0,a3 - 6af0: 8d4d or a0,a0,a1 - 6af2: 8082 ret - 6af4: 011767b3 or a5,a4,a7 - 6af8: ee99 bnez a3,6b16 <__truncdfsf2+0xc2> - 6afa: cf85 beqz a5,6b32 <__truncdfsf2+0xde> - 6afc: 4795 li a5,5 - 6afe: 079a slli a5,a5,0x6 - 6b00: 83a5 srli a5,a5,0x9 - 6b02: 00979513 slli a0,a5,0x9 - 6b06: 0ff6f693 andi a3,a3,255 - 6b0a: 06de slli a3,a3,0x17 - 6b0c: 8125 srli a0,a0,0x9 - 6b0e: 05fe slli a1,a1,0x1f - 6b10: 8d55 or a0,a0,a3 - 6b12: 8d4d or a0,a0,a1 - 6b14: 8082 ret - 6b16: dba5 beqz a5,6a86 <__truncdfsf2+0x32> - 6b18: 004007b7 lui a5,0x400 - 6b1c: 00979513 slli a0,a5,0x9 - 6b20: 0ff00693 li a3,255 - 6b24: 06de slli a3,a3,0x17 - 6b26: 4581 li a1,0 - 6b28: 8125 srli a0,a0,0x9 - 6b2a: 05fe slli a1,a1,0x1f - 6b2c: 8d55 or a0,a0,a3 - 6b2e: 8d4d or a0,a0,a1 - 6b30: 8082 ret - 6b32: 4781 li a5,0 - 6b34: 00979513 slli a0,a5,0x9 - 6b38: 4681 li a3,0 - 6b3a: 06de slli a3,a3,0x17 - 6b3c: 8125 srli a0,a0,0x9 - 6b3e: 05fe slli a1,a1,0x1f - 6b40: 8d55 or a0,a0,a3 - 6b42: 8d4d or a0,a0,a1 - 6b44: 8082 ret - 6b46: 57a5 li a5,-23 - 6b48: 04f84863 blt a6,a5,6b98 <__truncdfsf2+0x144> - 6b4c: 47f9 li a5,30 - 6b4e: 00800637 lui a2,0x800 - 6b52: 410787b3 sub a5,a5,a6 - 6b56: 457d li a0,31 - 6b58: 8e59 or a2,a2,a4 - 6b5a: 04f55163 bge a0,a5,6b9c <__truncdfsf2+0x148> - 6b5e: 5779 li a4,-2 - 6b60: 41070733 sub a4,a4,a6 - 6b64: 02000513 li a0,32 - 6b68: 00e65733 srl a4,a2,a4 - 6b6c: 00a78863 beq a5,a0,6b7c <__truncdfsf2+0x128> - 6b70: ca268693 addi a3,a3,-862 - 6b74: 00d616b3 sll a3,a2,a3 - 6b78: 00d8e8b3 or a7,a7,a3 - 6b7c: 011037b3 snez a5,a7 - 6b80: 8fd9 or a5,a5,a4 - 6b82: 0077f713 andi a4,a5,7 - 6b86: 4801 li a6,0 - 6b88: fb15 bnez a4,6abc <__truncdfsf2+0x68> - 6b8a: 00579713 slli a4,a5,0x5 - 6b8e: 4685 li a3,1 - 6b90: f40748e3 bltz a4,6ae0 <__truncdfsf2+0x8c> - 6b94: 4681 li a3,0 - 6b96: b7a5 j 6afe <__truncdfsf2+0xaa> - 6b98: 4681 li a3,0 - 6b9a: b78d j 6afc <__truncdfsf2+0xa8> - 6b9c: c8268693 addi a3,a3,-894 - 6ba0: 00d89733 sll a4,a7,a3 - 6ba4: 00e03733 snez a4,a4 - 6ba8: 00d616b3 sll a3,a2,a3 - 6bac: 00f8d8b3 srl a7,a7,a5 - 6bb0: 00d767b3 or a5,a4,a3 - 6bb4: 00f8e7b3 or a5,a7,a5 - 6bb8: b7e9 j 6b82 <__truncdfsf2+0x12e> - 6bba: 86c2 mv a3,a6 - 6bbc: b789 j 6afe <__truncdfsf2+0xaa> - -00006bbe <__clzsi2>: - 6bbe: 67c1 lui a5,0x10 - 6bc0: 02f57c63 bgeu a0,a5,6bf8 <__clzsi2+0x3a> - 6bc4: 0ff00793 li a5,255 - 6bc8: 02000713 li a4,32 - 6bcc: 00a7eb63 bltu a5,a0,6be2 <__clzsi2+0x24> - 6bd0: 00002797 auipc a5,0x2 - 6bd4: 15478793 addi a5,a5,340 # 8d24 <__clz_tab> - 6bd8: 97aa add a5,a5,a0 - 6bda: 2388 lbu a0,0(a5) - 6bdc: 40a70533 sub a0,a4,a0 - 6be0: 8082 ret - 6be2: 8121 srli a0,a0,0x8 - 6be4: 00002797 auipc a5,0x2 - 6be8: 14078793 addi a5,a5,320 # 8d24 <__clz_tab> - 6bec: 97aa add a5,a5,a0 - 6bee: 2388 lbu a0,0(a5) - 6bf0: 4761 li a4,24 - 6bf2: 40a70533 sub a0,a4,a0 - 6bf6: 8082 ret - 6bf8: 010007b7 lui a5,0x1000 - 6bfc: 00f56d63 bltu a0,a5,6c16 <__clzsi2+0x58> - 6c00: 8161 srli a0,a0,0x18 - 6c02: 00002797 auipc a5,0x2 - 6c06: 12278793 addi a5,a5,290 # 8d24 <__clz_tab> - 6c0a: 97aa add a5,a5,a0 - 6c0c: 2388 lbu a0,0(a5) - 6c0e: 4721 li a4,8 - 6c10: 40a70533 sub a0,a4,a0 - 6c14: 8082 ret - 6c16: 8141 srli a0,a0,0x10 - 6c18: 00002797 auipc a5,0x2 - 6c1c: 10c78793 addi a5,a5,268 # 8d24 <__clz_tab> - 6c20: 97aa add a5,a5,a0 - 6c22: 2388 lbu a0,0(a5) - 6c24: 4741 li a4,16 - 6c26: 40a70533 sub a0,a4,a0 - 6c2a: 8082 ret - -00006c2c : - 6c2c: 00a5c7b3 xor a5,a1,a0 - 6c30: 8b8d andi a5,a5,3 - 6c32: 00c50733 add a4,a0,a2 - 6c36: e781 bnez a5,6c3e - 6c38: 478d li a5,3 - 6c3a: 00c7ed63 bltu a5,a2,6c54 - 6c3e: 87aa mv a5,a0 - 6c40: 08e57e63 bgeu a0,a4,6cdc - 6c44: 2194 lbu a3,0(a1) - 6c46: 0785 addi a5,a5,1 - 6c48: 0585 addi a1,a1,1 - 6c4a: fed78fa3 sb a3,-1(a5) - 6c4e: fee7ebe3 bltu a5,a4,6c44 - 6c52: 8082 ret - 6c54: 00357693 andi a3,a0,3 - 6c58: 87aa mv a5,a0 - 6c5a: ca89 beqz a3,6c6c - 6c5c: 2194 lbu a3,0(a1) - 6c5e: 0785 addi a5,a5,1 - 6c60: 0585 addi a1,a1,1 - 6c62: fed78fa3 sb a3,-1(a5) - 6c66: 0037f693 andi a3,a5,3 - 6c6a: bfc5 j 6c5a - 6c6c: ffc77693 andi a3,a4,-4 - 6c70: fe068613 addi a2,a3,-32 - 6c74: 06c7f063 bgeu a5,a2,6cd4 - 6c78: 0005a383 lw t2,0(a1) - 6c7c: 0045a283 lw t0,4(a1) - 6c80: 0085af83 lw t6,8(a1) - 6c84: 00c5af03 lw t5,12(a1) - 6c88: 0105ae83 lw t4,16(a1) - 6c8c: 0145ae03 lw t3,20(a1) - 6c90: 0185a303 lw t1,24(a1) - 6c94: 01c5a883 lw a7,28(a1) - 6c98: 02458593 addi a1,a1,36 - 6c9c: 0077a023 sw t2,0(a5) - 6ca0: ffc5a803 lw a6,-4(a1) - 6ca4: 0057a223 sw t0,4(a5) - 6ca8: 01f7a423 sw t6,8(a5) - 6cac: 01e7a623 sw t5,12(a5) - 6cb0: 01d7a823 sw t4,16(a5) - 6cb4: 01c7aa23 sw t3,20(a5) - 6cb8: 0067ac23 sw t1,24(a5) - 6cbc: 0117ae23 sw a7,28(a5) - 6cc0: 02478793 addi a5,a5,36 - 6cc4: ff07ae23 sw a6,-4(a5) - 6cc8: b775 j 6c74 - 6cca: 4190 lw a2,0(a1) - 6ccc: 0791 addi a5,a5,4 - 6cce: 0591 addi a1,a1,4 - 6cd0: fec7ae23 sw a2,-4(a5) - 6cd4: fed7ebe3 bltu a5,a3,6cca - 6cd8: f6e7e6e3 bltu a5,a4,6c44 - 6cdc: 8082 ret - -00006cde : - 6cde: 7139 addi sp,sp,-64 - 6ce0: da3e sw a5,52(sp) - 6ce2: d22e sw a1,36(sp) - 6ce4: d432 sw a2,40(sp) - 6ce6: d636 sw a3,44(sp) - 6ce8: d83a sw a4,48(sp) - 6cea: dc42 sw a6,56(sp) - 6cec: de46 sw a7,60(sp) - 6cee: 81818793 addi a5,gp,-2024 # 20000180 <_impure_ptr> - 6cf2: cc22 sw s0,24(sp) - 6cf4: 4380 lw s0,0(a5) - 6cf6: ca26 sw s1,20(sp) - 6cf8: ce06 sw ra,28(sp) - 6cfa: 84aa mv s1,a0 - 6cfc: c409 beqz s0,6d06 - 6cfe: 4c1c lw a5,24(s0) - 6d00: e399 bnez a5,6d06 - 6d02: 8522 mv a0,s0 - 6d04: 2505 jal 7324 <__sinit> - 6d06: 440c lw a1,8(s0) - 6d08: 1054 addi a3,sp,36 - 6d0a: 8626 mv a2,s1 - 6d0c: 8522 mv a0,s0 - 6d0e: c636 sw a3,12(sp) - 6d10: 5b9000ef jal ra,7ac8 <_vfiprintf_r> - 6d14: 40f2 lw ra,28(sp) - 6d16: 4462 lw s0,24(sp) - 6d18: 44d2 lw s1,20(sp) - 6d1a: 6121 addi sp,sp,64 - 6d1c: 8082 ret - -00006d1e <_puts_r>: - 6d1e: 1101 addi sp,sp,-32 - 6d20: ca26 sw s1,20(sp) - 6d22: c84a sw s2,16(sp) - 6d24: ce06 sw ra,28(sp) - 6d26: cc22 sw s0,24(sp) - 6d28: c64e sw s3,12(sp) - 6d2a: c452 sw s4,8(sp) - 6d2c: 84aa mv s1,a0 - 6d2e: 892e mv s2,a1 - 6d30: c501 beqz a0,6d38 <_puts_r+0x1a> - 6d32: 4d1c lw a5,24(a0) - 6d34: e391 bnez a5,6d38 <_puts_r+0x1a> - 6d36: 23fd jal 7324 <__sinit> - 6d38: 4c9c lw a5,24(s1) - 6d3a: 4480 lw s0,8(s1) - 6d3c: e399 bnez a5,6d42 <_puts_r+0x24> - 6d3e: 8526 mv a0,s1 - 6d40: 23d5 jal 7324 <__sinit> - 6d42: 00002797 auipc a5,0x2 - 6d46: 10278793 addi a5,a5,258 # 8e44 <__sf_fake_stdin> - 6d4a: 02f41b63 bne s0,a5,6d80 <_puts_r+0x62> - 6d4e: 40c0 lw s0,4(s1) - 6d50: 245e lhu a5,12(s0) - 6d52: 8ba1 andi a5,a5,8 - 6d54: c7b1 beqz a5,6da0 <_puts_r+0x82> - 6d56: 481c lw a5,16(s0) - 6d58: c7a1 beqz a5,6da0 <_puts_r+0x82> - 6d5a: 59fd li s3,-1 - 6d5c: 4a29 li s4,10 - 6d5e: 441c lw a5,8(s0) - 6d60: 00094583 lbu a1,0(s2) - 6d64: 17fd addi a5,a5,-1 - 6d66: e9b1 bnez a1,6dba <_puts_r+0x9c> - 6d68: c41c sw a5,8(s0) - 6d6a: 0607dd63 bgez a5,6de4 <_puts_r+0xc6> - 6d6e: 8622 mv a2,s0 - 6d70: 45a9 li a1,10 - 6d72: 8526 mv a0,s1 - 6d74: 2275 jal 6f20 <__swbuf_r> - 6d76: 57fd li a5,-1 - 6d78: 02f50863 beq a0,a5,6da8 <_puts_r+0x8a> - 6d7c: 4529 li a0,10 - 6d7e: a035 j 6daa <_puts_r+0x8c> - 6d80: 00002797 auipc a5,0x2 - 6d84: 0e478793 addi a5,a5,228 # 8e64 <__sf_fake_stdout> - 6d88: 00f41463 bne s0,a5,6d90 <_puts_r+0x72> - 6d8c: 4480 lw s0,8(s1) - 6d8e: b7c9 j 6d50 <_puts_r+0x32> - 6d90: 00002797 auipc a5,0x2 - 6d94: 09478793 addi a5,a5,148 # 8e24 <__sf_fake_stderr> - 6d98: faf41ce3 bne s0,a5,6d50 <_puts_r+0x32> - 6d9c: 44c0 lw s0,12(s1) - 6d9e: bf4d j 6d50 <_puts_r+0x32> - 6da0: 85a2 mv a1,s0 - 6da2: 8526 mv a0,s1 - 6da4: 2c25 jal 6fdc <__swsetup_r> - 6da6: d955 beqz a0,6d5a <_puts_r+0x3c> - 6da8: 557d li a0,-1 - 6daa: 40f2 lw ra,28(sp) - 6dac: 4462 lw s0,24(sp) - 6dae: 44d2 lw s1,20(sp) - 6db0: 4942 lw s2,16(sp) - 6db2: 49b2 lw s3,12(sp) - 6db4: 4a22 lw s4,8(sp) - 6db6: 6105 addi sp,sp,32 - 6db8: 8082 ret - 6dba: c41c sw a5,8(s0) - 6dbc: 0905 addi s2,s2,1 - 6dbe: 0007d763 bgez a5,6dcc <_puts_r+0xae> - 6dc2: 4c18 lw a4,24(s0) - 6dc4: 00e7ca63 blt a5,a4,6dd8 <_puts_r+0xba> - 6dc8: 01458863 beq a1,s4,6dd8 <_puts_r+0xba> - 6dcc: 401c lw a5,0(s0) - 6dce: 00178713 addi a4,a5,1 - 6dd2: c018 sw a4,0(s0) - 6dd4: a38c sb a1,0(a5) - 6dd6: b761 j 6d5e <_puts_r+0x40> - 6dd8: 8622 mv a2,s0 - 6dda: 8526 mv a0,s1 - 6ddc: 2291 jal 6f20 <__swbuf_r> - 6dde: f93510e3 bne a0,s3,6d5e <_puts_r+0x40> - 6de2: b7d9 j 6da8 <_puts_r+0x8a> - 6de4: 401c lw a5,0(s0) - 6de6: 00178713 addi a4,a5,1 - 6dea: c018 sw a4,0(s0) - 6dec: 4729 li a4,10 - 6dee: a398 sb a4,0(a5) - 6df0: b771 j 6d7c <_puts_r+0x5e> - -00006df2 : - 6df2: 81818793 addi a5,gp,-2024 # 20000180 <_impure_ptr> - 6df6: 85aa mv a1,a0 - 6df8: 4388 lw a0,0(a5) - 6dfa: f25ff06f j 6d1e <_puts_r> - -00006dfe : - 6dfe: 1141 addi sp,sp,-16 - 6e00: 81818793 addi a5,gp,-2024 # 20000180 <_impure_ptr> - 6e04: c422 sw s0,8(sp) - 6e06: 4380 lw s0,0(a5) - 6e08: c226 sw s1,4(sp) - 6e0a: c606 sw ra,12(sp) - 6e0c: 5c1c lw a5,56(s0) - 6e0e: 84aa mv s1,a0 - 6e10: eb95 bnez a5,6e44 - 6e12: 4561 li a0,24 - 6e14: 770000ef jal ra,7584 - 6e18: abcd37b7 lui a5,0xabcd3 - 6e1c: dc08 sw a0,56(s0) - 6e1e: 30e78793 addi a5,a5,782 # abcd330e <_eusrstack+0x8bcce30e> - 6e22: c11c sw a5,0(a0) - 6e24: e66d17b7 lui a5,0xe66d1 - 6e28: 23478793 addi a5,a5,564 # e66d1234 <_eusrstack+0xc66cc234> - 6e2c: c15c sw a5,4(a0) - 6e2e: 0005e7b7 lui a5,0x5e - 6e32: eec78793 addi a5,a5,-276 # 5deec <_data_lma+0x5502c> - 6e36: c51c sw a5,8(a0) - 6e38: 47ad li a5,11 - 6e3a: a55e sh a5,12(a0) - 6e3c: 4705 li a4,1 - 6e3e: 4781 li a5,0 - 6e40: c918 sw a4,16(a0) - 6e42: c95c sw a5,20(a0) - 6e44: 5c1c lw a5,56(s0) - 6e46: 40b2 lw ra,12(sp) - 6e48: 4422 lw s0,8(sp) - 6e4a: cb84 sw s1,16(a5) - 6e4c: 0007aa23 sw zero,20(a5) - 6e50: 4492 lw s1,4(sp) - 6e52: 0141 addi sp,sp,16 - 6e54: 8082 ret - -00006e56 : - 6e56: 1141 addi sp,sp,-16 - 6e58: 81818793 addi a5,gp,-2024 # 20000180 <_impure_ptr> - 6e5c: c422 sw s0,8(sp) - 6e5e: 4380 lw s0,0(a5) - 6e60: c606 sw ra,12(sp) - 6e62: 5c1c lw a5,56(s0) - 6e64: eb8d bnez a5,6e96 - 6e66: 4561 li a0,24 - 6e68: 2f31 jal 7584 - 6e6a: abcd37b7 lui a5,0xabcd3 - 6e6e: dc08 sw a0,56(s0) - 6e70: 30e78793 addi a5,a5,782 # abcd330e <_eusrstack+0x8bcce30e> - 6e74: c11c sw a5,0(a0) - 6e76: e66d17b7 lui a5,0xe66d1 - 6e7a: 23478793 addi a5,a5,564 # e66d1234 <_eusrstack+0xc66cc234> - 6e7e: c15c sw a5,4(a0) - 6e80: 0005e7b7 lui a5,0x5e - 6e84: eec78793 addi a5,a5,-276 # 5deec <_data_lma+0x5502c> - 6e88: c51c sw a5,8(a0) - 6e8a: 47ad li a5,11 - 6e8c: a55e sh a5,12(a0) - 6e8e: 4705 li a4,1 - 6e90: 4781 li a5,0 - 6e92: c918 sw a4,16(a0) - 6e94: c95c sw a5,20(a0) - 6e96: 5c10 lw a2,56(s0) - 6e98: 4c958737 lui a4,0x4c958 - 6e9c: 5851f7b7 lui a5,0x5851f - 6ea0: 4a14 lw a3,16(a2) - 6ea2: 4a48 lw a0,20(a2) - 6ea4: f2d70713 addi a4,a4,-211 # 4c957f2d <_eusrstack+0x2c952f2d> - 6ea8: 42d78793 addi a5,a5,1069 # 5851f42d <_eusrstack+0x3851a42d> - 6eac: 02f687b3 mul a5,a3,a5 - 6eb0: 40b2 lw ra,12(sp) - 6eb2: 4422 lw s0,8(sp) - 6eb4: 02e50533 mul a0,a0,a4 - 6eb8: 953e add a0,a0,a5 - 6eba: 02e687b3 mul a5,a3,a4 - 6ebe: 02e6b733 mulhu a4,a3,a4 - 6ec2: 00178693 addi a3,a5,1 - 6ec6: ca14 sw a3,16(a2) - 6ec8: 972a add a4,a4,a0 - 6eca: 00f6b533 sltu a0,a3,a5 - 6ece: 953a add a0,a0,a4 - 6ed0: ca48 sw a0,20(a2) - 6ed2: 0506 slli a0,a0,0x1 - 6ed4: 8105 srli a0,a0,0x1 - 6ed6: 0141 addi sp,sp,16 - 6ed8: 8082 ret - -00006eda : - 6eda: 7135 addi sp,sp,-160 - 6edc: cb3e sw a5,148(sp) - 6ede: 800007b7 lui a5,0x80000 - 6ee2: fff7c793 not a5,a5 - 6ee6: ce3e sw a5,28(sp) - 6ee8: c83e sw a5,16(sp) - 6eea: 77c1 lui a5,0xffff0 - 6eec: 20878793 addi a5,a5,520 # ffff0208 <_eusrstack+0xdffeb208> - 6ef0: c532 sw a2,136(sp) - 6ef2: c736 sw a3,140(sp) - 6ef4: c93a sw a4,144(sp) - 6ef6: cd42 sw a6,152(sp) - 6ef8: cf46 sw a7,156(sp) - 6efa: ca3e sw a5,20(sp) - 6efc: 81818793 addi a5,gp,-2024 # 20000180 <_impure_ptr> - 6f00: c42a sw a0,8(sp) - 6f02: cc2a sw a0,24(sp) - 6f04: 4388 lw a0,0(a5) - 6f06: 0134 addi a3,sp,136 - 6f08: 862e mv a2,a1 - 6f0a: 002c addi a1,sp,8 - 6f0c: de86 sw ra,124(sp) - 6f0e: c236 sw a3,4(sp) - 6f10: 0e5000ef jal ra,77f4 <_svfiprintf_r> - 6f14: 47a2 lw a5,8(sp) - 6f16: 00078023 sb zero,0(a5) - 6f1a: 50f6 lw ra,124(sp) - 6f1c: 610d addi sp,sp,160 - 6f1e: 8082 ret - -00006f20 <__swbuf_r>: - 6f20: 1101 addi sp,sp,-32 - 6f22: cc22 sw s0,24(sp) - 6f24: ca26 sw s1,20(sp) - 6f26: c84a sw s2,16(sp) - 6f28: ce06 sw ra,28(sp) - 6f2a: c64e sw s3,12(sp) - 6f2c: 84aa mv s1,a0 - 6f2e: 892e mv s2,a1 - 6f30: 8432 mv s0,a2 - 6f32: c501 beqz a0,6f3a <__swbuf_r+0x1a> - 6f34: 4d1c lw a5,24(a0) - 6f36: e391 bnez a5,6f3a <__swbuf_r+0x1a> - 6f38: 26f5 jal 7324 <__sinit> - 6f3a: 00002797 auipc a5,0x2 - 6f3e: f0a78793 addi a5,a5,-246 # 8e44 <__sf_fake_stdin> - 6f42: 06f41763 bne s0,a5,6fb0 <__swbuf_r+0x90> - 6f46: 40c0 lw s0,4(s1) - 6f48: 4c1c lw a5,24(s0) - 6f4a: c41c sw a5,8(s0) - 6f4c: 245e lhu a5,12(s0) - 6f4e: 8ba1 andi a5,a5,8 - 6f50: c3c1 beqz a5,6fd0 <__swbuf_r+0xb0> - 6f52: 481c lw a5,16(s0) - 6f54: cfb5 beqz a5,6fd0 <__swbuf_r+0xb0> - 6f56: 481c lw a5,16(s0) - 6f58: 4008 lw a0,0(s0) - 6f5a: 0ff97993 andi s3,s2,255 - 6f5e: 0ff97913 andi s2,s2,255 - 6f62: 8d1d sub a0,a0,a5 - 6f64: 485c lw a5,20(s0) - 6f66: 00f54663 blt a0,a5,6f72 <__swbuf_r+0x52> - 6f6a: 85a2 mv a1,s0 - 6f6c: 8526 mv a0,s1 - 6f6e: 2c69 jal 7208 <_fflush_r> - 6f70: e525 bnez a0,6fd8 <__swbuf_r+0xb8> - 6f72: 441c lw a5,8(s0) - 6f74: 0505 addi a0,a0,1 - 6f76: 17fd addi a5,a5,-1 - 6f78: c41c sw a5,8(s0) - 6f7a: 401c lw a5,0(s0) - 6f7c: 00178713 addi a4,a5,1 - 6f80: c018 sw a4,0(s0) - 6f82: 01378023 sb s3,0(a5) - 6f86: 485c lw a5,20(s0) - 6f88: 00a78863 beq a5,a0,6f98 <__swbuf_r+0x78> - 6f8c: 245e lhu a5,12(s0) - 6f8e: 8b85 andi a5,a5,1 - 6f90: cb81 beqz a5,6fa0 <__swbuf_r+0x80> - 6f92: 47a9 li a5,10 - 6f94: 00f91663 bne s2,a5,6fa0 <__swbuf_r+0x80> - 6f98: 85a2 mv a1,s0 - 6f9a: 8526 mv a0,s1 - 6f9c: 24b5 jal 7208 <_fflush_r> - 6f9e: ed0d bnez a0,6fd8 <__swbuf_r+0xb8> - 6fa0: 40f2 lw ra,28(sp) - 6fa2: 4462 lw s0,24(sp) - 6fa4: 854a mv a0,s2 - 6fa6: 44d2 lw s1,20(sp) - 6fa8: 4942 lw s2,16(sp) - 6faa: 49b2 lw s3,12(sp) - 6fac: 6105 addi sp,sp,32 - 6fae: 8082 ret - 6fb0: 00002797 auipc a5,0x2 - 6fb4: eb478793 addi a5,a5,-332 # 8e64 <__sf_fake_stdout> - 6fb8: 00f41463 bne s0,a5,6fc0 <__swbuf_r+0xa0> - 6fbc: 4480 lw s0,8(s1) - 6fbe: b769 j 6f48 <__swbuf_r+0x28> - 6fc0: 00002797 auipc a5,0x2 - 6fc4: e6478793 addi a5,a5,-412 # 8e24 <__sf_fake_stderr> - 6fc8: f8f410e3 bne s0,a5,6f48 <__swbuf_r+0x28> - 6fcc: 44c0 lw s0,12(s1) - 6fce: bfad j 6f48 <__swbuf_r+0x28> - 6fd0: 85a2 mv a1,s0 - 6fd2: 8526 mv a0,s1 - 6fd4: 2021 jal 6fdc <__swsetup_r> - 6fd6: d141 beqz a0,6f56 <__swbuf_r+0x36> - 6fd8: 597d li s2,-1 - 6fda: b7d9 j 6fa0 <__swbuf_r+0x80> - -00006fdc <__swsetup_r>: - 6fdc: 1141 addi sp,sp,-16 - 6fde: 81818793 addi a5,gp,-2024 # 20000180 <_impure_ptr> - 6fe2: c226 sw s1,4(sp) - 6fe4: 4384 lw s1,0(a5) - 6fe6: c422 sw s0,8(sp) - 6fe8: c04a sw s2,0(sp) - 6fea: c606 sw ra,12(sp) - 6fec: 892a mv s2,a0 - 6fee: 842e mv s0,a1 - 6ff0: c489 beqz s1,6ffa <__swsetup_r+0x1e> - 6ff2: 4c9c lw a5,24(s1) - 6ff4: e399 bnez a5,6ffa <__swsetup_r+0x1e> - 6ff6: 8526 mv a0,s1 - 6ff8: 2635 jal 7324 <__sinit> - 6ffa: 00002797 auipc a5,0x2 - 6ffe: e4a78793 addi a5,a5,-438 # 8e44 <__sf_fake_stdin> - 7002: 02f41b63 bne s0,a5,7038 <__swsetup_r+0x5c> - 7006: 40c0 lw s0,4(s1) - 7008: 00c41703 lh a4,12(s0) # 400000c <_data_lma+0x3ff714c> - 700c: 01071793 slli a5,a4,0x10 - 7010: 83c1 srli a5,a5,0x10 - 7012: 0087f693 andi a3,a5,8 - 7016: eaad bnez a3,7088 <__swsetup_r+0xac> - 7018: 0107f693 andi a3,a5,16 - 701c: ee95 bnez a3,7058 <__swsetup_r+0x7c> - 701e: 47a5 li a5,9 - 7020: 00f92023 sw a5,0(s2) - 7024: 04076713 ori a4,a4,64 - 7028: a45a sh a4,12(s0) - 702a: 557d li a0,-1 - 702c: 40b2 lw ra,12(sp) - 702e: 4422 lw s0,8(sp) - 7030: 4492 lw s1,4(sp) - 7032: 4902 lw s2,0(sp) - 7034: 0141 addi sp,sp,16 - 7036: 8082 ret - 7038: 00002797 auipc a5,0x2 - 703c: e2c78793 addi a5,a5,-468 # 8e64 <__sf_fake_stdout> - 7040: 00f41463 bne s0,a5,7048 <__swsetup_r+0x6c> - 7044: 4480 lw s0,8(s1) - 7046: b7c9 j 7008 <__swsetup_r+0x2c> - 7048: 00002797 auipc a5,0x2 - 704c: ddc78793 addi a5,a5,-548 # 8e24 <__sf_fake_stderr> - 7050: faf41ce3 bne s0,a5,7008 <__swsetup_r+0x2c> - 7054: 44c0 lw s0,12(s1) - 7056: bf4d j 7008 <__swsetup_r+0x2c> - 7058: 8b91 andi a5,a5,4 - 705a: c39d beqz a5,7080 <__swsetup_r+0xa4> - 705c: 584c lw a1,52(s0) - 705e: c989 beqz a1,7070 <__swsetup_r+0x94> - 7060: 04440793 addi a5,s0,68 - 7064: 00f58463 beq a1,a5,706c <__swsetup_r+0x90> - 7068: 854a mv a0,s2 - 706a: 2315 jal 758e <_free_r> - 706c: 02042a23 sw zero,52(s0) - 7070: 245e lhu a5,12(s0) - 7072: 00042223 sw zero,4(s0) - 7076: fdb7f793 andi a5,a5,-37 - 707a: a45e sh a5,12(s0) - 707c: 481c lw a5,16(s0) - 707e: c01c sw a5,0(s0) - 7080: 245e lhu a5,12(s0) - 7082: 0087e793 ori a5,a5,8 - 7086: a45e sh a5,12(s0) - 7088: 481c lw a5,16(s0) - 708a: eb99 bnez a5,70a0 <__swsetup_r+0xc4> - 708c: 245e lhu a5,12(s0) - 708e: 20000713 li a4,512 - 7092: 2807f793 andi a5,a5,640 - 7096: 00e78563 beq a5,a4,70a0 <__swsetup_r+0xc4> - 709a: 85a2 mv a1,s0 - 709c: 854a mv a0,s2 - 709e: 2991 jal 74f2 <__smakebuf_r> - 70a0: 245e lhu a5,12(s0) - 70a2: 0017f713 andi a4,a5,1 - 70a6: c31d beqz a4,70cc <__swsetup_r+0xf0> - 70a8: 485c lw a5,20(s0) - 70aa: 00042423 sw zero,8(s0) - 70ae: 40f007b3 neg a5,a5 - 70b2: cc1c sw a5,24(s0) - 70b4: 481c lw a5,16(s0) - 70b6: 4501 li a0,0 - 70b8: fbb5 bnez a5,702c <__swsetup_r+0x50> - 70ba: 00c41783 lh a5,12(s0) - 70be: 0807f713 andi a4,a5,128 - 70c2: d72d beqz a4,702c <__swsetup_r+0x50> - 70c4: 0407e793 ori a5,a5,64 - 70c8: a45e sh a5,12(s0) - 70ca: b785 j 702a <__swsetup_r+0x4e> - 70cc: 8b89 andi a5,a5,2 - 70ce: 4701 li a4,0 - 70d0: e391 bnez a5,70d4 <__swsetup_r+0xf8> - 70d2: 4858 lw a4,20(s0) - 70d4: c418 sw a4,8(s0) - 70d6: bff9 j 70b4 <__swsetup_r+0xd8> - -000070d8 <__sflush_r>: - 70d8: 25de lhu a5,12(a1) - 70da: 1101 addi sp,sp,-32 - 70dc: cc22 sw s0,24(sp) - 70de: ca26 sw s1,20(sp) - 70e0: ce06 sw ra,28(sp) - 70e2: c84a sw s2,16(sp) - 70e4: c64e sw s3,12(sp) - 70e6: 0087f713 andi a4,a5,8 - 70ea: 84aa mv s1,a0 - 70ec: 842e mv s0,a1 - 70ee: eb79 bnez a4,71c4 <__sflush_r+0xec> - 70f0: 41d8 lw a4,4(a1) - 70f2: 00e04d63 bgtz a4,710c <__sflush_r+0x34> - 70f6: 41b8 lw a4,64(a1) - 70f8: 00e04a63 bgtz a4,710c <__sflush_r+0x34> - 70fc: 4501 li a0,0 - 70fe: 40f2 lw ra,28(sp) - 7100: 4462 lw s0,24(sp) - 7102: 44d2 lw s1,20(sp) - 7104: 4942 lw s2,16(sp) - 7106: 49b2 lw s3,12(sp) - 7108: 6105 addi sp,sp,32 - 710a: 8082 ret - 710c: 5458 lw a4,44(s0) - 710e: d77d beqz a4,70fc <__sflush_r+0x24> - 7110: 0004a903 lw s2,0(s1) - 7114: 01379693 slli a3,a5,0x13 - 7118: 0004a023 sw zero,0(s1) - 711c: 0606db63 bgez a3,7192 <__sflush_r+0xba> - 7120: 4870 lw a2,84(s0) - 7122: 245e lhu a5,12(s0) - 7124: 8b91 andi a5,a5,4 - 7126: c799 beqz a5,7134 <__sflush_r+0x5c> - 7128: 405c lw a5,4(s0) - 712a: 8e1d sub a2,a2,a5 - 712c: 585c lw a5,52(s0) - 712e: c399 beqz a5,7134 <__sflush_r+0x5c> - 7130: 403c lw a5,64(s0) - 7132: 8e1d sub a2,a2,a5 - 7134: 545c lw a5,44(s0) - 7136: 500c lw a1,32(s0) - 7138: 4681 li a3,0 - 713a: 8526 mv a0,s1 - 713c: 9782 jalr a5 - 713e: 57fd li a5,-1 - 7140: 245a lhu a4,12(s0) - 7142: 00f51d63 bne a0,a5,715c <__sflush_r+0x84> - 7146: 4094 lw a3,0(s1) - 7148: 47f5 li a5,29 - 714a: 06d7e863 bltu a5,a3,71ba <__sflush_r+0xe2> - 714e: 204007b7 lui a5,0x20400 - 7152: 0785 addi a5,a5,1 - 7154: 00d7d7b3 srl a5,a5,a3 - 7158: 8b85 andi a5,a5,1 - 715a: c3a5 beqz a5,71ba <__sflush_r+0xe2> - 715c: 481c lw a5,16(s0) - 715e: 00042223 sw zero,4(s0) - 7162: c01c sw a5,0(s0) - 7164: 01371793 slli a5,a4,0x13 - 7168: 0007d863 bgez a5,7178 <__sflush_r+0xa0> - 716c: 57fd li a5,-1 - 716e: 00f51463 bne a0,a5,7176 <__sflush_r+0x9e> - 7172: 409c lw a5,0(s1) - 7174: e391 bnez a5,7178 <__sflush_r+0xa0> - 7176: c868 sw a0,84(s0) - 7178: 584c lw a1,52(s0) - 717a: 0124a023 sw s2,0(s1) - 717e: ddbd beqz a1,70fc <__sflush_r+0x24> - 7180: 04440793 addi a5,s0,68 - 7184: 00f58463 beq a1,a5,718c <__sflush_r+0xb4> - 7188: 8526 mv a0,s1 - 718a: 2111 jal 758e <_free_r> - 718c: 02042a23 sw zero,52(s0) - 7190: b7b5 j 70fc <__sflush_r+0x24> - 7192: 500c lw a1,32(s0) - 7194: 4601 li a2,0 - 7196: 4685 li a3,1 - 7198: 8526 mv a0,s1 - 719a: 9702 jalr a4 - 719c: 57fd li a5,-1 - 719e: 862a mv a2,a0 - 71a0: f8f511e3 bne a0,a5,7122 <__sflush_r+0x4a> - 71a4: 409c lw a5,0(s1) - 71a6: dfb5 beqz a5,7122 <__sflush_r+0x4a> - 71a8: 4775 li a4,29 - 71aa: 00e78563 beq a5,a4,71b4 <__sflush_r+0xdc> - 71ae: 4759 li a4,22 - 71b0: 04e79363 bne a5,a4,71f6 <__sflush_r+0x11e> - 71b4: 0124a023 sw s2,0(s1) - 71b8: b791 j 70fc <__sflush_r+0x24> - 71ba: 04076713 ori a4,a4,64 - 71be: a45a sh a4,12(s0) - 71c0: 557d li a0,-1 - 71c2: bf35 j 70fe <__sflush_r+0x26> - 71c4: 0105a983 lw s3,16(a1) - 71c8: f2098ae3 beqz s3,70fc <__sflush_r+0x24> - 71cc: 0005a903 lw s2,0(a1) - 71d0: 8b8d andi a5,a5,3 - 71d2: 0135a023 sw s3,0(a1) - 71d6: 41390933 sub s2,s2,s3 - 71da: 4701 li a4,0 - 71dc: e391 bnez a5,71e0 <__sflush_r+0x108> - 71de: 49d8 lw a4,20(a1) - 71e0: c418 sw a4,8(s0) - 71e2: f1205de3 blez s2,70fc <__sflush_r+0x24> - 71e6: 541c lw a5,40(s0) - 71e8: 500c lw a1,32(s0) - 71ea: 86ca mv a3,s2 - 71ec: 864e mv a2,s3 - 71ee: 8526 mv a0,s1 - 71f0: 9782 jalr a5 - 71f2: 00a04763 bgtz a0,7200 <__sflush_r+0x128> - 71f6: 245e lhu a5,12(s0) - 71f8: 0407e793 ori a5,a5,64 - 71fc: a45e sh a5,12(s0) - 71fe: b7c9 j 71c0 <__sflush_r+0xe8> - 7200: 99aa add s3,s3,a0 - 7202: 40a90933 sub s2,s2,a0 - 7206: bff1 j 71e2 <__sflush_r+0x10a> - -00007208 <_fflush_r>: - 7208: 499c lw a5,16(a1) - 720a: c3a5 beqz a5,726a <_fflush_r+0x62> - 720c: 1101 addi sp,sp,-32 - 720e: cc22 sw s0,24(sp) - 7210: ce06 sw ra,28(sp) - 7212: 842a mv s0,a0 - 7214: c511 beqz a0,7220 <_fflush_r+0x18> - 7216: 4d1c lw a5,24(a0) - 7218: e781 bnez a5,7220 <_fflush_r+0x18> - 721a: c62e sw a1,12(sp) - 721c: 2221 jal 7324 <__sinit> - 721e: 45b2 lw a1,12(sp) - 7220: 00002797 auipc a5,0x2 - 7224: c2478793 addi a5,a5,-988 # 8e44 <__sf_fake_stdin> - 7228: 00f59c63 bne a1,a5,7240 <_fflush_r+0x38> - 722c: 404c lw a1,4(s0) - 722e: 00c59783 lh a5,12(a1) - 7232: c79d beqz a5,7260 <_fflush_r+0x58> - 7234: 8522 mv a0,s0 - 7236: 4462 lw s0,24(sp) - 7238: 40f2 lw ra,28(sp) - 723a: 6105 addi sp,sp,32 - 723c: e9dff06f j 70d8 <__sflush_r> - 7240: 00002797 auipc a5,0x2 - 7244: c2478793 addi a5,a5,-988 # 8e64 <__sf_fake_stdout> - 7248: 00f59463 bne a1,a5,7250 <_fflush_r+0x48> - 724c: 440c lw a1,8(s0) - 724e: b7c5 j 722e <_fflush_r+0x26> - 7250: 00002797 auipc a5,0x2 - 7254: bd478793 addi a5,a5,-1068 # 8e24 <__sf_fake_stderr> - 7258: fcf59be3 bne a1,a5,722e <_fflush_r+0x26> - 725c: 444c lw a1,12(s0) - 725e: bfc1 j 722e <_fflush_r+0x26> - 7260: 40f2 lw ra,28(sp) - 7262: 4462 lw s0,24(sp) - 7264: 4501 li a0,0 - 7266: 6105 addi sp,sp,32 - 7268: 8082 ret - 726a: 4501 li a0,0 - 726c: 8082 ret - -0000726e : - 726e: 1141 addi sp,sp,-16 - 7270: c422 sw s0,8(sp) - 7272: c606 sw ra,12(sp) - 7274: 842a mv s0,a0 - 7276: a54e sh a1,12(a0) - 7278: a572 sh a2,14(a0) - 727a: 00052023 sw zero,0(a0) - 727e: 00052223 sw zero,4(a0) - 7282: 00052423 sw zero,8(a0) - 7286: 06052223 sw zero,100(a0) - 728a: 00052823 sw zero,16(a0) - 728e: 00052a23 sw zero,20(a0) - 7292: 00052c23 sw zero,24(a0) - 7296: 4621 li a2,8 - 7298: 4581 li a1,0 - 729a: 05c50513 addi a0,a0,92 - 729e: f03f80ef jal ra,1a0 - 72a2: 00001797 auipc a5,0x1 - 72a6: e8e78793 addi a5,a5,-370 # 8130 <__sread> - 72aa: d05c sw a5,36(s0) - 72ac: 00001797 auipc a5,0x1 - 72b0: eb078793 addi a5,a5,-336 # 815c <__swrite> - 72b4: d41c sw a5,40(s0) - 72b6: 00001797 auipc a5,0x1 - 72ba: eee78793 addi a5,a5,-274 # 81a4 <__sseek> - 72be: d45c sw a5,44(s0) - 72c0: 00001797 auipc a5,0x1 - 72c4: f1478793 addi a5,a5,-236 # 81d4 <__sclose> - 72c8: d000 sw s0,32(s0) - 72ca: d81c sw a5,48(s0) - 72cc: 40b2 lw ra,12(sp) - 72ce: 4422 lw s0,8(sp) - 72d0: 0141 addi sp,sp,16 - 72d2: 8082 ret - -000072d4 <_cleanup_r>: - 72d4: 00000597 auipc a1,0x0 - 72d8: f3458593 addi a1,a1,-204 # 7208 <_fflush_r> - 72dc: aa91 j 7430 <_fwalk_reent> - -000072de <__sfmoreglue>: - 72de: 1141 addi sp,sp,-16 - 72e0: c226 sw s1,4(sp) - 72e2: 06800613 li a2,104 - 72e6: fff58493 addi s1,a1,-1 - 72ea: 02c484b3 mul s1,s1,a2 - 72ee: c04a sw s2,0(sp) - 72f0: 892e mv s2,a1 - 72f2: c422 sw s0,8(sp) - 72f4: c606 sw ra,12(sp) - 72f6: 07448593 addi a1,s1,116 - 72fa: 2e35 jal 7636 <_malloc_r> - 72fc: 842a mv s0,a0 - 72fe: cd01 beqz a0,7316 <__sfmoreglue+0x38> - 7300: 00052023 sw zero,0(a0) - 7304: 01252223 sw s2,4(a0) - 7308: 0531 addi a0,a0,12 - 730a: c408 sw a0,8(s0) - 730c: 06848613 addi a2,s1,104 - 7310: 4581 li a1,0 - 7312: e8ff80ef jal ra,1a0 - 7316: 8522 mv a0,s0 - 7318: 40b2 lw ra,12(sp) - 731a: 4422 lw s0,8(sp) - 731c: 4492 lw s1,4(sp) - 731e: 4902 lw s2,0(sp) - 7320: 0141 addi sp,sp,16 - 7322: 8082 ret - -00007324 <__sinit>: - 7324: 4d1c lw a5,24(a0) - 7326: e7a5 bnez a5,738e <__sinit+0x6a> - 7328: 1141 addi sp,sp,-16 - 732a: c606 sw ra,12(sp) - 732c: c422 sw s0,8(sp) - 732e: 00000797 auipc a5,0x0 - 7332: fa678793 addi a5,a5,-90 # 72d4 <_cleanup_r> - 7336: d51c sw a5,40(a0) - 7338: 81c18793 addi a5,gp,-2020 # 20000184 <_global_impure_ptr> - 733c: 439c lw a5,0(a5) - 733e: 04052423 sw zero,72(a0) - 7342: 04052623 sw zero,76(a0) - 7346: 04052823 sw zero,80(a0) - 734a: 00f51463 bne a0,a5,7352 <__sinit+0x2e> - 734e: 4785 li a5,1 - 7350: cd1c sw a5,24(a0) - 7352: 842a mv s0,a0 - 7354: 2835 jal 7390 <__sfp> - 7356: c048 sw a0,4(s0) - 7358: 8522 mv a0,s0 - 735a: 281d jal 7390 <__sfp> - 735c: c408 sw a0,8(s0) - 735e: 8522 mv a0,s0 - 7360: 2805 jal 7390 <__sfp> - 7362: c448 sw a0,12(s0) - 7364: 4048 lw a0,4(s0) - 7366: 4601 li a2,0 - 7368: 4591 li a1,4 - 736a: f05ff0ef jal ra,726e - 736e: 4408 lw a0,8(s0) - 7370: 4605 li a2,1 - 7372: 45a5 li a1,9 - 7374: efbff0ef jal ra,726e - 7378: 4448 lw a0,12(s0) - 737a: 4609 li a2,2 - 737c: 45c9 li a1,18 - 737e: ef1ff0ef jal ra,726e - 7382: 4785 li a5,1 - 7384: cc1c sw a5,24(s0) - 7386: 40b2 lw ra,12(sp) - 7388: 4422 lw s0,8(sp) - 738a: 0141 addi sp,sp,16 - 738c: 8082 ret - 738e: 8082 ret - -00007390 <__sfp>: - 7390: 1141 addi sp,sp,-16 - 7392: 81c18793 addi a5,gp,-2020 # 20000184 <_global_impure_ptr> - 7396: c226 sw s1,4(sp) - 7398: 4384 lw s1,0(a5) - 739a: c04a sw s2,0(sp) - 739c: c606 sw ra,12(sp) - 739e: 4c9c lw a5,24(s1) - 73a0: c422 sw s0,8(sp) - 73a2: 892a mv s2,a0 - 73a4: e781 bnez a5,73ac <__sfp+0x1c> - 73a6: 8526 mv a0,s1 - 73a8: f7dff0ef jal ra,7324 <__sinit> - 73ac: 04848493 addi s1,s1,72 - 73b0: 4480 lw s0,8(s1) - 73b2: 40dc lw a5,4(s1) - 73b4: 17fd addi a5,a5,-1 - 73b6: 0007d663 bgez a5,73c2 <__sfp+0x32> - 73ba: 409c lw a5,0(s1) - 73bc: cfb9 beqz a5,741a <__sfp+0x8a> - 73be: 4084 lw s1,0(s1) - 73c0: bfc5 j 73b0 <__sfp+0x20> - 73c2: 00c41703 lh a4,12(s0) - 73c6: e739 bnez a4,7414 <__sfp+0x84> - 73c8: 77c1 lui a5,0xffff0 - 73ca: 0785 addi a5,a5,1 - 73cc: 06042223 sw zero,100(s0) - 73d0: 00042023 sw zero,0(s0) - 73d4: 00042223 sw zero,4(s0) - 73d8: 00042423 sw zero,8(s0) - 73dc: c45c sw a5,12(s0) - 73de: 00042823 sw zero,16(s0) - 73e2: 00042a23 sw zero,20(s0) - 73e6: 00042c23 sw zero,24(s0) - 73ea: 4621 li a2,8 - 73ec: 4581 li a1,0 - 73ee: 05c40513 addi a0,s0,92 - 73f2: daff80ef jal ra,1a0 - 73f6: 02042a23 sw zero,52(s0) - 73fa: 02042c23 sw zero,56(s0) - 73fe: 04042423 sw zero,72(s0) - 7402: 04042623 sw zero,76(s0) - 7406: 8522 mv a0,s0 - 7408: 40b2 lw ra,12(sp) - 740a: 4422 lw s0,8(sp) - 740c: 4492 lw s1,4(sp) - 740e: 4902 lw s2,0(sp) - 7410: 0141 addi sp,sp,16 - 7412: 8082 ret - 7414: 06840413 addi s0,s0,104 - 7418: bf71 j 73b4 <__sfp+0x24> - 741a: 4591 li a1,4 - 741c: 854a mv a0,s2 - 741e: ec1ff0ef jal ra,72de <__sfmoreglue> - 7422: c088 sw a0,0(s1) - 7424: fd49 bnez a0,73be <__sfp+0x2e> - 7426: 47b1 li a5,12 - 7428: 00f92023 sw a5,0(s2) - 742c: 4401 li s0,0 - 742e: bfe1 j 7406 <__sfp+0x76> - -00007430 <_fwalk_reent>: - 7430: 7179 addi sp,sp,-48 - 7432: d422 sw s0,40(sp) - 7434: d04a sw s2,32(sp) - 7436: cc52 sw s4,24(sp) - 7438: ca56 sw s5,20(sp) - 743a: c85a sw s6,16(sp) - 743c: c65e sw s7,12(sp) - 743e: d606 sw ra,44(sp) - 7440: d226 sw s1,36(sp) - 7442: ce4e sw s3,28(sp) - 7444: 8a2a mv s4,a0 - 7446: 8aae mv s5,a1 - 7448: 04850413 addi s0,a0,72 - 744c: 4901 li s2,0 - 744e: 4b05 li s6,1 - 7450: 5bfd li s7,-1 - 7452: ec09 bnez s0,746c <_fwalk_reent+0x3c> - 7454: 50b2 lw ra,44(sp) - 7456: 5422 lw s0,40(sp) - 7458: 854a mv a0,s2 - 745a: 5492 lw s1,36(sp) - 745c: 5902 lw s2,32(sp) - 745e: 49f2 lw s3,28(sp) - 7460: 4a62 lw s4,24(sp) - 7462: 4ad2 lw s5,20(sp) - 7464: 4b42 lw s6,16(sp) - 7466: 4bb2 lw s7,12(sp) - 7468: 6145 addi sp,sp,48 - 746a: 8082 ret - 746c: 4404 lw s1,8(s0) - 746e: 00442983 lw s3,4(s0) - 7472: 19fd addi s3,s3,-1 - 7474: 0009d463 bgez s3,747c <_fwalk_reent+0x4c> - 7478: 4000 lw s0,0(s0) - 747a: bfe1 j 7452 <_fwalk_reent+0x22> - 747c: 24de lhu a5,12(s1) - 747e: 00fb7b63 bgeu s6,a5,7494 <_fwalk_reent+0x64> - 7482: 00e49783 lh a5,14(s1) - 7486: 01778763 beq a5,s7,7494 <_fwalk_reent+0x64> - 748a: 85a6 mv a1,s1 - 748c: 8552 mv a0,s4 - 748e: 9a82 jalr s5 - 7490: 00a96933 or s2,s2,a0 - 7494: 06848493 addi s1,s1,104 - 7498: bfe9 j 7472 <_fwalk_reent+0x42> - -0000749a <__swhatbuf_r>: - 749a: 7119 addi sp,sp,-128 - 749c: daa6 sw s1,116(sp) - 749e: 84ae mv s1,a1 - 74a0: 00e59583 lh a1,14(a1) - 74a4: dca2 sw s0,120(sp) - 74a6: de86 sw ra,124(sp) - 74a8: 8432 mv s0,a2 - 74aa: 0005db63 bgez a1,74c0 <__swhatbuf_r+0x26> - 74ae: 24de lhu a5,12(s1) - 74b0: 0006a023 sw zero,0(a3) - 74b4: 0807f793 andi a5,a5,128 - 74b8: e785 bnez a5,74e0 <__swhatbuf_r+0x46> - 74ba: 40000793 li a5,1024 - 74be: a01d j 74e4 <__swhatbuf_r+0x4a> - 74c0: 0830 addi a2,sp,24 - 74c2: c636 sw a3,12(sp) - 74c4: 57d000ef jal ra,8240 <_fstat_r> - 74c8: 46b2 lw a3,12(sp) - 74ca: fe0542e3 bltz a0,74ae <__swhatbuf_r+0x14> - 74ce: 4772 lw a4,28(sp) - 74d0: 67bd lui a5,0xf - 74d2: 8ff9 and a5,a5,a4 - 74d4: 7779 lui a4,0xffffe - 74d6: 97ba add a5,a5,a4 - 74d8: 0017b793 seqz a5,a5 - 74dc: c29c sw a5,0(a3) - 74de: bff1 j 74ba <__swhatbuf_r+0x20> - 74e0: 04000793 li a5,64 - 74e4: c01c sw a5,0(s0) - 74e6: 50f6 lw ra,124(sp) - 74e8: 5466 lw s0,120(sp) - 74ea: 54d6 lw s1,116(sp) - 74ec: 4501 li a0,0 - 74ee: 6109 addi sp,sp,128 - 74f0: 8082 ret - -000074f2 <__smakebuf_r>: - 74f2: 25de lhu a5,12(a1) - 74f4: 1101 addi sp,sp,-32 - 74f6: cc22 sw s0,24(sp) - 74f8: ce06 sw ra,28(sp) - 74fa: ca26 sw s1,20(sp) - 74fc: c84a sw s2,16(sp) - 74fe: 8b89 andi a5,a5,2 - 7500: 842e mv s0,a1 - 7502: cf89 beqz a5,751c <__smakebuf_r+0x2a> - 7504: 04740793 addi a5,s0,71 - 7508: c01c sw a5,0(s0) - 750a: c81c sw a5,16(s0) - 750c: 4785 li a5,1 - 750e: c85c sw a5,20(s0) - 7510: 40f2 lw ra,28(sp) - 7512: 4462 lw s0,24(sp) - 7514: 44d2 lw s1,20(sp) - 7516: 4942 lw s2,16(sp) - 7518: 6105 addi sp,sp,32 - 751a: 8082 ret - 751c: 0074 addi a3,sp,12 - 751e: 0030 addi a2,sp,8 - 7520: 84aa mv s1,a0 - 7522: f79ff0ef jal ra,749a <__swhatbuf_r> - 7526: 45a2 lw a1,8(sp) - 7528: 892a mv s2,a0 - 752a: 8526 mv a0,s1 - 752c: 2229 jal 7636 <_malloc_r> - 752e: e919 bnez a0,7544 <__smakebuf_r+0x52> - 7530: 00c41783 lh a5,12(s0) - 7534: 2007f713 andi a4,a5,512 - 7538: ff61 bnez a4,7510 <__smakebuf_r+0x1e> - 753a: 9bf1 andi a5,a5,-4 - 753c: 0027e793 ori a5,a5,2 - 7540: a45e sh a5,12(s0) - 7542: b7c9 j 7504 <__smakebuf_r+0x12> - 7544: 00000797 auipc a5,0x0 - 7548: d9078793 addi a5,a5,-624 # 72d4 <_cleanup_r> - 754c: d49c sw a5,40(s1) - 754e: 245e lhu a5,12(s0) - 7550: c008 sw a0,0(s0) - 7552: c808 sw a0,16(s0) - 7554: 0807e793 ori a5,a5,128 - 7558: a45e sh a5,12(s0) - 755a: 47a2 lw a5,8(sp) - 755c: c85c sw a5,20(s0) - 755e: 47b2 lw a5,12(sp) - 7560: cf81 beqz a5,7578 <__smakebuf_r+0x86> - 7562: 00e41583 lh a1,14(s0) - 7566: 8526 mv a0,s1 - 7568: 50b000ef jal ra,8272 <_isatty_r> - 756c: c511 beqz a0,7578 <__smakebuf_r+0x86> - 756e: 245e lhu a5,12(s0) - 7570: 9bf1 andi a5,a5,-4 - 7572: 0017e793 ori a5,a5,1 - 7576: a45e sh a5,12(s0) - 7578: 245e lhu a5,12(s0) - 757a: 00f96933 or s2,s2,a5 - 757e: 01241623 sh s2,12(s0) - 7582: b779 j 7510 <__smakebuf_r+0x1e> - -00007584 : - 7584: 81818793 addi a5,gp,-2024 # 20000180 <_impure_ptr> - 7588: 85aa mv a1,a0 - 758a: 4388 lw a0,0(a5) - 758c: a06d j 7636 <_malloc_r> - -0000758e <_free_r>: - 758e: c1dd beqz a1,7634 <_free_r+0xa6> - 7590: ffc5a783 lw a5,-4(a1) - 7594: 1141 addi sp,sp,-16 - 7596: c422 sw s0,8(sp) - 7598: c606 sw ra,12(sp) - 759a: c226 sw s1,4(sp) - 759c: ffc58413 addi s0,a1,-4 - 75a0: 0007d363 bgez a5,75a6 <_free_r+0x18> - 75a4: 943e add s0,s0,a5 - 75a6: 84aa mv s1,a0 - 75a8: 58d000ef jal ra,8334 <__malloc_lock> - 75ac: 8ac18793 addi a5,gp,-1876 # 20000214 <__malloc_free_list> - 75b0: 439c lw a5,0(a5) - 75b2: ef81 bnez a5,75ca <_free_r+0x3c> - 75b4: 00042223 sw zero,4(s0) - 75b8: 8a81a623 sw s0,-1876(gp) # 20000214 <__malloc_free_list> - 75bc: 4422 lw s0,8(sp) - 75be: 40b2 lw ra,12(sp) - 75c0: 8526 mv a0,s1 - 75c2: 4492 lw s1,4(sp) - 75c4: 0141 addi sp,sp,16 - 75c6: 5710006f j 8336 <__malloc_unlock> - 75ca: 00f47e63 bgeu s0,a5,75e6 <_free_r+0x58> - 75ce: 4014 lw a3,0(s0) - 75d0: 00d40733 add a4,s0,a3 - 75d4: 00e79663 bne a5,a4,75e0 <_free_r+0x52> - 75d8: 4398 lw a4,0(a5) - 75da: 43dc lw a5,4(a5) - 75dc: 9736 add a4,a4,a3 - 75de: c018 sw a4,0(s0) - 75e0: c05c sw a5,4(s0) - 75e2: bfd9 j 75b8 <_free_r+0x2a> - 75e4: 87ba mv a5,a4 - 75e6: 43d8 lw a4,4(a5) - 75e8: c319 beqz a4,75ee <_free_r+0x60> - 75ea: fee47de3 bgeu s0,a4,75e4 <_free_r+0x56> - 75ee: 4394 lw a3,0(a5) - 75f0: 00d78633 add a2,a5,a3 - 75f4: 00861f63 bne a2,s0,7612 <_free_r+0x84> - 75f8: 4010 lw a2,0(s0) - 75fa: 96b2 add a3,a3,a2 - 75fc: c394 sw a3,0(a5) - 75fe: 00d78633 add a2,a5,a3 - 7602: fac71de3 bne a4,a2,75bc <_free_r+0x2e> - 7606: 4310 lw a2,0(a4) - 7608: 4358 lw a4,4(a4) - 760a: 96b2 add a3,a3,a2 - 760c: c394 sw a3,0(a5) - 760e: c3d8 sw a4,4(a5) - 7610: b775 j 75bc <_free_r+0x2e> - 7612: 00c47563 bgeu s0,a2,761c <_free_r+0x8e> - 7616: 47b1 li a5,12 - 7618: c09c sw a5,0(s1) - 761a: b74d j 75bc <_free_r+0x2e> - 761c: 4010 lw a2,0(s0) - 761e: 00c406b3 add a3,s0,a2 - 7622: 00d71663 bne a4,a3,762e <_free_r+0xa0> - 7626: 4314 lw a3,0(a4) - 7628: 4358 lw a4,4(a4) - 762a: 96b2 add a3,a3,a2 - 762c: c014 sw a3,0(s0) - 762e: c058 sw a4,4(s0) - 7630: c3c0 sw s0,4(a5) - 7632: b769 j 75bc <_free_r+0x2e> - 7634: 8082 ret - -00007636 <_malloc_r>: - 7636: 1101 addi sp,sp,-32 - 7638: ca26 sw s1,20(sp) - 763a: 00358493 addi s1,a1,3 - 763e: 98f1 andi s1,s1,-4 - 7640: ce06 sw ra,28(sp) - 7642: cc22 sw s0,24(sp) - 7644: c84a sw s2,16(sp) - 7646: c64e sw s3,12(sp) - 7648: 04a1 addi s1,s1,8 - 764a: 47b1 li a5,12 - 764c: 04f4f563 bgeu s1,a5,7696 <_malloc_r+0x60> - 7650: 44b1 li s1,12 - 7652: 04b4e463 bltu s1,a1,769a <_malloc_r+0x64> - 7656: 892a mv s2,a0 - 7658: 4dd000ef jal ra,8334 <__malloc_lock> - 765c: 8ac18793 addi a5,gp,-1876 # 20000214 <__malloc_free_list> - 7660: 4398 lw a4,0(a5) - 7662: 843a mv s0,a4 - 7664: e429 bnez s0,76ae <_malloc_r+0x78> - 7666: 8b018793 addi a5,gp,-1872 # 20000218 <__malloc_sbrk_start> - 766a: 439c lw a5,0(a5) - 766c: e799 bnez a5,767a <_malloc_r+0x44> - 766e: 4581 li a1,0 - 7670: 854a mv a0,s2 - 7672: 28d000ef jal ra,80fe <_sbrk_r> - 7676: 8aa1a823 sw a0,-1872(gp) # 20000218 <__malloc_sbrk_start> - 767a: 85a6 mv a1,s1 - 767c: 854a mv a0,s2 - 767e: 281000ef jal ra,80fe <_sbrk_r> - 7682: 59fd li s3,-1 - 7684: 07351963 bne a0,s3,76f6 <_malloc_r+0xc0> - 7688: 47b1 li a5,12 - 768a: 00f92023 sw a5,0(s2) - 768e: 854a mv a0,s2 - 7690: 4a7000ef jal ra,8336 <__malloc_unlock> - 7694: a029 j 769e <_malloc_r+0x68> - 7696: fa04dee3 bgez s1,7652 <_malloc_r+0x1c> - 769a: 47b1 li a5,12 - 769c: c11c sw a5,0(a0) - 769e: 4501 li a0,0 - 76a0: 40f2 lw ra,28(sp) - 76a2: 4462 lw s0,24(sp) - 76a4: 44d2 lw s1,20(sp) - 76a6: 4942 lw s2,16(sp) - 76a8: 49b2 lw s3,12(sp) - 76aa: 6105 addi sp,sp,32 - 76ac: 8082 ret - 76ae: 401c lw a5,0(s0) - 76b0: 8f85 sub a5,a5,s1 - 76b2: 0207cf63 bltz a5,76f0 <_malloc_r+0xba> - 76b6: 46ad li a3,11 - 76b8: 00f6f663 bgeu a3,a5,76c4 <_malloc_r+0x8e> - 76bc: c01c sw a5,0(s0) - 76be: 943e add s0,s0,a5 - 76c0: c004 sw s1,0(s0) - 76c2: a031 j 76ce <_malloc_r+0x98> - 76c4: 405c lw a5,4(s0) - 76c6: 02871363 bne a4,s0,76ec <_malloc_r+0xb6> - 76ca: 8af1a623 sw a5,-1876(gp) # 20000214 <__malloc_free_list> - 76ce: 854a mv a0,s2 - 76d0: 467000ef jal ra,8336 <__malloc_unlock> - 76d4: 00b40513 addi a0,s0,11 - 76d8: 00440793 addi a5,s0,4 - 76dc: 9961 andi a0,a0,-8 - 76de: 40f50733 sub a4,a0,a5 - 76e2: df5d beqz a4,76a0 <_malloc_r+0x6a> - 76e4: 943a add s0,s0,a4 - 76e6: 8f89 sub a5,a5,a0 - 76e8: c01c sw a5,0(s0) - 76ea: bf5d j 76a0 <_malloc_r+0x6a> - 76ec: c35c sw a5,4(a4) - 76ee: b7c5 j 76ce <_malloc_r+0x98> - 76f0: 8722 mv a4,s0 - 76f2: 4040 lw s0,4(s0) - 76f4: bf85 j 7664 <_malloc_r+0x2e> - 76f6: 00350413 addi s0,a0,3 - 76fa: 9871 andi s0,s0,-4 - 76fc: fc8502e3 beq a0,s0,76c0 <_malloc_r+0x8a> - 7700: 40a405b3 sub a1,s0,a0 - 7704: 854a mv a0,s2 - 7706: 1f9000ef jal ra,80fe <_sbrk_r> - 770a: fb351be3 bne a0,s3,76c0 <_malloc_r+0x8a> - 770e: bfad j 7688 <_malloc_r+0x52> - -00007710 <__ssputs_r>: - 7710: 1101 addi sp,sp,-32 - 7712: c84a sw s2,16(sp) - 7714: 0085a903 lw s2,8(a1) - 7718: cc22 sw s0,24(sp) - 771a: c452 sw s4,8(sp) - 771c: c05a sw s6,0(sp) - 771e: ce06 sw ra,28(sp) - 7720: ca26 sw s1,20(sp) - 7722: c64e sw s3,12(sp) - 7724: c256 sw s5,4(sp) - 7726: 842e mv s0,a1 - 7728: 8b32 mv s6,a2 - 772a: 8a36 mv s4,a3 - 772c: 0926e963 bltu a3,s2,77be <__ssputs_r+0xae> - 7730: 25de lhu a5,12(a1) - 7732: 4807f713 andi a4,a5,1152 - 7736: c351 beqz a4,77ba <__ssputs_r+0xaa> - 7738: 4004 lw s1,0(s0) - 773a: 498c lw a1,16(a1) - 773c: 4858 lw a4,20(s0) - 773e: 8aaa mv s5,a0 - 7740: 40b489b3 sub s3,s1,a1 - 7744: 448d li s1,3 - 7746: 02e484b3 mul s1,s1,a4 - 774a: 4709 li a4,2 - 774c: 02e4c4b3 div s1,s1,a4 - 7750: 00168713 addi a4,a3,1 - 7754: 974e add a4,a4,s3 - 7756: 00e4f363 bgeu s1,a4,775c <__ssputs_r+0x4c> - 775a: 84ba mv s1,a4 - 775c: 4007f793 andi a5,a5,1024 - 7760: cfbd beqz a5,77de <__ssputs_r+0xce> - 7762: 85a6 mv a1,s1 - 7764: 8556 mv a0,s5 - 7766: ed1ff0ef jal ra,7636 <_malloc_r> - 776a: 892a mv s2,a0 - 776c: e11d bnez a0,7792 <__ssputs_r+0x82> - 776e: 47b1 li a5,12 - 7770: 00faa023 sw a5,0(s5) - 7774: 245e lhu a5,12(s0) - 7776: 557d li a0,-1 - 7778: 0407e793 ori a5,a5,64 - 777c: a45e sh a5,12(s0) - 777e: 40f2 lw ra,28(sp) - 7780: 4462 lw s0,24(sp) - 7782: 44d2 lw s1,20(sp) - 7784: 4942 lw s2,16(sp) - 7786: 49b2 lw s3,12(sp) - 7788: 4a22 lw s4,8(sp) - 778a: 4a92 lw s5,4(sp) - 778c: 4b02 lw s6,0(sp) - 778e: 6105 addi sp,sp,32 - 7790: 8082 ret - 7792: 480c lw a1,16(s0) - 7794: 864e mv a2,s3 - 7796: c96ff0ef jal ra,6c2c - 779a: 245e lhu a5,12(s0) - 779c: b7f7f793 andi a5,a5,-1153 - 77a0: 0807e793 ori a5,a5,128 - 77a4: a45e sh a5,12(s0) - 77a6: 01242823 sw s2,16(s0) - 77aa: c844 sw s1,20(s0) - 77ac: 994e add s2,s2,s3 - 77ae: 413484b3 sub s1,s1,s3 - 77b2: 01242023 sw s2,0(s0) - 77b6: c404 sw s1,8(s0) - 77b8: 8952 mv s2,s4 - 77ba: 012a7363 bgeu s4,s2,77c0 <__ssputs_r+0xb0> - 77be: 8952 mv s2,s4 - 77c0: 4008 lw a0,0(s0) - 77c2: 864a mv a2,s2 - 77c4: 85da mv a1,s6 - 77c6: 329000ef jal ra,82ee - 77ca: 441c lw a5,8(s0) - 77cc: 4501 li a0,0 - 77ce: 412787b3 sub a5,a5,s2 - 77d2: c41c sw a5,8(s0) - 77d4: 401c lw a5,0(s0) - 77d6: 993e add s2,s2,a5 - 77d8: 01242023 sw s2,0(s0) - 77dc: b74d j 777e <__ssputs_r+0x6e> - 77de: 8626 mv a2,s1 - 77e0: 8556 mv a0,s5 - 77e2: 357000ef jal ra,8338 <_realloc_r> - 77e6: 892a mv s2,a0 - 77e8: fd5d bnez a0,77a6 <__ssputs_r+0x96> - 77ea: 480c lw a1,16(s0) - 77ec: 8556 mv a0,s5 - 77ee: da1ff0ef jal ra,758e <_free_r> - 77f2: bfb5 j 776e <__ssputs_r+0x5e> - -000077f4 <_svfiprintf_r>: - 77f4: 25de lhu a5,12(a1) - 77f6: 7171 addi sp,sp,-176 - 77f8: d326 sw s1,164(sp) - 77fa: d14a sw s2,160(sp) - 77fc: cf4e sw s3,156(sp) - 77fe: d706 sw ra,172(sp) - 7800: d522 sw s0,168(sp) - 7802: cd52 sw s4,152(sp) - 7804: cb56 sw s5,148(sp) - 7806: c95a sw s6,144(sp) - 7808: c75e sw s7,140(sp) - 780a: c562 sw s8,136(sp) - 780c: c366 sw s9,132(sp) - 780e: 0807f793 andi a5,a5,128 - 7812: 89aa mv s3,a0 - 7814: 892e mv s2,a1 - 7816: 84b2 mv s1,a2 - 7818: c3b9 beqz a5,785e <_svfiprintf_r+0x6a> - 781a: 499c lw a5,16(a1) - 781c: e3a9 bnez a5,785e <_svfiprintf_r+0x6a> - 781e: 04000593 li a1,64 - 7822: c636 sw a3,12(sp) - 7824: e13ff0ef jal ra,7636 <_malloc_r> - 7828: 00a92023 sw a0,0(s2) - 782c: 00a92823 sw a0,16(s2) - 7830: 46b2 lw a3,12(sp) - 7832: e115 bnez a0,7856 <_svfiprintf_r+0x62> - 7834: 47b1 li a5,12 - 7836: 00f9a023 sw a5,0(s3) - 783a: 557d li a0,-1 - 783c: 50ba lw ra,172(sp) - 783e: 542a lw s0,168(sp) - 7840: 549a lw s1,164(sp) - 7842: 590a lw s2,160(sp) - 7844: 49fa lw s3,156(sp) - 7846: 4a6a lw s4,152(sp) - 7848: 4ada lw s5,148(sp) - 784a: 4b4a lw s6,144(sp) - 784c: 4bba lw s7,140(sp) - 784e: 4c2a lw s8,136(sp) - 7850: 4c9a lw s9,132(sp) - 7852: 614d addi sp,sp,176 - 7854: 8082 ret - 7856: 04000793 li a5,64 - 785a: 00f92a23 sw a5,20(s2) - 785e: 02000793 li a5,32 - 7862: 02f10ca3 sb a5,57(sp) - 7866: 03000793 li a5,48 - 786a: da02 sw zero,52(sp) - 786c: 02f10d23 sb a5,58(sp) - 7870: ce36 sw a3,28(sp) - 7872: 02500b93 li s7,37 - 7876: 00001a97 auipc s5,0x1 - 787a: 60ea8a93 addi s5,s5,1550 # 8e84 <__sf_fake_stdout+0x20> - 787e: 4c05 li s8,1 - 7880: 4b29 li s6,10 - 7882: 8426 mv s0,s1 - 7884: 201c lbu a5,0(s0) - 7886: c399 beqz a5,788c <_svfiprintf_r+0x98> - 7888: 09779963 bne a5,s7,791a <_svfiprintf_r+0x126> - 788c: 40940cb3 sub s9,s0,s1 - 7890: 000c8e63 beqz s9,78ac <_svfiprintf_r+0xb8> - 7894: 86e6 mv a3,s9 - 7896: 8626 mv a2,s1 - 7898: 85ca mv a1,s2 - 789a: 854e mv a0,s3 - 789c: e75ff0ef jal ra,7710 <__ssputs_r> - 78a0: 57fd li a5,-1 - 78a2: 18f50b63 beq a0,a5,7a38 <_svfiprintf_r+0x244> - 78a6: 56d2 lw a3,52(sp) - 78a8: 96e6 add a3,a3,s9 - 78aa: da36 sw a3,52(sp) - 78ac: 201c lbu a5,0(s0) - 78ae: 18078563 beqz a5,7a38 <_svfiprintf_r+0x244> - 78b2: 57fd li a5,-1 - 78b4: 00140493 addi s1,s0,1 - 78b8: d002 sw zero,32(sp) - 78ba: d602 sw zero,44(sp) - 78bc: d23e sw a5,36(sp) - 78be: d402 sw zero,40(sp) - 78c0: 060101a3 sb zero,99(sp) - 78c4: dc82 sw zero,120(sp) - 78c6: 208c lbu a1,0(s1) - 78c8: 4615 li a2,5 - 78ca: 8556 mv a0,s5 - 78cc: 20b000ef jal ra,82d6 - 78d0: 00148413 addi s0,s1,1 - 78d4: 5782 lw a5,32(sp) - 78d6: e521 bnez a0,791e <_svfiprintf_r+0x12a> - 78d8: 0107f713 andi a4,a5,16 - 78dc: c709 beqz a4,78e6 <_svfiprintf_r+0xf2> - 78de: 02000713 li a4,32 - 78e2: 06e101a3 sb a4,99(sp) - 78e6: 0087f713 andi a4,a5,8 - 78ea: c709 beqz a4,78f4 <_svfiprintf_r+0x100> - 78ec: 02b00713 li a4,43 - 78f0: 06e101a3 sb a4,99(sp) - 78f4: 2094 lbu a3,0(s1) - 78f6: 02a00713 li a4,42 - 78fa: 02e68a63 beq a3,a4,792e <_svfiprintf_r+0x13a> - 78fe: 57b2 lw a5,44(sp) - 7900: 8426 mv s0,s1 - 7902: 4681 li a3,0 - 7904: 4625 li a2,9 - 7906: 2018 lbu a4,0(s0) - 7908: 00140593 addi a1,s0,1 - 790c: fd070713 addi a4,a4,-48 # ffffdfd0 <_eusrstack+0xdfff8fd0> - 7910: 06e67263 bgeu a2,a4,7974 <_svfiprintf_r+0x180> - 7914: c68d beqz a3,793e <_svfiprintf_r+0x14a> - 7916: d63e sw a5,44(sp) - 7918: a01d j 793e <_svfiprintf_r+0x14a> - 791a: 0405 addi s0,s0,1 - 791c: b7a5 j 7884 <_svfiprintf_r+0x90> - 791e: 41550533 sub a0,a0,s5 - 7922: 00ac1533 sll a0,s8,a0 - 7926: 8fc9 or a5,a5,a0 - 7928: d03e sw a5,32(sp) - 792a: 84a2 mv s1,s0 - 792c: bf69 j 78c6 <_svfiprintf_r+0xd2> - 792e: 4772 lw a4,28(sp) - 7930: 00470693 addi a3,a4,4 - 7934: 4318 lw a4,0(a4) - 7936: ce36 sw a3,28(sp) - 7938: 02074763 bltz a4,7966 <_svfiprintf_r+0x172> - 793c: d63a sw a4,44(sp) - 793e: 2018 lbu a4,0(s0) - 7940: 02e00793 li a5,46 - 7944: 04f71d63 bne a4,a5,799e <_svfiprintf_r+0x1aa> - 7948: 3018 lbu a4,1(s0) - 794a: 02a00793 li a5,42 - 794e: 02f71b63 bne a4,a5,7984 <_svfiprintf_r+0x190> - 7952: 47f2 lw a5,28(sp) - 7954: 0409 addi s0,s0,2 - 7956: 00478713 addi a4,a5,4 - 795a: 439c lw a5,0(a5) - 795c: ce3a sw a4,28(sp) - 795e: 0207c163 bltz a5,7980 <_svfiprintf_r+0x18c> - 7962: d23e sw a5,36(sp) - 7964: a82d j 799e <_svfiprintf_r+0x1aa> - 7966: 40e00733 neg a4,a4 - 796a: 0027e793 ori a5,a5,2 - 796e: d63a sw a4,44(sp) - 7970: d03e sw a5,32(sp) - 7972: b7f1 j 793e <_svfiprintf_r+0x14a> - 7974: 036787b3 mul a5,a5,s6 - 7978: 4685 li a3,1 - 797a: 842e mv s0,a1 - 797c: 97ba add a5,a5,a4 - 797e: b761 j 7906 <_svfiprintf_r+0x112> - 7980: 57fd li a5,-1 - 7982: b7c5 j 7962 <_svfiprintf_r+0x16e> - 7984: 0405 addi s0,s0,1 - 7986: d202 sw zero,36(sp) - 7988: 4681 li a3,0 - 798a: 4781 li a5,0 - 798c: 4625 li a2,9 - 798e: 2018 lbu a4,0(s0) - 7990: 00140593 addi a1,s0,1 - 7994: fd070713 addi a4,a4,-48 - 7998: 06e67663 bgeu a2,a4,7a04 <_svfiprintf_r+0x210> - 799c: f2f9 bnez a3,7962 <_svfiprintf_r+0x16e> - 799e: 200c lbu a1,0(s0) - 79a0: 460d li a2,3 - 79a2: 00001517 auipc a0,0x1 - 79a6: 4ea50513 addi a0,a0,1258 # 8e8c <__sf_fake_stdout+0x28> - 79aa: 12d000ef jal ra,82d6 - 79ae: cd11 beqz a0,79ca <_svfiprintf_r+0x1d6> - 79b0: 00001797 auipc a5,0x1 - 79b4: 4dc78793 addi a5,a5,1244 # 8e8c <__sf_fake_stdout+0x28> - 79b8: 8d1d sub a0,a0,a5 - 79ba: 04000793 li a5,64 - 79be: 00a797b3 sll a5,a5,a0 - 79c2: 5502 lw a0,32(sp) - 79c4: 0405 addi s0,s0,1 - 79c6: 8d5d or a0,a0,a5 - 79c8: d02a sw a0,32(sp) - 79ca: 200c lbu a1,0(s0) - 79cc: 4619 li a2,6 - 79ce: 00001517 auipc a0,0x1 - 79d2: 4c250513 addi a0,a0,1218 # 8e90 <__sf_fake_stdout+0x2c> - 79d6: 00140493 addi s1,s0,1 - 79da: 02b10c23 sb a1,56(sp) - 79de: 0f9000ef jal ra,82d6 - 79e2: c525 beqz a0,7a4a <_svfiprintf_r+0x256> - 79e4: ffff8797 auipc a5,0xffff8 - 79e8: 61c78793 addi a5,a5,1564 # 0 <_sinit> - 79ec: e795 bnez a5,7a18 <_svfiprintf_r+0x224> - 79ee: 5702 lw a4,32(sp) - 79f0: 47f2 lw a5,28(sp) - 79f2: 10077713 andi a4,a4,256 - 79f6: cf09 beqz a4,7a10 <_svfiprintf_r+0x21c> - 79f8: 0791 addi a5,a5,4 - 79fa: ce3e sw a5,28(sp) - 79fc: 57d2 lw a5,52(sp) - 79fe: 97d2 add a5,a5,s4 - 7a00: da3e sw a5,52(sp) - 7a02: b541 j 7882 <_svfiprintf_r+0x8e> - 7a04: 036787b3 mul a5,a5,s6 - 7a08: 4685 li a3,1 - 7a0a: 842e mv s0,a1 - 7a0c: 97ba add a5,a5,a4 - 7a0e: b741 j 798e <_svfiprintf_r+0x19a> - 7a10: 079d addi a5,a5,7 - 7a12: 9be1 andi a5,a5,-8 - 7a14: 07a1 addi a5,a5,8 - 7a16: b7d5 j 79fa <_svfiprintf_r+0x206> - 7a18: 0878 addi a4,sp,28 - 7a1a: 00000697 auipc a3,0x0 - 7a1e: cf668693 addi a3,a3,-778 # 7710 <__ssputs_r> - 7a22: 864a mv a2,s2 - 7a24: 100c addi a1,sp,32 - 7a26: 854e mv a0,s3 - 7a28: 00000097 auipc ra,0x0 - 7a2c: 000000e7 jalr zero # 0 <_sinit> - 7a30: 57fd li a5,-1 - 7a32: 8a2a mv s4,a0 - 7a34: fcf514e3 bne a0,a5,79fc <_svfiprintf_r+0x208> - 7a38: 00c95783 lhu a5,12(s2) - 7a3c: 557d li a0,-1 - 7a3e: 0407f793 andi a5,a5,64 - 7a42: de079de3 bnez a5,783c <_svfiprintf_r+0x48> - 7a46: 5552 lw a0,52(sp) - 7a48: bbd5 j 783c <_svfiprintf_r+0x48> - 7a4a: 0878 addi a4,sp,28 - 7a4c: 00000697 auipc a3,0x0 - 7a50: cc468693 addi a3,a3,-828 # 7710 <__ssputs_r> - 7a54: 864a mv a2,s2 - 7a56: 100c addi a1,sp,32 - 7a58: 854e mv a0,s3 - 7a5a: 2109 jal 7e5c <_printf_i> - 7a5c: bfd1 j 7a30 <_svfiprintf_r+0x23c> - -00007a5e <__sfputc_r>: - 7a5e: 461c lw a5,8(a2) - 7a60: 17fd addi a5,a5,-1 - 7a62: c61c sw a5,8(a2) - 7a64: 0007da63 bgez a5,7a78 <__sfputc_r+0x1a> - 7a68: 4e18 lw a4,24(a2) - 7a6a: 00e7c563 blt a5,a4,7a74 <__sfputc_r+0x16> - 7a6e: 47a9 li a5,10 - 7a70: 00f59463 bne a1,a5,7a78 <__sfputc_r+0x1a> - 7a74: cacff06f j 6f20 <__swbuf_r> - 7a78: 421c lw a5,0(a2) - 7a7a: 852e mv a0,a1 - 7a7c: 00178713 addi a4,a5,1 - 7a80: c218 sw a4,0(a2) - 7a82: a38c sb a1,0(a5) - 7a84: 8082 ret - -00007a86 <__sfputs_r>: - 7a86: 1101 addi sp,sp,-32 - 7a88: cc22 sw s0,24(sp) - 7a8a: ca26 sw s1,20(sp) - 7a8c: c84a sw s2,16(sp) - 7a8e: c64e sw s3,12(sp) - 7a90: c452 sw s4,8(sp) - 7a92: ce06 sw ra,28(sp) - 7a94: 892a mv s2,a0 - 7a96: 89ae mv s3,a1 - 7a98: 8432 mv s0,a2 - 7a9a: 00d604b3 add s1,a2,a3 - 7a9e: 5a7d li s4,-1 - 7aa0: 00941463 bne s0,s1,7aa8 <__sfputs_r+0x22> - 7aa4: 4501 li a0,0 - 7aa6: a809 j 7ab8 <__sfputs_r+0x32> - 7aa8: 200c lbu a1,0(s0) - 7aaa: 864e mv a2,s3 - 7aac: 854a mv a0,s2 - 7aae: fb1ff0ef jal ra,7a5e <__sfputc_r> - 7ab2: 0405 addi s0,s0,1 - 7ab4: ff4516e3 bne a0,s4,7aa0 <__sfputs_r+0x1a> - 7ab8: 40f2 lw ra,28(sp) - 7aba: 4462 lw s0,24(sp) - 7abc: 44d2 lw s1,20(sp) - 7abe: 4942 lw s2,16(sp) - 7ac0: 49b2 lw s3,12(sp) - 7ac2: 4a22 lw s4,8(sp) - 7ac4: 6105 addi sp,sp,32 - 7ac6: 8082 ret - -00007ac8 <_vfiprintf_r>: - 7ac8: 7135 addi sp,sp,-160 - 7aca: cd22 sw s0,152(sp) - 7acc: cb26 sw s1,148(sp) - 7ace: c94a sw s2,144(sp) - 7ad0: c74e sw s3,140(sp) - 7ad2: cf06 sw ra,156(sp) - 7ad4: c552 sw s4,136(sp) - 7ad6: c356 sw s5,132(sp) - 7ad8: c15a sw s6,128(sp) - 7ada: dede sw s7,124(sp) - 7adc: dce2 sw s8,120(sp) - 7ade: dae6 sw s9,116(sp) - 7ae0: 89aa mv s3,a0 - 7ae2: 84ae mv s1,a1 - 7ae4: 8932 mv s2,a2 - 7ae6: 8436 mv s0,a3 - 7ae8: c509 beqz a0,7af2 <_vfiprintf_r+0x2a> - 7aea: 4d1c lw a5,24(a0) - 7aec: e399 bnez a5,7af2 <_vfiprintf_r+0x2a> - 7aee: 837ff0ef jal ra,7324 <__sinit> - 7af2: 00001797 auipc a5,0x1 - 7af6: 35278793 addi a5,a5,850 # 8e44 <__sf_fake_stdin> - 7afa: 0cf49863 bne s1,a5,7bca <_vfiprintf_r+0x102> - 7afe: 0049a483 lw s1,4(s3) - 7b02: 24de lhu a5,12(s1) - 7b04: 8ba1 andi a5,a5,8 - 7b06: c7e5 beqz a5,7bee <_vfiprintf_r+0x126> - 7b08: 489c lw a5,16(s1) - 7b0a: c3f5 beqz a5,7bee <_vfiprintf_r+0x126> - 7b0c: 02000793 li a5,32 - 7b10: 02f104a3 sb a5,41(sp) - 7b14: 03000793 li a5,48 - 7b18: d202 sw zero,36(sp) - 7b1a: 02f10523 sb a5,42(sp) - 7b1e: c622 sw s0,12(sp) - 7b20: 02500b93 li s7,37 - 7b24: 00001a97 auipc s5,0x1 - 7b28: 360a8a93 addi s5,s5,864 # 8e84 <__sf_fake_stdout+0x20> - 7b2c: 4c05 li s8,1 - 7b2e: 4b29 li s6,10 - 7b30: 844a mv s0,s2 - 7b32: 201c lbu a5,0(s0) - 7b34: c399 beqz a5,7b3a <_vfiprintf_r+0x72> - 7b36: 0d779f63 bne a5,s7,7c14 <_vfiprintf_r+0x14c> - 7b3a: 41240cb3 sub s9,s0,s2 - 7b3e: 000c8e63 beqz s9,7b5a <_vfiprintf_r+0x92> - 7b42: 86e6 mv a3,s9 - 7b44: 864a mv a2,s2 - 7b46: 85a6 mv a1,s1 - 7b48: 854e mv a0,s3 - 7b4a: f3dff0ef jal ra,7a86 <__sfputs_r> - 7b4e: 57fd li a5,-1 - 7b50: 1cf50f63 beq a0,a5,7d2e <_vfiprintf_r+0x266> - 7b54: 5692 lw a3,36(sp) - 7b56: 96e6 add a3,a3,s9 - 7b58: d236 sw a3,36(sp) - 7b5a: 201c lbu a5,0(s0) - 7b5c: 1c078963 beqz a5,7d2e <_vfiprintf_r+0x266> - 7b60: 57fd li a5,-1 - 7b62: 00140913 addi s2,s0,1 - 7b66: c802 sw zero,16(sp) - 7b68: ce02 sw zero,28(sp) - 7b6a: ca3e sw a5,20(sp) - 7b6c: cc02 sw zero,24(sp) - 7b6e: 040109a3 sb zero,83(sp) - 7b72: d482 sw zero,104(sp) - 7b74: 00094583 lbu a1,0(s2) - 7b78: 4615 li a2,5 - 7b7a: 8556 mv a0,s5 - 7b7c: 2fa9 jal 82d6 - 7b7e: 00190413 addi s0,s2,1 - 7b82: 47c2 lw a5,16(sp) - 7b84: e951 bnez a0,7c18 <_vfiprintf_r+0x150> - 7b86: 0107f713 andi a4,a5,16 - 7b8a: c709 beqz a4,7b94 <_vfiprintf_r+0xcc> - 7b8c: 02000713 li a4,32 - 7b90: 04e109a3 sb a4,83(sp) - 7b94: 0087f713 andi a4,a5,8 - 7b98: c709 beqz a4,7ba2 <_vfiprintf_r+0xda> - 7b9a: 02b00713 li a4,43 - 7b9e: 04e109a3 sb a4,83(sp) - 7ba2: 00094683 lbu a3,0(s2) - 7ba6: 02a00713 li a4,42 - 7baa: 06e68f63 beq a3,a4,7c28 <_vfiprintf_r+0x160> - 7bae: 47f2 lw a5,28(sp) - 7bb0: 844a mv s0,s2 - 7bb2: 4681 li a3,0 - 7bb4: 4625 li a2,9 - 7bb6: 2018 lbu a4,0(s0) - 7bb8: 00140593 addi a1,s0,1 - 7bbc: fd070713 addi a4,a4,-48 - 7bc0: 0ae67763 bgeu a2,a4,7c6e <_vfiprintf_r+0x1a6> - 7bc4: cab5 beqz a3,7c38 <_vfiprintf_r+0x170> - 7bc6: ce3e sw a5,28(sp) - 7bc8: a885 j 7c38 <_vfiprintf_r+0x170> - 7bca: 00001797 auipc a5,0x1 - 7bce: 29a78793 addi a5,a5,666 # 8e64 <__sf_fake_stdout> - 7bd2: 00f49563 bne s1,a5,7bdc <_vfiprintf_r+0x114> - 7bd6: 0089a483 lw s1,8(s3) - 7bda: b725 j 7b02 <_vfiprintf_r+0x3a> - 7bdc: 00001797 auipc a5,0x1 - 7be0: 24878793 addi a5,a5,584 # 8e24 <__sf_fake_stderr> - 7be4: f0f49fe3 bne s1,a5,7b02 <_vfiprintf_r+0x3a> - 7be8: 00c9a483 lw s1,12(s3) - 7bec: bf19 j 7b02 <_vfiprintf_r+0x3a> - 7bee: 85a6 mv a1,s1 - 7bf0: 854e mv a0,s3 - 7bf2: beaff0ef jal ra,6fdc <__swsetup_r> - 7bf6: d919 beqz a0,7b0c <_vfiprintf_r+0x44> - 7bf8: 557d li a0,-1 - 7bfa: 40fa lw ra,156(sp) - 7bfc: 446a lw s0,152(sp) - 7bfe: 44da lw s1,148(sp) - 7c00: 494a lw s2,144(sp) - 7c02: 49ba lw s3,140(sp) - 7c04: 4a2a lw s4,136(sp) - 7c06: 4a9a lw s5,132(sp) - 7c08: 4b0a lw s6,128(sp) - 7c0a: 5bf6 lw s7,124(sp) - 7c0c: 5c66 lw s8,120(sp) - 7c0e: 5cd6 lw s9,116(sp) - 7c10: 610d addi sp,sp,160 - 7c12: 8082 ret - 7c14: 0405 addi s0,s0,1 - 7c16: bf31 j 7b32 <_vfiprintf_r+0x6a> - 7c18: 41550533 sub a0,a0,s5 - 7c1c: 00ac1533 sll a0,s8,a0 - 7c20: 8fc9 or a5,a5,a0 - 7c22: c83e sw a5,16(sp) - 7c24: 8922 mv s2,s0 - 7c26: b7b9 j 7b74 <_vfiprintf_r+0xac> - 7c28: 4732 lw a4,12(sp) - 7c2a: 00470693 addi a3,a4,4 - 7c2e: 4318 lw a4,0(a4) - 7c30: c636 sw a3,12(sp) - 7c32: 02074763 bltz a4,7c60 <_vfiprintf_r+0x198> - 7c36: ce3a sw a4,28(sp) - 7c38: 2018 lbu a4,0(s0) - 7c3a: 02e00793 li a5,46 - 7c3e: 04f71d63 bne a4,a5,7c98 <_vfiprintf_r+0x1d0> - 7c42: 3018 lbu a4,1(s0) - 7c44: 02a00793 li a5,42 - 7c48: 02f71b63 bne a4,a5,7c7e <_vfiprintf_r+0x1b6> - 7c4c: 47b2 lw a5,12(sp) - 7c4e: 0409 addi s0,s0,2 - 7c50: 00478713 addi a4,a5,4 - 7c54: 439c lw a5,0(a5) - 7c56: c63a sw a4,12(sp) - 7c58: 0207c163 bltz a5,7c7a <_vfiprintf_r+0x1b2> - 7c5c: ca3e sw a5,20(sp) - 7c5e: a82d j 7c98 <_vfiprintf_r+0x1d0> - 7c60: 40e00733 neg a4,a4 - 7c64: 0027e793 ori a5,a5,2 - 7c68: ce3a sw a4,28(sp) - 7c6a: c83e sw a5,16(sp) - 7c6c: b7f1 j 7c38 <_vfiprintf_r+0x170> - 7c6e: 036787b3 mul a5,a5,s6 - 7c72: 4685 li a3,1 - 7c74: 842e mv s0,a1 - 7c76: 97ba add a5,a5,a4 - 7c78: bf3d j 7bb6 <_vfiprintf_r+0xee> - 7c7a: 57fd li a5,-1 - 7c7c: b7c5 j 7c5c <_vfiprintf_r+0x194> - 7c7e: 0405 addi s0,s0,1 - 7c80: ca02 sw zero,20(sp) - 7c82: 4681 li a3,0 - 7c84: 4781 li a5,0 - 7c86: 4625 li a2,9 - 7c88: 2018 lbu a4,0(s0) - 7c8a: 00140593 addi a1,s0,1 - 7c8e: fd070713 addi a4,a4,-48 - 7c92: 06e67463 bgeu a2,a4,7cfa <_vfiprintf_r+0x232> - 7c96: f2f9 bnez a3,7c5c <_vfiprintf_r+0x194> - 7c98: 200c lbu a1,0(s0) - 7c9a: 460d li a2,3 - 7c9c: 00001517 auipc a0,0x1 - 7ca0: 1f050513 addi a0,a0,496 # 8e8c <__sf_fake_stdout+0x28> - 7ca4: 2d0d jal 82d6 - 7ca6: cd11 beqz a0,7cc2 <_vfiprintf_r+0x1fa> - 7ca8: 00001797 auipc a5,0x1 - 7cac: 1e478793 addi a5,a5,484 # 8e8c <__sf_fake_stdout+0x28> - 7cb0: 8d1d sub a0,a0,a5 - 7cb2: 04000793 li a5,64 - 7cb6: 00a797b3 sll a5,a5,a0 - 7cba: 4542 lw a0,16(sp) - 7cbc: 0405 addi s0,s0,1 - 7cbe: 8d5d or a0,a0,a5 - 7cc0: c82a sw a0,16(sp) - 7cc2: 200c lbu a1,0(s0) - 7cc4: 4619 li a2,6 - 7cc6: 00001517 auipc a0,0x1 - 7cca: 1ca50513 addi a0,a0,458 # 8e90 <__sf_fake_stdout+0x2c> - 7cce: 00140913 addi s2,s0,1 - 7cd2: 02b10423 sb a1,40(sp) - 7cd6: 2501 jal 82d6 - 7cd8: c135 beqz a0,7d3c <_vfiprintf_r+0x274> - 7cda: ffff8797 auipc a5,0xffff8 - 7cde: 32678793 addi a5,a5,806 # 0 <_sinit> - 7ce2: e795 bnez a5,7d0e <_vfiprintf_r+0x246> - 7ce4: 4742 lw a4,16(sp) - 7ce6: 47b2 lw a5,12(sp) - 7ce8: 10077713 andi a4,a4,256 - 7cec: cf09 beqz a4,7d06 <_vfiprintf_r+0x23e> - 7cee: 0791 addi a5,a5,4 - 7cf0: c63e sw a5,12(sp) - 7cf2: 5792 lw a5,36(sp) - 7cf4: 97d2 add a5,a5,s4 - 7cf6: d23e sw a5,36(sp) - 7cf8: bd25 j 7b30 <_vfiprintf_r+0x68> - 7cfa: 036787b3 mul a5,a5,s6 - 7cfe: 4685 li a3,1 - 7d00: 842e mv s0,a1 - 7d02: 97ba add a5,a5,a4 - 7d04: b751 j 7c88 <_vfiprintf_r+0x1c0> - 7d06: 079d addi a5,a5,7 - 7d08: 9be1 andi a5,a5,-8 - 7d0a: 07a1 addi a5,a5,8 - 7d0c: b7d5 j 7cf0 <_vfiprintf_r+0x228> - 7d0e: 0078 addi a4,sp,12 - 7d10: 00000697 auipc a3,0x0 - 7d14: d7668693 addi a3,a3,-650 # 7a86 <__sfputs_r> - 7d18: 8626 mv a2,s1 - 7d1a: 080c addi a1,sp,16 - 7d1c: 854e mv a0,s3 - 7d1e: 00000097 auipc ra,0x0 - 7d22: 000000e7 jalr zero # 0 <_sinit> - 7d26: 57fd li a5,-1 - 7d28: 8a2a mv s4,a0 - 7d2a: fcf514e3 bne a0,a5,7cf2 <_vfiprintf_r+0x22a> - 7d2e: 24de lhu a5,12(s1) - 7d30: 0407f793 andi a5,a5,64 - 7d34: ec0792e3 bnez a5,7bf8 <_vfiprintf_r+0x130> - 7d38: 5512 lw a0,36(sp) - 7d3a: b5c1 j 7bfa <_vfiprintf_r+0x132> - 7d3c: 0078 addi a4,sp,12 - 7d3e: 00000697 auipc a3,0x0 - 7d42: d4868693 addi a3,a3,-696 # 7a86 <__sfputs_r> - 7d46: 8626 mv a2,s1 - 7d48: 080c addi a1,sp,16 - 7d4a: 854e mv a0,s3 - 7d4c: 2a01 jal 7e5c <_printf_i> - 7d4e: bfe1 j 7d26 <_vfiprintf_r+0x25e> - -00007d50 <_printf_common>: - 7d50: 7179 addi sp,sp,-48 - 7d52: ca56 sw s5,20(sp) - 7d54: 499c lw a5,16(a1) - 7d56: 8aba mv s5,a4 - 7d58: 4598 lw a4,8(a1) - 7d5a: d422 sw s0,40(sp) - 7d5c: d226 sw s1,36(sp) - 7d5e: ce4e sw s3,28(sp) - 7d60: cc52 sw s4,24(sp) - 7d62: d606 sw ra,44(sp) - 7d64: d04a sw s2,32(sp) - 7d66: c85a sw s6,16(sp) - 7d68: c65e sw s7,12(sp) - 7d6a: 89aa mv s3,a0 - 7d6c: 842e mv s0,a1 - 7d6e: 84b2 mv s1,a2 - 7d70: 8a36 mv s4,a3 - 7d72: 00e7d363 bge a5,a4,7d78 <_printf_common+0x28> - 7d76: 87ba mv a5,a4 - 7d78: c09c sw a5,0(s1) - 7d7a: 04344703 lbu a4,67(s0) - 7d7e: c319 beqz a4,7d84 <_printf_common+0x34> - 7d80: 0785 addi a5,a5,1 - 7d82: c09c sw a5,0(s1) - 7d84: 401c lw a5,0(s0) - 7d86: 0207f793 andi a5,a5,32 - 7d8a: c781 beqz a5,7d92 <_printf_common+0x42> - 7d8c: 409c lw a5,0(s1) - 7d8e: 0789 addi a5,a5,2 - 7d90: c09c sw a5,0(s1) - 7d92: 00042903 lw s2,0(s0) - 7d96: 00697913 andi s2,s2,6 - 7d9a: 00091a63 bnez s2,7dae <_printf_common+0x5e> - 7d9e: 01940b13 addi s6,s0,25 - 7da2: 5bfd li s7,-1 - 7da4: 445c lw a5,12(s0) - 7da6: 4098 lw a4,0(s1) - 7da8: 8f99 sub a5,a5,a4 - 7daa: 04f94c63 blt s2,a5,7e02 <_printf_common+0xb2> - 7dae: 401c lw a5,0(s0) - 7db0: 04344683 lbu a3,67(s0) - 7db4: 0207f793 andi a5,a5,32 - 7db8: 00d036b3 snez a3,a3 - 7dbc: eba5 bnez a5,7e2c <_printf_common+0xdc> - 7dbe: 04340613 addi a2,s0,67 - 7dc2: 85d2 mv a1,s4 - 7dc4: 854e mv a0,s3 - 7dc6: 9a82 jalr s5 - 7dc8: 57fd li a5,-1 - 7dca: 04f50363 beq a0,a5,7e10 <_printf_common+0xc0> - 7dce: 401c lw a5,0(s0) - 7dd0: 4611 li a2,4 - 7dd2: 4098 lw a4,0(s1) - 7dd4: 8b99 andi a5,a5,6 - 7dd6: 4454 lw a3,12(s0) - 7dd8: 4481 li s1,0 - 7dda: 00c79763 bne a5,a2,7de8 <_printf_common+0x98> - 7dde: 40e684b3 sub s1,a3,a4 - 7de2: 0004d363 bgez s1,7de8 <_printf_common+0x98> - 7de6: 4481 li s1,0 - 7de8: 441c lw a5,8(s0) - 7dea: 4818 lw a4,16(s0) - 7dec: 00f75463 bge a4,a5,7df4 <_printf_common+0xa4> - 7df0: 8f99 sub a5,a5,a4 - 7df2: 94be add s1,s1,a5 - 7df4: 4901 li s2,0 - 7df6: 0469 addi s0,s0,26 - 7df8: 5b7d li s6,-1 - 7dfa: 05249863 bne s1,s2,7e4a <_printf_common+0xfa> - 7dfe: 4501 li a0,0 - 7e00: a809 j 7e12 <_printf_common+0xc2> - 7e02: 4685 li a3,1 - 7e04: 865a mv a2,s6 - 7e06: 85d2 mv a1,s4 - 7e08: 854e mv a0,s3 - 7e0a: 9a82 jalr s5 - 7e0c: 01751e63 bne a0,s7,7e28 <_printf_common+0xd8> - 7e10: 557d li a0,-1 - 7e12: 50b2 lw ra,44(sp) - 7e14: 5422 lw s0,40(sp) - 7e16: 5492 lw s1,36(sp) - 7e18: 5902 lw s2,32(sp) - 7e1a: 49f2 lw s3,28(sp) - 7e1c: 4a62 lw s4,24(sp) - 7e1e: 4ad2 lw s5,20(sp) - 7e20: 4b42 lw s6,16(sp) - 7e22: 4bb2 lw s7,12(sp) - 7e24: 6145 addi sp,sp,48 - 7e26: 8082 ret - 7e28: 0905 addi s2,s2,1 - 7e2a: bfad j 7da4 <_printf_common+0x54> - 7e2c: 00d40733 add a4,s0,a3 - 7e30: 03000613 li a2,48 - 7e34: 04c701a3 sb a2,67(a4) - 7e38: 04544703 lbu a4,69(s0) - 7e3c: 00168793 addi a5,a3,1 - 7e40: 97a2 add a5,a5,s0 - 7e42: 0689 addi a3,a3,2 - 7e44: 04e781a3 sb a4,67(a5) - 7e48: bf9d j 7dbe <_printf_common+0x6e> - 7e4a: 4685 li a3,1 - 7e4c: 8622 mv a2,s0 - 7e4e: 85d2 mv a1,s4 - 7e50: 854e mv a0,s3 - 7e52: 9a82 jalr s5 - 7e54: fb650ee3 beq a0,s6,7e10 <_printf_common+0xc0> - 7e58: 0905 addi s2,s2,1 - 7e5a: b745 j 7dfa <_printf_common+0xaa> - -00007e5c <_printf_i>: - 7e5c: 7179 addi sp,sp,-48 - 7e5e: d422 sw s0,40(sp) - 7e60: d226 sw s1,36(sp) - 7e62: d04a sw s2,32(sp) - 7e64: ce4e sw s3,28(sp) - 7e66: d606 sw ra,44(sp) - 7e68: cc52 sw s4,24(sp) - 7e6a: ca56 sw s5,20(sp) - 7e6c: c85a sw s6,16(sp) - 7e6e: 89b6 mv s3,a3 - 7e70: 2d94 lbu a3,24(a1) - 7e72: 06900793 li a5,105 - 7e76: 8932 mv s2,a2 - 7e78: 84aa mv s1,a0 - 7e7a: 842e mv s0,a1 - 7e7c: 04358613 addi a2,a1,67 - 7e80: 02f68d63 beq a3,a5,7eba <_printf_i+0x5e> - 7e84: 06d7e263 bltu a5,a3,7ee8 <_printf_i+0x8c> - 7e88: 05800793 li a5,88 - 7e8c: 18f68663 beq a3,a5,8018 <_printf_i+0x1bc> - 7e90: 00d7ed63 bltu a5,a3,7eaa <_printf_i+0x4e> - 7e94: 20068e63 beqz a3,80b0 <_printf_i+0x254> - 7e98: 04300793 li a5,67 - 7e9c: 0af68e63 beq a3,a5,7f58 <_printf_i+0xfc> - 7ea0: 04240a93 addi s5,s0,66 - 7ea4: 04d40123 sb a3,66(s0) - 7ea8: a0c9 j 7f6a <_printf_i+0x10e> - 7eaa: 06300793 li a5,99 - 7eae: 0af68563 beq a3,a5,7f58 <_printf_i+0xfc> - 7eb2: 06400793 li a5,100 - 7eb6: fef695e3 bne a3,a5,7ea0 <_printf_i+0x44> - 7eba: 401c lw a5,0(s0) - 7ebc: 4308 lw a0,0(a4) - 7ebe: 0807f693 andi a3,a5,128 - 7ec2: 00450593 addi a1,a0,4 - 7ec6: c6c5 beqz a3,7f6e <_printf_i+0x112> - 7ec8: 411c lw a5,0(a0) - 7eca: c30c sw a1,0(a4) - 7ecc: 0007d863 bgez a5,7edc <_printf_i+0x80> - 7ed0: 02d00713 li a4,45 - 7ed4: 40f007b3 neg a5,a5 - 7ed8: 04e401a3 sb a4,67(s0) - 7edc: 00001697 auipc a3,0x1 - 7ee0: fbc68693 addi a3,a3,-68 # 8e98 <__sf_fake_stdout+0x34> - 7ee4: 4729 li a4,10 - 7ee6: a865 j 7f9e <_printf_i+0x142> - 7ee8: 07000793 li a5,112 - 7eec: 16f68263 beq a3,a5,8050 <_printf_i+0x1f4> - 7ef0: 02d7e563 bltu a5,a3,7f1a <_printf_i+0xbe> - 7ef4: 06e00793 li a5,110 - 7ef8: 18f68963 beq a3,a5,808a <_printf_i+0x22e> - 7efc: 06f00793 li a5,111 - 7f00: faf690e3 bne a3,a5,7ea0 <_printf_i+0x44> - 7f04: 400c lw a1,0(s0) - 7f06: 431c lw a5,0(a4) - 7f08: 0805f813 andi a6,a1,128 - 7f0c: 00478513 addi a0,a5,4 - 7f10: 06080763 beqz a6,7f7e <_printf_i+0x122> - 7f14: c308 sw a0,0(a4) - 7f16: 439c lw a5,0(a5) - 7f18: a885 j 7f88 <_printf_i+0x12c> - 7f1a: 07500793 li a5,117 - 7f1e: fef683e3 beq a3,a5,7f04 <_printf_i+0xa8> - 7f22: 07800793 li a5,120 - 7f26: 12f68963 beq a3,a5,8058 <_printf_i+0x1fc> - 7f2a: 07300793 li a5,115 - 7f2e: f6f699e3 bne a3,a5,7ea0 <_printf_i+0x44> - 7f32: 431c lw a5,0(a4) - 7f34: 41d0 lw a2,4(a1) - 7f36: 4581 li a1,0 - 7f38: 00478693 addi a3,a5,4 - 7f3c: c314 sw a3,0(a4) - 7f3e: 0007aa83 lw s5,0(a5) - 7f42: 8556 mv a0,s5 - 7f44: 2e49 jal 82d6 - 7f46: c501 beqz a0,7f4e <_printf_i+0xf2> - 7f48: 41550533 sub a0,a0,s5 - 7f4c: c048 sw a0,4(s0) - 7f4e: 405c lw a5,4(s0) - 7f50: c81c sw a5,16(s0) - 7f52: 040401a3 sb zero,67(s0) - 7f56: a861 j 7fee <_printf_i+0x192> - 7f58: 431c lw a5,0(a4) - 7f5a: 04240a93 addi s5,s0,66 - 7f5e: 00478693 addi a3,a5,4 - 7f62: 439c lw a5,0(a5) - 7f64: c314 sw a3,0(a4) - 7f66: 04f40123 sb a5,66(s0) - 7f6a: 4785 li a5,1 - 7f6c: b7d5 j 7f50 <_printf_i+0xf4> - 7f6e: 0407f693 andi a3,a5,64 - 7f72: 411c lw a5,0(a0) - 7f74: c30c sw a1,0(a4) - 7f76: dab9 beqz a3,7ecc <_printf_i+0x70> - 7f78: 07c2 slli a5,a5,0x10 - 7f7a: 87c1 srai a5,a5,0x10 - 7f7c: bf81 j 7ecc <_printf_i+0x70> - 7f7e: 0405f593 andi a1,a1,64 - 7f82: c308 sw a0,0(a4) - 7f84: d9c9 beqz a1,7f16 <_printf_i+0xba> - 7f86: 239e lhu a5,0(a5) - 7f88: 06f00713 li a4,111 - 7f8c: 0ee68763 beq a3,a4,807a <_printf_i+0x21e> - 7f90: 00001697 auipc a3,0x1 - 7f94: f0868693 addi a3,a3,-248 # 8e98 <__sf_fake_stdout+0x34> - 7f98: 4729 li a4,10 - 7f9a: 040401a3 sb zero,67(s0) - 7f9e: 404c lw a1,4(s0) - 7fa0: c40c sw a1,8(s0) - 7fa2: 0005c563 bltz a1,7fac <_printf_i+0x150> - 7fa6: 4008 lw a0,0(s0) - 7fa8: 996d andi a0,a0,-5 - 7faa: c008 sw a0,0(s0) - 7fac: e399 bnez a5,7fb2 <_printf_i+0x156> - 7fae: 8ab2 mv s5,a2 - 7fb0: cd89 beqz a1,7fca <_printf_i+0x16e> - 7fb2: 8ab2 mv s5,a2 - 7fb4: 02e7f5b3 remu a1,a5,a4 - 7fb8: 1afd addi s5,s5,-1 - 7fba: 95b6 add a1,a1,a3 - 7fbc: 218c lbu a1,0(a1) - 7fbe: 00ba8023 sb a1,0(s5) - 7fc2: 02e7d5b3 divu a1,a5,a4 - 7fc6: 0ce7f063 bgeu a5,a4,8086 <_printf_i+0x22a> - 7fca: 47a1 li a5,8 - 7fcc: 00f71e63 bne a4,a5,7fe8 <_printf_i+0x18c> - 7fd0: 401c lw a5,0(s0) - 7fd2: 8b85 andi a5,a5,1 - 7fd4: cb91 beqz a5,7fe8 <_printf_i+0x18c> - 7fd6: 4058 lw a4,4(s0) - 7fd8: 481c lw a5,16(s0) - 7fda: 00e7c763 blt a5,a4,7fe8 <_printf_i+0x18c> - 7fde: 03000793 li a5,48 - 7fe2: fefa8fa3 sb a5,-1(s5) - 7fe6: 1afd addi s5,s5,-1 - 7fe8: 41560633 sub a2,a2,s5 - 7fec: c810 sw a2,16(s0) - 7fee: 874e mv a4,s3 - 7ff0: 86ca mv a3,s2 - 7ff2: 0070 addi a2,sp,12 - 7ff4: 85a2 mv a1,s0 - 7ff6: 8526 mv a0,s1 - 7ff8: d59ff0ef jal ra,7d50 <_printf_common> - 7ffc: 5a7d li s4,-1 - 7ffe: 0b451d63 bne a0,s4,80b8 <_printf_i+0x25c> - 8002: 557d li a0,-1 - 8004: 50b2 lw ra,44(sp) - 8006: 5422 lw s0,40(sp) - 8008: 5492 lw s1,36(sp) - 800a: 5902 lw s2,32(sp) - 800c: 49f2 lw s3,28(sp) - 800e: 4a62 lw s4,24(sp) - 8010: 4ad2 lw s5,20(sp) - 8012: 4b42 lw s6,16(sp) - 8014: 6145 addi sp,sp,48 - 8016: 8082 ret - 8018: 04d582a3 sb a3,69(a1) - 801c: 00001697 auipc a3,0x1 - 8020: e7c68693 addi a3,a3,-388 # 8e98 <__sf_fake_stdout+0x34> - 8024: 400c lw a1,0(s0) - 8026: 4308 lw a0,0(a4) - 8028: 0805f813 andi a6,a1,128 - 802c: 411c lw a5,0(a0) - 802e: 0511 addi a0,a0,4 - 8030: 02080d63 beqz a6,806a <_printf_i+0x20e> - 8034: c308 sw a0,0(a4) - 8036: 0015f713 andi a4,a1,1 - 803a: c701 beqz a4,8042 <_printf_i+0x1e6> - 803c: 0205e593 ori a1,a1,32 - 8040: c00c sw a1,0(s0) - 8042: 4741 li a4,16 - 8044: fbb9 bnez a5,7f9a <_printf_i+0x13e> - 8046: 400c lw a1,0(s0) - 8048: fdf5f593 andi a1,a1,-33 - 804c: c00c sw a1,0(s0) - 804e: b7b1 j 7f9a <_printf_i+0x13e> - 8050: 419c lw a5,0(a1) - 8052: 0207e793 ori a5,a5,32 - 8056: c19c sw a5,0(a1) - 8058: 07800793 li a5,120 - 805c: 04f402a3 sb a5,69(s0) - 8060: 00001697 auipc a3,0x1 - 8064: e4c68693 addi a3,a3,-436 # 8eac <__sf_fake_stdout+0x48> - 8068: bf75 j 8024 <_printf_i+0x1c8> - 806a: 0405f813 andi a6,a1,64 - 806e: c308 sw a0,0(a4) - 8070: fc0803e3 beqz a6,8036 <_printf_i+0x1da> - 8074: 07c2 slli a5,a5,0x10 - 8076: 83c1 srli a5,a5,0x10 - 8078: bf7d j 8036 <_printf_i+0x1da> - 807a: 00001697 auipc a3,0x1 - 807e: e1e68693 addi a3,a3,-482 # 8e98 <__sf_fake_stdout+0x34> - 8082: 4721 li a4,8 - 8084: bf19 j 7f9a <_printf_i+0x13e> - 8086: 87ae mv a5,a1 - 8088: b735 j 7fb4 <_printf_i+0x158> - 808a: 4194 lw a3,0(a1) - 808c: 431c lw a5,0(a4) - 808e: 49cc lw a1,20(a1) - 8090: 0806f813 andi a6,a3,128 - 8094: 00478513 addi a0,a5,4 - 8098: 00080663 beqz a6,80a4 <_printf_i+0x248> - 809c: c308 sw a0,0(a4) - 809e: 439c lw a5,0(a5) - 80a0: c38c sw a1,0(a5) - 80a2: a039 j 80b0 <_printf_i+0x254> - 80a4: c308 sw a0,0(a4) - 80a6: 0406f693 andi a3,a3,64 - 80aa: 439c lw a5,0(a5) - 80ac: daf5 beqz a3,80a0 <_printf_i+0x244> - 80ae: a38e sh a1,0(a5) - 80b0: 00042823 sw zero,16(s0) - 80b4: 8ab2 mv s5,a2 - 80b6: bf25 j 7fee <_printf_i+0x192> - 80b8: 4814 lw a3,16(s0) - 80ba: 8656 mv a2,s5 - 80bc: 85ca mv a1,s2 - 80be: 8526 mv a0,s1 - 80c0: 9982 jalr s3 - 80c2: f54500e3 beq a0,s4,8002 <_printf_i+0x1a6> - 80c6: 401c lw a5,0(s0) - 80c8: 8b89 andi a5,a5,2 - 80ca: e78d bnez a5,80f4 <_printf_i+0x298> - 80cc: 47b2 lw a5,12(sp) - 80ce: 4448 lw a0,12(s0) - 80d0: f2f55ae3 bge a0,a5,8004 <_printf_i+0x1a8> - 80d4: 853e mv a0,a5 - 80d6: b73d j 8004 <_printf_i+0x1a8> - 80d8: 4685 li a3,1 - 80da: 8656 mv a2,s5 - 80dc: 85ca mv a1,s2 - 80de: 8526 mv a0,s1 - 80e0: 9982 jalr s3 - 80e2: f36500e3 beq a0,s6,8002 <_printf_i+0x1a6> - 80e6: 0a05 addi s4,s4,1 - 80e8: 445c lw a5,12(s0) - 80ea: 4732 lw a4,12(sp) - 80ec: 8f99 sub a5,a5,a4 - 80ee: fefa45e3 blt s4,a5,80d8 <_printf_i+0x27c> - 80f2: bfe9 j 80cc <_printf_i+0x270> - 80f4: 4a01 li s4,0 - 80f6: 01940a93 addi s5,s0,25 - 80fa: 5b7d li s6,-1 - 80fc: b7f5 j 80e8 <_printf_i+0x28c> - -000080fe <_sbrk_r>: - 80fe: 1141 addi sp,sp,-16 - 8100: c422 sw s0,8(sp) - 8102: 842a mv s0,a0 - 8104: 852e mv a0,a1 - 8106: 1fff9797 auipc a5,0x1fff9 - 810a: 4007af23 sw zero,1054(a5) # 20001524 - 810e: c606 sw ra,12(sp) - 8110: e25f90ef jal ra,1f34 <_sbrk> - 8114: 57fd li a5,-1 - 8116: 00f51963 bne a0,a5,8128 <_sbrk_r+0x2a> - 811a: 1fff9797 auipc a5,0x1fff9 - 811e: 40a78793 addi a5,a5,1034 # 20001524 - 8122: 439c lw a5,0(a5) - 8124: c391 beqz a5,8128 <_sbrk_r+0x2a> - 8126: c01c sw a5,0(s0) - 8128: 40b2 lw ra,12(sp) - 812a: 4422 lw s0,8(sp) - 812c: 0141 addi sp,sp,16 - 812e: 8082 ret - -00008130 <__sread>: - 8130: 1141 addi sp,sp,-16 - 8132: c422 sw s0,8(sp) - 8134: 842e mv s0,a1 - 8136: 00e59583 lh a1,14(a1) - 813a: c606 sw ra,12(sp) - 813c: 2c91 jal 8390 <_read_r> - 813e: 00054963 bltz a0,8150 <__sread+0x20> - 8142: 487c lw a5,84(s0) - 8144: 97aa add a5,a5,a0 - 8146: c87c sw a5,84(s0) - 8148: 40b2 lw ra,12(sp) - 814a: 4422 lw s0,8(sp) - 814c: 0141 addi sp,sp,16 - 814e: 8082 ret - 8150: 245e lhu a5,12(s0) - 8152: 777d lui a4,0xfffff - 8154: 177d addi a4,a4,-1 - 8156: 8ff9 and a5,a5,a4 - 8158: a45e sh a5,12(s0) - 815a: b7fd j 8148 <__sread+0x18> - -0000815c <__swrite>: - 815c: 25de lhu a5,12(a1) - 815e: 1101 addi sp,sp,-32 - 8160: cc22 sw s0,24(sp) - 8162: ca26 sw s1,20(sp) - 8164: c84a sw s2,16(sp) - 8166: c64e sw s3,12(sp) - 8168: ce06 sw ra,28(sp) - 816a: 1007f793 andi a5,a5,256 - 816e: 84aa mv s1,a0 - 8170: 842e mv s0,a1 - 8172: 8932 mv s2,a2 - 8174: 89b6 mv s3,a3 - 8176: c791 beqz a5,8182 <__swrite+0x26> - 8178: 00e59583 lh a1,14(a1) - 817c: 4689 li a3,2 - 817e: 4601 li a2,0 - 8180: 220d jal 82a2 <_lseek_r> - 8182: 245e lhu a5,12(s0) - 8184: 777d lui a4,0xfffff - 8186: 177d addi a4,a4,-1 - 8188: 8ff9 and a5,a5,a4 - 818a: a45e sh a5,12(s0) - 818c: 00e41583 lh a1,14(s0) - 8190: 4462 lw s0,24(sp) - 8192: 40f2 lw ra,28(sp) - 8194: 86ce mv a3,s3 - 8196: 864a mv a2,s2 - 8198: 49b2 lw s3,12(sp) - 819a: 4942 lw s2,16(sp) - 819c: 8526 mv a0,s1 - 819e: 44d2 lw s1,20(sp) - 81a0: 6105 addi sp,sp,32 - 81a2: a825 j 81da <_write_r> - -000081a4 <__sseek>: - 81a4: 1141 addi sp,sp,-16 - 81a6: c422 sw s0,8(sp) - 81a8: 842e mv s0,a1 - 81aa: 00e59583 lh a1,14(a1) - 81ae: c606 sw ra,12(sp) - 81b0: 28cd jal 82a2 <_lseek_r> - 81b2: 57fd li a5,-1 - 81b4: 245a lhu a4,12(s0) - 81b6: 00f51a63 bne a0,a5,81ca <__sseek+0x26> - 81ba: 77fd lui a5,0xfffff - 81bc: 17fd addi a5,a5,-1 - 81be: 8ff9 and a5,a5,a4 - 81c0: a45e sh a5,12(s0) - 81c2: 40b2 lw ra,12(sp) - 81c4: 4422 lw s0,8(sp) - 81c6: 0141 addi sp,sp,16 - 81c8: 8082 ret - 81ca: 6785 lui a5,0x1 - 81cc: 8fd9 or a5,a5,a4 - 81ce: a45e sh a5,12(s0) - 81d0: c868 sw a0,84(s0) - 81d2: bfc5 j 81c2 <__sseek+0x1e> - -000081d4 <__sclose>: - 81d4: 00e59583 lh a1,14(a1) - 81d8: a825 j 8210 <_close_r> - -000081da <_write_r>: - 81da: 1141 addi sp,sp,-16 - 81dc: c422 sw s0,8(sp) - 81de: 842a mv s0,a0 - 81e0: 852e mv a0,a1 - 81e2: 85b2 mv a1,a2 - 81e4: 8636 mv a2,a3 - 81e6: 1fff9797 auipc a5,0x1fff9 - 81ea: 3207af23 sw zero,830(a5) # 20001524 - 81ee: c606 sw ra,12(sp) - 81f0: d07f90ef jal ra,1ef6 <_write> - 81f4: 57fd li a5,-1 - 81f6: 00f51963 bne a0,a5,8208 <_write_r+0x2e> - 81fa: 1fff9797 auipc a5,0x1fff9 - 81fe: 32a78793 addi a5,a5,810 # 20001524 - 8202: 439c lw a5,0(a5) - 8204: c391 beqz a5,8208 <_write_r+0x2e> - 8206: c01c sw a5,0(s0) - 8208: 40b2 lw ra,12(sp) - 820a: 4422 lw s0,8(sp) - 820c: 0141 addi sp,sp,16 - 820e: 8082 ret - -00008210 <_close_r>: - 8210: 1141 addi sp,sp,-16 - 8212: c422 sw s0,8(sp) - 8214: 842a mv s0,a0 - 8216: 852e mv a0,a1 - 8218: 1fff9797 auipc a5,0x1fff9 - 821c: 3007a623 sw zero,780(a5) # 20001524 - 8220: c606 sw ra,12(sp) - 8222: 2a5d jal 83d8 <_close> - 8224: 57fd li a5,-1 - 8226: 00f51963 bne a0,a5,8238 <_close_r+0x28> - 822a: 1fff9797 auipc a5,0x1fff9 - 822e: 2fa78793 addi a5,a5,762 # 20001524 - 8232: 439c lw a5,0(a5) - 8234: c391 beqz a5,8238 <_close_r+0x28> - 8236: c01c sw a5,0(s0) - 8238: 40b2 lw ra,12(sp) - 823a: 4422 lw s0,8(sp) - 823c: 0141 addi sp,sp,16 - 823e: 8082 ret - -00008240 <_fstat_r>: - 8240: 1141 addi sp,sp,-16 - 8242: c422 sw s0,8(sp) - 8244: 842a mv s0,a0 - 8246: 852e mv a0,a1 - 8248: 85b2 mv a1,a2 - 824a: 1fff9797 auipc a5,0x1fff9 - 824e: 2c07ad23 sw zero,730(a5) # 20001524 - 8252: c606 sw ra,12(sp) - 8254: 2a51 jal 83e8 <_fstat> - 8256: 57fd li a5,-1 - 8258: 00f51963 bne a0,a5,826a <_fstat_r+0x2a> - 825c: 1fff9797 auipc a5,0x1fff9 - 8260: 2c878793 addi a5,a5,712 # 20001524 - 8264: 439c lw a5,0(a5) - 8266: c391 beqz a5,826a <_fstat_r+0x2a> - 8268: c01c sw a5,0(s0) - 826a: 40b2 lw ra,12(sp) - 826c: 4422 lw s0,8(sp) - 826e: 0141 addi sp,sp,16 - 8270: 8082 ret - -00008272 <_isatty_r>: - 8272: 1141 addi sp,sp,-16 - 8274: c422 sw s0,8(sp) - 8276: 842a mv s0,a0 - 8278: 852e mv a0,a1 - 827a: 1fff9797 auipc a5,0x1fff9 - 827e: 2a07a523 sw zero,682(a5) # 20001524 - 8282: c606 sw ra,12(sp) - 8284: 2a95 jal 83f8 <_isatty> - 8286: 57fd li a5,-1 - 8288: 00f51963 bne a0,a5,829a <_isatty_r+0x28> - 828c: 1fff9797 auipc a5,0x1fff9 - 8290: 29878793 addi a5,a5,664 # 20001524 - 8294: 439c lw a5,0(a5) - 8296: c391 beqz a5,829a <_isatty_r+0x28> - 8298: c01c sw a5,0(s0) - 829a: 40b2 lw ra,12(sp) - 829c: 4422 lw s0,8(sp) - 829e: 0141 addi sp,sp,16 - 82a0: 8082 ret - -000082a2 <_lseek_r>: - 82a2: 1141 addi sp,sp,-16 - 82a4: c422 sw s0,8(sp) - 82a6: 842a mv s0,a0 - 82a8: 852e mv a0,a1 - 82aa: 85b2 mv a1,a2 - 82ac: 8636 mv a2,a3 - 82ae: 1fff9797 auipc a5,0x1fff9 - 82b2: 2607ab23 sw zero,630(a5) # 20001524 - 82b6: c606 sw ra,12(sp) - 82b8: 2a81 jal 8408 <_lseek> - 82ba: 57fd li a5,-1 - 82bc: 00f51963 bne a0,a5,82ce <_lseek_r+0x2c> - 82c0: 1fff9797 auipc a5,0x1fff9 - 82c4: 26478793 addi a5,a5,612 # 20001524 - 82c8: 439c lw a5,0(a5) - 82ca: c391 beqz a5,82ce <_lseek_r+0x2c> - 82cc: c01c sw a5,0(s0) - 82ce: 40b2 lw ra,12(sp) - 82d0: 4422 lw s0,8(sp) - 82d2: 0141 addi sp,sp,16 - 82d4: 8082 ret - -000082d6 : - 82d6: 0ff5f593 andi a1,a1,255 - 82da: 962a add a2,a2,a0 - 82dc: 00c51463 bne a0,a2,82e4 - 82e0: 4501 li a0,0 - 82e2: 8082 ret - 82e4: 211c lbu a5,0(a0) - 82e6: feb78ee3 beq a5,a1,82e2 - 82ea: 0505 addi a0,a0,1 - 82ec: bfc5 j 82dc - -000082ee : - 82ee: 04a5f163 bgeu a1,a0,8330 - 82f2: 00c586b3 add a3,a1,a2 - 82f6: 02d57d63 bgeu a0,a3,8330 - 82fa: fff64593 not a1,a2 - 82fe: 4781 li a5,0 - 8300: 17fd addi a5,a5,-1 - 8302: 00f59363 bne a1,a5,8308 - 8306: 8082 ret - 8308: 00f68733 add a4,a3,a5 - 830c: 00074803 lbu a6,0(a4) # fffff000 <_eusrstack+0xdfffa000> - 8310: 00c78733 add a4,a5,a2 - 8314: 972a add a4,a4,a0 - 8316: 01070023 sb a6,0(a4) - 831a: b7dd j 8300 - 831c: 00f58733 add a4,a1,a5 - 8320: 2314 lbu a3,0(a4) - 8322: 00f50733 add a4,a0,a5 - 8326: 0785 addi a5,a5,1 - 8328: a314 sb a3,0(a4) - 832a: fef619e3 bne a2,a5,831c - 832e: 8082 ret - 8330: 4781 li a5,0 - 8332: bfe5 j 832a - -00008334 <__malloc_lock>: - 8334: 8082 ret - -00008336 <__malloc_unlock>: - 8336: 8082 ret - -00008338 <_realloc_r>: - 8338: e581 bnez a1,8340 <_realloc_r+0x8> - 833a: 85b2 mv a1,a2 - 833c: afaff06f j 7636 <_malloc_r> - 8340: 1101 addi sp,sp,-32 - 8342: cc22 sw s0,24(sp) - 8344: ce06 sw ra,28(sp) - 8346: ca26 sw s1,20(sp) - 8348: c84a sw s2,16(sp) - 834a: c64e sw s3,12(sp) - 834c: 8432 mv s0,a2 - 834e: ee01 bnez a2,8366 <_realloc_r+0x2e> - 8350: a3eff0ef jal ra,758e <_free_r> - 8354: 4901 li s2,0 - 8356: 40f2 lw ra,28(sp) - 8358: 4462 lw s0,24(sp) - 835a: 854a mv a0,s2 - 835c: 44d2 lw s1,20(sp) - 835e: 4942 lw s2,16(sp) - 8360: 49b2 lw s3,12(sp) - 8362: 6105 addi sp,sp,32 - 8364: 8082 ret - 8366: 84ae mv s1,a1 - 8368: 89aa mv s3,a0 - 836a: 28a9 jal 83c4 <_malloc_usable_size_r> - 836c: 8926 mv s2,s1 - 836e: fe8574e3 bgeu a0,s0,8356 <_realloc_r+0x1e> - 8372: 85a2 mv a1,s0 - 8374: 854e mv a0,s3 - 8376: ac0ff0ef jal ra,7636 <_malloc_r> - 837a: 892a mv s2,a0 - 837c: dd69 beqz a0,8356 <_realloc_r+0x1e> - 837e: 85a6 mv a1,s1 - 8380: 8622 mv a2,s0 - 8382: 8abfe0ef jal ra,6c2c - 8386: 85a6 mv a1,s1 - 8388: 854e mv a0,s3 - 838a: a04ff0ef jal ra,758e <_free_r> - 838e: b7e1 j 8356 <_realloc_r+0x1e> - -00008390 <_read_r>: - 8390: 1141 addi sp,sp,-16 - 8392: c422 sw s0,8(sp) - 8394: 842a mv s0,a0 - 8396: 852e mv a0,a1 - 8398: 85b2 mv a1,a2 - 839a: 8636 mv a2,a3 - 839c: 1fff9797 auipc a5,0x1fff9 - 83a0: 1807a423 sw zero,392(a5) # 20001524 - 83a4: c606 sw ra,12(sp) - 83a6: 288d jal 8418 <_read> - 83a8: 57fd li a5,-1 - 83aa: 00f51963 bne a0,a5,83bc <_read_r+0x2c> - 83ae: 1fff9797 auipc a5,0x1fff9 - 83b2: 17678793 addi a5,a5,374 # 20001524 - 83b6: 439c lw a5,0(a5) - 83b8: c391 beqz a5,83bc <_read_r+0x2c> - 83ba: c01c sw a5,0(s0) - 83bc: 40b2 lw ra,12(sp) - 83be: 4422 lw s0,8(sp) - 83c0: 0141 addi sp,sp,16 - 83c2: 8082 ret - -000083c4 <_malloc_usable_size_r>: - 83c4: ffc5a783 lw a5,-4(a1) - 83c8: ffc78513 addi a0,a5,-4 - 83cc: 0007d563 bgez a5,83d6 <_malloc_usable_size_r+0x12> - 83d0: 95aa add a1,a1,a0 - 83d2: 419c lw a5,0(a1) - 83d4: 953e add a0,a0,a5 - 83d6: 8082 ret - -000083d8 <_close>: - 83d8: 05800793 li a5,88 - 83dc: 1fff9717 auipc a4,0x1fff9 - 83e0: 14f72423 sw a5,328(a4) # 20001524 - 83e4: 557d li a0,-1 - 83e6: 8082 ret - -000083e8 <_fstat>: - 83e8: 05800793 li a5,88 - 83ec: 1fff9717 auipc a4,0x1fff9 - 83f0: 12f72c23 sw a5,312(a4) # 20001524 - 83f4: 557d li a0,-1 - 83f6: 8082 ret - -000083f8 <_isatty>: - 83f8: 05800793 li a5,88 - 83fc: 1fff9717 auipc a4,0x1fff9 - 8400: 12f72423 sw a5,296(a4) # 20001524 - 8404: 4501 li a0,0 - 8406: 8082 ret - -00008408 <_lseek>: - 8408: 05800793 li a5,88 - 840c: 1fff9717 auipc a4,0x1fff9 - 8410: 10f72c23 sw a5,280(a4) # 20001524 - 8414: 557d li a0,-1 - 8416: 8082 ret - -00008418 <_read>: - 8418: 05800793 li a5,88 - 841c: 1fff9717 auipc a4,0x1fff9 - 8420: 10f72423 sw a5,264(a4) # 20001524 - 8424: 557d li a0,-1 - 8426: 8082 ret - 8428: 74737953 0x74737953 - 842c: 6d65 lui s10,0x19 - 842e: 3a6b6c43 fmadd.d fs8,fs6,ft6,ft7,unknown - 8432: 6425 lui s0,0x9 - 8434: 0a0d addi s4,s4,3 - 8436: 0000 unimp - 8438: 70696843 fmadd.s fa6,fs2,ft6,fa4,unknown - 843c: 4449 li s0,18 - 843e: 253a lhu a4,10(a0) - 8440: 3830 lbu a2,19(s0) - 8442: 0d78 addi a4,sp,668 - 8444: 000a c.slli zero,0x2 - 8446: 0000 unimp - 8448: 696c6143 fmadd.s ft2,fs8,fs6,fa3,unknown - 844c: 7262 flw ft4,56(sp) - 844e: 7461 lui s0,0xffff8 - 8450: 6974 flw fa3,84(a0) - 8452: 565f6e6f jal t3,ff1b6 <_data_lma+0xf62f6> - 8456: 6c61 lui s8,0x18 - 8458: 3a20 lbu s0,19(a2) - 845a: 2520 lbu s0,10(a0) - 845c: 0a64 addi s1,sp,284 - 845e: 0000 unimp - 8460: cccd beqz s1,851a - 8462: 3d4c lbu a1,29(a0) - 8464: 6666 flw fa2,88(sp) - 8466: 3f66 lhu s1,62(a4) - 8468: 0000 unimp - 846a: 43f0 lw a2,68(a5) - 846c: 0000 unimp - 846e: 0000 unimp - 8470: 999a add s3,s3,t1 - 8472: 9999 andi a1,a1,-26 - 8474: 9999 andi a1,a1,-26 - 8476: 3fa9 jal 83d0 <_malloc_usable_size_r+0xc> - 8478: cccd beqz s1,8532 - 847a: cccc sw a1,28(s1) - 847c: cccc sw a1,28(s1) - 847e: 3fec lbu a1,31(a5) - 8480: 6e69 lui t3,0x1a - 8482: 7420 flw fs0,104(s0) - 8484: 6d69 lui s10,0x1a - 8486: 2031 jal 8492 <_read+0x7a> - 8488: 7269 lui tp,0xffffa - 848a: 2071 jal 8516 - 848c: 0000 unimp - 848e: 0000 unimp - 8490: f000 fsw fs0,32(s0) - 8492: 457f 0x457f - ... - 849c: 0000 unimp - 849e: 4004 lw s1,0(s0) - 84a0: 0000 unimp - 84a2: 0000 unimp - 84a4: 0000 unimp - 84a6: 4020 lw s0,64(s0) - 84a8: 0000 unimp - 84aa: 0000 unimp - 84ac: 0000 unimp - 84ae: 3fe0 lbu s0,31(a5) - 84b0: 0000 unimp - 84b2: 0000 unimp - 84b4: 0000 unimp - 84b6: 4034 lw a3,64(s0) - 84b8: 0000 unimp - 84ba: 0000 unimp - 84bc: 403646cf fnmadd.s fa3,fa2,ft3,fs0,rmm - 84c0: 0000 unimp - 84c2: 6000 flw fs0,0(s0) - 84c4: 6666 flw fa2,88(sp) - 84c6: 401a 0x401a - -000084c8 : - 84c8: 131d 130f 1302 12f4 12e6 12d7 12c8 12b9 ................ - 84d8: 12aa 129a 128a 127a 126a 1259 1248 1237 ......z.j.Y.H.7. - 84e8: 1225 1213 1201 11ee 11db 11c8 11b5 11a1 %............... - 84f8: 118d 1179 1164 114f 113a 1125 110f 10f9 ..y.d.O.:.%..... - 8508: 10e3 10cc 10b5 109e 1087 106f 1057 103f ..........o.W.?. - 8518: 1026 100d 0ff4 0fdb 0fc2 0fa8 0f8e 0f74 &.............t. - 8528: 0f59 0f3f 0f24 0f09 0eed 0ed2 0eb6 0e9a Y.?.$........... - 8538: 0e7e 0e62 0e46 0e29 0e0c 0df0 0dd3 0db6 ~.b.F.)......... - 8548: 0d98 0d7b 0d5e 0d40 0d22 0d05 0ce7 0cc9 ..{.^.@."....... - 8558: 0cab 0c8d 0c6f 0c51 0c33 0c15 0bf7 0bd9 ....o.Q.3....... - 8568: 0bbb 0b9c 0b7e 0b60 0b42 0b24 0b06 0ae8 ....~.`.B.$..... - 8578: 0aca 0aad 0a8f 0a71 0a54 0a36 0a19 09fc ......q.T.6..... - 8588: 09df 09c2 09a5 0988 096c 094f 0933 0917 ........l.O.3... - 8598: 08fb 08df 08c3 08a8 088d 0872 0857 083c ..........r.W.<. - 85a8: 0821 0807 07ed 07d3 07b9 07a0 0786 076d !.............m. - 85b8: 0754 073c 0723 070b 06f3 06db 06c4 06ad T.<.#........... - 85c8: 0696 067f 0668 0652 063c 0626 0610 05fb ....h.R.<.&..... - 85d8: 05e6 05d1 05bc 05a7 0593 057f 056b 0558 ............k.X. - 85e8: 0545 0532 051f 050c 04fa 04e8 04d6 04c4 E.2............. - 85f8: 04b3 04a1 0490 047f 046f 045f 044e 043e ........o._.N.>. - 8608: 042f 041f 0410 0401 03f2 03e3 03d5 03c7 /............... - 8618: 03b9 03ab 039d 0390 0382 0375 0368 035c ..........u.h.\. - 8628: 034f 0343 0336 032a 031f 0313 0307 02fc O.C.6.*......... - 8638: 02f1 02e6 02db 02d1 02c6 02bc 02b2 02a7 ................ - 8648: 029e 0294 028a 0281 0277 026e 0265 025c ........w.n.e.\. - 8658: 0254 024b 0242 023a 0232 022a 0222 021a T.K.B.:.2.*."... - 8668: 0212 020b 0203 01fc 01f4 01ed 01e6 01df ................ - 8678: 01d8 01d2 01cb 01c4 01be 01b8 01b1 01ab ................ - 8688: 01a5 019f 0199 0194 018e 0188 0183 017d ..............}. - 8698: 0178 0173 016e 0169 0163 015e 015a 0155 x.s.n.i.c.^.Z.U. - 86a8: 0150 0000 4000 461c 0000 42c8 0000 4190 P....@.F...B...A - 86b8: 0000 4180 0000 4100 999a 9999 9999 3fc9 ...A...A.......? - 86c8: 999a 9999 9999 3fb9 6c46 616f 4974 203a .......?FloatI: - 86d8: 6425 2f20 3120 3030 0a20 0000 b717 3851 %d / 100 .....Q8 - 86e8: c5ac 3727 0000 447a d70a 3ba3 0000 0000 ..'7..zD...;.... - 86f8: 6666 6666 6666 402c 495b 464e 5d4f 5b20 ffffff,@[INFO] [ - 8708: 7325 253a 5d64 5220 6765 7369 7274 7461 %s:%d] Registrat - 8718: 6f69 206e 7573 6363 7365 2073 0a0d 0a0d ion success .... - 8728: 0000 0000 455b 5252 524f 205d 255b 3a73 ....[ERROR] [%s: - 8738: 6425 205d 5220 6765 7369 6574 5f72 754e %d] Register_Nu - 8748: 626d 7265 6520 7272 726f 253a 2078 0a0d mber error:%x .. - 8758: 0a0d 0000 455b 5252 524f 205d 255b 3a73 ....[ERROR] [%s: - 8768: 6425 205d 5220 6765 7369 6574 5f72 7453 %d] Register_St - 8778: 7261 5f74 6441 7264 7365 2073 7265 6f72 art_Address erro - 8788: 2072 203a 7825 0d20 0d0a 000a 6e69 7720 r : %x .....in w - 8798: 6972 6574 7220 6765 7369 6574 2072 0000 rite register .. - 87a8: 495b 464e 5d4f 5b20 7325 253a 5d64 2020 [INFO] [%s:%d] - 87b8: 4c53 525f 6165 5264 6765 7369 6574 4272 SL_ReadRegisterB - 87c8: 7461 6574 7972 6f56 746c 6761 2065 0a0d atteryVoltage .. - 87d8: 0000 0000 495b 464e 5d4f 5b20 7325 253a ....[INFO] [%s:% - 87e8: 5d64 2020 4c53 525f 6165 5264 6765 7369 d] SL_ReadRegis - 87f8: 6574 4372 6168 6772 7543 7272 6e65 2074 terChargCurrent - 8808: 0a0d 0000 495b 464e 5d4f 5b20 7325 253a ....[INFO] [%s:% - 8818: 5d64 2020 4c53 525f 6165 5264 6765 7369 d] SL_ReadRegis - 8828: 6574 4472 7369 6863 7261 4367 7275 6572 terDischargCurre - 8838: 746e 0d20 000a 0000 495b 464e 5d4f 5b20 nt .....[INFO] [ - 8848: 7325 253a 5d64 2020 4c53 525f 6165 5264 %s:%d] SL_ReadR - 8858: 6765 7369 6574 4472 7369 6863 7261 4d67 egisterDischargM - 8868: 736f 7453 7461 2065 0a0d 0000 0000 4120 osState ...... A - 8878: 495b 464e 5d4f 5b20 7325 253a 5d64 2020 [INFO] [%s:%d] - 8888: 4c53 525f 6165 5264 6765 7369 6574 4872 SL_ReadRegisterH - 8898: 6769 5368 6469 4d65 736f 6554 706d 7265 ighSideMosTemper - 88a8: 7461 7275 2065 0a0d 0000 0000 495b 464e ature ......[INF - 88b8: 5d4f 5b20 7325 253a 5d64 2020 4c53 525f O] [%s:%d] SL_R - 88c8: 6165 5264 6765 7369 6574 4d72 5050 4d54 eadRegisterMPPTM - 88d8: 646f 2065 0a0d 0000 495b 464e 5d4f 5b20 ode ....[INFO] [ - 88e8: 7325 253a 5d64 2020 4c53 525f 6165 5264 %s:%d] SL_ReadR - 88f8: 6765 7369 6574 5372 6c6f 7261 704f 6e65 egisterSolarOpen - 8908: 6943 6372 6975 5674 6c6f 6174 6567 0d20 CircuitVoltage . - 8918: 000a 0000 495b 464e 5d4f 5b20 7325 253a ....[INFO] [%s:% - 8928: 5d64 4d20 7461 6863 535f 6174 7472 6c66 d] Match_Startfl - 8938: 6761 7320 6375 6563 7373 0d20 0d0a 000a ag success ..... - 8948: 495b 464e 5d4f 5b20 7325 253a 5d64 4d20 [INFO] [%s:%d] M - 8958: 7461 6863 615f 6464 6572 7373 7320 6375 atch_address suc - 8968: 6563 7373 0d20 0d0a 000a 0000 495b 464e cess .......[INF - 8978: 5d4f 5b20 7325 253a 5d64 4d20 7461 6863 O] [%s:%d] Match - 8988: 425f 6f72 6461 6163 7473 6461 7264 7365 _Broadcastaddres - 8998: 2073 7573 6363 7365 0d73 0d0a 000a 0000 s success....... - 89a8: 495b 464e 5d4f 5b20 7325 253a 5d64 5220 [INFO] [%s:%d] R - 89b8: 6165 5f64 6552 6967 7473 7265 0a0d 0a0d ead_Register.... - 89c8: 0000 0000 495b 464e 5d4f 5b20 7325 253a ....[INFO] [%s:% - 89d8: 5d64 5720 6972 6574 525f 6765 7369 6574 d] Write_Registe - 89e8: 0d72 0d0a 000a 0000 495b 464e 5d4f 5b20 r.......[INFO] [ - 89f8: 7325 253a 5d64 4f20 6874 7265 6620 6172 %s:%d] Other fra - 8a08: 656d 0d73 0d0a 000a 495b 464e 5d4f 5b20 mes.....[INFO] [ - 8a18: 7325 253a 5d64 4220 6f72 6461 6163 7473 %s:%d] Broadcast - 8a28: 535f 6163 0d6e 0d0a 000a 0000 495b 464e _Scan.......[INF - 8a38: 5d4f 5b20 7325 253a 5d64 5220 6765 7369 O] [%s:%d] Regis - 8a48: 7274 7461 6f69 5f6e 6572 7571 7365 0d74 tration_request. - 8a58: 0d0a 000a 495b 464e 5d4f 5b20 7325 253a ....[INFO] [%s:% - 8a68: 5d64 6620 6e75 6f63 6564 6520 7272 726f d] funcode error - 8a78: 2520 0d78 0d0a 000a 6420 7475 5f79 6172 %x..... duty_ra - 8a88: 6974 206f 203a 6425 312f 3030 2030 000a tio : %d/1000 .. - 8a98: 4920 706e 7475 565f 6c6f 6174 6567 3a20 Input_Voltage : - 8aa8: 2520 2f64 3031 2030 000a 0000 7620 756f %d/100 .... vou - 8ab8: 2074 203a 6425 312f 3030 0a20 0000 0000 t : %d/100 ..... - 8ac8: 7620 6142 7474 7265 2079 203a 6425 312f vBattery : %d/1 - 8ad8: 3030 0a20 0000 0000 4920 756f 2074 203a 00 ..... Iout : - 8ae8: 6425 312f 3030 0a20 0000 0000 4920 6964 %d/100 ..... Idi - 8af8: 6f73 7475 3a20 2520 2f64 3031 2030 000a sout : %d/100 .. - 8b08: 6d20 736f 2054 203a 6425 312f 2030 000a mosT : %d/10 .. - 8b18: 6920 706d 6465 6e61 6563 3a20 2520 2f64 impedance : %d/ - 8b28: 3031 3030 0a20 0000 6720 695f 706d 6465 1000 ... g_imped - 8b38: 6e61 6563 7453 7261 2074 203a 6425 0a20 anceStart : %d . - 8b48: 0000 0000 6d20 736f 7453 7461 2065 203a .... mosState : - 8b58: 6425 0a20 0000 0000 6220 7461 6574 7972 %d ..... battery - 8b68: 7453 7461 2065 203a 6425 0a20 0000 0000 State : %d ..... - 8b78: 6f20 7475 7570 4174 6167 6e69 6c46 6761 outputAgainFlag - 8b88: 3a20 2520 2064 000a 6520 6378 7365 6973 : %d .. excessi - 8b98: 6576 6f4c 6461 6c46 6761 3a20 2520 2064 veLoadFlag : %d - 8ba8: 000a 0000 3020 c32e d3bb b9d0 d7a4 3bf7 .... 0.........; - 8bb8: 3120 e42e c1b8 c4f7 caa3 3bbd 3220 ba2e 1.........; 2.. - 8bc8: c1e3 c4f7 caa3 3bbd 3320 ba2e d1e3 c4b9 .......; 3...... - 8bd8: caa3 3bbd 3420 b82e b3a1 c4e4 caa3 3bbd ...; 4.........; - 8be8: 3520 c32e d3bb b5d0 b3e7 20d8 203a 6425 5......... : %d - 8bf8: 0a20 0000 0000 3f80 0000 4040 999a 3f19 ......?..@@...? - 8c08: 999a 9999 9999 bfb9 147b 47ae 7ae1 3f84 ........{..G.z.? - 8c18: 0000 4130 0000 4170 3333 3f33 c33a ffff ..0A..pA333?:... - 8c28: c22c ffff c22c ffff c22a ffff c232 ffff ,...,...*...2... - 8c38: c232 ffff c1f8 ffff c22a ffff c232 ffff 2.......*...2... - 8c48: c1f8 ffff c232 ffff c22a ffff c326 ffff ....2...*...&... - 8c58: c326 ffff c326 ffff c1f8 ffff d276 ffff &...&.......v... - 8c68: d19c ffff d270 ffff d1a4 ffff d270 ffff ....p.......p... - 8c78: d16a ffff d270 ffff d1a4 ffff d19c ffff j...p........... - 8c88: d19c ffff d16a ffff d1a4 ffff d1aa ffff ....j........... - 8c98: d1aa ffff d1aa ffff d16a ffff d15c ffff ........j...\... - 8ca8: d15c ffff d230 ffff d30c ffff d230 ffff \...0.......0... - 8cb8: d12a ffff d230 ffff d30c ffff d15c ffff *...0.......\... - 8cc8: d15c ffff d12a ffff d30c ffff d16a ffff \...*.......j... - 8cd8: d16a ffff d16a ffff d12a ffff d5e0 ffff j...j...*....... - 8ce8: d52e ffff d52e ffff d52c ffff d532 ffff ........,...2... - 8cf8: d532 ffff d502 ffff d52c ffff d532 ffff 2.......,...2... - 8d08: d502 ffff d532 ffff d52c ffff d5ce ffff ....2...,....... - 8d18: d5ce ffff d5ce ffff d502 ffff ............ - -00008d24 <__clz_tab>: - 8d24: 0100 0202 0303 0303 0404 0404 0404 0404 ................ - 8d34: 0505 0505 0505 0505 0505 0505 0505 0505 ................ - 8d44: 0606 0606 0606 0606 0606 0606 0606 0606 ................ - 8d54: 0606 0606 0606 0606 0606 0606 0606 0606 ................ - 8d64: 0707 0707 0707 0707 0707 0707 0707 0707 ................ - 8d74: 0707 0707 0707 0707 0707 0707 0707 0707 ................ - 8d84: 0707 0707 0707 0707 0707 0707 0707 0707 ................ - 8d94: 0707 0707 0707 0707 0707 0707 0707 0707 ................ - 8da4: 0808 0808 0808 0808 0808 0808 0808 0808 ................ - 8db4: 0808 0808 0808 0808 0808 0808 0808 0808 ................ - 8dc4: 0808 0808 0808 0808 0808 0808 0808 0808 ................ - 8dd4: 0808 0808 0808 0808 0808 0808 0808 0808 ................ - 8de4: 0808 0808 0808 0808 0808 0808 0808 0808 ................ - 8df4: 0808 0808 0808 0808 0808 0808 0808 0808 ................ - 8e04: 0808 0808 0808 0808 0808 0808 0808 0808 ................ - 8e14: 0808 0808 0808 0808 0808 0808 0808 0808 ................ - -00008e24 <__sf_fake_stderr>: +00001e66 <_fstat>: + 1e66: 05800793 li a5,88 + 1e6a: 84f1a623 sw a5,-1972(gp) # 200000cc + 1e6e: 557d li a0,-1 + 1e70: 8082 ret + +00001e72 <_isatty>: + 1e72: 05800793 li a5,88 + 1e76: 84f1a623 sw a5,-1972(gp) # 200000cc + 1e7a: 4501 li a0,0 + 1e7c: 8082 ret + +00001e7e <_lseek>: + 1e7e: 05800793 li a5,88 + 1e82: 84f1a623 sw a5,-1972(gp) # 200000cc + 1e86: 557d li a0,-1 + 1e88: 8082 ret + +00001e8a <_read>: + 1e8a: 05800793 li a5,88 + 1e8e: 84f1a623 sw a5,-1972(gp) # 200000cc + 1e92: 557d li a0,-1 + 1e94: 8082 ret + 1e96: 0000 unimp + 1e98: 74737953 0x74737953 + 1e9c: 6d65 lui s10,0x19 + 1e9e: 3a6b6c43 fmadd.d fs8,fs6,ft6,ft7,unknown + 1ea2: 6425 lui s0,0x9 + 1ea4: 0a0d addi s4,s4,3 + 1ea6: 0000 unimp + 1ea8: 70696843 fmadd.s fa6,fs2,ft6,fa4,unknown + 1eac: 4449 li s0,18 + 1eae: 253a lhu a4,10(a0) + 1eb0: 3830 lbu a2,19(s0) + 1eb2: 0d78 addi a4,sp,668 + 1eb4: 000a c.slli zero,0x2 + 1eb6: 0000 unimp + 1eb8: 6e69 lui t3,0x1a + 1eba: 7420 flw fs0,104(s0) + 1ebc: 6d69 lui s10,0x1a + 1ebe: 2031 jal 1eca <__sf_fake_stderr+0x2> + 1ec0: 7269 lui tp,0xffffa + 1ec2: 2071 jal 1f4e <__sf_fake_stdout+0x46> + 1ec4: 0000 unimp ... -00008e44 <__sf_fake_stdin>: +00001ec8 <__sf_fake_stderr>: ... -00008e64 <__sf_fake_stdout>: +00001ee8 <__sf_fake_stdin>: ... - 8e84: 2d23 2b30 0020 0000 6c68 004c 6665 4567 #-0+ ...hlL.efgE - 8e94: 4746 0000 3130 3332 3534 3736 3938 4241 FG..0123456789AB - 8ea4: 4443 4645 0000 0000 3130 3332 3534 3736 CDEF....01234567 - 8eb4: 3938 6261 6463 6665 0000 0000 89abcdef.... + +00001f08 <__sf_fake_stdout>: + ... + 1f28: 2d23 2b30 0020 0000 6c68 004c 6665 4567 #-0+ ...hlL.efgE + 1f38: 4746 0000 3130 3332 3534 3736 3938 4241 FG..0123456789AB + 1f48: 4443 4645 0000 0000 3130 3332 3534 3736 CDEF....01234567 + 1f58: 3938 6261 6463 6665 0000 0000 89abcdef.... diff --git a/obj/mppt_Nos_V0.4.map b/obj/mppt_Nos_V0.4.map index a773e10..4e24560 100644 --- a/obj/mppt_Nos_V0.4.map +++ b/obj/mppt_Nos_V0.4.map @@ -1,37 +1,21 @@ Archive member included to satisfy reference by file (symbol) -d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(adddf3.o) - ./App/src/mppt_control.o (__adddf3) d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(gedf2.o) - ./App/src/mppt_control.o (__gedf2) + ./Hardware/src/pwm.o (__gtdf2) d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(ledf2.o) - ./App/src/mppt_control.o (__ledf2) + ./Hardware/src/pwm.o (__ltdf2) d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(muldf3.o) ./App/src/collect_Conversion.o (__muldf3) d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(subdf3.o) ./App/src/collect_Conversion.o (__subdf3) d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(floatsidf.o) ./App/src/collect_Conversion.o (__floatsidf) -d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(addsf3.o) - ./App/src/mppt_control.o (__addsf3) d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(divsf3.o) ./App/src/collect_Conversion.o (__divsf3) -d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(eqsf2.o) - ./App/src/mppt_control.o (__eqsf2) -d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(gesf2.o) - ./App/src/mppt_control.o (__gtsf2) -d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(lesf2.o) - ./App/src/mppt_control.o (__ltsf2) d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(mulsf3.o) ./Hardware/src/pwm.o (__mulsf3) -d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(subsf3.o) - ./App/src/mppt_control.o (__subsf3) -d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(fixsfsi.o) - ./App/src/mppt_control.o (__fixsfsi) d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(fixunssfsi.o) ./Hardware/src/pwm.o (__fixunssfsi) -d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(floatsisf.o) - ./App/src/task.o (__floatsisf) d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(floatunsisf.o) ./App/src/collect_Conversion.o (__floatunsisf) d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(extendsfdf2.o) @@ -39,9 +23,9 @@ d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-no d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(truncdfsf2.o) ./App/src/collect_Conversion.o (__truncdfsf2) d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(save-restore.o) - ./App/src/sl_protocol.o (__riscv_save_12) + ./Hardware/src/flash.o (__riscv_save_10) d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(_clzsi2.o) - d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(adddf3.o) (__clzsi2) + d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(muldf3.o) (__clzsi2) d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(_clz.o) d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(_clzsi2.o) (__clz_tab) d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-memcpy.o) @@ -50,14 +34,8 @@ d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-no ./Hardware/src/adc.o (memset) d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-printf.o) ./User/main.o (printf) -d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-putchar.o) - ./App/src/mppt_control.o (putchar) d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-puts.o) ./Hardware/src/flash.o (puts) -d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-rand.o) - ./App/src/sl_protocol.o (srand) -d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-sprintf.o) - ./App/src/task.o (sprintf) d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-wbuf.o) d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-puts.o) (__swbuf_r) d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-wsetup.o) @@ -72,20 +50,14 @@ d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-no d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-fflush.o) (_global_impure_ptr) d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-makebuf.o) d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-wsetup.o) (__smakebuf_r) -d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-malloc.o) - d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-rand.o) (malloc) d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-freer.o) d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-wsetup.o) (_free_r) d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-mallocr.o) d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-findfp.o) (_malloc_r) -d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-svfprintf.o) - d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-sprintf.o) (_svfprintf_r) d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-vfprintf.o) d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-printf.o) (_vfprintf_r) d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-vfprintf_i.o) - d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-svfprintf.o) (_printf_i) -d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-putc.o) - d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-putchar.o) (_putc_r) + d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-vfprintf.o) (_printf_i) d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-sbrkr.o) d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-mallocr.o) (_sbrk_r) d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-stdio.o) @@ -103,13 +75,13 @@ d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-no d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-lseekr.o) d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-stdio.o) (_lseek_r) d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-memchr.o) - d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-svfprintf.o) (memchr) + d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-vfprintf.o) (memchr) d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-memmove.o) - d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-svfprintf.o) (memmove) + d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-fvwrite.o) (memmove) d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-mlock.o) d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-freer.o) (__malloc_lock) d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-reallocr.o) - d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-svfprintf.o) (_realloc_r) + d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-fvwrite.o) (_realloc_r) d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-readr.o) d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-stdio.o) (_read_r) d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-reent.o) @@ -149,20 +121,39 @@ Discarded input sections .text 0x0000000000000000 0x0 ./Peripheral/src/ch32l103_adc.o .data 0x0000000000000000 0x0 ./Peripheral/src/ch32l103_adc.o .bss 0x0000000000000000 0x0 ./Peripheral/src/ch32l103_adc.o + .text.ADC_DeInit + 0x0000000000000000 0x3a ./Peripheral/src/ch32l103_adc.o + .text.ADC_Init + 0x0000000000000000 0x56 ./Peripheral/src/ch32l103_adc.o .text.ADC_StructInit 0x0000000000000000 0x1a ./Peripheral/src/ch32l103_adc.o + .text.ADC_Cmd 0x0000000000000000 0x10 ./Peripheral/src/ch32l103_adc.o .text.ADC_DMACmd 0x0000000000000000 0x12 ./Peripheral/src/ch32l103_adc.o .text.ADC_ITConfig 0x0000000000000000 0x16 ./Peripheral/src/ch32l103_adc.o + .text.ADC_ResetCalibration + 0x0000000000000000 0xa ./Peripheral/src/ch32l103_adc.o + .text.ADC_GetResetCalibrationStatus + 0x0000000000000000 0x8 ./Peripheral/src/ch32l103_adc.o + .text.ADC_StartCalibration + 0x0000000000000000 0xa ./Peripheral/src/ch32l103_adc.o + .text.ADC_GetCalibrationStatus + 0x0000000000000000 0x8 ./Peripheral/src/ch32l103_adc.o + .text.ADC_SoftwareStartConvCmd + 0x0000000000000000 0x18 ./Peripheral/src/ch32l103_adc.o .text.ADC_GetSoftwareStartConvStatus 0x0000000000000000 0x8 ./Peripheral/src/ch32l103_adc.o .text.ADC_DiscModeChannelCountConfig 0x0000000000000000 0x12 ./Peripheral/src/ch32l103_adc.o .text.ADC_DiscModeCmd 0x0000000000000000 0x1a ./Peripheral/src/ch32l103_adc.o + .text.ADC_RegularChannelConfig + 0x0000000000000000 0xb8 ./Peripheral/src/ch32l103_adc.o .text.ADC_ExternalTrigConvCmd 0x0000000000000000 0x18 ./Peripheral/src/ch32l103_adc.o + .text.ADC_GetConversionValue + 0x0000000000000000 0x8 ./Peripheral/src/ch32l103_adc.o .text.ADC_GetDualModeConversionValue 0x0000000000000000 0xa ./Peripheral/src/ch32l103_adc.o .text.ADC_AutoInjectedConvCmd @@ -193,6 +184,8 @@ Discarded input sections 0x0000000000000000 0xa ./Peripheral/src/ch32l103_adc.o .text.ADC_TempSensorVrefintCmd 0x0000000000000000 0x20 ./Peripheral/src/ch32l103_adc.o + .text.ADC_GetFlagStatus + 0x0000000000000000 0xa ./Peripheral/src/ch32l103_adc.o .text.ADC_ClearFlag 0x0000000000000000 0x8 ./Peripheral/src/ch32l103_adc.o .text.ADC_GetITStatus @@ -201,16 +194,36 @@ Discarded input sections 0x0000000000000000 0xa ./Peripheral/src/ch32l103_adc.o .text.TempSensor_Volt_To_Temper 0x0000000000000000 0x28 ./Peripheral/src/ch32l103_adc.o + .text.ADC_BufferCmd + 0x0000000000000000 0x18 ./Peripheral/src/ch32l103_adc.o .text.ADC_TKey_WakeUpCmd 0x0000000000000000 0x2c ./Peripheral/src/ch32l103_adc.o .text.ADC_TKey_ChannelxMulShieldCmd 0x0000000000000000 0x1a ./Peripheral/src/ch32l103_adc.o .text.ADC_TKey_MulShieldCmd 0x0000000000000000 0x12 ./Peripheral/src/ch32l103_adc.o + .text.ADC_DutyDelayCmd + 0x0000000000000000 0x12 ./Peripheral/src/ch32l103_adc.o + .text.ADC_FIFO_Cmd + 0x0000000000000000 0x12 ./Peripheral/src/ch32l103_adc.o + .text.ADC_Sample_ModeConfig + 0x0000000000000000 0x10 ./Peripheral/src/ch32l103_adc.o .text.ADC_OffsetCalibrationConfig 0x0000000000000000 0x22 ./Peripheral/src/ch32l103_adc.o .text.ADC_AnalogWatchdogResetCmd 0x0000000000000000 0x10 ./Peripheral/src/ch32l103_adc.o + .text.Get_CalibrationValue + 0x0000000000000000 0x1f0 ./Peripheral/src/ch32l103_adc.o + .debug_info 0x0000000000000000 0x1b9e ./Peripheral/src/ch32l103_adc.o + .debug_abbrev 0x0000000000000000 0x44a ./Peripheral/src/ch32l103_adc.o + .debug_loc 0x0000000000000000 0xc10 ./Peripheral/src/ch32l103_adc.o + .debug_aranges + 0x0000000000000000 0x190 ./Peripheral/src/ch32l103_adc.o + .debug_ranges 0x0000000000000000 0x1b8 ./Peripheral/src/ch32l103_adc.o + .debug_line 0x0000000000000000 0x1cea ./Peripheral/src/ch32l103_adc.o + .debug_str 0x0000000000000000 0xd19 ./Peripheral/src/ch32l103_adc.o + .comment 0x0000000000000000 0x34 ./Peripheral/src/ch32l103_adc.o + .debug_frame 0x0000000000000000 0x334 ./Peripheral/src/ch32l103_adc.o .text 0x0000000000000000 0x0 ./Peripheral/src/ch32l103_bkp.o .data 0x0000000000000000 0x0 ./Peripheral/src/ch32l103_bkp.o .bss 0x0000000000000000 0x0 ./Peripheral/src/ch32l103_bkp.o @@ -406,6 +419,8 @@ Discarded input sections .bss 0x0000000000000000 0x0 ./Peripheral/src/ch32l103_exti.o .text.EXTI_DeInit 0x0000000000000000 0x22 ./Peripheral/src/ch32l103_exti.o + .text.EXTI_Init + 0x0000000000000000 0x6a ./Peripheral/src/ch32l103_exti.o .text.EXTI_StructInit 0x0000000000000000 0x12 ./Peripheral/src/ch32l103_exti.o .text.EXTI_GenerateSWInterrupt @@ -496,12 +511,20 @@ Discarded input sections 0x0000000000000000 0x28 ./Peripheral/src/ch32l103_gpio.o .text.GPIO_StructInit 0x0000000000000000 0xe ./Peripheral/src/ch32l103_gpio.o + .text.GPIO_ReadInputDataBit + 0x0000000000000000 0xa ./Peripheral/src/ch32l103_gpio.o .text.GPIO_ReadInputData 0x0000000000000000 0x8 ./Peripheral/src/ch32l103_gpio.o + .text.GPIO_ReadOutputDataBit + 0x0000000000000000 0xa ./Peripheral/src/ch32l103_gpio.o .text.GPIO_ReadOutputData 0x0000000000000000 0x8 ./Peripheral/src/ch32l103_gpio.o + .text.GPIO_SetBits + 0x0000000000000000 0x4 ./Peripheral/src/ch32l103_gpio.o .text.GPIO_ResetBits 0x0000000000000000 0x4 ./Peripheral/src/ch32l103_gpio.o + .text.GPIO_WriteBit + 0x0000000000000000 0xa ./Peripheral/src/ch32l103_gpio.o .text.GPIO_Write 0x0000000000000000 0x4 ./Peripheral/src/ch32l103_gpio.o .text.GPIO_PinLockConfig @@ -510,6 +533,8 @@ Discarded input sections 0x0000000000000000 0x18 ./Peripheral/src/ch32l103_gpio.o .text.GPIO_EventOutputCmd 0x0000000000000000 0x16 ./Peripheral/src/ch32l103_gpio.o + .text.GPIO_EXTILineConfig + 0x0000000000000000 0x2c ./Peripheral/src/ch32l103_gpio.o .text 0x0000000000000000 0x0 ./Peripheral/src/ch32l103_i2c.o .data 0x0000000000000000 0x0 ./Peripheral/src/ch32l103_i2c.o .bss 0x0000000000000000 0x0 ./Peripheral/src/ch32l103_i2c.o @@ -659,6 +684,8 @@ Discarded input sections .text 0x0000000000000000 0x0 ./Peripheral/src/ch32l103_misc.o .data 0x0000000000000000 0x0 ./Peripheral/src/ch32l103_misc.o .bss 0x0000000000000000 0x0 ./Peripheral/src/ch32l103_misc.o + .text.NVIC_Init + 0x0000000000000000 0x58 ./Peripheral/src/ch32l103_misc.o .text 0x0000000000000000 0x0 ./Peripheral/src/ch32l103_opa.o .data 0x0000000000000000 0x0 ./Peripheral/src/ch32l103_opa.o .bss 0x0000000000000000 0x0 ./Peripheral/src/ch32l103_opa.o @@ -775,6 +802,8 @@ Discarded input sections 0x0000000000000000 0x16 ./Peripheral/src/ch32l103_rcc.o .text.RCC_USBCLKConfig 0x0000000000000000 0x18 ./Peripheral/src/ch32l103_rcc.o + .text.RCC_ADCCLKConfig + 0x0000000000000000 0x14 ./Peripheral/src/ch32l103_rcc.o .text.RCC_LSEConfig 0x0000000000000000 0x28 ./Peripheral/src/ch32l103_rcc.o .text.RCC_LSICmd @@ -785,6 +814,10 @@ Discarded input sections 0x0000000000000000 0x20 ./Peripheral/src/ch32l103_rcc.o .text.RCC_HBPeriphClockCmd 0x0000000000000000 0x1e ./Peripheral/src/ch32l103_rcc.o + .text.RCC_PB1PeriphClockCmd + 0x0000000000000000 0x1e ./Peripheral/src/ch32l103_rcc.o + .text.RCC_PB2PeriphResetCmd + 0x0000000000000000 0x1e ./Peripheral/src/ch32l103_rcc.o .text.RCC_PB1PeriphResetCmd 0x0000000000000000 0x1e ./Peripheral/src/ch32l103_rcc.o .text.RCC_BackupResetCmd @@ -855,12 +888,19 @@ Discarded input sections .bss 0x0000000000000000 0x0 ./Peripheral/src/ch32l103_spi.o .text.SPI_I2S_DeInit 0x0000000000000000 0x56 ./Peripheral/src/ch32l103_spi.o + .text.SPI_Init + 0x0000000000000000 0x32 ./Peripheral/src/ch32l103_spi.o .text.SPI_StructInit 0x0000000000000000 0x22 ./Peripheral/src/ch32l103_spi.o + .text.SPI_Cmd 0x0000000000000000 0x1a ./Peripheral/src/ch32l103_spi.o .text.SPI_I2S_ITConfig 0x0000000000000000 0x1e ./Peripheral/src/ch32l103_spi.o .text.SPI_I2S_DMACmd 0x0000000000000000 0x12 ./Peripheral/src/ch32l103_spi.o + .text.SPI_I2S_SendData + 0x0000000000000000 0x4 ./Peripheral/src/ch32l103_spi.o + .text.SPI_I2S_ReceiveData + 0x0000000000000000 0x4 ./Peripheral/src/ch32l103_spi.o .text.SPI_NSSInternalSoftwareConfig 0x0000000000000000 0x24 ./Peripheral/src/ch32l103_spi.o .text.SPI_SSOutputCmd @@ -877,6 +917,8 @@ Discarded input sections 0x0000000000000000 0x4 ./Peripheral/src/ch32l103_spi.o .text.SPI_BiDirectionalLineConfig 0x0000000000000000 0x1a ./Peripheral/src/ch32l103_spi.o + .text.SPI_I2S_GetFlagStatus + 0x0000000000000000 0xa ./Peripheral/src/ch32l103_spi.o .text.SPI_I2S_ClearFlag 0x0000000000000000 0xc ./Peripheral/src/ch32l103_spi.o .text.SPI_I2S_GetITStatus @@ -885,6 +927,16 @@ Discarded input sections 0x0000000000000000 0x14 ./Peripheral/src/ch32l103_spi.o .text.SPI_HighSpeedRead_Cmd 0x0000000000000000 0x18 ./Peripheral/src/ch32l103_spi.o + .debug_info 0x0000000000000000 0x1118 ./Peripheral/src/ch32l103_spi.o + .debug_abbrev 0x0000000000000000 0x303 ./Peripheral/src/ch32l103_spi.o + .debug_loc 0x0000000000000000 0x437 ./Peripheral/src/ch32l103_spi.o + .debug_aranges + 0x0000000000000000 0xc0 ./Peripheral/src/ch32l103_spi.o + .debug_ranges 0x0000000000000000 0xb0 ./Peripheral/src/ch32l103_spi.o + .debug_line 0x0000000000000000 0xa01 ./Peripheral/src/ch32l103_spi.o + .debug_str 0x0000000000000000 0x95c ./Peripheral/src/ch32l103_spi.o + .comment 0x0000000000000000 0x34 ./Peripheral/src/ch32l103_spi.o + .debug_frame 0x0000000000000000 0x16c ./Peripheral/src/ch32l103_spi.o .text 0x0000000000000000 0x0 ./Peripheral/src/ch32l103_tim.o .data 0x0000000000000000 0x0 ./Peripheral/src/ch32l103_tim.o .bss 0x0000000000000000 0x0 ./Peripheral/src/ch32l103_tim.o @@ -894,12 +946,16 @@ Discarded input sections 0x0000000000000000 0x7a ./Peripheral/src/ch32l103_tim.o .text.TIM_DeInit 0x0000000000000000 0x94 ./Peripheral/src/ch32l103_tim.o + .text.TIM_TimeBaseInit + 0x0000000000000000 0x76 ./Peripheral/src/ch32l103_tim.o .text.TIM_OC1Init 0x0000000000000000 0x7c ./Peripheral/src/ch32l103_tim.o .text.TIM_OC2Init 0x0000000000000000 0xa8 ./Peripheral/src/ch32l103_tim.o .text.TIM_OC3Init 0x0000000000000000 0xa6 ./Peripheral/src/ch32l103_tim.o + .text.TIM_OC4Init + 0x0000000000000000 0x7c ./Peripheral/src/ch32l103_tim.o .text.TIM_BDTRConfig 0x0000000000000000 0x20 ./Peripheral/src/ch32l103_tim.o .text.TIM_TimeBaseStructInit @@ -910,6 +966,11 @@ Discarded input sections 0x0000000000000000 0x16 ./Peripheral/src/ch32l103_tim.o .text.TIM_BDTRStructInit 0x0000000000000000 0x1e ./Peripheral/src/ch32l103_tim.o + .text.TIM_Cmd 0x0000000000000000 0x18 ./Peripheral/src/ch32l103_tim.o + .text.TIM_CtrlPWMOutputs + 0x0000000000000000 0x16 ./Peripheral/src/ch32l103_tim.o + .text.TIM_ITConfig + 0x0000000000000000 0x12 ./Peripheral/src/ch32l103_tim.o .text.TIM_GenerateEvent 0x0000000000000000 0x4 ./Peripheral/src/ch32l103_tim.o .text.TIM_DMAConfig @@ -944,6 +1005,8 @@ Discarded input sections 0x0000000000000000 0x10 ./Peripheral/src/ch32l103_tim.o .text.TIM_ForcedOC4Config 0x0000000000000000 0x14 ./Peripheral/src/ch32l103_tim.o + .text.TIM_ARRPreloadConfig + 0x0000000000000000 0x1a ./Peripheral/src/ch32l103_tim.o .text.TIM_SelectCOM 0x0000000000000000 0x18 ./Peripheral/src/ch32l103_tim.o .text.TIM_SelectCCDMA @@ -956,6 +1019,8 @@ Discarded input sections 0x0000000000000000 0x16 ./Peripheral/src/ch32l103_tim.o .text.TIM_OC3PreloadConfig 0x0000000000000000 0xe ./Peripheral/src/ch32l103_tim.o + .text.TIM_OC4PreloadConfig + 0x0000000000000000 0x16 ./Peripheral/src/ch32l103_tim.o .text.TIM_OC1FastConfig 0x0000000000000000 0xe ./Peripheral/src/ch32l103_tim.o .text.TIM_OC2FastConfig @@ -1016,6 +1081,8 @@ Discarded input sections 0x0000000000000000 0x16 ./Peripheral/src/ch32l103_tim.o .text.TIM_SetCompare3 0x0000000000000000 0x16 ./Peripheral/src/ch32l103_tim.o + .text.TIM_SetCompare4 + 0x0000000000000000 0x16 ./Peripheral/src/ch32l103_tim.o .text.TIM_SetIC1Prescaler 0x0000000000000000 0x16 ./Peripheral/src/ch32l103_tim.o .text.TIM_SetIC2Prescaler @@ -1038,6 +1105,8 @@ Discarded input sections 0x0000000000000000 0x4 ./Peripheral/src/ch32l103_tim.o .text.TIM_GetCapture4 0x0000000000000000 0x4 ./Peripheral/src/ch32l103_tim.o + .text.TIM_GetCounter + 0x0000000000000000 0x18 ./Peripheral/src/ch32l103_tim.o .text.TIM_GetPrescaler 0x0000000000000000 0x4 ./Peripheral/src/ch32l103_tim.o .text.TIM_GetFlagStatus @@ -1059,6 +1128,8 @@ Discarded input sections 0x0000000000000000 0x1e ./Peripheral/src/ch32l103_usart.o .text.USART_ClockStructInit 0x0000000000000000 0x12 ./Peripheral/src/ch32l103_usart.o + .text.USART_ITConfig + 0x0000000000000000 0x36 ./Peripheral/src/ch32l103_usart.o .text.USART_DMACmd 0x0000000000000000 0x12 ./Peripheral/src/ch32l103_usart.o .text.USART_SetAddress @@ -1127,15 +1198,50 @@ Discarded input sections .text 0x0000000000000000 0x0 ./Hardware/src/adc.o .data 0x0000000000000000 0x0 ./Hardware/src/adc.o .bss 0x0000000000000000 0x0 ./Hardware/src/adc.o + .text.ADC_all_Init + 0x0000000000000000 0x150 ./Hardware/src/adc.o + .rodata.ADC_all_Init.str1.4 + 0x0000000000000000 0x17 ./Hardware/src/adc.o + .sbss.Calibrattion_Val + 0x0000000000000000 0x2 ./Hardware/src/adc.o + .debug_info 0x0000000000000000 0xf94 ./Hardware/src/adc.o + .debug_abbrev 0x0000000000000000 0x26d ./Hardware/src/adc.o + .debug_aranges + 0x0000000000000000 0x20 ./Hardware/src/adc.o + .debug_ranges 0x0000000000000000 0x10 ./Hardware/src/adc.o + .debug_line 0x0000000000000000 0x508 ./Hardware/src/adc.o + .debug_str 0x0000000000000000 0x9a0 ./Hardware/src/adc.o + .comment 0x0000000000000000 0x34 ./Hardware/src/adc.o + .debug_frame 0x0000000000000000 0x38 ./Hardware/src/adc.o .text 0x0000000000000000 0x0 ./Hardware/src/flash.o .data 0x0000000000000000 0x0 ./Hardware/src/flash.o .bss 0x0000000000000000 0x0 ./Hardware/src/flash.o + .text.SPI_Flash_Init + 0x0000000000000000 0xd8 ./Hardware/src/flash.o + .text.SPI_ReadWriteByte + 0x0000000000000000 0x7a ./Hardware/src/flash.o + .text.SPI_Flash_ReadSR + 0x0000000000000000 0x4e ./Hardware/src/flash.o .text.SPI_FLASH_Write_SR 0x0000000000000000 0x4a ./Hardware/src/flash.o + .text.SPI_Flash_Wait_Busy + 0x0000000000000000 0x1c ./Hardware/src/flash.o + .text.SPI_FLASH_Write_Enable + 0x0000000000000000 0x3e ./Hardware/src/flash.o .text.SPI_FLASH_Write_Disable 0x0000000000000000 0x3e ./Hardware/src/flash.o .text.SPI_Flash_ReadID 0x0000000000000000 0x86 ./Hardware/src/flash.o + .text.SPI_Flash_Erase_Sector + 0x0000000000000000 0x86 ./Hardware/src/flash.o + .text.SPI_Flash_Read + 0x0000000000000000 0x96 ./Hardware/src/flash.o + .text.SPI_Flash_Write_Page + 0x0000000000000000 0xa2 ./Hardware/src/flash.o + .text.SPI_Flash_Write_NoCheck + 0x0000000000000000 0x60 ./Hardware/src/flash.o + .text.SPI_Flash_Write + 0x0000000000000000 0xd8 ./Hardware/src/flash.o .text.SPI_Flash_Erase_Chip 0x0000000000000000 0x58 ./Hardware/src/flash.o .text.SPI_Flash_PowerDown @@ -1147,28 +1253,84 @@ Discarded input sections .rodata.SPI_Flash_TEST 0x0000000000000000 0x14 ./Hardware/src/flash.o .rodata 0x0000000000000000 0x64 ./Hardware/src/flash.o + .bss.SPI_FLASH_BUF + 0x0000000000000000 0x1000 ./Hardware/src/flash.o .rodata.SPI_Flash_TEST.str1.4 0x0000000000000000 0xe2 ./Hardware/src/flash.o + .debug_info 0x0000000000000000 0x1a36 ./Hardware/src/flash.o + .debug_abbrev 0x0000000000000000 0x3e4 ./Hardware/src/flash.o + .debug_loc 0x0000000000000000 0x466 ./Hardware/src/flash.o + .debug_aranges + 0x0000000000000000 0xa0 ./Hardware/src/flash.o + .debug_ranges 0x0000000000000000 0xb0 ./Hardware/src/flash.o + .debug_line 0x0000000000000000 0xd9e ./Hardware/src/flash.o + .debug_str 0x0000000000000000 0xb11 ./Hardware/src/flash.o + .comment 0x0000000000000000 0x34 ./Hardware/src/flash.o + .debug_frame 0x0000000000000000 0x274 ./Hardware/src/flash.o .text 0x0000000000000000 0x0 ./Hardware/src/gpio.o .data 0x0000000000000000 0x0 ./Hardware/src/gpio.o .bss 0x0000000000000000 0x0 ./Hardware/src/gpio.o .text.G_FFMOS_CON_Init 0x0000000000000000 0x7c ./Hardware/src/gpio.o + .text.RUN_LED_Init + 0x0000000000000000 0x40 ./Hardware/src/gpio.o + .text.WDI_INPUT_Init + 0x0000000000000000 0x42 ./Hardware/src/gpio.o .text.BEEP_Init 0x0000000000000000 0x3e ./Hardware/src/gpio.o + .text.POW_OUT_CON_Init + 0x0000000000000000 0x52 ./Hardware/src/gpio.o + .text.DSG_PROT_Init + 0x0000000000000000 0x76 ./Hardware/src/gpio.o .text.EnPowerSupply_Init 0x0000000000000000 0x4e ./Hardware/src/gpio.o + .text.WORK_VOLT_INT_Init + 0x0000000000000000 0x76 ./Hardware/src/gpio.o .text 0x0000000000000000 0x0 ./Hardware/src/pwm.o .data 0x0000000000000000 0x0 ./Hardware/src/pwm.o .bss 0x0000000000000000 0x0 ./Hardware/src/pwm.o + .text.PWM_GPIO_Configuration + 0x0000000000000000 0x60 ./Hardware/src/pwm.o + .text.PWM_TIM_Configuration + 0x0000000000000000 0x92 ./Hardware/src/pwm.o + .text.Set_duty_ratio + 0x0000000000000000 0x9e ./Hardware/src/pwm.o + .rodata.Set_duty_ratio.cst4 + 0x0000000000000000 0xc ./Hardware/src/pwm.o + .rodata.Set_duty_ratio.cst8 + 0x0000000000000000 0x10 ./Hardware/src/pwm.o + .debug_info 0x0000000000000000 0x10cf ./Hardware/src/pwm.o + .debug_abbrev 0x0000000000000000 0x2b9 ./Hardware/src/pwm.o + .debug_loc 0x0000000000000000 0x5b ./Hardware/src/pwm.o + .debug_aranges + 0x0000000000000000 0x30 ./Hardware/src/pwm.o + .debug_ranges 0x0000000000000000 0x20 ./Hardware/src/pwm.o + .debug_line 0x0000000000000000 0x4fb ./Hardware/src/pwm.o + .debug_str 0x0000000000000000 0xa88 ./Hardware/src/pwm.o + .comment 0x0000000000000000 0x34 ./Hardware/src/pwm.o + .debug_frame 0x0000000000000000 0x84 ./Hardware/src/pwm.o .text 0x0000000000000000 0x0 ./Hardware/src/rs485.o .data 0x0000000000000000 0x0 ./Hardware/src/rs485.o .bss 0x0000000000000000 0x0 ./Hardware/src/rs485.o + .text.GW_485_Init + 0x0000000000000000 0xe2 ./Hardware/src/rs485.o + .text.BAT_485_Init + 0x0000000000000000 0xee ./Hardware/src/rs485.o + .text.USARTx_SendByte + 0x0000000000000000 0x2a ./Hardware/src/rs485.o .text.USARTx_ITSendstr 0x0000000000000000 0x26 ./Hardware/src/rs485.o .text 0x0000000000000000 0x0 ./Hardware/src/tim.o .data 0x0000000000000000 0x0 ./Hardware/src/tim.o .bss 0x0000000000000000 0x0 ./Hardware/src/tim.o + .text.TIM3_Int_Init + 0x0000000000000000 0x78 ./Hardware/src/tim.o + .text.TIM3_Init + 0x0000000000000000 0x36 ./Hardware/src/tim.o + .text.TIM2_Int_Init + 0x0000000000000000 0x74 ./Hardware/src/tim.o + .text.TIM2_Init + 0x0000000000000000 0x3c ./Hardware/src/tim.o .text.Systick_Init 0x0000000000000000 0x3e ./Hardware/src/tim.o .text.TIM1_Int_Init @@ -1178,16 +1340,30 @@ Discarded input sections .text 0x0000000000000000 0x0 ./Drivers/TimeSliceOffset/timeSliceOffset.o .data 0x0000000000000000 0x0 ./Drivers/TimeSliceOffset/timeSliceOffset.o .bss 0x0000000000000000 0x0 ./Drivers/TimeSliceOffset/timeSliceOffset.o + .text.TimeSliceOffset_Register + 0x0000000000000000 0x42 ./Drivers/TimeSliceOffset/timeSliceOffset.o + .text.TimeSliceOffset_Unregister + 0x0000000000000000 0x32 ./Drivers/TimeSliceOffset/timeSliceOffset.o + .text.TimeSliceOffset_Start + 0x0000000000000000 0x2a ./Drivers/TimeSliceOffset/timeSliceOffset.o .text 0x0000000000000000 0x0 ./Drivers/RingQueue/ring_queue.o .data 0x0000000000000000 0x0 ./Drivers/RingQueue/ring_queue.o .bss 0x0000000000000000 0x0 ./Drivers/RingQueue/ring_queue.o + .text.InitRingQueue + 0x0000000000000000 0x10 ./Drivers/RingQueue/ring_queue.o .text.ShowRingQueue 0x0000000000000000 0xc ./Drivers/RingQueue/ring_queue.o + .text.OutRingQueue + 0x0000000000000000 0x26 ./Drivers/RingQueue/ring_queue.o + .text.RingQueueLength + 0x0000000000000000 0x10 ./Drivers/RingQueue/ring_queue.o .text 0x0000000000000000 0x0 ./Debug/debug.o .data 0x0000000000000000 0x0 ./Debug/debug.o .bss 0x0000000000000000 0x0 ./Debug/debug.o .text.Delay_Us 0x0000000000000000 0x42 ./Debug/debug.o + .text.Delay_Ms + 0x0000000000000000 0x3a ./Debug/debug.o .text 0x0000000000000000 0x0 ./Core/core_riscv.o .data 0x0000000000000000 0x0 ./Core/core_riscv.o .bss 0x0000000000000000 0x0 ./Core/core_riscv.o @@ -1241,12 +1417,38 @@ Discarded input sections .text 0x0000000000000000 0x0 ./App/src/collect_Conversion.o .data 0x0000000000000000 0x0 ./App/src/collect_Conversion.o .bss 0x0000000000000000 0x0 ./App/src/collect_Conversion.o + .text.Get_ConversionVal + 0x0000000000000000 0x2e ./App/src/collect_Conversion.o + .text.middleAverageFilter + 0x0000000000000000 0xb0 ./App/src/collect_Conversion.o + .text.get_CHG_CURR + 0x0000000000000000 0x6a ./App/src/collect_Conversion.o + .text.get_PV_VOLT_OUT + 0x0000000000000000 0x6a ./App/src/collect_Conversion.o + .text.get_DSG_CURR + 0x0000000000000000 0x6a ./App/src/collect_Conversion.o + .text.get_PV1_VOLT_IN + 0x0000000000000000 0x6a ./App/src/collect_Conversion.o .text.get_PV_VOLT_IN1 0x0000000000000000 0x6a ./App/src/collect_Conversion.o + .text.get_MOSFET_Temper + 0x0000000000000000 0x76 ./App/src/collect_Conversion.o .text.get_PV2_VOLT_IN 0x0000000000000000 0x6a ./App/src/collect_Conversion.o + .rodata.get_CHG_CURR.cst4 + 0x0000000000000000 0x4 ./App/src/collect_Conversion.o + .rodata.get_CHG_CURR.cst8 + 0x0000000000000000 0x10 ./App/src/collect_Conversion.o + .rodata.get_MOSFET_Temper.cst8 + 0x0000000000000000 0x10 ./App/src/collect_Conversion.o + .rodata.get_PV1_VOLT_IN.cst8 + 0x0000000000000000 0x8 ./App/src/collect_Conversion.o .rodata.get_PV_VOLT_IN1.cst8 0x0000000000000000 0x8 ./App/src/collect_Conversion.o + .rodata.get_PV_VOLT_OUT.cst8 + 0x0000000000000000 0x8 ./App/src/collect_Conversion.o + .rodata.mosTemperADC + 0x0000000000000000 0x1e2 ./App/src/collect_Conversion.o .sdata2.P_CHG_CURR 0x0000000000000000 0x4 ./App/src/collect_Conversion.o .sdata2.P_DSG_CURR @@ -1259,6 +1461,16 @@ Discarded input sections 0x0000000000000000 0x4 ./App/src/collect_Conversion.o .sdata2.P_PV_VOLT_OUT 0x0000000000000000 0x4 ./App/src/collect_Conversion.o + .debug_info 0x0000000000000000 0x10e7 ./App/src/collect_Conversion.o + .debug_abbrev 0x0000000000000000 0x3c0 ./App/src/collect_Conversion.o + .debug_loc 0x0000000000000000 0x3e3 ./App/src/collect_Conversion.o + .debug_aranges + 0x0000000000000000 0x60 ./App/src/collect_Conversion.o + .debug_ranges 0x0000000000000000 0x88 ./App/src/collect_Conversion.o + .debug_line 0x0000000000000000 0x8e9 ./App/src/collect_Conversion.o + .debug_str 0x0000000000000000 0x8d1 ./App/src/collect_Conversion.o + .comment 0x0000000000000000 0x34 ./App/src/collect_Conversion.o + .debug_frame 0x0000000000000000 0x110 ./App/src/collect_Conversion.o .text 0x0000000000000000 0x0 ./App/src/hy_protocol.o .data 0x0000000000000000 0x0 ./App/src/hy_protocol.o .bss 0x0000000000000000 0x0 ./App/src/hy_protocol.o @@ -1296,156 +1508,212 @@ Discarded input sections 0x0000000000000000 0x2 ./App/src/hy_protocol.o .text.HY_MsgProcFunc_hardwareID_communicationIDQuery 0x0000000000000000 0x2 ./App/src/hy_protocol.o + .text.HY_Check_485_bus_busy + 0x0000000000000000 0x9a ./App/src/hy_protocol.o .text.HY_CheckFunc 0x0000000000000000 0x22 ./App/src/hy_protocol.o .text.HY_read_and_process_uart_data - 0x0000000000000000 0x82 ./App/src/hy_protocol.o + 0x0000000000000000 0x10e ./App/src/hy_protocol.o .bss.rs485_buff 0x0000000000000000 0x64 ./App/src/hy_protocol.o .data.HY_defaultValue 0x0000000000000000 0xc ./App/src/hy_protocol.o .data.g_hyMsgTbl 0x0000000000000000 0x88 ./App/src/hy_protocol.o - .debug_info 0x0000000000000000 0x1550 ./App/src/hy_protocol.o - .debug_abbrev 0x0000000000000000 0x3ca ./App/src/hy_protocol.o - .debug_loc 0x0000000000000000 0x188 ./App/src/hy_protocol.o + .rodata.HY_read_and_process_uart_data.str1.4 + 0x0000000000000000 0x32 ./App/src/hy_protocol.o + .debug_info 0x0000000000000000 0x1537 ./App/src/hy_protocol.o + .debug_abbrev 0x0000000000000000 0x424 ./App/src/hy_protocol.o + .debug_loc 0x0000000000000000 0x2fd ./App/src/hy_protocol.o .debug_aranges - 0x0000000000000000 0x30 ./App/src/hy_protocol.o - .debug_ranges 0x0000000000000000 0x70 ./App/src/hy_protocol.o - .debug_line 0x0000000000000000 0x4c9 ./App/src/hy_protocol.o - .debug_str 0x0000000000000000 0x10e1 ./App/src/hy_protocol.o + 0x0000000000000000 0x38 ./App/src/hy_protocol.o + .debug_ranges 0x0000000000000000 0xc0 ./App/src/hy_protocol.o + .debug_line 0x0000000000000000 0x6be ./App/src/hy_protocol.o + .debug_str 0x0000000000000000 0xe7f ./App/src/hy_protocol.o .comment 0x0000000000000000 0x34 ./App/src/hy_protocol.o - .debug_frame 0x0000000000000000 0x15c ./App/src/hy_protocol.o + .debug_frame 0x0000000000000000 0x194 ./App/src/hy_protocol.o .text 0x0000000000000000 0x0 ./App/src/inflash.o .data 0x0000000000000000 0x0 ./App/src/inflash.o .bss 0x0000000000000000 0x0 ./App/src/inflash.o + .debug_info 0x0000000000000000 0xaa4 ./App/src/inflash.o + .debug_abbrev 0x0000000000000000 0x1d8 ./App/src/inflash.o + .debug_aranges + 0x0000000000000000 0x18 ./App/src/inflash.o + .debug_line 0x0000000000000000 0x259 ./App/src/inflash.o + .debug_str 0x0000000000000000 0x6d2 ./App/src/inflash.o + .comment 0x0000000000000000 0x34 ./App/src/inflash.o .text 0x0000000000000000 0x0 ./App/src/mppt_control.o .data 0x0000000000000000 0x0 ./App/src/mppt_control.o .bss 0x0000000000000000 0x0 ./App/src/mppt_control.o - .text.Get_OutputPower - 0x0000000000000000 0xaa ./App/src/mppt_control.o - .text.mppt_readJust - 0x0000000000000000 0x10e ./App/src/mppt_control.o - .text.printf_data - 0x0000000000000000 0x24 ./App/src/mppt_control.o - .text.mppt_constantVoltageB - 0x0000000000000000 0x8a ./App/src/mppt_control.o - .text.NoBatteryCharge - 0x0000000000000000 0x20 ./App/src/mppt_control.o - .text.findMiNDutyRatio - 0x0000000000000000 0x6c ./App/src/mppt_control.o - .rodata.Get_OutputPower.str1.4 - 0x0000000000000000 0x35 ./App/src/mppt_control.o - .rodata.NoBatteryCharge.cst4 - 0x0000000000000000 0x4 ./App/src/mppt_control.o - .rodata.findMiNDutyRatio.str1.4 - 0x0000000000000000 0x1a ./App/src/mppt_control.o - .rodata.mppt_readJust.str1.4 - 0x0000000000000000 0x6b ./App/src/mppt_control.o - .sbss.OutputPower.5756 - 0x0000000000000000 0x4 ./App/src/mppt_control.o - .sbss.V_out.5757 - 0x0000000000000000 0x4 ./App/src/mppt_control.o - .sbss.last_OutputPower.5765 - 0x0000000000000000 0x4 ./App/src/mppt_control.o - .sdata.last_duty_ratio.5764 - 0x0000000000000000 0x4 ./App/src/mppt_control.o - .sdata.num.5844 - 0x0000000000000000 0x1 ./App/src/mppt_control.o - .sdata.step_pwm.5767 - 0x0000000000000000 0x4 ./App/src/mppt_control.o - .sdata2.step1_pwm - 0x0000000000000000 0x4 ./App/src/mppt_control.o - .sdata2.step2_pwm - 0x0000000000000000 0x4 ./App/src/mppt_control.o + .debug_info 0x0000000000000000 0xd58 ./App/src/mppt_control.o + .debug_abbrev 0x0000000000000000 0x1d8 ./App/src/mppt_control.o + .debug_aranges + 0x0000000000000000 0x18 ./App/src/mppt_control.o + .debug_line 0x0000000000000000 0x28e ./App/src/mppt_control.o + .debug_str 0x0000000000000000 0xa40 ./App/src/mppt_control.o + .comment 0x0000000000000000 0x34 ./App/src/mppt_control.o + .text 0x0000000000000000 0x0 ./App/src/parameter.o + .data 0x0000000000000000 0x0 ./App/src/parameter.o + .bss 0x0000000000000000 0x0 ./App/src/parameter.o + .bss.g_controlParameter + 0x0000000000000000 0x34 ./App/src/parameter.o + .bss.g_otherParameter + 0x0000000000000000 0x68 ./App/src/parameter.o + .debug_info 0x0000000000000000 0xcd9 ./App/src/parameter.o + .debug_abbrev 0x0000000000000000 0x1e7 ./App/src/parameter.o + .debug_aranges + 0x0000000000000000 0x18 ./App/src/parameter.o + .debug_line 0x0000000000000000 0x271 ./App/src/parameter.o + .debug_str 0x0000000000000000 0x9b5 ./App/src/parameter.o + .comment 0x0000000000000000 0x34 ./App/src/parameter.o .text 0x0000000000000000 0x0 ./App/src/sl_protocol.o .data 0x0000000000000000 0x0 ./App/src/sl_protocol.o .bss 0x0000000000000000 0x0 ./App/src/sl_protocol.o - .bss.g_RegTblW - 0x0000000000000000 0x0 ./App/src/sl_protocol.o + .data.defaultValue + 0x0000000000000000 0xe ./App/src/sl_protocol.o + .debug_info 0x0000000000000000 0xd8a ./App/src/sl_protocol.o + .debug_abbrev 0x0000000000000000 0x1fa ./App/src/sl_protocol.o + .debug_aranges + 0x0000000000000000 0x18 ./App/src/sl_protocol.o + .debug_line 0x0000000000000000 0x290 ./App/src/sl_protocol.o + .debug_str 0x0000000000000000 0xa50 ./App/src/sl_protocol.o + .comment 0x0000000000000000 0x34 ./App/src/sl_protocol.o .text 0x0000000000000000 0x0 ./App/src/task.o .data 0x0000000000000000 0x0 ./App/src/task.o .bss 0x0000000000000000 0x0 ./App/src/task.o + .debug_info 0x0000000000000000 0xd64 ./App/src/task.o + .debug_abbrev 0x0000000000000000 0x1d8 ./App/src/task.o + .debug_aranges + 0x0000000000000000 0x18 ./App/src/task.o + .debug_line 0x0000000000000000 0x29a ./App/src/task.o + .debug_str 0x0000000000000000 0xa42 ./App/src/task.o + .comment 0x0000000000000000 0x34 ./App/src/task.o .text 0x0000000000000000 0x0 ./App/src/uart_dev.o .data 0x0000000000000000 0x0 ./App/src/uart_dev.o .bss 0x0000000000000000 0x0 ./App/src/uart_dev.o + .text.uart_putchar + 0x0000000000000000 0x56 ./App/src/uart_dev.o + .text.uart_dev_init + 0x0000000000000000 0x7a ./App/src/uart_dev.o + .text.bat485_tx_enabla + 0x0000000000000000 0x26 ./App/src/uart_dev.o + .text.bat485_tx_disenabla + 0x0000000000000000 0x26 ./App/src/uart_dev.o + .text.gw485_tx_enabla + 0x0000000000000000 0x24 ./App/src/uart_dev.o + .text.gw485_tx_disenabla + 0x0000000000000000 0x24 ./App/src/uart_dev.o .text.uart_sendstr 0x0000000000000000 0x8e ./App/src/uart_dev.o + .text.uart_dev_write + 0x0000000000000000 0x8e ./App/src/uart_dev.o + .text.uart_dev_char_present + 0x0000000000000000 0x18 ./App/src/uart_dev.o + .text.uart_dev_in_char + 0x0000000000000000 0x38 ./App/src/uart_dev.o .text.ring_queue_dev_char_present 0x0000000000000000 0xe ./App/src/uart_dev.o .text.ring_queue_dev_in_char 0x0000000000000000 0x30 ./App/src/uart_dev.o + .text.ring_queue_length + 0x0000000000000000 0x1a ./App/src/uart_dev.o + .bss.bat485_in_buff + 0x0000000000000000 0xc8 ./App/src/uart_dev.o + .bss.gw485_in_buff + 0x0000000000000000 0x12c ./App/src/uart_dev.o .bss.rs485_out_buff 0x0000000000000000 0x64 ./App/src/uart_dev.o - .text 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(adddf3.o) - .data 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(adddf3.o) - .bss 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(adddf3.o) + .data.uart_devices + 0x0000000000000000 0x38 ./App/src/uart_dev.o .text 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(gedf2.o) .data 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(gedf2.o) .bss 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(gedf2.o) + .text.__gedf2 0x0000000000000000 0xae d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(gedf2.o) + .debug_frame 0x0000000000000000 0x20 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(gedf2.o) .text 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(ledf2.o) .data 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(ledf2.o) .bss 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(ledf2.o) + .text.__ledf2 0x0000000000000000 0xb6 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(ledf2.o) + .debug_frame 0x0000000000000000 0x20 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(ledf2.o) .text 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(muldf3.o) .data 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(muldf3.o) .bss 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(muldf3.o) + .text.__muldf3 + 0x0000000000000000 0x4c8 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(muldf3.o) + .rodata.__muldf3 + 0x0000000000000000 0x40 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(muldf3.o) + .debug_frame 0x0000000000000000 0x54 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(muldf3.o) .text 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(subdf3.o) .data 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(subdf3.o) .bss 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(subdf3.o) + .text.__subdf3 + 0x0000000000000000 0x746 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(subdf3.o) + .debug_frame 0x0000000000000000 0x44 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(subdf3.o) .text 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(floatsidf.o) .data 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(floatsidf.o) .bss 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(floatsidf.o) - .text 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(addsf3.o) - .data 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(addsf3.o) - .bss 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(addsf3.o) + .text.__floatsidf + 0x0000000000000000 0x76 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(floatsidf.o) + .debug_frame 0x0000000000000000 0x38 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(floatsidf.o) .text 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(divsf3.o) .data 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(divsf3.o) .bss 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(divsf3.o) - .text 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(eqsf2.o) - .data 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(eqsf2.o) - .bss 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(eqsf2.o) - .text 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(gesf2.o) - .data 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(gesf2.o) - .bss 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(gesf2.o) - .text 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(lesf2.o) - .data 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(lesf2.o) - .bss 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(lesf2.o) + .text.__divsf3 + 0x0000000000000000 0x2ba d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(divsf3.o) + .rodata.__divsf3 + 0x0000000000000000 0x80 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(divsf3.o) + .debug_frame 0x0000000000000000 0x50 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(divsf3.o) .text 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(mulsf3.o) .data 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(mulsf3.o) .bss 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(mulsf3.o) - .text 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(subsf3.o) - .data 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(subsf3.o) - .bss 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(subsf3.o) - .text 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(fixsfsi.o) - .data 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(fixsfsi.o) - .bss 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(fixsfsi.o) + .text.__mulsf3 + 0x0000000000000000 0x29c d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(mulsf3.o) + .rodata.__mulsf3 + 0x0000000000000000 0x40 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(mulsf3.o) + .debug_frame 0x0000000000000000 0x50 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(mulsf3.o) .text 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(fixunssfsi.o) .data 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(fixunssfsi.o) .bss 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(fixunssfsi.o) - .text 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(floatsisf.o) - .data 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(floatsisf.o) - .bss 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(floatsisf.o) + .text.__fixunssfsi + 0x0000000000000000 0x56 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(fixunssfsi.o) + .debug_frame 0x0000000000000000 0x20 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(fixunssfsi.o) .text 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(floatunsisf.o) .data 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(floatunsisf.o) .bss 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(floatunsisf.o) + .text.__floatunsisf + 0x0000000000000000 0xd4 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(floatunsisf.o) + .debug_frame 0x0000000000000000 0x44 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(floatunsisf.o) .text 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(extendsfdf2.o) .data 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(extendsfdf2.o) .bss 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(extendsfdf2.o) + .text.__extendsfdf2 + 0x0000000000000000 0xb2 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(extendsfdf2.o) + .debug_frame 0x0000000000000000 0x38 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(extendsfdf2.o) .text 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(truncdfsf2.o) .data 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(truncdfsf2.o) .bss 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(truncdfsf2.o) + .text.__truncdfsf2 + 0x0000000000000000 0x16a d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(truncdfsf2.o) + .debug_frame 0x0000000000000000 0x20 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(truncdfsf2.o) .data 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(save-restore.o) .bss 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(save-restore.o) .eh_frame 0x0000000000000000 0xf8 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(save-restore.o) .text 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(_clzsi2.o) .data 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(_clzsi2.o) .bss 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(_clzsi2.o) + .text.__clzsi2 + 0x0000000000000000 0x6e d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(_clzsi2.o) + .debug_frame 0x0000000000000000 0x20 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(_clzsi2.o) .text 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(_clz.o) .data 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(_clz.o) .bss 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(_clz.o) + .rodata.__clz_tab + 0x0000000000000000 0x100 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(_clz.o) .text 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-memcpy.o) .data 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-memcpy.o) .bss 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-memcpy.o) + .text.memcpy 0x0000000000000000 0xb2 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-memcpy.o) + .debug_frame 0x0000000000000000 0x20 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-memcpy.o) .data 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-memset.o) .bss 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-memset.o) .text 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-printf.o) @@ -1453,24 +1721,9 @@ Discarded input sections .bss 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-printf.o) .text._printf_r 0x0000000000000000 0x40 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-printf.o) - .text 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-putchar.o) - .data 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-putchar.o) - .bss 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-putchar.o) - .text._putchar_r - 0x0000000000000000 0x2c d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-putchar.o) - .text.putchar 0x0000000000000000 0x38 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-putchar.o) - .debug_frame 0x0000000000000000 0x50 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-putchar.o) .text 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-puts.o) .data 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-puts.o) .bss 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-puts.o) - .text 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-rand.o) - .data 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-rand.o) - .bss 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-rand.o) - .text 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-sprintf.o) - .data 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-sprintf.o) - .bss 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-sprintf.o) - .text._sprintf_r - 0x0000000000000000 0x40 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-sprintf.o) .text 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-wbuf.o) .data 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-wbuf.o) .bss 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-wbuf.o) @@ -1513,21 +1766,12 @@ Discarded input sections .text 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-makebuf.o) .data 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-makebuf.o) .bss 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-makebuf.o) - .text 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-malloc.o) - .data 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-malloc.o) - .bss 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-malloc.o) - .text.free 0x0000000000000000 0x14 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-malloc.o) .text 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-freer.o) .data 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-freer.o) .bss 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-freer.o) .text 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-mallocr.o) .data 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-mallocr.o) .bss 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-mallocr.o) - .text 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-svfprintf.o) - .data 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-svfprintf.o) - .bss 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-svfprintf.o) - .text.__ssprint_r - 0x0000000000000000 0x13e d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-svfprintf.o) .text 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-vfprintf.o) .data 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-vfprintf.o) .bss 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-vfprintf.o) @@ -1538,12 +1782,6 @@ Discarded input sections .text 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-vfprintf_i.o) .data 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-vfprintf_i.o) .bss 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-vfprintf_i.o) - .text 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-putc.o) - .data 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-putc.o) - .bss 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-putc.o) - .text._putc_r 0x0000000000000000 0x8c d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-putc.o) - .text.putc 0x0000000000000000 0x16 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-putc.o) - .debug_frame 0x0000000000000000 0x4c d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-putc.o) .text 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-sbrkr.o) .data 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-sbrkr.o) .bss 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-sbrkr.o) @@ -1579,12 +1817,17 @@ Discarded input sections .text 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-memmove.o) .data 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-memmove.o) .bss 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-memmove.o) + .text.memmove 0x0000000000000000 0x46 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-memmove.o) + .debug_frame 0x0000000000000000 0x20 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-memmove.o) .text 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-mlock.o) .data 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-mlock.o) .bss 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-mlock.o) .text 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-reallocr.o) .data 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-reallocr.o) .bss 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-reallocr.o) + .text._realloc_r + 0x0000000000000000 0x72 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-reallocr.o) + .debug_frame 0x0000000000000000 0x40 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-reallocr.o) .text 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-readr.o) .data 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-readr.o) .bss 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-readr.o) @@ -1598,6 +1841,9 @@ Discarded input sections .text 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-msizer.o) .data 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-msizer.o) .bss 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-msizer.o) + .text._malloc_usable_size_r + 0x0000000000000000 0x14 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-msizer.o) + .debug_frame 0x0000000000000000 0x20 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-msizer.o) .text 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libnosys.a(close.o) .data 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libnosys.a(close.o) .bss 0x0000000000000000 0x0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libnosys.a(close.o) @@ -1662,6 +1908,7 @@ LOAD ./App/src/collect_Conversion.o LOAD ./App/src/hy_protocol.o LOAD ./App/src/inflash.o LOAD ./App/src/mppt_control.o +LOAD ./App/src/parameter.o LOAD ./App/src/sl_protocol.o LOAD ./App/src/task.o LOAD ./App/src/uart_dev.o @@ -1698,7 +1945,7 @@ END GROUP 0x0000000000000140 . = ALIGN (0x40) *fill* 0x0000000000000118 0x28 -.text 0x0000000000000140 0x8d80 +.text 0x0000000000000140 0x1e24 0x0000000000000140 . = ALIGN (0x4) *(.text) .text 0x0000000000000140 0x60 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(save-restore.o) @@ -1738,923 +1985,347 @@ END GROUP 0x000000000000024a 0x2 ./User/ch32l103_it.o 0x000000000000024a HardFault_Handler .text.startup.main - 0x000000000000024c 0x4a ./User/main.o + 0x000000000000024c 0x40 ./User/main.o 0x000000000000024c main .text.SystemInit - 0x0000000000000296 0x106 ./User/system_ch32l103.o - 0x0000000000000296 SystemInit + 0x000000000000028c 0x104 ./User/system_ch32l103.o + 0x000000000000028c SystemInit .text.SystemCoreClockUpdate - 0x000000000000039c 0xa4 ./User/system_ch32l103.o - 0x000000000000039c SystemCoreClockUpdate + 0x0000000000000390 0xa4 ./User/system_ch32l103.o + 0x0000000000000390 SystemCoreClockUpdate .text.vector_handler - 0x0000000000000440 0x2 ./Startup/startup_ch32l103.o - 0x0000000000000440 TIM1_CC_IRQHandler - 0x0000000000000440 USBPD_IRQHandler - 0x0000000000000440 PVD_IRQHandler - 0x0000000000000440 EXTI3_IRQHandler - 0x0000000000000440 USBFS_IRQHandler - 0x0000000000000440 EXTI0_IRQHandler - 0x0000000000000440 I2C2_EV_IRQHandler - 0x0000000000000440 LPTIM_IRQHandler - 0x0000000000000440 Break_Point_Handler - 0x0000000000000440 SPI1_IRQHandler - 0x0000000000000440 TAMPER_IRQHandler - 0x0000000000000440 Ecall_M_Mode_Handler - 0x0000000000000440 DMA1_Channel4_IRQHandler - 0x0000000000000440 RTC_IRQHandler - 0x0000000000000440 DMA1_Channel7_IRQHandler - 0x0000000000000440 CAN1_RX1_IRQHandler - 0x0000000000000440 USBPDWakeUp_IRQHandler - 0x0000000000000440 TIM4_IRQHandler - 0x0000000000000440 I2C1_EV_IRQHandler - 0x0000000000000440 DMA1_Channel6_IRQHandler - 0x0000000000000440 RCC_IRQHandler - 0x0000000000000440 TIM1_TRG_COM_IRQHandler - 0x0000000000000440 DMA1_Channel1_IRQHandler - 0x0000000000000440 ADC_IRQHandler - 0x0000000000000440 DMA1_Channel8_IRQHandler - 0x0000000000000440 EXTI9_5_IRQHandler - 0x0000000000000440 SPI2_IRQHandler - 0x0000000000000440 DMA1_Channel5_IRQHandler - 0x0000000000000440 EXTI4_IRQHandler - 0x0000000000000440 USB_LP_CAN1_RX0_IRQHandler - 0x0000000000000440 USB_HP_CAN1_TX_IRQHandler - 0x0000000000000440 CMPWakeUp_IRQHandler - 0x0000000000000440 DMA1_Channel3_IRQHandler - 0x0000000000000440 LPTIMWakeUp_IRQHandler - 0x0000000000000440 WWDG_IRQHandler - 0x0000000000000440 Ecall_U_Mode_Handler - 0x0000000000000440 SW_Handler - 0x0000000000000440 TIM1_BRK_IRQHandler - 0x0000000000000440 OPA_IRQHandler - 0x0000000000000440 EXTI1_IRQHandler - 0x0000000000000440 RTCAlarm_IRQHandler - 0x0000000000000440 USART2_IRQHandler - 0x0000000000000440 I2C2_ER_IRQHandler - 0x0000000000000440 DMA1_Channel2_IRQHandler - 0x0000000000000440 CAN1_SCE_IRQHandler - 0x0000000000000440 FLASH_IRQHandler - 0x0000000000000440 USBFSWakeUp_IRQHandler - 0x0000000000000440 USART1_IRQHandler - 0x0000000000000440 I2C1_ER_IRQHandler - 0x0000000000000440 TKeyWakeUp_IRQHandler + 0x0000000000000434 0x2 ./Startup/startup_ch32l103.o + 0x0000000000000434 TIM1_CC_IRQHandler + 0x0000000000000434 USBPD_IRQHandler + 0x0000000000000434 PVD_IRQHandler + 0x0000000000000434 EXTI3_IRQHandler + 0x0000000000000434 USBFS_IRQHandler + 0x0000000000000434 EXTI0_IRQHandler + 0x0000000000000434 I2C2_EV_IRQHandler + 0x0000000000000434 LPTIM_IRQHandler + 0x0000000000000434 Break_Point_Handler + 0x0000000000000434 SPI1_IRQHandler + 0x0000000000000434 TAMPER_IRQHandler + 0x0000000000000434 Ecall_M_Mode_Handler + 0x0000000000000434 DMA1_Channel4_IRQHandler + 0x0000000000000434 RTC_IRQHandler + 0x0000000000000434 DMA1_Channel7_IRQHandler + 0x0000000000000434 CAN1_RX1_IRQHandler + 0x0000000000000434 USBPDWakeUp_IRQHandler + 0x0000000000000434 TIM4_IRQHandler + 0x0000000000000434 I2C1_EV_IRQHandler + 0x0000000000000434 DMA1_Channel6_IRQHandler + 0x0000000000000434 RCC_IRQHandler + 0x0000000000000434 TIM1_TRG_COM_IRQHandler + 0x0000000000000434 DMA1_Channel1_IRQHandler + 0x0000000000000434 ADC_IRQHandler + 0x0000000000000434 DMA1_Channel8_IRQHandler + 0x0000000000000434 EXTI9_5_IRQHandler + 0x0000000000000434 SPI2_IRQHandler + 0x0000000000000434 DMA1_Channel5_IRQHandler + 0x0000000000000434 EXTI4_IRQHandler + 0x0000000000000434 USB_LP_CAN1_RX0_IRQHandler + 0x0000000000000434 USB_HP_CAN1_TX_IRQHandler + 0x0000000000000434 CMPWakeUp_IRQHandler + 0x0000000000000434 DMA1_Channel3_IRQHandler + 0x0000000000000434 LPTIMWakeUp_IRQHandler + 0x0000000000000434 WWDG_IRQHandler + 0x0000000000000434 Ecall_U_Mode_Handler + 0x0000000000000434 SW_Handler + 0x0000000000000434 TIM1_BRK_IRQHandler + 0x0000000000000434 OPA_IRQHandler + 0x0000000000000434 EXTI1_IRQHandler + 0x0000000000000434 RTCAlarm_IRQHandler + 0x0000000000000434 USART2_IRQHandler + 0x0000000000000434 I2C2_ER_IRQHandler + 0x0000000000000434 DMA1_Channel2_IRQHandler + 0x0000000000000434 CAN1_SCE_IRQHandler + 0x0000000000000434 FLASH_IRQHandler + 0x0000000000000434 USBFSWakeUp_IRQHandler + 0x0000000000000434 USART1_IRQHandler + 0x0000000000000434 I2C1_ER_IRQHandler + 0x0000000000000434 TKeyWakeUp_IRQHandler .text.handle_reset - 0x0000000000000442 0x8a ./Startup/startup_ch32l103.o - 0x0000000000000442 handle_reset - .text.ADC_DeInit - 0x00000000000004cc 0x28 ./Peripheral/src/ch32l103_adc.o - 0x00000000000004cc ADC_DeInit - .text.ADC_Init - 0x00000000000004f4 0x56 ./Peripheral/src/ch32l103_adc.o - 0x00000000000004f4 ADC_Init - .text.ADC_Cmd 0x000000000000054a 0x10 ./Peripheral/src/ch32l103_adc.o - 0x000000000000054a ADC_Cmd - .text.ADC_ResetCalibration - 0x000000000000055a 0xa ./Peripheral/src/ch32l103_adc.o - 0x000000000000055a ADC_ResetCalibration - .text.ADC_GetResetCalibrationStatus - 0x0000000000000564 0x8 ./Peripheral/src/ch32l103_adc.o - 0x0000000000000564 ADC_GetResetCalibrationStatus - .text.ADC_StartCalibration - 0x000000000000056c 0xa ./Peripheral/src/ch32l103_adc.o - 0x000000000000056c ADC_StartCalibration - .text.ADC_GetCalibrationStatus - 0x0000000000000576 0x8 ./Peripheral/src/ch32l103_adc.o - 0x0000000000000576 ADC_GetCalibrationStatus - .text.ADC_SoftwareStartConvCmd - 0x000000000000057e 0x18 ./Peripheral/src/ch32l103_adc.o - 0x000000000000057e ADC_SoftwareStartConvCmd - .text.ADC_RegularChannelConfig - 0x0000000000000596 0xb8 ./Peripheral/src/ch32l103_adc.o - 0x0000000000000596 ADC_RegularChannelConfig - .text.ADC_GetConversionValue - 0x000000000000064e 0x8 ./Peripheral/src/ch32l103_adc.o - 0x000000000000064e ADC_GetConversionValue - .text.ADC_GetFlagStatus - 0x0000000000000656 0xa ./Peripheral/src/ch32l103_adc.o - 0x0000000000000656 ADC_GetFlagStatus - .text.ADC_BufferCmd - 0x0000000000000660 0x18 ./Peripheral/src/ch32l103_adc.o - 0x0000000000000660 ADC_BufferCmd - .text.ADC_DutyDelayCmd - 0x0000000000000678 0x12 ./Peripheral/src/ch32l103_adc.o - 0x0000000000000678 ADC_DutyDelayCmd - .text.ADC_FIFO_Cmd - 0x000000000000068a 0x12 ./Peripheral/src/ch32l103_adc.o - 0x000000000000068a ADC_FIFO_Cmd - .text.ADC_Sample_ModeConfig - 0x000000000000069c 0x10 ./Peripheral/src/ch32l103_adc.o - 0x000000000000069c ADC_Sample_ModeConfig - .text.Get_CalibrationValue - 0x00000000000006ac 0x1d4 ./Peripheral/src/ch32l103_adc.o - 0x00000000000006ac Get_CalibrationValue + 0x0000000000000436 0x86 ./Startup/startup_ch32l103.o + 0x0000000000000436 handle_reset .text.DBGMCU_GetCHIPID - 0x0000000000000880 0x6 ./Peripheral/src/ch32l103_dbgmcu.o - 0x0000000000000880 DBGMCU_GetCHIPID - .text.EXTI_Init - 0x0000000000000886 0x6a ./Peripheral/src/ch32l103_exti.o - 0x0000000000000886 EXTI_Init + 0x00000000000004bc 0x6 ./Peripheral/src/ch32l103_dbgmcu.o + 0x00000000000004bc DBGMCU_GetCHIPID .text.EXTI_GetITStatus - 0x00000000000008f0 0x1e ./Peripheral/src/ch32l103_exti.o - 0x00000000000008f0 EXTI_GetITStatus + 0x00000000000004c2 0x1e ./Peripheral/src/ch32l103_exti.o + 0x00000000000004c2 EXTI_GetITStatus .text.EXTI_ClearITPendingBit - 0x000000000000090e 0xa ./Peripheral/src/ch32l103_exti.o - 0x000000000000090e EXTI_ClearITPendingBit + 0x00000000000004e0 0xa ./Peripheral/src/ch32l103_exti.o + 0x00000000000004e0 EXTI_ClearITPendingBit .text.GPIO_Init - 0x0000000000000918 0xc0 ./Peripheral/src/ch32l103_gpio.o - 0x0000000000000918 GPIO_Init - .text.GPIO_ReadInputDataBit - 0x00000000000009d8 0xa ./Peripheral/src/ch32l103_gpio.o - 0x00000000000009d8 GPIO_ReadInputDataBit - .text.GPIO_ReadOutputDataBit - 0x00000000000009e2 0xa ./Peripheral/src/ch32l103_gpio.o - 0x00000000000009e2 GPIO_ReadOutputDataBit - .text.GPIO_SetBits - 0x00000000000009ec 0x4 ./Peripheral/src/ch32l103_gpio.o - 0x00000000000009ec GPIO_SetBits - .text.GPIO_WriteBit - 0x00000000000009f0 0xa ./Peripheral/src/ch32l103_gpio.o - 0x00000000000009f0 GPIO_WriteBit + 0x00000000000004ea 0xc0 ./Peripheral/src/ch32l103_gpio.o + 0x00000000000004ea GPIO_Init .text.GPIO_PinRemapConfig - 0x00000000000009fa 0x12c ./Peripheral/src/ch32l103_gpio.o - 0x00000000000009fa GPIO_PinRemapConfig - .text.GPIO_EXTILineConfig - 0x0000000000000b26 0x2c ./Peripheral/src/ch32l103_gpio.o - 0x0000000000000b26 GPIO_EXTILineConfig + 0x00000000000005aa 0x12c ./Peripheral/src/ch32l103_gpio.o + 0x00000000000005aa GPIO_PinRemapConfig .text.GPIO_IPD_Unused - 0x0000000000000b52 0x190 ./Peripheral/src/ch32l103_gpio.o - 0x0000000000000b52 GPIO_IPD_Unused + 0x00000000000006d6 0x18e ./Peripheral/src/ch32l103_gpio.o + 0x00000000000006d6 GPIO_IPD_Unused .text.NVIC_PriorityGroupConfig - 0x0000000000000ce2 0x6 ./Peripheral/src/ch32l103_misc.o - 0x0000000000000ce2 NVIC_PriorityGroupConfig - .text.NVIC_Init - 0x0000000000000ce8 0x54 ./Peripheral/src/ch32l103_misc.o - 0x0000000000000ce8 NVIC_Init - .text.RCC_ADCCLKConfig - 0x0000000000000d3c 0x14 ./Peripheral/src/ch32l103_rcc.o - 0x0000000000000d3c RCC_ADCCLKConfig + 0x0000000000000864 0x6 ./Peripheral/src/ch32l103_misc.o + 0x0000000000000864 NVIC_PriorityGroupConfig .text.RCC_GetClocksFreq - 0x0000000000000d50 0xd6 ./Peripheral/src/ch32l103_rcc.o - 0x0000000000000d50 RCC_GetClocksFreq + 0x000000000000086a 0xd6 ./Peripheral/src/ch32l103_rcc.o + 0x000000000000086a RCC_GetClocksFreq .text.RCC_PB2PeriphClockCmd - 0x0000000000000e26 0x1e ./Peripheral/src/ch32l103_rcc.o - 0x0000000000000e26 RCC_PB2PeriphClockCmd - .text.RCC_PB1PeriphClockCmd - 0x0000000000000e44 0x1e ./Peripheral/src/ch32l103_rcc.o - 0x0000000000000e44 RCC_PB1PeriphClockCmd - .text.RCC_PB2PeriphResetCmd - 0x0000000000000e62 0x1e ./Peripheral/src/ch32l103_rcc.o - 0x0000000000000e62 RCC_PB2PeriphResetCmd - .text.SPI_Init - 0x0000000000000e80 0x32 ./Peripheral/src/ch32l103_spi.o - 0x0000000000000e80 SPI_Init - .text.SPI_Cmd 0x0000000000000eb2 0x1a ./Peripheral/src/ch32l103_spi.o - 0x0000000000000eb2 SPI_Cmd - .text.SPI_I2S_SendData - 0x0000000000000ecc 0x4 ./Peripheral/src/ch32l103_spi.o - 0x0000000000000ecc SPI_I2S_SendData - .text.SPI_I2S_ReceiveData - 0x0000000000000ed0 0x4 ./Peripheral/src/ch32l103_spi.o - 0x0000000000000ed0 SPI_I2S_ReceiveData - .text.SPI_I2S_GetFlagStatus - 0x0000000000000ed4 0xa ./Peripheral/src/ch32l103_spi.o - 0x0000000000000ed4 SPI_I2S_GetFlagStatus - .text.TIM_TimeBaseInit - 0x0000000000000ede 0x76 ./Peripheral/src/ch32l103_tim.o - 0x0000000000000ede TIM_TimeBaseInit - .text.TIM_OC4Init - 0x0000000000000f54 0x7c ./Peripheral/src/ch32l103_tim.o - 0x0000000000000f54 TIM_OC4Init - .text.TIM_Cmd 0x0000000000000fd0 0x18 ./Peripheral/src/ch32l103_tim.o - 0x0000000000000fd0 TIM_Cmd - .text.TIM_CtrlPWMOutputs - 0x0000000000000fe8 0x16 ./Peripheral/src/ch32l103_tim.o - 0x0000000000000fe8 TIM_CtrlPWMOutputs - .text.TIM_ITConfig - 0x0000000000000ffe 0x12 ./Peripheral/src/ch32l103_tim.o - 0x0000000000000ffe TIM_ITConfig - .text.TIM_ARRPreloadConfig - 0x0000000000001010 0x1a ./Peripheral/src/ch32l103_tim.o - 0x0000000000001010 TIM_ARRPreloadConfig - .text.TIM_OC4PreloadConfig - 0x000000000000102a 0x16 ./Peripheral/src/ch32l103_tim.o - 0x000000000000102a TIM_OC4PreloadConfig - .text.TIM_SetCompare4 - 0x0000000000001040 0x16 ./Peripheral/src/ch32l103_tim.o - 0x0000000000001040 TIM_SetCompare4 - .text.TIM_GetCounter - 0x0000000000001056 0x18 ./Peripheral/src/ch32l103_tim.o - 0x0000000000001056 TIM_GetCounter + 0x0000000000000940 0x1e ./Peripheral/src/ch32l103_rcc.o + 0x0000000000000940 RCC_PB2PeriphClockCmd .text.TIM_GetITStatus - 0x000000000000106e 0x18 ./Peripheral/src/ch32l103_tim.o - 0x000000000000106e TIM_GetITStatus + 0x000000000000095e 0x18 ./Peripheral/src/ch32l103_tim.o + 0x000000000000095e TIM_GetITStatus .text.TIM_ClearITPendingBit - 0x0000000000001086 0xc ./Peripheral/src/ch32l103_tim.o - 0x0000000000001086 TIM_ClearITPendingBit + 0x0000000000000976 0xc ./Peripheral/src/ch32l103_tim.o + 0x0000000000000976 TIM_ClearITPendingBit .text.USART_Init - 0x0000000000001092 0xba ./Peripheral/src/ch32l103_usart.o - 0x0000000000001092 USART_Init + 0x0000000000000982 0xba ./Peripheral/src/ch32l103_usart.o + 0x0000000000000982 USART_Init .text.USART_Cmd - 0x000000000000114c 0x16 ./Peripheral/src/ch32l103_usart.o - 0x000000000000114c USART_Cmd - .text.USART_ITConfig - 0x0000000000001162 0x36 ./Peripheral/src/ch32l103_usart.o - 0x0000000000001162 USART_ITConfig + 0x0000000000000a3c 0x16 ./Peripheral/src/ch32l103_usart.o + 0x0000000000000a3c USART_Cmd .text.USART_SendData - 0x0000000000001198 0x8 ./Peripheral/src/ch32l103_usart.o - 0x0000000000001198 USART_SendData + 0x0000000000000a52 0x8 ./Peripheral/src/ch32l103_usart.o + 0x0000000000000a52 USART_SendData .text.USART_ReceiveData - 0x00000000000011a0 0x8 ./Peripheral/src/ch32l103_usart.o - 0x00000000000011a0 USART_ReceiveData + 0x0000000000000a5a 0x8 ./Peripheral/src/ch32l103_usart.o + 0x0000000000000a5a USART_ReceiveData .text.USART_GetFlagStatus - 0x00000000000011a8 0xa ./Peripheral/src/ch32l103_usart.o - 0x00000000000011a8 USART_GetFlagStatus + 0x0000000000000a62 0xa ./Peripheral/src/ch32l103_usart.o + 0x0000000000000a62 USART_GetFlagStatus .text.USART_GetITStatus - 0x00000000000011b2 0x3c ./Peripheral/src/ch32l103_usart.o - 0x00000000000011b2 USART_GetITStatus - .text.ADC_all_Init - 0x00000000000011ee 0xf0 ./Hardware/src/adc.o - 0x00000000000011ee ADC_all_Init - .text.SPI_Flash_Init - 0x00000000000012de 0xa4 ./Hardware/src/flash.o - 0x00000000000012de SPI_Flash_Init - .text.SPI_ReadWriteByte - 0x0000000000001382 0x5a ./Hardware/src/flash.o - 0x0000000000001382 SPI_ReadWriteByte - .text.SPI_Flash_ReadSR - 0x00000000000013dc 0x32 ./Hardware/src/flash.o - 0x00000000000013dc SPI_Flash_ReadSR - .text.SPI_Flash_Wait_Busy - 0x000000000000140e 0xe ./Hardware/src/flash.o - 0x000000000000140e SPI_Flash_Wait_Busy - .text.SPI_FLASH_Write_Enable - 0x000000000000141c 0x28 ./Hardware/src/flash.o - 0x000000000000141c SPI_FLASH_Write_Enable - .text.SPI_Flash_Erase_Sector - 0x0000000000001444 0x4c ./Hardware/src/flash.o - 0x0000000000001444 SPI_Flash_Erase_Sector - .text.SPI_Flash_Read - 0x0000000000001490 0x68 ./Hardware/src/flash.o - 0x0000000000001490 SPI_Flash_Read - .text.SPI_Flash_Write_Page - 0x00000000000014f8 0x68 ./Hardware/src/flash.o - 0x00000000000014f8 SPI_Flash_Write_Page - .text.SPI_Flash_Write_NoCheck - 0x0000000000001560 0x52 ./Hardware/src/flash.o - 0x0000000000001560 SPI_Flash_Write_NoCheck - .text.SPI_Flash_Write - 0x00000000000015b2 0xbe ./Hardware/src/flash.o - 0x00000000000015b2 SPI_Flash_Write - .text.RUN_LED_Init - 0x0000000000001670 0x30 ./Hardware/src/gpio.o - 0x0000000000001670 RUN_LED_Init - .text.WDI_INPUT_Init - 0x00000000000016a0 0x32 ./Hardware/src/gpio.o - 0x00000000000016a0 WDI_INPUT_Init - .text.POW_OUT_CON_Init - 0x00000000000016d2 0x3e ./Hardware/src/gpio.o - 0x00000000000016d2 POW_OUT_CON_Init - .text.DSG_PROT_Init - 0x0000000000001710 0x5a ./Hardware/src/gpio.o - 0x0000000000001710 DSG_PROT_Init + 0x0000000000000a6c 0x3c ./Peripheral/src/ch32l103_usart.o + 0x0000000000000a6c USART_GetITStatus .text.EXTI2_IRQHandler - 0x000000000000176a 0x42 ./Hardware/src/gpio.o - 0x000000000000176a EXTI2_IRQHandler - .text.WORK_VOLT_INT_Init - 0x00000000000017ac 0x5a ./Hardware/src/gpio.o - 0x00000000000017ac WORK_VOLT_INT_Init + 0x0000000000000aa8 0x12 ./Hardware/src/gpio.o + 0x0000000000000aa8 EXTI2_IRQHandler .text.EXTI15_10_IRQHandler - 0x0000000000001806 0x38 ./Hardware/src/gpio.o - 0x0000000000001806 EXTI15_10_IRQHandler - .text.PWM_GPIO_Configuration - 0x000000000000183e 0x48 ./Hardware/src/pwm.o - 0x000000000000183e PWM_GPIO_Configuration - .text.PWM_TIM_Configuration - 0x0000000000001886 0x6c ./Hardware/src/pwm.o - 0x0000000000001886 PWM_TIM_Configuration - .text.Set_duty_ratio - 0x00000000000018f2 0x86 ./Hardware/src/pwm.o - 0x00000000000018f2 Set_duty_ratio - .text.GW_485_Init - 0x0000000000001978 0xb2 ./Hardware/src/rs485.o - 0x0000000000001978 GW_485_Init - .text.BAT_485_Init - 0x0000000000001a2a 0xbe ./Hardware/src/rs485.o - 0x0000000000001a2a BAT_485_Init - .text.USARTx_SendByte - 0x0000000000001ae8 0x1a ./Hardware/src/rs485.o - 0x0000000000001ae8 USARTx_SendByte + 0x0000000000000aba 0x8 ./Hardware/src/gpio.o + 0x0000000000000aba EXTI15_10_IRQHandler .text.USART3_IRQHandler - 0x0000000000001b02 0x46 ./Hardware/src/rs485.o - 0x0000000000001b02 USART3_IRQHandler + 0x0000000000000ac2 0x42 ./Hardware/src/rs485.o + 0x0000000000000ac2 USART3_IRQHandler .text.USART4_IRQHandler - 0x0000000000001b48 0x46 ./Hardware/src/rs485.o - 0x0000000000001b48 USART4_IRQHandler - .text.TIM3_Int_Init - 0x0000000000001b8e 0x5c ./Hardware/src/tim.o - 0x0000000000001b8e TIM3_Int_Init - .text.TIM3_Init - 0x0000000000001bea 0x28 ./Hardware/src/tim.o - 0x0000000000001bea TIM3_Init + 0x0000000000000b04 0x42 ./Hardware/src/rs485.o + 0x0000000000000b04 USART4_IRQHandler .text.TIM3_IRQHandler - 0x0000000000001c12 0x2a ./Hardware/src/tim.o - 0x0000000000001c12 TIM3_IRQHandler - .text.TIM2_Int_Init - 0x0000000000001c3c 0x58 ./Hardware/src/tim.o - 0x0000000000001c3c TIM2_Int_Init - .text.TIM2_Init - 0x0000000000001c94 0x2e ./Hardware/src/tim.o - 0x0000000000001c94 TIM2_Init + 0x0000000000000b46 0x22 ./Hardware/src/tim.o + 0x0000000000000b46 TIM3_IRQHandler .text.TIM2_IRQHandler - 0x0000000000001cc2 0x1c ./Hardware/src/tim.o - 0x0000000000001cc2 TIM2_IRQHandler + 0x0000000000000b68 0x18 ./Hardware/src/tim.o + 0x0000000000000b68 TIM2_IRQHandler .text.SysTick_Handler - 0x0000000000001cde 0xe ./Hardware/src/tim.o - 0x0000000000001cde SysTick_Handler + 0x0000000000000b80 0xe ./Hardware/src/tim.o + 0x0000000000000b80 SysTick_Handler .text.TIM1_UP_IRQHandler - 0x0000000000001cec 0x32 ./Hardware/src/tim.o - 0x0000000000001cec TIM1_UP_IRQHandler - .text.TimeSliceOffset_Register - 0x0000000000001d1e 0x3e ./Drivers/TimeSliceOffset/timeSliceOffset.o - 0x0000000000001d1e TimeSliceOffset_Register - .text.TimeSliceOffset_Unregister - 0x0000000000001d5c 0x2e ./Drivers/TimeSliceOffset/timeSliceOffset.o - 0x0000000000001d5c TimeSliceOffset_Unregister - .text.TimeSliceOffset_Start - 0x0000000000001d8a 0x22 ./Drivers/TimeSliceOffset/timeSliceOffset.o - 0x0000000000001d8a TimeSliceOffset_Start + 0x0000000000000b8e 0x2c ./Hardware/src/tim.o + 0x0000000000000b8e TIM1_UP_IRQHandler .text.TimeSliceOffset_Produce - 0x0000000000001dac 0x28 ./Drivers/TimeSliceOffset/timeSliceOffset.o - 0x0000000000001dac TimeSliceOffset_Produce - .text.InitRingQueue - 0x0000000000001dd4 0x10 ./Drivers/RingQueue/ring_queue.o - 0x0000000000001dd4 InitRingQueue + 0x0000000000000bba 0x28 ./Drivers/TimeSliceOffset/timeSliceOffset.o + 0x0000000000000bba TimeSliceOffset_Produce .text.InRingQueue - 0x0000000000001de4 0x2c ./Drivers/RingQueue/ring_queue.o - 0x0000000000001de4 InRingQueue - .text.OutRingQueue - 0x0000000000001e10 0x26 ./Drivers/RingQueue/ring_queue.o - 0x0000000000001e10 OutRingQueue - .text.RingQueueLength - 0x0000000000001e36 0x10 ./Drivers/RingQueue/ring_queue.o - 0x0000000000001e36 RingQueueLength + 0x0000000000000be2 0x2c ./Drivers/RingQueue/ring_queue.o + 0x0000000000000be2 InRingQueue .text.Delay_Init - 0x0000000000001e46 0x20 ./Debug/debug.o - 0x0000000000001e46 Delay_Init - .text.Delay_Ms - 0x0000000000001e66 0x36 ./Debug/debug.o - 0x0000000000001e66 Delay_Ms + 0x0000000000000c0e 0x20 ./Debug/debug.o + 0x0000000000000c0e Delay_Init .text.USART_Printf_Init - 0x0000000000001e9c 0x5a ./Debug/debug.o - 0x0000000000001e9c USART_Printf_Init - .text._write 0x0000000000001ef6 0x3e ./Debug/debug.o - 0x0000000000001ef6 _write - .text._sbrk 0x0000000000001f34 0x2a ./Debug/debug.o - 0x0000000000001f34 _sbrk - .text.Get_ConversionVal - 0x0000000000001f5e 0x2a ./App/src/collect_Conversion.o - 0x0000000000001f5e Get_ConversionVal - .text.middleAverageFilter - 0x0000000000001f88 0x92 ./App/src/collect_Conversion.o - .text.get_CHG_CURR - 0x000000000000201a 0x44 ./App/src/collect_Conversion.o - 0x000000000000201a get_CHG_CURR - .text.get_PV_VOLT_OUT - 0x000000000000205e 0x44 ./App/src/collect_Conversion.o - 0x000000000000205e get_PV_VOLT_OUT - .text.get_DSG_CURR - 0x00000000000020a2 0x44 ./App/src/collect_Conversion.o - 0x00000000000020a2 get_DSG_CURR - .text.get_PV1_VOLT_IN - 0x00000000000020e6 0x44 ./App/src/collect_Conversion.o - 0x00000000000020e6 get_PV1_VOLT_IN - .text.get_MOSFET_Temper - 0x000000000000212a 0x56 ./App/src/collect_Conversion.o - 0x000000000000212a get_MOSFET_Temper - .text.save_config_info - 0x0000000000002180 0x12 ./App/src/inflash.o - 0x0000000000002180 save_config_info - .text.read_config_info - 0x0000000000002192 0x86 ./App/src/inflash.o - 0x0000000000002192 read_config_info - .text.read_config_info1 - 0x0000000000002218 0x7e ./App/src/inflash.o - 0x0000000000002218 read_config_info1 - .text.mppt_constantVoltage - 0x0000000000002296 0x6a ./App/src/mppt_control.o - 0x0000000000002296 mppt_constantVoltage - .text.mppt_constantVoltageO - 0x0000000000002300 0x66 ./App/src/mppt_control.o - 0x0000000000002300 mppt_constantVoltageO - .text.mppt_constantCurrentO - 0x0000000000002366 0x66 ./App/src/mppt_control.o - 0x0000000000002366 mppt_constantCurrentO - .text.MpptContorl - 0x00000000000023cc 0xf0 ./App/src/mppt_control.o - 0x00000000000023cc MpptContorl - .text.MpptMode - 0x00000000000024bc 0x2ba ./App/src/mppt_control.o - 0x00000000000024bc MpptMode - .text.test 0x0000000000002776 0x19e ./App/src/mppt_control.o - 0x0000000000002776 test - .text.SL_ReadRegisterMPPTMode - 0x0000000000002914 0x2e ./App/src/sl_protocol.o - .text.SL_ReadRegisterDischargMosState - 0x0000000000002942 0x28 ./App/src/sl_protocol.o - .text.SL_ReadRegisterHighSideMosTemperature - 0x000000000000296a 0x42 ./App/src/sl_protocol.o - .text.SL_ReadRegisterSolarOpenCircuitVoltage - 0x00000000000029ac 0x42 ./App/src/sl_protocol.o - .text.SL_ReadRegisterDischargCurrent - 0x00000000000029ee 0x40 ./App/src/sl_protocol.o - .text.SL_ReadRegisterChargCurrent - 0x0000000000002a2e 0x40 ./App/src/sl_protocol.o - .text.SL_ReadRegisterBatteryVoltage - 0x0000000000002a6e 0x40 ./App/src/sl_protocol.o - .text.SL_MsgProcFunc_Registration_request - 0x0000000000002aae 0x60 ./App/src/sl_protocol.o - .text.SL_MsgProcFunc_Broadcast_Scan - 0x0000000000002b0e 0x38 ./App/src/sl_protocol.o - .text.SL_MsgProcFunc_Write_Register - 0x0000000000002b46 0x56 ./App/src/sl_protocol.o - .text.CheckFunc - 0x0000000000002b9c 0x3e ./App/src/sl_protocol.o - 0x0000000000002b9c CheckFunc - .text.randomDelay - 0x0000000000002bda 0x2c ./App/src/sl_protocol.o - 0x0000000000002bda randomDelay - .text.Check_485_bus_busy - 0x0000000000002c06 0x7a ./App/src/sl_protocol.o - 0x0000000000002c06 Check_485_bus_busy - .text.SL_MsgProcFunc_Remote_Upgrade - 0x0000000000002c80 0x9e ./App/src/sl_protocol.o - .text.SL_MsgProcFunc_Update_Profile - 0x0000000000002d1e 0x9e ./App/src/sl_protocol.o - .text.SL_MsgProcFunc_Read_Register - 0x0000000000002dbc 0x194 ./App/src/sl_protocol.o - .text.read_and_process_uart_data - 0x0000000000002f50 0x2f0 ./App/src/sl_protocol.o - 0x0000000000002f50 read_and_process_uart_data - .text.Task_RunLED - 0x0000000000003240 0x3d0 ./App/src/task.o - 0x0000000000003240 Task_RunLED - .text.Task_wdi - 0x0000000000003610 0x52 ./App/src/task.o - 0x0000000000003610 Task_wdi - .text.Task_usart - 0x0000000000003662 0x10 ./App/src/task.o - 0x0000000000003662 Task_usart - .text.Task_startMpptControl - 0x0000000000003672 0xe8 ./App/src/task.o - 0x0000000000003672 Task_startMpptControl - .text.stop_mpptWork - 0x000000000000375a 0x30 ./App/src/task.o - 0x000000000000375a stop_mpptWork - .text.Task_refreshRegister - 0x000000000000378a 0x33c ./App/src/task.o - 0x000000000000378a Task_refreshRegister - .text.start_mpptWork - 0x0000000000003ac6 0x28 ./App/src/task.o - 0x0000000000003ac6 start_mpptWork - .text.Task_softStart - 0x0000000000003aee 0x134 ./App/src/task.o - 0x0000000000003aee Task_softStart - .text.Task_impedanceCalculation - 0x0000000000003c22 0x152 ./App/src/task.o - 0x0000000000003c22 Task_impedanceCalculation - .text.Task_recvbroadcast - 0x0000000000003d74 0x15c ./App/src/task.o - 0x0000000000003d74 Task_recvbroadcast - .text.Task_outputAgain - 0x0000000000003ed0 0x6a ./App/src/task.o - 0x0000000000003ed0 Task_outputAgain - .text.Task_excessiveLoad - 0x0000000000003f3a 0xe4 ./App/src/task.o - 0x0000000000003f3a Task_excessiveLoad - .text.Task_sensorEnableBroadcast - 0x000000000000401e 0x50 ./App/src/task.o - 0x000000000000401e Task_sensorEnableBroadcast - .text.g_Mppt_Para_Init - 0x000000000000406e 0x1ca ./App/src/task.o - 0x000000000000406e g_Mppt_Para_Init - .text.task_Init - 0x0000000000004238 0x98 ./App/src/task.o - 0x0000000000004238 task_Init - .text.hardware_Init - 0x00000000000042d0 0x36 ./App/src/task.o - 0x00000000000042d0 hardware_Init - .text.uart_putchar - 0x0000000000004306 0x46 ./App/src/uart_dev.o - .text.uart_dev_init - 0x000000000000434c 0x5a ./App/src/uart_dev.o - 0x000000000000434c uart_dev_init - .text.bat485_tx_enabla - 0x00000000000043a6 0x1a ./App/src/uart_dev.o - 0x00000000000043a6 bat485_tx_enabla - .text.bat485_tx_disenabla - 0x00000000000043c0 0x1a ./App/src/uart_dev.o - 0x00000000000043c0 bat485_tx_disenabla - .text.gw485_tx_enabla - 0x00000000000043da 0x18 ./App/src/uart_dev.o - 0x00000000000043da gw485_tx_enabla - .text.gw485_tx_disenabla - 0x00000000000043f2 0x18 ./App/src/uart_dev.o - 0x00000000000043f2 gw485_tx_disenabla - .text.uart_dev_write - 0x000000000000440a 0x62 ./App/src/uart_dev.o - 0x000000000000440a uart_dev_write - .text.uart_dev_char_present - 0x000000000000446c 0x18 ./App/src/uart_dev.o - 0x000000000000446c uart_dev_char_present - .text.uart_dev_in_char - 0x0000000000004484 0x28 ./App/src/uart_dev.o - 0x0000000000004484 uart_dev_in_char - .text.ring_queue_length - 0x00000000000044ac 0xe ./App/src/uart_dev.o - 0x00000000000044ac ring_queue_length - .text.__adddf3 - 0x00000000000044ba 0x730 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(adddf3.o) - 0x00000000000044ba __adddf3 - .text.__gedf2 0x0000000000004bea 0xae d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(gedf2.o) - 0x0000000000004bea __gedf2 - 0x0000000000004bea __gtdf2 - .text.__ledf2 0x0000000000004c98 0xb6 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(ledf2.o) - 0x0000000000004c98 __ledf2 - 0x0000000000004c98 __ltdf2 - .text.__muldf3 - 0x0000000000004d4e 0x4b8 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(muldf3.o) - 0x0000000000004d4e __muldf3 - .text.__subdf3 - 0x0000000000005206 0x73e d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(subdf3.o) - 0x0000000000005206 __subdf3 - .text.__floatsidf - 0x0000000000005944 0x72 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(floatsidf.o) - 0x0000000000005944 __floatsidf - .text.__addsf3 - 0x00000000000059b6 0x36a d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(addsf3.o) - 0x00000000000059b6 __addsf3 - .text.__divsf3 - 0x0000000000005d20 0x2b2 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(divsf3.o) - 0x0000000000005d20 __divsf3 - .text.__eqsf2 0x0000000000005fd2 0x5c d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(eqsf2.o) - 0x0000000000005fd2 __eqsf2 - 0x0000000000005fd2 __nesf2 - .text.__gesf2 0x000000000000602e 0x86 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(gesf2.o) - 0x000000000000602e __gesf2 - 0x000000000000602e __gtsf2 - .text.__lesf2 0x00000000000060b4 0x8c d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(lesf2.o) - 0x00000000000060b4 __ltsf2 - 0x00000000000060b4 __lesf2 - .text.__mulsf3 - 0x0000000000006140 0x294 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(mulsf3.o) - 0x0000000000006140 __mulsf3 - .text.__subsf3 - 0x00000000000063d4 0x388 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(subsf3.o) - 0x00000000000063d4 __subsf3 - .text.__fixsfsi - 0x000000000000675c 0x62 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(fixsfsi.o) - 0x000000000000675c __fixsfsi - .text.__fixunssfsi - 0x00000000000067be 0x56 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(fixunssfsi.o) - 0x00000000000067be __fixunssfsi - .text.__floatsisf - 0x0000000000006814 0xc6 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(floatsisf.o) - 0x0000000000006814 __floatsisf - .text.__floatunsisf - 0x00000000000068da 0xce d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(floatunsisf.o) - 0x00000000000068da __floatunsisf - .text.__extendsfdf2 - 0x00000000000069a8 0xac d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(extendsfdf2.o) - 0x00000000000069a8 __extendsfdf2 - .text.__truncdfsf2 - 0x0000000000006a54 0x16a d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(truncdfsf2.o) - 0x0000000000006a54 __truncdfsf2 - .text.__clzsi2 - 0x0000000000006bbe 0x6e d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(_clzsi2.o) - 0x0000000000006bbe __clzsi2 - .text.memcpy 0x0000000000006c2c 0xb2 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-memcpy.o) - 0x0000000000006c2c memcpy - .text.printf 0x0000000000006cde 0x40 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-printf.o) - 0x0000000000006cde iprintf - 0x0000000000006cde printf - .text._puts_r 0x0000000000006d1e 0xd4 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-puts.o) - 0x0000000000006d1e _puts_r - .text.puts 0x0000000000006df2 0xc d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-puts.o) - 0x0000000000006df2 puts - .text.srand 0x0000000000006dfe 0x58 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-rand.o) - 0x0000000000006dfe srand - .text.rand 0x0000000000006e56 0x84 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-rand.o) - 0x0000000000006e56 rand - .text.sprintf 0x0000000000006eda 0x46 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-sprintf.o) - 0x0000000000006eda siprintf - 0x0000000000006eda sprintf + 0x0000000000000c2e 0x54 ./Debug/debug.o + 0x0000000000000c2e USART_Printf_Init + .text._write 0x0000000000000c82 0x3a ./Debug/debug.o + 0x0000000000000c82 _write + .text._sbrk 0x0000000000000cbc 0x26 ./Debug/debug.o + 0x0000000000000cbc _sbrk + .text.printf 0x0000000000000ce2 0x40 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-printf.o) + 0x0000000000000ce2 iprintf + 0x0000000000000ce2 printf + .text._puts_r 0x0000000000000d22 0xd4 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-puts.o) + 0x0000000000000d22 _puts_r + .text.puts 0x0000000000000df6 0xa d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-puts.o) + 0x0000000000000df6 puts .text.__swbuf_r - 0x0000000000006f20 0xbc d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-wbuf.o) - 0x0000000000006f20 __swbuf_r + 0x0000000000000e00 0xbc d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-wbuf.o) + 0x0000000000000e00 __swbuf_r .text.__swsetup_r - 0x0000000000006fdc 0xfc d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-wsetup.o) - 0x0000000000006fdc __swsetup_r + 0x0000000000000ebc 0xfc d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-wsetup.o) + 0x0000000000000ebc __swsetup_r .text.__sflush_r - 0x00000000000070d8 0x130 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-fflush.o) - 0x00000000000070d8 __sflush_r + 0x0000000000000fb8 0x130 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-fflush.o) + 0x0000000000000fb8 __sflush_r .text._fflush_r - 0x0000000000007208 0x66 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-fflush.o) - 0x0000000000007208 _fflush_r - .text.std 0x000000000000726e 0x66 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-findfp.o) + 0x00000000000010e8 0x64 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-fflush.o) + 0x00000000000010e8 _fflush_r + .text.std 0x000000000000114c 0x66 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-findfp.o) .text._cleanup_r - 0x00000000000072d4 0xa d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-findfp.o) - 0x00000000000072d4 _cleanup_r + 0x00000000000011b2 0xa d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-findfp.o) + 0x00000000000011b2 _cleanup_r .text.__sfmoreglue - 0x00000000000072de 0x46 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-findfp.o) - 0x00000000000072de __sfmoreglue - .text.__sinit 0x0000000000007324 0x6c d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-findfp.o) - 0x0000000000007324 __sinit - .text.__sfp 0x0000000000007390 0xa0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-findfp.o) - 0x0000000000007390 __sfp + 0x00000000000011bc 0x46 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-findfp.o) + 0x00000000000011bc __sfmoreglue + .text.__sinit 0x0000000000001202 0x66 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-findfp.o) + 0x0000000000001202 __sinit + .text.__sfp 0x0000000000001268 0x9c d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-findfp.o) + 0x0000000000001268 __sfp .text._fwalk_reent - 0x0000000000007430 0x6a d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-fwalk.o) - 0x0000000000007430 _fwalk_reent + 0x0000000000001304 0x6a d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-fwalk.o) + 0x0000000000001304 _fwalk_reent .text.__swhatbuf_r - 0x000000000000749a 0x58 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-makebuf.o) - 0x000000000000749a __swhatbuf_r + 0x000000000000136e 0x58 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-makebuf.o) + 0x000000000000136e __swhatbuf_r .text.__smakebuf_r - 0x00000000000074f2 0x92 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-makebuf.o) - 0x00000000000074f2 __smakebuf_r - .text.malloc 0x0000000000007584 0xa d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-malloc.o) - 0x0000000000007584 malloc - .text._free_r 0x000000000000758e 0xa8 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-freer.o) - 0x000000000000758e _free_r + 0x00000000000013c6 0x90 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-makebuf.o) + 0x00000000000013c6 __smakebuf_r + .text._free_r 0x0000000000001456 0xa8 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-freer.o) + 0x0000000000001456 _free_r .text._malloc_r - 0x0000000000007636 0xda d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-mallocr.o) - 0x0000000000007636 _malloc_r - .text.__ssputs_r - 0x0000000000007710 0xe4 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-svfprintf.o) - 0x0000000000007710 __ssputs_r - .text._svfprintf_r - 0x00000000000077f4 0x26a d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-svfprintf.o) - 0x00000000000077f4 _svfiprintf_r - 0x00000000000077f4 _svfprintf_r + 0x00000000000014fe 0xd4 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-mallocr.o) + 0x00000000000014fe _malloc_r .text.__sfputc_r - 0x0000000000007a5e 0x28 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-vfprintf.o) + 0x00000000000015d2 0x28 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-vfprintf.o) .text.__sfputs_r - 0x0000000000007a86 0x42 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-vfprintf.o) - 0x0000000000007a86 __sfputs_r + 0x00000000000015fa 0x40 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-vfprintf.o) + 0x00000000000015fa __sfputs_r .text._vfprintf_r - 0x0000000000007ac8 0x288 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-vfprintf.o) - 0x0000000000007ac8 _vfprintf_r - 0x0000000000007ac8 _vfiprintf_r + 0x000000000000163a 0x284 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-vfprintf.o) + 0x000000000000163a _vfprintf_r + 0x000000000000163a _vfiprintf_r .text._printf_common - 0x0000000000007d50 0x10c d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-vfprintf_i.o) - 0x0000000000007d50 _printf_common + 0x00000000000018be 0x10c d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-vfprintf_i.o) + 0x00000000000018be _printf_common .text._printf_i - 0x0000000000007e5c 0x2a2 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-vfprintf_i.o) - 0x0000000000007e5c _printf_i - .text._sbrk_r 0x00000000000080fe 0x32 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-sbrkr.o) - 0x00000000000080fe _sbrk_r - .text.__sread 0x0000000000008130 0x2c d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-stdio.o) - 0x0000000000008130 __sread + 0x00000000000019ca 0x2a0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-vfprintf_i.o) + 0x00000000000019ca _printf_i + .text._sbrk_r 0x0000000000001c6a 0x2a d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-sbrkr.o) + 0x0000000000001c6a _sbrk_r + .text.__sread 0x0000000000001c94 0x2c d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-stdio.o) + 0x0000000000001c94 __sread .text.__swrite - 0x000000000000815c 0x48 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-stdio.o) - 0x000000000000815c __swrite - .text.__sseek 0x00000000000081a4 0x30 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-stdio.o) - 0x00000000000081a4 __sseek + 0x0000000000001cc0 0x48 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-stdio.o) + 0x0000000000001cc0 __swrite + .text.__sseek 0x0000000000001d08 0x30 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-stdio.o) + 0x0000000000001d08 __sseek .text.__sclose - 0x00000000000081d4 0x6 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-stdio.o) - 0x00000000000081d4 __sclose + 0x0000000000001d38 0x6 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-stdio.o) + 0x0000000000001d38 __sclose .text._write_r - 0x00000000000081da 0x36 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-writer.o) - 0x00000000000081da _write_r + 0x0000000000001d3e 0x2e d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-writer.o) + 0x0000000000001d3e _write_r .text._close_r - 0x0000000000008210 0x30 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-closer.o) - 0x0000000000008210 _close_r + 0x0000000000001d6c 0x28 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-closer.o) + 0x0000000000001d6c _close_r .text._fstat_r - 0x0000000000008240 0x32 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-fstatr.o) - 0x0000000000008240 _fstat_r + 0x0000000000001d94 0x2a d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-fstatr.o) + 0x0000000000001d94 _fstat_r .text._isatty_r - 0x0000000000008272 0x30 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-isattyr.o) - 0x0000000000008272 _isatty_r + 0x0000000000001dbe 0x28 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-isattyr.o) + 0x0000000000001dbe _isatty_r .text._lseek_r - 0x00000000000082a2 0x34 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-lseekr.o) - 0x00000000000082a2 _lseek_r - .text.memchr 0x00000000000082d6 0x18 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-memchr.o) - 0x00000000000082d6 memchr - .text.memmove 0x00000000000082ee 0x46 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-memmove.o) - 0x00000000000082ee memmove + 0x0000000000001de6 0x2c d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-lseekr.o) + 0x0000000000001de6 _lseek_r + .text.memchr 0x0000000000001e12 0x18 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-memchr.o) + 0x0000000000001e12 memchr .text.__malloc_lock - 0x0000000000008334 0x2 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-mlock.o) - 0x0000000000008334 __malloc_lock + 0x0000000000001e2a 0x2 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-mlock.o) + 0x0000000000001e2a __malloc_lock .text.__malloc_unlock - 0x0000000000008336 0x2 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-mlock.o) - 0x0000000000008336 __malloc_unlock - .text._realloc_r - 0x0000000000008338 0x58 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-reallocr.o) - 0x0000000000008338 _realloc_r - .text._read_r 0x0000000000008390 0x34 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-readr.o) - 0x0000000000008390 _read_r - .text._malloc_usable_size_r - 0x00000000000083c4 0x14 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-msizer.o) - 0x00000000000083c4 _malloc_usable_size_r - .text._close 0x00000000000083d8 0x10 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libnosys.a(close.o) - 0x00000000000083d8 _close - .text._fstat 0x00000000000083e8 0x10 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libnosys.a(fstat.o) - 0x00000000000083e8 _fstat - .text._isatty 0x00000000000083f8 0x10 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libnosys.a(isatty.o) - 0x00000000000083f8 _isatty - .text._lseek 0x0000000000008408 0x10 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libnosys.a(lseek.o) - 0x0000000000008408 _lseek - .text._read 0x0000000000008418 0x10 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libnosys.a(read.o) - 0x0000000000008418 _read + 0x0000000000001e2c 0x2 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-mlock.o) + 0x0000000000001e2c __malloc_unlock + .text._read_r 0x0000000000001e2e 0x2c d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-readr.o) + 0x0000000000001e2e _read_r + .text._close 0x0000000000001e5a 0xc d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libnosys.a(close.o) + 0x0000000000001e5a _close + .text._fstat 0x0000000000001e66 0xc d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libnosys.a(fstat.o) + 0x0000000000001e66 _fstat + .text._isatty 0x0000000000001e72 0xc d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libnosys.a(isatty.o) + 0x0000000000001e72 _isatty + .text._lseek 0x0000000000001e7e 0xc d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libnosys.a(lseek.o) + 0x0000000000001e7e _lseek + .text._read 0x0000000000001e8a 0xc d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libnosys.a(read.o) + 0x0000000000001e8a _read *(.rodata) *(.rodata*) + *fill* 0x0000000000001e96 0x2 .rodata.main.str1.4 - 0x0000000000008428 0x1e ./User/main.o - *fill* 0x0000000000008446 0x2 - .rodata.ADC_all_Init.str1.4 - 0x0000000000008448 0x17 ./Hardware/src/adc.o - *fill* 0x000000000000845f 0x1 - .rodata.Set_duty_ratio.cst4 - 0x0000000000008460 0xc ./Hardware/src/pwm.o - *fill* 0x000000000000846c 0x4 - .rodata.Set_duty_ratio.cst8 - 0x0000000000008470 0x10 ./Hardware/src/pwm.o + 0x0000000000001e98 0x1e ./User/main.o + *fill* 0x0000000000001eb6 0x2 .rodata.TIM1_UP_IRQHandler.str1.4 - 0x0000000000008480 0xd ./Hardware/src/tim.o - *fill* 0x000000000000848d 0x3 - .rodata.get_CHG_CURR.cst4 - 0x0000000000008490 0x4 ./App/src/collect_Conversion.o - *fill* 0x0000000000008494 0x4 - .rodata.get_CHG_CURR.cst8 - 0x0000000000008498 0x10 ./App/src/collect_Conversion.o - .rodata.get_MOSFET_Temper.cst8 - 0x00000000000084a8 0x10 ./App/src/collect_Conversion.o - .rodata.get_PV1_VOLT_IN.cst8 - 0x00000000000084b8 0x8 ./App/src/collect_Conversion.o - .rodata.get_PV_VOLT_OUT.cst8 - 0x00000000000084c0 0x8 ./App/src/collect_Conversion.o - .rodata.mosTemperADC - 0x00000000000084c8 0x1e2 ./App/src/collect_Conversion.o - 0x00000000000084c8 mosTemperADC - *fill* 0x00000000000086aa 0x2 - .rodata.Get_OutputPower.cst4 - 0x00000000000086ac 0x8 ./App/src/mppt_control.o - .rodata.MpptContorl.cst4 - 0x00000000000086b4 0x4 ./App/src/mppt_control.o - .rodata.MpptMode.cst4 - 0x00000000000086b8 0x8 ./App/src/mppt_control.o - .rodata.MpptMode.cst8 - 0x00000000000086c0 0x10 ./App/src/mppt_control.o - 0x18 (size before relaxing) - .rodata.MpptMode.str1.4 - 0x00000000000086d0 0x13 ./App/src/mppt_control.o - *fill* 0x00000000000086e3 0x1 - .rodata.mppt_constantCurrentO.cst4 - 0x00000000000086e4 0x4 ./App/src/mppt_control.o - .rodata.mppt_constantVoltage.cst4 - 0x00000000000086e8 0x4 ./App/src/mppt_control.o - .rodata.mppt_readJust.cst4 - 0x00000000000086ec 0x8 ./App/src/mppt_control.o - *fill* 0x00000000000086f4 0x4 - .rodata.test.cst8 - 0x00000000000086f8 0x8 ./App/src/mppt_control.o - .rodata.SL_MsgProcFunc_Registration_request.str1.4 - 0x0000000000008700 0x29 ./App/src/sl_protocol.o - *fill* 0x0000000000008729 0x3 - .rodata.SL_MsgProcFunc_Write_Register.str1.4 - 0x000000000000872c 0x7b ./App/src/sl_protocol.o - *fill* 0x00000000000087a7 0x1 - .rodata.SL_ReadRegisterBatteryVoltage.str1.4 - 0x00000000000087a8 0x31 ./App/src/sl_protocol.o - *fill* 0x00000000000087d9 0x3 - .rodata.SL_ReadRegisterChargCurrent.str1.4 - 0x00000000000087dc 0x2f ./App/src/sl_protocol.o - *fill* 0x000000000000880b 0x1 - .rodata.SL_ReadRegisterDischargCurrent.str1.4 - 0x000000000000880c 0x32 ./App/src/sl_protocol.o - *fill* 0x000000000000883e 0x2 - .rodata.SL_ReadRegisterDischargMosState.str1.4 - 0x0000000000008840 0x33 ./App/src/sl_protocol.o - *fill* 0x0000000000008873 0x1 - .rodata.SL_ReadRegisterHighSideMosTemperature.cst4 - 0x0000000000008874 0x4 ./App/src/sl_protocol.o - .rodata.SL_ReadRegisterHighSideMosTemperature.str1.4 - 0x0000000000008878 0x39 ./App/src/sl_protocol.o - *fill* 0x00000000000088b1 0x3 - .rodata.SL_ReadRegisterMPPTMode.str1.4 - 0x00000000000088b4 0x2b ./App/src/sl_protocol.o - *fill* 0x00000000000088df 0x1 - .rodata.SL_ReadRegisterSolarOpenCircuitVoltage.str1.4 - 0x00000000000088e0 0x3a ./App/src/sl_protocol.o - *fill* 0x000000000000891a 0x2 - .rodata.read_and_process_uart_data.str1.4 - 0x000000000000891c 0x164 ./App/src/sl_protocol.o - .rodata.Task_RunLED.cst4 - 0x0000000000008a80 0xc ./App/src/task.o - .rodata.Task_RunLED.str1.4 - 0x0000000000008a80 0x17b ./App/src/task.o - 0x17f (size before relaxing) - *fill* 0x0000000000008bfb 0x1 - .rodata.Task_impedanceCalculation.cst4 - 0x0000000000008bfc 0x4 ./App/src/task.o - .rodata.Task_impedanceCalculation.cst8 - 0x0000000000008c00 0x8 ./App/src/task.o - .rodata.Task_refreshRegister.cst4 - 0x0000000000008c00 0x8 ./App/src/task.o - .rodata.Task_refreshRegister.cst8 - 0x0000000000008c08 0x8 ./App/src/task.o - 0x18 (size before relaxing) - .rodata.Task_softStart.cst8 - 0x0000000000008c10 0x8 ./App/src/task.o - .rodata.Task_startMpptControl.cst4 - 0x0000000000008c18 0x4 ./App/src/task.o - .rodata.g_Mppt_Para_Init.cst4 - 0x0000000000008c1c 0x4 ./App/src/task.o - .rodata.stop_mpptWork.cst4 - 0x0000000000008c20 0x4 ./App/src/task.o - .rodata.__muldf3 - 0x0000000000008c24 0x40 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(muldf3.o) - .rodata.__divsf3 - 0x0000000000008c64 0x80 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(divsf3.o) - .rodata.__mulsf3 - 0x0000000000008ce4 0x40 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(mulsf3.o) - .rodata.__clz_tab - 0x0000000000008d24 0x100 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(_clz.o) - 0x0000000000008d24 __clz_tab + 0x0000000000001eb8 0xd ./Hardware/src/tim.o + *fill* 0x0000000000001ec5 0x3 .rodata.__sf_fake_stderr - 0x0000000000008e24 0x20 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-findfp.o) - 0x0000000000008e24 __sf_fake_stderr + 0x0000000000001ec8 0x20 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-findfp.o) + 0x0000000000001ec8 __sf_fake_stderr .rodata.__sf_fake_stdin - 0x0000000000008e44 0x20 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-findfp.o) - 0x0000000000008e44 __sf_fake_stdin + 0x0000000000001ee8 0x20 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-findfp.o) + 0x0000000000001ee8 __sf_fake_stdin .rodata.__sf_fake_stdout - 0x0000000000008e64 0x20 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-findfp.o) - 0x0000000000008e64 __sf_fake_stdout - .rodata._svfprintf_r.str1.4 - 0x0000000000008e84 0x13 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-svfprintf.o) + 0x0000000000001f08 0x20 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-findfp.o) + 0x0000000000001f08 __sf_fake_stdout .rodata._vfprintf_r.str1.4 - 0x0000000000008e97 0x13 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-vfprintf.o) - *fill* 0x0000000000008e97 0x1 + 0x0000000000001f28 0x13 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-vfprintf.o) + *fill* 0x0000000000001f3b 0x1 .rodata._printf_i.str1.4 - 0x0000000000008e98 0x28 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-vfprintf_i.o) + 0x0000000000001f3c 0x28 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-vfprintf_i.o) 0x25 (size before relaxing) *(.gnu.linkonce.t.*) - 0x0000000000008ec0 . = ALIGN (0x4) + 0x0000000000001f64 . = ALIGN (0x4) -.rela.dyn 0x0000000000008ec0 0x0 - .rela.init 0x0000000000008ec0 0x0 ./User/ch32l103_it.o - .rela.vector 0x0000000000008ec0 0x0 ./User/ch32l103_it.o +.rela.dyn 0x0000000000001f64 0x0 + .rela.init 0x0000000000001f64 0x0 ./User/ch32l103_it.o + .rela.vector 0x0000000000001f64 0x0 ./User/ch32l103_it.o .rela.text.handle_reset - 0x0000000000008ec0 0x0 ./User/ch32l103_it.o + 0x0000000000001f64 0x0 ./User/ch32l103_it.o .rela.text._sbrk - 0x0000000000008ec0 0x0 ./User/ch32l103_it.o + 0x0000000000001f64 0x0 ./User/ch32l103_it.o .rela.sdata.curbrk.5007 - 0x0000000000008ec0 0x0 ./User/ch32l103_it.o - .rela.text._svfprintf_r - 0x0000000000008ec0 0x0 ./User/ch32l103_it.o + 0x0000000000001f64 0x0 ./User/ch32l103_it.o .rela.text._vfprintf_r - 0x0000000000008ec0 0x0 ./User/ch32l103_it.o + 0x0000000000001f64 0x0 ./User/ch32l103_it.o .rela.text._sbrk_r - 0x0000000000008ec0 0x0 ./User/ch32l103_it.o + 0x0000000000001f64 0x0 ./User/ch32l103_it.o .rela.text._write_r - 0x0000000000008ec0 0x0 ./User/ch32l103_it.o + 0x0000000000001f64 0x0 ./User/ch32l103_it.o .rela.text._close_r - 0x0000000000008ec0 0x0 ./User/ch32l103_it.o + 0x0000000000001f64 0x0 ./User/ch32l103_it.o .rela.text._fstat_r - 0x0000000000008ec0 0x0 ./User/ch32l103_it.o + 0x0000000000001f64 0x0 ./User/ch32l103_it.o .rela.text._isatty_r - 0x0000000000008ec0 0x0 ./User/ch32l103_it.o + 0x0000000000001f64 0x0 ./User/ch32l103_it.o .rela.text._lseek_r - 0x0000000000008ec0 0x0 ./User/ch32l103_it.o + 0x0000000000001f64 0x0 ./User/ch32l103_it.o .rela.text._read_r - 0x0000000000008ec0 0x0 ./User/ch32l103_it.o + 0x0000000000001f64 0x0 ./User/ch32l103_it.o .rela.text._close - 0x0000000000008ec0 0x0 ./User/ch32l103_it.o + 0x0000000000001f64 0x0 ./User/ch32l103_it.o .rela.text._fstat - 0x0000000000008ec0 0x0 ./User/ch32l103_it.o + 0x0000000000001f64 0x0 ./User/ch32l103_it.o .rela.text._isatty - 0x0000000000008ec0 0x0 ./User/ch32l103_it.o + 0x0000000000001f64 0x0 ./User/ch32l103_it.o .rela.text._lseek - 0x0000000000008ec0 0x0 ./User/ch32l103_it.o + 0x0000000000001f64 0x0 ./User/ch32l103_it.o .rela.text._read - 0x0000000000008ec0 0x0 ./User/ch32l103_it.o + 0x0000000000001f64 0x0 ./User/ch32l103_it.o -.fini 0x0000000000008ec0 0x0 +.fini 0x0000000000001f64 0x0 *(SORT_NONE(.fini)) - 0x0000000000008ec0 . = ALIGN (0x4) + 0x0000000000001f64 . = ALIGN (0x4) [!provide] PROVIDE (_etext = .) [!provide] PROVIDE (_eitcm = .) -.preinit_array 0x0000000000008ec0 0x0 +.preinit_array 0x0000000000001f64 0x0 [!provide] PROVIDE (__preinit_array_start = .) *(.preinit_array) [!provide] PROVIDE (__preinit_array_end = .) -.init_array 0x0000000000008ec0 0x0 +.init_array 0x0000000000001f64 0x0 [!provide] PROVIDE (__init_array_start = .) *(SORT_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*)) *(.init_array EXCLUDE_FILE(*crtend?.o *crtend.o *crtbegin?.o *crtbegin.o) .ctors) [!provide] PROVIDE (__init_array_end = .) -.fini_array 0x0000000000008ec0 0x0 +.fini_array 0x0000000000001f64 0x0 [!provide] PROVIDE (__fini_array_start = .) *(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*)) *(.fini_array EXCLUDE_FILE(*crtend?.o *crtend.o *crtbegin?.o *crtbegin.o) .dtors) @@ -2674,15 +2345,15 @@ END GROUP *(SORT_BY_NAME(.dtors.*)) *(.dtors) -.dalign 0x0000000020000000 0x0 load address 0x0000000000008ec0 +.dalign 0x0000000020000000 0x0 load address 0x0000000000001f64 0x0000000020000000 . = ALIGN (0x4) 0x0000000020000000 PROVIDE (_data_vma = .) -.dlalign 0x0000000000008ec0 0x0 - 0x0000000000008ec0 . = ALIGN (0x4) - 0x0000000000008ec0 PROVIDE (_data_lma = .) +.dlalign 0x0000000000001f64 0x0 + 0x0000000000001f64 . = ALIGN (0x4) + 0x0000000000001f64 PROVIDE (_data_lma = .) -.data 0x0000000020000000 0x188 load address 0x0000000000008ec0 +.data 0x0000000020000000 0x98 load address 0x0000000000001f64 *(.gnu.linkonce.r.*) *(.data .data.*) .data.HBPrescTable @@ -2690,252 +2361,88 @@ END GROUP 0x0000000020000000 HBPrescTable .data.PBHBPrescTable 0x0000000020000010 0x10 ./Peripheral/src/ch32l103_rcc.o - .data.g_slConfigInfo - 0x0000000020000020 0x32 ./App/src/inflash.o - 0x0000000020000020 g_slConfigInfo - *fill* 0x0000000020000052 0x2 - .data.defaultValue - 0x0000000020000054 0xe ./App/src/sl_protocol.o - 0x0000000020000054 defaultValue - *fill* 0x0000000020000062 0x2 - .data.g_MsgTbl - 0x0000000020000064 0x30 ./App/src/sl_protocol.o - 0x0000000020000064 g_MsgTbl - .data.g_RegTblR - 0x0000000020000094 0x38 ./App/src/sl_protocol.o - 0x0000000020000094 g_RegTblR - .data.uart_devices - 0x00000000200000cc 0x38 ./App/src/uart_dev.o - 0x00000000200000cc uart_devices .data.impure_data - 0x0000000020000104 0x60 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-impure.o) + 0x0000000020000020 0x60 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-impure.o) *(.gnu.linkonce.d.*) - 0x0000000020000168 . = ALIGN (0x8) - *fill* 0x0000000020000164 0x4 - 0x0000000020000968 PROVIDE (__global_pointer$ = (. + 0x800)) + 0x0000000020000080 . = ALIGN (0x8) + 0x0000000020000880 PROVIDE (__global_pointer$ = (. + 0x800)) *(.sdata .sdata.*) .sdata.SystemCoreClock - 0x0000000020000168 0x4 ./User/system_ch32l103.o - 0x0000000020000168 SystemCoreClock + 0x0000000020000080 0x4 ./User/system_ch32l103.o + 0x0000000020000080 SystemCoreClock .sdata.ADCPrescTable - 0x000000002000016c 0x4 ./Peripheral/src/ch32l103_rcc.o + 0x0000000020000084 0x4 ./Peripheral/src/ch32l103_rcc.o .sdata.curbrk.5007 - 0x0000000020000170 0x4 ./Debug/debug.o - .sdata.g_duty_ratio - 0x0000000020000174 0x4 ./App/src/mppt_control.o - 0x0000000020000174 g_duty_ratio - .sdata.onlyOnce.5807 - 0x0000000020000178 0x1 ./App/src/mppt_control.o - .sdata.onlyOnce.5815 - 0x0000000020000179 0x1 ./App/src/mppt_control.o - .sdata.onlyOnce.5820 - 0x000000002000017a 0x1 ./App/src/mppt_control.o - .sdata.only_once.5840 - 0x000000002000017b 0x1 ./App/src/mppt_control.o - .sdata.only_once.6434 - 0x000000002000017c 0x1 ./App/src/task.o - .sdata.run_Broadcast - 0x000000002000017d 0x1 ./App/src/task.o - 0x000000002000017d run_Broadcast - *fill* 0x000000002000017e 0x2 + 0x0000000020000088 0x4 ./Debug/debug.o .sdata._impure_ptr - 0x0000000020000180 0x4 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-impure.o) - 0x0000000020000180 _impure_ptr + 0x000000002000008c 0x4 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-impure.o) + 0x000000002000008c _impure_ptr *(.sdata2.*) .sdata2._global_impure_ptr - 0x0000000020000184 0x4 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-impure.o) - 0x0000000020000184 _global_impure_ptr + 0x0000000020000090 0x4 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-impure.o) + 0x0000000020000090 _global_impure_ptr *(.gnu.linkonce.s.*) - 0x0000000020000188 . = ALIGN (0x8) + 0x0000000020000098 . = ALIGN (0x8) + *fill* 0x0000000020000094 0x4 *(.srodata.cst16) *(.srodata.cst8) *(.srodata.cst4) *(.srodata.cst2) *(.srodata .srodata.*) - 0x0000000020000188 . = ALIGN (0x4) - 0x0000000020000188 PROVIDE (_edata = .) + 0x0000000020000098 . = ALIGN (0x4) + 0x0000000020000098 PROVIDE (_edata = .) -.bss 0x0000000020000188 0x13a0 load address 0x0000000000009048 - 0x0000000020000188 . = ALIGN (0x4) - 0x0000000020000188 PROVIDE (_sbss = .) +.bss 0x0000000020000098 0x38 load address 0x0000000000001ffc + 0x0000000020000098 . = ALIGN (0x4) + 0x0000000020000098 PROVIDE (_sbss = .) *(.sbss*) .sbss.ADC_Trim - 0x0000000020000188 0x2 ./Peripheral/src/ch32l103_gpio.o - 0x0000000020000188 ADC_Trim - *fill* 0x000000002000018a 0x2 - .sbss.CHIPID 0x000000002000018c 0x4 ./Peripheral/src/ch32l103_gpio.o - 0x000000002000018c CHIPID + 0x0000000020000098 0x2 ./Peripheral/src/ch32l103_gpio.o + 0x0000000020000098 ADC_Trim + *fill* 0x000000002000009a 0x2 + .sbss.CHIPID 0x000000002000009c 0x4 ./Peripheral/src/ch32l103_gpio.o + 0x000000002000009c CHIPID .sbss.OPA_Trim - 0x0000000020000190 0x4 ./Peripheral/src/ch32l103_gpio.o - 0x0000000020000190 OPA_Trim - .sbss.TS_Val 0x0000000020000194 0x4 ./Peripheral/src/ch32l103_gpio.o - 0x0000000020000194 TS_Val + 0x00000000200000a0 0x4 ./Peripheral/src/ch32l103_gpio.o + 0x00000000200000a0 OPA_Trim + .sbss.TS_Val 0x00000000200000a4 0x4 ./Peripheral/src/ch32l103_gpio.o + 0x00000000200000a4 TS_Val .sbss.NVIC_Priority_Group - 0x0000000020000198 0x4 ./Peripheral/src/ch32l103_misc.o - 0x0000000020000198 NVIC_Priority_Group - .sbss.Calibrattion_Val - 0x000000002000019c 0x2 ./Hardware/src/adc.o - 0x000000002000019c Calibrattion_Val - *fill* 0x000000002000019e 0x2 + 0x00000000200000a8 0x4 ./Peripheral/src/ch32l103_misc.o + 0x00000000200000a8 NVIC_Priority_Group .sbss.USART3_Rbuffer - 0x00000000200001a0 0x1 ./Hardware/src/rs485.o - 0x00000000200001a0 USART3_Rbuffer - *fill* 0x00000000200001a1 0x3 + 0x00000000200000ac 0x1 ./Hardware/src/rs485.o + 0x00000000200000ac USART3_Rbuffer + *fill* 0x00000000200000ad 0x3 .sbss.USART4_Rbuffer - 0x00000000200001a4 0x1 ./Hardware/src/rs485.o - 0x00000000200001a4 USART4_Rbuffer - *fill* 0x00000000200001a5 0x3 + 0x00000000200000b0 0x1 ./Hardware/src/rs485.o + 0x00000000200000b0 USART4_Rbuffer + *fill* 0x00000000200000b1 0x3 .sbss.pTimeSliceList - 0x00000000200001a8 0x4 ./Drivers/TimeSliceOffset/timeSliceOffset.o - .sbss.p_ms 0x00000000200001ac 0x2 ./Debug/debug.o - .sbss.p_us 0x00000000200001ae 0x2 ./Debug/debug.o - .sbss.ConstantCurrentV.5836 - 0x00000000200001b0 0x4 ./App/src/mppt_control.o - .sbss.ConstantVoltageChargeV.5814 - 0x00000000200001b4 0x4 ./App/src/mppt_control.o - .sbss.ConstantVoltageV.5837 - 0x00000000200001b8 0x4 ./App/src/mppt_control.o - .sbss.FloatChargeV.5819 - 0x00000000200001bc 0x4 ./App/src/mppt_control.o - .sbss.FloatI.5838 - 0x00000000200001c0 0x4 ./App/src/mppt_control.o - .sbss.StopSolarOpenCircuitV.5839 - 0x00000000200001c4 0x4 ./App/src/mppt_control.o - .sbss.TrickleChargeC.5806 - 0x00000000200001c8 0x4 ./App/src/mppt_control.o - .sbss.RegistrationRequestFlag - 0x00000000200001cc 0x1 ./App/src/task.o - 0x00000000200001cc RegistrationRequestFlag - *fill* 0x00000000200001cd 0x1 - .sbss.checkRegisterRefreshTimeFlag.6456 - 0x00000000200001ce 0x2 ./App/src/task.o - .sbss.checkSolarOpenCircuitVTimeFlag.6433 - 0x00000000200001d0 0x2 ./App/src/task.o - *fill* 0x00000000200001d2 0x2 - .sbss.currOne.6481 - 0x00000000200001d4 0x4 ./App/src/task.o - .sbss.currTwo.6483 - 0x00000000200001d8 0x4 ./App/src/task.o - .sbss.dutyRatio.6440 - 0x00000000200001dc 0x4 ./App/src/task.o - .sbss.enabBroadcastTimeFlag.6504 - 0x00000000200001e0 0x4 ./App/src/task.o - .sbss.excessiveLoadFlag - 0x00000000200001e4 0x1 ./App/src/task.o - 0x00000000200001e4 excessiveLoadFlag - .sbss.flag.6427 - 0x00000000200001e5 0x1 ./App/src/task.o - .sbss.g_batteryState - 0x00000000200001e6 0x1 ./App/src/task.o - 0x00000000200001e6 g_batteryState - *fill* 0x00000000200001e7 0x1 - .sbss.g_impedance - 0x00000000200001e8 0x4 ./App/src/task.o - 0x00000000200001e8 g_impedance - .sbss.g_impedanceStart - 0x00000000200001ec 0x1 ./App/src/task.o - 0x00000000200001ec g_impedanceStart - *fill* 0x00000000200001ed 0x3 - .sbss.g_recvBroadcastDevice - 0x00000000200001f0 0x4 ./App/src/task.o - 0x00000000200001f0 g_recvBroadcastDevice - .sbss.g_recvBroadcastRegisterNumber - 0x00000000200001f4 0x1 ./App/src/task.o - 0x00000000200001f4 g_recvBroadcastRegisterNumber - .sbss.num.6428 - 0x00000000200001f5 0x1 ./App/src/task.o - .sbss.num.6439 - 0x00000000200001f6 0x2 ./App/src/task.o - .sbss.num.6480 - 0x00000000200001f8 0x1 ./App/src/task.o - .sbss.num.6491 - 0x00000000200001f9 0x1 ./App/src/task.o - .sbss.num.6497 - 0x00000000200001fa 0x1 ./App/src/task.o - *fill* 0x00000000200001fb 0x1 - .sbss.numLong.6498 - 0x00000000200001fc 0x2 ./App/src/task.o - .sbss.outputAgainFlag - 0x00000000200001fe 0x1 ./App/src/task.o - 0x00000000200001fe outputAgainFlag - .sbss.overTemperature - 0x00000000200001ff 0x1 ./App/src/task.o - 0x00000000200001ff overTemperature - .sbss.recvbroadcast_flag - 0x0000000020000200 0x1 ./App/src/task.o - 0x0000000020000200 recvbroadcast_flag - .sbss.run_number.6466 - 0x0000000020000201 0x1 ./App/src/task.o - *fill* 0x0000000020000202 0x2 - .sbss.temp.6450 - 0x0000000020000204 0x4 ./App/src/task.o - .sbss.voltOne.6482 - 0x0000000020000208 0x4 ./App/src/task.o + 0x00000000200000b4 0x4 ./Drivers/TimeSliceOffset/timeSliceOffset.o + .sbss.p_ms 0x00000000200000b8 0x2 ./Debug/debug.o + .sbss.p_us 0x00000000200000ba 0x2 ./Debug/debug.o .sbss.g_bat485_uart3_handle - 0x000000002000020c 0x4 ./App/src/uart_dev.o - 0x000000002000020c g_bat485_uart3_handle + 0x00000000200000bc 0x4 ./App/src/uart_dev.o + 0x00000000200000bc g_bat485_uart3_handle .sbss.g_gw485_uart4_handle - 0x0000000020000210 0x4 ./App/src/uart_dev.o - 0x0000000020000210 g_gw485_uart4_handle + 0x00000000200000c0 0x4 ./App/src/uart_dev.o + 0x00000000200000c0 g_gw485_uart4_handle .sbss.__malloc_free_list - 0x0000000020000214 0x4 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-mallocr.o) - 0x0000000020000214 __malloc_free_list + 0x00000000200000c4 0x4 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-mallocr.o) + 0x00000000200000c4 __malloc_free_list .sbss.__malloc_sbrk_start - 0x0000000020000218 0x4 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-mallocr.o) - 0x0000000020000218 __malloc_sbrk_start + 0x00000000200000c8 0x4 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-mallocr.o) + 0x00000000200000c8 __malloc_sbrk_start *(.gnu.linkonce.sb.*) *(.bss*) - .bss.SPI_FLASH_BUF - 0x000000002000021c 0x1000 ./Hardware/src/flash.o - 0x000000002000021c SPI_FLASH_BUF - .bss.g_Mppt_Para - 0x000000002000121c 0x2d ./App/src/sl_protocol.o - 0x000000002000121c g_Mppt_Para - *fill* 0x0000000020001249 0x3 - .bss.rs485_buff - 0x000000002000124c 0x32 ./App/src/sl_protocol.o - *fill* 0x000000002000127e 0x2 - .bss.m_excessiveLoad - 0x0000000020001280 0x10 ./App/src/task.o - 0x0000000020001280 m_excessiveLoad - .bss.m_impedanceCalculation - 0x0000000020001290 0x10 ./App/src/task.o - 0x0000000020001290 m_impedanceCalculation - .bss.m_outputAgain - 0x00000000200012a0 0x10 ./App/src/task.o - 0x00000000200012a0 m_outputAgain - .bss.m_recvbroadcast - 0x00000000200012b0 0x10 ./App/src/task.o - 0x00000000200012b0 m_recvbroadcast - .bss.m_refreshRegister - 0x00000000200012c0 0x10 ./App/src/task.o - 0x00000000200012c0 m_refreshRegister - .bss.m_runled 0x00000000200012d0 0x10 ./App/src/task.o - 0x00000000200012d0 m_runled - .bss.m_sensorEnableBroadcast - 0x00000000200012e0 0x10 ./App/src/task.o - 0x00000000200012e0 m_sensorEnableBroadcast - .bss.m_softStart - 0x00000000200012f0 0x10 ./App/src/task.o - 0x00000000200012f0 m_softStart - .bss.m_startMpptControl - 0x0000000020001300 0x10 ./App/src/task.o - 0x0000000020001300 m_startMpptControl - .bss.m_usart 0x0000000020001310 0x10 ./App/src/task.o - 0x0000000020001310 m_usart - .bss.m_wdi 0x0000000020001320 0x10 ./App/src/task.o - 0x0000000020001320 m_wdi - .bss.bat485_in_buff - 0x0000000020001330 0xc8 ./App/src/uart_dev.o - .bss.gw485_in_buff - 0x00000000200013f8 0x12c ./App/src/uart_dev.o *(.gnu.linkonce.b.*) *(COMMON*) - COMMON 0x0000000020001524 0x4 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-reent.o) - 0x0000000020001524 errno - 0x0000000020001528 . = ALIGN (0x4) - 0x0000000020001528 PROVIDE (_ebss = .) - 0x0000000020001528 PROVIDE (_end = _ebss) + COMMON 0x00000000200000cc 0x4 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-reent.o) + 0x00000000200000cc errno + 0x00000000200000d0 . = ALIGN (0x4) + 0x00000000200000d0 PROVIDE (_ebss = .) + 0x00000000200000d0 PROVIDE (_end = _ebss) [!provide] PROVIDE (end = .) .stack 0x0000000020004800 0x800 @@ -2947,67 +2454,47 @@ END GROUP 0x0000000020005000 PROVIDE (_eusrstack = .) OUTPUT(mppt_Nos_V0.4.elf elf32-littleriscv) -.debug_info 0x0000000000000000 0x2182e +.debug_info 0x0000000000000000 0x12475 .debug_info 0x0000000000000000 0x9aa ./User/ch32l103_it.o - .debug_info 0x00000000000009aa 0xca3 ./User/main.o - .debug_info 0x000000000000164d 0xc5f ./User/system_ch32l103.o - .debug_info 0x00000000000022ac 0x22 ./Startup/startup_ch32l103.o - .debug_info 0x00000000000022ce 0x1b9e ./Peripheral/src/ch32l103_adc.o - .debug_info 0x0000000000003e6c 0xadc ./Peripheral/src/ch32l103_dbgmcu.o - .debug_info 0x0000000000004948 0xc55 ./Peripheral/src/ch32l103_exti.o - .debug_info 0x000000000000559d 0x125d ./Peripheral/src/ch32l103_gpio.o - .debug_info 0x00000000000067fa 0xed8 ./Peripheral/src/ch32l103_misc.o - .debug_info 0x00000000000076d2 0x12a5 ./Peripheral/src/ch32l103_rcc.o - .debug_info 0x0000000000008977 0x1118 ./Peripheral/src/ch32l103_spi.o - .debug_info 0x0000000000009a8f 0x2ac7 ./Peripheral/src/ch32l103_tim.o - .debug_info 0x000000000000c556 0x13e4 ./Peripheral/src/ch32l103_usart.o - .debug_info 0x000000000000d93a 0xf94 ./Hardware/src/adc.o - .debug_info 0x000000000000e8ce 0x1a36 ./Hardware/src/flash.o - .debug_info 0x0000000000010304 0x14b4 ./Hardware/src/gpio.o - .debug_info 0x00000000000117b8 0x10cf ./Hardware/src/pwm.o - .debug_info 0x0000000000012887 0x14ab ./Hardware/src/rs485.o - .debug_info 0x0000000000013d32 0x1954 ./Hardware/src/tim.o - .debug_info 0x0000000000015686 0xb61 ./Drivers/TimeSliceOffset/timeSliceOffset.o - .debug_info 0x00000000000161e7 0xa9c ./Drivers/RingQueue/ring_queue.o - .debug_info 0x0000000000016c83 0xf18 ./Debug/debug.o - .debug_info 0x0000000000017b9b 0x10e7 ./App/src/collect_Conversion.o - .debug_info 0x0000000000018c82 0xe24 ./App/src/inflash.o - .debug_info 0x0000000000019aa6 0x18bc ./App/src/mppt_control.o - .debug_info 0x000000000001b362 0x2850 ./App/src/sl_protocol.o - .debug_info 0x000000000001dbb2 0x28b1 ./App/src/task.o - .debug_info 0x0000000000020463 0x13cb ./App/src/uart_dev.o + .debug_info 0x00000000000009aa 0xaf6 ./User/main.o + .debug_info 0x00000000000014a0 0xc5f ./User/system_ch32l103.o + .debug_info 0x00000000000020ff 0x22 ./Startup/startup_ch32l103.o + .debug_info 0x0000000000002121 0xadc ./Peripheral/src/ch32l103_dbgmcu.o + .debug_info 0x0000000000002bfd 0xc55 ./Peripheral/src/ch32l103_exti.o + .debug_info 0x0000000000003852 0x125d ./Peripheral/src/ch32l103_gpio.o + .debug_info 0x0000000000004aaf 0xed8 ./Peripheral/src/ch32l103_misc.o + .debug_info 0x0000000000005987 0x12a5 ./Peripheral/src/ch32l103_rcc.o + .debug_info 0x0000000000006c2c 0x2ac7 ./Peripheral/src/ch32l103_tim.o + .debug_info 0x00000000000096f3 0x13e4 ./Peripheral/src/ch32l103_usart.o + .debug_info 0x000000000000aad7 0x12e0 ./Hardware/src/gpio.o + .debug_info 0x000000000000bdb7 0x14ab ./Hardware/src/rs485.o + .debug_info 0x000000000000d262 0x17b0 ./Hardware/src/tim.o + .debug_info 0x000000000000ea12 0xb61 ./Drivers/TimeSliceOffset/timeSliceOffset.o + .debug_info 0x000000000000f573 0xa9c ./Drivers/RingQueue/ring_queue.o + .debug_info 0x000000000001000f 0xf18 ./Debug/debug.o + .debug_info 0x0000000000010f27 0x154e ./App/src/uart_dev.o -.debug_abbrev 0x0000000000000000 0x5698 +.debug_abbrev 0x0000000000000000 0x3230 .debug_abbrev 0x0000000000000000 0x1cf ./User/ch32l103_it.o - .debug_abbrev 0x00000000000001cf 0x238 ./User/main.o - .debug_abbrev 0x0000000000000407 0x2d7 ./User/system_ch32l103.o - .debug_abbrev 0x00000000000006de 0x12 ./Startup/startup_ch32l103.o - .debug_abbrev 0x00000000000006f0 0x44a ./Peripheral/src/ch32l103_adc.o - .debug_abbrev 0x0000000000000b3a 0x2f7 ./Peripheral/src/ch32l103_dbgmcu.o - .debug_abbrev 0x0000000000000e31 0x2da ./Peripheral/src/ch32l103_exti.o - .debug_abbrev 0x000000000000110b 0x347 ./Peripheral/src/ch32l103_gpio.o - .debug_abbrev 0x0000000000001452 0x2ea ./Peripheral/src/ch32l103_misc.o - .debug_abbrev 0x000000000000173c 0x351 ./Peripheral/src/ch32l103_rcc.o - .debug_abbrev 0x0000000000001a8d 0x303 ./Peripheral/src/ch32l103_spi.o - .debug_abbrev 0x0000000000001d90 0x418 ./Peripheral/src/ch32l103_tim.o - .debug_abbrev 0x00000000000021a8 0x312 ./Peripheral/src/ch32l103_usart.o - .debug_abbrev 0x00000000000024ba 0x26d ./Hardware/src/adc.o - .debug_abbrev 0x0000000000002727 0x3e4 ./Hardware/src/flash.o - .debug_abbrev 0x0000000000002b0b 0x289 ./Hardware/src/gpio.o - .debug_abbrev 0x0000000000002d94 0x2b9 ./Hardware/src/pwm.o - .debug_abbrev 0x000000000000304d 0x2e3 ./Hardware/src/rs485.o - .debug_abbrev 0x0000000000003330 0x3a4 ./Hardware/src/tim.o - .debug_abbrev 0x00000000000036d4 0x279 ./Drivers/TimeSliceOffset/timeSliceOffset.o - .debug_abbrev 0x000000000000394d 0x23a ./Drivers/RingQueue/ring_queue.o - .debug_abbrev 0x0000000000003b87 0x2d7 ./Debug/debug.o - .debug_abbrev 0x0000000000003e5e 0x3c0 ./App/src/collect_Conversion.o - .debug_abbrev 0x000000000000421e 0x28f ./App/src/inflash.o - .debug_abbrev 0x00000000000044ad 0x46b ./App/src/mppt_control.o - .debug_abbrev 0x0000000000004918 0x54c ./App/src/sl_protocol.o - .debug_abbrev 0x0000000000004e64 0x42d ./App/src/task.o - .debug_abbrev 0x0000000000005291 0x407 ./App/src/uart_dev.o + .debug_abbrev 0x00000000000001cf 0x23c ./User/main.o + .debug_abbrev 0x000000000000040b 0x2d7 ./User/system_ch32l103.o + .debug_abbrev 0x00000000000006e2 0x12 ./Startup/startup_ch32l103.o + .debug_abbrev 0x00000000000006f4 0x2f7 ./Peripheral/src/ch32l103_dbgmcu.o + .debug_abbrev 0x00000000000009eb 0x2da ./Peripheral/src/ch32l103_exti.o + .debug_abbrev 0x0000000000000cc5 0x347 ./Peripheral/src/ch32l103_gpio.o + .debug_abbrev 0x000000000000100c 0x2ea ./Peripheral/src/ch32l103_misc.o + .debug_abbrev 0x00000000000012f6 0x351 ./Peripheral/src/ch32l103_rcc.o + .debug_abbrev 0x0000000000001647 0x418 ./Peripheral/src/ch32l103_tim.o + .debug_abbrev 0x0000000000001a5f 0x312 ./Peripheral/src/ch32l103_usart.o + .debug_abbrev 0x0000000000001d71 0x289 ./Hardware/src/gpio.o + .debug_abbrev 0x0000000000001ffa 0x2e3 ./Hardware/src/rs485.o + .debug_abbrev 0x00000000000022dd 0x3a4 ./Hardware/src/tim.o + .debug_abbrev 0x0000000000002681 0x279 ./Drivers/TimeSliceOffset/timeSliceOffset.o + .debug_abbrev 0x00000000000028fa 0x23a ./Drivers/RingQueue/ring_queue.o + .debug_abbrev 0x0000000000002b34 0x2d7 ./Debug/debug.o + .debug_abbrev 0x0000000000002e0b 0x425 ./App/src/uart_dev.o -.debug_aranges 0x0000000000000000 0xef8 +.debug_aranges 0x0000000000000000 0x978 .debug_aranges 0x0000000000000000 0x28 ./User/ch32l103_it.o .debug_aranges @@ -3017,311 +2504,194 @@ OUTPUT(mppt_Nos_V0.4.elf elf32-littleriscv) .debug_aranges 0x0000000000000070 0x30 ./Startup/startup_ch32l103.o .debug_aranges - 0x00000000000000a0 0x190 ./Peripheral/src/ch32l103_adc.o + 0x00000000000000a0 0x48 ./Peripheral/src/ch32l103_dbgmcu.o .debug_aranges - 0x0000000000000230 0x48 ./Peripheral/src/ch32l103_dbgmcu.o + 0x00000000000000e8 0x50 ./Peripheral/src/ch32l103_exti.o .debug_aranges - 0x0000000000000278 0x50 ./Peripheral/src/ch32l103_exti.o + 0x0000000000000138 0xa8 ./Peripheral/src/ch32l103_gpio.o .debug_aranges - 0x00000000000002c8 0xa8 ./Peripheral/src/ch32l103_gpio.o + 0x00000000000001e0 0x28 ./Peripheral/src/ch32l103_misc.o .debug_aranges - 0x0000000000000370 0x28 ./Peripheral/src/ch32l103_misc.o + 0x0000000000000208 0x130 ./Peripheral/src/ch32l103_rcc.o .debug_aranges - 0x0000000000000398 0x130 ./Peripheral/src/ch32l103_rcc.o + 0x0000000000000338 0x2e0 ./Peripheral/src/ch32l103_tim.o .debug_aranges - 0x00000000000004c8 0xc0 ./Peripheral/src/ch32l103_spi.o + 0x0000000000000618 0x100 ./Peripheral/src/ch32l103_usart.o .debug_aranges - 0x0000000000000588 0x2e0 ./Peripheral/src/ch32l103_tim.o + 0x0000000000000718 0x68 ./Hardware/src/gpio.o .debug_aranges - 0x0000000000000868 0x100 ./Peripheral/src/ch32l103_usart.o + 0x0000000000000780 0x48 ./Hardware/src/rs485.o .debug_aranges - 0x0000000000000968 0x20 ./Hardware/src/adc.o + 0x00000000000007c8 0x70 ./Hardware/src/tim.o .debug_aranges - 0x0000000000000988 0xa0 ./Hardware/src/flash.o + 0x0000000000000838 0x38 ./Drivers/TimeSliceOffset/timeSliceOffset.o .debug_aranges - 0x0000000000000a28 0x68 ./Hardware/src/gpio.o + 0x0000000000000870 0x40 ./Drivers/RingQueue/ring_queue.o .debug_aranges - 0x0000000000000a90 0x30 ./Hardware/src/pwm.o + 0x00000000000008b0 0x48 ./Debug/debug.o .debug_aranges - 0x0000000000000ac0 0x48 ./Hardware/src/rs485.o - .debug_aranges - 0x0000000000000b08 0x70 ./Hardware/src/tim.o - .debug_aranges - 0x0000000000000b78 0x38 ./Drivers/TimeSliceOffset/timeSliceOffset.o - .debug_aranges - 0x0000000000000bb0 0x40 ./Drivers/RingQueue/ring_queue.o - .debug_aranges - 0x0000000000000bf0 0x48 ./Debug/debug.o - .debug_aranges - 0x0000000000000c38 0x60 ./App/src/collect_Conversion.o - .debug_aranges - 0x0000000000000c98 0x30 ./App/src/inflash.o - .debug_aranges - 0x0000000000000cc8 0x78 ./App/src/mppt_control.o - .debug_aranges - 0x0000000000000d40 0xa0 ./App/src/sl_protocol.o - .debug_aranges - 0x0000000000000de0 0x98 ./App/src/task.o - .debug_aranges - 0x0000000000000e78 0x80 ./App/src/uart_dev.o + 0x00000000000008f8 0x80 ./App/src/uart_dev.o -.debug_ranges 0x0000000000000000 0x1110 +.debug_ranges 0x0000000000000000 0x9d0 .debug_ranges 0x0000000000000000 0x18 ./User/ch32l103_it.o .debug_ranges 0x0000000000000018 0x10 ./User/main.o .debug_ranges 0x0000000000000028 0x48 ./User/system_ch32l103.o .debug_ranges 0x0000000000000070 0x28 ./Startup/startup_ch32l103.o - .debug_ranges 0x0000000000000098 0x1b8 ./Peripheral/src/ch32l103_adc.o - .debug_ranges 0x0000000000000250 0x50 ./Peripheral/src/ch32l103_dbgmcu.o - .debug_ranges 0x00000000000002a0 0x40 ./Peripheral/src/ch32l103_exti.o - .debug_ranges 0x00000000000002e0 0x98 ./Peripheral/src/ch32l103_gpio.o - .debug_ranges 0x0000000000000378 0x48 ./Peripheral/src/ch32l103_misc.o - .debug_ranges 0x00000000000003c0 0x120 ./Peripheral/src/ch32l103_rcc.o - .debug_ranges 0x00000000000004e0 0xb0 ./Peripheral/src/ch32l103_spi.o - .debug_ranges 0x0000000000000590 0x300 ./Peripheral/src/ch32l103_tim.o - .debug_ranges 0x0000000000000890 0xf0 ./Peripheral/src/ch32l103_usart.o - .debug_ranges 0x0000000000000980 0x10 ./Hardware/src/adc.o - .debug_ranges 0x0000000000000990 0xb0 ./Hardware/src/flash.o - .debug_ranges 0x0000000000000a40 0x58 ./Hardware/src/gpio.o - .debug_ranges 0x0000000000000a98 0x20 ./Hardware/src/pwm.o - .debug_ranges 0x0000000000000ab8 0x38 ./Hardware/src/rs485.o - .debug_ranges 0x0000000000000af0 0x78 ./Hardware/src/tim.o - .debug_ranges 0x0000000000000b68 0x90 ./Drivers/TimeSliceOffset/timeSliceOffset.o - .debug_ranges 0x0000000000000bf8 0x30 ./Drivers/RingQueue/ring_queue.o - .debug_ranges 0x0000000000000c28 0x38 ./Debug/debug.o - .debug_ranges 0x0000000000000c60 0x88 ./App/src/collect_Conversion.o - .debug_ranges 0x0000000000000ce8 0x20 ./App/src/inflash.o - .debug_ranges 0x0000000000000d08 0x98 ./App/src/mppt_control.o - .debug_ranges 0x0000000000000da0 0x218 ./App/src/sl_protocol.o - .debug_ranges 0x0000000000000fb8 0xa0 ./App/src/task.o - .debug_ranges 0x0000000000001058 0xb8 ./App/src/uart_dev.o + .debug_ranges 0x0000000000000098 0x50 ./Peripheral/src/ch32l103_dbgmcu.o + .debug_ranges 0x00000000000000e8 0x40 ./Peripheral/src/ch32l103_exti.o + .debug_ranges 0x0000000000000128 0x98 ./Peripheral/src/ch32l103_gpio.o + .debug_ranges 0x00000000000001c0 0x48 ./Peripheral/src/ch32l103_misc.o + .debug_ranges 0x0000000000000208 0x120 ./Peripheral/src/ch32l103_rcc.o + .debug_ranges 0x0000000000000328 0x300 ./Peripheral/src/ch32l103_tim.o + .debug_ranges 0x0000000000000628 0xf0 ./Peripheral/src/ch32l103_usart.o + .debug_ranges 0x0000000000000718 0x58 ./Hardware/src/gpio.o + .debug_ranges 0x0000000000000770 0x38 ./Hardware/src/rs485.o + .debug_ranges 0x00000000000007a8 0x78 ./Hardware/src/tim.o + .debug_ranges 0x0000000000000820 0x90 ./Drivers/TimeSliceOffset/timeSliceOffset.o + .debug_ranges 0x00000000000008b0 0x30 ./Drivers/RingQueue/ring_queue.o + .debug_ranges 0x00000000000008e0 0x38 ./Debug/debug.o + .debug_ranges 0x0000000000000918 0xb8 ./App/src/uart_dev.o -.debug_line 0x0000000000000000 0x14717 +.debug_line 0x0000000000000000 0xb290 .debug_line 0x0000000000000000 0x22f ./User/ch32l103_it.o - .debug_line 0x000000000000022f 0x340 ./User/main.o - .debug_line 0x000000000000056f 0x6cf ./User/system_ch32l103.o - .debug_line 0x0000000000000c3e 0x11e ./Startup/startup_ch32l103.o - .debug_line 0x0000000000000d5c 0x1cea ./Peripheral/src/ch32l103_adc.o - .debug_line 0x0000000000002a46 0x34d ./Peripheral/src/ch32l103_dbgmcu.o - .debug_line 0x0000000000002d93 0x580 ./Peripheral/src/ch32l103_exti.o - .debug_line 0x0000000000003313 0x1249 ./Peripheral/src/ch32l103_gpio.o - .debug_line 0x000000000000455c 0x387 ./Peripheral/src/ch32l103_misc.o - .debug_line 0x00000000000048e3 0x118b ./Peripheral/src/ch32l103_rcc.o - .debug_line 0x0000000000005a6e 0xa01 ./Peripheral/src/ch32l103_spi.o - .debug_line 0x000000000000646f 0x3218 ./Peripheral/src/ch32l103_tim.o - .debug_line 0x0000000000009687 0xf51 ./Peripheral/src/ch32l103_usart.o - .debug_line 0x000000000000a5d8 0x508 ./Hardware/src/adc.o - .debug_line 0x000000000000aae0 0xd9e ./Hardware/src/flash.o - .debug_line 0x000000000000b87e 0xaa3 ./Hardware/src/gpio.o - .debug_line 0x000000000000c321 0x4fb ./Hardware/src/pwm.o - .debug_line 0x000000000000c81c 0x8a6 ./Hardware/src/rs485.o - .debug_line 0x000000000000d0c2 0x90a ./Hardware/src/tim.o - .debug_line 0x000000000000d9cc 0x58c ./Drivers/TimeSliceOffset/timeSliceOffset.o - .debug_line 0x000000000000df58 0x3c0 ./Drivers/RingQueue/ring_queue.o - .debug_line 0x000000000000e318 0x696 ./Debug/debug.o - .debug_line 0x000000000000e9ae 0x8e9 ./App/src/collect_Conversion.o - .debug_line 0x000000000000f297 0x5a8 ./App/src/inflash.o - .debug_line 0x000000000000f83f 0x10fc ./App/src/mppt_control.o - .debug_line 0x000000000001093b 0x18b3 ./App/src/sl_protocol.o - .debug_line 0x00000000000121ee 0x1cc7 ./App/src/task.o - .debug_line 0x0000000000013eb5 0x862 ./App/src/uart_dev.o + .debug_line 0x000000000000022f 0x2ed ./User/main.o + .debug_line 0x000000000000051c 0x6cf ./User/system_ch32l103.o + .debug_line 0x0000000000000beb 0x11e ./Startup/startup_ch32l103.o + .debug_line 0x0000000000000d09 0x34d ./Peripheral/src/ch32l103_dbgmcu.o + .debug_line 0x0000000000001056 0x580 ./Peripheral/src/ch32l103_exti.o + .debug_line 0x00000000000015d6 0x1249 ./Peripheral/src/ch32l103_gpio.o + .debug_line 0x000000000000281f 0x387 ./Peripheral/src/ch32l103_misc.o + .debug_line 0x0000000000002ba6 0x118b ./Peripheral/src/ch32l103_rcc.o + .debug_line 0x0000000000003d31 0x3218 ./Peripheral/src/ch32l103_tim.o + .debug_line 0x0000000000006f49 0xf51 ./Peripheral/src/ch32l103_usart.o + .debug_line 0x0000000000007e9a 0x9c6 ./Hardware/src/gpio.o + .debug_line 0x0000000000008860 0x8a6 ./Hardware/src/rs485.o + .debug_line 0x0000000000009106 0x8e8 ./Hardware/src/tim.o + .debug_line 0x00000000000099ee 0x58c ./Drivers/TimeSliceOffset/timeSliceOffset.o + .debug_line 0x0000000000009f7a 0x3c0 ./Drivers/RingQueue/ring_queue.o + .debug_line 0x000000000000a33a 0x696 ./Debug/debug.o + .debug_line 0x000000000000a9d0 0x8c0 ./App/src/uart_dev.o -.debug_str 0x0000000000000000 0x4ae0 - .debug_str 0x0000000000000000 0x53e ./User/ch32l103_it.o +.debug_str 0x0000000000000000 0x2fb6 + .debug_str 0x0000000000000000 0x54a ./User/ch32l103_it.o 0x5c2 (size before relaxing) - .debug_str 0x000000000000053e 0x2ec ./User/main.o - 0x8a8 (size before relaxing) - .debug_str 0x000000000000082a 0x124 ./User/system_ch32l103.o + .debug_str 0x000000000000054a 0x132 ./User/main.o + 0x6c8 (size before relaxing) + .debug_str 0x000000000000067c 0x124 ./User/system_ch32l103.o 0x6fc (size before relaxing) - .debug_str 0x000000000000094e 0x2a ./Startup/startup_ch32l103.o + .debug_str 0x00000000000007a0 0x2a ./Startup/startup_ch32l103.o 0x3e (size before relaxing) - .debug_str 0x0000000000000978 0x6d7 ./Peripheral/src/ch32l103_adc.o - 0xd19 (size before relaxing) - .debug_str 0x000000000000104f 0x7e ./Peripheral/src/ch32l103_dbgmcu.o + .debug_str 0x00000000000007ca 0xa6 ./Peripheral/src/ch32l103_dbgmcu.o 0x652 (size before relaxing) - .debug_str 0x00000000000010cd 0x1b4 ./Peripheral/src/ch32l103_exti.o + .debug_str 0x0000000000000870 0x1cb ./Peripheral/src/ch32l103_exti.o 0x799 (size before relaxing) - .debug_str 0x0000000000001281 0x367 ./Peripheral/src/ch32l103_gpio.o + .debug_str 0x0000000000000a3b 0x394 ./Peripheral/src/ch32l103_gpio.o 0x976 (size before relaxing) - .debug_str 0x00000000000015e8 0x4f1 ./Peripheral/src/ch32l103_misc.o + .debug_str 0x0000000000000dcf 0x4f1 ./Peripheral/src/ch32l103_misc.o 0xadc (size before relaxing) - .debug_str 0x0000000000001ad9 0x3d2 ./Peripheral/src/ch32l103_rcc.o + .debug_str 0x00000000000012c0 0x3d2 ./Peripheral/src/ch32l103_rcc.o 0xab3 (size before relaxing) - .debug_str 0x0000000000001eab 0x2b1 ./Peripheral/src/ch32l103_spi.o - 0x95c (size before relaxing) - .debug_str 0x000000000000215c 0xbdb ./Peripheral/src/ch32l103_tim.o + .debug_str 0x0000000000001692 0xbef ./Peripheral/src/ch32l103_tim.o 0x12c1 (size before relaxing) - .debug_str 0x0000000000002d37 0x401 ./Peripheral/src/ch32l103_usart.o + .debug_str 0x0000000000002281 0x40e ./Peripheral/src/ch32l103_usart.o 0xb0c (size before relaxing) - .debug_str 0x0000000000003138 0x57 ./Hardware/src/adc.o - 0x9a0 (size before relaxing) - .debug_str 0x000000000000318f 0x222 ./Hardware/src/flash.o - 0xb11 (size before relaxing) - .debug_str 0x00000000000033b1 0xf8 ./Hardware/src/gpio.o - 0xf79 (size before relaxing) - .debug_str 0x00000000000034a9 0x82 ./Hardware/src/pwm.o - 0xa88 (size before relaxing) - .debug_str 0x000000000000352b 0x14b ./Hardware/src/rs485.o + .debug_str 0x000000000000268f 0xdf ./Hardware/src/gpio.o + 0xd98 (size before relaxing) + .debug_str 0x000000000000276e 0x14b ./Hardware/src/rs485.o 0xe4a (size before relaxing) - .debug_str 0x0000000000003676 0x124 ./Hardware/src/tim.o - 0x1028 (size before relaxing) - .debug_str 0x000000000000379a 0x7b ./Drivers/TimeSliceOffset/timeSliceOffset.o + .debug_str 0x00000000000028b9 0x121 ./Hardware/src/tim.o + 0xe4e (size before relaxing) + .debug_str 0x00000000000029da 0xca ./Drivers/TimeSliceOffset/timeSliceOffset.o 0x6eb (size before relaxing) - .debug_str 0x0000000000003815 0x65 ./Drivers/RingQueue/ring_queue.o + .debug_str 0x0000000000002aa4 0x65 ./Drivers/RingQueue/ring_queue.o 0x5e7 (size before relaxing) - .debug_str 0x000000000000387a 0x41 ./Debug/debug.o + .debug_str 0x0000000000002b09 0x53 ./Debug/debug.o 0x8e4 (size before relaxing) - .debug_str 0x00000000000038bb 0x149 ./App/src/collect_Conversion.o - 0x8d1 (size before relaxing) - .debug_str 0x0000000000003a04 0x264 ./App/src/inflash.o - 0x9f7 (size before relaxing) - .debug_str 0x0000000000003c68 0x2bb ./App/src/mppt_control.o - 0x100e (size before relaxing) - .debug_str 0x0000000000003f23 0x897 ./App/src/sl_protocol.o - 0x169f (size before relaxing) - .debug_str 0x00000000000047ba 0x247 ./App/src/task.o - 0x1411 (size before relaxing) - .debug_str 0x0000000000004a01 0xdf ./App/src/uart_dev.o - 0xad7 (size before relaxing) + .debug_str 0x0000000000002b5c 0x45a ./App/src/uart_dev.o + 0xcdc (size before relaxing) .comment 0x0000000000000000 0x33 .comment 0x0000000000000000 0x33 ./User/ch32l103_it.o 0x34 (size before relaxing) .comment 0x0000000000000033 0x34 ./User/main.o .comment 0x0000000000000033 0x34 ./User/system_ch32l103.o - .comment 0x0000000000000033 0x34 ./Peripheral/src/ch32l103_adc.o .comment 0x0000000000000033 0x34 ./Peripheral/src/ch32l103_dbgmcu.o .comment 0x0000000000000033 0x34 ./Peripheral/src/ch32l103_exti.o .comment 0x0000000000000033 0x34 ./Peripheral/src/ch32l103_gpio.o .comment 0x0000000000000033 0x34 ./Peripheral/src/ch32l103_misc.o .comment 0x0000000000000033 0x34 ./Peripheral/src/ch32l103_rcc.o - .comment 0x0000000000000033 0x34 ./Peripheral/src/ch32l103_spi.o .comment 0x0000000000000033 0x34 ./Peripheral/src/ch32l103_tim.o .comment 0x0000000000000033 0x34 ./Peripheral/src/ch32l103_usart.o - .comment 0x0000000000000033 0x34 ./Hardware/src/adc.o - .comment 0x0000000000000033 0x34 ./Hardware/src/flash.o .comment 0x0000000000000033 0x34 ./Hardware/src/gpio.o - .comment 0x0000000000000033 0x34 ./Hardware/src/pwm.o .comment 0x0000000000000033 0x34 ./Hardware/src/rs485.o .comment 0x0000000000000033 0x34 ./Hardware/src/tim.o .comment 0x0000000000000033 0x34 ./Drivers/TimeSliceOffset/timeSliceOffset.o .comment 0x0000000000000033 0x34 ./Drivers/RingQueue/ring_queue.o .comment 0x0000000000000033 0x34 ./Debug/debug.o - .comment 0x0000000000000033 0x34 ./App/src/collect_Conversion.o - .comment 0x0000000000000033 0x34 ./App/src/inflash.o - .comment 0x0000000000000033 0x34 ./App/src/mppt_control.o - .comment 0x0000000000000033 0x34 ./App/src/sl_protocol.o - .comment 0x0000000000000033 0x34 ./App/src/task.o .comment 0x0000000000000033 0x34 ./App/src/uart_dev.o -.debug_frame 0x0000000000000000 0x3394 +.debug_frame 0x0000000000000000 0x1d20 .debug_frame 0x0000000000000000 0x30 ./User/ch32l103_it.o .debug_frame 0x0000000000000030 0x2c ./User/main.o .debug_frame 0x000000000000005c 0x48 ./User/system_ch32l103.o - .debug_frame 0x00000000000000a4 0x334 ./Peripheral/src/ch32l103_adc.o - .debug_frame 0x00000000000003d8 0x70 ./Peripheral/src/ch32l103_dbgmcu.o - .debug_frame 0x0000000000000448 0x90 ./Peripheral/src/ch32l103_exti.o - .debug_frame 0x00000000000004d8 0x160 ./Peripheral/src/ch32l103_gpio.o - .debug_frame 0x0000000000000638 0x30 ./Peripheral/src/ch32l103_misc.o - .debug_frame 0x0000000000000668 0x254 ./Peripheral/src/ch32l103_rcc.o - .debug_frame 0x00000000000008bc 0x16c ./Peripheral/src/ch32l103_spi.o - .debug_frame 0x0000000000000a28 0x634 ./Peripheral/src/ch32l103_tim.o - .debug_frame 0x000000000000105c 0x204 ./Peripheral/src/ch32l103_usart.o - .debug_frame 0x0000000000001260 0x38 ./Hardware/src/adc.o - .debug_frame 0x0000000000001298 0x274 ./Hardware/src/flash.o - .debug_frame 0x000000000000150c 0x150 ./Hardware/src/gpio.o - .debug_frame 0x000000000000165c 0x84 ./Hardware/src/pwm.o - .debug_frame 0x00000000000016e0 0xd8 ./Hardware/src/rs485.o - .debug_frame 0x00000000000017b8 0x144 ./Hardware/src/tim.o - .debug_frame 0x00000000000018fc 0x5c ./Drivers/TimeSliceOffset/timeSliceOffset.o - .debug_frame 0x0000000000001958 0x60 ./Drivers/RingQueue/ring_queue.o - .debug_frame 0x00000000000019b8 0x9c ./Debug/debug.o - .debug_frame 0x0000000000001a54 0x110 ./App/src/collect_Conversion.o - .debug_frame 0x0000000000001b64 0x78 ./App/src/inflash.o - .debug_frame 0x0000000000001bdc 0x1f8 ./App/src/mppt_control.o - .debug_frame 0x0000000000001dd4 0x258 ./App/src/sl_protocol.o - .debug_frame 0x000000000000202c 0x268 ./App/src/task.o - .debug_frame 0x0000000000002294 0x194 ./App/src/uart_dev.o - .debug_frame 0x0000000000002428 0x44 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(adddf3.o) - .debug_frame 0x000000000000246c 0x20 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(gedf2.o) - .debug_frame 0x000000000000248c 0x20 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(ledf2.o) - .debug_frame 0x00000000000024ac 0x54 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(muldf3.o) - .debug_frame 0x0000000000002500 0x44 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(subdf3.o) - .debug_frame 0x0000000000002544 0x38 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(floatsidf.o) - .debug_frame 0x000000000000257c 0x40 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(addsf3.o) - .debug_frame 0x00000000000025bc 0x50 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(divsf3.o) - .debug_frame 0x000000000000260c 0x20 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(eqsf2.o) - .debug_frame 0x000000000000262c 0x20 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(gesf2.o) - .debug_frame 0x000000000000264c 0x20 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(lesf2.o) - .debug_frame 0x000000000000266c 0x50 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(mulsf3.o) - .debug_frame 0x00000000000026bc 0x3c d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(subsf3.o) - .debug_frame 0x00000000000026f8 0x20 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(fixsfsi.o) - .debug_frame 0x0000000000002718 0x20 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(fixunssfsi.o) - .debug_frame 0x0000000000002738 0x38 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(floatsisf.o) - .debug_frame 0x0000000000002770 0x44 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(floatunsisf.o) - .debug_frame 0x00000000000027b4 0x38 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(extendsfdf2.o) - .debug_frame 0x00000000000027ec 0x20 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(truncdfsf2.o) - .debug_frame 0x000000000000280c 0x20 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/rv32imacxw/ilp32\libgcc.a(_clzsi2.o) - .debug_frame 0x000000000000282c 0x20 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-memcpy.o) - .debug_frame 0x000000000000284c 0x54 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-printf.o) - .debug_frame 0x00000000000028a0 0x54 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-puts.o) - .debug_frame 0x00000000000028f4 0x5c d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-rand.o) - .debug_frame 0x0000000000002950 0x48 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-sprintf.o) - .debug_frame 0x0000000000002998 0x50 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-wbuf.o) - .debug_frame 0x00000000000029e8 0x3c d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-wsetup.o) - .debug_frame 0x0000000000002a24 0x7c d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-fflush.o) - .debug_frame 0x0000000000002aa0 0x148 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-findfp.o) - .debug_frame 0x0000000000002be8 0x88 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-fwalk.o) - .debug_frame 0x0000000000002c70 0x64 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-makebuf.o) - .debug_frame 0x0000000000002cd4 0x30 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-malloc.o) - .debug_frame 0x0000000000002d04 0x40 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-freer.o) - .debug_frame 0x0000000000002d44 0x40 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-mallocr.o) - .debug_frame 0x0000000000002d84 0xe0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-svfprintf.o) - .debug_frame 0x0000000000002e64 0xd0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-vfprintf.o) - .debug_frame 0x0000000000002f34 0x8c d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-vfprintf_i.o) - .debug_frame 0x0000000000002fc0 0x30 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-sbrkr.o) - .debug_frame 0x0000000000002ff0 0xa4 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-stdio.o) - .debug_frame 0x0000000000003094 0x30 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-writer.o) - .debug_frame 0x00000000000030c4 0x30 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-closer.o) - .debug_frame 0x00000000000030f4 0x30 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-fstatr.o) - .debug_frame 0x0000000000003124 0x30 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-isattyr.o) - .debug_frame 0x0000000000003154 0x30 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-lseekr.o) - .debug_frame 0x0000000000003184 0x20 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-memchr.o) - .debug_frame 0x00000000000031a4 0x20 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-memmove.o) - .debug_frame 0x00000000000031c4 0x30 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-mlock.o) - .debug_frame 0x00000000000031f4 0x40 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-reallocr.o) - .debug_frame 0x0000000000003234 0x30 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-readr.o) - .debug_frame 0x0000000000003264 0x70 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-reent.o) - .debug_frame 0x00000000000032d4 0x20 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-msizer.o) - .debug_frame 0x00000000000032f4 0x20 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libnosys.a(close.o) - .debug_frame 0x0000000000003314 0x20 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libnosys.a(fstat.o) - .debug_frame 0x0000000000003334 0x20 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libnosys.a(isatty.o) - .debug_frame 0x0000000000003354 0x20 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libnosys.a(lseek.o) - .debug_frame 0x0000000000003374 0x20 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libnosys.a(read.o) + .debug_frame 0x00000000000000a4 0x70 ./Peripheral/src/ch32l103_dbgmcu.o + .debug_frame 0x0000000000000114 0x90 ./Peripheral/src/ch32l103_exti.o + .debug_frame 0x00000000000001a4 0x160 ./Peripheral/src/ch32l103_gpio.o + .debug_frame 0x0000000000000304 0x30 ./Peripheral/src/ch32l103_misc.o + .debug_frame 0x0000000000000334 0x254 ./Peripheral/src/ch32l103_rcc.o + .debug_frame 0x0000000000000588 0x634 ./Peripheral/src/ch32l103_tim.o + .debug_frame 0x0000000000000bbc 0x204 ./Peripheral/src/ch32l103_usart.o + .debug_frame 0x0000000000000dc0 0x144 ./Hardware/src/gpio.o + .debug_frame 0x0000000000000f04 0xd8 ./Hardware/src/rs485.o + .debug_frame 0x0000000000000fdc 0x144 ./Hardware/src/tim.o + .debug_frame 0x0000000000001120 0x5c ./Drivers/TimeSliceOffset/timeSliceOffset.o + .debug_frame 0x000000000000117c 0x60 ./Drivers/RingQueue/ring_queue.o + .debug_frame 0x00000000000011dc 0x9c ./Debug/debug.o + .debug_frame 0x0000000000001278 0x194 ./App/src/uart_dev.o + .debug_frame 0x000000000000140c 0x54 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-printf.o) + .debug_frame 0x0000000000001460 0x54 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-puts.o) + .debug_frame 0x00000000000014b4 0x50 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-wbuf.o) + .debug_frame 0x0000000000001504 0x3c d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-wsetup.o) + .debug_frame 0x0000000000001540 0x7c d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-fflush.o) + .debug_frame 0x00000000000015bc 0x148 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-findfp.o) + .debug_frame 0x0000000000001704 0x88 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-fwalk.o) + .debug_frame 0x000000000000178c 0x64 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-makebuf.o) + .debug_frame 0x00000000000017f0 0x40 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-freer.o) + .debug_frame 0x0000000000001830 0x40 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-mallocr.o) + .debug_frame 0x0000000000001870 0xd0 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-vfprintf.o) + .debug_frame 0x0000000000001940 0x8c d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-nano-vfprintf_i.o) + .debug_frame 0x00000000000019cc 0x30 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-sbrkr.o) + .debug_frame 0x00000000000019fc 0xa4 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-stdio.o) + .debug_frame 0x0000000000001aa0 0x30 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-writer.o) + .debug_frame 0x0000000000001ad0 0x30 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-closer.o) + .debug_frame 0x0000000000001b00 0x30 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-fstatr.o) + .debug_frame 0x0000000000001b30 0x30 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-isattyr.o) + .debug_frame 0x0000000000001b60 0x30 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-lseekr.o) + .debug_frame 0x0000000000001b90 0x20 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-memchr.o) + .debug_frame 0x0000000000001bb0 0x30 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-mlock.o) + .debug_frame 0x0000000000001be0 0x30 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-readr.o) + .debug_frame 0x0000000000001c10 0x70 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libg_nano.a(lib_a-reent.o) + .debug_frame 0x0000000000001c80 0x20 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libnosys.a(close.o) + .debug_frame 0x0000000000001ca0 0x20 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libnosys.a(fstat.o) + .debug_frame 0x0000000000001cc0 0x20 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libnosys.a(isatty.o) + .debug_frame 0x0000000000001ce0 0x20 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libnosys.a(lseek.o) + .debug_frame 0x0000000000001d00 0x20 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libnosys.a(read.o) -.debug_loc 0x0000000000000000 0x67e0 +.debug_loc 0x0000000000000000 0x3e96 .debug_loc 0x0000000000000000 0xac ./User/system_ch32l103.o - .debug_loc 0x00000000000000ac 0xc10 ./Peripheral/src/ch32l103_adc.o - .debug_loc 0x0000000000000cbc 0x7c ./Peripheral/src/ch32l103_dbgmcu.o - .debug_loc 0x0000000000000d38 0x181 ./Peripheral/src/ch32l103_exti.o - .debug_loc 0x0000000000000eb9 0x896 ./Peripheral/src/ch32l103_gpio.o - .debug_loc 0x000000000000174f 0x2d ./Peripheral/src/ch32l103_misc.o - .debug_loc 0x000000000000177c 0x797 ./Peripheral/src/ch32l103_rcc.o - .debug_loc 0x0000000000001f13 0x437 ./Peripheral/src/ch32l103_spi.o - .debug_loc 0x000000000000234a 0x1a0f ./Peripheral/src/ch32l103_tim.o - .debug_loc 0x0000000000003d59 0x757 ./Peripheral/src/ch32l103_usart.o - .debug_loc 0x00000000000044b0 0x466 ./Hardware/src/flash.o - .debug_loc 0x0000000000004916 0x5b ./Hardware/src/pwm.o - .debug_loc 0x0000000000004971 0x142 ./Hardware/src/rs485.o - .debug_loc 0x0000000000004ab3 0x200 ./Hardware/src/tim.o - .debug_loc 0x0000000000004cb3 0x128 ./Drivers/TimeSliceOffset/timeSliceOffset.o - .debug_loc 0x0000000000004ddb 0xd7 ./Drivers/RingQueue/ring_queue.o - .debug_loc 0x0000000000004eb2 0x1c7 ./Debug/debug.o - .debug_loc 0x0000000000005079 0x3e3 ./App/src/collect_Conversion.o - .debug_loc 0x000000000000545c 0x3f ./App/src/inflash.o - .debug_loc 0x000000000000549b 0x2df ./App/src/mppt_control.o - .debug_loc 0x000000000000577a 0xcd0 ./App/src/sl_protocol.o - .debug_loc 0x000000000000644a 0x71 ./App/src/task.o - .debug_loc 0x00000000000064bb 0x325 ./App/src/uart_dev.o + .debug_loc 0x00000000000000ac 0x7c ./Peripheral/src/ch32l103_dbgmcu.o + .debug_loc 0x0000000000000128 0x181 ./Peripheral/src/ch32l103_exti.o + .debug_loc 0x00000000000002a9 0x896 ./Peripheral/src/ch32l103_gpio.o + .debug_loc 0x0000000000000b3f 0x2d ./Peripheral/src/ch32l103_misc.o + .debug_loc 0x0000000000000b6c 0x797 ./Peripheral/src/ch32l103_rcc.o + .debug_loc 0x0000000000001303 0x1a0f ./Peripheral/src/ch32l103_tim.o + .debug_loc 0x0000000000002d12 0x757 ./Peripheral/src/ch32l103_usart.o + .debug_loc 0x0000000000003469 0x142 ./Hardware/src/rs485.o + .debug_loc 0x00000000000035ab 0x200 ./Hardware/src/tim.o + .debug_loc 0x00000000000037ab 0x128 ./Drivers/TimeSliceOffset/timeSliceOffset.o + .debug_loc 0x00000000000038d3 0xd7 ./Drivers/RingQueue/ring_queue.o + .debug_loc 0x00000000000039aa 0x1c7 ./Debug/debug.o + .debug_loc 0x0000000000003b71 0x325 ./App/src/uart_dev.o .stab 0x0000000000000000 0x84 .stab 0x0000000000000000 0x24 d:/psx/rj/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/lib/rv32imacxw/ilp32\libnosys.a(close.o)