TCPClient.elf: file format elf32-littleriscv TCPClient.elf architecture: riscv:rv32, flags 0x00000112: EXEC_P, HAS_SYMS, D_PAGED start address 0x00000000 Program Header: LOAD off 0x00001000 vaddr 0x00000000 paddr 0x00000000 align 2**12 filesz 0x00008e94 memsz 0x00008e94 flags r-x LOAD off 0x0000a000 vaddr 0x20000000 paddr 0x00008e94 align 2**12 filesz 0x00000078 memsz 0x000078d4 flags rw- LOAD off 0x0000a800 vaddr 0x2001f800 paddr 0x2001f800 align 2**12 filesz 0x00000000 memsz 0x00000800 flags rw- Sections: Idx Name Size VMA LMA File off Algn Flags 0 .init 00000004 00000000 00000000 00001000 2**1 CONTENTS, ALLOC, LOAD, READONLY, CODE 1 .vector 000001bc 00000004 00000004 00001004 2**1 CONTENTS, ALLOC, LOAD, READONLY, CODE 2 .text 00008cd4 000001c0 000001c0 000011c0 2**2 CONTENTS, ALLOC, LOAD, READONLY, CODE 3 .fini 00000000 00008e94 00008e94 0000a078 2**0 CONTENTS, ALLOC, LOAD, CODE 4 .dalign 00000000 20000000 20000000 0000a078 2**0 CONTENTS 5 .dlalign 00000000 00008e94 00008e94 0000a078 2**0 CONTENTS 6 .data 00000078 20000000 00008e94 0000a000 2**2 CONTENTS, ALLOC, LOAD, DATA 7 .bss 0000785c 20000078 00008f0c 0000a078 2**2 ALLOC 8 .stack 00000800 2001f800 2001f800 0000a800 2**0 ALLOC 9 .debug_info 000148ff 00000000 00000000 0000a078 2**0 CONTENTS, READONLY, DEBUGGING 10 .debug_abbrev 00003264 00000000 00000000 0001e977 2**0 CONTENTS, READONLY, DEBUGGING 11 .debug_aranges 00000cf8 00000000 00000000 00021be0 2**3 CONTENTS, READONLY, DEBUGGING 12 .debug_ranges 00000cb8 00000000 00000000 000228d8 2**3 CONTENTS, READONLY, DEBUGGING 13 .debug_line 0000fb42 00000000 00000000 00023590 2**0 CONTENTS, READONLY, DEBUGGING 14 .debug_str 00004976 00000000 00000000 000330d2 2**0 CONTENTS, READONLY, DEBUGGING 15 .comment 00000033 00000000 00000000 00037a48 2**0 CONTENTS, READONLY 16 .debug_frame 00001c0c 00000000 00000000 00037a7c 2**2 CONTENTS, READONLY, DEBUGGING 17 .debug_loc 00004c11 00000000 00000000 00039688 2**0 CONTENTS, READONLY, DEBUGGING SYMBOL TABLE: 00000000 l d .init 00000000 .init 00000004 l d .vector 00000000 .vector 000001c0 l d .text 00000000 .text 00008e94 l d .fini 00000000 .fini 20000000 l d .dalign 00000000 .dalign 00008e94 l d .dlalign 00000000 .dlalign 20000000 l d .data 00000000 .data 20000078 l d .bss 00000000 .bss 2001f800 l d .stack 00000000 .stack 00000000 l d .debug_info 00000000 .debug_info 00000000 l d .debug_abbrev 00000000 .debug_abbrev 00000000 l d .debug_aranges 00000000 .debug_aranges 00000000 l d .debug_ranges 00000000 .debug_ranges 00000000 l d .debug_line 00000000 .debug_line 00000000 l d .debug_str 00000000 .debug_str 00000000 l d .comment 00000000 .comment 00000000 l d .debug_frame 00000000 .debug_frame 00000000 l d .debug_loc 00000000 .debug_loc 00000000 l df *ABS* 00000000 ./Startup/startup_ch32v30x_D8C.o 00000004 l .vector 00000000 _vector_base 00000000 l df *ABS* 00000000 ch32v30x_it.c 00000000 l df *ABS* 00000000 main.c 00000000 l df *ABS* 00000000 system_ch32v30x.c 00000000 l df *ABS* 00000000 ch32v30x_dbgmcu.c 00000000 l df *ABS* 00000000 ch32v30x_dvp.c 00000000 l df *ABS* 00000000 ch32v30x_eth.c 00000000 l df *ABS* 00000000 ch32v30x_exti.c 00000000 l df *ABS* 00000000 ch32v30x_gpio.c 00000000 l df *ABS* 00000000 ch32v30x_misc.c 00000000 l df *ABS* 00000000 ch32v30x_rcc.c 20000010 l O .data 00000010 APBAHBPrescTable 20000038 l O .data 00000004 ADCPrescTable 00000000 l df *ABS* 00000000 ch32v30x_tim.c 00000000 l df *ABS* 00000000 ch32v30x_usart.c 00000000 l df *ABS* 00000000 eth_driver_RGMII.c 00000000 l df *ABS* 00000000 debug.c 200000b0 l O .bss 00000002 p_ms 200000b2 l O .bss 00000001 p_us 00000000 l df *ABS* 00000000 dvp.c 200000bc l O .bss 00000004 frame_count 00000000 l df *ABS* 00000000 core_riscv.c 00000000 l df *ABS* 00000000 eth_api.c 00000000 l df *ABS* 00000000 ipcheck.c 00000000 l df *ABS* 00000000 socket.c 00000000 l df *ABS* 00000000 etharp.c 00002e0a l F .text 00000180 find_entry 00002f8a l F .text 000000b2 update_arp_entry 200000f8 l O .bss 00000001 etharp_cached_entry 00000000 l df *ABS* 00000000 ethernetif.c 00003686 l F .text 00000052 low_level_output 00000000 l df *ABS* 00000000 inet.c 00000000 l df *ABS* 00000000 ip.c 20000104 l O .bss 00000002 ip_id.2947 00000000 l df *ABS* 00000000 ip_addr.c 00000000 l df *ABS* 00000000 ip_frag.c 20000106 l O .bss 00000002 ip_reass_pbufcount 20000108 l O .bss 00000004 reassdatagrams 00000000 l df *ABS* 00000000 dhcp.c 0000430a l F .text 00000016 dhcp_set_state 00004320 l F .text 00000020 dhcp_option 00004340 l F .text 00000012 dhcp_option_byte 00004352 l F .text 00000048 dhcp_option_long 0000439a l F .text 00000034 dhcp_option_trailer 000043ce l F .text 0000018a dhcp_create_request 00004558 l F .text 0000001e dhcp_delete_request 00000000 l df *ABS* 00000000 init.c 00000000 l df *ABS* 00000000 mem.c 2000010c l O .bss 00000004 lfree 20000110 l O .bss 00000004 ram 20000114 l O .bss 00000004 ram_end 00000000 l df *ABS* 00000000 memp.c 200078a0 l O .bss 00000020 memp_tab 00000000 l df *ABS* 00000000 netif.c 20000120 l O .bss 00000001 netifnum.2482 00000000 l df *ABS* 00000000 pbuf.c 00000000 l df *ABS* 00000000 raw.c 20000124 l O .bss 00000004 raw_pcbs 00000000 l df *ABS* 00000000 tcp.c 00004fe4 l F .text 0000005c tcp_new_port 20000138 l O .bss 00000001 tcp_timer 2000004c l O .data 00000004 iss.3197 20000050 l O .data 00000002 port.3029 00000000 l df *ABS* 00000000 tcp_in.c 00005afc l F .text 000000ce tcp_oos_insert_segment 00005bca l F .text 00000944 tcp_receive 0000650e l F .text 000000a6 tcp_parseopt.isra.0 200078c0 l O .bss 00000014 inseg 20000144 l O .bss 00000004 ackno 20000148 l O .bss 00000001 flags 2000014c l O .bss 00000004 iphdr 20000150 l O .bss 00000004 recv_data 20000154 l O .bss 00000001 recv_flags 20000158 l O .bss 00000004 seqno 20000160 l O .bss 00000004 tcphdr 20000164 l O .bss 00000002 tcplen 00000000 l df *ABS* 00000000 tcp_out.c 00006fe2 l F .text 000000d4 tcp_output_set_header.isra.0.constprop.1 00000000 l df *ABS* 00000000 udp.c 00000000 l df *ABS* 00000000 icmp.c 000080f8 l F .text 00000076 icmp_send_response.isra.0 00000000 l df *ABS* 00000000 inet_chksum.c 000083e6 l F .text 0000007e lwip_standard_chksum 00000000 l df *ABS* 00000000 wchprintf.c 00000000 l df *ABS* 00000000 memcpy.c 00000000 l df *ABS* 00000000 net_dhcp.c 0000880c w F .text 00000004 printDouble 000008ca w .text 00000000 EXTI2_IRQHandler 00008b9e g F .text 00000018 putchar 0000856e g F .text 00000014 inet_chksum 00000568 g F .text 0000005e WCHNET_HandleGlobalInt 000008ca w .text 00000000 TIM8_TRG_COM_IRQHandler 00004ee4 g F .text 0000001e raw_bind 00003db0 g F .text 000003dc ip_reass 000008ca w .text 00000000 TIM8_CC_IRQHandler 00004d3c g F .text 00000058 pbuf_realloc 000009ac g F .text 00000062 DVP_Cfg 20000032 g O .data 00000002 srcport 00005860 g F .text 00000010 tcp_next_iss 00005156 g F .text 00000048 tcp_update_rcv_ann_wnd 00001e36 g F .text 00000012 setRxBuffAddr 00000b98 g F .text 00000010 ETH_FlushTransmitFIFO 00000f1c g F .text 0000001e RCC_AHBPeriphResetCmd 2000011c g O .bss 00000004 netif_list 000008ca w .text 00000000 UART8_IRQHandler 0000791c g F .text 00000108 tcp_rst 00008810 w F .text 00000320 print 200000d8 g O .bss 00000004 TCPTimer 00003206 g F .text 000000ce etharp_request 00008b30 w F .text 00000024 printf 20000820 g .data 00000000 __global_pointer$ 000001c8 g F .text 00000028 .hidden __riscv_save_8 0000525a g F .text 00000006 tcp_err 20000064 g O .data 00000004 ip_addr_any 000008ca w .text 00000000 TIM1_CC_IRQHandler 00008464 g F .text 0000010a inet_chksum_pseudo 000023b8 g F .text 00000016 WCHNET_ConfigKeepLive 000074fe g F .text 00000016 tcp_send_ctrl 000002ca g F .text 00000052 HardFault_Handler 00003af0 g F .text 0000015a ip_output_if 000049dc g F .text 00000018 memp_free 00008716 w F .text 000000f2 printInt 00004bae g F .text 0000004e pbuf_free 00000214 g F .text 0000000c .hidden __riscv_restore_3 00002cc6 g F .text 00000012 WCHNET_GetGlobalInt 0000524e g F .text 00000006 tcp_recv 000008ca w .text 00000000 TIM6_IRQHandler 000017e2 g F .text 00000058 ETH_Init 000008ca w .text 00000000 SysTick_Handler 00004db0 g F .text 0000001c pbuf_cat 00000cf0 g F .text 0000005c NVIC_Init 000008ca w .text 00000000 PVD_IRQHandler 000008ca w .text 00000000 SDIO_IRQHandler 200000e4 g O .bss 00000001 ARP_Retry_Cnt 00003c4a g F .text 00000036 ip_output 000008ca w .text 00000000 TIM9_BRK_IRQHandler 00000200 g F .text 00000020 .hidden __riscv_restore_10 0000164e g F .text 00000110 ReInitMACReg 00008010 g F .text 0000002e udp_sendto 00001152 g F .text 00000040 ETH_TxPktChainMode 200000e0 g O .bss 00000004 phydatatime 000008ca w .text 00000000 DMA2_Channel8_IRQHandler 000002c8 g F .text 00000002 NMI_Handler 00007b38 g F .text 0000005e tcp_keepalive 000008ca w .text 00000000 CAN2_RX1_IRQHandler 000008ca w .text 00000000 EXTI3_IRQHandler 0000230e g F .text 000000aa WCHNET_Init 000032d4 g F .text 0000007c etharp_tmr 000001c8 g F .text 00000028 .hidden __riscv_save_11 0000095a g F .text 0000000a DBGMCU_GetCHIPID 00005870 g F .text 00000134 tcp_alloc 00001d3e g F .text 00000014 WCHNET_NetInput 00008dd8 g O .text 00000010 MemSize 00007f3a g F .text 000000d6 udp_sendto_if 00001790 g F .text 00000052 WCHNET_ETHIsr 0000524a g F .text 00000004 tcp_arg 000008ca w .text 00000000 USBHS_IRQHandler 00003096 g F .text 00000170 etharp_arp_input 20000128 g O .bss 00000004 tcp_active_pcbs 00001148 g F .text 0000000a USART_GetFlagStatus 000008ca w .text 00000000 DMA2_Channel9_IRQHandler 20000168 g O .bss 00000004 udp_pcbs 000008ca w .text 00000000 TIM10_CC_IRQHandler 2000007c g O .bss 00000006 MACAddr 0000359c g F .text 00000086 ethernet_input 20000078 g .bss 00000000 _sbss 00000800 g *ABS* 00000000 __stack_size 00004da6 g F .text 0000000a pbuf_ref 0000190a g F .text 00000062 USART_Printf_Init 00002b42 g F .text 00000056 WCHNET_SocketSend 20000094 g O .bss 00000004 ChipId 00005696 g F .text 00000030 tcp_recv_null 200000e8 g O .bss 00000001 SockNumber 000008ca w .text 00000000 USBFS_IRQHandler 000055e4 g F .text 000000b2 tcp_close 20007774 g O .bss 0000000c SelARP 0000519e g F .text 0000003c tcp_recved 000004ce g F .text 0000009a WCHNET_HandleSockInt 00000214 g F .text 0000000c .hidden __riscv_restore_2 0000526a g F .text 0000004e tcp_pcb_purge 2000006c g O .data 00000007 tcp_persist_backoff 00000a0e g F .text 00000014 ETH_DeInit 00008bb6 g F .text 000000b2 memcpy 0000474e g F .text 00000084 mem_free 20000134 g O .bss 00000004 tcp_ticks 20000130 g O .bss 00000004 tcp_listen_pcbs 00007a24 g F .text 00000036 tcp_rexmit_rto 200000b8 g O .bss 00000004 current_line_idx 00003c80 g F .text 0000004a ip_addr_isbroadcast 00008808 w F .text 00000004 printLongLongInt 20000088 g O .bss 00000004 DMARxDescToGet 000059a4 g F .text 00000010 tcp_new 000008ca w .text 00000000 EXTI0_IRQHandler 00000f54 g F .text 00000024 RCC_ETH1G_125Mcmd 000008ca w .text 00000000 I2C2_EV_IRQHandler 00001e7a g F .text 0000000e GetChipID 000008ca w .text 00000000 TIM10_TRG_COM_IRQHandler 00001f48 g F .text 0000003e IPCheckTmr 00001066 g F .text 00000018 TIM_Cmd 00008b54 g F .text 0000004a puts 20007780 g O .bss 00000018 DHCPCtrl 20000034 g O .data 00000004 SystemCoreClock 00004fa4 g F .text 00000010 raw_send 00008582 g F .text 0000006a inet_chksum_pbuf 0000041c g F .text 00000068 WCHNET_CreateTcpSocket 0000816e g F .text 00000250 icmp_input 00000004 g .init 00000000 _einit 00001090 g F .text 0000000c TIM_ClearITPendingBit 00004ad8 g F .text 0000005a netif_add 00000ee0 g F .text 0000001e RCC_APB2PeriphClockCmd 000001c0 g F .text 00000030 .hidden __riscv_save_12 00005204 g F .text 0000001e tcp_segs_free 00002c88 g F .text 0000003e WCHNET_QueryGlobalInt 000008ca w .text 00000000 CAN2_SCE_IRQHandler 000008ca w .text 00000000 ADC1_2_IRQHandler 00002d0c g F .text 00000054 WCHNET_SocketSetKeepLive 00000c30 g F .text 000000c0 GPIO_Init 000008ca w .text 00000000 Break_Point_Handler 000049f4 g F .text 00000096 netif_set_ipaddr 00000200 g F .text 00000020 .hidden __riscv_restore_11 20000090 g O .bss 00000004 NVIC_Priority_Group 000008ca w .text 00000000 SPI1_IRQHandler 0000112a g F .text 00000016 USART_Cmd 00002cd8 g F .text 0000002a WCHNET_GetSocketInt 00007514 g F .text 00000030 tcp_write 000008ca w .text 00000000 TAMPER_IRQHandler 000001f0 g F .text 0000000c .hidden __riscv_save_1 20000084 g O .bss 00000001 socket 2000783c g O .bss 0000002c WCHCfg 00000214 g F .text 0000000c .hidden __riscv_restore_0 0000574a g F .text 0000007c tcp_fastsendack 00001492 g F .text 00000094 ETH_RegInit 000001d6 g F .text 0000001a .hidden __riscv_save_7 000008ca w .text 00000000 CAN2_RX0_IRQHandler 2000003c g O .data 00000004 DHCPXid 00005040 g F .text 00000116 tcp_bind 000083d2 g F .text 00000014 icmp_time_exceeded 20000d64 g O .bss 000029ac MACRxBuf 000008ca w .text 00000000 TIM8_UP_IRQHandler 0000418c g F .text 0000017e ip_frag 00000efe g F .text 0000001e RCC_APB1PeriphClockCmd 000027ee g F .text 000000e8 WCHNET_SocketRecv 200000a8 g O .bss 00000004 pDMARxSet 000008ca w .text 00000000 Ecall_M_Mode_Handler 2001f800 g .stack 00000000 _heap_end 20007798 g O .bss 00000040 dhcp_host_name 00004f26 g F .text 0000007e raw_sendto 000018d4 g F .text 00000036 Delay_Us 0000020a g F .text 00000016 .hidden __riscv_restore_5 20000082 g O .bss 00000001 SocketId 000008ca w .text 00000000 DMA2_Channel2_IRQHandler 00000ec2 g F .text 0000001e RCC_AHBPeriphClockCmd 000008ca w .text 00000000 DMA1_Channel4_IRQHandler 00004de0 g F .text 0000009c pbuf_copy 00007a5a g F .text 0000007c tcp_rexmit 00001ff2 g F .text 00000004 LwipTCPPollCallBack 2000008c g O .bss 00000004 DMATxDescToSet 00000acc g F .text 00000014 ETH_MACTransmissionCmd 2000002c g O .data 00000004 IPMask 200000b3 g O .bss 00000001 Line_Ready_Flag 000008ca w .text 00000000 TIM9_UP_IRQHandler 0000020a g F .text 00000016 .hidden __riscv_restore_6 000008ca w .text 00000000 USART3_IRQHandler 00000c26 g F .text 0000000a EXTI_ClearITPendingBit 000008ca w .text 00000000 RTC_IRQHandler 2000013c g O .bss 00000004 tcp_tmp_pcb 200078d4 g .bss 00000000 _ebss 200047a8 g O .bss 00001270 Mem_Heap_Memory 000008ca w .text 00000000 DMA1_Channel7_IRQHandler 200000c8 g O .bss 00000004 DHCPcoarseTimer 00000bf8 g F .text 0000002e RGMII_TXC_Delay 000008ca w .text 00000000 CAN1_RX1_IRQHandler 000018ae g F .text 00000026 Delay_Init 00004710 g F .text 0000003e mem_init 00000b90 g F .text 00000008 ETH_DMAClearITPendingBit 00001b14 g F .text 0000005a DVP_IRQHandler 000008ca w .text 00000000 UART5_IRQHandler 200000a4 g O .bss 00000002 gPHYAddress 000075b4 g F .text 00000368 tcp_output 000008ca w .text 00000000 TIM4_IRQHandler 2000015c g O .bss 00000004 tcp_input_pcb 00004e7c g F .text 00000068 raw_input 00007544 g F .text 00000070 tcp_send_empty_ack 000001c8 g F .text 00000028 .hidden __riscv_save_9 00007ad6 g F .text 00000062 tcp_rexmit_fast 000008ca w .text 00000000 DMA2_Channel1_IRQHandler 20005a18 g O .bss 0000191f Memp_Memory 00000bda g F .text 0000001e ETH_DMAITConfig 00003748 g F .text 00000076 wch_ethernetif_init 00001e88 g F .text 0000006a getTxBuffAddr 000037fe g F .text 0000000c ntohl 00000b82 g F .text 0000000e ETH_SoftwareReset 000001d6 g F .text 0000001a .hidden __riscv_save_4 00004b32 g F .text 00000006 netif_set_default 000022c2 g F .text 0000004c WCHSocketInit 00000a7a g F .text 00000052 ETH_WritePHYRegister 000080ce g F .text 00000006 udp_recv 000008ca w .text 00000000 I2C1_EV_IRQHandler 00001f86 g F .text 0000002c IPConflictHandle 00004bfc g F .text 00000140 pbuf_alloc 00001f10 g F .text 00000038 SelIPARPSend 00002b98 g F .text 00000052 WCHScokedIntHandle 00000d4c g F .text 00000176 RCC_GetClocksFreq 000008ca w .text 00000000 DMA1_Channel6_IRQHandler 000008ca w .text 00000000 UART4_IRQHandler 200000ec g O .bss 00000004 TCPVerifyConnCallback 000008ca w .text 00000000 DMA2_Channel4_IRQHandler 20000068 g O .data 00000004 ip_addr_broadcast 00003cca g F .text 000000e6 ip_reass_tmr 0000109c g F .text 0000008e USART_Init 20000048 g O .data 00000004 memp_sizes 00001192 g F .text 00000020 WCHNET_GetMacAddr 000008ca w .text 00000000 TIM3_IRQHandler 000008ca w .text 00000000 RCC_IRQHandler 20000d44 g O .bss 00000020 DMATxDscrTab 000001f0 g F .text 0000000c .hidden __riscv_save_3 00008050 g F .text 0000007e udp_connect 000008ca w .text 00000000 TIM1_TRG_COM_IRQHandler 00008e2c g O .text 00000010 ErrTable 000008ca w .text 00000000 DMA1_Channel1_IRQHandler 00004a8a g F .text 0000004e netif_set_addr 00004576 g F .text 00000182 dhcp_arp_reply 200000f4 g O .bss 00000004 tcpSendAckFlag 00000000 g .init 00000000 _start 000008ca w .text 00000000 DMA2_Channel7_IRQHandler 20000000 g O .data 00000010 AHBPrescTable 000049bc g F .text 00000020 memp_malloc 00007b96 g F .text 000000d2 tcp_zero_window_probe 00008636 w F .text 000000e0 prints 00001a72 g F .text 000000a2 DVP_Task 000008ca w .text 00000000 EXTI15_10_IRQHandler 0000107e g F .text 00000012 TIM_ITConfig 200077ec g O .bss 0000000c KeepLiveCfg 00002574 g F .text 000001d2 WCHNET_SocketCreat 0000279e g F .text 00000050 WCHNET_ModifyRecvBuf 20007868 g O .bss 00000038 WCHNetIf 2000012c g O .bss 00000004 tcp_bound_pcbs 000037da g F .text 00000024 htonl 000051da g F .text 0000002a tcp_seg_free 200000b4 g O .bss 00000004 Ready_Line_Ptr 00002bea g F .text 0000009e LwipRemoveTcpPcb 00001b74 g F .text 00000006 __get_MCAUSE 000008ca w .text 00000000 TIM7_IRQHandler 000059e2 g F .text 000000e8 tcp_connect 0000489c g F .text 000000d0 mem_malloc 000008ca w .text 00000000 CAN2_TX_IRQHandler 20000000 g .dalign 00000000 _data_vma 00000964 g F .text 00000016 DVP_INTCfg 000008ca w .text 00000000 TIM5_IRQHandler 00000b36 g F .text 0000004c ETH_DMARxDescChainInit 00000a22 g F .text 00000058 ETH_ReadPHYRegister 0000031c g F .text 00000054 EXTI9_5_IRQHandler 000070b6 g F .text 00000448 tcp_enqueue 000059b4 g F .text 0000002e tcp_eff_send_mss 00002516 g F .text 0000005e WCHFindCorrectTCBPcb 000001c8 g F .text 00000028 .hidden __riscv_save_10 0000183a g F .text 00000074 ETH_LibInit 00002194 g F .text 000000d2 WCHSocketTCPReceive 000008ca w .text 00000000 ETH_WKUP_IRQHandler 0000020a g F .text 00000016 .hidden __riscv_restore_4 00001b7a g F .text 00000006 __get_MTVAL 00000200 g F .text 00000020 .hidden __riscv_restore_8 00001b6e g F .text 00000006 __get_MEPC 000001d6 g F .text 0000001a .hidden __riscv_save_6 00004f02 g F .text 0000001e raw_connect 000008ca w .text 00000000 SPI2_IRQHandler 200000e6 g O .bss 00000002 Arp_Entry_timeout 20000020 g O .data 00000004 DESIP 00000220 g F .text 000000a8 memset 00000200 g F .text 00000020 .hidden __riscv_restore_9 0000020a g F .text 00000016 .hidden __riscv_restore_7 000005c6 g F .text 000000e2 main 200000a0 g O .bss 00000004 LocalTime 20000044 g O .data 00000004 memp_num 000008ca w .text 00000000 TIM10_BRK_IRQHandler 20000024 g O .data 00000004 GWIPAddr 00000396 g F .text 00000018 mStopIfError 000008ca w .text 00000000 TIM9_CC_IRQHandler 000083be g F .text 00000014 icmp_dest_unreach 00001ff6 g F .text 000000c4 SocketIPRAWReceive 00005254 g F .text 00000006 tcp_sent 00004b38 g F .text 00000008 netif_is_up 000008ca w .text 00000000 DMA2_Channel5_IRQHandler 000037cc g F .text 0000000e ntohs 00004fb4 g F .text 00000030 raw_new 200000d4 g O .bss 00000004 IPFragTimer 00001fb2 g F .text 00000002 NET_TCPError 000036d8 g F .text 00000070 ethernetif_input 000008ca w .text 00000000 DMA1_Channel5_IRQHandler 000008ca w .text 00000000 EXTI4_IRQHandler 000008ca w .text 00000000 USB_LP_CAN1_RX0_IRQHandler 20007574 g O .bss 00000200 DMA_LineBuf1 200077d8 g O .bss 00000014 DNSInf 20007374 g O .bss 00000200 DMA_LineBuf0 00002994 g F .text 000000be SocketUdpSend 00007ea0 g F .text 0000009a udp_bind 00005728 g F .text 00000022 tcp_tmr 00003350 g F .text 00000118 etharp_query 00001480 g F .text 00000012 WCHNET_MainTask 000046f8 g F .text 00000018 lwip_init 00001e48 g F .text 00000032 WCHNET_Tx 00003468 g F .text 00000134 etharp_output 000006a8 g F .text 000000f8 SystemInit 000008ca w .text 00000000 RNG_IRQHandler 000019aa g F .text 000000c8 DVP_Init 20000cd4 g O .bss 00000070 DMARxDscrTab 000085ec w F .text 0000004a printchar 00002a52 g F .text 000000f0 SocketTcpSend 000008ca w .text 00000000 USB_HP_CAN1_TX_IRQHandler 00004d94 g F .text 00000012 pbuf_clen 00000000 g .init 00000000 _sinit 2000009c g O .bss 00000004 LastQueryPhyTime 000022a8 g F .text 0000001a ErrorEncode 0000803e g F .text 00000012 udp_send 000008ca w .text 00000000 DMA1_Channel3_IRQHandler 00001636 g F .text 00000018 ETH_Stop 00004f20 g F .text 00000006 raw_recv 00000484 g F .text 0000004a WCHNET_DataLoopback 200000fc g O .bss 00000008 frame 00008dc8 g O .text 00000010 MemNum 00000370 g F .text 00000008 ETH_IRQHandler 000008ca w .text 00000000 TIM1_UP_IRQHandler 000052b8 g F .text 000002ba tcp_slowtmr 00001da0 g F .text 00000096 WCHNET_Rx 00000f3a g F .text 0000001a RCC_ETH1GCLKConfig 20000028 g O .data 00000004 IPAddr 0000097a g F .text 00000032 DVP_Mode 000008ca w .text 00000000 WWDG_IRQHandler 000008ca w .text 00000000 USBHSWakeup_IRQHandler 20000098 g O .bss 00000002 LastPhyStat 000008ca w .text 00000000 DMA2_Channel11_IRQHandler 00000ba8 g F .text 00000032 ETH_Start 000008ca w .text 00000000 Ecall_U_Mode_Handler 00003622 g F .text 00000064 ethernetif_init 000008ca w .text 00000000 DMA2_Channel6_IRQHandler 00000378 g F .text 0000001e TIM2_IRQHandler 20020000 g .stack 00000000 _eusrstack 000001f0 g F .text 0000000c .hidden __riscv_save_2 000008ca w .text 00000000 SW_Handler 20000078 g O .bss 00000004 sys_tick_ms 00002746 g F .text 00000058 tcp_recved_socket 20003710 g O .bss 00000be8 MACTxBuf 200000ac g O .bss 00000004 pDMATxSet 00002d02 g F .text 0000000a WCHNET_GetPHYStatus 00001ef2 g F .text 0000001e IPCheckParaInit 000008ca w .text 00000000 TIM1_BRK_IRQHandler 00001140 g F .text 00000008 USART_SendData 20000140 g O .bss 00000004 tcp_tw_pcbs 000008ca w .text 00000000 DMA2_Channel10_IRQHandler 000008ca w .text 00000000 EXTI1_IRQHandler 00007c68 g F .text 00000238 udp_input 000001d6 g F .text 0000001a .hidden __riscv_save_5 200000cc g O .bss 00000004 DHCPfineTimer 200000dc g O .bss 00000004 TxTimer 0000196c g F .text 0000003e _write 20000078 g .data 00000000 _edata 200078d4 g .bss 00000000 _end 000037be g F .text 0000000e htons 200000d0 g O .bss 00000004 DNSTimer 00001526 g F .text 00000110 ETH_Configuration 200000c4 g O .bss 00000004 ArpCheckTime 00000f78 g F .text 000000ee TIM_TimeBaseInit 0000380a g F .text 0000004c ip_route 000008ca w .text 00000000 RTCAlarm_IRQHandler 00008e94 g .dlalign 00000000 _data_lma 000008ca w .text 00000000 TIM10_UP_IRQHandler 000008ca w .text 00000000 TIM9_TRG_COM_IRQHandler 000008ca w .text 00000000 UART7_IRQHandler 00004b40 g F .text 0000006e pbuf_header 000047d2 g F .text 000000ca mem_realloc 20000118 g O .bss 00000004 netif_default 00005572 g F .text 00000072 tcp_pcb_remove 000008ca w .text 00000000 USART2_IRQHandler 000008ca w .text 00000000 UART6_IRQHandler 000011be g F .text 0000014c ETH_RGMIIPinInit 00004dcc g F .text 00000014 pbuf_chain 200042f8 g O .bss 000004b0 Mem_ArpTable 0000142c g F .text 00000054 WCHNET_QueryPhySta 200000c0 g O .bss 00000004 ARPTimer 20000030 g O .data 00000002 desport 000057c6 g F .text 0000009a tcp_abandon 20000040 g O .data 00000004 arp_table 000020ba g F .text 000000da SocketUdpReceive 00000ae0 g F .text 00000014 ETH_MACReceptionCmd 00002266 g F .text 00000042 LwipTcpConnectedCallBack 000007a0 g F .text 0000012a SystemCoreClockUpdate 20007338 g O .bss 0000003c SocketInf 0000496c g F .text 00000050 memp_init 000056c6 g F .text 00000062 tcp_fasttmr 000028d6 g F .text 000000be SocketIPRawSend 00002512 g F .text 00000004 WCHNET_GetVer 000008ca w .text 00000000 I2C2_ER_IRQHandler 200000f0 g O .bss 00000001 phydata 000008ca w .text 00000000 DMA1_Channel2_IRQHandler 0000303c g F .text 0000005a etharp_ip_input 000001fc g F .text 00000024 .hidden __riscv_restore_12 000008ca w .text 00000000 TIM8_BRK_IRQHandler 000008cc w .text 00000000 handle_reset 000008ca w .text 00000000 CAN1_SCE_IRQHandler 2000016c g O .bss 00000b68 SocketRecvBuf 0000130a g F .text 00000122 ETH_PHYLink 000008ca w .text 00000000 FLASH_IRQHandler 000001f0 g F .text 0000000c .hidden __riscv_save_0 00002dd6 g F .text 0000000e QueryPingEnable 00005222 g F .text 00000028 tcp_seg_copy 000003ae g F .text 0000006e TIM2_Init 000008ca w .text 00000000 USART1_IRQHandler 00005260 g F .text 0000000a tcp_poll 000008ca w .text 00000000 SPI3_IRQHandler 000080d4 g F .text 00000024 udp_new 000008ca w .text 00000000 I2C1_ER_IRQHandler 20000054 g O .data 00000006 ethbroadcast 00008e5c g O .text 0000000d tcp_backoff 000011b2 g F .text 0000000c WCHNET_TimeIsr 00000214 g F .text 0000000c .hidden __riscv_restore_1 200077f8 g O .bss 00000044 NetInf 00001fb4 g F .text 0000003e LwipTCPSendCallBack 00002dfe g F .text 0000000c LwipArpCheck 00002d60 g F .text 00000076 WCHNET_SocketConnect 0000175e g F .text 00000032 WCHNET_RecProcess 000065b4 g F .text 00000a2e tcp_input 00005aca g F .text 00000032 RemoveTimeWaiTCP 00003856 g F .text 0000029a ip_input 2000005c g O .data 00000006 ethzero 000008ca w .text 00000000 USBWakeUp_IRQHandler 000023ce g F .text 00000144 WCHNET_ConfigLIB 00002de4 g F .text 0000001a LwipUnreachPort 200000e5 g O .bss 00000001 ARP_Retry_Period 000008ca w .text 00000000 DMA2_Channel3_IRQHandler 00001d52 g F .text 0000004e WCHNET_PhyStatus 00001b80 g F .text 000001be WCHNET_PeriodicHandle 00000af4 g F .text 00000042 ETH_DMATxDescChainInit Disassembly of section .init: 00000000 <_sinit>: _start(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Startup/startup_ch32v30x_D8C.S:17 .section .init,"ax",@progbits .global _start .align 1 _start: j handle_reset 0: 0cd0006f j 8cc Disassembly of section .vector: 00000004 <_vector_base>: ... _vector_base(): c: 02c8 addi a0,sp,324 e: 0000 unimp 10: 02ca slli t0,t0,0x12 12: 0000 unimp 14: 0000 unimp 16: 0000 unimp 18: 08ca slli a7,a7,0x12 ... 22: 0000 unimp 24: 08ca slli a7,a7,0x12 26: 0000 unimp 28: 08ca slli a7,a7,0x12 ... 32: 0000 unimp 34: 08ca slli a7,a7,0x12 36: 0000 unimp 38: 0000 unimp 3a: 0000 unimp 3c: 08ca slli a7,a7,0x12 3e: 0000 unimp 40: 0000 unimp 42: 0000 unimp 44: 08ca slli a7,a7,0x12 46: 0000 unimp 48: 08ca slli a7,a7,0x12 4a: 0000 unimp 4c: 08ca slli a7,a7,0x12 4e: 0000 unimp 50: 08ca slli a7,a7,0x12 52: 0000 unimp 54: 08ca slli a7,a7,0x12 56: 0000 unimp 58: 08ca slli a7,a7,0x12 5a: 0000 unimp 5c: 08ca slli a7,a7,0x12 5e: 0000 unimp 60: 08ca slli a7,a7,0x12 62: 0000 unimp 64: 08ca slli a7,a7,0x12 66: 0000 unimp 68: 08ca slli a7,a7,0x12 6a: 0000 unimp 6c: 08ca slli a7,a7,0x12 6e: 0000 unimp 70: 08ca slli a7,a7,0x12 72: 0000 unimp 74: 08ca slli a7,a7,0x12 76: 0000 unimp 78: 08ca slli a7,a7,0x12 7a: 0000 unimp 7c: 08ca slli a7,a7,0x12 7e: 0000 unimp 80: 08ca slli a7,a7,0x12 82: 0000 unimp 84: 08ca slli a7,a7,0x12 86: 0000 unimp 88: 08ca slli a7,a7,0x12 8a: 0000 unimp 8c: 08ca slli a7,a7,0x12 8e: 0000 unimp 90: 08ca slli a7,a7,0x12 92: 0000 unimp 94: 08ca slli a7,a7,0x12 96: 0000 unimp 98: 08ca slli a7,a7,0x12 9a: 0000 unimp 9c: 08ca slli a7,a7,0x12 9e: 0000 unimp a0: 031c addi a5,sp,384 a2: 0000 unimp a4: 08ca slli a7,a7,0x12 a6: 0000 unimp a8: 08ca slli a7,a7,0x12 aa: 0000 unimp ac: 08ca slli a7,a7,0x12 ae: 0000 unimp b0: 08ca slli a7,a7,0x12 b2: 0000 unimp b4: 0378 addi a4,sp,396 b6: 0000 unimp b8: 08ca slli a7,a7,0x12 ba: 0000 unimp bc: 08ca slli a7,a7,0x12 be: 0000 unimp c0: 08ca slli a7,a7,0x12 c2: 0000 unimp c4: 08ca slli a7,a7,0x12 c6: 0000 unimp c8: 08ca slli a7,a7,0x12 ca: 0000 unimp cc: 08ca slli a7,a7,0x12 ce: 0000 unimp d0: 08ca slli a7,a7,0x12 d2: 0000 unimp d4: 08ca slli a7,a7,0x12 d6: 0000 unimp d8: 08ca slli a7,a7,0x12 da: 0000 unimp dc: 08ca slli a7,a7,0x12 de: 0000 unimp e0: 08ca slli a7,a7,0x12 e2: 0000 unimp e4: 08ca slli a7,a7,0x12 e6: 0000 unimp e8: 08ca slli a7,a7,0x12 ea: 0000 unimp ec: 08ca slli a7,a7,0x12 ee: 0000 unimp f0: 08ca slli a7,a7,0x12 f2: 0000 unimp f4: 08ca slli a7,a7,0x12 f6: 0000 unimp f8: 08ca slli a7,a7,0x12 fa: 0000 unimp fc: 08ca slli a7,a7,0x12 fe: 0000 unimp 100: 08ca slli a7,a7,0x12 102: 0000 unimp 104: 0000 unimp 106: 0000 unimp 108: 08ca slli a7,a7,0x12 10a: 0000 unimp 10c: 08ca slli a7,a7,0x12 10e: 0000 unimp 110: 08ca slli a7,a7,0x12 112: 0000 unimp 114: 08ca slli a7,a7,0x12 116: 0000 unimp 118: 08ca slli a7,a7,0x12 11a: 0000 unimp 11c: 08ca slli a7,a7,0x12 11e: 0000 unimp 120: 08ca slli a7,a7,0x12 122: 0000 unimp 124: 08ca slli a7,a7,0x12 126: 0000 unimp 128: 08ca slli a7,a7,0x12 12a: 0000 unimp 12c: 08ca slli a7,a7,0x12 12e: 0000 unimp 130: 08ca slli a7,a7,0x12 132: 0000 unimp 134: 08ca slli a7,a7,0x12 136: 0000 unimp 138: 0370 addi a2,sp,396 13a: 0000 unimp 13c: 08ca slli a7,a7,0x12 13e: 0000 unimp 140: 08ca slli a7,a7,0x12 142: 0000 unimp 144: 08ca slli a7,a7,0x12 146: 0000 unimp 148: 08ca slli a7,a7,0x12 14a: 0000 unimp 14c: 08ca slli a7,a7,0x12 14e: 0000 unimp 150: 08ca slli a7,a7,0x12 152: 0000 unimp 154: 08ca slli a7,a7,0x12 156: 0000 unimp 158: 08ca slli a7,a7,0x12 15a: 0000 unimp 15c: 1b14 addi a3,sp,432 15e: 0000 unimp 160: 08ca slli a7,a7,0x12 162: 0000 unimp 164: 08ca slli a7,a7,0x12 166: 0000 unimp 168: 08ca slli a7,a7,0x12 16a: 0000 unimp 16c: 08ca slli a7,a7,0x12 16e: 0000 unimp 170: 08ca slli a7,a7,0x12 172: 0000 unimp 174: 08ca slli a7,a7,0x12 176: 0000 unimp 178: 08ca slli a7,a7,0x12 17a: 0000 unimp 17c: 08ca slli a7,a7,0x12 17e: 0000 unimp 180: 08ca slli a7,a7,0x12 182: 0000 unimp 184: 08ca slli a7,a7,0x12 186: 0000 unimp 188: 08ca slli a7,a7,0x12 18a: 0000 unimp 18c: 08ca slli a7,a7,0x12 18e: 0000 unimp 190: 08ca slli a7,a7,0x12 192: 0000 unimp 194: 08ca slli a7,a7,0x12 196: 0000 unimp 198: 08ca slli a7,a7,0x12 19a: 0000 unimp 19c: 08ca slli a7,a7,0x12 19e: 0000 unimp 1a0: 08ca slli a7,a7,0x12 ... Disassembly of section .text: 000001c0 <__riscv_save_12>: __riscv_save_12(): 1c0: 7139 addi sp,sp,-64 1c2: 4301 li t1,0 1c4: c66e sw s11,12(sp) 1c6: a019 j 1cc <__riscv_save_10+0x4> 000001c8 <__riscv_save_10>: 1c8: 7139 addi sp,sp,-64 1ca: 5341 li t1,-16 1cc: c86a sw s10,16(sp) 1ce: ca66 sw s9,20(sp) 1d0: cc62 sw s8,24(sp) 1d2: ce5e sw s7,28(sp) 1d4: a019 j 1da <__riscv_save_4+0x4> 000001d6 <__riscv_save_4>: 1d6: 7139 addi sp,sp,-64 1d8: 5301 li t1,-32 1da: d05a sw s6,32(sp) 1dc: d256 sw s5,36(sp) 1de: d452 sw s4,40(sp) 1e0: d64e sw s3,44(sp) 1e2: d84a sw s2,48(sp) 1e4: da26 sw s1,52(sp) 1e6: dc22 sw s0,56(sp) 1e8: de06 sw ra,60(sp) 1ea: 40610133 sub sp,sp,t1 1ee: 8282 jr t0 000001f0 <__riscv_save_0>: __riscv_save_1(): 1f0: 1141 addi sp,sp,-16 1f2: c04a sw s2,0(sp) 1f4: c226 sw s1,4(sp) 1f6: c422 sw s0,8(sp) 1f8: c606 sw ra,12(sp) 1fa: 8282 jr t0 000001fc <__riscv_restore_12>: __riscv_restore_12(): 1fc: 4db2 lw s11,12(sp) 1fe: 0141 addi sp,sp,16 00000200 <__riscv_restore_10>: 200: 4d02 lw s10,0(sp) 202: 4c92 lw s9,4(sp) 204: 4c22 lw s8,8(sp) 206: 4bb2 lw s7,12(sp) 208: 0141 addi sp,sp,16 0000020a <__riscv_restore_4>: 20a: 4b02 lw s6,0(sp) 20c: 4a92 lw s5,4(sp) 20e: 4a22 lw s4,8(sp) 210: 49b2 lw s3,12(sp) 212: 0141 addi sp,sp,16 00000214 <__riscv_restore_0>: 214: 4902 lw s2,0(sp) 216: 4492 lw s1,4(sp) 218: 4422 lw s0,8(sp) 21a: 40b2 lw ra,12(sp) 21c: 0141 addi sp,sp,16 21e: 8082 ret 00000220 : memset(): 220: 433d li t1,15 222: 872a mv a4,a0 224: 02c37363 bgeu t1,a2,24a 228: 00f77793 andi a5,a4,15 22c: efbd bnez a5,2aa 22e: e5ad bnez a1,298 230: ff067693 andi a3,a2,-16 234: 8a3d andi a2,a2,15 236: 96ba add a3,a3,a4 238: c30c sw a1,0(a4) 23a: c34c sw a1,4(a4) 23c: c70c sw a1,8(a4) 23e: c74c sw a1,12(a4) 240: 0741 addi a4,a4,16 242: fed76be3 bltu a4,a3,238 246: e211 bnez a2,24a 248: 8082 ret 24a: 40c306b3 sub a3,t1,a2 24e: 068a slli a3,a3,0x2 250: 00000297 auipc t0,0x0 254: 9696 add a3,a3,t0 256: 00a68067 jr 10(a3) 25a: 00b70723 sb a1,14(a4) 25e: 00b706a3 sb a1,13(a4) 262: 00b70623 sb a1,12(a4) 266: 00b705a3 sb a1,11(a4) 26a: 00b70523 sb a1,10(a4) 26e: 00b704a3 sb a1,9(a4) 272: 00b70423 sb a1,8(a4) 276: 00b703a3 sb a1,7(a4) 27a: 00b70323 sb a1,6(a4) 27e: 00b702a3 sb a1,5(a4) 282: 00b70223 sb a1,4(a4) 286: 00b701a3 sb a1,3(a4) 28a: 00b70123 sb a1,2(a4) 28e: 00b700a3 sb a1,1(a4) 292: 00b70023 sb a1,0(a4) 296: 8082 ret 298: 0ff5f593 andi a1,a1,255 29c: 00859693 slli a3,a1,0x8 2a0: 8dd5 or a1,a1,a3 2a2: 01059693 slli a3,a1,0x10 2a6: 8dd5 or a1,a1,a3 2a8: b761 j 230 2aa: 00279693 slli a3,a5,0x2 2ae: 00000297 auipc t0,0x0 2b2: 9696 add a3,a3,t0 2b4: 8286 mv t0,ra 2b6: fa8680e7 jalr -88(a3) 2ba: 8096 mv ra,t0 2bc: 17c1 addi a5,a5,-16 2be: 8f1d sub a4,a4,a5 2c0: 963e add a2,a2,a5 2c2: f8c374e3 bgeu t1,a2,24a 2c6: b7a5 j 22e 000002c8 : NMI_Handler(): D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/ch32v30x_it.c:38 (discriminator 1) */ void NMI_Handler(void) { while (1) { } 2c8: a001 j 2c8 000002ca : HardFault_Handler(): D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/ch32v30x_it.c:50 * * @return none */ void HardFault_Handler(void) { printf("HardFault_Handler\r\n"); 2ca: 00009537 lui a0,0x9 2ce: c7450513 addi a0,a0,-908 # 8c74 2d2: 083080ef jal ra,8b54 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/ch32v30x_it.c:51 printf("mepc :%08x\r\n", __get_MEPC()); 2d6: 099010ef jal ra,1b6e <__get_MEPC> 2da: 85aa mv a1,a0 2dc: 00009537 lui a0,0x9 2e0: c8850513 addi a0,a0,-888 # 8c88 2e4: 04d080ef jal ra,8b30 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/ch32v30x_it.c:52 printf("mcause:%08x\r\n", __get_MCAUSE()); 2e8: 08d010ef jal ra,1b74 <__get_MCAUSE> 2ec: 85aa mv a1,a0 2ee: 00009537 lui a0,0x9 2f2: c9850513 addi a0,a0,-872 # 8c98 2f6: 03b080ef jal ra,8b30 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/ch32v30x_it.c:53 printf("mtval :%08x\r\n", __get_MTVAL()); 2fa: 081010ef jal ra,1b7a <__get_MTVAL> 2fe: 85aa mv a1,a0 300: 00009537 lui a0,0x9 304: ca850513 addi a0,a0,-856 # 8ca8 308: 029080ef jal ra,8b30 NVIC_SystemReset(): D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\SRC\Core/core_riscv.h:382 * * @return none */ __attribute__( ( always_inline ) ) RV_STATIC_INLINE void NVIC_SystemReset(void) { NVIC->CFGR = NVIC_KEY3|(1<<7); 30c: beef07b7 lui a5,0xbeef0 310: e000e737 lui a4,0xe000e 314: 08078793 addi a5,a5,128 # beef0080 <_eusrstack+0x9eed0080> 318: c73c sw a5,72(a4) HardFault_Handler(): D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/ch32v30x_it.c:55 (discriminator 1) NVIC_SystemReset(); while(1); 31a: a001 j 31a 0000031c : EXTI9_5_IRQHandler(): D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/ch32v30x_it.c:66 * @brief This function handles GPIO exception. * * @return none */ void EXTI9_5_IRQHandler(void) { 31c: 7139 addi sp,sp,-64 31e: de06 sw ra,60(sp) 320: dc16 sw t0,56(sp) 322: da1a sw t1,52(sp) 324: d81e sw t2,48(sp) 326: d62a sw a0,44(sp) 328: d42e sw a1,40(sp) 32a: d232 sw a2,36(sp) 32c: d036 sw a3,32(sp) 32e: ce3a sw a4,28(sp) 330: cc3e sw a5,24(sp) 332: ca42 sw a6,20(sp) 334: c846 sw a7,16(sp) 336: c672 sw t3,12(sp) 338: c476 sw t4,8(sp) 33a: c27a sw t5,4(sp) 33c: c07e sw t6,0(sp) D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/ch32v30x_it.c:67 ETH_PHYLink( ); 33e: 7cd000ef jal ra,130a D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/ch32v30x_it.c:68 EXTI_ClearITPendingBit(EXTI_Line7); /* Clear Flag */ 342: 08000513 li a0,128 346: 0e1000ef jal ra,c26 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/ch32v30x_it.c:69 } 34a: 50f2 lw ra,60(sp) 34c: 52e2 lw t0,56(sp) 34e: 5352 lw t1,52(sp) 350: 53c2 lw t2,48(sp) 352: 5532 lw a0,44(sp) 354: 55a2 lw a1,40(sp) 356: 5612 lw a2,36(sp) 358: 5682 lw a3,32(sp) 35a: 4772 lw a4,28(sp) 35c: 47e2 lw a5,24(sp) 35e: 4852 lw a6,20(sp) 360: 48c2 lw a7,16(sp) 362: 4e32 lw t3,12(sp) 364: 4ea2 lw t4,8(sp) 366: 4f12 lw t5,4(sp) 368: 4f82 lw t6,0(sp) 36a: 6121 addi sp,sp,64 36c: 30200073 mret 00000370 : ETH_IRQHandler(): D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/ch32v30x_it.c:80 * * @return none */ void ETH_IRQHandler(void) { WCHNET_ETHIsr(); 370: 420010ef jal ra,1790 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/ch32v30x_it.c:81 } 374: 30200073 mret 00000378 : TIM2_IRQHandler(): D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/ch32v30x_it.c:92 * * @return none */ void TIM2_IRQHandler(void) { sys_tick_ms += WCHNETTIMERPERIOD; /* 累加实际间隔毫秒数 */ 378: 85818793 addi a5,gp,-1960 # 20000078 <_edata> 37c: 4398 lw a4,0(a5) D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/ch32v30x_it.c:93 WCHNET_TimeIsr(WCHNETTIMERPERIOD); 37e: 4529 li a0,10 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/ch32v30x_it.c:92 sys_tick_ms += WCHNETTIMERPERIOD; /* 累加实际间隔毫秒数 */ 380: 0729 addi a4,a4,10 382: c398 sw a4,0(a5) D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/ch32v30x_it.c:93 WCHNET_TimeIsr(WCHNETTIMERPERIOD); 384: 62f000ef jal ra,11b2 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/ch32v30x_it.c:94 TIM_ClearITPendingBit(TIM2, TIM_IT_Update); 388: 4585 li a1,1 38a: 40000537 lui a0,0x40000 38e: 503000ef jal ra,1090 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/ch32v30x_it.c:95 } 392: 30200073 mret 00000396 : mStopIfError(): D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:22 u8 socket[WCHNET_MAX_SOCKET_NUM]; u8 SocketRecvBuf[WCHNET_MAX_SOCKET_NUM][RECE_BUF_LEN]; void mStopIfError(u8 iError) { if (iError == WCHNET_ERR_SUCCESS) return; 396: c919 beqz a0,3ac D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:21 { 398: e59ff2ef jal t0,1f0 <__riscv_save_0> 39c: 85aa mv a1,a0 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:23 printf("Error: %02X\r\n", (u16)iError); 39e: 00009537 lui a0,0x9 3a2: d5050513 addi a0,a0,-688 # 8d50 3a6: 78a080ef jal ra,8b30 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:24 } 3aa: b5ad j 214 <__riscv_restore_0> 3ac: 8082 ret 000003ae : TIM2_Init(): D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:27 void TIM2_Init(void) { 3ae: e43ff2ef jal t0,1f0 <__riscv_save_0> 3b2: 1141 addi sp,sp,-16 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:29 TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure = {0}; RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE); 3b4: 4585 li a1,1 3b6: 4505 li a0,1 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:28 TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure = {0}; 3b8: c202 sw zero,4(sp) 3ba: c402 sw zero,8(sp) 3bc: 00011623 sh zero,12(sp) D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:29 RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE); 3c0: 33f000ef jal ra,efe D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:31 TIM_TimeBaseStructure.TIM_Period = WCHNETTIMERPERIOD * 1000 - 1; TIM_TimeBaseStructure.TIM_Prescaler = SystemCoreClock / 1000000 - 1; 3c4: 8141a783 lw a5,-2028(gp) # 20000034 3c8: 000f4737 lui a4,0xf4 3cc: 24070713 addi a4,a4,576 # f4240 <_data_lma+0xeb3ac> 3d0: 02e7d7b3 divu a5,a5,a4 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:34 TIM_TimeBaseStructure.TIM_ClockDivision = 0; TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure); 3d4: 004c addi a1,sp,4 3d6: 40000537 lui a0,0x40000 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:33 TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; 3da: 00011323 sh zero,6(sp) D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:31 TIM_TimeBaseStructure.TIM_Prescaler = SystemCoreClock / 1000000 - 1; 3de: 17fd addi a5,a5,-1 3e0: 827c sh a5,4(sp) D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:30 TIM_TimeBaseStructure.TIM_Period = WCHNETTIMERPERIOD * 1000 - 1; 3e2: 6789 lui a5,0x2 3e4: 70f78793 addi a5,a5,1807 # 270f 3e8: c43e sw a5,8(sp) D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:34 TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure); 3ea: 38f000ef jal ra,f78 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:35 TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE); 3ee: 4605 li a2,1 3f0: 4585 li a1,1 3f2: 40000537 lui a0,0x40000 3f6: 489000ef jal ra,107e D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:36 TIM_Cmd(TIM2, ENABLE); 3fa: 4585 li a1,1 3fc: 40000537 lui a0,0x40000 400: 467000ef jal ra,1066 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:37 TIM_ClearITPendingBit(TIM2, TIM_IT_Update); 404: 4585 li a1,1 406: 40000537 lui a0,0x40000 40a: 487000ef jal ra,1090 NVIC_EnableIRQ(): D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\SRC\Core/core_riscv.h:170 NVIC->IENR[((uint32_t)(IRQn) >> 5)] = (1 << ((uint32_t)(IRQn) & 0x1F)); 40e: e000e7b7 lui a5,0xe000e 412: 6705 lui a4,0x1 414: 10e7a223 sw a4,260(a5) # e000e104 <_eusrstack+0xbffee104> TIM2_Init(): D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:39 NVIC_EnableIRQ(TIM2_IRQn); } 418: 0141 addi sp,sp,16 41a: bbed j 214 <__riscv_restore_0> 0000041c : WCHNET_CreateTcpSocket(): D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:42 void WCHNET_CreateTcpSocket(void) { 41c: dd5ff2ef jal t0,1f0 <__riscv_save_0> 420: 7139 addi sp,sp,-64 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:45 u8 i; SOCK_INF TmpSocketInf; memset((void *)&TmpSocketInf, 0, sizeof(SOCK_INF)); 422: 03c00613 li a2,60 426: 4581 li a1,0 428: 0048 addi a0,sp,4 42a: 3bdd jal 220 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:46 memcpy((void *)TmpSocketInf.IPAddr, DESIP, 4); 42c: 200007b7 lui a5,0x20000 430: 0207a783 lw a5,32(a5) # 20000020 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:51 TmpSocketInf.DesPort = desport; TmpSocketInf.SourPort = srcport++; TmpSocketInf.ProtoType = PROTO_TYPE_TCP; TmpSocketInf.RecvBufLen = RECE_BUF_LEN; i = WCHNET_SocketCreat(&SocketId, &TmpSocketInf); 434: 86218413 addi s0,gp,-1950 # 20000082 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:46 memcpy((void *)TmpSocketInf.IPAddr, DESIP, 4); 438: d83e sw a5,48(sp) D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:47 TmpSocketInf.DesPort = desport; 43a: 8101d783 lhu a5,-2032(gp) # 20000030 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:51 i = WCHNET_SocketCreat(&SocketId, &TmpSocketInf); 43e: 004c addi a1,sp,4 440: 86218513 addi a0,gp,-1950 # 20000082 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:47 TmpSocketInf.DesPort = desport; 444: d43e sw a5,40(sp) D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:48 TmpSocketInf.SourPort = srcport++; 446: 81218793 addi a5,gp,-2030 # 20000032 44a: 239a lhu a4,0(a5) 44c: 00170693 addi a3,a4,1 # 1001 450: a396 sh a3,0(a5) D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:49 TmpSocketInf.ProtoType = PROTO_TYPE_TCP; 452: 478d li a5,3 454: d03e sw a5,32(sp) D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:50 TmpSocketInf.RecvBufLen = RECE_BUF_LEN; 456: 6785 lui a5,0x1 458: b6878793 addi a5,a5,-1176 # b68 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:48 TmpSocketInf.SourPort = srcport++; 45c: d63a sw a4,44(sp) D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:50 TmpSocketInf.RecvBufLen = RECE_BUF_LEN; 45e: c83e sw a5,16(sp) D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:51 i = WCHNET_SocketCreat(&SocketId, &TmpSocketInf); 460: 114020ef jal ra,2574 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:52 printf("SocketId %d\r\n", SocketId); 464: 200c lbu a1,0(s0) D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:51 i = WCHNET_SocketCreat(&SocketId, &TmpSocketInf); 466: 84aa mv s1,a0 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:52 printf("SocketId %d\r\n", SocketId); 468: 00009537 lui a0,0x9 46c: cb850513 addi a0,a0,-840 # 8cb8 470: 6c0080ef jal ra,8b30 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:53 mStopIfError(i); 474: 8526 mv a0,s1 476: 3705 jal 396 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:54 i = WCHNET_SocketConnect(SocketId); 478: 2008 lbu a0,0(s0) 47a: 0e7020ef jal ra,2d60 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:55 mStopIfError(i); 47e: 3f21 jal 396 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:56 } 480: 6121 addi sp,sp,64 482: bb49 j 214 <__riscv_restore_0> 00000484 : WCHNET_DataLoopback(): D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:60 /* PC -> MCU 收到数据后回环,同时可在此处理PC下发的指令 */ void WCHNET_DataLoopback(u8 id) { 484: d6dff2ef jal t0,1f0 <__riscv_save_0> D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:62 u32 len; u32 endAddr = SocketInf[id].RecvStartPoint + SocketInf[id].RecvBufLen; 488: 03c00713 li a4,60 48c: 02e50733 mul a4,a0,a4 490: 200077b7 lui a5,0x20007 494: 33878793 addi a5,a5,824 # 20007338 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:60 { 498: 1141 addi sp,sp,-16 49a: 842a mv s0,a0 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:62 u32 endAddr = SocketInf[id].RecvStartPoint + SocketInf[id].RecvBufLen; 49c: 97ba add a5,a5,a4 49e: 47d4 lw a3,12(a5) 4a0: 4798 lw a4,8(a5) D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:64 if ((SocketInf[id].RecvReadPoint + SocketInf[id].RecvRemLen) > endAddr) 4a2: 4bcc lw a1,20(a5) 4a4: 4f9c lw a5,24(a5) D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:62 u32 endAddr = SocketInf[id].RecvStartPoint + SocketInf[id].RecvBufLen; 4a6: 9736 add a4,a4,a3 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:64 if ((SocketInf[id].RecvReadPoint + SocketInf[id].RecvRemLen) > endAddr) 4a8: 00f586b3 add a3,a1,a5 4ac: 00d77463 bgeu a4,a3,4b4 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:65 len = endAddr - SocketInf[id].RecvReadPoint; 4b0: 40b707b3 sub a5,a4,a1 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:69 else len = SocketInf[id].RecvRemLen; if (WCHNET_SocketSend(id, (u8 *)SocketInf[id].RecvReadPoint, &len) == WCHNET_ERR_SUCCESS) 4b4: 0070 addi a2,sp,12 4b6: 8522 mv a0,s0 4b8: c63e sw a5,12(sp) 4ba: 688020ef jal ra,2b42 4be: e511 bnez a0,4ca D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:70 WCHNET_SocketRecv(id, NULL, &len); 4c0: 0070 addi a2,sp,12 4c2: 4581 li a1,0 4c4: 8522 mv a0,s0 4c6: 328020ef jal ra,27ee D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:71 } 4ca: 0141 addi sp,sp,16 4cc: b3a1 j 214 <__riscv_restore_0> 000004ce : WCHNET_HandleSockInt(): D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:74 void WCHNET_HandleSockInt(u8 socketid, u8 intstat) { 4ce: d23ff2ef jal t0,1f0 <__riscv_save_0> D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:77 u8 i; if (intstat & SINT_STAT_RECV) 4d2: 0045f793 andi a5,a1,4 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:74 { 4d6: 842a mv s0,a0 4d8: 84ae mv s1,a1 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:77 if (intstat & SINT_STAT_RECV) 4da: c391 beqz a5,4de D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:79 { WCHNET_DataLoopback(socketid); 4dc: 3765 jal 484 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:81 } if (intstat & SINT_STAT_CONNECT) 4de: 0084f793 andi a5,s1,8 4e2: c3a9 beqz a5,524 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:84 { #if KEEPALIVE_ENABLE WCHNET_SocketSetKeepLive(socketid, ENABLE); 4e4: 4585 li a1,1 4e6: 8522 mv a0,s0 4e8: 025020ef jal ra,2d0c D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:86 #endif WCHNET_ModifyRecvBuf(socketid, (u32)SocketRecvBuf[socketid], RECE_BUF_LEN); 4ec: 6605 lui a2,0x1 4ee: b6860613 addi a2,a2,-1176 # b68 4f2: 02c405b3 mul a1,s0,a2 4f6: 200007b7 lui a5,0x20000 4fa: 16c78793 addi a5,a5,364 # 2000016c 4fe: 8522 mv a0,s0 500: 95be add a1,a1,a5 502: 29c020ef jal ra,279e D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:88 for (i = 0; i < WCHNET_MAX_SOCKET_NUM; i++) { if (socket[i] == 0xff) { socket[i] = socketid; break; } 506: 86418793 addi a5,gp,-1948 # 20000084 50a: 2394 lbu a3,0(a5) 50c: 0ff00713 li a4,255 510: 00e69363 bne a3,a4,516 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:88 (discriminator 1) 514: a380 sb s0,0(a5) D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:90 } printf("TCP Connect Success, socket id: %d\r\n", socketid); 516: 00009537 lui a0,0x9 51a: 85a2 mv a1,s0 51c: d0850513 addi a0,a0,-760 # 8d08 520: 610080ef jal ra,8b30 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:92 } if (intstat & SINT_STAT_DISCONNECT) 524: 0104f793 andi a5,s1,16 528: cf91 beqz a5,544 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:95 { for (i = 0; i < WCHNET_MAX_SOCKET_NUM; i++) { if (socket[i] == socketid) { socket[i] = 0xff; break; } 52a: 86418793 addi a5,gp,-1948 # 20000084 52e: 2398 lbu a4,0(a5) 530: 00871463 bne a4,s0,538 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:95 (discriminator 1) 534: 577d li a4,-1 536: a398 sb a4,0(a5) D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:97 } printf("TCP Disconnect\r\n"); 538: 00009537 lui a0,0x9 53c: d3050513 addi a0,a0,-720 # 8d30 540: 614080ef jal ra,8b54 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:99 } if (intstat & SINT_STAT_TIM_OUT) 544: 0404f493 andi s1,s1,64 548: cc99 beqz s1,566 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:102 { for (i = 0; i < WCHNET_MAX_SOCKET_NUM; i++) { if (socket[i] == socketid) { socket[i] = 0xff; break; } 54a: 86418793 addi a5,gp,-1948 # 20000084 54e: 2398 lbu a4,0(a5) 550: 00871463 bne a4,s0,558 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:102 (discriminator 1) 554: 577d li a4,-1 556: a398 sb a4,0(a5) D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:104 } printf("TCP Timeout\r\n"); 558: 00009537 lui a0,0x9 55c: d4050513 addi a0,a0,-704 # 8d40 560: 5f4080ef jal ra,8b54 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:105 WCHNET_CreateTcpSocket(); 564: 3d65 jal 41c D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:107 } } 566: b17d j 214 <__riscv_restore_0> 00000568 : WCHNET_HandleGlobalInt(): D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:110 void WCHNET_HandleGlobalInt(void) { 568: c89ff2ef jal t0,1f0 <__riscv_save_0> D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:114 u8 intstat; u16 i; u8 socketint; intstat = WCHNET_GetGlobalInt(); 56c: 75a020ef jal ra,2cc6 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:115 if (intstat & GINT_STAT_UNREACH) printf("GINT_STAT_UNREACH\r\n"); 570: 00157793 andi a5,a0,1 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:114 intstat = WCHNET_GetGlobalInt(); 574: 842a mv s0,a0 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:115 if (intstat & GINT_STAT_UNREACH) printf("GINT_STAT_UNREACH\r\n"); 576: c799 beqz a5,584 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:115 (discriminator 1) 578: 00009537 lui a0,0x9 57c: cc850513 addi a0,a0,-824 # 8cc8 580: 5d4080ef jal ra,8b54 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:116 if (intstat & GINT_STAT_IP_CONFLI) printf("GINT_STAT_IP_CONFLI\r\n"); 584: 00247793 andi a5,s0,2 588: c799 beqz a5,596 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:116 (discriminator 1) 58a: 00009537 lui a0,0x9 58e: cdc50513 addi a0,a0,-804 # 8cdc 592: 5c2080ef jal ra,8b54 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:117 if (intstat & GINT_STAT_PHY_CHANGE) { 596: 00447793 andi a5,s0,4 59a: cb99 beqz a5,5b0 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:118 if (WCHNET_GetPHYStatus() & PHY_Linked_Status) 59c: 766020ef jal ra,2d02 5a0: 8911 andi a0,a0,4 5a2: c519 beqz a0,5b0 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:119 printf("PHY Link Success\r\n"); 5a4: 00009537 lui a0,0x9 5a8: cf450513 addi a0,a0,-780 # 8cf4 5ac: 5a8080ef jal ra,8b54 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:121 } if (intstat & GINT_STAT_SOCKET) { 5b0: 8841 andi s0,s0,16 5b2: e011 bnez s0,5b6 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:127 for (i = 0; i < WCHNET_MAX_SOCKET_NUM; i++) { socketint = WCHNET_GetSocketInt(i); if (socketint) WCHNET_HandleSockInt(i, socketint); } } } 5b4: b185 j 214 <__riscv_restore_0> D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:123 socketint = WCHNET_GetSocketInt(i); 5b6: 4501 li a0,0 5b8: 720020ef jal ra,2cd8 5bc: 85aa mv a1,a0 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:124 if (socketint) WCHNET_HandleSockInt(i, socketint); 5be: d97d beqz a0,5b4 5c0: 4501 li a0,0 5c2: 3731 jal 4ce 5c4: bfc5 j 5b4 000005c6
: main(): D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:130 int main(void) { 5c6: c11ff2ef jal t0,1d6 <__riscv_save_4> 5ca: 1141 addi sp,sp,-16 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:132 u8 i; SystemCoreClockUpdate(); 5cc: 2ad1 jal 7a0 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:133 Delay_Init(); 5ce: 2e0010ef jal ra,18ae D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:134 USART_Printf_Init(115200); 5d2: 6571 lui a0,0x1c 5d4: 20050513 addi a0,a0,512 # 1c200 <_data_lma+0x1336c> 5d8: 332010ef jal ra,190a D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:135 printf("TCPClient Test\r\nSystemClk:%d\r\n", SystemCoreClock); 5dc: 8141a583 lw a1,-2028(gp) # 20000034 5e0: 00009537 lui a0,0x9 5e4: d6050513 addi a0,a0,-672 # 8d60 5e8: 548080ef jal ra,8b30 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:136 printf("net version:%x\n", WCHNET_GetVer()); 5ec: 727010ef jal ra,2512 5f0: 85aa mv a1,a0 5f2: 00009537 lui a0,0x9 5f6: d8050513 addi a0,a0,-640 # 8d80 5fa: 536080ef jal ra,8b30 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:137 if (WCHNET_LIB_VER != WCHNET_GetVer()) printf("version error.\n"); 5fe: 715010ef jal ra,2512 602: 47ed li a5,27 604: 00f50863 beq a0,a5,614 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:137 (discriminator 1) 608: 00009537 lui a0,0x9 60c: d9050513 addi a0,a0,-624 # 8d90 610: 544080ef jal ra,8b54 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:139 WCHNET_GetMacAddr(MACAddr); 614: 85c18513 addi a0,gp,-1956 # 2000007c 618: 37b000ef jal ra,1192 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:140 printf("mac addr:"); 61c: 00009537 lui a0,0x9 620: da050513 addi a0,a0,-608 # 8da0 624: 50c080ef jal ra,8b30 628: 4481 li s1,0 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:141 for (i = 0; i < 6; i++) printf("%x ", MACAddr[i]); 62a: 85c18a13 addi s4,gp,-1956 # 2000007c 62e: 000099b7 lui s3,0x9 632: 4919 li s2,6 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:141 (discriminator 3) 634: 009a07b3 add a5,s4,s1 638: 238c lbu a1,0(a5) 63a: dac98513 addi a0,s3,-596 # 8dac 63e: 0485 addi s1,s1,1 640: 4f0080ef jal ra,8b30 644: ff2498e3 bne s1,s2,634 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:142 printf("\n"); 648: 4529 li a0,10 64a: 554080ef jal ra,8b9e D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:144 DVP_Init(); 64e: 35c010ef jal ra,19aa D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:145 TIM2_Init(); 652: 3bb1 jal 3ae D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:147 i = ETH_LibInit(IPAddr, GWIPAddr, IPMask, MACAddr); 654: 85c18693 addi a3,gp,-1956 # 2000007c 658: 80c18613 addi a2,gp,-2036 # 2000002c 65c: 80418593 addi a1,gp,-2044 # 20000024 660: 80818513 addi a0,gp,-2040 # 20000028 664: 1d6010ef jal ra,183a 668: 842a mv s0,a0 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:148 mStopIfError(i); 66a: 3335 jal 396 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:149 if (i == WCHNET_ERR_SUCCESS) printf("WCHNET_LibInit Success\r\n"); 66c: e419 bnez s0,67a D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:149 (discriminator 1) 66e: 00009537 lui a0,0x9 672: db050513 addi a0,a0,-592 # 8db0 676: 4de080ef jal ra,8b54 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:153 #if KEEPALIVE_ENABLE { struct _KEEP_CFG cfg = {20000, 15000, 9}; 67a: 65a5 lui a1,0x9 67c: 4631 li a2,12 67e: c6858593 addi a1,a1,-920 # 8c68 682: 0048 addi a0,sp,4 684: 532080ef jal ra,8bb6 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:154 WCHNET_ConfigKeepLive(&cfg); 688: 0048 addi a0,sp,4 68a: 52f010ef jal ra,23b8 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:158 } #endif memset(socket, 0xff, WCHNET_MAX_SOCKET_NUM); 68e: 577d li a4,-1 690: 86e18223 sb a4,-1948(gp) # 20000084 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:159 WCHNET_CreateTcpSocket(); 694: 3361 jal 41c D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:163 while (1) { DVP_Task(); 696: 3dc010ef jal ra,1a72 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:164 WCHNET_MainTask(); 69a: 5e7000ef jal ra,1480 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:165 if (WCHNET_QueryGlobalInt()) 69e: 5ea020ef jal ra,2c88 6a2: d975 beqz a0,696 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/main.c:166 WCHNET_HandleGlobalInt(); 6a4: 35d1 jal 568 6a6: bfc5 j 696 000006a8 : SystemInit(): D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:113 * * @return none */ void SystemInit (void) { RCC->CTLR |= (uint32_t)0x00000001; 6a8: 400217b7 lui a5,0x40021 6ac: 4398 lw a4,0(a5) D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:115 RCC->CFGR0 &= (uint32_t)0xF0FF0000; 6ae: f0ff06b7 lui a3,0xf0ff0 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:112 { 6b2: 1141 addi sp,sp,-16 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:113 RCC->CTLR |= (uint32_t)0x00000001; 6b4: 00176713 ori a4,a4,1 6b8: c398 sw a4,0(a5) D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:115 RCC->CFGR0 &= (uint32_t)0xF0FF0000; 6ba: 43d8 lw a4,4(a5) SetSysClockTo144_HSE(): D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:713 RCC->CTLR |= ((uint32_t)RCC_HSEON); /* Wait till HSE is ready and if Time out is reached exit */ do { HSEStatus = RCC->CTLR & RCC_HSERDY; 6bc: 00020637 lui a2,0x20 SystemInit(): D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:115 RCC->CFGR0 &= (uint32_t)0xF0FF0000; 6c0: 8f75 and a4,a4,a3 6c2: c3d8 sw a4,4(a5) D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:117 RCC->CTLR &= (uint32_t)0xFEF6FFFF; 6c4: 4398 lw a4,0(a5) 6c6: fef706b7 lui a3,0xfef70 6ca: 16fd addi a3,a3,-1 6cc: 8f75 and a4,a4,a3 6ce: c398 sw a4,0(a5) D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:118 RCC->CTLR &= (uint32_t)0xFFFBFFFF; 6d0: 4398 lw a4,0(a5) 6d2: fffc06b7 lui a3,0xfffc0 6d6: 16fd addi a3,a3,-1 6d8: 8f75 and a4,a4,a3 6da: c398 sw a4,0(a5) D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:119 RCC->CFGR0 &= (uint32_t)0xFF00FFFF; 6dc: 43d8 lw a4,4(a5) 6de: ff0106b7 lui a3,0xff010 6e2: 16fd addi a3,a3,-1 6e4: 8f75 and a4,a4,a3 6e6: c3d8 sw a4,4(a5) D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:122 RCC->CTLR &= (uint32_t)0xEBFFFFFF; 6e8: 4398 lw a4,0(a5) 6ea: ec0006b7 lui a3,0xec000 6ee: 16fd addi a3,a3,-1 6f0: 8f75 and a4,a4,a3 6f2: c398 sw a4,0(a5) D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:123 RCC->INTR = 0x00FF0000; 6f4: 00ff0737 lui a4,0xff0 6f8: c798 sw a4,8(a5) D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:124 RCC->CFGR2 = 0x00000000; 6fa: 0207a623 sw zero,44(a5) # 4002102c <_eusrstack+0x2000102c> SetSysClockTo144_HSE(): D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:706 __IO uint32_t StartUpCounter = 0, HSEStatus = 0; 6fe: c402 sw zero,8(sp) 700: c602 sw zero,12(sp) D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:708 RCC->CTLR |= ((uint32_t)RCC_HSEON); 702: 4398 lw a4,0(a5) 704: 66c1 lui a3,0x10 706: 8f55 or a4,a4,a3 708: c398 sw a4,0(a5) D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:713 HSEStatus = RCC->CTLR & RCC_HSERDY; 70a: 400216b7 lui a3,0x40021 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:715 StartUpCounter++; } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); 70e: 6705 lui a4,0x1 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:713 HSEStatus = RCC->CTLR & RCC_HSERDY; 710: 429c lw a5,0(a3) 712: 8ff1 and a5,a5,a2 714: c63e sw a5,12(sp) D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:714 StartUpCounter++; 716: 47a2 lw a5,8(sp) 718: 0785 addi a5,a5,1 71a: c43e sw a5,8(sp) D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:715 } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); 71c: 47b2 lw a5,12(sp) 71e: e781 bnez a5,726 720: 47a2 lw a5,8(sp) 722: fee797e3 bne a5,a4,710 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:717 if ((RCC->CTLR & RCC_HSERDY) != RESET) 726: 400217b7 lui a5,0x40021 72a: 439c lw a5,0(a5) 72c: 00e79713 slli a4,a5,0xe 730: 06075663 bgez a4,79c D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:719 { HSEStatus = (uint32_t)0x01; 734: 4785 li a5,1 736: c63e sw a5,12(sp) D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:726 else { HSEStatus = (uint32_t)0x00; } if (HSEStatus == (uint32_t)0x01) 738: 4732 lw a4,12(sp) 73a: 4785 li a5,1 73c: 04f71e63 bne a4,a5,798 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:729 { /* HCLK = SYSCLK */ RCC->CFGR0 |= (uint32_t)RCC_HPRE_DIV1; 740: 400217b7 lui a5,0x40021 744: 43d8 lw a4,4(a5) D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:736 RCC->CFGR0 |= (uint32_t)RCC_PPRE2_DIV1; /* PCLK1 = HCLK */ RCC->CFGR0 |= (uint32_t)RCC_PPRE1_DIV2; /* PLL configuration: PLLCLK = HSE * 18 = 144 MHz */ RCC->CFGR0 &= (uint32_t)((uint32_t)~(RCC_PLLSRC | RCC_PLLXTPRE | 746: ffc106b7 lui a3,0xffc10 74a: 16fd addi a3,a3,-1 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:729 RCC->CFGR0 |= (uint32_t)RCC_HPRE_DIV1; 74c: c3d8 sw a4,4(a5) D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:731 RCC->CFGR0 |= (uint32_t)RCC_PPRE2_DIV1; 74e: 43d8 lw a4,4(a5) 750: c3d8 sw a4,4(a5) D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:733 RCC->CFGR0 |= (uint32_t)RCC_PPRE1_DIV2; 752: 43d8 lw a4,4(a5) 754: 40076713 ori a4,a4,1024 758: c3d8 sw a4,4(a5) D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:736 RCC->CFGR0 &= (uint32_t)((uint32_t)~(RCC_PLLSRC | RCC_PLLXTPRE | 75a: 43d8 lw a4,4(a5) 75c: 8f75 and a4,a4,a3 75e: c3d8 sw a4,4(a5) D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:742 RCC_PLLMULL)); #ifdef CH32V30x_D8 RCC->CFGR0 |= (uint32_t)(RCC_PLLSRC_HSE | RCC_PLLXTPRE_HSE | RCC_PLLMULL18); #else RCC->CFGR0 |= (uint32_t)(RCC_PLLSRC_HSE | RCC_PLLXTPRE_HSE | RCC_PLLMULL18_EXTEN); 760: 43d8 lw a4,4(a5) 762: 66c1 lui a3,0x10 764: 8f55 or a4,a4,a3 766: c3d8 sw a4,4(a5) D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:746 #endif /* Enable PLL */ RCC->CTLR |= RCC_PLLON; 768: 4398 lw a4,0(a5) 76a: 010006b7 lui a3,0x1000 76e: 8f55 or a4,a4,a3 770: c398 sw a4,0(a5) D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:748 /* Wait till PLL is ready */ while((RCC->CTLR & RCC_PLLRDY) == 0) 772: 4398 lw a4,0(a5) 774: 00671693 slli a3,a4,0x6 778: fe06dde3 bgez a3,772 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:752 { } /* Select PLL as system clock source */ RCC->CFGR0 &= (uint32_t)((uint32_t)~(RCC_SW)); 77c: 43d8 lw a4,4(a5) D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:755 RCC->CFGR0 |= (uint32_t)RCC_SW_PLL; /* Wait till PLL is used as system clock source */ while ((RCC->CFGR0 & (uint32_t)RCC_SWS) != (uint32_t)0x08) 77e: 400216b7 lui a3,0x40021 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:752 RCC->CFGR0 &= (uint32_t)((uint32_t)~(RCC_SW)); 782: 9b71 andi a4,a4,-4 784: c3d8 sw a4,4(a5) D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:753 RCC->CFGR0 |= (uint32_t)RCC_SW_PLL; 786: 43d8 lw a4,4(a5) 788: 00276713 ori a4,a4,2 78c: c3d8 sw a4,4(a5) D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:755 while ((RCC->CFGR0 & (uint32_t)RCC_SWS) != (uint32_t)0x08) 78e: 4721 li a4,8 790: 42dc lw a5,4(a3) 792: 8bb1 andi a5,a5,12 794: fee79ee3 bne a5,a4,790 SystemInit(): D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:129 } 798: 0141 addi sp,sp,16 79a: 8082 ret SetSysClockTo144_HSE(): D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:723 HSEStatus = (uint32_t)0x00; 79c: c602 sw zero,12(sp) 79e: bf69 j 738 000007a0 : SystemCoreClockUpdate(): D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:148 tmp = RCC->CFGR0 & RCC_SWS; 7a0: 400216b7 lui a3,0x40021 7a4: 42d8 lw a4,4(a3) 7a6: 4611 li a2,4 7a8: 8b31 andi a4,a4,12 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:150 switch (tmp) 7aa: 81418793 addi a5,gp,-2028 # 20000034 7ae: 00c70563 beq a4,a2,7b8 7b2: 4621 li a2,8 7b4: 02c70863 beq a4,a2,7e4 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:153 SystemCoreClock = HSI_VALUE; 7b8: 007a1737 lui a4,0x7a1 7bc: 20070713 addi a4,a4,512 # 7a1200 <_data_lma+0x79836c> D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:215 (discriminator 1) if(Pll_6_5 == 1) SystemCoreClock = (SystemCoreClock / 2); 7c0: c398 sw a4,0(a5) D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:223 tmp = AHBPrescTable[((RCC->CFGR0 & RCC_HPRE) >> 4)]; 7c2: 40021737 lui a4,0x40021 7c6: 4358 lw a4,4(a4) 7c8: 8311 srli a4,a4,0x4 7ca: 00f77693 andi a3,a4,15 7ce: 20000737 lui a4,0x20000 7d2: 00070713 mv a4,a4 7d6: 9736 add a4,a4,a3 7d8: 2314 lbu a3,0(a4) D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:224 SystemCoreClock >>= tmp; 7da: 4398 lw a4,0(a5) 7dc: 00d75733 srl a4,a4,a3 7e0: c398 sw a4,0(a5) D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:225 } 7e2: 8082 ret D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:159 pllmull = RCC->CFGR0 & RCC_PLLMULL; 7e4: 42d8 lw a4,4(a3) D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:160 pllsource = RCC->CFGR0 & RCC_PLLSRC; 7e6: 42d4 lw a3,4(a3) 7e8: 6641 lui a2,0x10 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:161 pllmull = ( pllmull >> 18) + 2; 7ea: 8349 srli a4,a4,0x12 7ec: 8b3d andi a4,a4,15 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:160 pllsource = RCC->CFGR0 & RCC_PLLSRC; 7ee: 8ef1 and a3,a3,a2 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:166 if(pllmull == 2) pllmull = 18; 7f0: 00270613 addi a2,a4,2 # 20000002 <_data_vma+0x2> 7f4: cf15 beqz a4,830 <__stack_size+0x30> D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:167 if(pllmull == 15){ 7f6: 473d li a4,15 7f8: 02e60f63 beq a2,a4,836 <__stack_size+0x36> D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:171 if(pllmull == 16) pllmull = 15; 7fc: 4741 li a4,16 7fe: 02e60f63 beq a2,a4,83c <__stack_size+0x3c> D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:172 if(pllmull == 17) pllmull = 16; 802: 4745 li a4,17 804: 4581 li a1,0 806: 00e61363 bne a2,a4,80c <__stack_size+0xc> 80a: 4641 li a2,16 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:175 if (pllsource == 0x00) 80c: e2a1 bnez a3,84c <__stack_size+0x4c> D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:177 if(EXTEN->EXTEN_CTR & EXTEN_PLL_HSI_PRE) SystemCoreClock = HSI_VALUE * pllmull; 80e: 40024737 lui a4,0x40024 812: 80072703 lw a4,-2048(a4) # 40023800 <_eusrstack+0x20003800> 816: 8b41 andi a4,a4,16 818: c70d beqz a4,842 <__stack_size+0x42> D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:177 (discriminator 1) 81a: 007a1737 lui a4,0x7a1 81e: 20070713 addi a4,a4,512 # 7a1200 <_data_lma+0x79836c> D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:210 SystemCoreClock = SystemCoreClock * pllmull; 822: 02c70633 mul a2,a4,a2 826: c390 sw a2,0(a5) D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:215 if(Pll_6_5 == 1) SystemCoreClock = (SystemCoreClock / 2); 828: ddc9 beqz a1,7c2 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:215 (discriminator 1) 82a: 4398 lw a4,0(a5) 82c: 8305 srli a4,a4,0x1 82e: bf49 j 7c0 830: 4581 li a1,0 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:166 if(pllmull == 2) pllmull = 18; 832: 4649 li a2,18 834: bfe1 j 80c <__stack_size+0xc> D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:169 Pll_6_5 = 1; 836: 4585 li a1,1 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:168 pllmull = 13; /* *6.5 */ 838: 4635 li a2,13 83a: bfc9 j 80c <__stack_size+0xc> 83c: 4581 li a1,0 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:171 if(pllmull == 16) pllmull = 15; 83e: 463d li a2,15 840: b7f1 j 80c <__stack_size+0xc> D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:178 else SystemCoreClock = (HSI_VALUE >> 1) * pllmull; 842: 003d1737 lui a4,0x3d1 846: 90070713 addi a4,a4,-1792 # 3d0900 <_data_lma+0x3c7a6c> 84a: bfe1 j 822 <__stack_size+0x22> D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:194 if(RCC->CFGR2 & (1<<16)){ /* PLL2 */ 84c: 40021537 lui a0,0x40021 850: 5558 lw a4,44(a0) 852: 00f71693 slli a3,a4,0xf D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:195 SystemCoreClock = HSE_VALUE/(((RCC->CFGR2 & 0xF0)>>4) + 1); /* PREDIV2 */ 856: 5558 lw a4,44(a0) D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:194 if(RCC->CFGR2 & (1<<16)){ /* PLL2 */ 858: 0406df63 bgez a3,8b6 <__stack_size+0xb6> D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:195 SystemCoreClock = HSE_VALUE/(((RCC->CFGR2 & 0xF0)>>4) + 1); /* PREDIV2 */ 85c: 8311 srli a4,a4,0x4 85e: 8b3d andi a4,a4,15 860: 00170693 addi a3,a4,1 864: 007a1737 lui a4,0x7a1 868: 20070713 addi a4,a4,512 # 7a1200 <_data_lma+0x79836c> 86c: 02d75733 divu a4,a4,a3 870: c398 sw a4,0(a5) D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:197 Pll2mull = (uint8_t)((RCC->CFGR2 & 0xF00)>>8); 872: 5554 lw a3,44(a0) 874: 82a1 srli a3,a3,0x8 876: 8abd andi a3,a3,15 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:199 if(Pll2mull == 0) SystemCoreClock = (SystemCoreClock * 5)>>1; 878: e28d bnez a3,89a <__stack_size+0x9a> D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:199 (discriminator 1) 87a: 4695 li a3,5 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:200 (discriminator 1) else if(Pll2mull == 1) SystemCoreClock = (SystemCoreClock * 25)>>1; 87c: 02d70733 mul a4,a4,a3 880: 8305 srli a4,a4,0x1 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:202 else SystemCoreClock = SystemCoreClock * (Pll2mull + 2); 882: c398 sw a4,0(a5) D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:204 SystemCoreClock = SystemCoreClock/((RCC->CFGR2 & 0xF) + 1); /* PREDIV1 */ 884: 40021737 lui a4,0x40021 888: 5758 lw a4,44(a4) 88a: 4394 lw a3,0(a5) 88c: 8b3d andi a4,a4,15 88e: 0705 addi a4,a4,1 890: 02e6d733 divu a4,a3,a4 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:207 SystemCoreClock = HSE_VALUE/((RCC->CFGR2 & 0xF) + 1); /* PREDIV1 */ 894: c398 sw a4,0(a5) D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:210 SystemCoreClock = SystemCoreClock * pllmull; 896: 4398 lw a4,0(a5) 898: b769 j 822 <__stack_size+0x22> D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:200 else if(Pll2mull == 1) SystemCoreClock = (SystemCoreClock * 25)>>1; 89a: 4505 li a0,1 89c: 00a69463 bne a3,a0,8a4 <__stack_size+0xa4> D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:200 (discriminator 1) 8a0: 46e5 li a3,25 8a2: bfe9 j 87c <__stack_size+0x7c> D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:201 else if(Pll2mull == 15) SystemCoreClock = SystemCoreClock * 20; 8a4: 453d li a0,15 8a6: 00a69663 bne a3,a0,8b2 <__stack_size+0xb2> D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:201 (discriminator 1) 8aa: 46d1 li a3,20 D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:202 else SystemCoreClock = SystemCoreClock * (Pll2mull + 2); 8ac: 02e68733 mul a4,a3,a4 8b0: bfc9 j 882 <__stack_size+0x82> 8b2: 0689 addi a3,a3,2 8b4: bfe5 j 8ac <__stack_size+0xac> D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\ETH\TCPClient\obj/../User/system_ch32v30x.c:207 SystemCoreClock = HSE_VALUE/((RCC->CFGR2 & 0xF) + 1); /* PREDIV1 */ 8b6: 8b3d andi a4,a4,15 8b8: 00170693 addi a3,a4,1 # 40021001 <_eusrstack+0x20001001> 8bc: 007a1737 lui a4,0x7a1 8c0: 20070713 addi a4,a4,512 # 7a1200 <_data_lma+0x79836c> 8c4: 02d75733 divu a4,a4,a3 8c8: b7f1 j 894 <__stack_size+0x94> 000008ca : EXTI2_IRQHandler(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Startup/startup_ch32v30x_D8C.S:321 DMA2_Channel8_IRQHandler: DMA2_Channel9_IRQHandler: DMA2_Channel10_IRQHandler: DMA2_Channel11_IRQHandler: 1: j 1b 8ca: a001 j 8ca 000008cc : handle_reset(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Startup/startup_ch32v30x_D8C.S:329 .weak handle_reset .align 1 handle_reset: .option push .option norelax la gp, __global_pointer$ 8cc: 20000197 auipc gp,0x20000 8d0: f5418193 addi gp,gp,-172 # 20000820 <__global_pointer$> D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Startup/startup_ch32v30x_D8C.S:332 .option pop la sp, _eusrstack 8d4: 2001f117 auipc sp,0x2001f 8d8: 72c10113 addi sp,sp,1836 # 20020000 <_eusrstack> D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Startup/startup_ch32v30x_D8C.S:335 /* Load data section from flash to RAM */ la a0, _data_lma 8dc: 00008517 auipc a0,0x8 8e0: 5b850513 addi a0,a0,1464 # 8e94 <_data_lma> D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Startup/startup_ch32v30x_D8C.S:336 la a1, _data_vma 8e4: 1ffff597 auipc a1,0x1ffff 8e8: 71c58593 addi a1,a1,1820 # 20000000 <_data_vma> D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Startup/startup_ch32v30x_D8C.S:337 la a2, _edata 8ec: 85818613 addi a2,gp,-1960 # 20000078 <_edata> D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Startup/startup_ch32v30x_D8C.S:338 bgeu a1, a2, 2f 8f0: 00c5fa63 bgeu a1,a2,904 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Startup/startup_ch32v30x_D8C.S:340 1: lw t0, (a0) 8f4: 00052283 lw t0,0(a0) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Startup/startup_ch32v30x_D8C.S:341 sw t0, (a1) 8f8: 0055a023 sw t0,0(a1) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Startup/startup_ch32v30x_D8C.S:342 addi a0, a0, 4 8fc: 0511 addi a0,a0,4 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Startup/startup_ch32v30x_D8C.S:343 addi a1, a1, 4 8fe: 0591 addi a1,a1,4 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Startup/startup_ch32v30x_D8C.S:344 bltu a1, a2, 1b 900: fec5eae3 bltu a1,a2,8f4 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Startup/startup_ch32v30x_D8C.S:347 2: /* Clear bss section */ la a0, _sbss 904: 85818513 addi a0,gp,-1960 # 20000078 <_edata> D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Startup/startup_ch32v30x_D8C.S:348 la a1, _ebss 908: 20007597 auipc a1,0x20007 90c: fcc58593 addi a1,a1,-52 # 200078d4 <_ebss> D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Startup/startup_ch32v30x_D8C.S:349 bgeu a0, a1, 2f 910: 00b57763 bgeu a0,a1,91e D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Startup/startup_ch32v30x_D8C.S:351 1: sw zero, (a0) 914: 00052023 sw zero,0(a0) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Startup/startup_ch32v30x_D8C.S:352 addi a0, a0, 4 918: 0511 addi a0,a0,4 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Startup/startup_ch32v30x_D8C.S:353 bltu a0, a1, 1b 91a: feb56de3 bltu a0,a1,914 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Startup/startup_ch32v30x_D8C.S:356 2: /* Configure pipelining and instruction prediction */ li t0, 0x1f 91e: 42fd li t0,31 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Startup/startup_ch32v30x_D8C.S:357 csrw 0xbc0, t0 920: bc029073 csrw 0xbc0,t0 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Startup/startup_ch32v30x_D8C.S:359 /* Enable interrupt nesting and hardware stack */ li t0, 0x0b 924: 42ad li t0,11 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Startup/startup_ch32v30x_D8C.S:360 csrw 0x804, t0 926: 80429073 csrw 0x804,t0 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Startup/startup_ch32v30x_D8C.S:362 /* Enable floating point and global interrupt, configure privileged mode */ li t0, 0x6088 92a: 000062b7 lui t0,0x6 92e: 08828293 addi t0,t0,136 # 6088 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Startup/startup_ch32v30x_D8C.S:363 csrw mstatus, t0 932: 30029073 csrw mstatus,t0 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Startup/startup_ch32v30x_D8C.S:365 /* Configure the interrupt vector table recognition mode and entry address mode */ la t0, _vector_base 936: fffff297 auipc t0,0xfffff 93a: 6ce28293 addi t0,t0,1742 # 4 <_einit> D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Startup/startup_ch32v30x_D8C.S:366 ori t0, t0, 3 93e: 0032e293 ori t0,t0,3 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Startup/startup_ch32v30x_D8C.S:367 csrw mtvec, t0 942: 30529073 csrw mtvec,t0 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Startup/startup_ch32v30x_D8C.S:369 jal SystemInit 946: d63ff0ef jal ra,6a8 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Startup/startup_ch32v30x_D8C.S:370 la t0, main 94a: 00000297 auipc t0,0x0 94e: c7c28293 addi t0,t0,-900 # 5c6
D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Startup/startup_ch32v30x_D8C.S:371 csrw mepc, t0 952: 34129073 csrw mepc,t0 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Startup/startup_ch32v30x_D8C.S:372 mret 956: 30200073 mret 0000095a : DBGMCU_GetCHIPID(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_dbgmcu.c:128 * CH32V317TCU6-0x3175B5X8 */ uint32_t DBGMCU_GetCHIPID( void ) { return( *( uint32_t * )0x1FFFF704 ); } 95a: 1ffff7b7 lui a5,0x1ffff 95e: 7047a503 lw a0,1796(a5) # 1ffff704 <_data_lma+0x1fff6870> 962: 8082 ret 00000964 : DVP_INTCfg(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_dvp.c:35 */ void DVP_INTCfg(uint8_t s, uint8_t i) { if(s) { DVP->IER |= i; 964: 500507b7 lui a5,0x50050 968: 23b8 lbu a4,2(a5) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_dvp.c:33 if(s) 96a: c501 beqz a0,972 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_dvp.c:35 DVP->IER |= i; 96c: 8dd9 or a1,a1,a4 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_dvp.c:39 } else { DVP->IER &= ~i; 96e: a3ac sb a1,2(a5) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_dvp.c:41 } } 970: 8082 ret D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_dvp.c:39 DVP->IER &= ~i; 972: fff5c593 not a1,a1 976: 8df9 and a1,a1,a4 978: bfdd j 96e 0000097a : DVP_Mode(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_dvp.c:60 * * @return none */ void DVP_Mode(uint8_t s, DVP_Data_ModeTypeDef i) { DVP->CR0 &= ~RB_DVP_MSK_DAT_MOD; 97a: 500507b7 lui a5,0x50050 97e: 2398 lbu a4,0(a5) 980: 0cf77713 andi a4,a4,207 984: a398 sb a4,0(a5) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_dvp.c:64 if(s) { DVP->CR0 |= s; 986: 2398 lbu a4,0(a5) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_dvp.c:62 if(s) 988: c919 beqz a0,99e D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_dvp.c:64 DVP->CR0 |= s; 98a: 8d59 or a0,a0,a4 98c: a388 sb a0,0(a5) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_dvp.c:73 DVP->CR0 &= ~(3 << 4); } if(i) { DVP->CR0 |= RB_DVP_JPEG; 98e: 50050737 lui a4,0x50050 992: 231c lbu a5,0(a4) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_dvp.c:71 if(i) 994: c989 beqz a1,9a6 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_dvp.c:73 DVP->CR0 |= RB_DVP_JPEG; 996: 0407e793 ori a5,a5,64 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_dvp.c:77 } else { DVP->CR0 &= ~RB_DVP_JPEG; 99a: a31c sb a5,0(a4) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_dvp.c:79 } } 99c: 8082 ret D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_dvp.c:68 DVP->CR0 &= ~(3 << 4); 99e: 0cf77713 andi a4,a4,207 9a2: a398 sb a4,0(a5) 9a4: b7ed j 98e D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_dvp.c:77 DVP->CR0 &= ~RB_DVP_JPEG; 9a6: 0bf7f793 andi a5,a5,191 9aa: bfc5 j 99a 000009ac : DVP_Cfg(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_dvp.c:100 * * @return none */ void DVP_Cfg(DVP_DMATypeDef s, DVP_FLAG_FIFO_RESETTypeDef i, DVP_RX_RESETTypeDef j) { switch(s) 9ac: cd1d beqz a0,9ea 9ae: 4785 li a5,1 9b0: 00f51863 bne a0,a5,9c0 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_dvp.c:103 { case DVP_DMA_Enable: DVP->CR1 |= RB_DVP_DMA_EN; 9b4: 50050737 lui a4,0x50050 9b8: 331c lbu a5,1(a4) 9ba: 0017e793 ori a5,a5,1 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_dvp.c:106 break; case DVP_DMA_Disable: DVP->CR1 &= ~RB_DVP_DMA_EN; 9be: b31c sb a5,1(a4) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_dvp.c:112 break; default: break; } switch(i) 9c0: c99d beqz a1,9f6 9c2: 4785 li a5,1 9c4: 00f59863 bne a1,a5,9d4 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_dvp.c:115 { case DVP_RX_RESET_Enable: DVP->CR1 |= RB_DVP_ALL_CLR; 9c8: 50050737 lui a4,0x50050 9cc: 331c lbu a5,1(a4) 9ce: 0027e793 ori a5,a5,2 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_dvp.c:118 break; case DVP_RX_RESET_Disable: DVP->CR1 &= ~RB_DVP_ALL_CLR; 9d2: b31c sb a5,1(a4) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_dvp.c:124 break; default: break; } switch(j) 9d4: c61d beqz a2,a02 9d6: 4785 li a5,1 9d8: 00f61863 bne a2,a5,9e8 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_dvp.c:127 { case DVP_RX_RESET_Enable: DVP->CR1 |= RB_DVP_RCV_CLR; 9dc: 50050737 lui a4,0x50050 9e0: 331c lbu a5,1(a4) 9e2: 0047e793 ori a5,a5,4 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_dvp.c:130 break; case DVP_RX_RESET_Disable: DVP->CR1 &= ~RB_DVP_RCV_CLR; 9e6: b31c sb a5,1(a4) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_dvp.c:135 break; default: break; } } 9e8: 8082 ret D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_dvp.c:106 DVP->CR1 &= ~RB_DVP_DMA_EN; 9ea: 50050737 lui a4,0x50050 9ee: 331c lbu a5,1(a4) 9f0: 0fe7f793 andi a5,a5,254 9f4: b7e9 j 9be D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_dvp.c:118 DVP->CR1 &= ~RB_DVP_ALL_CLR; 9f6: 50050737 lui a4,0x50050 9fa: 331c lbu a5,1(a4) 9fc: 0fd7f793 andi a5,a5,253 a00: bfc9 j 9d2 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_dvp.c:130 DVP->CR1 &= ~RB_DVP_RCV_CLR; a02: 50050737 lui a4,0x50050 a06: 331c lbu a5,1(a4) a08: 0fb7f793 andi a5,a5,251 a0c: bfe9 j 9e6 00000a0e : ETH_DeInit(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:29 * * @return none */ #ifdef CH32V30x_D8C void ETH_DeInit(void) { a0e: fe2ff2ef jal t0,1f0 <__riscv_save_0> D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:30 RCC_AHBPeriphResetCmd(RCC_AHBPeriph_ETH_MAC, ENABLE); a12: 4585 li a1,1 a14: 6511 lui a0,0x4 a16: 2319 jal f1c D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:31 RCC_AHBPeriphResetCmd(RCC_AHBPeriph_ETH_MAC, DISABLE); a18: 4581 li a1,0 a1a: 6511 lui a0,0x4 a1c: 2301 jal f1c D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:32 } a1e: ff6ff06f j 214 <__riscv_restore_0> 00000a22 : ETH_ReadPHYRegister(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:292 * * @return ETH_ERROR - in case of timeout. * MAC MIIDR register value - Data read from the selected PHY register. */ uint16_t ETH_ReadPHYRegister(uint16_t PHYAddress, uint16_t PHYReg) { a22: 1141 addi sp,sp,-16 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:294 uint32_t tmpreg = 0; __IO uint32_t timeout = 0; a24: c602 sw zero,12(sp) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:296 tmpreg = ETH->MACMIIAR; a26: 400286b7 lui a3,0x40028 a2a: 4a9c lw a5,16(a3) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:298 tmpreg &= ~MACMIIAR_CR_MASK; tmpreg |= (((uint32_t)PHYAddress << 11) & ETH_MACMIIAR_PA); a2c: 6741 lui a4,0x10 a2e: 052e slli a0,a0,0xb a30: 177d addi a4,a4,-1 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:297 tmpreg &= ~MACMIIAR_CR_MASK; a32: 8bf1 andi a5,a5,28 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:298 tmpreg |= (((uint32_t)PHYAddress << 11) & ETH_MACMIIAR_PA); a34: 8d79 and a0,a0,a4 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:299 tmpreg |= (((uint32_t)PHYReg << 6) & ETH_MACMIIAR_MR); a36: 059a slli a1,a1,0x6 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:298 tmpreg |= (((uint32_t)PHYAddress << 11) & ETH_MACMIIAR_PA); a38: 8d5d or a0,a0,a5 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:299 tmpreg |= (((uint32_t)PHYReg << 6) & ETH_MACMIIAR_MR); a3a: 7c05f593 andi a1,a1,1984 a3e: 8dc9 or a1,a1,a0 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:301 tmpreg &= ~ETH_MACMIIAR_MW; tmpreg |= ETH_MACMIIAR_MB; a40: 0015e593 ori a1,a1,1 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:308 do { timeout++; tmpreg = ETH->MACMIIAR; } while((tmpreg & ETH_MACMIIAR_MB) && (timeout < (uint32_t)PHY_READ_TO)); a44: 005007b7 lui a5,0x500 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:302 ETH->MACMIIAR = tmpreg; a48: ca8c sw a1,16(a3) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:308 } while((tmpreg & ETH_MACMIIAR_MB) && (timeout < (uint32_t)PHY_READ_TO)); a4a: 17f9 addi a5,a5,-2 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:306 (discriminator 2) timeout++; a4c: 4732 lw a4,12(sp) a4e: 0705 addi a4,a4,1 a50: c63a sw a4,12(sp) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:307 (discriminator 2) tmpreg = ETH->MACMIIAR; a52: 4a98 lw a4,16(a3) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:308 (discriminator 2) } while((tmpreg & ETH_MACMIIAR_MB) && (timeout < (uint32_t)PHY_READ_TO)); a54: 8b05 andi a4,a4,1 a56: c701 beqz a4,a5e D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:308 (discriminator 1) a58: 4732 lw a4,12(sp) a5a: fee7f9e3 bgeu a5,a4,a4c D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:310 if(timeout == PHY_READ_TO) a5e: 4732 lw a4,12(sp) a60: 005007b7 lui a5,0x500 a64: 17fd addi a5,a5,-1 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:312 { return (uint16_t)ETH_ERROR; a66: 4501 li a0,0 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:310 if(timeout == PHY_READ_TO) a68: 00f70763 beq a4,a5,a76 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:315 } return (uint16_t)(ETH->MACMIIDR); a6c: 400287b7 lui a5,0x40028 a70: 4bc8 lw a0,20(a5) a72: 0542 slli a0,a0,0x10 a74: 8141 srli a0,a0,0x10 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:316 } a76: 0141 addi sp,sp,16 a78: 8082 ret 00000a7a : ETH_WritePHYRegister(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:331 * * @return ETH_ERROR - in case of timeout. * ETH_SUCCESS - for correct write */ uint32_t ETH_WritePHYRegister(uint16_t PHYAddress, uint16_t PHYReg, uint16_t PHYValue) { a7a: 1141 addi sp,sp,-16 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:335 uint32_t tmpreg = 0; __IO uint32_t timeout = 0; tmpreg = ETH->MACMIIAR; a7c: 400287b7 lui a5,0x40028 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:333 __IO uint32_t timeout = 0; a80: c602 sw zero,12(sp) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:335 tmpreg = ETH->MACMIIAR; a82: 4b98 lw a4,16(a5) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:337 tmpreg &= ~MACMIIAR_CR_MASK; tmpreg |= (((uint32_t)PHYAddress << 11) & ETH_MACMIIAR_PA); a84: 66c1 lui a3,0x10 a86: 16fd addi a3,a3,-1 a88: 052e slli a0,a0,0xb a8a: 8d75 and a0,a0,a3 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:336 tmpreg &= ~MACMIIAR_CR_MASK; a8c: 8b71 andi a4,a4,28 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:338 tmpreg |= (((uint32_t)PHYReg << 6) & ETH_MACMIIAR_MR); a8e: 059a slli a1,a1,0x6 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:337 tmpreg |= (((uint32_t)PHYAddress << 11) & ETH_MACMIIAR_PA); a90: 8d59 or a0,a0,a4 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:338 tmpreg |= (((uint32_t)PHYReg << 6) & ETH_MACMIIAR_MR); a92: 7c05f593 andi a1,a1,1984 a96: 8dc9 or a1,a1,a0 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:341 tmpreg |= ETH_MACMIIAR_MW; tmpreg |= ETH_MACMIIAR_MB; ETH->MACMIIDR = PHYValue; a98: cbd0 sw a2,20(a5) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:340 tmpreg |= ETH_MACMIIAR_MB; a9a: 0035e593 ori a1,a1,3 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:342 ETH->MACMIIAR = tmpreg; a9e: cb8c sw a1,16(a5) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:348 do { timeout++; tmpreg = ETH->MACMIIAR; } while((tmpreg & ETH_MACMIIAR_MB) && (timeout < (uint32_t)PHY_WRITE_TO)); aa0: 000507b7 lui a5,0x50 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:347 tmpreg = ETH->MACMIIAR; aa4: 400286b7 lui a3,0x40028 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:348 } while((tmpreg & ETH_MACMIIAR_MB) && (timeout < (uint32_t)PHY_WRITE_TO)); aa8: 17f9 addi a5,a5,-2 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:346 (discriminator 2) timeout++; aaa: 4732 lw a4,12(sp) aac: 0705 addi a4,a4,1 aae: c63a sw a4,12(sp) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:347 (discriminator 2) tmpreg = ETH->MACMIIAR; ab0: 4a98 lw a4,16(a3) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:348 (discriminator 2) } while((tmpreg & ETH_MACMIIAR_MB) && (timeout < (uint32_t)PHY_WRITE_TO)); ab2: 8b05 andi a4,a4,1 ab4: c701 beqz a4,abc D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:348 (discriminator 1) ab6: 4732 lw a4,12(sp) ab8: fee7f9e3 bgeu a5,a4,aaa D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:350 if(timeout >= PHY_WRITE_TO) abc: 4532 lw a0,12(sp) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:356 { return ETH_ERROR; } return ETH_SUCCESS; } abe: 000507b7 lui a5,0x50 ac2: 17fd addi a5,a5,-1 ac4: 00f53533 sltu a0,a0,a5 ac8: 0141 addi sp,sp,16 aca: 8082 ret 00000acc : ETH_MACTransmissionCmd(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:407 */ void ETH_MACTransmissionCmd(FunctionalState NewState) { if(NewState != DISABLE) { ETH->MACCR |= ETH_MACCR_TE; acc: 40028737 lui a4,0x40028 ad0: 431c lw a5,0(a4) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:405 if(NewState != DISABLE) ad2: c509 beqz a0,adc D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:407 ETH->MACCR |= ETH_MACCR_TE; ad4: 0087e793 ori a5,a5,8 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:411 } else { ETH->MACCR &= ~ETH_MACCR_TE; ad8: c31c sw a5,0(a4) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:413 } } ada: 8082 ret D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:411 ETH->MACCR &= ~ETH_MACCR_TE; adc: 9bdd andi a5,a5,-9 ade: bfed j ad8 00000ae0 : ETH_MACReceptionCmd(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:428 */ void ETH_MACReceptionCmd(FunctionalState NewState) { if(NewState != DISABLE) { ETH->MACCR |= ETH_MACCR_RE; ae0: 40028737 lui a4,0x40028 ae4: 431c lw a5,0(a4) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:426 if(NewState != DISABLE) ae6: c509 beqz a0,af0 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:428 ETH->MACCR |= ETH_MACCR_RE; ae8: 0047e793 ori a5,a5,4 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:432 } else { ETH->MACCR &= ~ETH_MACCR_RE; aec: c31c sw a5,0(a4) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:434 } } aee: 8082 ret D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:432 ETH->MACCR &= ~ETH_MACCR_RE; af0: 9bed andi a5,a5,-5 af2: bfed j aec 00000af4 : ETH_DMATxDescChainInit(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:712 void ETH_DMATxDescChainInit(ETH_DMADESCTypeDef *DMATxDescTab, uint8_t *TxBuff, uint32_t TxBuffCount) { uint32_t i = 0; ETH_DMADESCTypeDef *DMATxDesc; DMATxDescToSet = DMATxDescTab; af4: 86a1a623 sw a0,-1940(gp) # 2000008c D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:714 for(i = 0; i < TxBuffCount; i++) af8: 872a mv a4,a0 afa: 4781 li a5,0 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:717 { DMATxDesc = DMATxDescTab + i; DMATxDesc->Status = ETH_DMATxDesc_TCH | ETH_DMATxDesc_IC; afc: 401008b7 lui a7,0x40100 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:718 DMATxDesc->Buffer1Addr = (uint32_t)(&TxBuff[i * ETH_MAX_PACKET_SIZE]); b00: 5f400313 li t1,1524 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:720 if(i < (TxBuffCount - 1)) b04: fff60e13 addi t3,a2,-1 # ffff <_data_lma+0x716b> D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:714 (discriminator 1) for(i = 0; i < TxBuffCount; i++) b08: 00c79663 bne a5,a2,b14 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:730 { DMATxDesc->Buffer2NextDescAddr = (uint32_t)DMATxDescTab; } } ETH->DMATDLAR = (uint32_t)DMATxDescTab; b0c: 400297b7 lui a5,0x40029 b10: cb88 sw a0,16(a5) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:731 } b12: 8082 ret D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:718 DMATxDesc->Buffer1Addr = (uint32_t)(&TxBuff[i * ETH_MAX_PACKET_SIZE]); b14: 026786b3 mul a3,a5,t1 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:717 DMATxDesc->Status = ETH_DMATxDesc_TCH | ETH_DMATxDesc_IC; b18: 01172023 sw a7,0(a4) # 40028000 <_eusrstack+0x20008000> D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:718 DMATxDesc->Buffer1Addr = (uint32_t)(&TxBuff[i * ETH_MAX_PACKET_SIZE]); b1c: 882a mv a6,a0 b1e: 96ae add a3,a3,a1 b20: c714 sw a3,8(a4) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:720 if(i < (TxBuffCount - 1)) b22: 01070693 addi a3,a4,16 b26: 01c7f363 bgeu a5,t3,b2c D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:722 DMATxDesc->Buffer2NextDescAddr = (uint32_t)(DMATxDescTab + i + 1); b2a: 8836 mv a6,a3 b2c: 01072623 sw a6,12(a4) b30: 0785 addi a5,a5,1 b32: 8736 mv a4,a3 b34: bfd1 j b08 00000b36 : ETH_DMARxDescChainInit(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:1046 for(i = 0; i < RxBuffCount; i++) { DMARxDesc = DMARxDescTab + i; DMARxDesc->Status = ETH_DMARxDesc_OWN; DMARxDesc->ControlBufferSize = ETH_DMARxDesc_RCH | (uint32_t)ETH_MAX_PACKET_SIZE; b36: 6691 lui a3,0x4 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:1040 DMARxDescToGet = DMARxDescTab; b38: 86a1a423 sw a0,-1944(gp) # 20000088 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:1042 for(i = 0; i < RxBuffCount; i++) b3c: 4701 li a4,0 b3e: 87aa mv a5,a0 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:1045 DMARxDesc->Status = ETH_DMARxDesc_OWN; b40: 80000337 lui t1,0x80000 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:1046 DMARxDesc->ControlBufferSize = ETH_DMARxDesc_RCH | (uint32_t)ETH_MAX_PACKET_SIZE; b44: 5f468693 addi a3,a3,1524 # 45f4 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:1047 DMARxDesc->Buffer1Addr = (uint32_t)(&RxBuff[i * ETH_MAX_PACKET_SIZE]); b48: 5f400e13 li t3,1524 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:1049 if(i < (RxBuffCount - 1)) b4c: fff60e93 addi t4,a2,-1 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:1042 (discriminator 1) for(i = 0; i < RxBuffCount; i++) b50: 00c71663 bne a4,a2,b5c D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:1059 { DMARxDesc->Buffer2NextDescAddr = (uint32_t)(DMARxDescTab); } } ETH->DMARDLAR = (uint32_t)DMARxDescTab; b54: 400297b7 lui a5,0x40029 b58: c7c8 sw a0,12(a5) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:1060 } b5a: 8082 ret D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:1047 DMARxDesc->Buffer1Addr = (uint32_t)(&RxBuff[i * ETH_MAX_PACKET_SIZE]); b5c: 03c70833 mul a6,a4,t3 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:1045 DMARxDesc->Status = ETH_DMARxDesc_OWN; b60: 0067a023 sw t1,0(a5) # 40029000 <_eusrstack+0x20009000> D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:1046 DMARxDesc->ControlBufferSize = ETH_DMARxDesc_RCH | (uint32_t)ETH_MAX_PACKET_SIZE; b64: c3d4 sw a3,4(a5) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:1047 DMARxDesc->Buffer1Addr = (uint32_t)(&RxBuff[i * ETH_MAX_PACKET_SIZE]); b66: 88aa mv a7,a0 b68: 982e add a6,a6,a1 b6a: 0107a423 sw a6,8(a5) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:1049 if(i < (RxBuffCount - 1)) b6e: 01078813 addi a6,a5,16 b72: 01d77363 bgeu a4,t4,b78 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:1051 DMARxDesc->Buffer2NextDescAddr = (uint32_t)(DMARxDescTab + i + 1); b76: 88c2 mv a7,a6 b78: 0117a623 sw a7,12(a5) b7c: 0705 addi a4,a4,1 b7e: 87c2 mv a5,a6 b80: bfc1 j b50 00000b82 : ETH_SoftwareReset(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:1269 * * @return none */ void ETH_SoftwareReset(void) { ETH->DMABMR |= ETH_DMABMR_SR; b82: 40029737 lui a4,0x40029 b86: 431c lw a5,0(a4) b88: 0017e793 ori a5,a5,1 b8c: c31c sw a5,0(a4) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:1270 } b8e: 8082 ret 00000b90 : ETH_DMAClearITPendingBit(): b90: 400297b7 lui a5,0x40029 b94: cbc8 sw a0,20(a5) b96: 8082 ret 00000b98 : ETH_FlushTransmitFIFO(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:1507 * * @return none */ void ETH_FlushTransmitFIFO(void) { ETH->DMAOMR |= ETH_DMAOMR_FTF; b98: 40029737 lui a4,0x40029 b9c: 4f1c lw a5,24(a4) b9e: 001006b7 lui a3,0x100 ba2: 8fd5 or a5,a5,a3 ba4: cf1c sw a5,24(a4) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:1508 } ba6: 8082 ret 00000ba8 : ETH_Start(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:107 { ba8: e48ff2ef jal t0,1f0 <__riscv_save_0> ETH_MACTransmissionCmd(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:407 ETH->MACCR |= ETH_MACCR_TE; bac: 40028437 lui s0,0x40028 bb0: 401c lw a5,0(s0) bb2: 0087e793 ori a5,a5,8 bb6: c01c sw a5,0(s0) ETH_Start(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:109 ETH_FlushTransmitFIFO(); bb8: 37c5 jal b98 ETH_MACReceptionCmd(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:428 ETH->MACCR |= ETH_MACCR_RE; bba: 401c lw a5,0(s0) ETH_DMATransmissionCmd(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:1544 */ void ETH_DMATransmissionCmd(FunctionalState NewState) { if(NewState != DISABLE) { ETH->DMAOMR |= ETH_DMAOMR_ST; bbc: 6689 lui a3,0x2 ETH_MACReceptionCmd(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:428 ETH->MACCR |= ETH_MACCR_RE; bbe: 0047e793 ori a5,a5,4 bc2: c01c sw a5,0(s0) ETH_DMATransmissionCmd(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:1544 ETH->DMAOMR |= ETH_DMAOMR_ST; bc4: 400297b7 lui a5,0x40029 bc8: 4f98 lw a4,24(a5) bca: 8f55 or a4,a4,a3 bcc: cf98 sw a4,24(a5) ETH_DMAReceptionCmd(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:1565 */ void ETH_DMAReceptionCmd(FunctionalState NewState) { if(NewState != DISABLE) { ETH->DMAOMR |= ETH_DMAOMR_SR; bce: 4f98 lw a4,24(a5) bd0: 00276713 ori a4,a4,2 bd4: cf98 sw a4,24(a5) ETH_Start(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:113 } bd6: e3eff06f j 214 <__riscv_restore_0> 00000bda : ETH_DMAITConfig(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:1602 * * @return new state of the specified ETHERNET DMA interrupts. */ void ETH_DMAITConfig(uint32_t ETH_DMA_IT, FunctionalState NewState) { if(NewState != DISABLE) bda: c599 beqz a1,be8 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:1604 { ETH->DMAIER |= ETH_DMA_IT; bdc: 40029737 lui a4,0x40029 be0: 4f5c lw a5,28(a4) be2: 8d5d or a0,a0,a5 be4: cf48 sw a0,28(a4) be6: 8082 ret D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:1608 } else { ETH->DMAIER &= (~(uint32_t)ETH_DMA_IT); be8: 400297b7 lui a5,0x40029 bec: 4fd8 lw a4,28(a5) bee: fff54513 not a0,a0 bf2: 8d79 and a0,a0,a4 bf4: cfc8 sw a0,28(a5) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:1610 } } bf6: 8082 ret 00000bf8 : RGMII_TXC_Delay(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:2513 */ void RGMII_TXC_Delay(uint8_t clock_polarity, uint8_t delay_time) { if(clock_polarity) { ETH->MACCR |= (uint32_t)(1 << 1); bf8: 40028737 lui a4,0x40028 bfc: 431c lw a5,0(a4) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:2511 if(clock_polarity) bfe: c115 beqz a0,c22 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:2513 ETH->MACCR |= (uint32_t)(1 << 1); c00: 0027e793 ori a5,a5,2 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:2517 } else { ETH->MACCR &= ~(uint32_t)(1 << 1); c04: c31c sw a5,0(a4) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:2519 } if(delay_time <= 7) c06: 479d li a5,7 c08: 00b7ec63 bltu a5,a1,c20 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:2521 { ETH->MACCR &= ~(uint32_t)(7 << 29); c0c: 40028737 lui a4,0x40028 c10: 431c lw a5,0(a4) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:2522 ETH->MACCR |= (uint32_t)(delay_time << 29); c12: 05f6 slli a1,a1,0x1d D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:2521 ETH->MACCR &= ~(uint32_t)(7 << 29); c14: 078e slli a5,a5,0x3 c16: 838d srli a5,a5,0x3 c18: c31c sw a5,0(a4) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:2522 ETH->MACCR |= (uint32_t)(delay_time << 29); c1a: 431c lw a5,0(a4) c1c: 8ddd or a1,a1,a5 c1e: c30c sw a1,0(a4) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:2524 } } c20: 8082 ret D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_eth.c:2517 ETH->MACCR &= ~(uint32_t)(1 << 1); c22: 9bf5 andi a5,a5,-3 c24: b7c5 j c04 00000c26 : EXTI_ClearITPendingBit(): c26: 400107b7 lui a5,0x40010 c2a: 40a7aa23 sw a0,1044(a5) # 40010414 <_eusrstack+0x1fff0414> c2e: 8082 ret 00000c30 : GPIO_Init(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_gpio.c:90 void GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_InitStruct) { uint32_t currentmode = 0x00, currentpin = 0x00, pinpos = 0x00, pos = 0x00; uint32_t tmpreg = 0x00, pinmask = 0x00; currentmode = ((uint32_t)GPIO_InitStruct->GPIO_Mode) & ((uint32_t)0x0F); c30: 459c lw a5,8(a1) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_gpio.c:92 if((((uint32_t)GPIO_InitStruct->GPIO_Mode) & ((uint32_t)0x10)) != 0x00) c32: 0107f713 andi a4,a5,16 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_gpio.c:90 currentmode = ((uint32_t)GPIO_InitStruct->GPIO_Mode) & ((uint32_t)0x0F); c36: 00f7f813 andi a6,a5,15 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_gpio.c:92 if((((uint32_t)GPIO_InitStruct->GPIO_Mode) & ((uint32_t)0x10)) != 0x00) c3a: c701 beqz a4,c42 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_gpio.c:94 { currentmode |= (uint32_t)GPIO_InitStruct->GPIO_Speed; c3c: 41d8 lw a4,4(a1) c3e: 00e86833 or a6,a6,a4 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_gpio.c:97 } if(((uint32_t)GPIO_InitStruct->GPIO_Pin & ((uint32_t)0x00FF)) != 0x00) c42: 218e lhu a1,0(a1) c44: 0ff5f713 andi a4,a1,255 c48: c339 beqz a4,c8e D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_gpio.c:99 { tmpreg = GPIOx->CFGLR; c4a: 4118 lw a4,0(a0) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_gpio.c:101 for(pinpos = 0x00; pinpos < 0x08; pinpos++) c4c: 4681 li a3,0 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_gpio.c:103 { pos = ((uint32_t)0x01) << pinpos; c4e: 4e85 li t4,1 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_gpio.c:109 currentpin = (GPIO_InitStruct->GPIO_Pin) & pos; if(currentpin == pos) { pos = pinpos << 2; pinmask = ((uint32_t)0x0F) << pos; c50: 4f3d li t5,15 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_gpio.c:113 tmpreg &= ~pinmask; tmpreg |= (currentmode << pos); if(GPIO_InitStruct->GPIO_Mode == GPIO_Mode_IPD) c52: 02800f93 li t6,40 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_gpio.c:119 { GPIOx->BCR = (((uint32_t)0x01) << pinpos); } else { if(GPIO_InitStruct->GPIO_Mode == GPIO_Mode_IPU) c56: 04800293 li t0,72 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_gpio.c:101 for(pinpos = 0x00; pinpos < 0x08; pinpos++) c5a: 4e21 li t3,8 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_gpio.c:103 pos = ((uint32_t)0x01) << pinpos; c5c: 00de9633 sll a2,t4,a3 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_gpio.c:104 currentpin = (GPIO_InitStruct->GPIO_Pin) & pos; c60: 00c5f8b3 and a7,a1,a2 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_gpio.c:106 if(currentpin == pos) c64: 03161163 bne a2,a7,c86 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_gpio.c:108 pos = pinpos << 2; c68: 00269893 slli a7,a3,0x2 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_gpio.c:109 pinmask = ((uint32_t)0x0F) << pos; c6c: 011f1333 sll t1,t5,a7 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_gpio.c:110 tmpreg &= ~pinmask; c70: fff34313 not t1,t1 c74: 00e37733 and a4,t1,a4 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_gpio.c:111 tmpreg |= (currentmode << pos); c78: 011818b3 sll a7,a6,a7 c7c: 00e8e733 or a4,a7,a4 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_gpio.c:113 if(GPIO_InitStruct->GPIO_Mode == GPIO_Mode_IPD) c80: 05f79f63 bne a5,t6,cde D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_gpio.c:115 GPIOx->BCR = (((uint32_t)0x01) << pinpos); c84: c950 sw a2,20(a0) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_gpio.c:101 (discriminator 2) for(pinpos = 0x00; pinpos < 0x08; pinpos++) c86: 0685 addi a3,a3,1 c88: fdc69ae3 bne a3,t3,c5c D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_gpio.c:126 GPIOx->BSHR = (((uint32_t)0x01) << pinpos); } } } } GPIOx->CFGLR = tmpreg; c8c: c118 sw a4,0(a0) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_gpio.c:129 } if(GPIO_InitStruct->GPIO_Pin > 0x00FF) c8e: 0ff00713 li a4,255 c92: 04b77563 bgeu a4,a1,cdc D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_gpio.c:131 { tmpreg = GPIOx->CFGHR; c96: 4154 lw a3,4(a0) c98: 4621 li a2,8 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_gpio.c:135 for(pinpos = 0x00; pinpos < 0x08; pinpos++) { pos = (((uint32_t)0x01) << (pinpos + 0x08)); c9a: 4e85 li t4,1 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_gpio.c:141 currentpin = ((GPIO_InitStruct->GPIO_Pin) & pos); if(currentpin == pos) { pos = pinpos << 2; pinmask = ((uint32_t)0x0F) << pos; c9c: 4f3d li t5,15 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_gpio.c:145 tmpreg &= ~pinmask; tmpreg |= (currentmode << pos); if(GPIO_InitStruct->GPIO_Mode == GPIO_Mode_IPD) c9e: 02800f93 li t6,40 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_gpio.c:150 { GPIOx->BCR = (((uint32_t)0x01) << (pinpos + 0x08)); } if(GPIO_InitStruct->GPIO_Mode == GPIO_Mode_IPU) ca2: 04800293 li t0,72 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_gpio.c:133 for(pinpos = 0x00; pinpos < 0x08; pinpos++) ca6: 4e41 li t3,16 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_gpio.c:135 pos = (((uint32_t)0x01) << (pinpos + 0x08)); ca8: 00ce98b3 sll a7,t4,a2 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_gpio.c:136 currentpin = ((GPIO_InitStruct->GPIO_Pin) & pos); cac: 0115f733 and a4,a1,a7 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_gpio.c:138 if(currentpin == pos) cb0: 02e89263 bne a7,a4,cd4 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_gpio.c:140 pos = pinpos << 2; cb4: 00261713 slli a4,a2,0x2 cb8: 1701 addi a4,a4,-32 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_gpio.c:141 pinmask = ((uint32_t)0x0F) << pos; cba: 00ef1333 sll t1,t5,a4 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_gpio.c:142 tmpreg &= ~pinmask; cbe: fff34313 not t1,t1 cc2: 00d376b3 and a3,t1,a3 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_gpio.c:143 tmpreg |= (currentmode << pos); cc6: 00e81733 sll a4,a6,a4 cca: 8ed9 or a3,a3,a4 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_gpio.c:145 if(GPIO_InitStruct->GPIO_Mode == GPIO_Mode_IPD) ccc: 01f79d63 bne a5,t6,ce6 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_gpio.c:147 GPIOx->BCR = (((uint32_t)0x01) << (pinpos + 0x08)); cd0: 01152a23 sw a7,20(a0) # 4014 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_gpio.c:150 if(GPIO_InitStruct->GPIO_Mode == GPIO_Mode_IPU) cd4: 0605 addi a2,a2,1 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_gpio.c:133 (discriminator 2) for(pinpos = 0x00; pinpos < 0x08; pinpos++) cd6: fdc619e3 bne a2,t3,ca8 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_gpio.c:156 { GPIOx->BSHR = (((uint32_t)0x01) << (pinpos + 0x08)); } } } GPIOx->CFGHR = tmpreg; cda: c154 sw a3,4(a0) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_gpio.c:158 } } cdc: 8082 ret D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_gpio.c:119 if(GPIO_InitStruct->GPIO_Mode == GPIO_Mode_IPU) cde: fa5794e3 bne a5,t0,c86 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_gpio.c:121 GPIOx->BSHR = (((uint32_t)0x01) << pinpos); ce2: c910 sw a2,16(a0) ce4: b74d j c86 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_gpio.c:150 if(GPIO_InitStruct->GPIO_Mode == GPIO_Mode_IPU) ce6: fe5797e3 bne a5,t0,cd4 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_gpio.c:152 GPIOx->BSHR = (((uint32_t)0x01) << (pinpos + 0x08)); cea: 01152823 sw a7,16(a0) cee: b7dd j cd4 00000cf0 : NVIC_Init(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_misc.c:80 { NVIC_SetPriority(NVIC_InitStruct->NVIC_IRQChannel, (NVIC_InitStruct->NVIC_IRQChannelPreemptionPriority << 7) | (NVIC_InitStruct->NVIC_IRQChannelSubPriority << 5)); } } #elif (INTSYSCR_INEST == INTSYSCR_INEST_EN_4Level) if(NVIC_Priority_Group == NVIC_PriorityGroup_2) cf0: 8701a703 lw a4,-1936(gp) # 20000090 cf4: 4789 li a5,2 cf6: 2110 lbu a2,0(a0) cf8: 02f71163 bne a4,a5,d1a D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_misc.c:82 { if(NVIC_InitStruct->NVIC_IRQChannelPreemptionPriority < 4) cfc: 3114 lbu a3,1(a0) cfe: 478d li a5,3 d00: 00d7ed63 bltu a5,a3,d1a D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_misc.c:84 { NVIC_SetPriority(NVIC_InitStruct->NVIC_IRQChannel, (NVIC_InitStruct->NVIC_IRQChannelPreemptionPriority << 6) | (NVIC_InitStruct->NVIC_IRQChannelSubPriority << 5)); d04: 213c lbu a5,2(a0) d06: 069a slli a3,a3,0x6 NVIC_SetPriority(): D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\SRC\Core/core_riscv.h:286 NVIC->IPRIOR[(uint32_t)(IRQn)] = priority; d08: e000e737 lui a4,0xe000e NVIC_Init(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_misc.c:84 d0c: 0796 slli a5,a5,0x5 d0e: 8fd5 or a5,a5,a3 d10: 0ff7f793 andi a5,a5,255 NVIC_SetPriority(): D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\SRC\Core/core_riscv.h:286 d14: 9732 add a4,a4,a2 d16: 40f70023 sb a5,1024(a4) # e000e400 <_eusrstack+0xbffee400> NVIC_Init(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_misc.c:97 NVIC_SetPriority(NVIC_InitStruct->NVIC_IRQChannel, (NVIC_InitStruct->NVIC_IRQChannelPreemptionPriority << 5) ); } } #endif if(NVIC_InitStruct->NVIC_IRQChannelCmd != DISABLE) d1a: 4154 lw a3,4(a0) d1c: 4705 li a4,1 d1e: 00565793 srli a5,a2,0x5 d22: 00c71733 sll a4,a4,a2 d26: ca89 beqz a3,d38 NVIC_EnableIRQ(): D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\SRC\Core/core_riscv.h:170 NVIC->IENR[((uint32_t)(IRQn) >> 5)] = (1 << ((uint32_t)(IRQn) & 0x1F)); d28: 04078793 addi a5,a5,64 d2c: 078a slli a5,a5,0x2 d2e: e000e6b7 lui a3,0xe000e d32: 97b6 add a5,a5,a3 d34: c398 sw a4,0(a5) d36: 8082 ret NVIC_DisableIRQ(): D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\SRC\Core/core_riscv.h:184 NVIC->IRER[((uint32_t)(IRQn) >> 5)] = (1 << ((uint32_t)(IRQn) & 0x1F)); d38: 06078793 addi a5,a5,96 d3c: e000e6b7 lui a3,0xe000e d40: 078a slli a5,a5,0x2 d42: 97b6 add a5,a5,a3 d44: c398 sw a4,0(a5) D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\SRC\Core/core_riscv.h:185 __asm volatile ("fence.i"); d46: 0000100f fence.i NVIC_Init(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_misc.c:105 } else { NVIC_DisableIRQ(NVIC_InitStruct->NVIC_IRQChannel); } } d4a: 8082 ret 00000d4c : RCC_GetClocksFreq(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:585 #ifdef CH32V30x_D8C uint8_t Pll2mull = 0; #endif tmp = RCC->CFGR0 & CFGR0_SWS_Mask; d4c: 40021737 lui a4,0x40021 d50: 435c lw a5,4(a4) d52: 4691 li a3,4 d54: 8bb1 andi a5,a5,12 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:587 switch(tmp) d56: 00d78563 beq a5,a3,d60 d5a: 46a1 li a3,8 d5c: 06d78263 beq a5,a3,dc0 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:590 { case 0x00: RCC_Clocks->SYSCLK_Frequency = HSI_VALUE; d60: 007a17b7 lui a5,0x7a1 d64: 20078793 addi a5,a5,512 # 7a1200 <_data_lma+0x79836c> D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:668 #endif } if(Pll_6_5 == 1) RCC_Clocks->SYSCLK_Frequency = (RCC_Clocks->SYSCLK_Frequency / 2); d68: c11c sw a5,0(a0) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:677 default: RCC_Clocks->SYSCLK_Frequency = HSI_VALUE; break; } tmp = RCC->CFGR0 & CFGR0_HPRE_Set_Mask; d6a: 40021637 lui a2,0x40021 d6e: 425c lw a5,4(a2) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:679 tmp = tmp >> 4; presc = APBAHBPrescTable[tmp]; d70: 20000737 lui a4,0x20000 d74: 01070713 addi a4,a4,16 # 20000010 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:678 tmp = tmp >> 4; d78: 8391 srli a5,a5,0x4 d7a: 8bbd andi a5,a5,15 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:679 presc = APBAHBPrescTable[tmp]; d7c: 97ba add a5,a5,a4 d7e: 2394 lbu a3,0(a5) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:680 RCC_Clocks->HCLK_Frequency = RCC_Clocks->SYSCLK_Frequency >> presc; d80: 411c lw a5,0(a0) d82: 00d7d7b3 srl a5,a5,a3 d86: c15c sw a5,4(a0) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:681 tmp = RCC->CFGR0 & CFGR0_PPRE1_Set_Mask; d88: 4254 lw a3,4(a2) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:682 tmp = tmp >> 8; d8a: 82a1 srli a3,a3,0x8 d8c: 8a9d andi a3,a3,7 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:683 presc = APBAHBPrescTable[tmp]; d8e: 96ba add a3,a3,a4 d90: 2294 lbu a3,0(a3) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:684 RCC_Clocks->PCLK1_Frequency = RCC_Clocks->HCLK_Frequency >> presc; d92: 00d7d6b3 srl a3,a5,a3 d96: c514 sw a3,8(a0) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:685 tmp = RCC->CFGR0 & CFGR0_PPRE2_Set_Mask; d98: 4254 lw a3,4(a2) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:686 tmp = tmp >> 11; d9a: 82ad srli a3,a3,0xb d9c: 8a9d andi a3,a3,7 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:687 presc = APBAHBPrescTable[tmp]; d9e: 9736 add a4,a4,a3 da0: 2318 lbu a4,0(a4) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:688 RCC_Clocks->PCLK2_Frequency = RCC_Clocks->HCLK_Frequency >> presc; da2: 00e7d7b3 srl a5,a5,a4 da6: c55c sw a5,12(a0) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:689 tmp = RCC->CFGR0 & CFGR0_ADCPRE_Set_Mask; da8: 4258 lw a4,4(a2) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:690 tmp = tmp >> 14; daa: 8339 srli a4,a4,0xe dac: 00377693 andi a3,a4,3 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:691 presc = ADCPrescTable[tmp]; db0: 81818713 addi a4,gp,-2024 # 20000038 db4: 9736 add a4,a4,a3 db6: 2318 lbu a4,0(a4) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:692 RCC_Clocks->ADCCLK_Frequency = RCC_Clocks->PCLK2_Frequency / presc; db8: 02e7d7b3 divu a5,a5,a4 dbc: c91c sw a5,16(a0) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:693 } dbe: 8082 ret D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:598 pllmull = RCC->CFGR0 & CFGR0_PLLMull_Mask; dc0: 435c lw a5,4(a4) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:599 pllsource = RCC->CFGR0 & CFGR0_PLLSRC_Mask; dc2: 4358 lw a4,4(a4) dc4: 66c1 lui a3,0x10 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:601 pllmull = (pllmull >> 18) + 2; dc6: 83c9 srli a5,a5,0x12 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:599 pllsource = RCC->CFGR0 & CFGR0_PLLSRC_Mask; dc8: 8f75 and a4,a4,a3 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:603 if(((*(uint32_t *)0x1FFFF70C) & (1 << 14)) != (1 << 14)) dca: 1ffff6b7 lui a3,0x1ffff dce: 70c6a683 lw a3,1804(a3) # 1ffff70c <_data_lma+0x1fff6878> D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:601 pllmull = (pllmull >> 18) + 2; dd2: 8bbd andi a5,a5,15 dd4: 0789 addi a5,a5,2 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:603 if(((*(uint32_t *)0x1FFFF70C) & (1 << 14)) != (1 << 14)) dd6: 01169613 slli a2,a3,0x11 dda: 00064863 bltz a2,dea D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:605 if(pllmull == 17) dde: 46c5 li a3,17 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:578 uint8_t Pll_6_5 = 0; de0: 4601 li a2,0 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:605 if(pllmull == 17) de2: 02d79263 bne a5,a3,e06 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:606 pllmull = 18; de6: 47c9 li a5,18 de8: a839 j e06 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:610 if(pllmull == 2) dea: 4689 li a3,2 dec: 02d78f63 beq a5,a3,e2a D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:612 if(pllmull == 15) df0: 46bd li a3,15 df2: 02d78e63 beq a5,a3,e2e D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:617 if(pllmull == 16) df6: 46c1 li a3,16 df8: 02d78e63 beq a5,a3,e34 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:619 if(pllmull == 17) dfc: 46c5 li a3,17 dfe: 4601 li a2,0 e00: 00d79363 bne a5,a3,e06 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:620 pllmull = 16; e04: 47c1 li a5,16 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:623 if(pllsource == 0x00) e06: ef1d bnez a4,e44 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:625 if(EXTEN->EXTEN_CTR & EXTEN_PLL_HSI_PRE) e08: 40024737 lui a4,0x40024 e0c: 80072703 lw a4,-2048(a4) # 40023800 <_eusrstack+0x20003800> e10: 8b41 andi a4,a4,16 e12: c705 beqz a4,e3a D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:627 RCC_Clocks->SYSCLK_Frequency = (HSI_VALUE)*pllmull; e14: 007a1737 lui a4,0x7a1 e18: 20070713 addi a4,a4,512 # 7a1200 <_data_lma+0x79836c> D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:662 RCC_Clocks->SYSCLK_Frequency = RCC_Clocks->SYSCLK_Frequency * pllmull; e1c: 02f707b3 mul a5,a4,a5 e20: c11c sw a5,0(a0) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:667 if(Pll_6_5 == 1) e22: d621 beqz a2,d6a D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:668 RCC_Clocks->SYSCLK_Frequency = (RCC_Clocks->SYSCLK_Frequency / 2); e24: 411c lw a5,0(a0) e26: 8385 srli a5,a5,0x1 e28: b781 j d68 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:578 uint8_t Pll_6_5 = 0; e2a: 4601 li a2,0 e2c: bf6d j de6 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:615 Pll_6_5 = 1; e2e: 4605 li a2,1 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:614 pllmull = 13; /* *6.5 */ e30: 47b5 li a5,13 e32: bfd1 j e06 e34: 4601 li a2,0 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:618 pllmull = 15; e36: 47bd li a5,15 e38: b7f9 j e06 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:631 RCC_Clocks->SYSCLK_Frequency = (HSI_VALUE >> 1) * pllmull; e3a: 003d1737 lui a4,0x3d1 e3e: 90070713 addi a4,a4,-1792 # 3d0900 <_data_lma+0x3c7a6c> e42: bfe9 j e1c D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:646 if(RCC->CFGR2 & (1<<16)){ /* PLL2 */ e44: 400215b7 lui a1,0x40021 e48: 55d8 lw a4,44(a1) e4a: 00f71693 slli a3,a4,0xf D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:647 RCC_Clocks->SYSCLK_Frequency = HSE_VALUE/(((RCC->CFGR2 & 0xF0)>>4) + 1); /* PREDIV2 */ e4e: 55d8 lw a4,44(a1) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:646 if(RCC->CFGR2 & (1<<16)){ /* PLL2 */ e50: 0406df63 bgez a3,eae D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:647 RCC_Clocks->SYSCLK_Frequency = HSE_VALUE/(((RCC->CFGR2 & 0xF0)>>4) + 1); /* PREDIV2 */ e54: 8311 srli a4,a4,0x4 e56: 8b3d andi a4,a4,15 e58: 00170693 addi a3,a4,1 e5c: 007a1737 lui a4,0x7a1 e60: 20070713 addi a4,a4,512 # 7a1200 <_data_lma+0x79836c> e64: 02d75733 divu a4,a4,a3 e68: c118 sw a4,0(a0) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:649 Pll2mull = (uint8_t)((RCC->CFGR2 & 0xF00)>>8); e6a: 55d4 lw a3,44(a1) e6c: 82a1 srli a3,a3,0x8 e6e: 8abd andi a3,a3,15 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:651 if(Pll2mull == 0) RCC_Clocks->SYSCLK_Frequency = (RCC_Clocks->SYSCLK_Frequency * 5)>>1; e70: e28d bnez a3,e92 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:651 (discriminator 1) e72: 4695 li a3,5 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:652 (discriminator 1) else if(Pll2mull == 1) RCC_Clocks->SYSCLK_Frequency = (RCC_Clocks->SYSCLK_Frequency * 25)>>1; e74: 02d70733 mul a4,a4,a3 e78: 8305 srli a4,a4,0x1 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:654 else RCC_Clocks->SYSCLK_Frequency = RCC_Clocks->SYSCLK_Frequency * (Pll2mull + 2); e7a: c118 sw a4,0(a0) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:656 RCC_Clocks->SYSCLK_Frequency = RCC_Clocks->SYSCLK_Frequency/((RCC->CFGR2 & 0xF) + 1); /* PREDIV1 */ e7c: 40021737 lui a4,0x40021 e80: 5758 lw a4,44(a4) e82: 4114 lw a3,0(a0) e84: 8b3d andi a4,a4,15 e86: 0705 addi a4,a4,1 e88: 02e6d733 divu a4,a3,a4 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:659 RCC_Clocks->SYSCLK_Frequency = HSE_VALUE/((RCC->CFGR2 & 0xF) + 1); /* PREDIV1 */ e8c: c118 sw a4,0(a0) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:662 RCC_Clocks->SYSCLK_Frequency = RCC_Clocks->SYSCLK_Frequency * pllmull; e8e: 4118 lw a4,0(a0) e90: b771 j e1c D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:652 else if(Pll2mull == 1) RCC_Clocks->SYSCLK_Frequency = (RCC_Clocks->SYSCLK_Frequency * 25)>>1; e92: 4585 li a1,1 e94: 00b69463 bne a3,a1,e9c D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:652 (discriminator 1) e98: 46e5 li a3,25 e9a: bfe9 j e74 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:653 else if(Pll2mull == 15) RCC_Clocks->SYSCLK_Frequency = RCC_Clocks->SYSCLK_Frequency * 20; e9c: 45bd li a1,15 e9e: 00b69663 bne a3,a1,eaa D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:653 (discriminator 1) ea2: 46d1 li a3,20 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:654 else RCC_Clocks->SYSCLK_Frequency = RCC_Clocks->SYSCLK_Frequency * (Pll2mull + 2); ea4: 02e68733 mul a4,a3,a4 ea8: bfc9 j e7a eaa: 0689 addi a3,a3,2 eac: bfe5 j ea4 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:659 RCC_Clocks->SYSCLK_Frequency = HSE_VALUE/((RCC->CFGR2 & 0xF) + 1); /* PREDIV1 */ eae: 8b3d andi a4,a4,15 eb0: 00170693 addi a3,a4,1 # 40021001 <_eusrstack+0x20001001> eb4: 007a1737 lui a4,0x7a1 eb8: 20070713 addi a4,a4,512 # 7a1200 <_data_lma+0x79836c> ebc: 02d75733 divu a4,a4,a3 ec0: b7f1 j e8c 00000ec2 : RCC_AHBPeriphClockCmd(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:722 * * @return none */ void RCC_AHBPeriphClockCmd(uint32_t RCC_AHBPeriph, FunctionalState NewState) { if(NewState != DISABLE) ec2: c599 beqz a1,ed0 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:724 { RCC->AHBPCENR |= RCC_AHBPeriph; ec4: 40021737 lui a4,0x40021 ec8: 4b5c lw a5,20(a4) eca: 8d5d or a0,a0,a5 ecc: cb48 sw a0,20(a4) ece: 8082 ret D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:728 } else { RCC->AHBPCENR &= ~RCC_AHBPeriph; ed0: 400217b7 lui a5,0x40021 ed4: 4bd8 lw a4,20(a5) ed6: fff54513 not a0,a0 eda: 8d79 and a0,a0,a4 edc: cbc8 sw a0,20(a5) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:730 } } ede: 8082 ret 00000ee0 : RCC_APB2PeriphClockCmd(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:758 * * @return none */ void RCC_APB2PeriphClockCmd(uint32_t RCC_APB2Periph, FunctionalState NewState) { if(NewState != DISABLE) ee0: c599 beqz a1,eee D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:760 { RCC->APB2PCENR |= RCC_APB2Periph; ee2: 40021737 lui a4,0x40021 ee6: 4f1c lw a5,24(a4) ee8: 8d5d or a0,a0,a5 eea: cf08 sw a0,24(a4) eec: 8082 ret D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:764 } else { RCC->APB2PCENR &= ~RCC_APB2Periph; eee: 400217b7 lui a5,0x40021 ef2: 4f98 lw a4,24(a5) ef4: fff54513 not a0,a0 ef8: 8d79 and a0,a0,a4 efa: cf88 sw a0,24(a5) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:766 } } efc: 8082 ret 00000efe : RCC_APB1PeriphClockCmd(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:803 * * @return none */ void RCC_APB1PeriphClockCmd(uint32_t RCC_APB1Periph, FunctionalState NewState) { if(NewState != DISABLE) efe: c599 beqz a1,f0c D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:805 { RCC->APB1PCENR |= RCC_APB1Periph; f00: 40021737 lui a4,0x40021 f04: 4f5c lw a5,28(a4) f06: 8d5d or a0,a0,a5 f08: cf48 sw a0,28(a4) f0a: 8082 ret D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:809 } else { RCC->APB1PCENR &= ~RCC_APB1Periph; f0c: 400217b7 lui a5,0x40021 f10: 4fd8 lw a4,28(a5) f12: fff54513 not a0,a0 f16: 8d79 and a0,a0,a4 f18: cfc8 sw a0,28(a5) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:811 } } f1a: 8082 ret 00000f1c : RCC_AHBPeriphResetCmd(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:1295 * * @return none */ void RCC_AHBPeriphResetCmd(uint32_t RCC_AHBPeriph, FunctionalState NewState) { if(NewState != DISABLE) f1c: c599 beqz a1,f2a D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:1297 { RCC->AHBRSTR |= RCC_AHBPeriph; f1e: 40021737 lui a4,0x40021 f22: 571c lw a5,40(a4) f24: 8d5d or a0,a0,a5 f26: d708 sw a0,40(a4) f28: 8082 ret D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:1301 } else { RCC->AHBRSTR &= ~RCC_AHBPeriph; f2a: 400217b7 lui a5,0x40021 f2e: 5798 lw a4,40(a5) f30: fff54513 not a0,a0 f34: 8d79 and a0,a0,a4 f36: d788 sw a0,40(a5) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:1303 } } f38: 8082 ret 00000f3a : RCC_ETH1GCLKConfig(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:1357 * * @return none */ void RCC_ETH1GCLKConfig(uint32_t RCC_ETH1GCLKSource) { RCC->CFGR2 &= ~(3 << 20); f3a: 400217b7 lui a5,0x40021 f3e: 57d8 lw a4,44(a5) f40: ffd006b7 lui a3,0xffd00 f44: 16fd addi a3,a3,-1 f46: 8f75 and a4,a4,a3 f48: d7d8 sw a4,44(a5) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:1358 RCC->CFGR2 |= RCC_ETH1GCLKSource << 20; f4a: 57d8 lw a4,44(a5) f4c: 0552 slli a0,a0,0x14 f4e: 8d59 or a0,a0,a4 f50: d7c8 sw a0,44(a5) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:1359 } f52: 8082 ret 00000f54 : RCC_ETH1G_125Mcmd(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:1372 * * @return none */ void RCC_ETH1G_125Mcmd(FunctionalState NewState) { if(NewState != DISABLE) f54: c909 beqz a0,f66 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:1374 { RCC->CFGR2 |= (1 << 22); f56: 40021737 lui a4,0x40021 f5a: 575c lw a5,44(a4) f5c: 004006b7 lui a3,0x400 f60: 8fd5 or a5,a5,a3 f62: d75c sw a5,44(a4) f64: 8082 ret D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:1378 } else { RCC->CFGR2 &= ~(1 << 22); f66: 400216b7 lui a3,0x40021 f6a: 56dc lw a5,44(a3) f6c: ffc00737 lui a4,0xffc00 f70: 177d addi a4,a4,-1 f72: 8ff9 and a5,a5,a4 f74: d6dc sw a5,44(a3) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_rcc.c:1380 } } f76: 8082 ret 00000f78 : TIM_TimeBaseInit(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_tim.c:110 */ void TIM_TimeBaseInit(TIM_TypeDef *TIMx, TIM_TimeBaseInitTypeDef *TIM_TimeBaseInitStruct) { uint16_t tmpcr1 = 0; uint32_t temper1 = 0; temper1 = ((*( uint32_t * )0x1FFFF704) & 0x000000F0) >> 4; f78: 1ffff737 lui a4,0x1ffff f7c: 70472703 lw a4,1796(a4) # 1ffff704 <_data_lma+0x1fff6870> D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_tim.c:111 tmpcr1 = TIMx->CTLR1; f80: 211e lhu a5,0(a0) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_tim.c:113 if(((temper1>=4)&&(temper1<=8))&&((TIMx == TIM1) || (TIMx == TIM8) || (TIMx == TIM9) || (TIMx == TIM10))) f82: 4691 li a3,4 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_tim.c:110 temper1 = ((*( uint32_t * )0x1FFFF704) & 0x000000F0) >> 4; f84: 8311 srli a4,a4,0x4 f86: 8b3d andi a4,a4,15 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_tim.c:111 tmpcr1 = TIMx->CTLR1; f88: 07c2 slli a5,a5,0x10 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_tim.c:113 if(((temper1>=4)&&(temper1<=8))&&((TIMx == TIM1) || (TIMx == TIM8) || (TIMx == TIM9) || (TIMx == TIM10))) f8a: 1771 addi a4,a4,-4 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_tim.c:111 tmpcr1 = TIMx->CTLR1; f8c: 83c1 srli a5,a5,0x10 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_tim.c:113 if(((temper1>=4)&&(temper1<=8))&&((TIMx == TIM1) || (TIMx == TIM8) || (TIMx == TIM9) || (TIMx == TIM10))) f8e: 02e6e663 bltu a3,a4,fba D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_tim.c:113 (discriminator 1) f92: 40013737 lui a4,0x40013 f96: c0070693 addi a3,a4,-1024 # 40012c00 <_eusrstack+0x1fff2c00> f9a: 00d50e63 beq a0,a3,fb6 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_tim.c:113 (discriminator 2) f9e: 40070713 addi a4,a4,1024 fa2: 00e50a63 beq a0,a4,fb6 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_tim.c:113 (discriminator 3) fa6: 40015737 lui a4,0x40015 faa: c0070693 addi a3,a4,-1024 # 40014c00 <_eusrstack+0x1fff4c00> fae: 00d50463 beq a0,a3,fb6 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_tim.c:113 (discriminator 4) fb2: 00e51a63 bne a0,a4,fc6 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_tim.c:115 { tmpcr1 |= 1<<13; fb6: 6709 lui a4,0x2 fb8: 8fd9 or a5,a5,a4 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_tim.c:118 } if((TIMx == TIM1) || (TIMx == TIM2) || (TIMx == TIM3) || (TIMx == TIM4) || fba: 40013737 lui a4,0x40013 fbe: c0070713 addi a4,a4,-1024 # 40012c00 <_eusrstack+0x1fff2c00> fc2: 04e50263 beq a0,a4,1006 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_tim.c:118 (discriminator 1) fc6: 40000737 lui a4,0x40000 fca: 02e50e63 beq a0,a4,1006 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_tim.c:118 (discriminator 2) fce: 40070713 addi a4,a4,1024 # 40000400 <_eusrstack+0x1ffe0400> fd2: 02e50a63 beq a0,a4,1006 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_tim.c:118 (discriminator 3) fd6: 40001737 lui a4,0x40001 fda: 80070693 addi a3,a4,-2048 # 40000800 <_eusrstack+0x1ffe0800> fde: 02d50463 beq a0,a3,1006 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_tim.c:118 (discriminator 4) fe2: c0070713 addi a4,a4,-1024 fe6: 02e50063 beq a0,a4,1006 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_tim.c:119 (TIMx == TIM5) || (TIMx == TIM8) || (TIMx == TIM9) || (TIMx == TIM10)) fea: 40013737 lui a4,0x40013 fee: 40070713 addi a4,a4,1024 # 40013400 <_eusrstack+0x1fff3400> ff2: 00e50a63 beq a0,a4,1006 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_tim.c:119 (discriminator 1) ff6: 40015737 lui a4,0x40015 ffa: c0070693 addi a3,a4,-1024 # 40014c00 <_eusrstack+0x1fff4c00> ffe: 00d50463 beq a0,a3,1006 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_tim.c:119 (discriminator 2) 1002: 00e51863 bne a0,a4,1012 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_tim.c:121 { tmpcr1 &= (uint16_t)(~((uint16_t)(TIM_DIR | TIM_CMS))); 1006: f8f7f793 andi a5,a5,-113 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_tim.c:122 tmpcr1 |= (uint32_t)TIM_TimeBaseInitStruct->TIM_CounterMode; 100a: 21ba lhu a4,2(a1) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_tim.c:121 tmpcr1 &= (uint16_t)(~((uint16_t)(TIM_DIR | TIM_CMS))); 100c: 07c2 slli a5,a5,0x10 100e: 83c1 srli a5,a5,0x10 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_tim.c:122 tmpcr1 |= (uint32_t)TIM_TimeBaseInitStruct->TIM_CounterMode; 1010: 8fd9 or a5,a5,a4 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_tim.c:125 } if((TIMx != TIM6) && (TIMx != TIM7)) 1012: 40001737 lui a4,0x40001 1016: 00e50c63 beq a0,a4,102e D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_tim.c:125 (discriminator 1) 101a: 40070713 addi a4,a4,1024 # 40001400 <_eusrstack+0x1ffe1400> 101e: 00e50863 beq a0,a4,102e D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_tim.c:127 { tmpcr1 &= (uint16_t)(~((uint16_t)TIM_CTLR1_CKD)); 1022: cff7f793 andi a5,a5,-769 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_tim.c:128 tmpcr1 |= (uint32_t)TIM_TimeBaseInitStruct->TIM_ClockDivision; 1026: 21fa lhu a4,6(a1) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_tim.c:127 tmpcr1 &= (uint16_t)(~((uint16_t)TIM_CTLR1_CKD)); 1028: 07c2 slli a5,a5,0x10 102a: 83c1 srli a5,a5,0x10 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_tim.c:128 tmpcr1 |= (uint32_t)TIM_TimeBaseInitStruct->TIM_ClockDivision; 102c: 8fd9 or a5,a5,a4 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_tim.c:131 } TIMx->CTLR1 = tmpcr1; 102e: a11e sh a5,0(a0) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_tim.c:132 TIMx->ATRLR = TIM_TimeBaseInitStruct->TIM_Period; 1030: 21de lhu a5,4(a1) 1032: b55e sh a5,44(a0) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_tim.c:133 TIMx->PSC = TIM_TimeBaseInitStruct->TIM_Prescaler; 1034: 219e lhu a5,0(a1) 1036: b51e sh a5,40(a0) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_tim.c:135 if((TIMx == TIM1) || (TIMx == TIM8) || (TIMx == TIM9) || (TIMx == TIM10)) 1038: 400137b7 lui a5,0x40013 103c: c0078713 addi a4,a5,-1024 # 40012c00 <_eusrstack+0x1fff2c00> 1040: 00e50e63 beq a0,a4,105c D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_tim.c:135 (discriminator 1) 1044: 40078793 addi a5,a5,1024 1048: 00f50a63 beq a0,a5,105c D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_tim.c:135 (discriminator 2) 104c: 400157b7 lui a5,0x40015 1050: c0078713 addi a4,a5,-1024 # 40014c00 <_eusrstack+0x1fff4c00> 1054: 00e50463 beq a0,a4,105c D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_tim.c:135 (discriminator 3) 1058: 00f51463 bne a0,a5,1060 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_tim.c:137 { TIMx->RPTCR = TIM_TimeBaseInitStruct->TIM_RepetitionCounter; 105c: 259c lbu a5,8(a1) 105e: b91e sh a5,48(a0) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_tim.c:140 } TIMx->SWEVGR = TIM_PSCReloadMode_Immediate; 1060: 4785 li a5,1 1062: a95e sh a5,20(a0) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_tim.c:141 } 1064: 8082 ret 00001066 : TIM_Cmd(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_tim.c:522 */ void TIM_Cmd(TIM_TypeDef *TIMx, FunctionalState NewState) { if(NewState != DISABLE) { TIMx->CTLR1 |= TIM_CEN; 1066: 211e lhu a5,0(a0) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_tim.c:520 if(NewState != DISABLE) 1068: c589 beqz a1,1072 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_tim.c:522 TIMx->CTLR1 |= TIM_CEN; 106a: 0017e793 ori a5,a5,1 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_tim.c:526 } else { TIMx->CTLR1 &= (uint16_t)(~((uint16_t)TIM_CEN)); 106e: a11e sh a5,0(a0) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_tim.c:528 } } 1070: 8082 ret D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_tim.c:526 TIMx->CTLR1 &= (uint16_t)(~((uint16_t)TIM_CEN)); 1072: 07c2 slli a5,a5,0x10 1074: 83c1 srli a5,a5,0x10 1076: 9bf9 andi a5,a5,-2 1078: 07c2 slli a5,a5,0x10 107a: 83c1 srli a5,a5,0x10 107c: bfcd j 106e 0000107e : TIM_ITConfig(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_tim.c:576 */ void TIM_ITConfig(TIM_TypeDef *TIMx, uint16_t TIM_IT, FunctionalState NewState) { if(NewState != DISABLE) { TIMx->DMAINTENR |= TIM_IT; 107e: 255e lhu a5,12(a0) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_tim.c:574 if(NewState != DISABLE) 1080: c601 beqz a2,1088 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_tim.c:576 TIMx->DMAINTENR |= TIM_IT; 1082: 8ddd or a1,a1,a5 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_tim.c:580 } else { TIMx->DMAINTENR &= (uint16_t)~TIM_IT; 1084: a54e sh a1,12(a0) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_tim.c:582 } } 1086: 8082 ret D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_tim.c:580 TIMx->DMAINTENR &= (uint16_t)~TIM_IT; 1088: fff5c593 not a1,a1 108c: 8dfd and a1,a1,a5 108e: bfdd j 1084 00001090 : TIM_ClearITPendingBit(): 1090: fff5c593 not a1,a1 1094: 05c2 slli a1,a1,0x10 1096: 81c1 srli a1,a1,0x10 1098: a90e sh a1,16(a0) 109a: 8082 ret 0000109c : USART_Init(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_usart.c:122 * USART peripheral. * * @return none */ void USART_Init(USART_TypeDef *USARTx, USART_InitTypeDef *USART_InitStruct) { 109c: 954ff2ef jal t0,1f0 <__riscv_save_0> D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_usart.c:134 if(USART_InitStruct->USART_HardwareFlowControl != USART_HardwareFlowControl_None) { } usartxbase = (uint32_t)USARTx; tmpreg = USARTx->CTLR2; 10a0: 2916 lhu a3,16(a0) 10a2: 77f5 lui a5,0xffffd 10a4: 17fd addi a5,a5,-1 10a6: 8ff5 and a5,a5,a3 10a8: 21f6 lhu a3,6(a1) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_usart.c:129 if(USART_InitStruct->USART_HardwareFlowControl != USART_HardwareFlowControl_None) 10aa: 25da lhu a4,12(a1) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_usart.c:122 { 10ac: 7179 addi sp,sp,-48 10ae: 8fd5 or a5,a5,a3 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_usart.c:138 tmpreg &= CTLR2_STOP_CLEAR_Mask; tmpreg |= (uint32_t)USART_InitStruct->USART_StopBits; USARTx->CTLR2 = (uint16_t)tmpreg; 10b0: a91e sh a5,16(a0) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_usart.c:139 tmpreg = USARTx->CTLR1; 10b2: 2556 lhu a3,12(a0) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_usart.c:141 tmpreg &= CTLR1_CLEAR_Mask; tmpreg |= (uint32_t)USART_InitStruct->USART_WordLength | USART_InitStruct->USART_Parity | 10b4: 77fd lui a5,0xfffff 10b6: 9f378793 addi a5,a5,-1549 # ffffe9f3 <_eusrstack+0xdffde9f3> 10ba: 8ff5 and a5,a5,a3 10bc: 21d6 lhu a3,4(a1) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_usart.c:122 { 10be: 842a mv s0,a0 10c0: c62e sw a1,12(sp) 10c2: 8fd5 or a5,a5,a3 10c4: 2596 lhu a3,8(a1) 10c6: 8fd5 or a5,a5,a3 10c8: 25b6 lhu a3,10(a1) 10ca: 8fd5 or a5,a5,a3 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_usart.c:143 USART_InitStruct->USART_Mode; USARTx->CTLR1 = (uint16_t)tmpreg; 10cc: a55e sh a5,12(a0) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_usart.c:145 tmpreg = USARTx->CTLR3; 10ce: 295e lhu a5,20(a0) 10d0: 07c2 slli a5,a5,0x10 10d2: 83c1 srli a5,a5,0x10 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_usart.c:147 tmpreg &= CTLR3_CLEAR_Mask; tmpreg |= USART_InitStruct->USART_HardwareFlowControl; 10d4: cff7f793 andi a5,a5,-769 10d8: 8fd9 or a5,a5,a4 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_usart.c:148 USARTx->CTLR3 = (uint16_t)tmpreg; 10da: a95e sh a5,20(a0) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_usart.c:150 RCC_GetClocksFreq(&RCC_ClocksStatus); 10dc: 0868 addi a0,sp,28 10de: 31bd jal d4c D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_usart.c:152 if(usartxbase == USART1_BASE) 10e0: 400147b7 lui a5,0x40014 10e4: 80078793 addi a5,a5,-2048 # 40013800 <_eusrstack+0x1fff3800> 10e8: 45b2 lw a1,12(sp) 10ea: 02f41e63 bne s0,a5,1126 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_usart.c:154 { apbclock = RCC_ClocksStatus.PCLK2_Frequency; 10ee: 57a2 lw a5,40(sp) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_usart.c:161 else { apbclock = RCC_ClocksStatus.PCLK1_Frequency; } integerdivider = ((25 * apbclock) / (4 * (USART_InitStruct->USART_BaudRate))); 10f0: 4765 li a4,25 10f2: 02e787b3 mul a5,a5,a4 10f6: 4198 lw a4,0(a1) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_usart.c:162 tmpreg = (integerdivider / 100) << 4; 10f8: 06400693 li a3,100 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_usart.c:161 integerdivider = ((25 * apbclock) / (4 * (USART_InitStruct->USART_BaudRate))); 10fc: 070a slli a4,a4,0x2 10fe: 02e7d7b3 divu a5,a5,a4 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_usart.c:162 tmpreg = (integerdivider / 100) << 4; 1102: 02d7d733 divu a4,a5,a3 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_usart.c:164 fractionaldivider = integerdivider - (100 * (tmpreg >> 4)); tmpreg |= ((((fractionaldivider * 16) + 50) / 100)) & ((uint8_t)0x0F); 1106: 02d7f7b3 remu a5,a5,a3 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_usart.c:162 tmpreg = (integerdivider / 100) << 4; 110a: 0712 slli a4,a4,0x4 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_usart.c:164 tmpreg |= ((((fractionaldivider * 16) + 50) / 100)) & ((uint8_t)0x0F); 110c: 0792 slli a5,a5,0x4 110e: 03278793 addi a5,a5,50 1112: 02d7d7b3 divu a5,a5,a3 1116: 8bbd andi a5,a5,15 1118: 8fd9 or a5,a5,a4 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_usart.c:165 USARTx->BRR = (uint16_t)tmpreg; 111a: 07c2 slli a5,a5,0x10 111c: 83c1 srli a5,a5,0x10 111e: a41e sh a5,8(s0) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_usart.c:166 } 1120: 6145 addi sp,sp,48 1122: 8f2ff06f j 214 <__riscv_restore_0> D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_usart.c:158 apbclock = RCC_ClocksStatus.PCLK1_Frequency; 1126: 5792 lw a5,36(sp) 1128: b7e1 j 10f0 0000112a : USART_Cmd(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_usart.c:244 * * @return none */ void USART_Cmd(USART_TypeDef *USARTx, FunctionalState NewState) { if(NewState != DISABLE) 112a: c591 beqz a1,1136 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_usart.c:246 { USARTx->CTLR1 |= CTLR1_UE_Set; 112c: 255e lhu a5,12(a0) 112e: 6709 lui a4,0x2 1130: 8fd9 or a5,a5,a4 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_usart.c:250 } else { USARTx->CTLR1 &= CTLR1_UE_Reset; 1132: a55e sh a5,12(a0) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_usart.c:252 } } 1134: 8082 ret D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_usart.c:250 USARTx->CTLR1 &= CTLR1_UE_Reset; 1136: 255a lhu a4,12(a0) 1138: 77f9 lui a5,0xffffe 113a: 17fd addi a5,a5,-1 113c: 8ff9 and a5,a5,a4 113e: bfd5 j 1132 00001140 : USART_SendData(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_usart.c:447 * * @return none */ void USART_SendData(USART_TypeDef *USARTx, uint16_t Data) { USARTx->DATAR = (Data & (uint16_t)0x01FF); 1140: 1ff5f593 andi a1,a1,511 1144: a14e sh a1,4(a0) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_usart.c:448 } 1146: 8082 ret 00001148 : USART_GetFlagStatus(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_usart.c:649 */ FlagStatus USART_GetFlagStatus(USART_TypeDef *USARTx, uint16_t USART_FLAG) { FlagStatus bitstatus = RESET; if((USARTx->STATR & USART_FLAG) != (uint16_t)RESET) 1148: 210a lhu a0,0(a0) 114a: 8d6d and a0,a0,a1 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Peripheral/src/ch32v30x_usart.c:658 else { bitstatus = RESET; } return bitstatus; } 114c: 00a03533 snez a0,a0 1150: 8082 ret 00001152 : ETH_TxPktChainMode(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:484 * @return Send status. */ uint32_t ETH_TxPktChainMode(uint16_t len, uint32_t *pBuff ) { /* Check if the descriptor is owned by the ETHERNET DMA (when set) or CPU (when reset) */ if((DMATxDescToSet->Status & ETH_DMATxDesc_OWN) != (u32)RESET) 1152: 86c1a783 lw a5,-1940(gp) # 2000008c 1156: 4398 lw a4,0(a5) 1158: 02074b63 bltz a4,118e D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:497 /* Setting the last segment and first segment bits (in this case a frame is transmitted in one descriptor) */ #if HARDWARE_CHECKSUM_CONFIG DMATxDescToSet->Status |= ETH_DMATxDesc_LS | ETH_DMATxDesc_FS | ETH_DMATxDesc_CIC_TCPUDPICMP_Full; #else DMATxDescToSet->Status |= ETH_DMATxDesc_LS | ETH_DMATxDesc_FS; 115c: 4398 lw a4,0(a5) 115e: 30000637 lui a2,0x30000 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:490 DMATxDescToSet->ControlBufferSize = (len & ETH_DMATxDesc_TBS1); 1162: 054e slli a0,a0,0x13 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:497 DMATxDescToSet->Status |= ETH_DMATxDesc_LS | ETH_DMATxDesc_FS; 1164: 8f51 or a4,a4,a2 1166: c398 sw a4,0(a5) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:501 #endif /* Set Own bit of the Tx descriptor Status: gives the buffer back to ETHERNET DMA */ DMATxDescToSet->Status |= ETH_DMATxDesc_OWN; 1168: 4398 lw a4,0(a5) 116a: 80000637 lui a2,0x80000 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:490 DMATxDescToSet->ControlBufferSize = (len & ETH_DMATxDesc_TBS1); 116e: 814d srli a0,a0,0x13 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:501 DMATxDescToSet->Status |= ETH_DMATxDesc_OWN; 1170: 8f51 or a4,a4,a2 1172: c398 sw a4,0(a5) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:490 DMATxDescToSet->ControlBufferSize = (len & ETH_DMATxDesc_TBS1); 1174: c3c8 sw a0,4(a5) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:491 DMATxDescToSet->Buffer1Addr = (uint32_t)pBuff; 1176: c78c sw a1,8(a5) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:504 /* Clear TBUS ETHERNET DMA flag */ ETH->DMASR = ETH_DMASR_TBUS; 1178: 40029737 lui a4,0x40029 117c: 4611 li a2,4 117e: cb50 sw a2,20(a4) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:506 /* Resume DMA transmission*/ ETH->DMATPDR = 0; 1180: 00072223 sw zero,4(a4) # 40029004 <_eusrstack+0x20009004> D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:511 /* Update the ETHERNET DMA global Tx descriptor with next Tx descriptor */ /* Chained Mode */ /* Selects the next DMA Tx descriptor list for next buffer to send */ DMATxDescToSet = (ETH_DMADESCTypeDef*) (DMATxDescToSet->Buffer2NextDescAddr); 1184: 47dc lw a5,12(a5) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:513 /* Return SUCCESS */ return ETH_SUCCESS; 1186: 4505 li a0,1 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:511 DMATxDescToSet = (ETH_DMADESCTypeDef*) (DMATxDescToSet->Buffer2NextDescAddr); 1188: 86f1a623 sw a5,-1940(gp) # 2000008c D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:513 return ETH_SUCCESS; 118c: 8082 ret D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:487 return ETH_ERROR; 118e: 4501 li a0,0 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:514 } 1190: 8082 ret 00001192 : WCHNET_GetMacAddr(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:71 *p = *macaddr; 1192: 1ffff737 lui a4,0x1ffff D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:65 { 1196: 4781 li a5,0 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:71 *p = *macaddr; 1198: 7ed70713 addi a4,a4,2029 # 1ffff7ed <_data_lma+0x1fff6959> D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:69 for(i=0;i<6;i++) 119c: 4699 li a3,6 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:71 (discriminator 3) *p = *macaddr; 119e: 40f70633 sub a2,a4,a5 11a2: 220c lbu a1,0(a2) 11a4: 00f50633 add a2,a0,a5 11a8: 0785 addi a5,a5,1 11aa: a20c sb a1,0(a2) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:69 (discriminator 3) for(i=0;i<6;i++) 11ac: fed799e3 bne a5,a3,119e D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:75 } 11b0: 8082 ret 000011b2 : WCHNET_TimeIsr(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:86 LocalTime += timperiod; 11b2: 88018793 addi a5,gp,-1920 # 200000a0 11b6: 4398 lw a4,0(a5) 11b8: 953a add a0,a0,a4 11ba: c388 sw a0,0(a5) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:87 } 11bc: 8082 ret 000011be : ETH_RGMIIPinInit(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:143 { 11be: 80aff2ef jal t0,1c8 <__riscv_save_10> 11c2: 1141 addi sp,sp,-16 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:146 RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE); 11c4: 4585 li a1,1 11c6: 4505 li a0,1 11c8: 3b21 jal ee0 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:147 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC, ENABLE); 11ca: 4585 li a1,1 11cc: 4571 li a0,28 11ce: 3b09 jal ee0 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:148 GPIOB->CFGHR &= ~(0xff<<16); 11d0: 40011937 lui s2,0x40011 11d4: c0492783 lw a5,-1020(s2) # 40010c04 <_eusrstack+0x1fff0c04> 11d8: ff010737 lui a4,0xff010 11dc: 177d addi a4,a4,-1 11de: 8ff9 and a5,a5,a4 11e0: c0f92223 sw a5,-1020(s2) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:149 GPIOB->CFGHR |= (0xbb<<16); 11e4: c0492783 lw a5,-1020(s2) 11e8: 00bb0737 lui a4,0xbb0 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:152 GPIO_Output(GPIOA, GPIO_Pin_2); 11ec: 440d li s0,3 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:149 GPIOB->CFGHR |= (0xbb<<16); 11ee: 8fd9 or a5,a5,a4 11f0: c0f92223 sw a5,-1020(s2) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:150 GPIOB->CFGLR &= ~(0xff<<4); 11f4: c0092783 lw a5,-1024(s2) 11f8: 777d lui a4,0xfffff 11fa: 073d addi a4,a4,15 11fc: 8ff9 and a5,a5,a4 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:152 GPIO_Output(GPIOA, GPIO_Pin_2); 11fe: 44e1 li s1,24 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:150 GPIOB->CFGLR &= ~(0xff<<4); 1200: c0f92023 sw a5,-1024(s2) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:152 GPIO_Output(GPIOA, GPIO_Pin_2); 1204: 004c addi a1,sp,4 1206: 4791 li a5,4 1208: 80090513 addi a0,s2,-2048 120c: 827c sh a5,4(sp) 120e: c422 sw s0,8(sp) 1210: c626 sw s1,12(sp) 1212: 3c39 jal c30 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:153 GPIO_Output(GPIOA, GPIO_Pin_3); 1214: 4ba1 li s7,8 1216: 004c addi a1,sp,4 1218: 80090513 addi a0,s2,-2048 121c: 01711223 sh s7,4(sp) 1220: c422 sw s0,8(sp) 1222: c626 sw s1,12(sp) 1224: 3431 jal c30 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:154 GPIO_Output(GPIOA, GPIO_Pin_7); 1226: 08000b13 li s6,128 122a: 004c addi a1,sp,4 122c: 80090513 addi a0,s2,-2048 1230: 01611223 sh s6,4(sp) 1234: c422 sw s0,8(sp) 1236: c626 sw s1,12(sp) 1238: 3ae5 jal c30 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:155 GPIO_Output(GPIOC, GPIO_Pin_4); 123a: 47c1 li a5,16 123c: 004c addi a1,sp,4 123e: 40011537 lui a0,0x40011 1242: 827c sh a5,4(sp) 1244: c422 sw s0,8(sp) 1246: c626 sw s1,12(sp) 1248: 32e5 jal c30 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:156 GPIO_Output(GPIOC, GPIO_Pin_5); 124a: 02000793 li a5,32 124e: 004c addi a1,sp,4 1250: 40011537 lui a0,0x40011 1254: 827c sh a5,4(sp) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:148 GPIOB->CFGHR &= ~(0xff<<16); 1256: c0090993 addi s3,s2,-1024 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:156 GPIO_Output(GPIOC, GPIO_Pin_5); 125a: c422 sw s0,8(sp) 125c: c626 sw s1,12(sp) 125e: 9d3ff0ef jal ra,c30 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:157 GPIO_Output(GPIOB, GPIO_Pin_0); 1262: 4a85 li s5,1 1264: 004c addi a1,sp,4 1266: 854e mv a0,s3 1268: 01511223 sh s5,4(sp) 126c: c422 sw s0,8(sp) 126e: c626 sw s1,12(sp) 1270: 9c1ff0ef jal ra,c30 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:159 GPIO_Input(GPIOC, GPIO_Pin_0); 1274: 4491 li s1,4 1276: 004c addi a1,sp,4 1278: 40011537 lui a0,0x40011 127c: 01511223 sh s5,4(sp) 1280: c422 sw s0,8(sp) 1282: c626 sw s1,12(sp) 1284: 9adff0ef jal ra,c30 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:160 GPIO_Input(GPIOC, GPIO_Pin_1); 1288: 4a09 li s4,2 128a: 004c addi a1,sp,4 128c: 40011537 lui a0,0x40011 1290: 01411223 sh s4,4(sp) 1294: c422 sw s0,8(sp) 1296: c626 sw s1,12(sp) 1298: 999ff0ef jal ra,c30 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:161 GPIO_Input(GPIOC, GPIO_Pin_2); 129c: 004c addi a1,sp,4 129e: 40011537 lui a0,0x40011 12a2: 8264 sh s1,4(sp) 12a4: c422 sw s0,8(sp) 12a6: c626 sw s1,12(sp) 12a8: 989ff0ef jal ra,c30 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:162 GPIO_Input(GPIOC, GPIO_Pin_3); 12ac: 004c addi a1,sp,4 12ae: 40011537 lui a0,0x40011 12b2: 01711223 sh s7,4(sp) 12b6: c422 sw s0,8(sp) 12b8: c626 sw s1,12(sp) 12ba: 977ff0ef jal ra,c30 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:163 GPIO_Input(GPIOA, GPIO_Pin_0); 12be: 004c addi a1,sp,4 12c0: 80090513 addi a0,s2,-2048 12c4: 01511223 sh s5,4(sp) 12c8: c422 sw s0,8(sp) 12ca: c626 sw s1,12(sp) 12cc: 965ff0ef jal ra,c30 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:164 GPIO_Input(GPIOA, GPIO_Pin_1); 12d0: 004c addi a1,sp,4 12d2: 80090513 addi a0,s2,-2048 12d6: 01411223 sh s4,4(sp) 12da: c422 sw s0,8(sp) 12dc: c626 sw s1,12(sp) 12de: 953ff0ef jal ra,c30 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:166 GPIO_Input(GPIOB, GPIO_Pin_1); /* 125m in */ 12e2: 004c addi a1,sp,4 12e4: 854e mv a0,s3 12e6: 01411223 sh s4,4(sp) 12ea: c422 sw s0,8(sp) 12ec: c626 sw s1,12(sp) 12ee: 943ff0ef jal ra,c30 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:167 GPIO_Input(GPIOC, GPIO_Pin_7); /* interrupt pin */ 12f2: 004c addi a1,sp,4 12f4: 40011537 lui a0,0x40011 12f8: 01611223 sh s6,4(sp) 12fc: c422 sw s0,8(sp) 12fe: c626 sw s1,12(sp) 1300: 931ff0ef jal ra,c30 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:168 } 1304: 0141 addi sp,sp,16 1306: efbfe06f j 200 <__riscv_restore_10> 0000130a : ETH_PHYLink(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:242 { 130a: ecdfe2ef jal t0,1d6 <__riscv_save_4> D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:248 ETH_WritePHYRegister( gPHYAddress, 0x1F, 0x0a43 ); 130e: 88418413 addi s0,gp,-1916 # 200000a4 1312: 200a lhu a0,0(s0) 1314: 6605 lui a2,0x1 1316: a4360613 addi a2,a2,-1469 # a43 131a: 45fd li a1,31 131c: f5eff0ef jal ra,a7a D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:251 ETH_ReadPHYRegister( gPHYAddress, 0x1A); 1320: 200a lhu a0,0(s0) 1322: 45e9 li a1,26 1324: efeff0ef jal ra,a22 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:252 phy_stat = ETH_ReadPHYRegister( gPHYAddress, 0x1A); 1328: 200a lhu a0,0(s0) 132a: 45e9 li a1,26 132c: 88418493 addi s1,gp,-1916 # 200000a4 1330: ef2ff0ef jal ra,a22 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:254 if((ChipId & 0xf0) <= 0x20) 1334: 8741a783 lw a5,-1932(gp) # 20000094 1338: 02000713 li a4,32 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:252 phy_stat = ETH_ReadPHYRegister( gPHYAddress, 0x1A); 133c: 842a mv s0,a0 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:254 if((ChipId & 0xf0) <= 0x20) 133e: 0f07f793 andi a5,a5,240 1342: 87418993 addi s3,gp,-1932 # 20000094 1346: 4941 li s2,16 1348: 06f77863 bgeu a4,a5,13b8 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:264 LastPhyStat = phy_stat & 0x04; 134c: 00447913 andi s2,s0,4 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:266 WCHNET_PhyStatus( phy_stat ); 1350: 8522 mv a0,s0 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:264 LastPhyStat = phy_stat & 0x04; 1352: 87219c23 sh s2,-1928(gp) # 20000098 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:266 WCHNET_PhyStatus( phy_stat ); 1356: 1fd000ef jal ra,1d52 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:268 if( phy_stat & 0x04 ) 135a: 02090d63 beqz s2,1394 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:271 RGMII_TXC_Delay(0, 4); 135e: 4591 li a1,4 1360: 4501 li a0,0 1362: 897ff0ef jal ra,bf8 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:272 if( phy_stat & 0x08 ) 1366: 00847793 andi a5,s0,8 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:274 ETH->MACCR |= ETH_Mode_FullDuplex; 136a: 400286b7 lui a3,0x40028 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:272 if( phy_stat & 0x08 ) 136e: cfb1 beqz a5,13ca D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:274 ETH->MACCR |= ETH_Mode_FullDuplex; 1370: 429c lw a5,0(a3) 1372: 6705 lui a4,0x1 1374: 80070713 addi a4,a4,-2048 # 800 <__stack_size> 1378: 8fd9 or a5,a5,a4 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:278 ETH->MACCR &= ~ETH_Mode_FullDuplex; 137a: c29c sw a5,0(a3) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:280 if( (phy_stat & 0x30) == 0x00 ) 137c: 03047413 andi s0,s0,48 1380: e839 bnez s0,13d6 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:282 ETH->MACCR &= ~(ETH_Speed_100M|ETH_Speed_1000M); 1382: 400286b7 lui a3,0x40028 1386: 429c lw a5,0(a3) 1388: 7751 lui a4,0xffff4 138a: 177d addi a4,a4,-1 138c: 8ff9 and a5,a5,a4 138e: c29c sw a5,0(a3) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:297 ETH_Start( ); 1390: 819ff0ef jal ra,ba8 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:299 phy_stat = ETH_ReadPHYRegister( gPHYAddress, 0x1D); /* Clear the Interrupt status */ 1394: 208a lhu a0,0(s1) 1396: 45f5 li a1,29 1398: e8aff0ef jal ra,a22 139c: a02d j 13c6 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:258 Delay_Us(100); 139e: 06400513 li a0,100 13a2: 2b0d jal 18d4 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:259 phy_stat = ETH_ReadPHYRegister( gPHYAddress, 0x1A); 13a4: 208a lhu a0,0(s1) 13a6: 45e9 li a1,26 13a8: 197d addi s2,s2,-1 13aa: e78ff0ef jal ra,a22 13ae: 0ff97913 andi s2,s2,255 13b2: 842a mv s0,a0 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:260 if(timeout++ == 15) break; 13b4: 00090363 beqz s2,13ba D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:256 while(phy_stat == 0) 13b8: d07d beqz s0,139e D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:262 if(LastPhyStat == (phy_stat & 0x04)) return; 13ba: 8781d703 lhu a4,-1928(gp) # 20000098 13be: 00447793 andi a5,s0,4 13c2: f8f715e3 bne a4,a5,134c D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:300 } 13c6: e45fe06f j 20a <__riscv_restore_4> D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:278 ETH->MACCR &= ~ETH_Mode_FullDuplex; 13ca: 429c lw a5,0(a3) 13cc: 777d lui a4,0xfffff 13ce: 7ff70713 addi a4,a4,2047 # fffff7ff <_eusrstack+0xdffdf7ff> 13d2: 8ff9 and a5,a5,a4 13d4: b75d j 137a D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:284 else if( (phy_stat & 0x30) == 0x10 ) 13d6: 47c1 li a5,16 13d8: 00f41e63 bne s0,a5,13f4 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:286 ETH->MACCR &= ~(ETH_Speed_100M|ETH_Speed_1000M); 13dc: 400287b7 lui a5,0x40028 13e0: 4398 lw a4,0(a5) 13e2: 76d1 lui a3,0xffff4 13e4: 16fd addi a3,a3,-1 13e6: 8f75 and a4,a4,a3 13e8: c398 sw a4,0(a5) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:287 ETH->MACCR |= ETH_Speed_100M; 13ea: 4398 lw a4,0(a5) 13ec: 6691 lui a3,0x4 13ee: 8f55 or a4,a4,a3 13f0: c398 sw a4,0(a5) 13f2: bf79 j 1390 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:289 else if( (phy_stat & 0x30) == 0x20 ) 13f4: 02000793 li a5,32 13f8: f8f41ce3 bne s0,a5,1390 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:291 ETH->MACCR &= ~(ETH_Speed_100M|ETH_Speed_1000M); 13fc: 400287b7 lui a5,0x40028 1400: 4398 lw a4,0(a5) 1402: 76d1 lui a3,0xffff4 1404: 16fd addi a3,a3,-1 1406: 8f75 and a4,a4,a3 1408: c398 sw a4,0(a5) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:292 ETH->MACCR |= ETH_Speed_1000M; 140a: 4398 lw a4,0(a5) 140c: 66a1 lui a3,0x8 140e: 8f55 or a4,a4,a3 1410: c398 sw a4,0(a5) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:294 if((ChipId & 0xf0) >= 0x60) 1412: 0009a783 lw a5,0(s3) 1416: 05f00713 li a4,95 141a: 0f07f793 andi a5,a5,240 141e: f6f779e3 bgeu a4,a5,1390 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:295 RGMII_TXC_Delay(1, 2); 1422: 4589 li a1,2 1424: 4505 li a0,1 1426: fd2ff0ef jal ra,bf8 142a: b79d j 1390 0000142c : WCHNET_QueryPhySta(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:100 if(QUERY_STAT_FLAG){ /* Query the PHY link status every 1s */ 142c: 88018713 addi a4,gp,-1920 # 200000a0 1430: 4314 lw a3,0(a4) 1432: 3e800613 li a2,1000 1436: 02c6d6b3 divu a3,a3,a2 143a: 87c18793 addi a5,gp,-1924 # 2000009c 143e: 438c lw a1,0(a5) 1440: 02b68f63 beq a3,a1,147e D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:98 { 1444: dadfe2ef jal t0,1f0 <__riscv_save_0> D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:101 LastQueryPhyTime = LocalTime / 1000; 1448: 4318 lw a4,0(a4) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:102 ETH_WritePHYRegister( PHY_ADDRESS, 0x1F, 0x0a43 ); 144a: 45fd li a1,31 144c: 4505 li a0,1 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:101 LastQueryPhyTime = LocalTime / 1000; 144e: 02c75733 divu a4,a4,a2 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:102 ETH_WritePHYRegister( PHY_ADDRESS, 0x1F, 0x0a43 ); 1452: 6605 lui a2,0x1 1454: a4360613 addi a2,a2,-1469 # a43 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:101 LastQueryPhyTime = LocalTime / 1000; 1458: c398 sw a4,0(a5) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:102 ETH_WritePHYRegister( PHY_ADDRESS, 0x1F, 0x0a43 ); 145a: e20ff0ef jal ra,a7a D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:105 ETH_ReadPHYRegister( PHY_ADDRESS, 0x1A); 145e: 45e9 li a1,26 1460: 4505 li a0,1 1462: dc0ff0ef jal ra,a22 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:106 phy_stat = ETH_ReadPHYRegister( PHY_ADDRESS, 0x1A) & 0x04; 1466: 45e9 li a1,26 1468: 4505 li a0,1 146a: db8ff0ef jal ra,a22 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:107 if((phy_stat != LastPhyStat) && (phy_stat != 0xffff)){ 146e: 8781d783 lhu a5,-1928(gp) # 20000098 1472: 8911 andi a0,a0,4 1474: 00a78363 beq a5,a0,147a D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:108 ETH_PHYLink(); 1478: 3d49 jal 130a D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:111 } 147a: d9bfe06f j 214 <__riscv_restore_0> 147e: 8082 ret 00001480 : WCHNET_MainTask(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:124 { 1480: d71fe2ef jal t0,1f0 <__riscv_save_0> D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:125 WCHNET_NetInput( ); /* Ethernet data input */ 1484: 0bb000ef jal ra,1d3e D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:126 WCHNET_PeriodicHandle( ); /* Protocol stack time-related task processing */ 1488: 6f8000ef jal ra,1b80 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:129 WCHNET_QueryPhySta(); /* Query external PHY status */ 148c: 3745 jal 142c D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:131 } 148e: d87fe06f j 214 <__riscv_restore_0> 00001492 : ETH_RegInit(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:313 { 1492: d5ffe2ef jal t0,1f0 <__riscv_save_0> D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:315 ETH->MACMIIAR = (uint32_t)ETH_MACMIIAR_CR_Div42; 1496: 400286b7 lui a3,0x40028 149a: 0006a823 sw zero,16(a3) # 40028010 <_eusrstack+0x20008010> D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:313 { 149e: 87aa mv a5,a0 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:318 ETH->MACCR = (uint32_t)(ETH_InitStruct->ETH_Watchdog | 14a0: 4790 lw a2,8(a5) 14a2: 43d8 lw a4,4(a5) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:313 { 14a4: 852e mv a0,a1 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:351 ETH_WritePHYRegister(PHYAddress, PHY_BCR, PHY_Reset); 14a6: 4581 li a1,0 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:318 ETH->MACCR = (uint32_t)(ETH_InitStruct->ETH_Watchdog | 14a8: 8f51 or a4,a4,a2 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:319 ETH_InitStruct->ETH_Jabber | 14aa: 47d0 lw a2,12(a5) 14ac: 8f51 or a4,a4,a2 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:320 ETH_InitStruct->ETH_InterFrameGap | 14ae: 53d0 lw a2,36(a5) 14b0: 8f51 or a4,a4,a2 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:321 ETH_InitStruct->ETH_ChecksumOffload | 14b2: 57d0 lw a2,44(a5) 14b4: 8f51 or a4,a4,a2 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:322 ETH_InitStruct->ETH_AutomaticPadCRCStrip | 14b6: 4fd0 lw a2,28(a5) 14b8: 8f51 or a4,a4,a2 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:318 ETH->MACCR = (uint32_t)(ETH_InitStruct->ETH_Watchdog | 14ba: c298 sw a4,0(a3) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:325 ETH->MACFFR = (uint32_t)(ETH_InitStruct->ETH_ReceiveAll | 14bc: 5fd0 lw a2,60(a5) 14be: 5f98 lw a4,56(a5) 14c0: 8f51 or a4,a4,a2 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:326 ETH_InitStruct->ETH_SourceAddrFilter | 14c2: 43b0 lw a2,64(a5) 14c4: 8f51 or a4,a4,a2 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:327 ETH_InitStruct->ETH_PassControlFrames | 14c6: 43f0 lw a2,68(a5) 14c8: 8f51 or a4,a4,a2 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:328 ETH_InitStruct->ETH_BroadcastFramesReception | 14ca: 47b0 lw a2,72(a5) 14cc: 8f51 or a4,a4,a2 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:329 ETH_InitStruct->ETH_DestinationAddrFilter | 14ce: 47f0 lw a2,76(a5) 14d0: 8f51 or a4,a4,a2 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:330 ETH_InitStruct->ETH_PromiscuousMode | 14d2: 4bb0 lw a2,80(a5) 14d4: 8f51 or a4,a4,a2 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:331 ETH_InitStruct->ETH_MulticastFramesFilter | 14d6: 4bf0 lw a2,84(a5) 14d8: 8f51 or a4,a4,a2 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:325 ETH->MACFFR = (uint32_t)(ETH_InitStruct->ETH_ReceiveAll | 14da: c2d8 sw a4,4(a3) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:334 ETH->MACHTHR = (uint32_t)ETH_InitStruct->ETH_HashTableHigh; 14dc: 4fb8 lw a4,88(a5) 14de: c698 sw a4,8(a3) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:335 ETH->MACHTLR = (uint32_t)ETH_InitStruct->ETH_HashTableLow; 14e0: 4ff8 lw a4,92(a5) 14e2: c6d8 sw a4,12(a3) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:339 ETH_InitStruct->ETH_ReceiveFlowControl | 14e4: 5bb0 lw a2,112(a5) 14e6: 57f8 lw a4,108(a5) 14e8: 8f51 or a4,a4,a2 14ea: 5bf0 lw a2,116(a5) 14ec: 8f51 or a4,a4,a2 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:337 ETH->MACFCR = (uint32_t)((ETH_InitStruct->ETH_PauseTime << 16) | 14ee: 53b0 lw a2,96(a5) 14f0: 0642 slli a2,a2,0x10 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:339 ETH_InitStruct->ETH_ReceiveFlowControl | 14f2: 8f51 or a4,a4,a2 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:337 ETH->MACFCR = (uint32_t)((ETH_InitStruct->ETH_PauseTime << 16) | 14f4: ce98 sw a4,24(a3) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:342 ETH->MACVLANTR = (uint32_t)(ETH_InitStruct->ETH_VLANTagComparison | 14f6: 5ff0 lw a2,124(a5) 14f8: 5fb8 lw a4,120(a5) 14fa: 8f51 or a4,a4,a2 14fc: ced8 sw a4,28(a3) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:345 ETH->DMAOMR = (uint32_t)(ETH_InitStruct->ETH_DropTCPIPChecksumErrorFrame | 14fe: 08c7a683 lw a3,140(a5) # 4002808c <_eusrstack+0x2000808c> 1502: 0807a703 lw a4,128(a5) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:351 ETH_WritePHYRegister(PHYAddress, PHY_BCR, PHY_Reset); 1506: 6621 lui a2,0x8 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:345 ETH->DMAOMR = (uint32_t)(ETH_InitStruct->ETH_DropTCPIPChecksumErrorFrame | 1508: 8f55 or a4,a4,a3 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:346 ETH_InitStruct->ETH_TransmitStoreForward | 150a: 0947a683 lw a3,148(a5) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:347 ETH_InitStruct->ETH_ForwardErrorFrames | 150e: 0987a783 lw a5,152(a5) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:346 ETH_InitStruct->ETH_TransmitStoreForward | 1512: 8f55 or a4,a4,a3 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:347 ETH_InitStruct->ETH_ForwardErrorFrames | 1514: 8f5d or a4,a4,a5 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:345 ETH->DMAOMR = (uint32_t)(ETH_InitStruct->ETH_DropTCPIPChecksumErrorFrame | 1516: 400297b7 lui a5,0x40029 151a: cf98 sw a4,24(a5) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:351 ETH_WritePHYRegister(PHYAddress, PHY_BCR, PHY_Reset); 151c: d5eff0ef jal ra,a7a D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:353 } 1520: 4505 li a0,1 1522: cf3fe06f j 214 <__riscv_restore_0> 00001526 : ETH_Configuration(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:363 { 1526: cb1fe2ef jal t0,1d6 <__riscv_save_4> 152a: 7131 addi sp,sp,-192 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:368 RCC_AHBPeriphClockCmd(RCC_AHBPeriph_ETH_MAC | \ 152c: 4585 li a1,1 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:363 { 152e: 84aa mv s1,a0 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:368 RCC_AHBPeriphClockCmd(RCC_AHBPeriph_ETH_MAC | \ 1530: 6571 lui a0,0x1c 1532: 991ff0ef jal ra,ec2 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:375 EXTEN->EXTEN_CTR |= EXTEN_ETH_RGMII_SEL; 1536: 40024737 lui a4,0x40024 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:372 gPHYAddress = PHY_ADDRESS; 153a: 4785 li a5,1 153c: 88f19223 sh a5,-1916(gp) # 200000a4 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:375 EXTEN->EXTEN_CTR |= EXTEN_ETH_RGMII_SEL; 1540: 80072783 lw a5,-2048(a4) # 40023800 <_eusrstack+0x20003800> D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:376 RCC_ETH1GCLKConfig(RCC_ETH1GCLKSource_PB1_IN); 1544: 4509 li a0,2 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:385 ETH_SoftwareReset(); 1546: 6409 lui s0,0x2 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:375 EXTEN->EXTEN_CTR |= EXTEN_ETH_RGMII_SEL; 1548: 0087e793 ori a5,a5,8 154c: 80f72023 sw a5,-2048(a4) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:376 RCC_ETH1GCLKConfig(RCC_ETH1GCLKSource_PB1_IN); 1550: 9ebff0ef jal ra,f3a D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:377 RCC_ETH1G_125Mcmd(ENABLE); 1554: 4505 li a0,1 1556: 9ffff0ef jal ra,f54 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:385 ETH_SoftwareReset(); 155a: 71040413 addi s0,s0,1808 # 2710 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:379 ETH_RGMIIPinInit(); 155e: 3185 jal 11be D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:382 ETH_DeInit(); 1560: 88418913 addi s2,gp,-1916 # 200000a4 1564: caaff0ef jal ra,a0e D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:391 }while(ETH->DMABMR & ETH_DMABMR_SR); 1568: 400299b7 lui s3,0x40029 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:385 ETH_SoftwareReset(); 156c: e16ff0ef jal ra,b82 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:389 Delay_Us(10); 1570: 147d addi s0,s0,-1 1572: 0442 slli s0,s0,0x10 1574: 4529 li a0,10 1576: 8041 srli s0,s0,0x10 1578: 2eb1 jal 18d4 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:390 if( !--timeout ) break; 157a: c409 beqz s0,1584 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:391 }while(ETH->DMABMR & ETH_DMABMR_SR); 157c: 0009a783 lw a5,0(s3) # 40029000 <_eusrstack+0x20009000> 1580: 8b85 andi a5,a5,1 1582: f7fd bnez a5,1570 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:438 ETH_RegInit( Ð_InitStructure, gPHYAddress ); 1584: 00095583 lhu a1,0(s2) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:412 ETH_InitStructure.ETH_PassControlFrames = ETH_PassControlFrames_BlockAll; 1588: 04000793 li a5,64 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:434 ETH_InitStructure.ETH_TransmitStoreForward = ETH_TransmitStoreForward_Enable; 158c: 00200437 lui s0,0x200 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:435 ETH_InitStructure.ETH_ForwardErrorFrames = ETH_ForwardErrorFrames_Enable; 1590: 08000713 li a4,128 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:438 ETH_RegInit( Ð_InitStructure, gPHYAddress ); 1594: 0048 addi a0,sp,4 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:412 ETH_InitStructure.ETH_PassControlFrames = ETH_PassControlFrames_BlockAll; 1596: c2be sw a5,68(sp) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:434 ETH_InitStructure.ETH_TransmitStoreForward = ETH_TransmitStoreForward_Enable; 1598: c922 sw s0,144(sp) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:435 ETH_InitStructure.ETH_ForwardErrorFrames = ETH_ForwardErrorFrames_Enable; 159a: cd3a sw a4,152(sp) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:436 ETH_InitStructure.ETH_ForwardUndersizedGoodFrames = ETH_ForwardUndersizedGoodFrames_Enable; 159c: cf3e sw a5,156(sp) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:395 ETH_InitStructure.ETH_Watchdog = ETH_Watchdog_Enable; 159e: c402 sw zero,8(sp) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:396 ETH_InitStructure.ETH_Jabber = ETH_Jabber_Enable; 15a0: c602 sw zero,12(sp) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:397 ETH_InitStructure.ETH_InterFrameGap = ETH_InterFrameGap_96Bit; 15a2: c802 sw zero,16(sp) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:401 ETH_InitStructure.ETH_ChecksumOffload = ETH_ChecksumOffload_Disable; 15a4: d402 sw zero,40(sp) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:403 ETH_InitStructure.ETH_AutomaticPadCRCStrip = ETH_AutomaticPadCRCStrip_Disable; 15a6: d802 sw zero,48(sp) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:404 ETH_InitStructure.ETH_LoopbackMode = ETH_LoopbackMode_Disable; 15a8: d002 sw zero,32(sp) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:407 ETH_InitStructure.ETH_ReceiveAll = ETH_ReceiveAll_Disable; 15aa: de02 sw zero,60(sp) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:408 ETH_InitStructure.ETH_PromiscuousMode = ETH_PromiscuousMode_Disable; 15ac: c882 sw zero,80(sp) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:409 ETH_InitStructure.ETH_BroadcastFramesReception = ETH_BroadcastFramesReception_Enable; 15ae: c482 sw zero,72(sp) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:410 ETH_InitStructure.ETH_MulticastFramesFilter = ETH_MulticastFramesFilter_Perfect; 15b0: ca82 sw zero,84(sp) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:411 ETH_InitStructure.ETH_UnicastFramesFilter = ETH_UnicastFramesFilter_Perfect; 15b2: cc82 sw zero,88(sp) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:413 ETH_InitStructure.ETH_DestinationAddrFilter = ETH_DestinationAddrFilter_Normal; 15b4: c682 sw zero,76(sp) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:414 ETH_InitStructure.ETH_SourceAddrFilter = ETH_SourceAddrFilter_Disable; 15b6: c082 sw zero,64(sp) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:416 ETH_InitStructure.ETH_HashTableHigh = 0x0; 15b8: ce82 sw zero,92(sp) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:417 ETH_InitStructure.ETH_HashTableLow = 0x0; 15ba: d082 sw zero,96(sp) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:420 ETH_InitStructure.ETH_VLANTagComparison = ETH_VLANTagComparison_16Bit; 15bc: de82 sw zero,124(sp) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:421 ETH_InitStructure.ETH_VLANTagIdentifier = 0x0; 15be: c102 sw zero,128(sp) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:424 ETH_InitStructure.ETH_PauseTime = 0x0; 15c0: d282 sw zero,100(sp) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:425 ETH_InitStructure.ETH_UnicastPauseFrameDetect = ETH_UnicastPauseFrameDetect_Disable; 15c2: d882 sw zero,112(sp) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:426 ETH_InitStructure.ETH_ReceiveFlowControl = ETH_ReceiveFlowControl_Disable; 15c4: da82 sw zero,116(sp) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:427 ETH_InitStructure.ETH_TransmitFlowControl = ETH_TransmitFlowControl_Disable; 15c6: dc82 sw zero,120(sp) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:433 ETH_InitStructure.ETH_DropTCPIPChecksumErrorFrame = ETH_DropTCPIPChecksumErrorFrame_Enable; 15c8: c302 sw zero,132(sp) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:438 ETH_RegInit( Ð_InitStructure, gPHYAddress ); 15ca: 35e1 jal 1492 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:441 ETH->MACA0HR = (uint32_t)((macAddr[5]<<8) | macAddr[4]); 15cc: 30dc lbu a5,5(s1) 15ce: 20d8 lbu a4,4(s1) 15d0: 400286b7 lui a3,0x40028 15d4: 07a2 slli a5,a5,0x8 15d6: 8fd9 or a5,a5,a4 15d8: c2bc sw a5,64(a3) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:442 ETH->MACA0LR = (uint32_t)(macAddr[0] | (macAddr[1]<<8) | (macAddr[2]<<16) | (macAddr[3]<<24)); 15da: 3098 lbu a4,1(s1) 15dc: 209c lbu a5,0(s1) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:450 ETH_DMAITConfig(ETH_DMA_IT_NIS |\ 15de: 6561 lui a0,0x18 15e0: 0722 slli a4,a4,0x8 15e2: 8f5d or a4,a4,a5 15e4: 20bc lbu a5,2(s1) 15e6: 4585 li a1,1 15e8: 0c150513 addi a0,a0,193 # 180c1 <_data_lma+0xf22d> 15ec: 07c2 slli a5,a5,0x10 15ee: 8f5d or a4,a4,a5 15f0: 30bc lbu a5,3(s1) 15f2: 07e2 slli a5,a5,0x18 15f4: 8fd9 or a5,a5,a4 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:442 ETH->MACA0LR = (uint32_t)(macAddr[0] | (macAddr[1]<<8) | (macAddr[2]<<16) | (macAddr[3]<<24)); 15f6: c2fc sw a5,68(a3) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:448 ETH->MMCRIMR = ETH_MMCRIMR_RGUFM | ETH_MMCRIMR_RFCEM; 15f8: 000207b7 lui a5,0x20 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:445 ETH->MMCTIMR = ETH_MMCTIMR_TGFM; 15fc: 1086a823 sw s0,272(a3) # 40028110 <_eusrstack+0x20008110> D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:448 ETH->MMCRIMR = ETH_MMCRIMR_RGUFM | ETH_MMCRIMR_RFCEM; 1600: 02078793 addi a5,a5,32 # 20020 <_data_lma+0x1718c> 1604: 10f6a623 sw a5,268(a3) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:450 ETH_DMAITConfig(ETH_DMA_IT_NIS |\ 1608: dd2ff0ef jal ra,bda D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:463 ETH_WritePHYRegister( PHY_ADDRESS, 0x1F, 0x0a43 ); 160c: 6605 lui a2,0x1 160e: a4360613 addi a2,a2,-1469 # a43 1612: 45fd li a1,31 1614: 4505 li a0,1 1616: c64ff0ef jal ra,a7a D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:466 ETH_ReadPHYRegister( PHY_ADDRESS, 0x1A); 161a: 45e9 li a1,26 161c: 4505 li a0,1 161e: c04ff0ef jal ra,a22 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:467 LastPhyStat = ETH_ReadPHYRegister( PHY_ADDRESS, 0x1A) & 0x04; 1622: 45e9 li a1,26 1624: 4505 li a0,1 1626: bfcff0ef jal ra,a22 162a: 8911 andi a0,a0,4 162c: 86a19c23 sh a0,-1928(gp) # 20000098 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:469 } 1630: 6129 addi sp,sp,192 1632: bd9fe06f j 20a <__riscv_restore_4> 00001636 : ETH_Stop(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:524 * @brief Disables ENET MAC and DMA reception/transmission. * * @return none */ void ETH_Stop(void) { 1636: bbbfe2ef jal t0,1f0 <__riscv_save_0> D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:525 ETH_MACTransmissionCmd(DISABLE); 163a: 4501 li a0,0 163c: c90ff0ef jal ra,acc D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:526 ETH_FlushTransmitFIFO(); 1640: d58ff0ef jal ra,b98 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:527 ETH_MACReceptionCmd(DISABLE); 1644: 4501 li a0,0 1646: c9aff0ef jal ra,ae0 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:528 } 164a: bcbfe06f j 214 <__riscv_restore_0> 0000164e : ReInitMACReg(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:540 * @param none. * * @return none. */ void ReInitMACReg(void) { 164e: b7bfe2ef jal t0,1c8 <__riscv_save_10> D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:546 uint16_t timeout = 10000; uint32_t maccr, macmiiar, macffr, machthr, machtlr; uint32_t macfcr, macvlantr, dmaomr; /* Wait for sending data to complete */ while((ETH->DMASR & (7 << 20)) != ETH_DMA_TransmitProcess_Suspended); 1652: 40028437 lui s0,0x40028 1656: 400294b7 lui s1,0x40029 165a: 007006b7 lui a3,0x700 165e: 00600737 lui a4,0x600 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:546 (discriminator 1) 1662: 48dc lw a5,20(s1) 1664: 8ff5 and a5,a5,a3 1666: fee79ee3 bne a5,a4,1662 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:548 ETH_Stop(); 166a: 37f1 jal 1636 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:551 /* Record the register value */ macmiiar = ETH->MACMIIAR; 166c: 01042b83 lw s7,16(s0) # 40028010 <_eusrstack+0x20008010> D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:552 maccr = ETH->MACCR; 1670: 00042b03 lw s6,0(s0) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:553 macffr = ETH->MACFFR; 1674: 00442a83 lw s5,4(s0) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:554 machthr = ETH->MACHTHR; 1678: 00842a03 lw s4,8(s0) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:555 machtlr = ETH->MACHTLR; 167c: 00c42983 lw s3,12(s0) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:556 macfcr = ETH->MACFCR; 1680: 01842903 lw s2,24(s0) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:557 macvlantr = ETH->MACVLANTR; 1684: 01c42c03 lw s8,28(s0) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:564 /* Reset ETHERNET on AHB Bus */ ETH_DeInit(); /* Software reset */ ETH_SoftwareReset(); 1688: 6409 lui s0,0x2 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:558 dmaomr = ETH->DMAOMR; 168a: 4c84 lw s1,24(s1) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:564 ETH_SoftwareReset(); 168c: 71040413 addi s0,s0,1808 # 2710 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:561 ETH_DeInit(); 1690: b7eff0ef jal ra,a0e D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:570 /* Wait for software reset */ do{ Delay_Us(10); if( !--timeout ) break; }while(ETH->DMABMR & ETH_DMABMR_SR); 1694: 40029cb7 lui s9,0x40029 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:564 ETH_SoftwareReset(); 1698: ceaff0ef jal ra,b82 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:568 Delay_Us(10); 169c: 147d addi s0,s0,-1 169e: 0442 slli s0,s0,0x10 16a0: 4529 li a0,10 16a2: 8041 srli s0,s0,0x10 16a4: 2c05 jal 18d4 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:569 if( !--timeout ) break; 16a6: c409 beqz s0,16b0 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:570 }while(ETH->DMABMR & ETH_DMABMR_SR); 16a8: 000ca783 lw a5,0(s9) # 40029000 <_eusrstack+0x20009000> 16ac: 8b85 andi a5,a5,1 16ae: f7fd bnez a5,169c D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:573 /* Configure MAC address */ ETH->MACA0HR = (uint32_t)((MACAddr[5]<<8) | MACAddr[4]); 16b0: 85c18713 addi a4,gp,-1956 # 2000007c 16b4: 335c lbu a5,5(a4) 16b6: 2350 lbu a2,4(a4) 16b8: 40028437 lui s0,0x40028 16bc: 07a2 slli a5,a5,0x8 16be: 8fd1 or a5,a5,a2 16c0: c03c sw a5,64(s0) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:574 ETH->MACA0LR = (uint32_t)(MACAddr[0] | (MACAddr[1]<<8) | (MACAddr[2]<<16) | (MACAddr[3]<<24)); 16c2: 85d1c703 lbu a4,-1955(gp) # 2000007d 16c6: 85c1c783 lbu a5,-1956(gp) # 2000007c D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:582 ETH->MMCTIMR = ETH_MMCTIMR_TGFM; /* Mask the interrupt that Rx good unicast frames counter reaches half the maximum value */ /* Mask the interrupt that Rx crc error counter reaches half the maximum value */ ETH->MMCRIMR = ETH_MMCRIMR_RGUFM | ETH_MMCRIMR_RFCEM; ETH_DMAITConfig(ETH_DMA_IT_NIS |\ 16ca: 6561 lui a0,0x18 16cc: 0722 slli a4,a4,0x8 16ce: 8f5d or a4,a4,a5 16d0: 85e1c783 lbu a5,-1954(gp) # 2000007e 16d4: 4585 li a1,1 16d6: 0c150513 addi a0,a0,193 # 180c1 <_data_lma+0xf22d> 16da: 07c2 slli a5,a5,0x10 16dc: 8f5d or a4,a4,a5 16de: 85f1c783 lbu a5,-1953(gp) # 2000007f 16e2: 07e2 slli a5,a5,0x18 16e4: 8fd9 or a5,a5,a4 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:574 ETH->MACA0LR = (uint32_t)(MACAddr[0] | (MACAddr[1]<<8) | (MACAddr[2]<<16) | (MACAddr[3]<<24)); 16e6: c07c sw a5,68(s0) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:577 ETH->MMCTIMR = ETH_MMCTIMR_TGFM; 16e8: 002007b7 lui a5,0x200 16ec: 10f42823 sw a5,272(s0) # 40028110 <_eusrstack+0x20008110> D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:580 ETH->MMCRIMR = ETH_MMCRIMR_RGUFM | ETH_MMCRIMR_RFCEM; 16f0: 000207b7 lui a5,0x20 16f4: 02078793 addi a5,a5,32 # 20020 <_data_lma+0x1718c> 16f8: 10f42623 sw a5,268(s0) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:582 ETH_DMAITConfig(ETH_DMA_IT_NIS |\ 16fc: cdeff0ef jal ra,bda D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:589 ETH_DMA_IT_T |\ ETH_DMA_IT_AIS |\ ETH_DMA_IT_RBU,\ ENABLE); ETH_DMATxDescChainInit(DMATxDscrTab, MACTxBuf, ETH_TXBUFNB); 1700: 200035b7 lui a1,0x20003 1704: 52418c93 addi s9,gp,1316 # 20000d44 1708: 4609 li a2,2 170a: 71058593 addi a1,a1,1808 # 20003710 170e: 52418513 addi a0,gp,1316 # 20000d44 1712: be2ff0ef jal ra,af4 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:590 ETH_DMARxDescChainInit(DMARxDscrTab, MACRxBuf, ETH_RXBUFNB); 1716: 200015b7 lui a1,0x20001 171a: 4b418d13 addi s10,gp,1204 # 20000cd4 171e: 461d li a2,7 1720: d6458593 addi a1,a1,-668 # 20000d64 1724: 4b418513 addi a0,gp,1204 # 20000cd4 1728: c0eff0ef jal ra,b36 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:591 pDMARxSet = DMARxDscrTab; 172c: 89a1a423 sw s10,-1912(gp) # 200000a8 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:592 pDMATxSet = DMATxDscrTab; 1730: 8991a623 sw s9,-1908(gp) # 200000ac D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:594 ETH->MACMIIAR = macmiiar; 1734: 01742823 sw s7,16(s0) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:595 ETH->MACCR = maccr; 1738: 01642023 sw s6,0(s0) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:596 ETH->MACFFR = macffr; 173c: 01542223 sw s5,4(s0) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:597 ETH->MACHTHR = machthr; 1740: 01442423 sw s4,8(s0) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:598 ETH->MACHTLR = machtlr; 1744: 01342623 sw s3,12(s0) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:599 ETH->MACFCR = macfcr; 1748: 01242c23 sw s2,24(s0) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:600 ETH->MACVLANTR = macvlantr; 174c: 01842e23 sw s8,28(s0) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:601 ETH->DMAOMR = dmaomr; 1750: 400297b7 lui a5,0x40029 1754: cf84 sw s1,24(a5) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:603 ETH_Start( ); 1756: c52ff0ef jal ra,ba8 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:604 } 175a: aa7fe06f j 200 <__riscv_restore_10> 0000175e : WCHNET_RecProcess(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:617 * * @return none. */ void WCHNET_RecProcess(void) { if(((ChipId & 0xf0) <= 0x20) && \ 175e: 8741a783 lw a5,-1932(gp) # 20000094 1762: 02000713 li a4,32 1766: 0f07f793 andi a5,a5,240 176a: 02f76263 bltu a4,a5,178e D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:616 (discriminator 1) { 176e: a83fe2ef jal t0,1f0 <__riscv_save_0> D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:618 (discriminator 1) ((ETH->DMAMFBOCR & 0x1FFE0000) != 0)) 1772: 40029437 lui s0,0x40029 1776: 501c lw a5,32(s0) 1778: 1ffe0737 lui a4,0x1ffe0 177c: 8ff9 and a5,a5,a4 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:617 (discriminator 1) if(((ChipId & 0xf0) <= 0x20) && \ 177e: c791 beqz a5,178a D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:620 { ReInitMACReg(); 1780: 35f9 jal 164e D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:622 /* Resume DMA transport */ ETH->DMARPDR = 0; 1782: 00042423 sw zero,8(s0) # 40029008 <_eusrstack+0x20009008> D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:623 ETH->DMATPDR = 0; 1786: 00042223 sw zero,4(s0) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:625 } } 178a: a8bfe06f j 214 <__riscv_restore_0> 178e: 8082 ret 00001790 : WCHNET_ETHIsr(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:635 * @brief Ethernet Interrupt Service Routine * * @return none */ void WCHNET_ETHIsr(void) { 1790: a61fe2ef jal t0,1f0 <__riscv_save_0> D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:638 uint32_t int_sta; int_sta = ETH->DMASR; 1794: 400297b7 lui a5,0x40029 1798: 4bc0 lw s0,20(a5) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:639 if (int_sta & ETH_DMA_IT_AIS) 179a: 01041793 slli a5,s0,0x10 179e: 0007dd63 bgez a5,17b8 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:641 { if (int_sta & ETH_DMA_IT_RBU) 17a2: 08047793 andi a5,s0,128 17a6: c791 beqz a5,17b2 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:643 { WCHNET_RecProcess(); 17a8: 3f5d jal 175e D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:644 ETH_DMAClearITPendingBit(ETH_DMA_IT_RBU); 17aa: 08000513 li a0,128 17ae: be2ff0ef jal ra,b90 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:646 } ETH_DMAClearITPendingBit(ETH_DMA_IT_AIS); 17b2: 6521 lui a0,0x8 17b4: bdcff0ef jal ra,b90 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:649 } if( int_sta & ETH_DMA_IT_NIS ) 17b8: 00f41793 slli a5,s0,0xf 17bc: 0207d163 bgez a5,17de D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:651 { if( int_sta & ETH_DMA_IT_R ) 17c0: 04047793 andi a5,s0,64 17c4: c789 beqz a5,17ce D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:655 { /*If you don't use the Ethernet library, * you can do some data processing operations here*/ ETH_DMAClearITPendingBit(ETH_DMA_IT_R); 17c6: 04000513 li a0,64 17ca: bc6ff0ef jal ra,b90 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:657 } if( int_sta & ETH_DMA_IT_T ) 17ce: 8805 andi s0,s0,1 17d0: c401 beqz s0,17d8 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:659 { ETH_DMAClearITPendingBit(ETH_DMA_IT_T); 17d2: 4505 li a0,1 17d4: bbcff0ef jal ra,b90 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:661 } ETH_DMAClearITPendingBit(ETH_DMA_IT_NIS); 17d8: 6541 lui a0,0x10 17da: bb6ff0ef jal ra,b90 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:663 } } 17de: a37fe06f j 214 <__riscv_restore_0> 000017e2 : ETH_Init(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:673 * @brief Ethernet initialization. * * @return none */ void ETH_Init( uint8_t *macAddr ) { 17e2: a0ffe2ef jal t0,1f0 <__riscv_save_0> 17e6: 842a mv s0,a0 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:674 ChipId = DBGMCU_GetCHIPID(); 17e8: 972ff0ef jal ra,95a 17ec: 86a1aa23 sw a0,-1932(gp) # 20000094 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:675 ETH_Configuration( macAddr ); 17f0: 8522 mv a0,s0 17f2: 3b15 jal 1526 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:676 ETH_DMATxDescChainInit(DMATxDscrTab, MACTxBuf, ETH_TXBUFNB); 17f4: 200035b7 lui a1,0x20003 17f8: 52418413 addi s0,gp,1316 # 20000d44 17fc: 4609 li a2,2 17fe: 71058593 addi a1,a1,1808 # 20003710 1802: 52418513 addi a0,gp,1316 # 20000d44 1806: aeeff0ef jal ra,af4 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:677 ETH_DMARxDescChainInit(DMARxDscrTab, MACRxBuf, ETH_RXBUFNB); 180a: 200015b7 lui a1,0x20001 180e: 4b418493 addi s1,gp,1204 # 20000cd4 1812: 461d li a2,7 1814: d6458593 addi a1,a1,-668 # 20000d64 1818: 4b418513 addi a0,gp,1204 # 20000cd4 181c: b1aff0ef jal ra,b36 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:678 pDMARxSet = DMARxDscrTab; 1820: 8891a423 sw s1,-1912(gp) # 200000a8 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:679 pDMATxSet = DMATxDscrTab; 1824: 8881a623 sw s0,-1908(gp) # 200000ac NVIC_EnableIRQ(): D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\SRC\Core/core_riscv.h:170 NVIC->IENR[((uint32_t)(IRQn) >> 5)] = (1 << ((uint32_t)(IRQn) & 0x1F)); 1828: 6709 lui a4,0x2 182a: e000e7b7 lui a5,0xe000e 182e: 10e7a423 sw a4,264(a5) # e000e108 <_eusrstack+0xbffee108> NVIC_SetPriority(): D:\Project\MINI212\ALL\soft\CH32V307EVT\EVT\EXAM\SRC\Core/core_riscv.h:286 NVIC->IPRIOR[(uint32_t)(IRQn)] = priority; 1832: 440786a3 sb zero,1101(a5) ETH_Init(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:682 NVIC_EnableIRQ(ETH_IRQn); NVIC_SetPriority(ETH_IRQn, 0); } 1836: 9dffe06f j 214 <__riscv_restore_0> 0000183a : ETH_LibInit(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:692 * @brief Ethernet library initialization program * * @return command status */ uint8_t ETH_LibInit( uint8_t *ip, uint8_t *gwip, uint8_t *mask, uint8_t *macaddr ) { 183a: 9b7fe2ef jal t0,1f0 <__riscv_save_0> 183e: 7139 addi sp,sp,-64 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:697 uint8_t s; struct _WCH_CFG cfg; memset(&cfg,0,sizeof(cfg)); cfg.TxBufSize = ETH_TX_BUF_SZE; 1840: 5f400793 li a5,1524 1844: ca3e sw a5,20(sp) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:698 cfg.TCPMss = WCHNET_TCP_MSS; 1846: 5b400793 li a5,1460 184a: cc3e sw a5,24(sp) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:699 cfg.HeapSize = WCHNET_MEM_HEAP_SIZE; 184c: 6785 lui a5,0x1 184e: 26878793 addi a5,a5,616 # 1268 1852: ce3e sw a5,28(sp) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:700 cfg.ARPTableNum = WCHNET_NUM_ARP_TABLE; 1854: 03200793 li a5,50 1858: d03e sw a5,32(sp) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:701 cfg.MiscConfig0 = WCHNET_MISC_CONFIG0; 185a: 10300793 li a5,259 185e: d23e sw a5,36(sp) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:702 cfg.MiscConfig1 = WCHNET_MISC_CONFIG1; 1860: 405527b7 lui a5,0x40552 1864: 0785 addi a5,a5,1 1866: d43e sw a5,40(sp) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:703 cfg.net_send = ETH_TxPktChainMode; 1868: 000017b7 lui a5,0x1 186c: 15278793 addi a5,a5,338 # 1152 1870: da3e sw a5,52(sp) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:704 cfg.CheckValid = WCHNET_CFG_VALID; 1872: 123457b7 lui a5,0x12345 1876: 67878793 addi a5,a5,1656 # 12345678 <_data_lma+0x1233c7e4> D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:692 { 187a: 892a mv s2,a0 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:705 s = WCHNET_ConfigLIB(&cfg); 187c: 0848 addi a0,sp,20 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:692 { 187e: c62e sw a1,12(sp) 1880: c432 sw a2,8(sp) 1882: 84b6 mv s1,a3 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:696 memset(&cfg,0,sizeof(cfg)); 1884: d602 sw zero,44(sp) 1886: d802 sw zero,48(sp) 1888: dc02 sw zero,56(sp) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:704 cfg.CheckValid = WCHNET_CFG_VALID; 188a: de3e sw a5,60(sp) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:705 s = WCHNET_ConfigLIB(&cfg); 188c: 343000ef jal ra,23ce D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:706 if( s ){ 1890: 842a mv s0,a0 1892: e911 bnez a0,18a6 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:709 return (s); } s = WCHNET_Init(ip,gwip,mask,macaddr); 1894: 4622 lw a2,8(sp) 1896: 45b2 lw a1,12(sp) 1898: 86a6 mv a3,s1 189a: 854a mv a0,s2 189c: 273000ef jal ra,230e 18a0: 842a mv s0,a0 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:710 ETH_Init( macaddr ); 18a2: 8526 mv a0,s1 18a4: 3f3d jal 17e2 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/ETH/NetLib/eth_driver_RGMII.c:712 return (s); } 18a6: 8522 mv a0,s0 18a8: 6121 addi sp,sp,64 18aa: 96bfe06f j 214 <__riscv_restore_0> 000018ae : Delay_Init(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/debug.c:30 * * @return none */ void Delay_Init(void) { p_us = SystemCoreClock / 8000000; 18ae: 8141a783 lw a5,-2028(gp) # 20000034 18b2: 007a1737 lui a4,0x7a1 18b6: 20070713 addi a4,a4,512 # 7a1200 <_data_lma+0x79836c> 18ba: 02e7d7b3 divu a5,a5,a4 18be: 0ff7f793 andi a5,a5,255 18c2: 88f18923 sb a5,-1902(gp) # 200000b2 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/debug.c:31 p_ms = (uint16_t)p_us * 1000; 18c6: 3e800713 li a4,1000 18ca: 02e787b3 mul a5,a5,a4 18ce: 88f19823 sh a5,-1904(gp) # 200000b0 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/debug.c:32 } 18d2: 8082 ret 000018d4 : Delay_Us(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/debug.c:47 */ void Delay_Us(uint32_t n) { uint32_t i; SysTick->SR &= ~(1 << 0); 18d4: e000f7b7 lui a5,0xe000f 18d8: 43d8 lw a4,4(a5) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/debug.c:50 i = (uint32_t)n * p_us; SysTick->CMP = i; 18da: 4681 li a3,0 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/debug.c:47 SysTick->SR &= ~(1 << 0); 18dc: 9b79 andi a4,a4,-2 18de: c3d8 sw a4,4(a5) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/debug.c:48 i = (uint32_t)n * p_us; 18e0: 8921c703 lbu a4,-1902(gp) # 200000b2 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/debug.c:50 SysTick->CMP = i; 18e4: 02a70633 mul a2,a4,a0 18e8: cb90 sw a2,16(a5) 18ea: cbd4 sw a3,20(a5) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/debug.c:51 SysTick->CTLR |= (1 << 4); 18ec: 4398 lw a4,0(a5) 18ee: 01076713 ori a4,a4,16 18f2: c398 sw a4,0(a5) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/debug.c:52 SysTick->CTLR |= (1 << 5) | (1 << 0); 18f4: 4398 lw a4,0(a5) 18f6: 02176713 ori a4,a4,33 18fa: c398 sw a4,0(a5) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/debug.c:54 (discriminator 1) while((SysTick->SR & (1 << 0)) != (1 << 0)) 18fc: 43d8 lw a4,4(a5) 18fe: 8b05 andi a4,a4,1 1900: df75 beqz a4,18fc D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/debug.c:56 ; SysTick->CTLR &= ~(1 << 0); 1902: 4398 lw a4,0(a5) 1904: 9b79 andi a4,a4,-2 1906: c398 sw a4,0(a5) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/debug.c:57 } 1908: 8082 ret 0000190a : USART_Printf_Init(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/debug.c:94 * @param baudrate - USART communication baud rate. * * @return None */ void USART_Printf_Init(uint32_t baudrate) { 190a: 8e7fe2ef jal t0,1f0 <__riscv_save_0> 190e: 1101 addi sp,sp,-32 1910: 842a mv s0,a0 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/debug.c:116 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_Init(GPIOA, &GPIO_InitStructure); #elif(DEBUG == DEBUG_UART3) RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART3, ENABLE); 1912: 4585 li a1,1 1914: 00040537 lui a0,0x40 1918: de6ff0ef jal ra,efe D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/debug.c:117 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); 191c: 4585 li a1,1 191e: 4521 li a0,8 1920: dc0ff0ef jal ra,ee0 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/debug.c:119 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10; 1924: 40000793 li a5,1024 1928: 827c sh a5,4(sp) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/debug.c:122 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_Init(GPIOB, &GPIO_InitStructure); 192a: 40011537 lui a0,0x40011 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/debug.c:120 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; 192e: 478d li a5,3 1930: c43e sw a5,8(sp) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/debug.c:122 GPIO_Init(GPIOB, &GPIO_InitStructure); 1932: 004c addi a1,sp,4 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/debug.c:121 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; 1934: 47e1 li a5,24 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/debug.c:122 GPIO_Init(GPIOB, &GPIO_InitStructure); 1936: c0050513 addi a0,a0,-1024 # 40010c00 <_eusrstack+0x1fff0c00> D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/debug.c:121 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; 193a: c63e sw a5,12(sp) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/debug.c:122 GPIO_Init(GPIOB, &GPIO_InitStructure); 193c: af4ff0ef jal ra,c30 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/debug.c:126 #endif USART_InitStructure.USART_BaudRate = baudrate; 1940: c822 sw s0,16(sp) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/debug.c:142 #elif(DEBUG == DEBUG_UART2) USART_Init(USART2, &USART_InitStructure); USART_Cmd(USART2, ENABLE); #elif(DEBUG == DEBUG_UART3) USART_Init(USART3, &USART_InitStructure); 1942: 40005437 lui s0,0x40005 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/debug.c:129 USART_InitStructure.USART_Parity = USART_Parity_No; 1946: 000807b7 lui a5,0x80 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/debug.c:142 USART_Init(USART3, &USART_InitStructure); 194a: 080c addi a1,sp,16 194c: 80040513 addi a0,s0,-2048 # 40004800 <_eusrstack+0x1ffe4800> D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/debug.c:129 USART_InitStructure.USART_Parity = USART_Parity_No; 1950: cc3e sw a5,24(sp) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/debug.c:127 USART_InitStructure.USART_WordLength = USART_WordLength_8b; 1952: ca02 sw zero,20(sp) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/debug.c:130 USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; 1954: 00011e23 sh zero,28(sp) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/debug.c:142 USART_Init(USART3, &USART_InitStructure); 1958: f44ff0ef jal ra,109c D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/debug.c:143 USART_Cmd(USART3, ENABLE); 195c: 4585 li a1,1 195e: 80040513 addi a0,s0,-2048 1962: fc8ff0ef jal ra,112a D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/debug.c:146 #endif } 1966: 6105 addi sp,sp,32 1968: 8adfe06f j 214 <__riscv_restore_0> 0000196c <_write>: _write(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/debug.c:175 * size - Data length * * @return size: Data length */ __attribute__((used)) int _write(int fd, char *buf, int size) { 196c: 86bfe2ef jal t0,1d6 <__riscv_save_4> D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/debug.c:224 USART_SendData(USART1, *buf++); #elif(DEBUG == DEBUG_UART2) while(USART_GetFlagStatus(USART2, USART_FLAG_TC) == RESET); USART_SendData(USART2, *buf++); #elif(DEBUG == DEBUG_UART3) while(USART_GetFlagStatus(USART3, USART_FLAG_TC) == RESET); 1970: 400054b7 lui s1,0x40005 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/debug.c:175 { 1974: 89ae mv s3,a1 1976: 8932 mv s2,a2 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/debug.c:215 for(i = 0; i < size; i++) 1978: 4401 li s0,0 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/debug.c:224 while(USART_GetFlagStatus(USART3, USART_FLAG_TC) == RESET); 197a: 80048493 addi s1,s1,-2048 # 40004800 <_eusrstack+0x1ffe4800> D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/debug.c:215 (discriminator 1) for(i = 0; i < size; i++) 197e: 01244563 blt s0,s2,1988 <_write+0x1c> D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/debug.c:230 USART_SendData(USART3, *buf++); #endif } #endif return size; } 1982: 854a mv a0,s2 1984: 887fe06f j 20a <__riscv_restore_4> D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/debug.c:224 (discriminator 1) while(USART_GetFlagStatus(USART3, USART_FLAG_TC) == RESET); 1988: 04000593 li a1,64 198c: 8526 mv a0,s1 198e: fbaff0ef jal ra,1148 1992: d97d beqz a0,1988 <_write+0x1c> D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/debug.c:225 (discriminator 2) USART_SendData(USART3, *buf++); 1994: 008987b3 add a5,s3,s0 1998: 00078583 lb a1,0(a5) # 80000 <_data_lma+0x7716c> 199c: 8526 mv a0,s1 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/debug.c:215 (discriminator 2) for(i = 0; i < size; i++) 199e: 0405 addi s0,s0,1 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/debug.c:225 (discriminator 2) USART_SendData(USART3, *buf++); 19a0: 05c2 slli a1,a1,0x10 19a2: 81c1 srli a1,a1,0x10 19a4: f9cff0ef jal ra,1140 19a8: bfd9 j 197e <_write+0x12> 000019aa : DVP_Init(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:17 static uint32_t frame_count = 0; extern u8 socket[]; void DVP_Init(void) { 19aa: 847fe2ef jal t0,1f0 <__riscv_save_0> 19ae: 1101 addi sp,sp,-32 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:21 GPIO_InitTypeDef GPIO_InitStructure = {0}; NVIC_InitTypeDef NVIC_InitStructure = {0}; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC, ENABLE); 19b0: 4585 li a1,1 19b2: 4571 li a0,28 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:18 GPIO_InitTypeDef GPIO_InitStructure = {0}; 19b4: ca02 sw zero,20(sp) 19b6: cc02 sw zero,24(sp) 19b8: ce02 sw zero,28(sp) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:19 NVIC_InitTypeDef NVIC_InitStructure = {0}; 19ba: c602 sw zero,12(sp) 19bc: c802 sw zero,16(sp) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:21 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC, ENABLE); 19be: d22ff0ef jal ra,ee0 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:22 RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DVP, ENABLE); 19c2: 4585 li a1,1 19c4: 6509 lui a0,0x2 19c6: cfcff0ef jal ra,ec2 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:26 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_9 | GPIO_Pin_10; GPIO_Init(GPIOA, &GPIO_InitStructure); 19ca: 40011437 lui s0,0x40011 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:24 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; 19ce: 4791 li a5,4 19d0: ce3e sw a5,28(sp) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:26 GPIO_Init(GPIOA, &GPIO_InitStructure); 19d2: 084c addi a1,sp,20 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:25 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_9 | GPIO_Pin_10; 19d4: 67000793 li a5,1648 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:26 GPIO_Init(GPIOA, &GPIO_InitStructure); 19d8: 80040513 addi a0,s0,-2048 # 40010800 <_eusrstack+0x1fff0800> D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:25 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_9 | GPIO_Pin_10; 19dc: 82fc sh a5,20(sp) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:26 GPIO_Init(GPIOA, &GPIO_InitStructure); 19de: a52ff0ef jal ra,c30 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:27 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_11; 19e2: 6785 lui a5,0x1 19e4: b0078793 addi a5,a5,-1280 # b00 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:28 GPIO_Init(GPIOC, &GPIO_InitStructure); 19e8: 084c addi a1,sp,20 19ea: 40011537 lui a0,0x40011 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:27 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_11; 19ee: 82fc sh a5,20(sp) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:28 GPIO_Init(GPIOC, &GPIO_InitStructure); 19f0: a40ff0ef jal ra,c30 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:30 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3 | GPIO_Pin_8 | GPIO_Pin_9; GPIO_Init(GPIOB, &GPIO_InitStructure); 19f4: 084c addi a1,sp,20 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:29 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3 | GPIO_Pin_8 | GPIO_Pin_9; 19f6: 30800793 li a5,776 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:30 GPIO_Init(GPIOB, &GPIO_InitStructure); 19fa: c0040513 addi a0,s0,-1024 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:29 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3 | GPIO_Pin_8 | GPIO_Pin_9; 19fe: 82fc sh a5,20(sp) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:30 GPIO_Init(GPIOB, &GPIO_InitStructure); 1a00: a30ff0ef jal ra,c30 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:32 NVIC_InitStructure.NVIC_IRQChannel = DVP_IRQn; 1a04: 05600793 li a5,86 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:35 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; 1a08: 4485 li s1,1 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:36 NVIC_Init(&NVIC_InitStructure); 1a0a: 0068 addi a0,sp,12 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:32 NVIC_InitStructure.NVIC_IRQChannel = DVP_IRQn; 1a0c: 867c sh a5,12(sp) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:35 NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; 1a0e: c826 sw s1,16(sp) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:34 NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; 1a10: 00010723 sb zero,14(sp) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:36 NVIC_Init(&NVIC_InitStructure); 1a14: adcff0ef jal ra,cf0 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:38 DVP_Cfg(DVP_DMA_Disable, DVP_FLAG_FIFO_RESET_Enable, DVP_RX_RESET_Enable); 1a18: 4605 li a2,1 1a1a: 4585 li a1,1 1a1c: 4501 li a0,0 1a1e: f8ffe0ef jal ra,9ac D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:39 DVP_Mode(RB_DVP_D8_MOD, Video_Mode); 1a22: 4581 li a1,0 1a24: 4501 li a0,0 1a26: f55fe0ef jal ra,97a D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:40 DVP->CR0 &= ~(RB_DVP_P_POLAR | RB_DVP_V_POLAR | RB_DVP_H_POLAR); 1a2a: 50050437 lui s0,0x50050 1a2e: 201c lbu a5,0(s0) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:45 DVP->DMA_BUF0 = (uint32_t)DMA_LineBuf0; DVP->DMA_BUF1 = (uint32_t)DMA_LineBuf1; DVP->ROW_NUM = 1; DVP->COL_NUM = BYTES_PER_LINE; DVP_INTCfg(ENABLE, RB_DVP_IE_STR_FRM | RB_DVP_IE_ROW_DONE); 1a30: 458d li a1,3 1a32: 4505 li a0,1 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:40 DVP->CR0 &= ~(RB_DVP_P_POLAR | RB_DVP_V_POLAR | RB_DVP_H_POLAR); 1a34: 0f17f793 andi a5,a5,241 1a38: a01c sb a5,0(s0) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:41 DVP->DMA_BUF0 = (uint32_t)DMA_LineBuf0; 1a3a: 200077b7 lui a5,0x20007 1a3e: 37478793 addi a5,a5,884 # 20007374 1a42: c41c sw a5,8(s0) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:42 DVP->DMA_BUF1 = (uint32_t)DMA_LineBuf1; 1a44: 200077b7 lui a5,0x20007 1a48: 57478793 addi a5,a5,1396 # 20007574 1a4c: c45c sw a5,12(s0) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:43 DVP->ROW_NUM = 1; 1a4e: a046 sh s1,4(s0) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:44 DVP->COL_NUM = BYTES_PER_LINE; 1a50: 20000793 li a5,512 1a54: a07e sh a5,6(s0) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:45 DVP_INTCfg(ENABLE, RB_DVP_IE_STR_FRM | RB_DVP_IE_ROW_DONE); 1a56: f0ffe0ef jal ra,964 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:46 DVP_Cfg(DVP_DMA_Enable, DVP_FLAG_FIFO_RESET_Disable, DVP_RX_RESET_Disable); 1a5a: 4601 li a2,0 1a5c: 4581 li a1,0 1a5e: 4505 li a0,1 1a60: f4dfe0ef jal ra,9ac D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:47 DVP->CR0 |= RB_DVP_ENABLE; 1a64: 201c lbu a5,0(s0) 1a66: 0017e793 ori a5,a5,1 1a6a: a01c sb a5,0(s0) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:48 } 1a6c: 6105 addi sp,sp,32 1a6e: fa6fe06f j 214 <__riscv_restore_0> 00001a72 : DVP_Task(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:52 void DVP_Task(void) { if (!Line_Ready_Flag) return; 1a72: 89318793 addi a5,gp,-1901 # 200000b3 1a76: 2398 lbu a4,0(a5) 1a78: 0ff77713 andi a4,a4,255 1a7c: cb59 beqz a4,1b12 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:51 { 1a7e: f58fe2ef jal t0,1d6 <__riscv_save_4> D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:54 uint8_t *line = (uint8_t *)Ready_Line_Ptr; 1a82: 8941a983 lw s3,-1900(gp) # 200000b4 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:55 uint32_t idx = current_line_idx; 1a86: 8981a403 lw s0,-1896(gp) # 200000b8 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:56 Line_Ready_Flag = 0; 1a8a: 00078023 sb zero,0(a5) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:59 /* ͼУУ socket */ if (idx < SENSOR_HEIGHT && socket[0] != 0xFF) 1a8e: 0bf00793 li a5,191 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:51 { 1a92: 1141 addi sp,sp,-16 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:59 if (idx < SENSOR_HEIGHT && socket[0] != 0xFF) 1a94: 0487ec63 bltu a5,s0,1aec D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:59 (discriminator 1) 1a98: 8641c503 lbu a0,-1948(gp) # 20000084 1a9c: 0ff00793 li a5,255 1aa0: 04f50f63 beq a0,a5,1afe D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:62 { /* 4ֽͷ֡(2B) + к(2B) */ uint8_t hdr[4] = { 1aa4: 89c18493 addi s1,gp,-1892 # 200000bc 1aa8: 209e lhu a5,0(s1) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:67 (frame_count >> 8) & 0xFF, frame_count & 0xFF, (idx >> 8) & 0xFF, idx & 0xFF }; u32 len = 4; WCHNET_SocketSend(socket[0], hdr, &len); 1aaa: 0070 addi a2,sp,12 1aac: 002c addi a1,sp,8 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:62 uint8_t hdr[4] = { 1aae: 00879713 slli a4,a5,0x8 1ab2: 83a1 srli a5,a5,0x8 1ab4: 8fd9 or a5,a5,a4 1ab6: 847c sh a5,8(sp) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:66 u32 len = 4; 1ab8: 4791 li a5,4 1aba: c63e sw a5,12(sp) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:62 uint8_t hdr[4] = { 1abc: 00010523 sb zero,10(sp) 1ac0: 85c0 sb s0,11(sp) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:67 WCHNET_SocketSend(socket[0], hdr, &len); 1ac2: 080010ef jal ra,2b42 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:69 len = BYTES_PER_LINE; WCHNET_SocketSend(socket[0], line, &len); 1ac6: 8641c503 lbu a0,-1948(gp) # 20000084 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:68 len = BYTES_PER_LINE; 1aca: 20000793 li a5,512 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:69 WCHNET_SocketSend(socket[0], line, &len); 1ace: 0070 addi a2,sp,12 1ad0: 85ce mv a1,s3 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:68 len = BYTES_PER_LINE; 1ad2: c63e sw a5,12(sp) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:69 WCHNET_SocketSend(socket[0], line, &len); 1ad4: 06e010ef jal ra,2b42 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:72 /* ÿ֡0дӡһΣȷ֡źsocket״̬ */ if (idx == 0) 1ad8: e811 bnez s0,1aec D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:73 printf("[DVP] frame=%lu socket=%d\r\n", frame_count, socket[0]); 1ada: 8641c603 lbu a2,-1948(gp) # 20000084 1ade: 408c lw a1,0(s1) 1ae0: 00009537 lui a0,0x9 1ae4: de850513 addi a0,a0,-536 # 8de8 1ae8: 048070ef jal ra,8b30 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:80 else if (idx == 0 && socket[0] == 0xFF) { /* socket δʱʾ */ printf("[DVP] frame=%lu waiting for TCP...\r\n", frame_count); } memset(line, 0, BYTES_PER_LINE); 1aec: 20000613 li a2,512 1af0: 4581 li a1,0 1af2: 854e mv a0,s3 1af4: f2cfe0ef jal ra,220 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:81 } 1af8: 0141 addi sp,sp,16 1afa: f10fe06f j 20a <__riscv_restore_4> D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:75 else if (idx == 0 && socket[0] == 0xFF) 1afe: f47d bnez s0,1aec D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:78 (discriminator 1) printf("[DVP] frame=%lu waiting for TCP...\r\n", frame_count); 1b00: 89c1a583 lw a1,-1892(gp) # 200000bc 1b04: 00009537 lui a0,0x9 1b08: e0450513 addi a0,a0,-508 # 8e04 1b0c: 024070ef jal ra,8b30 1b10: bff1 j 1aec 1b12: 8082 ret 00001b14 : DVP_IRQHandler(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:86 void DVP_IRQHandler(void) __attribute__((interrupt("WCH-Interrupt-fast"))); void DVP_IRQHandler(void) { if (DVP->IFR & RB_DVP_IF_STR_FRM) 1b14: 50050737 lui a4,0x50050 1b18: 2b1c lbu a5,16(a4) 1b1a: 8b85 andi a5,a5,1 1b1c: cb91 beqz a5,1b30 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:88 { DVP->IFR = RB_DVP_IF_STR_FRM; 1b1e: 4785 li a5,1 1b20: ab1c sb a5,16(a4) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:89 current_line_idx = 0; 1b22: 8801ac23 sw zero,-1896(gp) # 200000b8 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:90 frame_count++; 1b26: 89c18793 addi a5,gp,-1892 # 200000bc 1b2a: 4398 lw a4,0(a5) 1b2c: 0705 addi a4,a4,1 1b2e: c398 sw a4,0(a5) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:92 } if (DVP->IFR & RB_DVP_IF_ROW_DONE) 1b30: 500507b7 lui a5,0x50050 1b34: 2b98 lbu a4,16(a5) 1b36: 8b09 andi a4,a4,2 1b38: c705 beqz a4,1b60 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:94 { DVP->IFR = RB_DVP_IF_ROW_DONE; 1b3a: 4709 li a4,2 1b3c: ab98 sb a4,16(a5) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:95 Ready_Line_Ptr = (DVP->CR1 & RB_DVP_BUF_TOG) ? DMA_LineBuf0 : DMA_LineBuf1; 1b3e: 339c lbu a5,1(a5) 1b40: 8ba1 andi a5,a5,8 1b42: e38d bnez a5,1b64 1b44: 200077b7 lui a5,0x20007 1b48: 57478793 addi a5,a5,1396 # 20007574 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:95 (discriminator 4) 1b4c: 88f1aa23 sw a5,-1900(gp) # 200000b4 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:96 (discriminator 4) current_line_idx++; 1b50: 89818793 addi a5,gp,-1896 # 200000b8 1b54: 4398 lw a4,0(a5) 1b56: 0705 addi a4,a4,1 1b58: c398 sw a4,0(a5) D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:97 (discriminator 4) Line_Ready_Flag = 1; 1b5a: 4705 li a4,1 1b5c: 88e189a3 sb a4,-1901(gp) # 200000b3 D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:99 } } 1b60: 30200073 mret D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Debug/dvp.c:95 Ready_Line_Ptr = (DVP->CR1 & RB_DVP_BUF_TOG) ? DMA_LineBuf0 : DMA_LineBuf1; 1b64: 200077b7 lui a5,0x20007 1b68: 37478793 addi a5,a5,884 # 20007374 1b6c: b7c5 j 1b4c 00001b6e <__get_MEPC>: __get_MEPC(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Core/core_riscv.c:248 */ uint32_t __get_MEPC(void) { uint32_t result; __ASM volatile ( "csrr %0," "mepc" : "=r" (result) ); 1b6e: 34102573 csrr a0,mepc D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Core/core_riscv.c:250 return (result); } 1b72: 8082 ret 00001b74 <__get_MCAUSE>: __get_MCAUSE(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Core/core_riscv.c:275 */ uint32_t __get_MCAUSE(void) { uint32_t result; __ASM volatile ( "csrr %0," "mcause" : "=r" (result) ); 1b74: 34202573 csrr a0,mcause D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Core/core_riscv.c:277 return (result); } 1b78: 8082 ret 00001b7a <__get_MTVAL>: __get_MTVAL(): D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Core/core_riscv.c:302 */ uint32_t __get_MTVAL(void) { uint32_t result; __ASM volatile ( "csrr %0," "mtval" : "=r" (result) ); 1b7a: 34302573 csrr a0,mtval D:/Project/MINI212/ALL/soft/CH32V307EVT/EVT/EXAM/SRC/Core/core_riscv.c:304 return (result); } 1b7e: 8082 ret 00001b80 : WCHNET_PeriodicHandle(): 1b80: e70fe2ef jal t0,1f0 <__riscv_save_0> 1b84: 8801a783 lw a5,-1920(gp) # 200000a0 1b88: 1141 addi sp,sp,-16 1b8a: c63e sw a5,12(sp) 1b8c: 176010ef jal ra,2d02 1b90: 8911 andi a0,a0,4 1b92: 14050363 beqz a0,1cd8 1b96: 8b818793 addi a5,gp,-1864 # 200000d8 1b9a: 4398 lw a4,0(a5) 1b9c: 46b2 lw a3,12(sp) 1b9e: 8e99 sub a3,a3,a4 1ba0: 20008737 lui a4,0x20008 1ba4: 81472703 lw a4,-2028(a4) # 20007814 1ba8: 8305 srli a4,a4,0x1 1baa: 00d77663 bgeu a4,a3,1bb6 1bae: 4732 lw a4,12(sp) 1bb0: c398 sw a4,0(a5) 1bb2: 377030ef jal ra,5728 1bb6: 715030ef jal ra,5aca 1bba: 8d41a783 lw a5,-1836(gp) # 200000f4 1bbe: c791 beqz a5,1bca 1bc0: 38b030ef jal ra,574a 1bc4: e119 bnez a0,1bca 1bc6: 8c01aa23 sw zero,-1836(gp) # 200000f4 1bca: 8b418493 addi s1,gp,-1868 # 200000d4 1bce: 4098 lw a4,0(s1) 1bd0: 47b2 lw a5,12(sp) 1bd2: 8f99 sub a5,a5,a4 1bd4: 3e700713 li a4,999 1bd8: 00f77663 bgeu a4,a5,1be4 1bdc: 0ee020ef jal ra,3cca 1be0: 47b2 lw a5,12(sp) 1be2: c09c sw a5,0(s1) 1be4: 8a018793 addi a5,gp,-1888 # 200000c0 1be8: 4398 lw a4,0(a5) 1bea: 46b2 lw a3,12(sp) 1bec: 06400613 li a2,100 1bf0: 8e99 sub a3,a3,a4 1bf2: 8c51c703 lbu a4,-1851(gp) # 200000e5 1bf6: 02c70733 mul a4,a4,a2 1bfa: 00e6e663 bltu a3,a4,1c06 1bfe: 4732 lw a4,12(sp) 1c00: c398 sw a4,0(a5) 1c02: 6d2010ef jal ra,32d4 1c06: 200077b7 lui a5,0x20007 1c0a: 7d878793 addi a5,a5,2008 # 200077d8 1c0e: 47d8 lw a4,12(a5) 1c10: cf11 beqz a4,1c2c 1c12: 8b018713 addi a4,gp,-1872 # 200000d0 1c16: 4310 lw a2,0(a4) 1c18: 46b2 lw a3,12(sp) 1c1a: 8e91 sub a3,a3,a2 1c1c: 3e700613 li a2,999 1c20: 00d67663 bgeu a2,a3,1c2c 1c24: 46b2 lw a3,12(sp) 1c26: 43dc lw a5,4(a5) 1c28: c314 sw a3,0(a4) 1c2a: 9782 jalr a5 1c2c: 200074b7 lui s1,0x20007 1c30: 7804a783 lw a5,1920(s1) # 20007780 1c34: cba9 beqz a5,1c86 1c36: 8ac18713 addi a4,gp,-1876 # 200000cc 1c3a: 431c lw a5,0(a4) 1c3c: 46b2 lw a3,12(sp) 1c3e: 0fa00613 li a2,250 1c42: 8e9d sub a3,a3,a5 1c44: 200087b7 lui a5,0x20008 1c48: 8507a783 lw a5,-1968(a5) # 20007850 1c4c: 83ed srli a5,a5,0x1b 1c4e: 02c787b3 mul a5,a5,a2 1c52: 00f6e963 bltu a3,a5,1c64 1c56: 47b2 lw a5,12(sp) 1c58: c31c sw a5,0(a4) 1c5a: 78048793 addi a5,s1,1920 1c5e: 4b9c lw a5,16(a5) 1c60: c391 beqz a5,1c64 1c62: 9782 jalr a5 1c64: 8a818793 addi a5,gp,-1880 # 200000c8 1c68: 4398 lw a4,0(a5) 1c6a: 46b2 lw a3,12(sp) 1c6c: 8e99 sub a3,a3,a4 1c6e: 673d lui a4,0xf 1c70: a5f70713 addi a4,a4,-1441 # ea5f <_data_lma+0x5bcb> 1c74: 00d77963 bgeu a4,a3,1c86 1c78: 4732 lw a4,12(sp) 1c7a: 78048493 addi s1,s1,1920 1c7e: c398 sw a4,0(a5) 1c80: 48dc lw a5,20(s1) 1c82: c391 beqz a5,1c86 1c84: 9782 jalr a5 1c86: 4532 lw a0,12(sp) 1c88: 8a418493 addi s1,gp,-1884 # 200000c4 1c8c: 2c75 jal 1f48 1c8e: 409c lw a5,0(s1) 1c90: 4732 lw a4,12(sp) 1c92: 8f1d sub a4,a4,a5 1c94: 67bd lui a5,0xf 1c96: a5f78793 addi a5,a5,-1441 # ea5f <_data_lma+0x5bcb> 1c9a: 00e7f563 bgeu a5,a4,1ca4 1c9e: 2c8d jal 1f10 1ca0: 47b2 lw a5,12(sp) 1ca2: c09c sw a5,0(s1) 1ca4: 8d01c703 lbu a4,-1840(gp) # 200000f0 1ca8: 84be mv s1,a5 1caa: 0ff77713 andi a4,a4,255 1cae: c70d beqz a4,1cd8 1cb0: 8d01c703 lbu a4,-1840(gp) # 200000f0 1cb4: 0c077713 andi a4,a4,192 1cb8: e31d bnez a4,1cde 1cba: 200087b7 lui a5,0x20008 1cbe: 8587a783 lw a5,-1960(a5) # 20007858 1cc2: c399 beqz a5,1cc8 1cc4: 4505 li a0,1 1cc6: 9782 jalr a5 1cc8: 8801a703 lw a4,-1920(gp) # 200000a0 1ccc: 8ce1a023 sw a4,-1856(gp) # 200000e0 1cd0: 04000793 li a5,64 1cd4: 8cf18823 sb a5,-1840(gp) # 200000f0 1cd8: 0141 addi sp,sp,16 1cda: d3afe06f j 214 <__riscv_restore_0> 1cde: 8d01c703 lbu a4,-1840(gp) # 200000f0 1ce2: 04077713 andi a4,a4,64 1ce6: cb15 beqz a4,1d1a 1ce8: 8c01a683 lw a3,-1856(gp) # 200000e0 1cec: 8801a703 lw a4,-1920(gp) # 200000a0 1cf0: 8c018913 addi s2,gp,-1856 # 200000e0 1cf4: 8f15 sub a4,a4,a3 1cf6: 06400693 li a3,100 1cfa: fce6ffe3 bgeu a3,a4,1cd8 1cfe: 200087b7 lui a5,0x20008 1d02: 8587a783 lw a5,-1960(a5) # 20007858 1d06: c399 beqz a5,1d0c 1d08: 4501 li a0,0 1d0a: 9782 jalr a5 1d0c: 8801a783 lw a5,-1920(gp) # 200000a0 1d10: 00f92023 sw a5,0(s2) 1d14: f8000793 li a5,-128 1d18: bf75 j 1cd4 1d1a: 8d01c703 lbu a4,-1840(gp) # 200000f0 1d1e: 0762 slli a4,a4,0x18 1d20: 8761 srai a4,a4,0x18 1d22: fa075be3 bgez a4,1cd8 1d26: 8c01a683 lw a3,-1856(gp) # 200000e0 1d2a: 8801a703 lw a4,-1920(gp) # 200000a0 1d2e: 8f15 sub a4,a4,a3 1d30: 06400693 li a3,100 1d34: fae6f2e3 bgeu a3,a4,1cd8 1d38: 8c018823 sb zero,-1840(gp) # 200000f0 1d3c: bf71 j 1cd8 00001d3e : WCHNET_NetInput(): 1d3e: cb2fe2ef jal t0,1f0 <__riscv_save_0> 1d42: 20008537 lui a0,0x20008 1d46: 86850513 addi a0,a0,-1944 # 20007868 1d4a: 18f010ef jal ra,36d8 1d4e: cc6fe06f j 214 <__riscv_restore_0> 00001d52 : WCHNET_PhyStatus(): 1d52: c9efe2ef jal t0,1f0 <__riscv_save_0> 1d56: 200077b7 lui a5,0x20007 1d5a: 7f878793 addi a5,a5,2040 # 200077f8 1d5e: 57d8 lw a4,44(a5) 1d60: 20008437 lui s0,0x20008 1d64: d388 sw a0,32(a5) 1d66: 00476713 ori a4,a4,4 1d6a: d7d8 sw a4,44(a5) 1d6c: 8911 andi a0,a0,4 1d6e: 83c40793 addi a5,s0,-1988 # 2000783c 1d72: 4f9c lw a5,24(a5) 1d74: 83c40413 addi s0,s0,-1988 1d78: cd01 beqz a0,1d90 1d7a: c399 beqz a5,1d80 1d7c: 4501 li a0,0 1d7e: 9782 jalr a5 1d80: 4c5c lw a5,28(s0) 1d82: c399 beqz a5,1d88 1d84: 4501 li a0,0 1d86: 9782 jalr a5 1d88: 4505 li a0,1 1d8a: 22a5 jal 1ef2 1d8c: c88fe06f j 214 <__riscv_restore_0> 1d90: c399 beqz a5,1d96 1d92: 4505 li a0,1 1d94: 9782 jalr a5 1d96: 4c5c lw a5,28(s0) 1d98: dbf5 beqz a5,1d8c 1d9a: 4505 li a0,1 1d9c: 9782 jalr a5 1d9e: b7fd j 1d8c 00001da0 : WCHNET_Rx(): 1da0: 8881a783 lw a5,-1912(gp) # 200000a8 1da4: 00052023 sw zero,0(a0) 1da8: cb9d beqz a5,1dde 1daa: 4394 lw a3,0(a5) 1dac: 0006db63 bgez a3,1dc2 1db0: 47d4 lw a3,12(a5) 1db2: 4290 lw a2,0(a3) 1db4: 02064563 bltz a2,1dde 1db8: 439c lw a5,0(a5) 1dba: 0007d463 bgez a5,1dc2 1dbe: 88d1a423 sw a3,-1912(gp) # 200000a8 1dc2: 8881a783 lw a5,-1912(gp) # 200000a8 1dc6: 6591 lui a1,0x4 1dc8: 4601 li a2,0 1dca: 15fd addi a1,a1,-1 1dcc: 4835 li a6,13 1dce: 800008b7 lui a7,0x80000 1dd2: 4394 lw a3,0(a5) 1dd4: 0006d763 bgez a3,1de2 1dd8: c219 beqz a2,1dde 1dda: 88f1a423 sw a5,-1912(gp) # 200000a8 1dde: 4501 li a0,0 1de0: 8082 ret 1de2: 4394 lw a3,0(a5) 1de4: 01069313 slli t1,a3,0x10 1de8: 04034263 bltz t1,1e2c 1dec: 4394 lw a3,0(a5) 1dee: 1006f693 andi a3,a3,256 1df2: ce8d beqz a3,1e2c 1df4: 4394 lw a3,0(a5) 1df6: 2006f693 andi a3,a3,512 1dfa: ca8d beqz a3,1e2c 1dfc: 4394 lw a3,0(a5) 1dfe: 82c1 srli a3,a3,0x10 1e00: 8eed and a3,a3,a1 1e02: 16f1 addi a3,a3,-4 1e04: c114 sw a3,0(a0) 1e06: 02d87163 bgeu a6,a3,1e28 1e0a: 4394 lw a3,0(a5) 1e0c: 0206f693 andi a3,a3,32 1e10: ea81 bnez a3,1e20 1e12: c219 beqz a2,1e18 1e14: 88f1a423 sw a5,-1912(gp) # 200000a8 1e18: 479c lw a5,8(a5) 1e1a: c15c sw a5,4(a0) 1e1c: 4505 li a0,1 1e1e: 8082 ret 1e20: 4394 lw a3,0(a5) 1e22: 0816f693 andi a3,a3,129 1e26: d6f5 beqz a3,1e12 1e28: 00052023 sw zero,0(a0) 1e2c: 0117a023 sw a7,0(a5) 1e30: 4605 li a2,1 1e32: 47dc lw a5,12(a5) 1e34: bf79 j 1dd2 00001e36 : setRxBuffAddr(): 1e36: 8881a703 lw a4,-1912(gp) # 200000a8 1e3a: 800006b7 lui a3,0x80000 1e3e: c314 sw a3,0(a4) 1e40: 4758 lw a4,12(a4) 1e42: 88e1a423 sw a4,-1912(gp) # 200000a8 1e46: 8082 ret 00001e48 : WCHNET_Tx(): 1e48: ba8fe2ef jal t0,1f0 <__riscv_save_0> 1e4c: 8d01c783 lbu a5,-1840(gp) # 200000f0 1e50: 0ff7f793 andi a5,a5,255 1e54: e781 bnez a5,1e5c 1e56: 4785 li a5,1 1e58: 8cf18823 sb a5,-1840(gp) # 200000f0 1e5c: 8801a703 lw a4,-1920(gp) # 200000a0 1e60: 8bc18793 addi a5,gp,-1860 # 200000dc 1e64: cb09 beqz a4,1e76 1e66: c398 sw a4,0(a5) 1e68: 200087b7 lui a5,0x20008 1e6c: 85c7a783 lw a5,-1956(a5) # 2000785c 1e70: 9782 jalr a5 1e72: ba2fe06f j 214 <__riscv_restore_0> 1e76: 4705 li a4,1 1e78: b7fd j 1e66 00001e7a : GetChipID(): 1e7a: 1ffff7b7 lui a5,0x1ffff 1e7e: 7067d503 lhu a0,1798(a5) # 1ffff706 <_data_lma+0x1fff6872> 1e82: 0f057513 andi a0,a0,240 1e86: 8082 ret 00001e88 : getTxBuffAddr(): 1e88: b68fe2ef jal t0,1f0 <__riscv_save_0> 1e8c: 200087b7 lui a5,0x20008 1e90: 85c7a783 lw a5,-1956(a5) # 2000785c 1e94: 4901 li s2,0 1e96: c7b1 beqz a5,1ee2 1e98: 86c1a483 lw s1,-1940(gp) # 2000008c 1e9c: c0b9 beqz s1,1ee2 1e9e: 409c lw a5,0(s1) 1ea0: 0084a903 lw s2,8(s1) 1ea4: 8bc18413 addi s0,gp,-1860 # 200000dc 1ea8: 0207db63 bgez a5,1ede 1eac: 37f9 jal 1e7a 1eae: 4014 lw a3,0(s0) 1eb0: 4781 li a5,0 1eb2: 08000613 li a2,128 1eb6: 06300813 li a6,99 1eba: 68a1 lui a7,0x8 1ebc: 03000313 li t1,48 1ec0: 00c50463 beq a0,a2,1ec8 1ec4: 02651263 bne a0,t1,1ee8 1ec8: 8801a703 lw a4,-1920(gp) # 200000a0 1ecc: 8f15 sub a4,a4,a3 1ece: 00e86463 bltu a6,a4,1ed6 1ed2: 00f8fb63 bgeu a7,a5,1ee8 1ed6: 409c lw a5,0(s1) 1ed8: 0786 slli a5,a5,0x1 1eda: 8385 srli a5,a5,0x1 1edc: c09c sw a5,0(s1) 1ede: 00042023 sw zero,0(s0) 1ee2: 854a mv a0,s2 1ee4: b30fe06f j 214 <__riscv_restore_0> 1ee8: 4098 lw a4,0(s1) 1eea: fe075ae3 bgez a4,1ede 1eee: 0785 addi a5,a5,1 1ef0: bfc1 j 1ec0 00001ef2 : IPCheckParaInit(): 1ef2: 8801a703 lw a4,-1920(gp) # 200000a0 1ef6: 200077b7 lui a5,0x20007 1efa: 77478793 addi a5,a5,1908 # 20007774 1efe: a388 sb a0,0(a5) 1f00: 00079123 sh zero,2(a5) 1f04: 00079223 sh zero,4(a5) 1f08: c798 sw a4,8(a5) 1f0a: 000780a3 sb zero,1(a5) 1f0e: 8082 ret 00001f10 : SelIPARPSend(): 1f10: ae0fe2ef jal t0,1f0 <__riscv_save_0> 1f14: 200084b7 lui s1,0x20008 1f18: 86848413 addi s0,s1,-1944 # 20007868 1f1c: 405c lw a5,4(s0) 1f1e: 1141 addi sp,sp,-16 1f20: 006c addi a1,sp,12 1f22: 86848513 addi a0,s1,-1944 1f26: c63e sw a5,12(sp) 1f28: 00042223 sw zero,4(s0) 1f2c: 2da010ef jal ra,3206 1f30: 47b2 lw a5,12(sp) 1f32: 006c addi a1,sp,12 1f34: 86848513 addi a0,s1,-1944 1f38: c05c sw a5,4(s0) 1f3a: 445c lw a5,12(s0) 1f3c: c63e sw a5,12(sp) 1f3e: 2c8010ef jal ra,3206 1f42: 0141 addi sp,sp,16 1f44: ad0fe06f j 214 <__riscv_restore_0> 00001f48 : IPCheckTmr(): 1f48: 200077b7 lui a5,0x20007 1f4c: 77478793 addi a5,a5,1908 # 20007774 1f50: 2398 lbu a4,0(a5) 1f52: e319 bnez a4,1f58 1f54: c788 sw a0,8(a5) 1f56: 8082 ret 1f58: 4798 lw a4,8(a5) 1f5a: 3e700693 li a3,999 1f5e: 40e50733 sub a4,a0,a4 1f62: 02e6f163 bgeu a3,a4,1f84 1f66: a8afe2ef jal t0,1f0 <__riscv_save_0> 1f6a: 23ba lhu a4,2(a5) 1f6c: c788 sw a0,8(a5) 1f6e: 4691 li a3,4 1f70: 00e6f663 bgeu a3,a4,1f7c 1f74: 4501 li a0,0 1f76: 3fb5 jal 1ef2 1f78: a9cfe06f j 214 <__riscv_restore_0> 1f7c: 0705 addi a4,a4,1 1f7e: a3ba sh a4,2(a5) 1f80: 3f41 jal 1f10 1f82: bfdd j 1f78 1f84: 8082 ret 00001f86 : IPConflictHandle(): 1f86: a6afe2ef jal t0,1f0 <__riscv_save_0> 1f8a: 842a mv s0,a0 1f8c: 4501 li a0,0 1f8e: 3795 jal 1ef2 1f90: 200077b7 lui a5,0x20007 1f94: 77478793 addi a5,a5,1908 # 20007774 1f98: c811 beqz s0,1fac 1f9a: 4705 li a4,1 1f9c: b398 sb a4,1(a5) 1f9e: 200087b7 lui a5,0x20008 1fa2: 4709 li a4,2 1fa4: 82e7a223 sw a4,-2012(a5) # 20007824 1fa8: a6cfe06f j 214 <__riscv_restore_0> 1fac: 000780a3 sb zero,1(a5) 1fb0: bfe5 j 1fa8 00001fb2 : NET_TCPError(): 1fb2: 8082 ret 00001fb4 : LwipTCPSendCallBack(): 1fb4: 03852803 lw a6,56(a0) 1fb8: 02080b63 beqz a6,1fee 1fbc: a34fe2ef jal t0,1f0 <__riscv_save_0> 1fc0: 5dfc lw a5,124(a1) 1fc2: 4701 li a4,0 1fc4: c791 beqz a5,1fd0 1fc6: 0705 addi a4,a4,1 1fc8: 0742 slli a4,a4,0x10 1fca: 8341 srli a4,a4,0x10 1fcc: 439c lw a5,0(a5) 1fce: bfdd j 1fc4 1fd0: 0805a783 lw a5,128(a1) # 4080 1fd4: c791 beqz a5,1fe0 1fd6: 0705 addi a4,a4,1 1fd8: 0742 slli a4,a4,0x10 1fda: 8341 srli a4,a4,0x10 1fdc: 439c lw a5,0(a5) 1fde: bfdd j 1fd4 1fe0: 4681 li a3,0 1fe2: 4601 li a2,0 1fe4: 4581 li a1,0 1fe6: 9802 jalr a6 1fe8: 4501 li a0,0 1fea: a2afe06f j 214 <__riscv_restore_0> 1fee: 4501 li a0,0 1ff0: 8082 ret 00001ff2 : LwipTCPPollCallBack(): 1ff2: 4501 li a0,0 1ff4: 8082 ret 00001ff6 : SocketIPRAWReceive(): 1ff6: 9d2fe2ef jal t0,1c8 <__riscv_save_10> 1ffa: 425c lw a5,4(a2) 1ffc: 00852a03 lw s4,8(a0) 2000: 00c52903 lw s2,12(a0) 2004: 4900 lw s0,16(a0) 2006: 84aa mv s1,a0 2008: 2388 lbu a0,0(a5) 200a: 339c lbu a5,1(a5) 200c: 89b2 mv s3,a2 200e: 07a2 slli a5,a5,0x8 2010: 8d5d or a0,a0,a5 2012: 7ba010ef jal ra,37cc 2016: 00655593 srli a1,a0,0x6 201a: 03c5f593 andi a1,a1,60 201e: 40b005b3 neg a1,a1 2022: 854e mv a0,s3 2024: 31d020ef jal ra,4b40 2028: e559 bnez a0,20b6 202a: 44dc lw a5,12(s1) 202c: 4c98 lw a4,24(s1) 202e: 0089db03 lhu s6,8(s3) 2032: 8f99 sub a5,a5,a4 2034: 0167e463 bltu a5,s6,203c 2038: 000b1863 bnez s6,2048 203c: 854e mv a0,s3 203e: 371020ef jal ra,4bae 2042: 4505 li a0,1 2044: 9bcfe06f j 200 <__riscv_restore_10> 2048: 9a4a add s4,s4,s2 204a: 894e mv s2,s3 204c: 00a95603 lhu a2,10(s2) 2050: 408a0ab3 sub s5,s4,s0 2054: 00492b83 lw s7,4(s2) 2058: 04caf463 bgeu s5,a2,20a0 205c: 8656 mv a2,s5 205e: 85de mv a1,s7 2060: 8522 mv a0,s0 2062: 355060ef jal ra,8bb6 2066: 00a95783 lhu a5,10(s2) 206a: 4498 lw a4,8(s1) 206c: 41440433 sub s0,s0,s4 2070: 943e add s0,s0,a5 2072: 8622 mv a2,s0 2074: 015b85b3 add a1,s7,s5 2078: 853a mv a0,a4 207a: 33d060ef jal ra,8bb6 207e: 942a add s0,s0,a0 2080: 00092903 lw s2,0(s2) 2084: fc0914e3 bnez s2,204c 2088: 854e mv a0,s3 208a: 325020ef jal ra,4bae 208e: 4c9c lw a5,24(s1) 2090: c880 sw s0,16(s1) 2092: 97da add a5,a5,s6 2094: cc9c sw a5,24(s1) 2096: 409c lw a5,0(s1) 2098: 0047e793 ori a5,a5,4 209c: c09c sw a5,0(s1) 209e: b755 j 2042 20a0: 8522 mv a0,s0 20a2: 85de mv a1,s7 20a4: 313060ef jal ra,8bb6 20a8: 00a95783 lhu a5,10(s2) 20ac: 943e add s0,s0,a5 20ae: fd5799e3 bne a5,s5,2080 20b2: 4480 lw s0,8(s1) 20b4: b7f1 j 2080 20b6: 4501 li a0,0 20b8: b771 j 2044 000020ba : SocketUdpReceive(): 20ba: ce61 beqz a2,2192 20bc: 90cfe2ef jal t0,1c8 <__riscv_save_10> 20c0: 00c52b83 lw s7,12(a0) 20c4: 4d1c lw a5,24(a0) 20c6: 00865b03 lhu s6,8(a2) 20ca: 8aba mv s5,a4 20cc: 40fb87b3 sub a5,s7,a5 20d0: 8a36 mv s4,a3 20d2: 8932 mv s2,a2 20d4: 842a mv s0,a0 20d6: 0167e463 bltu a5,s6,20de 20da: 000b1763 bnez s6,20e8 20de: 854a mv a0,s2 20e0: 2cf020ef jal ra,4bae 20e4: 91cfe06f j 200 <__riscv_restore_10> 20e8: 451c lw a5,8(a0) 20ea: 4904 lw s1,16(a0) 20ec: 89b2 mv s3,a2 20ee: 9bbe add s7,s7,a5 20f0: 00a9d603 lhu a2,10(s3) 20f4: 409b8c33 sub s8,s7,s1 20f8: 0049ac83 lw s9,4(s3) 20fc: 06cc7763 bgeu s8,a2,216a 2100: 8662 mv a2,s8 2102: 85e6 mv a1,s9 2104: 8526 mv a0,s1 2106: 2b1060ef jal ra,8bb6 210a: 00a9d783 lhu a5,10(s3) 210e: 4418 lw a4,8(s0) 2110: 417484b3 sub s1,s1,s7 2114: 94be add s1,s1,a5 2116: 8626 mv a2,s1 2118: 018c85b3 add a1,s9,s8 211c: 853a mv a0,a4 211e: 299060ef jal ra,8bb6 2122: 94aa add s1,s1,a0 2124: 0009a983 lw s3,0(s3) 2128: fc0994e3 bnez s3,20f0 212c: 854a mv a0,s2 212e: 281020ef jal ra,4bae 2132: 03842803 lw a6,56(s0) 2136: 04080563 beqz a6,2180 213a: 001a4583 lbu a1,1(s4) 213e: 000a4783 lbu a5,0(s4) 2142: 4814 lw a3,16(s0) 2144: 05a2 slli a1,a1,0x8 2146: 8ddd or a1,a1,a5 2148: 002a4783 lbu a5,2(s4) 214c: 875a mv a4,s6 214e: 8656 mv a2,s5 2150: 07c2 slli a5,a5,0x10 2152: 8fcd or a5,a5,a1 2154: 003a4583 lbu a1,3(s4) 2158: 8522 mv a0,s0 215a: 05e2 slli a1,a1,0x18 215c: 8ddd or a1,a1,a5 215e: 9802 jalr a6 2160: 441c lw a5,8(s0) 2162: 00042c23 sw zero,24(s0) 2166: c81c sw a5,16(s0) 2168: bfb5 j 20e4 216a: 8526 mv a0,s1 216c: 85e6 mv a1,s9 216e: 249060ef jal ra,8bb6 2172: 00a9d783 lhu a5,10(s3) 2176: 94be add s1,s1,a5 2178: fb8796e3 bne a5,s8,2124 217c: 4404 lw s1,8(s0) 217e: b75d j 2124 2180: 4c18 lw a4,24(s0) 2182: 401c lw a5,0(s0) 2184: c804 sw s1,16(s0) 2186: 975a add a4,a4,s6 2188: 0047e793 ori a5,a5,4 218c: cc18 sw a4,24(s0) 218e: c01c sw a5,0(s0) 2190: bf91 j 20e4 2192: 8082 ret 00002194 : WCHSocketTCPReceive(): 2194: 491c lw a5,16(a0) 2196: c7f1 beqz a5,2262 2198: 830fe2ef jal t0,1c8 <__riscv_save_10> 219c: 8a32 mv s4,a2 219e: 84ae mv s1,a1 21a0: 842a mv s0,a0 21a2: ca55 beqz a2,2256 21a4: 00852a83 lw s5,8(a0) 21a8: 4558 lw a4,12(a0) 21aa: 00865b83 lhu s7,8(a2) 21ae: 8932 mv s2,a2 21b0: 9aba add s5,s5,a4 21b2: 0ac2 slli s5,s5,0x10 21b4: 010ada93 srli s5,s5,0x10 21b8: 01079993 slli s3,a5,0x10 21bc: 0109d993 srli s3,s3,0x10 21c0: 413a8b33 sub s6,s5,s3 21c4: 00a95603 lhu a2,10(s2) 21c8: 0b42 slli s6,s6,0x10 21ca: 010b5b13 srli s6,s6,0x10 21ce: 00492c03 lw s8,4(s2) 21d2: 06cb7663 bgeu s6,a2,223e 21d6: 865a mv a2,s6 21d8: 85e2 mv a1,s8 21da: 853e mv a0,a5 21dc: 1db060ef jal ra,8bb6 21e0: 00a95703 lhu a4,10(s2) 21e4: 441c lw a5,8(s0) 21e6: 016c05b3 add a1,s8,s6 21ea: 41570733 sub a4,a4,s5 21ee: 99ba add s3,s3,a4 21f0: 09c2 slli s3,s3,0x10 21f2: 0109d993 srli s3,s3,0x10 21f6: 853e mv a0,a5 21f8: 864e mv a2,s3 21fa: 1bd060ef jal ra,8bb6 21fe: 013507b3 add a5,a0,s3 2202: 00092903 lw s2,0(s2) 2206: fa0919e3 bnez s2,21b8 220a: 4c18 lw a4,24(s0) 220c: c81c sw a5,16(s0) 220e: 8552 mv a0,s4 2210: 975e add a4,a4,s7 2212: cc18 sw a4,24(s0) 2214: 4018 lw a4,0(s0) 2216: 00476713 ori a4,a4,4 221a: c018 sw a4,0(s0) 221c: 193020ef jal ra,4bae 2220: 38fe lhu a5,54(s1) 2222: 4c18 lw a4,24(s0) 2224: 8526 mv a0,s1 2226: 41778bb3 sub s7,a5,s7 222a: 445c lw a5,12(s0) 222c: 03749b23 sh s7,54(s1) 2230: 8f99 sub a5,a5,a4 2232: b4de sh a5,44(s1) 2234: 723020ef jal ra,5156 2238: 4501 li a0,0 223a: fc7fd06f j 200 <__riscv_restore_10> 223e: 853e mv a0,a5 2240: 85e2 mv a1,s8 2242: 175060ef jal ra,8bb6 2246: 00a95703 lhu a4,10(s2) 224a: 00e507b3 add a5,a0,a4 224e: fb671ae3 bne a4,s6,2202 2252: 441c lw a5,8(s0) 2254: b77d j 2202 2256: 4501 li a0,0 2258: f2ed bnez a3,223a 225a: 852e mv a0,a1 225c: 388030ef jal ra,55e4 2260: bfe9 j 223a 2262: 557d li a0,-1 2264: 8082 ret 00002266 : LwipTcpConnectedCallBack(): 2266: f8bfd2ef jal t0,1f0 <__riscv_save_0> 226a: 842e mv s0,a1 226c: 000025b7 lui a1,0x2 2270: 84aa mv s1,a0 2272: 19458593 addi a1,a1,404 # 2194 2276: 8522 mv a0,s0 2278: 7d7020ef jal ra,524e 227c: 000025b7 lui a1,0x2 2280: 8522 mv a0,s0 2282: fb458593 addi a1,a1,-76 # 1fb4 2286: 7cf020ef jal ra,5254 228a: 000025b7 lui a1,0x2 228e: 8522 mv a0,s0 2290: 4605 li a2,1 2292: ff258593 addi a1,a1,-14 # 1ff2 2296: 7cb020ef jal ra,5260 229a: 209c lbu a5,0(s1) 229c: 4501 li a0,0 229e: 0087e793 ori a5,a5,8 22a2: c09c sw a5,0(s1) 22a4: f71fd06f j 214 <__riscv_restore_0> 000022a8 : ErrorEncode(): 22a8: c919 beqz a0,22be 22aa: 40a00533 neg a0,a0 22ae: 67a5 lui a5,0x9 22b0: e2c78793 addi a5,a5,-468 # 8e2c 22b4: 0ff57513 andi a0,a0,255 22b8: 953e add a0,a0,a5 22ba: 2108 lbu a0,0(a0) 22bc: 8082 ret 22be: 4501 li a0,0 22c0: 8082 ret 000022c2 : WCHSocketInit(): 22c2: f2ffd2ef jal t0,1f0 <__riscv_save_0> 22c6: 03c00793 li a5,60 22ca: 02f587b3 mul a5,a1,a5 22ce: 20007437 lui s0,0x20007 22d2: 33840713 addi a4,s0,824 # 20007338 22d6: 892a mv s2,a0 22d8: 84ae mv s1,a1 22da: 03c00613 li a2,60 22de: 4581 li a1,0 22e0: 33840413 addi s0,s0,824 22e4: 97ba add a5,a5,a4 22e6: 853e mv a0,a5 22e8: f39fd0ef jal ra,220 22ec: 00090763 beqz s2,22fa 22f0: 03c00613 li a2,60 22f4: 85ca mv a1,s2 22f6: 0c1060ef jal ra,8bb6 22fa: 03c00593 li a1,60 22fe: 02b485b3 mul a1,s1,a1 2302: 95a2 add a1,a1,s0 2304: 459c lw a5,8(a1) 2306: c99c sw a5,16(a1) 2308: c9dc sw a5,20(a1) 230a: f0bfd06f j 214 <__riscv_restore_0> 0000230e : WCHNET_Init(): 230e: ec9fd2ef jal t0,1d6 <__riscv_save_4> 2312: 8a2a mv s4,a0 2314: 20007537 lui a0,0x20007 2318: 1141 addi sp,sp,-16 231a: 89ae mv s3,a1 231c: 84b2 mv s1,a2 231e: 4581 li a1,0 2320: 4661 li a2,24 2322: 78050513 addi a0,a0,1920 # 20007780 2326: c636 sw a3,12(sp) 2328: ef9fd0ef jal ra,220 232c: 46b2 lw a3,12(sp) 232e: 20007437 lui s0,0x20007 2332: 7f840913 addi s2,s0,2040 # 200077f8 2336: 85b6 mv a1,a3 2338: 4619 li a2,6 233a: 00c90513 addi a0,s2,12 233e: 079060ef jal ra,8bb6 2342: 4611 li a2,4 2344: 85d2 mv a1,s4 2346: 7f840513 addi a0,s0,2040 234a: 06d060ef jal ra,8bb6 234e: 4611 li a2,4 2350: 85ce mv a1,s3 2352: 00490513 addi a0,s2,4 2356: 061060ef jal ra,8bb6 235a: 7f840413 addi s0,s0,2040 235e: e0a1 bnez s1,239e 2360: 010007b7 lui a5,0x1000 2364: 17fd addi a5,a5,-1 2366: c41c sw a5,8(s0) 2368: 4481 li s1,0 236a: 8c81c783 lbu a5,-1848(gp) # 200000e8 236e: 02f4cf63 blt s1,a5,23ac 2372: 3d6010ef jal ra,3748 2376: 4785 li a5,1 2378: d05c sw a5,36(s0) 237a: 6715 lui a4,0x5 237c: 200077b7 lui a5,0x20007 2380: 7ec78793 addi a5,a5,2028 # 200077ec 2384: e2070713 addi a4,a4,-480 # 4e20 2388: c398 sw a4,0(a5) 238a: 6711 lui a4,0x4 238c: a9870713 addi a4,a4,-1384 # 3a98 2390: c3d8 sw a4,4(a5) 2392: 4725 li a4,9 2394: c798 sw a4,8(a5) 2396: 4501 li a0,0 2398: 0141 addi sp,sp,16 239a: e71fd06f j 20a <__riscv_restore_4> 239e: 4611 li a2,4 23a0: 85a6 mv a1,s1 23a2: 00840513 addi a0,s0,8 23a6: 011060ef jal ra,8bb6 23aa: bf7d j 2368 23ac: 0ff4f593 andi a1,s1,255 23b0: 4501 li a0,0 23b2: 3f01 jal 22c2 23b4: 0485 addi s1,s1,1 23b6: bf55 j 236a 000023b8 : WCHNET_ConfigKeepLive(): 23b8: 4118 lw a4,0(a0) 23ba: 200077b7 lui a5,0x20007 23be: 7ec78793 addi a5,a5,2028 # 200077ec 23c2: c398 sw a4,0(a5) 23c4: 4158 lw a4,4(a0) 23c6: c3d8 sw a4,4(a5) 23c8: 4518 lw a4,8(a0) 23ca: c798 sw a4,8(a5) 23cc: 8082 ret 000023ce : WCHNET_ConfigLIB(): 23ce: 5518 lw a4,40(a0) 23d0: 123457b7 lui a5,0x12345 23d4: 67878793 addi a5,a5,1656 # 12345678 <_data_lma+0x1233c7e4> 23d8: 12f71a63 bne a4,a5,250c 23dc: dfbfd2ef jal t0,1d6 <__riscv_save_4> 23e0: 511c lw a5,32(a0) 23e2: 842a mv s0,a0 23e4: 4525 li a0,9 23e6: 10078b63 beqz a5,24fc 23ea: 20007937 lui s2,0x20007 23ee: 04400613 li a2,68 23f2: 4581 li a1,0 23f4: 7f890513 addi a0,s2,2040 # 200077f8 23f8: e29fd0ef jal ra,220 23fc: 200084b7 lui s1,0x20008 2400: 02c00613 li a2,44 2404: 4581 li a1,0 2406: 83c48513 addi a0,s1,-1988 # 2000783c 240a: e17fd0ef jal ra,220 240e: 02c00613 li a2,44 2412: 85a2 mv a1,s0 2414: 83c48513 addi a0,s1,-1988 2418: 79e060ef jal ra,8bb6 241c: 83c48993 addi s3,s1,-1988 2420: 0149a703 lw a4,20(s3) 2424: 864a mv a2,s2 2426: 83c48793 addi a5,s1,-1988 242a: eb25 bnez a4,249a 242c: 66a5 lui a3,0x9 242e: dc86d703 lhu a4,-568(a3) # 8dc8 2432: dc868693 addi a3,a3,-568 2436: 22ae lhu a1,2(a3) 2438: 972e add a4,a4,a1 243a: 22ce lhu a1,4(a3) 243c: 22f6 lhu a3,6(a3) 243e: 972e add a4,a4,a1 2440: 9736 add a4,a4,a3 2442: 01271693 slli a3,a4,0x12 2446: 0a06dd63 bgez a3,2500 244a: cbd8 sw a4,20(a5) 244c: 4bd8 lw a4,20(a5) 244e: 00e75693 srli a3,a4,0xe 2452: 8afd andi a3,a3,31 2454: ea89 bnez a3,2466 2456: fff846b7 lui a3,0xfff84 245a: 16fd addi a3,a3,-1 245c: 8f75 and a4,a4,a3 245e: 000506b7 lui a3,0x50 2462: 8f55 or a4,a4,a3 2464: cbd8 sw a4,20(a5) 2466: 4bd8 lw a4,20(a5) 2468: 01375693 srli a3,a4,0x13 246c: 8afd andi a3,a3,31 246e: ea89 bnez a3,2480 2470: fff846b7 lui a3,0xfff84 2474: 16fd addi a3,a3,-1 2476: 8f75 and a4,a4,a3 2478: 005006b7 lui a3,0x500 247c: 8f55 or a4,a4,a3 247e: cbd8 sw a4,20(a5) 2480: 4bd8 lw a4,20(a5) 2482: 00671693 slli a3,a4,0x6 2486: 0006ca63 bltz a3,249a 248a: fe0006b7 lui a3,0xfe000 248e: 16fd addi a3,a3,-1 2490: 8f75 and a4,a4,a3 2492: 140006b7 lui a3,0x14000 2496: 8f55 or a4,a4,a3 2498: cbd8 sw a4,20(a5) 249a: 4bd8 lw a4,20(a5) 249c: 01b75693 srli a3,a4,0x1b 24a0: e689 bnez a3,24aa 24a2: 400006b7 lui a3,0x40000 24a6: 8f55 or a4,a4,a3 24a8: cbd8 sw a4,20(a5) 24aa: 46a9 li a3,10 24ac: 8cd182a3 sb a3,-1851(gp) # 200000e5 24b0: 468d li a3,3 24b2: 8cd18223 sb a3,-1852(gp) # 200000e4 24b6: 12c00693 li a3,300 24ba: 8cd19323 sh a3,-1850(gp) # 200000e6 24be: 53d8 lw a4,36(a5) 24c0: e711 bnez a4,24cc 24c2: 00002737 lui a4,0x2 24c6: da070713 addi a4,a4,-608 # 1da0 24ca: d3d8 sw a4,36(a5) 24cc: 4bd4 lw a3,20(a5) 24ce: 4501 li a0,0 24d0: 00e6d713 srli a4,a3,0xe 24d4: 8b7d andi a4,a4,31 24d6: 8cd18423 sb a3,-1848(gp) # 200000e8 24da: 7f860793 addi a5,a2,2040 24de: cf98 sw a4,24(a5) 24e0: 0136d713 srli a4,a3,0x13 24e4: 8b7d andi a4,a4,31 24e6: 03200613 li a2,50 24ea: 02c70733 mul a4,a4,a2 24ee: cfd8 sw a4,28(a5) 24f0: 00669713 slli a4,a3,0x6 24f4: 00075463 bgez a4,24fc 24f8: 4709 li a4,2 24fa: c3b8 sw a4,64(a5) 24fc: d0ffd06f j 20a <__riscv_restore_4> 2500: 76f9 lui a3,0xffffe 2502: 16fd addi a3,a3,-1 2504: 8f75 and a4,a4,a3 2506: 6689 lui a3,0x2 2508: 8f55 or a4,a4,a3 250a: b781 j 244a 250c: 0ff00513 li a0,255 2510: 8082 ret 00002512 : WCHNET_GetVer(): 2512: 456d li a0,27 2514: 8082 ret 00002516 : WCHFindCorrectTCBPcb(): 2516: 8c81c603 lbu a2,-1848(gp) # 200000e8 251a: 200077b7 lui a5,0x20007 251e: 33878693 addi a3,a5,824 # 20007338 2522: 4701 li a4,0 2524: 33878793 addi a5,a5,824 2528: 00e61763 bne a2,a4,2536 252c: 4781 li a5,0 252e: 02f71363 bne a4,a5,2554 2532: 4501 li a0,0 2534: 8082 ret 2536: 0307a803 lw a6,48(a5) 253a: 00a81763 bne a6,a0,2548 253e: c509 beqz a0,2548 2540: 4505 li a0,1 2542: d9ed beqz a1,2534 2544: a198 sb a4,0(a1) 2546: 8082 ret 2548: 0705 addi a4,a4,1 254a: 0ff77713 andi a4,a4,255 254e: 03c78793 addi a5,a5,60 2552: bfd9 j 2528 2554: 5ad0 lw a2,52(a3) 2556: 00a61963 bne a2,a0,2568 255a: c519 beqz a0,2568 255c: 4505 li a0,1 255e: d9f9 beqz a1,2534 2560: f807e793 ori a5,a5,-128 2564: a19c sb a5,0(a1) 2566: 8082 ret 2568: 0785 addi a5,a5,1 256a: 0ff7f793 andi a5,a5,255 256e: 03c68693 addi a3,a3,60 # 203c 2572: bf75 j 252e 00002574 : WCHNET_SocketCreat(): 2574: c63fd2ef jal t0,1d6 <__riscv_save_4> 2578: 20007937 lui s2,0x20007 257c: 00050023 sb zero,0(a0) 2580: 8c81c703 lbu a4,-1848(gp) # 200000e8 2584: 1141 addi sp,sp,-16 2586: 33890793 addi a5,s2,824 # 20007338 258a: 4481 li s1,0 258c: 33890913 addi s2,s2,824 2590: 00971763 bne a4,s1,259e 2594: 02000513 li a0,32 2598: 0141 addi sp,sp,16 259a: c71fd06f j 20a <__riscv_restore_4> 259e: 03c78793 addi a5,a5,60 25a2: fe47a683 lw a3,-28(a5) 25a6: 18068163 beqz a3,2728 25aa: 0485 addi s1,s1,1 25ac: 0ff4f493 andi s1,s1,255 25b0: b7c5 j 2590 25b2: 200077b7 lui a5,0x20007 25b6: 7f87a783 lw a5,2040(a5) # 200077f8 25ba: 006c addi a1,sp,12 25bc: c63e sw a5,12(sp) 25be: 127020ef jal ra,4ee4 25c2: 4611 li a2,4 25c4: 02c40593 addi a1,s0,44 25c8: 0068 addi a0,sp,12 25ca: 5ec060ef jal ra,8bb6 25ce: 006c addi a1,sp,12 25d0: 854e mv a0,s3 25d2: 131020ef jal ra,4f02 25d6: 03c00613 li a2,60 25da: 02c48633 mul a2,s1,a2 25de: 000025b7 lui a1,0x2 25e2: ff658593 addi a1,a1,-10 # 1ff6 25e6: 854e mv a0,s3 25e8: 964a add a2,a2,s2 25ea: 137020ef jal ra,4f20 25ee: 4795 li a5,5 25f0: 20008537 lui a0,0x20008 25f4: 006c addi a1,sp,12 25f6: 03342823 sw s3,48(s0) 25fa: d01c sw a5,32(s0) 25fc: 86850513 addi a0,a0,-1944 # 20007868 2600: 407000ef jal ra,3206 2604: 85a6 mv a1,s1 2606: 8522 mv a0,s0 2608: cbbff0ef jal ra,22c2 260c: 4501 li a0,0 260e: b769 j 2598 2610: 4709 li a4,2 2612: 0ae79063 bne a5,a4,26b2 2616: 2bf050ef jal ra,80d4 261a: 89aa mv s3,a0 261c: 12050363 beqz a0,2742 2620: 02c40a93 addi s5,s0,44 2624: 4611 li a2,4 2626: 85d6 mv a1,s5 2628: 0068 addi a0,sp,12 262a: 58c060ef jal ra,8bb6 262e: 4a32 lw s4,12(sp) 2630: f0000537 lui a0,0xf0000 2634: 1ca010ef jal ra,37fe 2638: 00aa7a33 and s4,s4,a0 263c: e0000537 lui a0,0xe0000 2640: 1be010ef jal ra,37fe 2644: 04aa0063 beq s4,a0,2684 2648: 200085b7 lui a1,0x20008 264c: 86858593 addi a1,a1,-1944 # 20007868 2650: 0068 addi a0,sp,12 2652: 62e010ef jal ra,3c80 2656: e51d bnez a0,2684 2658: 200077b7 lui a5,0x20007 265c: 7f87a783 lw a5,2040(a5) # 200077f8 2660: 3412 lhu a2,40(s0) 2662: 006c addi a1,sp,12 2664: 854e mv a0,s3 2666: c63e sw a5,12(sp) 2668: 039050ef jal ra,7ea0 266c: e11d bnez a0,2692 266e: 85d6 mv a1,s5 2670: 4611 li a2,4 2672: 0068 addi a0,sp,12 2674: 542060ef jal ra,8bb6 2678: 3052 lhu a2,36(s0) 267a: 006c addi a1,sp,12 267c: 854e mv a0,s3 267e: 1d3050ef jal ra,8050 2682: a039 j 2690 2684: 3412 lhu a2,40(s0) 2686: 84418593 addi a1,gp,-1980 # 20000064 268a: 854e mv a0,s3 268c: 015050ef jal ra,7ea0 2690: c501 beqz a0,2698 2692: c17ff0ef jal ra,22a8 2696: b709 j 2598 2698: 03c00613 li a2,60 269c: 02c48633 mul a2,s1,a2 26a0: 000025b7 lui a1,0x2 26a4: 0ba58593 addi a1,a1,186 # 20ba 26a8: 854e mv a0,s3 26aa: 964a add a2,a2,s2 26ac: 223050ef jal ra,80ce 26b0: bf3d j 25ee 26b2: 470d li a4,3 26b4: 02100513 li a0,33 26b8: eee790e3 bne a5,a4,2598 26bc: 2e8030ef jal ra,59a4 26c0: 445c lw a5,12(s0) 26c2: 3412 lhu a2,40(s0) 26c4: 006c addi a1,sp,12 26c6: b95e sh a5,52(a0) 26c8: 200077b7 lui a5,0x20007 26cc: 7f87a783 lw a5,2040(a5) # 200077f8 26d0: 89aa mv s3,a0 26d2: c63e sw a5,12(sp) 26d4: 16d020ef jal ra,5040 26d8: 8a2a mv s4,a0 26da: c511 beqz a0,26e6 26dc: 854e mv a0,s3 26de: 707020ef jal ra,55e4 26e2: 8552 mv a0,s4 26e4: b77d j 2692 26e6: 03c00593 li a1,60 26ea: 02b485b3 mul a1,s1,a1 26ee: 854e mv a0,s3 26f0: 95ca add a1,a1,s2 26f2: 359020ef jal ra,524a 26f6: 000025b7 lui a1,0x2 26fa: 854e mv a0,s3 26fc: fb258593 addi a1,a1,-78 # 1fb2 2700: 35b020ef jal ra,525a 2704: 4795 li a5,5 2706: 85a6 mv a1,s1 2708: 8522 mv a0,s0 270a: 03342823 sw s3,48(s0) 270e: 03342a23 sw s3,52(s0) 2712: d01c sw a5,32(s0) 2714: bafff0ef jal ra,22c2 2718: 20008537 lui a0,0x20008 271c: 006c addi a1,sp,12 271e: 86850513 addi a0,a0,-1944 # 20007868 2722: 2e5000ef jal ra,3206 2726: b5dd j 260c 2728: a104 sb s1,0(a0) 272a: 4ddc lw a5,28(a1) 272c: c1c4 sw s1,4(a1) 272e: 842e mv s0,a1 2730: ee0790e3 bnez a5,2610 2734: 02844503 lbu a0,40(s0) 2738: 07d020ef jal ra,4fb4 273c: 89aa mv s3,a0 273e: e6051ae3 bnez a0,25b2 2742: 4545 li a0,17 2744: bd91 j 2598 00002746 : tcp_recved_socket(): 2746: aabfd2ef jal t0,1f0 <__riscv_save_0> 274a: 08852783 lw a5,136(a0) 274e: b54e sh a1,44(a0) 2750: 842a mv s0,a0 2752: c781 beqz a5,275a 2754: 279e lhu a5,8(a5) 2756: 8d9d sub a1,a1,a5 2758: b54e sh a1,44(a0) 275a: 8522 mv a0,s0 275c: 1fb020ef jal ra,5156 2760: cd09 beqz a0,277a 2762: 02644783 lbu a5,38(s0) 2766: 8522 mv a0,s0 2768: 0027e793 ori a5,a5,2 276c: 02f40323 sb a5,38(s0) 2770: 645040ef jal ra,75b4 2774: 4505 li a0,1 2776: a9ffd06f j 214 <__riscv_restore_0> 277a: 200087b7 lui a5,0x20008 277e: 84c7a783 lw a5,-1972(a5) # 2000784c 2782: 83a1 srli a5,a5,0x8 2784: 8b85 andi a5,a5,1 2786: d7fd beqz a5,2774 2788: 02644783 lbu a5,38(s0) 278c: 8b85 andi a5,a5,1 278e: d3fd beqz a5,2774 2790: 4789 li a5,2 2792: 02f403a3 sb a5,39(s0) 2796: 4705 li a4,1 2798: 8ce1aa23 sw a4,-1836(gp) # 200000f4 279c: bfe1 j 2774 0000279e : WCHNET_ModifyRecvBuf(): 279e: 8c81c783 lbu a5,-1848(gp) # 200000e8 27a2: 04f57563 bgeu a0,a5,27ec 27a6: 03c00713 li a4,60 27aa: 02e50533 mul a0,a0,a4 27ae: 200077b7 lui a5,0x20007 27b2: 33878793 addi a5,a5,824 # 20007338 27b6: 953e add a0,a0,a5 27b8: 4d58 lw a4,28(a0) 27ba: 00052c23 sw zero,24(a0) 27be: c550 sw a2,12(a0) 27c0: c50c sw a1,8(a0) 27c2: c90c sw a1,16(a0) 27c4: c94c sw a1,20(a0) 27c6: 478d li a5,3 27c8: 02f71263 bne a4,a5,27ec 27cc: 5908 lw a0,48(a0) 27ce: cd19 beqz a0,27ec 27d0: 395a lhu a4,52(a0) 27d2: 00163793 seqz a5,a2 27d6: 00f71b63 bne a4,a5,27ec 27da: a17fd2ef jal t0,1f0 <__riscv_save_0> 27de: 01061593 slli a1,a2,0x10 27e2: 81c1 srli a1,a1,0x10 27e4: b94e sh a1,52(a0) 27e6: 3785 jal 2746 27e8: a2dfd06f j 214 <__riscv_restore_0> 27ec: 8082 ret 000027ee : WCHNET_SocketRecv(): 27ee: 9e9fd2ef jal t0,1d6 <__riscv_save_4> 27f2: 4214 lw a3,0(a2) 27f4: 4469 li s0,26 27f6: cecd beqz a3,28b0 27f8: 00062023 sw zero,0(a2) 27fc: 8a32 mv s4,a2 27fe: 03c00613 li a2,60 2802: 02c50633 mul a2,a0,a2 2806: 200074b7 lui s1,0x20007 280a: 33848713 addi a4,s1,824 # 20007338 280e: 89aa mv s3,a0 2810: 87ae mv a5,a1 2812: 33848493 addi s1,s1,824 2816: 9732 add a4,a4,a2 2818: 00872b03 lw s6,8(a4) 281c: 4750 lw a2,12(a4) 281e: 01872903 lw s2,24(a4) 2822: 4b40 lw s0,20(a4) 2824: 9b32 add s6,s6,a2 2826: 0126f363 bgeu a3,s2,282c 282a: 8936 mv s2,a3 282c: 408b0ab3 sub s5,s6,s0 2830: 092af363 bgeu s5,s2,28b6 2834: cb81 beqz a5,2844 2836: 853e mv a0,a5 2838: 8656 mv a2,s5 283a: 85a2 mv a1,s0 283c: 37a060ef jal ra,8bb6 2840: 015507b3 add a5,a0,s5 2844: 03c00713 li a4,60 2848: 02e98733 mul a4,s3,a4 284c: 944a add s0,s0,s2 284e: 41640433 sub s0,s0,s6 2852: 9726 add a4,a4,s1 2854: 00872a83 lw s5,8(a4) 2858: c791 beqz a5,2864 285a: 8622 mv a2,s0 285c: 85d6 mv a1,s5 285e: 853e mv a0,a5 2860: 356060ef jal ra,8bb6 2864: 9456 add s0,s0,s5 2866: 03c00793 li a5,60 286a: 02f987b3 mul a5,s3,a5 286e: 012a2023 sw s2,0(s4) 2872: 97a6 add a5,a5,s1 2874: 4f98 lw a4,24(a5) 2876: cbc0 sw s0,20(a5) 2878: 41270933 sub s2,a4,s2 287c: 0127ac23 sw s2,24(a5) 2880: 00091863 bnez s2,2890 2884: 4798 lw a4,8(a5) 2886: cbd8 sw a4,20(a5) 2888: cb98 sw a4,16(a5) 288a: 4398 lw a4,0(a5) 288c: 9b6d andi a4,a4,-5 288e: c398 sw a4,0(a5) 2890: 03c00793 li a5,60 2894: 02f989b3 mul s3,s3,a5 2898: 478d li a5,3 289a: 4401 li s0,0 289c: 94ce add s1,s1,s3 289e: 4cd8 lw a4,28(s1) 28a0: 00f71863 bne a4,a5,28b0 28a4: 00091663 bnez s2,28b0 28a8: 24ce lhu a1,12(s1) 28aa: 5888 lw a0,48(s1) 28ac: e9bff0ef jal ra,2746 28b0: 8522 mv a0,s0 28b2: 959fd06f j 20a <__riscv_restore_4> 28b6: c791 beqz a5,28c2 28b8: 864a mv a2,s2 28ba: 85a2 mv a1,s0 28bc: 853e mv a0,a5 28be: 2f8060ef jal ra,8bb6 28c2: 944a add s0,s0,s2 28c4: fb2a91e3 bne s5,s2,2866 28c8: 03c00793 li a5,60 28cc: 02f987b3 mul a5,s3,a5 28d0: 97a6 add a5,a5,s1 28d2: 4780 lw s0,8(a5) 28d4: bf49 j 2866 000028d6 : SocketIPRawSend(): 28d6: 8f3fd2ef jal t0,1c8 <__riscv_save_10> 28da: 4200 lw s0,0(a2) 28dc: 00062023 sw zero,0(a2) 28e0: c455 beqz s0,298c 28e2: 87aa mv a5,a0 28e4: 4569 li a0,26 28e6: c5d9 beqz a1,2974 28e8: 03c00513 li a0,60 28ec: 02a787b3 mul a5,a5,a0 28f0: 20007537 lui a0,0x20007 28f4: 33850513 addi a0,a0,824 # 20007338 28f8: 20007ab7 lui s5,0x20007 28fc: 4481 li s1,0 28fe: 97aa add a5,a5,a0 2900: 0307ab03 lw s6,48(a5) 2904: 7f8a8793 addi a5,s5,2040 # 200077f8 2908: 43bc lw a5,64(a5) 290a: 7f8a8a93 addi s5,s5,2040 290e: 8b89 andi a5,a5,2 2910: e399 bnez a5,2916 2912: 0c700493 li s1,199 2916: 5c800793 li a5,1480 291a: 0087f463 bgeu a5,s0,2922 291e: 5c800413 li s0,1480 2922: 01041c93 slli s9,s0,0x10 2926: 8a32 mv s4,a2 2928: 892e mv s2,a1 292a: 010cdc93 srli s9,s9,0x10 292e: 0c800c13 li s8,200 2932: 4601 li a2,0 2934: 85e6 mv a1,s9 2936: 4501 li a0,0 2938: 2c4020ef jal ra,4bfc 293c: 89aa mv s3,a0 293e: c929 beqz a0,2990 2940: 4148 lw a0,4(a0) 2942: 8622 mv a2,s0 2944: 85ca mv a1,s2 2946: 020aae23 sw zero,60(s5) 294a: 26c060ef jal ra,8bb6 294e: 85ce mv a1,s3 2950: 855a mv a0,s6 2952: 652020ef jal ra,4fa4 2956: 8baa mv s7,a0 2958: 854e mv a0,s3 295a: 254020ef jal ra,4bae 295e: 03caa783 lw a5,60(s5) 2962: cb99 beqz a5,2978 2964: 0485 addi s1,s1,1 2966: 04c2 slli s1,s1,0x10 2968: 80c1 srli s1,s1,0x10 296a: bd4ff0ef jal ra,1d3e 296e: fd8492e3 bne s1,s8,2932 2972: 454d li a0,19 2974: 88dfd06f j 200 <__riscv_restore_10> 2978: 000bd663 bgez s7,2984 297c: 855e mv a0,s7 297e: 92bff0ef jal ra,22a8 2982: bfcd j 2974 2984: 008a2023 sw s0,0(s4) 2988: 4501 li a0,0 298a: b7ed j 2974 298c: 4569 li a0,26 298e: b7dd j 2974 2990: 4545 li a0,17 2992: b7cd j 2974 00002994 : SocketUdpSend(): 2994: 835fd2ef jal t0,1c8 <__riscv_save_10> 2998: 4200 lw s0,0(a2) 299a: 00062023 sw zero,0(a2) 299e: c455 beqz s0,2a4a 29a0: 87aa mv a5,a0 29a2: 4569 li a0,26 29a4: c5d9 beqz a1,2a32 29a6: 03c00513 li a0,60 29aa: 02a787b3 mul a5,a5,a0 29ae: 20007537 lui a0,0x20007 29b2: 33850513 addi a0,a0,824 # 20007338 29b6: 20007ab7 lui s5,0x20007 29ba: 4481 li s1,0 29bc: 97aa add a5,a5,a0 29be: 0307ab03 lw s6,48(a5) 29c2: 7f8a8793 addi a5,s5,2040 # 200077f8 29c6: 43bc lw a5,64(a5) 29c8: 7f8a8a93 addi s5,s5,2040 29cc: 8b89 andi a5,a5,2 29ce: e399 bnez a5,29d4 29d0: 0c700493 li s1,199 29d4: 5c000793 li a5,1472 29d8: 0087f463 bgeu a5,s0,29e0 29dc: 5c000413 li s0,1472 29e0: 01041c93 slli s9,s0,0x10 29e4: 8a32 mv s4,a2 29e6: 892e mv s2,a1 29e8: 010cdc93 srli s9,s9,0x10 29ec: 0c800c13 li s8,200 29f0: 4601 li a2,0 29f2: 85e6 mv a1,s9 29f4: 4501 li a0,0 29f6: 206020ef jal ra,4bfc 29fa: 89aa mv s3,a0 29fc: c929 beqz a0,2a4e 29fe: 4148 lw a0,4(a0) 2a00: 8622 mv a2,s0 2a02: 85ca mv a1,s2 2a04: 020aae23 sw zero,60(s5) 2a08: 1ae060ef jal ra,8bb6 2a0c: 85ce mv a1,s3 2a0e: 855a mv a0,s6 2a10: 62e050ef jal ra,803e 2a14: 8baa mv s7,a0 2a16: 854e mv a0,s3 2a18: 196020ef jal ra,4bae 2a1c: 03caa783 lw a5,60(s5) 2a20: cb99 beqz a5,2a36 2a22: 0485 addi s1,s1,1 2a24: 04c2 slli s1,s1,0x10 2a26: 80c1 srli s1,s1,0x10 2a28: b16ff0ef jal ra,1d3e 2a2c: fd8492e3 bne s1,s8,29f0 2a30: 454d li a0,19 2a32: fcefd06f j 200 <__riscv_restore_10> 2a36: 000bd663 bgez s7,2a42 2a3a: 855e mv a0,s7 2a3c: 86dff0ef jal ra,22a8 2a40: bfcd j 2a32 2a42: 008a2023 sw s0,0(s4) 2a46: 4501 li a0,0 2a48: b7ed j 2a32 2a4a: 4569 li a0,26 2a4c: b7dd j 2a32 2a4e: 4545 li a0,17 2a50: b7cd j 2a32 00002a52 : SocketTcpSend(): 2a52: f76fd2ef jal t0,1c8 <__riscv_save_10> 2a56: 00062983 lw s3,0(a2) 2a5a: 00062023 sw zero,0(a2) 2a5e: 0c098e63 beqz s3,2b3a 2a62: 87aa mv a5,a0 2a64: 8b2e mv s6,a1 2a66: 4569 li a0,26 2a68: c1a1 beqz a1,2aa8 2a6a: 03c00513 li a0,60 2a6e: 02a787b3 mul a5,a5,a0 2a72: 20007537 lui a0,0x20007 2a76: 33850513 addi a0,a0,824 # 20007338 2a7a: 20008a37 lui s4,0x20008 2a7e: 8bb2 mv s7,a2 2a80: 0c900a93 li s5,201 2a84: 4481 li s1,0 2a86: 4c11 li s8,4 2a88: 83ca0a13 addi s4,s4,-1988 # 2000783c 2a8c: 5cfd li s9,-1 2a8e: 97aa add a5,a5,a0 2a90: 0307a903 lw s2,48(a5) 2a94: 1afd addi s5,s5,-1 2a96: 0ac2 slli s5,s5,0x10 2a98: 010ada93 srli s5,s5,0x10 2a9c: 000a9863 bnez s5,2aac 2aa0: 000ba783 lw a5,0(s7) 2aa4: cbc9 beqz a5,2b36 2aa6: 4501 li a0,0 2aa8: f58fd06f j 200 <__riscv_restore_10> 2aac: 01092783 lw a5,16(s2) 2ab0: 09879763 bne a5,s8,2b3e 2ab4: a8aff0ef jal ra,1d3e 2ab8: 07695703 lhu a4,118(s2) 2abc: e319 bnez a4,2ac2 2abe: 4545 li a0,17 2ac0: b7e5 j 2aa8 2ac2: 010a2783 lw a5,16(s4) 2ac6: 8b85 andi a5,a5,1 2ac8: e399 bnez a5,2ace 2aca: ff376ae3 bltu a4,s3,2abe 2ace: 004a2403 lw s0,4(s4) 2ad2: 00877363 bgeu a4,s0,2ad8 2ad6: 843a mv s0,a4 2ad8: 0089f363 bgeu s3,s0,2ade 2adc: 844e mv s0,s3 2ade: 01041613 slli a2,s0,0x10 2ae2: 8241 srli a2,a2,0x10 2ae4: 4685 li a3,1 2ae6: e391 bnez a5,2aea 2ae8: 4681 li a3,0 2aea: 85da mv a1,s6 2aec: 854a mv a0,s2 2aee: 227040ef jal ra,7514 2af2: 84aa mv s1,a0 2af4: 854a mv a0,s2 2af6: e48d bnez s1,2b20 2af8: 2bd040ef jal ra,75b4 2afc: 000ba783 lw a5,0(s7) 2b00: 408989b3 sub s3,s3,s0 2b04: 84aa mv s1,a0 2b06: 97a2 add a5,a5,s0 2b08: 00fba023 sw a5,0(s7) 2b0c: 9b22 add s6,s6,s0 2b0e: f8098ce3 beqz s3,2aa6 2b12: 010a2783 lw a5,16(s4) 2b16: 8b85 andi a5,a5,1 2b18: ffb5 bnez a5,2a94 2b1a: f8eff0ef jal ra,22a8 2b1e: b769 j 2aa8 2b20: 01949963 bne s1,s9,2b32 2b24: 291040ef jal ra,75b4 2b28: 010a2783 lw a5,16(s4) 2b2c: 8b85 andi a5,a5,1 2b2e: f3bd bnez a5,2a94 2b30: b779 j 2abe 2b32: 283040ef jal ra,75b4 2b36: 8526 mv a0,s1 2b38: b7cd j 2b1a 2b3a: 4569 li a0,26 2b3c: b7b5 j 2aa8 2b3e: 455d li a0,23 2b40: b7a5 j 2aa8 00002b42 : WCHNET_SocketSend(): 2b42: 03c00793 li a5,60 2b46: 02f507b3 mul a5,a0,a5 2b4a: 20007737 lui a4,0x20007 2b4e: 33870713 addi a4,a4,824 # 20007338 2b52: 97ba add a5,a5,a4 2b54: 0207a803 lw a6,32(a5) 2b58: 4715 li a4,5 2b5a: 00e80763 beq a6,a4,2b68 2b5e: 47dd li a5,23 2b60: 00062023 sw zero,0(a2) 2b64: 853e mv a0,a5 2b66: 8082 ret 2b68: e88fd2ef jal t0,1f0 <__riscv_save_0> 2b6c: 4fd8 lw a4,28(a5) 2b6e: 478d li a5,3 2b70: 00f71863 bne a4,a5,2b80 2b74: edfff0ef jal ra,2a52 2b78: 87aa mv a5,a0 2b7a: 853e mv a0,a5 2b7c: e98fd06f j 214 <__riscv_restore_0> 2b80: e701 bnez a4,2b88 2b82: d55ff0ef jal ra,28d6 2b86: bfcd j 2b78 2b88: 4689 li a3,2 2b8a: 0fa00793 li a5,250 2b8e: fed716e3 bne a4,a3,2b7a 2b92: e03ff0ef jal ra,2994 2b96: b7cd j 2b78 00002b98 : WCHScokedIntHandle(): 2b98: e58fd2ef jal t0,1f0 <__riscv_save_0> 2b9c: 47a1 li a5,8 2b9e: 84aa mv s1,a0 2ba0: 2100 lbu s0,0(a0) 2ba2: 02f58a63 beq a1,a5,2bd6 2ba6: 00b7ec63 bltu a5,a1,2bbe 2baa: 4785 li a5,1 2bac: 02f58163 beq a1,a5,2bce 2bb0: 4789 li a5,2 2bb2: 00246413 ori s0,s0,2 2bb6: 00f58e63 beq a1,a5,2bd2 2bba: e5afd06f j 214 <__riscv_restore_0> 2bbe: 47c1 li a5,16 2bc0: 00f58e63 beq a1,a5,2bdc 2bc4: 04000793 li a5,64 2bc8: 04046413 ori s0,s0,64 2bcc: b7ed j 2bb6 2bce: 00146413 ori s0,s0,1 2bd2: c080 sw s0,0(s1) 2bd4: b7dd j 2bba 2bd6: 00846413 ori s0,s0,8 2bda: bfe5 j 2bd2 2bdc: 5948 lw a0,52(a0) 2bde: 01046413 ori s0,s0,16 2be2: d965 beqz a0,2bd2 2be4: 201020ef jal ra,55e4 2be8: b7ed j 2bd2 00002bea : LwipRemoveTcpPcb(): 2bea: decfd2ef jal t0,1d6 <__riscv_save_4> 2bee: 1141 addi sp,sp,-16 2bf0: 00f10593 addi a1,sp,15 2bf4: 89aa mv s3,a0 2bf6: 000107a3 sb zero,15(sp) 2bfa: 91dff0ef jal ra,2516 2bfe: c515 beqz a0,2c2a 2c00: 8784 lbu s1,15(sp) 2c02: 01849793 slli a5,s1,0x18 2c06: 87e1 srai a5,a5,0x18 2c08: 0207d463 bgez a5,2c30 2c0c: 03c00413 li s0,60 2c10: 07f4f493 andi s1,s1,127 2c14: 028484b3 mul s1,s1,s0 2c18: 20007437 lui s0,0x20007 2c1c: 33840413 addi s0,s0,824 # 20007338 2c20: 9426 add s0,s0,s1 2c22: 02042a23 sw zero,52(s0) 2c26: 02042023 sw zero,32(s0) 2c2a: 0141 addi sp,sp,16 2c2c: ddefd06f j 20a <__riscv_restore_4> 2c30: 8c81c783 lbu a5,-1848(gp) # 200000e8 2c34: fef4fbe3 bgeu s1,a5,2c2a 2c38: 03c00713 li a4,60 2c3c: 02e48733 mul a4,s1,a4 2c40: 200077b7 lui a5,0x20007 2c44: 33878413 addi s0,a5,824 # 20007338 2c48: 33878913 addi s2,a5,824 2c4c: 943a add s0,s0,a4 2c4e: 4c54 lw a3,28(s0) 2c50: 470d li a4,3 2c52: fce69ce3 bne a3,a4,2c2a 2c56: 0109a783 lw a5,16(s3) 2c5a: 4705 li a4,1 2c5c: 17dd addi a5,a5,-9 2c5e: 0ff7f793 andi a5,a5,255 2c62: 00f76e63 bltu a4,a5,2c7e 2c66: 45c1 li a1,16 2c68: 8522 mv a0,s0 2c6a: f2fff0ef jal ra,2b98 2c6e: 03c00793 li a5,60 2c72: 02f484b3 mul s1,s1,a5 2c76: 94ca add s1,s1,s2 2c78: 0204a823 sw zero,48(s1) 2c7c: b76d j 2c26 2c7e: 201c lbu a5,0(s0) 2c80: 0407e793 ori a5,a5,64 2c84: c01c sw a5,0(s0) 2c86: b7e5 j 2c6e 00002c88 : WCHNET_QueryGlobalInt(): 2c88: 20007737 lui a4,0x20007 2c8c: 8c81c683 lbu a3,-1848(gp) # 200000e8 2c90: 33870713 addi a4,a4,824 # 20007338 2c94: 4781 li a5,0 2c96: 00f68f63 beq a3,a5,2cb4 2c9a: 03c70713 addi a4,a4,60 2c9e: fc472603 lw a2,-60(a4) 2ca2: ce11 beqz a2,2cbe 2ca4: 200077b7 lui a5,0x20007 2ca8: 7f878793 addi a5,a5,2040 # 200077f8 2cac: 57d8 lw a4,44(a5) 2cae: 01076713 ori a4,a4,16 2cb2: d7d8 sw a4,44(a5) 2cb4: 200087b7 lui a5,0x20008 2cb8: 8247c503 lbu a0,-2012(a5) # 20007824 2cbc: 8082 ret 2cbe: 0785 addi a5,a5,1 2cc0: 0ff7f793 andi a5,a5,255 2cc4: bfc9 j 2c96 00002cc6 : WCHNET_GetGlobalInt(): 2cc6: d2afd2ef jal t0,1f0 <__riscv_save_0> 2cca: 3f7d jal 2c88 2ccc: 200087b7 lui a5,0x20008 2cd0: 8207a223 sw zero,-2012(a5) # 20007824 2cd4: d40fd06f j 214 <__riscv_restore_0> 00002cd8 : WCHNET_GetSocketInt(): 2cd8: 8c81c783 lbu a5,-1848(gp) # 200000e8 2cdc: 02f57163 bgeu a0,a5,2cfe 2ce0: 03c00793 li a5,60 2ce4: 02f50533 mul a0,a0,a5 2ce8: 200077b7 lui a5,0x20007 2cec: 33878793 addi a5,a5,824 # 20007338 2cf0: 97aa add a5,a5,a0 2cf2: 4398 lw a4,0(a5) 2cf4: 0ff77513 andi a0,a4,255 2cf8: 8b11 andi a4,a4,4 2cfa: c398 sw a4,0(a5) 2cfc: 8082 ret 2cfe: 4501 li a0,0 2d00: 8082 ret 00002d02 : WCHNET_GetPHYStatus(): 2d02: 200087b7 lui a5,0x20008 2d06: 8187c503 lbu a0,-2024(a5) # 20007818 2d0a: 8082 ret 00002d0c : WCHNET_SocketSetKeepLive(): 2d0c: 03c00793 li a5,60 2d10: 02f50533 mul a0,a0,a5 2d14: 200077b7 lui a5,0x20007 2d18: 33878793 addi a5,a5,824 # 20007338 2d1c: 953e add a0,a0,a5 2d1e: 591c lw a5,48(a0) 2d20: cf95 beqz a5,2d5c 2d22: 5114 lw a3,32(a0) 2d24: 4715 li a4,5 2d26: 455d li a0,23 2d28: 02e69b63 bne a3,a4,2d5e 2d2c: 8985 andi a1,a1,1 2d2e: 279a lhu a4,8(a5) 2d30: c19d beqz a1,2d56 2d32: 00876713 ori a4,a4,8 2d36: a79a sh a4,8(a5) 2d38: 20007737 lui a4,0x20007 2d3c: 7ec70713 addi a4,a4,2028 # 200077ec 2d40: 4314 lw a3,0(a4) 2d42: 0ad7a023 sw a3,160(a5) 2d46: 4354 lw a3,4(a4) 2d48: 4718 lw a4,8(a4) 2d4a: 0ad7a223 sw a3,164(a5) 2d4e: 0ae7a423 sw a4,168(a5) 2d52: 4501 li a0,0 2d54: 8082 ret 2d56: 9b5d andi a4,a4,-9 2d58: a79a sh a4,8(a5) 2d5a: bfe5 j 2d52 2d5c: 455d li a0,23 2d5e: 8082 ret 00002d60 : WCHNET_SocketConnect(): 2d60: 8c81c783 lbu a5,-1848(gp) # 200000e8 2d64: 06f57763 bgeu a0,a5,2dd2 2d68: c88fd2ef jal t0,1f0 <__riscv_save_0> 2d6c: 03c00413 li s0,60 2d70: 02850533 mul a0,a0,s0 2d74: 20007437 lui s0,0x20007 2d78: 33840413 addi s0,s0,824 # 20007338 2d7c: 1141 addi sp,sp,-16 2d7e: 942a add s0,s0,a0 2d80: 5804 lw s1,48(s0) 2d82: 455d li a0,23 2d84: cc85 beqz s1,2dbc 2d86: 5018 lw a4,32(s0) 2d88: 4795 li a5,5 2d8a: 02f71963 bne a4,a5,2dbc 2d8e: 545c lw a5,44(s0) 2d90: 02042a23 sw zero,52(s0) 2d94: 000026b7 lui a3,0x2 2d98: c63e sw a5,12(sp) 2d9a: 3052 lhu a2,36(s0) 2d9c: 26668693 addi a3,a3,614 # 2266 2da0: 006c addi a1,sp,12 2da2: 8526 mv a0,s1 2da4: 43f020ef jal ra,59e2 2da8: 892a mv s2,a0 2daa: cd01 beqz a0,2dc2 2dac: 8526 mv a0,s1 2dae: 037020ef jal ra,55e4 2db2: 854a mv a0,s2 2db4: 02042023 sw zero,32(s0) 2db8: cf0ff0ef jal ra,22a8 2dbc: 0141 addi sp,sp,16 2dbe: c56fd06f j 214 <__riscv_restore_0> 2dc2: 0264c783 lbu a5,38(s1) 2dc6: 4501 li a0,0 2dc8: fbf7f793 andi a5,a5,-65 2dcc: 02f48323 sb a5,38(s1) 2dd0: b7f5 j 2dbc 2dd2: 4569 li a0,26 2dd4: 8082 ret 00002dd6 : QueryPingEnable(): 2dd6: 200087b7 lui a5,0x20008 2dda: 8507a503 lw a0,-1968(a5) # 20007850 2dde: 8135 srli a0,a0,0xd 2de0: 8905 andi a0,a0,1 2de2: 8082 ret 00002de4 : LwipUnreachPort(): 2de4: 200077b7 lui a5,0x20007 2de8: 7f878793 addi a5,a5,2040 # 200077f8 2dec: 4705 li a4,1 2dee: 1141 addi sp,sp,-16 2df0: cbc8 sw a0,20(a5) 2df2: db94 sw a3,48(a5) 2df4: dbd0 sw a2,52(a5) 2df6: df8c sw a1,56(a5) 2df8: d7d8 sw a4,44(a5) 2dfa: 0141 addi sp,sp,16 2dfc: 8082 ret 00002dfe : LwipArpCheck(): 2dfe: 200087b7 lui a5,0x20008 2e02: 4705 li a4,1 2e04: 82e7aa23 sw a4,-1996(a5) # 20007834 2e08: 8082 ret 00002e0a : find_entry(): 2e0a: be6fd2ef jal t0,1f0 <__riscv_save_0> 2e0e: 200087b7 lui a5,0x20008 2e12: 8487a603 lw a2,-1976(a5) # 20007848 2e16: 8201a683 lw a3,-2016(gp) # 20000040 2e1a: 01861713 slli a4,a2,0x18 2e1e: 8761 srai a4,a4,0x18 2e20: 14050c63 beqz a0,2f78 2e24: 8d81c783 lbu a5,-1832(gp) # 200000f8 2e28: 4861 li a6,24 2e2a: 4889 li a7,2 2e2c: 03078833 mul a6,a5,a6 2e30: 9836 add a6,a6,a3 2e32: 00c82303 lw t1,12(a6) 2e36: 15131163 bne t1,a7,2f78 2e3a: 00154303 lbu t1,1(a0) 2e3e: 00054883 lbu a7,0(a0) 2e42: 00082803 lw a6,0(a6) 2e46: 0322 slli t1,t1,0x8 2e48: 01136333 or t1,t1,a7 2e4c: 00254883 lbu a7,2(a0) 2e50: 08c2 slli a7,a7,0x10 2e52: 0068e333 or t1,a7,t1 2e56: 00354883 lbu a7,3(a0) 2e5a: 08e2 slli a7,a7,0x18 2e5c: 0068e8b3 or a7,a7,t1 2e60: 11089c63 bne a7,a6,2f78 2e64: 07e2 slli a5,a5,0x18 2e66: 87e1 srai a5,a5,0x18 2e68: 853e mv a0,a5 2e6a: baafd06f j 214 <__riscv_restore_0> 2e6e: 025788b3 mul a7,a5,t0 2e72: 98b6 add a7,a7,a3 2e74: 00c8ae03 lw t3,12(a7) # 800c 2e78: 07061a63 bne a2,a6,2eec 2e7c: 060e1863 bnez t3,2eec 2e80: 01879813 slli a6,a5,0x18 2e84: 41885813 srai a6,a6,0x18 2e88: 0785 addi a5,a5,1 2e8a: 07c2 slli a5,a5,0x10 2e8c: 83c1 srli a5,a5,0x10 2e8e: fec7e0e3 bltu a5,a2,2e6e 2e92: 01061763 bne a2,a6,2ea0 2e96: 0015f893 andi a7,a1,1 2e9a: 57fd li a5,-1 2e9c: fc0886e3 beqz a7,2e68 2ea0: 8989 andi a1,a1,2 2ea2: 57fd li a5,-1 2ea4: f1f1 bnez a1,2e68 2ea6: 01081793 slli a5,a6,0x10 2eaa: 00c86b63 bltu a6,a2,2ec0 2eae: 01031793 slli a5,t1,0x10 2eb2: 00c36763 bltu t1,a2,2ec0 2eb6: 57fd li a5,-1 2eb8: fac778e3 bgeu a4,a2,2e68 2ebc: 01071793 slli a5,a4,0x10 2ec0: 83c1 srli a5,a5,0x10 2ec2: 4761 li a4,24 2ec4: 02e78733 mul a4,a5,a4 2ec8: 96ba add a3,a3,a4 2eca: 0006a623 sw zero,12(a3) 2ece: cd01 beqz a0,2ee6 2ed0: 3110 lbu a2,1(a0) 2ed2: 2118 lbu a4,0(a0) 2ed4: 0622 slli a2,a2,0x8 2ed6: 8e59 or a2,a2,a4 2ed8: 2138 lbu a4,2(a0) 2eda: 0742 slli a4,a4,0x10 2edc: 8e59 or a2,a2,a4 2ede: 3138 lbu a4,3(a0) 2ee0: 0762 slli a4,a4,0x18 2ee2: 8f51 or a4,a4,a2 2ee4: c298 sw a4,0(a3) 2ee6: 00069823 sh zero,16(a3) 2eea: a80d j 2f1c 2eec: 047e1463 bne t3,t2,2f34 2ef0: c90d beqz a0,2f22 2ef2: 00154e83 lbu t4,1(a0) 2ef6: 00054e03 lbu t3,0(a0) 2efa: 0ea2 slli t4,t4,0x8 2efc: 01ceeeb3 or t4,t4,t3 2f00: 00254e03 lbu t3,2(a0) 2f04: 0e42 slli t3,t3,0x10 2f06: 01de6eb3 or t4,t3,t4 2f0a: 00354e03 lbu t3,3(a0) 2f0e: 0e62 slli t3,t3,0x18 2f10: 01de6e33 or t3,t3,t4 2f14: 0008ae83 lw t4,0(a7) 2f18: 01de1563 bne t3,t4,2f22 2f1c: 8cf18c23 sb a5,-1832(gp) # 200000f8 2f20: b791 j 2e64 2f22: 0108d883 lhu a7,16(a7) 2f26: f7e8e1e3 bltu a7,t5,2e88 2f2a: 01879713 slli a4,a5,0x18 2f2e: 8761 srai a4,a4,0x18 2f30: 8f46 mv t5,a7 2f32: bf99 j 2e88 2f34: f48e1ae3 bne t3,s0,2e88 2f38: c515 beqz a0,2f64 2f3a: 00154e83 lbu t4,1(a0) 2f3e: 00054e03 lbu t3,0(a0) 2f42: 0ea2 slli t4,t4,0x8 2f44: 01ceeeb3 or t4,t4,t3 2f48: 00254e03 lbu t3,2(a0) 2f4c: 0e42 slli t3,t3,0x10 2f4e: 01de6eb3 or t4,t3,t4 2f52: 00354e03 lbu t3,3(a0) 2f56: 0e62 slli t3,t3,0x18 2f58: 01de6e33 or t3,t3,t4 2f5c: 0008ae83 lw t4,0(a7) 2f60: fbde0ee3 beq t3,t4,2f1c 2f64: 0108d883 lhu a7,16(a7) 2f68: f3f8e0e3 bltu a7,t6,2e88 2f6c: 01879313 slli t1,a5,0x18 2f70: 41835313 srai t1,t1,0x18 2f74: 8fc6 mv t6,a7 2f76: bf09 j 2e88 2f78: 883a mv a6,a4 2f7a: 833a mv t1,a4 2f7c: 4f81 li t6,0 2f7e: 4f01 li t5,0 2f80: 4781 li a5,0 2f82: 42e1 li t0,24 2f84: 4385 li t2,1 2f86: 4409 li s0,2 2f88: b719 j 2e8e 00002f8a : update_arp_entry(): 2f8a: a4cfd2ef jal t0,1d6 <__riscv_save_4> 2f8e: 3198 lbu a4,1(a1) 2f90: 219c lbu a5,0(a1) 2f92: 8a36 mv s4,a3 2f94: 0722 slli a4,a4,0x8 2f96: 8f5d or a4,a4,a5 2f98: 21bc lbu a5,2(a1) 2f9a: 4154 lw a3,4(a0) 2f9c: 07c2 slli a5,a5,0x10 2f9e: 8f5d or a4,a4,a5 2fa0: 31bc lbu a5,3(a1) 2fa2: 07e2 slli a5,a5,0x18 2fa4: 8fd9 or a5,a5,a4 2fa6: 00f69b63 bne a3,a5,2fbc 2faa: e689 bnez a3,2fb4 2fac: 57d9 li a5,-10 2fae: 853e mv a0,a5 2fb0: a5afd06f j 20a <__riscv_restore_4> 2fb4: 4505 li a0,1 2fb6: fd1fe0ef jal ra,1f86 2fba: bfcd j 2fac 2fbc: dbe5 beqz a5,2fac 2fbe: 842e mv s0,a1 2fc0: 892a mv s2,a0 2fc2: 85aa mv a1,a0 2fc4: 8522 mv a0,s0 2fc6: 89b2 mv s3,a2 2fc8: 4b9000ef jal ra,3c80 2fcc: f165 bnez a0,2fac 2fce: 301c lbu a5,1(s0) 2fd0: 2004 lbu s1,0(s0) 2fd2: f0000537 lui a0,0xf0000 2fd6: 07a2 slli a5,a5,0x8 2fd8: 8fc5 or a5,a5,s1 2fda: 2024 lbu s1,2(s0) 2fdc: 04c2 slli s1,s1,0x10 2fde: 8fc5 or a5,a5,s1 2fe0: 3024 lbu s1,3(s0) 2fe2: 04e2 slli s1,s1,0x18 2fe4: 8cdd or s1,s1,a5 2fe6: 019000ef jal ra,37fe 2fea: 8ce9 and s1,s1,a0 2fec: e0000537 lui a0,0xe0000 2ff0: 00f000ef jal ra,37fe 2ff4: faa48ce3 beq s1,a0,2fac 2ff8: 85d2 mv a1,s4 2ffa: 8522 mv a0,s0 2ffc: e0fff0ef jal ra,2e0a 3000: 87aa mv a5,a0 3002: fa0546e3 bltz a0,2fae 3006: 47e1 li a5,24 3008: 02f507b3 mul a5,a0,a5 300c: 8201a503 lw a0,-2016(gp) # 20000040 3010: 953e add a0,a0,a5 3012: 4789 li a5,2 3014: c55c sw a5,12(a0) 3016: 01252a23 sw s2,20(a0) # e0000014 <_eusrstack+0xbffe0014> 301a: 00598793 addi a5,s3,5 301e: 00950713 addi a4,a0,9 3022: 2394 lbu a3,0(a5) 3024: 177d addi a4,a4,-1 3026: b314 sb a3,1(a4) 3028: fff78693 addi a3,a5,-1 302c: 00f99663 bne s3,a5,3038 3030: 00051823 sh zero,16(a0) 3034: 4781 li a5,0 3036: bfa5 j 2fae 3038: 87b6 mv a5,a3 303a: b7e5 j 3022 0000303c : etharp_ip_input(): 303c: cd21 beqz a0,3094 303e: 9b2fd2ef jal t0,1f0 <__riscv_save_0> 3042: 41c4 lw s1,4(a1) 3044: 842a mv s0,a0 3046: 34dc lbu a5,13(s1) 3048: 24c8 lbu a0,12(s1) 304a: 07a2 slli a5,a5,0x8 304c: 8d5d or a0,a0,a5 304e: 770000ef jal ra,37be 3052: 67a1 lui a5,0x8 3054: 10078793 addi a5,a5,256 # 8100 3058: 01248593 addi a1,s1,18 305c: 00f50463 beq a0,a5,3064 3060: 00e48593 addi a1,s1,14 3064: 35d8 lbu a4,13(a1) 3066: 25dc lbu a5,12(a1) 3068: 0722 slli a4,a4,0x8 306a: 8f5d or a4,a4,a5 306c: 25fc lbu a5,14(a1) 306e: 07c2 slli a5,a5,0x10 3070: 8f5d or a4,a4,a5 3072: 35fc lbu a5,15(a1) 3074: 07e2 slli a5,a5,0x18 3076: 8fd9 or a5,a5,a4 3078: 4058 lw a4,4(s0) 307a: 8fb9 xor a5,a5,a4 307c: 4418 lw a4,8(s0) 307e: 8ff9 and a5,a5,a4 3080: eb81 bnez a5,3090 3082: 4681 li a3,0 3084: 00648613 addi a2,s1,6 3088: 05b1 addi a1,a1,12 308a: 8522 mv a0,s0 308c: effff0ef jal ra,2f8a 3090: 984fd06f j 214 <__riscv_restore_0> 3094: 8082 ret 00003096 : etharp_arp_input(): 3096: 16050763 beqz a0,3204 309a: 93cfd2ef jal t0,1d6 <__riscv_save_4> 309e: 263a lhu a4,10(a2) 30a0: 02900793 li a5,41 30a4: 1141 addi sp,sp,-16 30a6: 89b2 mv s3,a2 30a8: 8a2e mv s4,a1 30aa: 84aa mv s1,a0 30ac: 00e7e863 bltu a5,a4,30bc 30b0: 854e mv a0,s3 30b2: 2fd010ef jal ra,4bae 30b6: 0141 addi sp,sp,16 30b8: 952fd06f j 20a <__riscv_restore_4> 30bc: 00462903 lw s2,4(a2) 30c0: 00d94783 lbu a5,13(s2) 30c4: 00c94503 lbu a0,12(s2) 30c8: 01290413 addi s0,s2,18 30cc: 07a2 slli a5,a5,0x8 30ce: 8d5d or a0,a0,a5 30d0: 6ee000ef jal ra,37be 30d4: 67a1 lui a5,0x8 30d6: 10078793 addi a5,a5,256 # 8100 30da: 00f50463 beq a0,a5,30e2 30de: 00e90413 addi s0,s2,14 30e2: 00144a83 lbu s5,1(s0) 30e6: 201c lbu a5,0(s0) 30e8: 4505 li a0,1 30ea: 0aa2 slli s5,s5,0x8 30ec: 00faeab3 or s5,s5,a5 30f0: 6ce000ef jal ra,37be 30f4: faaa9ee3 bne s5,a0,30b0 30f8: 00544a83 lbu s5,5(s0) 30fc: 205c lbu a5,4(s0) 30fe: 60400513 li a0,1540 3102: 0aa2 slli s5,s5,0x8 3104: 00faeab3 or s5,s5,a5 3108: 6b6000ef jal ra,37be 310c: faaa92e3 bne s5,a0,30b0 3110: 00344a83 lbu s5,3(s0) 3114: 203c lbu a5,2(s0) 3116: 6505 lui a0,0x1 3118: 0aa2 slli s5,s5,0x8 311a: 80050513 addi a0,a0,-2048 # 800 <__stack_size> 311e: 00faeab3 or s5,s5,a5 3122: 69c000ef jal ra,37be 3126: f8aa95e3 bne s5,a0,30b0 312a: 00e40a93 addi s5,s0,14 312e: 4611 li a2,4 3130: 85d6 mv a1,s5 3132: 0068 addi a0,sp,12 3134: 283050ef jal ra,8bb6 3138: 40d4 lw a3,4(s1) 313a: 00840613 addi a2,s0,8 313e: c2ad beqz a3,31a0 3140: 3c18 lbu a4,25(s0) 3142: 2c1c lbu a5,24(s0) 3144: 0722 slli a4,a4,0x8 3146: 8f5d or a4,a4,a5 3148: 2c3c lbu a5,26(s0) 314a: 07c2 slli a5,a5,0x10 314c: 8f5d or a4,a4,a5 314e: 3c3c lbu a5,27(s0) 3150: 07e2 slli a5,a5,0x18 3152: 8fd9 or a5,a5,a4 3154: 04f69663 bne a3,a5,31a0 3158: 4685 li a3,1 315a: 006c addi a1,sp,12 315c: 8526 mv a0,s1 315e: e2dff0ef jal ra,2f8a 3162: 4b05 li s6,1 3164: 307c lbu a5,7(s0) 3166: 2068 lbu a0,6(s0) 3168: 07a2 slli a5,a5,0x8 316a: 8d5d or a0,a0,a5 316c: 2d89 jal 37be 316e: 4785 li a5,1 3170: 02f50f63 beq a0,a5,31ae 3174: 4789 li a5,2 3176: f2f51de3 bne a0,a5,30b0 317a: 006c addi a1,sp,12 317c: 8526 mv a0,s1 317e: 3f8010ef jal ra,4576 3182: 200077b7 lui a5,0x20007 3186: 7807a703 lw a4,1920(a5) # 20007780 318a: f20703e3 beqz a4,30b0 318e: 78078793 addi a5,a5,1920 3192: 47dc lw a5,12(a5) 3194: f0078ee3 beqz a5,30b0 3198: 006c addi a1,sp,12 319a: 8526 mv a0,s1 319c: 9782 jalr a5 319e: bf09 j 30b0 31a0: 4681 li a3,0 31a2: 006c addi a1,sp,12 31a4: 8526 mv a0,s1 31a6: de5ff0ef jal ra,2f8a 31aa: 4b01 li s6,0 31ac: bf65 j 3164 31ae: f00b01e3 beqz s6,30b0 31b2: 4509 li a0,2 31b4: 2529 jal 37be 31b6: a068 sb a0,6(s0) 31b8: 8121 srli a0,a0,0x8 31ba: b068 sb a0,7(s0) 31bc: 4611 li a2,4 31be: 85d6 mv a1,s5 31c0: 01840513 addi a0,s0,24 31c4: 1f3050ef jal ra,8bb6 31c8: 4611 li a2,4 31ca: 00448593 addi a1,s1,4 31ce: 8556 mv a0,s5 31d0: 1e7050ef jal ra,8bb6 31d4: 0435 addi s0,s0,13 31d6: 0915 addi s2,s2,5 31d8: 4795 li a5,5 31da: 56fd li a3,-1 31dc: 2018 lbu a4,0(s0) 31de: 197d addi s2,s2,-1 31e0: 147d addi s0,s0,-1 31e2: b438 sb a4,11(s0) 31e4: 00e900a3 sb a4,1(s2) 31e8: 00fa0733 add a4,s4,a5 31ec: 2318 lbu a4,0(a4) 31ee: 17fd addi a5,a5,-1 31f0: b018 sb a4,1(s0) 31f2: 00e903a3 sb a4,7(s2) 31f6: fed793e3 bne a5,a3,31dc 31fa: 4c9c lw a5,24(s1) 31fc: 85ce mv a1,s3 31fe: 8526 mv a0,s1 3200: 9782 jalr a5 3202: b57d j 30b0 3204: 8082 ret 00003206 : etharp_request(): 3206: fd1fc2ef jal t0,1d6 <__riscv_save_4> 320a: 892a mv s2,a0 320c: 89ae mv s3,a1 320e: 4601 li a2,0 3210: 02a00593 li a1,42 3214: 450d li a0,3 3216: 1e7010ef jal ra,4bfc 321a: 547d li s0,-1 321c: c94d beqz a0,32ce 321e: 4140 lw s0,4(a0) 3220: 84aa mv s1,a0 3222: 4505 li a0,1 3224: 2b69 jal 37be 3226: a848 sb a0,20(s0) 3228: 8121 srli a0,a0,0x8 322a: b848 sb a0,21(s0) 322c: 02e90693 addi a3,s2,46 3230: 00540793 addi a5,s0,5 3234: 4715 li a4,5 3236: 83c18593 addi a1,gp,-1988 # 2000005c 323a: 83418613 addi a2,gp,-1996 # 20000054 323e: 557d li a0,-1 3240: 0006c803 lbu a6,0(a3) 3244: 17fd addi a5,a5,-1 3246: 16fd addi a3,a3,-1 3248: 01078ba3 sb a6,23(a5) 324c: 00e58833 add a6,a1,a4 3250: 00084803 lbu a6,0(a6) 3254: 030780a3 sb a6,33(a5) 3258: 00e60833 add a6,a2,a4 325c: 00084803 lbu a6,0(a6) 3260: 177d addi a4,a4,-1 3262: 010780a3 sb a6,1(a5) 3266: 0016c803 lbu a6,1(a3) 326a: 010783a3 sb a6,7(a5) 326e: fca719e3 bne a4,a0,3240 3272: 4611 li a2,4 3274: 00490593 addi a1,s2,4 3278: 01c40513 addi a0,s0,28 327c: 13b050ef jal ra,8bb6 3280: 85ce mv a1,s3 3282: 4611 li a2,4 3284: 02640513 addi a0,s0,38 3288: 12f050ef jal ra,8bb6 328c: 4505 li a0,1 328e: 2b05 jal 37be 3290: a468 sb a0,14(s0) 3292: 6985 lui s3,0x1 3294: 8121 srli a0,a0,0x8 3296: b468 sb a0,15(s0) 3298: 80098513 addi a0,s3,-2048 # 800 <__stack_size> 329c: 230d jal 37be 329e: a808 sb a0,16(s0) 32a0: 8121 srli a0,a0,0x8 32a2: b808 sb a0,17(s0) 32a4: 60400513 li a0,1540 32a8: 2b19 jal 37be 32aa: a828 sb a0,18(s0) 32ac: 8121 srli a0,a0,0x8 32ae: b828 sb a0,19(s0) 32b0: 80698513 addi a0,s3,-2042 32b4: 2329 jal 37be 32b6: 01892783 lw a5,24(s2) 32ba: a448 sb a0,12(s0) 32bc: 8121 srli a0,a0,0x8 32be: b448 sb a0,13(s0) 32c0: 85a6 mv a1,s1 32c2: 854a mv a0,s2 32c4: 9782 jalr a5 32c6: 842a mv s0,a0 32c8: 8526 mv a0,s1 32ca: 0e5010ef jal ra,4bae 32ce: 8522 mv a0,s0 32d0: f3bfc06f j 20a <__riscv_restore_4> 000032d4 : etharp_tmr(): 32d4: ef5fc2ef jal t0,1c8 <__riscv_save_10> 32d8: 200084b7 lui s1,0x20008 32dc: 4401 li s0,0 32de: 83c48493 addi s1,s1,-1988 # 2000783c 32e2: 4ae1 li s5,24 32e4: 4b89 li s7,2 32e6: 4c05 li s8,1 32e8: 0ff00c93 li s9,255 32ec: 44dc lw a5,12(s1) 32ee: 00f46463 bltu s0,a5,32f6 32f2: f0ffc06f j 200 <__riscv_restore_10> 32f6: 03540933 mul s2,s0,s5 32fa: 82018993 addi s3,gp,-2016 # 20000040 32fe: 0009a583 lw a1,0(s3) 3302: 95ca add a1,a1,s2 3304: 299e lhu a5,16(a1) 3306: 45d8 lw a4,12(a1) 3308: 0785 addi a5,a5,1 330a: 07c2 slli a5,a5,0x10 330c: 83c1 srli a5,a5,0x10 330e: a99e sh a5,16(a1) 3310: 01771a63 bne a4,s7,3324 3314: 8c61d703 lhu a4,-1850(gp) # 200000e6 3318: 00e7fc63 bgeu a5,a4,3330 331c: 0405 addi s0,s0,1 331e: 0ff47413 andi s0,s0,255 3322: b7e9 j 32ec 3324: ff871ce3 bne a4,s8,331c 3328: 8c41c703 lbu a4,-1852(gp) # 200000e4 332c: 00f77563 bgeu a4,a5,3336 3330: 0005a623 sw zero,12(a1) 3334: b7e5 j 331c 3336: 49c8 lw a0,20(a1) 3338: ecfff0ef jal ra,3206 333c: 8c41c783 lbu a5,-1852(gp) # 200000e4 3340: fd979ee3 bne a5,s9,331c 3344: 0009a783 lw a5,0(s3) 3348: 97ca add a5,a5,s2 334a: 00079823 sh zero,16(a5) 334e: b7f9 j 331c 00003350 : etharp_query(): 3350: e87fc2ef jal t0,1d6 <__riscv_save_4> 3354: 842e mv s0,a1 3356: 1141 addi sp,sp,-16 3358: 892a mv s2,a0 335a: 85aa mv a1,a0 335c: 8522 mv a0,s0 335e: 89b2 mv s3,a2 3360: 121000ef jal ra,3c80 3364: c509 beqz a0,336e 3366: 5559 li a0,-10 3368: 0141 addi sp,sp,16 336a: ea1fc06f j 20a <__riscv_restore_4> 336e: 301c lbu a5,1(s0) 3370: 2004 lbu s1,0(s0) 3372: f0000537 lui a0,0xf0000 3376: 07a2 slli a5,a5,0x8 3378: 8fc5 or a5,a5,s1 337a: 2024 lbu s1,2(s0) 337c: 04c2 slli s1,s1,0x10 337e: 8fc5 or a5,a5,s1 3380: 3024 lbu s1,3(s0) 3382: 04e2 slli s1,s1,0x18 3384: 8cdd or s1,s1,a5 3386: 29a5 jal 37fe 3388: 8ce9 and s1,s1,a0 338a: e0000537 lui a0,0xe0000 338e: 2985 jal 37fe 3390: fca48be3 beq s1,a0,3366 3394: 3018 lbu a4,1(s0) 3396: 201c lbu a5,0(s0) 3398: 0722 slli a4,a4,0x8 339a: 8f5d or a4,a4,a5 339c: 203c lbu a5,2(s0) 339e: 07c2 slli a5,a5,0x10 33a0: 8f5d or a4,a4,a5 33a2: 303c lbu a5,3(s0) 33a4: 07e2 slli a5,a5,0x18 33a6: 8fd9 or a5,a5,a4 33a8: dfdd beqz a5,3366 33aa: 4585 li a1,1 33ac: 8522 mv a0,s0 33ae: a5dff0ef jal ra,2e0a 33b2: fa054be3 bltz a0,3368 33b6: 47e1 li a5,24 33b8: 02f504b3 mul s1,a0,a5 33bc: 8201a783 lw a5,-2016(gp) # 20000040 33c0: 82018a13 addi s4,gp,-2016 # 20000040 33c4: 97a6 add a5,a5,s1 33c6: 47d8 lw a4,12(a5) 33c8: c711 beqz a4,33d4 33ca: 557d li a0,-1 33cc: 02099b63 bnez s3,3402 33d0: 4a81 li s5,0 33d2: a031 j 33de 33d4: 4705 li a4,1 33d6: c7d8 sw a4,12(a5) 33d8: 0127aa23 sw s2,20(a5) 33dc: 4a85 li s5,1 33de: a21ff0ef jal ra,2dfe 33e2: 85a2 mv a1,s0 33e4: 854a mv a0,s2 33e6: e21ff0ef jal ra,3206 33ea: ed01 bnez a0,3402 33ec: 000a2783 lw a5,0(s4) 33f0: 4705 li a4,1 33f2: 97a6 add a5,a5,s1 33f4: 47d4 lw a3,12(a5) 33f6: 00e69663 bne a3,a4,3402 33fa: 000a9463 bnez s5,3402 33fe: 00079823 sh zero,16(a5) 3402: 000a2783 lw a5,0(s4) 3406: 97a6 add a5,a5,s1 3408: 47d8 lw a4,12(a5) 340a: 4785 li a5,1 340c: 00f71663 bne a4,a5,3418 3410: c62a sw a0,12(sp) 3412: 9edff0ef jal ra,2dfe 3416: 4532 lw a0,12(sp) 3418: f40988e3 beqz s3,3368 341c: 000a2783 lw a5,0(s4) 3420: 4709 li a4,2 3422: 97a6 add a5,a5,s1 3424: 47d4 lw a3,12(a5) 3426: f4e691e3 bne a3,a4,3368 342a: 0049a403 lw s0,4(s3) 342e: 00978713 addi a4,a5,9 3432: 02e90613 addi a2,s2,46 3436: 00540693 addi a3,s0,5 343a: 078d addi a5,a5,3 343c: 230c lbu a1,0(a4) 343e: 177d addi a4,a4,-1 3440: 16fd addi a3,a3,-1 3442: b28c sb a1,1(a3) 3444: 220c lbu a1,0(a2) 3446: 167d addi a2,a2,-1 3448: b2ec sb a1,7(a3) 344a: fef719e3 bne a4,a5,343c 344e: 6505 lui a0,0x1 3450: 80050513 addi a0,a0,-2048 # 800 <__stack_size> 3454: 26ad jal 37be 3456: 01892783 lw a5,24(s2) 345a: a448 sb a0,12(s0) 345c: 8121 srli a0,a0,0x8 345e: b448 sb a0,13(s0) 3460: 85ce mv a1,s3 3462: 854a mv a0,s2 3464: 9782 jalr a5 3466: b709 j 3368 00003468 : etharp_output(): 3468: d6ffc2ef jal t0,1d6 <__riscv_save_4> 346c: 84ae mv s1,a1 346e: 1141 addi sp,sp,-16 3470: 892a mv s2,a0 3472: 45b9 li a1,14 3474: 8526 mv a0,s1 3476: 8432 mv s0,a2 3478: 6c8010ef jal ra,4b40 347c: 10051e63 bnez a0,3598 3480: 85ca mv a1,s2 3482: 8522 mv a0,s0 3484: 7fc000ef jal ra,3c80 3488: 10051563 bnez a0,3592 348c: 301c lbu a5,1(s0) 348e: 00044983 lbu s3,0(s0) 3492: f0000537 lui a0,0xf0000 3496: 07a2 slli a5,a5,0x8 3498: 0137e7b3 or a5,a5,s3 349c: 00244983 lbu s3,2(s0) 34a0: 09c2 slli s3,s3,0x10 34a2: 00f9e7b3 or a5,s3,a5 34a6: 00344983 lbu s3,3(s0) 34aa: 09e2 slli s3,s3,0x18 34ac: 00f9e9b3 or s3,s3,a5 34b0: 26b9 jal 37fe 34b2: 00a9f9b3 and s3,s3,a0 34b6: e0000537 lui a0,0xe0000 34ba: 2691 jal 37fe 34bc: 2010 lbu a2,0(s0) 34be: 3014 lbu a3,1(s0) 34c0: 2038 lbu a4,2(s0) 34c2: 303c lbu a5,3(s0) 34c4: 08a99c63 bne s3,a0,355c 34c8: 00869513 slli a0,a3,0x8 34cc: 8d51 or a0,a0,a2 34ce: 0742 slli a4,a4,0x10 34d0: 8d59 or a0,a0,a4 34d2: 07e2 slli a5,a5,0x18 34d4: 4585 li a1,1 34d6: 846c sh a1,8(sp) 34d8: 8d5d or a0,a0,a5 34da: 05e00593 li a1,94 34de: 854c sb a1,10(sp) 34e0: 2e39 jal 37fe 34e2: 8141 srli a0,a0,0x10 34e4: 07f57513 andi a0,a0,127 34e8: 85c8 sb a0,11(sp) 34ea: 3008 lbu a0,1(s0) 34ec: 201c lbu a5,0(s0) 34ee: 0522 slli a0,a0,0x8 34f0: 8d5d or a0,a0,a5 34f2: 203c lbu a5,2(s0) 34f4: 07c2 slli a5,a5,0x10 34f6: 8fc9 or a5,a5,a0 34f8: 3028 lbu a0,3(s0) 34fa: 0562 slli a0,a0,0x18 34fc: 8d5d or a0,a0,a5 34fe: 2601 jal 37fe 3500: 8121 srli a0,a0,0x8 3502: 8648 sb a0,12(sp) 3504: 3008 lbu a0,1(s0) 3506: 201c lbu a5,0(s0) 3508: 0522 slli a0,a0,0x8 350a: 8d5d or a0,a0,a5 350c: 203c lbu a5,2(s0) 350e: 07c2 slli a5,a5,0x10 3510: 8fc9 or a5,a5,a0 3512: 3028 lbu a0,3(s0) 3514: 0562 slli a0,a0,0x18 3516: 8d5d or a0,a0,a5 3518: 24dd jal 37fe 351a: 86c8 sb a0,13(sp) 351c: 0034 addi a3,sp,8 351e: 40c0 lw s0,4(s1) 3520: 4795 li a5,5 3522: 567d li a2,-1 3524: 00540713 addi a4,s0,5 3528: 00f685b3 add a1,a3,a5 352c: 218c lbu a1,0(a1) 352e: 177d addi a4,a4,-1 3530: b30c sb a1,1(a4) 3532: 00f905b3 add a1,s2,a5 3536: 0295c583 lbu a1,41(a1) 353a: 17fd addi a5,a5,-1 353c: b36c sb a1,7(a4) 353e: fec795e3 bne a5,a2,3528 3542: 6505 lui a0,0x1 3544: 80050513 addi a0,a0,-2048 # 800 <__stack_size> 3548: 2c9d jal 37be 354a: 01892783 lw a5,24(s2) 354e: a448 sb a0,12(s0) 3550: 8121 srli a0,a0,0x8 3552: b448 sb a0,13(s0) 3554: 85a6 mv a1,s1 3556: 854a mv a0,s2 3558: 9782 jalr a5 355a: a80d j 358c 355c: 06a2 slli a3,a3,0x8 355e: 8ed1 or a3,a3,a2 3560: 0742 slli a4,a4,0x10 3562: 8f55 or a4,a4,a3 3564: 07e2 slli a5,a5,0x18 3566: 8fd9 or a5,a5,a4 3568: 00492703 lw a4,4(s2) 356c: 8fb9 xor a5,a5,a4 356e: 00892703 lw a4,8(s2) 3572: 8ff9 and a5,a5,a4 3574: c799 beqz a5,3582 3576: 00c92783 lw a5,12(s2) 357a: 5571 li a0,-4 357c: cb81 beqz a5,358c 357e: 00c90413 addi s0,s2,12 3582: 8626 mv a2,s1 3584: 85a2 mv a1,s0 3586: 854a mv a0,s2 3588: dc9ff0ef jal ra,3350 358c: 0141 addi sp,sp,16 358e: c7dfc06f j 20a <__riscv_restore_4> 3592: 83418693 addi a3,gp,-1996 # 20000054 3596: b761 j 351e 3598: 5579 li a0,-2 359a: bfcd j 358c 0000359c : ethernet_input(): 359c: c55fc2ef jal t0,1f0 <__riscv_save_0> 35a0: 4144 lw s1,4(a0) 35a2: 842a mv s0,a0 35a4: 892e mv s2,a1 35a6: 34dc lbu a5,13(s1) 35a8: 24c8 lbu a0,12(s1) 35aa: 07a2 slli a5,a5,0x8 35ac: 8d5d or a0,a0,a5 35ae: 2c01 jal 37be 35b0: 67a1 lui a5,0x8 35b2: 10078793 addi a5,a5,256 # 8100 35b6: 00f51763 bne a0,a5,35c4 35ba: 389c lbu a5,17(s1) 35bc: 2888 lbu a0,16(s1) 35be: 07a2 slli a5,a5,0x8 35c0: 8d5d or a0,a0,a5 35c2: 2af5 jal 37be 35c4: 80050793 addi a5,a0,-2048 35c8: cb91 beqz a5,35dc 35ca: 6785 lui a5,0x1 35cc: 80678793 addi a5,a5,-2042 # 806 <__stack_size+0x6> 35d0: 04f50263 beq a0,a5,3614 35d4: 8522 mv a0,s0 35d6: 5d8010ef jal ra,4bae 35da: a815 j 360e 35dc: 85a2 mv a1,s0 35de: 854a mv a0,s2 35e0: a5dff0ef jal ra,303c 35e4: 34dc lbu a5,13(s1) 35e6: 24c8 lbu a0,12(s1) 35e8: 07a2 slli a5,a5,0x8 35ea: 8d5d or a0,a0,a5 35ec: 2ac9 jal 37be 35ee: 67a1 lui a5,0x8 35f0: 10078793 addi a5,a5,256 # 8100 35f4: 45b9 li a1,14 35f6: 00f51363 bne a0,a5,35fc 35fa: 45c9 li a1,18 35fc: 40b005b3 neg a1,a1 3600: 8522 mv a0,s0 3602: 53e010ef jal ra,4b40 3606: f579 bnez a0,35d4 3608: 85ca mv a1,s2 360a: 8522 mv a0,s0 360c: 24a9 jal 3856 360e: 4501 li a0,0 3610: c05fc06f j 214 <__riscv_restore_0> 3614: 8622 mv a2,s0 3616: 02990593 addi a1,s2,41 361a: 854a mv a0,s2 361c: a7bff0ef jal ra,3096 3620: b7fd j 360e 00003622 : ethernetif_init(): 3622: bcffc2ef jal t0,1f0 <__riscv_save_0> 3626: 200077b7 lui a5,0x20007 362a: 79878793 addi a5,a5,1944 # 20007798 362e: d15c sw a5,36(a0) 3630: 06500793 li a5,101 3634: 02f509a3 sb a5,51(a0) 3638: 06e00793 li a5,110 363c: 02f50a23 sb a5,52(a0) 3640: 000037b7 lui a5,0x3 3644: 46878793 addi a5,a5,1128 # 3468 3648: c95c sw a5,20(a0) 364a: 000037b7 lui a5,0x3 364e: 68678793 addi a5,a5,1670 # 3686 3652: cd1c sw a5,24(a0) 3654: 200085b7 lui a1,0x20008 3658: 4799 li a5,6 365a: 842a mv s0,a0 365c: 02f50423 sb a5,40(a0) 3660: 00052e23 sw zero,28(a0) 3664: 4619 li a2,6 3666: 89158593 addi a1,a1,-1903 # 20007891 366a: 02950513 addi a0,a0,41 366e: 548050ef jal ra,8bb6 3672: 5dc00793 li a5,1500 3676: b81e sh a5,48(s0) 3678: 03300793 li a5,51 367c: 02f40923 sb a5,50(s0) 3680: 4501 li a0,0 3682: b93fc06f j 214 <__riscv_restore_0> 00003686 : low_level_output(): 3686: b6bfc2ef jal t0,1f0 <__riscv_save_0> 368a: 64b1 lui s1,0xc 368c: 842e mv s0,a1 368e: 35148493 addi s1,s1,849 # c351 <_data_lma+0x34bd> 3692: e70ff0ef jal ra,2d02 3696: 8911 andi a0,a0,4 3698: cd15 beqz a0,36d4 369a: 14fd addi s1,s1,-1 369c: cc85 beqz s1,36d4 369e: feafe0ef jal ra,1e88 36a2: 892a mv s2,a0 36a4: d57d beqz a0,3692 36a6: 87aa mv a5,a0 36a8: 4481 li s1,0 36aa: e801 bnez s0,36ba 36ac: 85ca mv a1,s2 36ae: 8526 mv a0,s1 36b0: f98fe0ef jal ra,1e48 36b4: 4501 li a0,0 36b6: b5ffc06f j 214 <__riscv_restore_0> 36ba: 2432 lhu a2,10(s0) 36bc: 404c lw a1,4(s0) 36be: 853e mv a0,a5 36c0: 4f6050ef jal ra,8bb6 36c4: 243a lhu a4,10(s0) 36c6: 4000 lw s0,0(s0) 36c8: 94ba add s1,s1,a4 36ca: 04c2 slli s1,s1,0x10 36cc: 00e507b3 add a5,a0,a4 36d0: 80c1 srli s1,s1,0x10 36d2: bfe1 j 36aa 36d4: 5551 li a0,-12 36d6: b7c5 j 36b6 000036d8 : ethernetif_input(): 36d8: afffc2ef jal t0,1d6 <__riscv_save_4> 36dc: 200087b7 lui a5,0x20008 36e0: 8607a783 lw a5,-1952(a5) # 20007860 36e4: 89aa mv s3,a0 36e6: 8dc18513 addi a0,gp,-1828 # 200000fc 36ea: 8dc18493 addi s1,gp,-1828 # 200000fc 36ee: 9782 jalr a5 36f0: 408c lw a1,0(s1) 36f2: c9a9 beqz a1,3744 36f4: 8d01c783 lbu a5,-1840(gp) # 200000f0 36f8: 8dc18413 addi s0,gp,-1828 # 200000fc 36fc: 0ff7f793 andi a5,a5,255 3700: e781 bnez a5,3708 3702: 4785 li a5,1 3704: 8cf18823 sb a5,-1840(gp) # 200000f0 3708: 05c2 slli a1,a1,0x10 370a: 460d li a2,3 370c: 81c1 srli a1,a1,0x10 370e: 450d li a0,3 3710: 4044 lw s1,4(s0) 3712: 4ea010ef jal ra,4bfc 3716: 892a mv s2,a0 3718: c515 beqz a0,3744 371a: 842a mv s0,a0 371c: 2432 lhu a2,10(s0) 371e: 4048 lw a0,4(s0) 3720: 85a6 mv a1,s1 3722: 494050ef jal ra,8bb6 3726: 243e lhu a5,10(s0) 3728: 4000 lw s0,0(s0) 372a: 94be add s1,s1,a5 372c: f865 bnez s0,371c 372e: f08fe0ef jal ra,1e36 3732: 0109a783 lw a5,16(s3) 3736: 85ce mv a1,s3 3738: 854a mv a0,s2 373a: 9782 jalr a5 373c: c501 beqz a0,3744 373e: 854a mv a0,s2 3740: 46e010ef jal ra,4bae 3744: ac7fc06f j 20a <__riscv_restore_4> 00003748 : wch_ethernetif_init(): 3748: aa9fc2ef jal t0,1f0 <__riscv_save_0> 374c: 1141 addi sp,sp,-16 374e: 20008437 lui s0,0x20008 3752: c202 sw zero,4(sp) 3754: c402 sw zero,8(sp) 3756: c602 sw zero,12(sp) 3758: 7a1000ef jal ra,46f8 375c: 86840513 addi a0,s0,-1944 # 20007868 3760: 200085b7 lui a1,0x20008 3764: 4619 li a2,6 3766: 80458593 addi a1,a1,-2044 # 20007804 376a: 02950513 addi a0,a0,41 376e: 448050ef jal ra,8bb6 3772: 200077b7 lui a5,0x20007 3776: 7f87a703 lw a4,2040(a5) # 200077f8 377a: 7f878793 addi a5,a5,2040 377e: 86840513 addi a0,s0,-1944 3782: c23a sw a4,4(sp) 3784: 4798 lw a4,8(a5) 3786: 43dc lw a5,4(a5) 3788: c43a sw a4,8(sp) 378a: c63e sw a5,12(sp) 378c: 8e01ae23 sw zero,-1796(gp) # 2000011c 3790: 8e01ac23 sw zero,-1800(gp) # 20000118 3794: 39e010ef jal ra,4b32 3798: 00003837 lui a6,0x3 379c: 000037b7 lui a5,0x3 37a0: 0074 addi a3,sp,12 37a2: 0030 addi a2,sp,8 37a4: 004c addi a1,sp,4 37a6: 59c80813 addi a6,a6,1436 # 359c 37aa: 62278793 addi a5,a5,1570 # 3622 37ae: 4701 li a4,0 37b0: 86840513 addi a0,s0,-1944 37b4: 324010ef jal ra,4ad8 37b8: 0141 addi sp,sp,16 37ba: a5bfc06f j 214 <__riscv_restore_0> 000037be : htons(): 37be: 00851793 slli a5,a0,0x8 37c2: 8121 srli a0,a0,0x8 37c4: 8d5d or a0,a0,a5 37c6: 0542 slli a0,a0,0x10 37c8: 8141 srli a0,a0,0x10 37ca: 8082 ret 000037cc : ntohs(): 37cc: 00851793 slli a5,a0,0x8 37d0: 8121 srli a0,a0,0x8 37d2: 8d5d or a0,a0,a5 37d4: 0542 slli a0,a0,0x10 37d6: 8141 srli a0,a0,0x10 37d8: 8082 ret 000037da : htonl(): 37da: 01855713 srli a4,a0,0x18 37de: 01851793 slli a5,a0,0x18 37e2: 8fd9 or a5,a5,a4 37e4: 00ff06b7 lui a3,0xff0 37e8: 00851713 slli a4,a0,0x8 37ec: 8f75 and a4,a4,a3 37ee: 8fd9 or a5,a5,a4 37f0: 6741 lui a4,0x10 37f2: f0070713 addi a4,a4,-256 # ff00 <_data_lma+0x706c> 37f6: 8121 srli a0,a0,0x8 37f8: 8d79 and a0,a0,a4 37fa: 8d5d or a0,a0,a5 37fc: 8082 ret 000037fe : ntohl(): 37fe: 9f3fc2ef jal t0,1f0 <__riscv_save_0> 3802: fd9ff0ef jal ra,37da 3806: a0ffc06f j 214 <__riscv_restore_0> 0000380a : ip_route(): 380a: 9e7fc2ef jal t0,1f0 <__riscv_save_0> 380e: 8fc1a403 lw s0,-1796(gp) # 2000011c 3812: 84aa mv s1,a0 3814: ec01 bnez s0,382c 3816: 8f81a503 lw a0,-1800(gp) # 20000118 381a: c511 beqz a0,3826 381c: 31c010ef jal ra,4b38 3820: c119 beqz a0,3826 3822: 8f81a403 lw s0,-1800(gp) # 20000118 3826: 8522 mv a0,s0 3828: 9edfc06f j 214 <__riscv_restore_0> 382c: 8522 mv a0,s0 382e: 30a010ef jal ra,4b38 3832: c105 beqz a0,3852 3834: 3098 lbu a4,1(s1) 3836: 209c lbu a5,0(s1) 3838: 0722 slli a4,a4,0x8 383a: 8f5d or a4,a4,a5 383c: 20bc lbu a5,2(s1) 383e: 07c2 slli a5,a5,0x10 3840: 8f5d or a4,a4,a5 3842: 30bc lbu a5,3(s1) 3844: 07e2 slli a5,a5,0x18 3846: 8fd9 or a5,a5,a4 3848: 4058 lw a4,4(s0) 384a: 8fb9 xor a5,a5,a4 384c: 4418 lw a4,8(s0) 384e: 8ff9 and a5,a5,a4 3850: dbf9 beqz a5,3826 3852: 4000 lw s0,0(s0) 3854: b7c1 j 3814 00003856 : ip_input(): 3856: 973fc2ef jal t0,1c8 <__riscv_save_10> 385a: 4140 lw s0,4(a0) 385c: 84aa mv s1,a0 385e: 89ae mv s3,a1 3860: 301c lbu a5,1(s0) 3862: 2008 lbu a0,0(s0) 3864: 07a2 slli a5,a5,0x8 3866: 8d5d or a0,a0,a5 3868: f65ff0ef jal ra,37cc 386c: 8131 srli a0,a0,0xc 386e: 0542 slli a0,a0,0x10 3870: 8141 srli a0,a0,0x10 3872: 4791 li a5,4 3874: 00f50663 beq a0,a5,3880 3878: 8526 mv a0,s1 387a: 334010ef jal ra,4bae 387e: a431 j 3a8a 3880: 301c lbu a5,1(s0) 3882: 2008 lbu a0,0(s0) 3884: 07a2 slli a5,a5,0x8 3886: 8d5d or a0,a0,a5 3888: f45ff0ef jal ra,37cc 388c: 8119 srli a0,a0,0x6 388e: 303c lbu a5,3(s0) 3890: 03c57a13 andi s4,a0,60 3894: 2028 lbu a0,2(s0) 3896: 07a2 slli a5,a5,0x8 3898: 8d5d or a0,a0,a5 389a: f33ff0ef jal ra,37cc 389e: 24be lhu a5,10(s1) 38a0: 892a mv s2,a0 38a2: fd47ebe3 bltu a5,s4,3878 38a6: 249e lhu a5,8(s1) 38a8: fca7e8e3 bltu a5,a0,3878 38ac: 85d2 mv a1,s4 38ae: 8522 mv a0,s0 38b0: 4bf040ef jal ra,856e 38b4: f171 bnez a0,3878 38b6: 85ca mv a1,s2 38b8: 8526 mv a0,s1 38ba: 482010ef jal ra,4d3c 38be: f0000537 lui a0,0xf0000 38c2: f3dff0ef jal ra,37fe 38c6: e0000537 lui a0,0xe0000 38ca: f35ff0ef jal ra,37fe 38ce: 894e mv s2,s3 38d0: 4b05 li s6,1 38d2: 01040b93 addi s7,s0,16 38d6: 854a mv a0,s2 38d8: 260010ef jal ra,4b38 38dc: e511 bnez a0,38e8 38de: 120b1363 bnez s6,3a04 38e2: 00092903 lw s2,0(s2) 38e6: a20d j 3a08 38e8: 00490793 addi a5,s2,4 38ec: dbed beqz a5,38de 38ee: 00492683 lw a3,4(s2) 38f2: d6f5 beqz a3,38de 38f4: 3818 lbu a4,17(s0) 38f6: 281c lbu a5,16(s0) 38f8: 0722 slli a4,a4,0x8 38fa: 8f5d or a4,a4,a5 38fc: 283c lbu a5,18(s0) 38fe: 07c2 slli a5,a5,0x10 3900: 8f5d or a4,a4,a5 3902: 383c lbu a5,19(s0) 3904: 07e2 slli a5,a5,0x18 3906: 8fd9 or a5,a5,a4 3908: 04f68263 beq a3,a5,394c 390c: 85ca mv a1,s2 390e: 855e mv a0,s7 3910: 2e85 jal 3c80 3912: ed0d bnez a0,394c 3914: 381c lbu a5,17(s0) 3916: 01044a83 lbu s5,16(s0) 391a: f0000537 lui a0,0xf0000 391e: 07a2 slli a5,a5,0x8 3920: 0157e7b3 or a5,a5,s5 3924: 01244a83 lbu s5,18(s0) 3928: 0ac2 slli s5,s5,0x10 392a: 00fae7b3 or a5,s5,a5 392e: 01344a83 lbu s5,19(s0) 3932: 0ae2 slli s5,s5,0x18 3934: 00faeab3 or s5,s5,a5 3938: ec7ff0ef jal ra,37fe 393c: 00aafab3 and s5,s5,a0 3940: e0000537 lui a0,0xe0000 3944: ebbff0ef jal ra,37fe 3948: f8aa9be3 bne s5,a0,38de 394c: 3458 lbu a4,13(s0) 394e: 245c lbu a5,12(s0) 3950: 0722 slli a4,a4,0x8 3952: 8f5d or a4,a4,a5 3954: 247c lbu a5,14(s0) 3956: 07c2 slli a5,a5,0x10 3958: 8f5d or a4,a4,a5 395a: 347c lbu a5,15(s0) 395c: 07e2 slli a5,a5,0x18 395e: 8fd9 or a5,a5,a4 3960: c3b9 beqz a5,39a6 3962: 85ce mv a1,s3 3964: 00c40513 addi a0,s0,12 3968: 2e21 jal 3c80 396a: f00517e3 bnez a0,3878 396e: 345c lbu a5,13(s0) 3970: 00c44a03 lbu s4,12(s0) 3974: f0000537 lui a0,0xf0000 3978: 07a2 slli a5,a5,0x8 397a: 0147e7b3 or a5,a5,s4 397e: 00e44a03 lbu s4,14(s0) 3982: 0a42 slli s4,s4,0x10 3984: 00fa67b3 or a5,s4,a5 3988: 00f44a03 lbu s4,15(s0) 398c: 0a62 slli s4,s4,0x18 398e: 00fa6a33 or s4,s4,a5 3992: e6dff0ef jal ra,37fe 3996: 00aa7a33 and s4,s4,a0 399a: e0000537 lui a0,0xe0000 399e: e61ff0ef jal ra,37fe 39a2: ecaa0be3 beq s4,a0,3878 39a6: ec0909e3 beqz s2,3878 39aa: 00744903 lbu s2,7(s0) 39ae: 2068 lbu a0,6(s0) 39b0: 0922 slli s2,s2,0x8 39b2: 00a96933 or s2,s2,a0 39b6: 6511 lui a0,0x4 39b8: 157d addi a0,a0,-1 39ba: e05ff0ef jal ra,37be 39be: 00a97533 and a0,s2,a0 39c2: c511 beqz a0,39ce 39c4: 8526 mv a0,s1 39c6: 26ed jal 3db0 39c8: 84aa mv s1,a0 39ca: c161 beqz a0,3a8a 39cc: 4140 lw s0,4(a0) 39ce: 85ce mv a1,s3 39d0: 8526 mv a0,s1 39d2: 4aa010ef jal ra,4e7c 39d6: e955 bnez a0,3a8a 39d8: 341c lbu a5,9(s0) 39da: 2408 lbu a0,8(s0) 39dc: 07a2 slli a5,a5,0x8 39de: 8d5d or a0,a0,a5 39e0: dedff0ef jal ra,37cc 39e4: 0ff57513 andi a0,a0,255 39e8: 4799 li a5,6 39ea: 0af50363 beq a0,a5,3a90 39ee: 47c5 li a5,17 39f0: 08f50963 beq a0,a5,3a82 39f4: 4785 li a5,1 39f6: 0af51263 bne a0,a5,3a9a 39fa: 85ce mv a1,s3 39fc: 8526 mv a0,s1 39fe: 770040ef jal ra,816e 3a02: a061 j 3a8a 3a04: 8fc1a903 lw s2,-1796(gp) # 2000011c 3a08: 01391463 bne s2,s3,3a10 3a0c: 00092903 lw s2,0(s2) 3a10: 4b01 li s6,0 3a12: ec0912e3 bnez s2,38d6 3a16: 341c lbu a5,9(s0) 3a18: 2408 lbu a0,8(s0) 3a1a: 07a2 slli a5,a5,0x8 3a1c: 8d5d or a0,a0,a5 3a1e: dafff0ef jal ra,37cc 3a22: 0ff57513 andi a0,a0,255 3a26: 47c5 li a5,17 3a28: 00f51e63 bne a0,a5,3a44 3a2c: 014407b3 add a5,s0,s4 3a30: 23a8 lbu a0,2(a5) 3a32: 33bc lbu a5,3(a5) 3a34: 07a2 slli a5,a5,0x8 3a36: 8d5d or a0,a0,a5 3a38: d95ff0ef jal ra,37cc 3a3c: 04400793 li a5,68 3a40: 02f50d63 beq a0,a5,3a7a 3a44: 4a85 li s5,1 3a46: 341c lbu a5,9(s0) 3a48: 2408 lbu a0,8(s0) 3a4a: 07a2 slli a5,a5,0x8 3a4c: 8d5d or a0,a0,a5 3a4e: d7fff0ef jal ra,37cc 3a52: 0ff57513 andi a0,a0,255 3a56: 47c5 li a5,17 3a58: 08f51963 bne a0,a5,3aea 3a5c: 9a22 add s4,s4,s0 3a5e: 003a4783 lbu a5,3(s4) 3a62: 002a4503 lbu a0,2(s4) 3a66: 07a2 slli a5,a5,0x8 3a68: 8d5d or a0,a0,a5 3a6a: d63ff0ef jal ra,37cc 3a6e: 76c00793 li a5,1900 3a72: 06f51c63 bne a0,a5,3aea 3a76: 894e mv s2,s3 3a78: b73d j 39a6 3a7a: f20998e3 bnez s3,39aa 3a7e: 4a81 li s5,0 3a80: b7d9 j 3a46 3a82: 85ce mv a1,s3 3a84: 8526 mv a0,s1 3a86: 1e2040ef jal ra,7c68 3a8a: 4501 li a0,0 3a8c: f74fc06f j 200 <__riscv_restore_10> 3a90: 85ce mv a1,s3 3a92: 8526 mv a0,s1 3a94: 321020ef jal ra,65b4 3a98: bfcd j 3a8a 3a9a: 85ce mv a1,s3 3a9c: 01040513 addi a0,s0,16 3aa0: 22c5 jal 3c80 3aa2: dc051be3 bnez a0,3878 3aa6: 381c lbu a5,17(s0) 3aa8: 01044903 lbu s2,16(s0) 3aac: f0000537 lui a0,0xf0000 3ab0: 07a2 slli a5,a5,0x8 3ab2: 0127e7b3 or a5,a5,s2 3ab6: 01244903 lbu s2,18(s0) 3aba: 0942 slli s2,s2,0x10 3abc: 00f967b3 or a5,s2,a5 3ac0: 01344903 lbu s2,19(s0) 3ac4: 0962 slli s2,s2,0x18 3ac6: 00f96933 or s2,s2,a5 3aca: d35ff0ef jal ra,37fe 3ace: 00a97933 and s2,s2,a0 3ad2: e0000537 lui a0,0xe0000 3ad6: d29ff0ef jal ra,37fe 3ada: d8a90fe3 beq s2,a0,3878 3ade: c0c0 sw s0,4(s1) 3ae0: 4589 li a1,2 3ae2: 8526 mv a0,s1 3ae4: 0db040ef jal ra,83be 3ae8: bb41 j 3878 3aea: e60a91e3 bnez s5,394c 3aee: b369 j 3878 00003af0 : ip_output_if(): 3af0: ed8fc2ef jal t0,1c8 <__riscv_save_10> 3af4: 89aa mv s3,a0 3af6: 8942 mv s2,a6 3af8: 12060f63 beqz a2,3c36 3afc: 8aae mv s5,a1 3afe: 45d1 li a1,20 3b00: 8a3a mv s4,a4 3b02: 84b2 mv s1,a2 3b04: 8bb6 mv s7,a3 3b06: 8b3e mv s6,a5 3b08: 038010ef jal ra,4b40 3b0c: 5779 li a4,-2 3b0e: 12051163 bnez a0,3c30 3b12: 0049a403 lw s0,4(s3) 3b16: 0ba2 slli s7,s7,0x8 3b18: 341c lbu a5,9(s0) 3b1a: 2408 lbu a0,8(s0) 3b1c: 07a2 slli a5,a5,0x8 3b1e: 8d5d or a0,a0,a5 3b20: cadff0ef jal ra,37cc 3b24: 0ff57513 andi a0,a0,255 3b28: 01756533 or a0,a0,s7 3b2c: c93ff0ef jal ra,37be 3b30: 00855713 srli a4,a0,0x8 3b34: b418 sb a4,9(s0) 3b36: a408 sb a0,8(s0) 3b38: c95ff0ef jal ra,37cc 3b3c: 8121 srli a0,a0,0x8 3b3e: 0542 slli a0,a0,0x10 3b40: 8141 srli a0,a0,0x10 3b42: 0522 slli a0,a0,0x8 3b44: 01656533 or a0,a0,s6 3b48: 0542 slli a0,a0,0x10 3b4a: 8141 srli a0,a0,0x10 3b4c: c73ff0ef jal ra,37be 3b50: 3098 lbu a4,1(s1) 3b52: 209c lbu a5,0(s1) 3b54: a408 sb a0,8(s0) 3b56: 0722 slli a4,a4,0x8 3b58: 8f5d or a4,a4,a5 3b5a: 20bc lbu a5,2(s1) 3b5c: 8121 srli a0,a0,0x8 3b5e: b408 sb a0,9(s0) 3b60: 07c2 slli a5,a5,0x10 3b62: 8f5d or a4,a4,a5 3b64: 30bc lbu a5,3(s1) 3b66: 6511 lui a0,0x4 3b68: 50050513 addi a0,a0,1280 # 4500 3b6c: 07e2 slli a5,a5,0x18 3b6e: 8fd9 or a5,a5,a4 3b70: 0087d713 srli a4,a5,0x8 3b74: a81c sb a5,16(s0) 3b76: b818 sb a4,17(s0) 3b78: 0107d713 srli a4,a5,0x10 3b7c: 83e1 srli a5,a5,0x18 3b7e: b83c sb a5,19(s0) 3b80: a838 sb a4,18(s0) 3b82: 00aa6533 or a0,s4,a0 3b86: c39ff0ef jal ra,37be 3b8a: a008 sb a0,0(s0) 3b8c: 8121 srli a0,a0,0x8 3b8e: b008 sb a0,1(s0) 3b90: 0089d503 lhu a0,8(s3) 3b94: 8e418a13 addi s4,gp,-1820 # 20000104 3b98: c27ff0ef jal ra,37be 3b9c: a028 sb a0,2(s0) 3b9e: 8121 srli a0,a0,0x8 3ba0: b028 sb a0,3(s0) 3ba2: 000a5503 lhu a0,0(s4) 3ba6: 00040323 sb zero,6(s0) 3baa: 000403a3 sb zero,7(s0) 3bae: c11ff0ef jal ra,37be 3bb2: 000a5783 lhu a5,0(s4) 3bb6: a048 sb a0,4(s0) 3bb8: 8121 srli a0,a0,0x8 3bba: 0785 addi a5,a5,1 3bbc: b048 sb a0,5(s0) 3bbe: 00fa1023 sh a5,0(s4) 3bc2: 020a8163 beqz s5,3be4 3bc6: 001ac703 lbu a4,1(s5) 3bca: 000ac783 lbu a5,0(s5) 3bce: 0722 slli a4,a4,0x8 3bd0: 8f5d or a4,a4,a5 3bd2: 002ac783 lbu a5,2(s5) 3bd6: 07c2 slli a5,a5,0x10 3bd8: 8f5d or a4,a4,a5 3bda: 003ac783 lbu a5,3(s5) 3bde: 07e2 slli a5,a5,0x18 3be0: 8fd9 or a5,a5,a4 3be2: e799 bnez a5,3bf0 3be4: 00490713 addi a4,s2,4 3be8: 4781 li a5,0 3bea: c319 beqz a4,3bf0 3bec: 00492783 lw a5,4(s2) 3bf0: 0087d713 srli a4,a5,0x8 3bf4: a45c sb a5,12(s0) 3bf6: b458 sb a4,13(s0) 3bf8: 0107d713 srli a4,a5,0x10 3bfc: 83e1 srli a5,a5,0x18 3bfe: a478 sb a4,14(s0) 3c00: b47c sb a5,15(s0) 3c02: 00040523 sb zero,10(s0) 3c06: 000405a3 sb zero,11(s0) 3c0a: 45d1 li a1,20 3c0c: 8522 mv a0,s0 3c0e: 161040ef jal ra,856e 3c12: a428 sb a0,10(s0) 3c14: 8121 srli a0,a0,0x8 3c16: b428 sb a0,11(s0) 3c18: 03095783 lhu a5,48(s2) 3c1c: c385 beqz a5,3c3c 3c1e: 0089d703 lhu a4,8(s3) 3c22: 00e7fd63 bgeu a5,a4,3c3c 3c26: 8626 mv a2,s1 3c28: 85ca mv a1,s2 3c2a: 854e mv a0,s3 3c2c: 2385 jal 418c 3c2e: 872a mv a4,a0 3c30: 853a mv a0,a4 3c32: dcefc06f j 200 <__riscv_restore_10> 3c36: 4144 lw s1,4(a0) 3c38: 04c1 addi s1,s1,16 3c3a: bff9 j 3c18 3c3c: 01492783 lw a5,20(s2) 3c40: 8626 mv a2,s1 3c42: 85ce mv a1,s3 3c44: 854a mv a0,s2 3c46: 9782 jalr a5 3c48: b7dd j 3c2e 00003c4a : ip_output(): 3c4a: da6fc2ef jal t0,1f0 <__riscv_save_0> 3c4e: 1101 addi sp,sp,-32 3c50: 842a mv s0,a0 3c52: 8532 mv a0,a2 3c54: ce2e sw a1,28(sp) 3c56: cc36 sw a3,24(sp) 3c58: ca3a sw a4,20(sp) 3c5a: c83e sw a5,16(sp) 3c5c: c632 sw a2,12(sp) 3c5e: badff0ef jal ra,380a 3c62: cd09 beqz a0,3c7c 3c64: 47c2 lw a5,16(sp) 3c66: 4752 lw a4,20(sp) 3c68: 46e2 lw a3,24(sp) 3c6a: 4632 lw a2,12(sp) 3c6c: 45f2 lw a1,28(sp) 3c6e: 882a mv a6,a0 3c70: 8522 mv a0,s0 3c72: e7fff0ef jal ra,3af0 3c76: 6105 addi sp,sp,32 3c78: d9cfc06f j 214 <__riscv_restore_0> 3c7c: 5571 li a0,-4 3c7e: bfe5 j 3c76 00003c80 : ip_addr_isbroadcast(): 3c80: 3118 lbu a4,1(a0) 3c82: 211c lbu a5,0(a0) 3c84: 0722 slli a4,a4,0x8 3c86: 8f5d or a4,a4,a5 3c88: 213c lbu a5,2(a0) 3c8a: 07c2 slli a5,a5,0x10 3c8c: 8f5d or a4,a4,a5 3c8e: 313c lbu a5,3(a0) 3c90: 07e2 slli a5,a5,0x18 3c92: 8fd9 or a5,a5,a4 3c94: fff78693 addi a3,a5,-1 3c98: 5775 li a4,-3 3c9a: 02d76663 bltu a4,a3,3cc6 3c9e: 0325c703 lbu a4,50(a1) 3ca2: 4501 li a0,0 3ca4: 8b09 andi a4,a4,2 3ca6: c30d beqz a4,3cc8 3ca8: 41d8 lw a4,4(a1) 3caa: 00f70f63 beq a4,a5,3cc8 3cae: 4594 lw a3,8(a1) 3cb0: 8f3d xor a4,a4,a5 3cb2: 8f75 and a4,a4,a3 3cb4: eb11 bnez a4,3cc8 3cb6: fff6c513 not a0,a3 3cba: 8fe9 and a5,a5,a0 3cbc: 40a78533 sub a0,a5,a0 3cc0: 00153513 seqz a0,a0 3cc4: 8082 ret 3cc6: 4505 li a0,1 3cc8: 8082 ret 00003cca : ip_reass_tmr(): 3cca: cfefc2ef jal t0,1c8 <__riscv_save_10> 3cce: 8e81a403 lw s0,-1816(gp) # 20000108 3cd2: 44c5 li s1,17 3cd4: 4b01 li s6,0 3cd6: 8e818913 addi s2,gp,-1816 # 20000108 3cda: e019 bnez s0,3ce0 3cdc: d24fc06f j 200 <__riscv_restore_10> 3ce0: 14fd addi s1,s1,-1 3ce2: 0ff4f493 andi s1,s1,255 3ce6: d8fd beqz s1,3cdc 3ce8: 3c7c lbu a5,31(s0) 3cea: 00042c03 lw s8,0(s0) 3cee: c791 beqz a5,3cfa 3cf0: 17fd addi a5,a5,-1 3cf2: bc7c sb a5,31(s0) 3cf4: 8b22 mv s6,s0 3cf6: 8462 mv s0,s8 3cf8: b7cd j 3cda 3cfa: 00442983 lw s3,4(s0) 3cfe: 4a81 li s5,0 3d00: 0049a503 lw a0,4(s3) 3d04: 315c lbu a5,5(a0) 3d06: 2158 lbu a4,4(a0) 3d08: 07a2 slli a5,a5,0x8 3d0a: 8fd9 or a5,a5,a4 3d0c: ef85 bnez a5,3d44 3d0e: 3118 lbu a4,1(a0) 3d10: 211c lbu a5,0(a0) 3d12: 4651 li a2,20 3d14: 0722 slli a4,a4,0x8 3d16: 8f5d or a4,a4,a5 3d18: 213c lbu a5,2(a0) 3d1a: 00840593 addi a1,s0,8 3d1e: 07c2 slli a5,a5,0x10 3d20: 8f5d or a4,a4,a5 3d22: 313c lbu a5,3(a0) 3d24: 07e2 slli a5,a5,0x18 3d26: 8fd9 or a5,a5,a4 3d28: c05c sw a5,4(s0) 3d2a: 68d040ef jal ra,8bb6 3d2e: 4585 li a1,1 3d30: 854e mv a0,s3 3d32: 6a0040ef jal ra,83d2 3d36: 854e mv a0,s3 3d38: 05c010ef jal ra,4d94 3d3c: 8aaa mv s5,a0 3d3e: 854e mv a0,s3 3d40: 66f000ef jal ra,4bae 3d44: 00442983 lw s3,4(s0) 3d48: 02099663 bnez s3,3d74 3d4c: 00092703 lw a4,0(s2) 3d50: 401c lw a5,0(s0) 3d52: 04e41c63 bne s0,a4,3daa 3d56: 00f92023 sw a5,0(s2) 3d5a: 85a2 mv a1,s0 3d5c: 4515 li a0,5 3d5e: 47f000ef jal ra,49dc 3d62: 8e618713 addi a4,gp,-1818 # 20000106 3d66: 231e lhu a5,0(a4) 3d68: 845a mv s0,s6 3d6a: 41578ab3 sub s5,a5,s5 3d6e: 01571023 sh s5,0(a4) 3d72: b749 j 3cf4 3d74: 0049a703 lw a4,4(s3) 3d78: 854e mv a0,s3 3d7a: 331c lbu a5,1(a4) 3d7c: 00074a03 lbu s4,0(a4) 3d80: 07a2 slli a5,a5,0x8 3d82: 0147e7b3 or a5,a5,s4 3d86: 00274a03 lbu s4,2(a4) 3d8a: 0a42 slli s4,s4,0x10 3d8c: 00fa67b3 or a5,s4,a5 3d90: 00374a03 lbu s4,3(a4) 3d94: 0a62 slli s4,s4,0x18 3d96: 00fa6a33 or s4,s4,a5 3d9a: 7fb000ef jal ra,4d94 3d9e: 9aaa add s5,s5,a0 3da0: 854e mv a0,s3 3da2: 60d000ef jal ra,4bae 3da6: 89d2 mv s3,s4 3da8: b745 j 3d48 3daa: 00fb2023 sw a5,0(s6) 3dae: b775 j 3d5a 00003db0 : ip_reass(): 3db0: c18fc2ef jal t0,1c8 <__riscv_save_10> 3db4: 4144 lw s1,4(a0) 3db6: 892a mv s2,a0 3db8: 309c lbu a5,1(s1) 3dba: 2088 lbu a0,0(s1) 3dbc: 07a2 slli a5,a5,0x8 3dbe: 8d5d or a0,a0,a5 3dc0: a0dff0ef jal ra,37cc 3dc4: 8119 srli a0,a0,0x6 3dc6: 03c57513 andi a0,a0,60 3dca: 47d1 li a5,20 3dcc: 26f51263 bne a0,a5,4030 3dd0: 30fc lbu a5,7(s1) 3dd2: 20e8 lbu a0,6(s1) 3dd4: 07a2 slli a5,a5,0x8 3dd6: 8d5d or a0,a0,a5 3dd8: 9f5ff0ef jal ra,37cc 3ddc: 30bc lbu a5,3(s1) 3dde: 8b2a mv s6,a0 3de0: 20a8 lbu a0,2(s1) 3de2: 07a2 slli a5,a5,0x8 3de4: 8d5d or a0,a0,a5 3de6: 9e7ff0ef jal ra,37cc 3dea: 309c lbu a5,1(s1) 3dec: 8caa mv s9,a0 3dee: 2088 lbu a0,0(s1) 3df0: 07a2 slli a5,a5,0x8 3df2: 8d5d or a0,a0,a5 3df4: 9d9ff0ef jal ra,37cc 3df8: 8c2a mv s8,a0 3dfa: 854a mv a0,s2 3dfc: 799000ef jal ra,4d94 3e00: 200087b7 lui a5,0x20008 3e04: 84c7a783 lw a5,-1972(a5) # 2000784c 3e08: 8e61d703 lhu a4,-1818(gp) # 20000106 3e0c: 8d2a mv s10,a0 3e0e: 838d srli a5,a5,0x3 3e10: 972a add a4,a4,a0 3e12: 8bfd andi a5,a5,31 3e14: 8e618993 addi s3,gp,-1818 # 20000106 3e18: 20e7ec63 bltu a5,a4,4030 3e1c: 8e81a403 lw s0,-1816(gp) # 20000108 3e20: 4a81 li s5,0 3e22: 8e818a13 addi s4,gp,-1816 # 20000108 3e26: e81d bnez s0,3e5c 3e28: 4515 li a0,5 3e2a: 393000ef jal ra,49bc 3e2e: 842a mv s0,a0 3e30: 20050063 beqz a0,4030 3e34: 4671 li a2,28 3e36: 4581 li a1,0 3e38: 00440513 addi a0,s0,4 3e3c: be4fc0ef jal ra,220 3e40: 478d li a5,3 3e42: bc7c sb a5,31(s0) 3e44: 000a2783 lw a5,0(s4) 3e48: 008a2023 sw s0,0(s4) 3e4c: c01c sw a5,0(s0) 3e4e: 4651 li a2,20 3e50: 85a6 mv a1,s1 3e52: 00840513 addi a0,s0,8 3e56: 561040ef jal ra,8bb6 3e5a: ac95 j 40ce 3e5c: 34d8 lbu a4,13(s1) 3e5e: 24dc lbu a5,12(s1) 3e60: 0722 slli a4,a4,0x8 3e62: 8f5d or a4,a4,a5 3e64: 24fc lbu a5,14(s1) 3e66: 07c2 slli a5,a5,0x10 3e68: 8f5d or a4,a4,a5 3e6a: 34fc lbu a5,15(s1) 3e6c: 07e2 slli a5,a5,0x18 3e6e: 8fd9 or a5,a5,a4 3e70: 4858 lw a4,20(s0) 3e72: 02f71663 bne a4,a5,3e9e 3e76: 3898 lbu a4,17(s1) 3e78: 289c lbu a5,16(s1) 3e7a: 0722 slli a4,a4,0x8 3e7c: 8f5d or a4,a4,a5 3e7e: 28bc lbu a5,18(s1) 3e80: 07c2 slli a5,a5,0x10 3e82: 8f5d or a4,a4,a5 3e84: 38bc lbu a5,19(s1) 3e86: 07e2 slli a5,a5,0x18 3e88: 8fd9 or a5,a5,a4 3e8a: 4c18 lw a4,24(s0) 3e8c: 00f71963 bne a4,a5,3e9e 3e90: 30dc lbu a5,5(s1) 3e92: 20d4 lbu a3,4(s1) 3e94: 245a lhu a4,12(s0) 3e96: 07a2 slli a5,a5,0x8 3e98: 8fd5 or a5,a5,a3 3e9a: 20f70663 beq a4,a5,40a6 3e9e: 8aa2 mv s5,s0 3ea0: 4000 lw s0,0(s0) 3ea2: b751 j 3e26 3ea4: 42cc lw a1,4(a3) 3ea6: 0055c803 lbu a6,5(a1) 3eaa: 0045c303 lbu t1,4(a1) 3eae: 0822 slli a6,a6,0x8 3eb0: 00686833 or a6,a6,t1 3eb4: 0d067c63 bgeu a2,a6,3f8c 3eb8: 0086d593 srli a1,a3,0x8 3ebc: a394 sb a3,0(a5) 3ebe: b38c sb a1,1(a5) 3ec0: 0106d593 srli a1,a3,0x10 3ec4: 82e1 srli a3,a3,0x18 3ec6: a3ac sb a1,2(a5) 3ec8: b3b4 sb a3,3(a5) 3eca: 2a070e63 beqz a4,4186 3ece: 3374 lbu a3,7(a4) 3ed0: 236c lbu a1,6(a4) 3ed2: 06a2 slli a3,a3,0x8 3ed4: 8ecd or a3,a3,a1 3ed6: 14d66463 bltu a2,a3,401e 3eda: 14a86263 bltu a6,a0,401e 3ede: 00895693 srli a3,s2,0x8 3ee2: 01270023 sb s2,0(a4) 3ee6: b314 sb a3,1(a4) 3ee8: 01095693 srli a3,s2,0x10 3eec: 01895913 srli s2,s2,0x18 3ef0: a334 sb a3,2(a4) 3ef2: 012701a3 sb s2,3(a4) 3ef6: 2c78 lbu a4,30(s0) 3ef8: 4b01 li s6,0 3efa: 8b05 andi a4,a4,1 3efc: 18070f63 beqz a4,409a 3f00: 18088d63 beqz a7,409a 3f04: 4058 lw a4,4(s0) 3f06: 4344 lw s1,4(a4) 3f08: 30d8 lbu a4,5(s1) 3f0a: 20d4 lbu a3,4(s1) 3f0c: 0722 slli a4,a4,0x8 3f0e: 8f55 or a4,a4,a3 3f10: 18071563 bnez a4,409a 3f14: 3394 lbu a3,1(a5) 3f16: 2398 lbu a4,0(a5) 3f18: 06a2 slli a3,a3,0x8 3f1a: 8ed9 or a3,a3,a4 3f1c: 23b8 lbu a4,2(a5) 3f1e: 0742 slli a4,a4,0x10 3f20: 8ed9 or a3,a3,a4 3f22: 33b8 lbu a4,3(a5) 3f24: 0762 slli a4,a4,0x18 3f26: 8f55 or a4,a4,a3 3f28: e761 bnez a4,3ff0 3f2a: 2c5e lhu a5,28(s0) 3f2c: 0004c903 lbu s2,0(s1) 3f30: 4651 li a2,20 3f32: 07d1 addi a5,a5,20 3f34: ac5e sh a5,28(s0) 3f36: 309c lbu a5,1(s1) 3f38: 00840593 addi a1,s0,8 3f3c: 8526 mv a0,s1 3f3e: 07a2 slli a5,a5,0x8 3f40: 0127e7b3 or a5,a5,s2 3f44: 0024c903 lbu s2,2(s1) 3f48: 0942 slli s2,s2,0x10 3f4a: 00f967b3 or a5,s2,a5 3f4e: 0034c903 lbu s2,3(s1) 3f52: 0962 slli s2,s2,0x18 3f54: 00f96933 or s2,s2,a5 3f58: 45f040ef jal ra,8bb6 3f5c: 2c4a lhu a0,28(s0) 3f5e: 861ff0ef jal ra,37be 3f62: a0a8 sb a0,2(s1) 3f64: 8121 srli a0,a0,0x8 3f66: b0a8 sb a0,3(s1) 3f68: 00048323 sb zero,6(s1) 3f6c: 000483a3 sb zero,7(s1) 3f70: 00048523 sb zero,10(s1) 3f74: 000485a3 sb zero,11(s1) 3f78: 45d1 li a1,20 3f7a: 8526 mv a0,s1 3f7c: 5f2040ef jal ra,856e 3f80: a4a8 sb a0,10(s1) 3f82: 8121 srli a0,a0,0x8 3f84: b4a8 sb a0,11(s1) 3f86: 00442b03 lw s6,4(s0) 3f8a: a0d5 j 406e 3f8c: 09060963 beq a2,a6,401e 3f90: 31f4 lbu a3,7(a1) 3f92: 0065c303 lbu t1,6(a1) 3f96: 06a2 slli a3,a3,0x8 3f98: 0066e6b3 or a3,a3,t1 3f9c: 08d66163 bltu a2,a3,401e 3fa0: cb01 beqz a4,3fb0 3fa2: 2374 lbu a3,6(a4) 3fa4: 3378 lbu a4,7(a4) 3fa6: 0722 slli a4,a4,0x8 3fa8: 8f55 or a4,a4,a3 3faa: 00e80363 beq a6,a4,3fb0 3fae: 4881 li a7,0 3fb0: 3198 lbu a4,1(a1) 3fb2: 2194 lbu a3,0(a1) 3fb4: 0722 slli a4,a4,0x8 3fb6: 8f55 or a4,a4,a3 3fb8: 21b4 lbu a3,2(a1) 3fba: 06c2 slli a3,a3,0x10 3fbc: 8f55 or a4,a4,a3 3fbe: 31b4 lbu a3,3(a1) 3fc0: 06e2 slli a3,a3,0x18 3fc2: 8ed9 or a3,a3,a4 3fc4: 872e mv a4,a1 3fc6: aa65 j 417e 3fc8: 00895693 srli a3,s2,0x8 3fcc: 01270023 sb s2,0(a4) 3fd0: b314 sb a3,1(a4) 3fd2: 01095693 srli a3,s2,0x10 3fd6: 01895913 srli s2,s2,0x18 3fda: a334 sb a3,2(a4) 3fdc: 012701a3 sb s2,3(a4) 3fe0: 2374 lbu a3,6(a4) 3fe2: 3378 lbu a4,7(a4) 3fe4: 0722 slli a4,a4,0x8 3fe6: 8f55 or a4,a4,a3 3fe8: f0e607e3 beq a2,a4,3ef6 3fec: 4881 li a7,0 3fee: b721 j 3ef6 3ff0: 4354 lw a3,4(a4) 3ff2: 23ec lbu a1,6(a5) 3ff4: 33f8 lbu a4,7(a5) 3ff6: 32dc lbu a5,5(a3) 3ff8: 22d0 lbu a2,4(a3) 3ffa: 0722 slli a4,a4,0x8 3ffc: 07a2 slli a5,a5,0x8 3ffe: 8f4d or a4,a4,a1 4000: 8fd1 or a5,a5,a2 4002: 02f71a63 bne a4,a5,4036 4006: 329c lbu a5,1(a3) 4008: 2298 lbu a4,0(a3) 400a: 07a2 slli a5,a5,0x8 400c: 8fd9 or a5,a5,a4 400e: 22b8 lbu a4,2(a3) 4010: 0742 slli a4,a4,0x10 4012: 8fd9 or a5,a5,a4 4014: 32b8 lbu a4,3(a3) 4016: 0762 slli a4,a4,0x18 4018: 8f5d or a4,a4,a5 401a: 87b6 mv a5,a3 401c: b731 j 3f28 401e: 854a mv a0,s2 4020: 575000ef jal ra,4d94 4024: 0009d783 lhu a5,0(s3) 4028: 40a78533 sub a0,a5,a0 402c: 00a99023 sh a0,0(s3) 4030: 854a mv a0,s2 4032: 37d000ef jal ra,4bae 4036: 4b01 li s6,0 4038: a08d j 409a 403a: 55b1 li a1,-20 403c: 854a mv a0,s2 403e: 00492483 lw s1,4(s2) 4042: 2ff000ef jal ra,4b40 4046: 85ca mv a1,s2 4048: 855a mv a0,s6 404a: 567000ef jal ra,4db0 404e: 309c lbu a5,1(s1) 4050: 0004c903 lbu s2,0(s1) 4054: 07a2 slli a5,a5,0x8 4056: 0127e7b3 or a5,a5,s2 405a: 0024c903 lbu s2,2(s1) 405e: 0942 slli s2,s2,0x10 4060: 00f967b3 or a5,s2,a5 4064: 0034c903 lbu s2,3(s1) 4068: 0962 slli s2,s2,0x18 406a: 00f96933 or s2,s2,a5 406e: fc0916e3 bnez s2,403a 4072: 000a2703 lw a4,0(s4) 4076: 401c lw a5,0(s0) 4078: 02e41463 bne s0,a4,40a0 407c: 00fa2023 sw a5,0(s4) 4080: 85a2 mv a1,s0 4082: 4515 li a0,5 4084: 159000ef jal ra,49dc 4088: 855a mv a0,s6 408a: 50b000ef jal ra,4d94 408e: 0009d783 lhu a5,0(s3) 4092: 40a78533 sub a0,a5,a0 4096: 00a99023 sh a0,0(s3) 409a: 855a mv a0,s6 409c: 964fc06f j 200 <__riscv_restore_10> 40a0: 00faa023 sw a5,0(s5) 40a4: bff1 j 4080 40a6: 30fc lbu a5,7(s1) 40a8: 20e8 lbu a0,6(s1) 40aa: 6b89 lui s7,0x2 40ac: 07a2 slli a5,a5,0x8 40ae: 8d5d or a0,a0,a5 40b0: f1cff0ef jal ra,37cc 40b4: 1bfd addi s7,s7,-1 40b6: 01757533 and a0,a0,s7 40ba: 0542 slli a0,a0,0x10 40bc: 8141 srli a0,a0,0x10 40be: e901 bnez a0,40ce 40c0: 246a lhu a0,14(s0) 40c2: f0aff0ef jal ra,37cc 40c6: 01757533 and a0,a0,s7 40ca: d80512e3 bnez a0,3e4e 40ce: 0009d783 lhu a5,0(s3) 40d2: 9d3e add s10,s10,a5 40d4: 01a99023 sh s10,0(s3) 40d8: 30fc lbu a5,7(s1) 40da: 20e8 lbu a0,6(s1) 40dc: 07a2 slli a5,a5,0x8 40de: 8d5d or a0,a0,a5 40e0: eecff0ef jal ra,37cc 40e4: 01251793 slli a5,a0,0x12 40e8: 0207c263 bltz a5,410c 40ec: 013b1513 slli a0,s6,0x13 40f0: 2c7c lbu a5,30(s0) 40f2: 814d srli a0,a0,0x13 40f4: 050e slli a0,a0,0x3 40f6: 006c5c13 srli s8,s8,0x6 40fa: 9566 add a0,a0,s9 40fc: 03cc7c13 andi s8,s8,60 4100: 0017e793 ori a5,a5,1 4104: 41850533 sub a0,a0,s8 4108: ac7c sb a5,30(s0) 410a: ac4a sh a0,28(s0) 410c: 00492483 lw s1,4(s2) 4110: 30bc lbu a5,3(s1) 4112: 20a8 lbu a0,2(s1) 4114: 07a2 slli a5,a5,0x8 4116: 8d5d or a0,a0,a5 4118: eb4ff0ef jal ra,37cc 411c: 309c lbu a5,1(s1) 411e: 8b2a mv s6,a0 4120: 2088 lbu a0,0(s1) 4122: 07a2 slli a5,a5,0x8 4124: 8d5d or a0,a0,a5 4126: ea6ff0ef jal ra,37cc 412a: 30fc lbu a5,7(s1) 412c: 8baa mv s7,a0 412e: 20e8 lbu a0,6(s1) 4130: 07a2 slli a5,a5,0x8 4132: 006bdb93 srli s7,s7,0x6 4136: 8d5d or a0,a0,a5 4138: e94ff0ef jal ra,37cc 413c: 054e slli a0,a0,0x13 413e: 814d srli a0,a0,0x13 4140: 00351613 slli a2,a0,0x3 4144: 00cb0533 add a0,s6,a2 4148: 03cbfb13 andi s6,s7,60 414c: 00492783 lw a5,4(s2) 4150: 41650533 sub a0,a0,s6 4154: 0542 slli a0,a0,0x10 4156: 00865713 srli a4,a2,0x8 415a: 8141 srli a0,a0,0x10 415c: 4054 lw a3,4(s0) 415e: b3d8 sb a4,5(a5) 4160: 00855713 srli a4,a0,0x8 4164: b3f8 sb a4,7(a5) 4166: 00078023 sb zero,0(a5) 416a: 000780a3 sb zero,1(a5) 416e: 00078123 sb zero,2(a5) 4172: 000781a3 sb zero,3(a5) 4176: a3d0 sb a2,4(a5) 4178: a3e8 sb a0,6(a5) 417a: 4885 li a7,1 417c: 4701 li a4,0 417e: d20693e3 bnez a3,3ea4 4182: e40713e3 bnez a4,3fc8 4186: 01242223 sw s2,4(s0) 418a: b3b5 j 3ef6 0000418c : ip_frag(): 418c: 834fc2ef jal t0,1c0 <__riscv_save_12> 4190: 00452c03 lw s8,4(a0) 4194: 1101 addi sp,sp,-32 4196: ca32 sw a2,20(sp) 4198: 007c4703 lbu a4,7(s8) 419c: 8daa mv s11,a0 419e: 006c4503 lbu a0,6(s8) 41a2: 0722 slli a4,a4,0x8 41a4: 0305db83 lhu s7,48(a1) 41a8: 8d59 or a0,a0,a4 41aa: 8cae mv s9,a1 41ac: e20ff0ef jal ra,37cc 41b0: 6689 lui a3,0x2 41b2: 00d577b3 and a5,a0,a3 41b6: fecb8a13 addi s4,s7,-20 # 1fec 41ba: 46a1 li a3,8 41bc: 02da4a33 div s4,s4,a3 41c0: 008dd483 lhu s1,8(s11) 41c4: 6709 lui a4,0x2 41c6: 177d addi a4,a4,-1 41c8: c63e sw a5,12(sp) 41ca: 00e57933 and s2,a0,a4 41ce: 14b1 addi s1,s1,-20 41d0: 0942 slli s2,s2,0x10 41d2: 04c2 slli s1,s1,0x10 41d4: 01095913 srli s2,s2,0x10 41d8: 80c1 srli s1,s1,0x10 41da: 4401 li s0,0 41dc: 4d51 li s10,20 41de: cc3a sw a4,24(sp) 41e0: 0a42 slli s4,s4,0x10 41e2: 010a5a13 srli s4,s4,0x10 41e6: 003a1693 slli a3,s4,0x3 41ea: 01069793 slli a5,a3,0x10 41ee: 83c1 srli a5,a5,0x10 41f0: c83e sw a5,16(sp) 41f2: fedb8793 addi a5,s7,-19 41f6: ce3e sw a5,28(sp) 41f8: e489 bnez s1,4202 41fa: 4501 li a0,0 41fc: 6105 addi sp,sp,32 41fe: ffffb06f j 1fc <__riscv_restore_12> 4202: 47e2 lw a5,24(sp) 4204: 8aa6 mv s5,s1 4206: 00f97b33 and s6,s2,a5 420a: 47b2 lw a5,12(sp) 420c: 0167eb33 or s6,a5,s6 4210: 47f2 lw a5,28(sp) 4212: 00f4c663 blt s1,a5,421e 4216: 4ac2 lw s5,16(sp) 4218: 6789 lui a5,0x2 421a: 00fb6b33 or s6,s6,a5 421e: 4601 li a2,0 4220: 45d1 li a1,20 4222: 4509 li a0,2 4224: 1d9000ef jal ra,4bfc 4228: 89aa mv s3,a0 422a: c939 beqz a0,4280 422c: 4148 lw a0,4(a0) 422e: 4651 li a2,20 4230: 85e2 mv a1,s8 4232: 185040ef jal ra,8bb6 4236: 004da603 lw a2,4(s11) 423a: 0049ab83 lw s7,4(s3) 423e: 966a add a2,a2,s10 4240: 00cda223 sw a2,4(s11) 4244: 00add603 lhu a2,10(s11) 4248: 41a606b3 sub a3,a2,s10 424c: 00dd9523 sh a3,10(s11) 4250: 8d56 mv s10,s5 4252: 040d0963 beqz s10,42a4 4256: 00add403 lhu s0,10(s11) 425a: 008d7363 bgeu s10,s0,4260 425e: 846a mv s0,s10 4260: 0442 slli s0,s0,0x10 4262: 8041 srli s0,s0,0x10 4264: e401 bnez s0,426c 4266: 000dad83 lw s11,0(s11) 426a: b7e5 j 4252 426c: 4581 li a1,0 426e: 4609 li a2,2 4270: 450d li a0,3 4272: 18b000ef jal ra,4bfc 4276: 85aa mv a1,a0 4278: e511 bnez a0,4284 427a: 854e mv a0,s3 427c: 133000ef jal ra,4bae 4280: 557d li a0,-1 4282: bfad j 41fc 4284: 004da603 lw a2,4(s11) 4288: a502 sh s0,8(a0) 428a: a522 sh s0,10(a0) 428c: c150 sw a2,4(a0) 428e: 854e mv a0,s3 4290: 321000ef jal ra,4db0 4294: 408d06b3 sub a3,s10,s0 4298: 01069d13 slli s10,a3,0x10 429c: 010d5d13 srli s10,s10,0x10 42a0: fc0d13e3 bnez s10,4266 42a4: 855a mv a0,s6 42a6: d18ff0ef jal ra,37be 42aa: 00ab8323 sb a0,6(s7) 42ae: 8121 srli a0,a0,0x8 42b0: 00ab83a3 sb a0,7(s7) 42b4: 014a8513 addi a0,s5,20 42b8: 0542 slli a0,a0,0x10 42ba: 8141 srli a0,a0,0x10 42bc: d02ff0ef jal ra,37be 42c0: 00ab8123 sb a0,2(s7) 42c4: 8121 srli a0,a0,0x8 42c6: 00ab81a3 sb a0,3(s7) 42ca: 45d1 li a1,20 42cc: 000b8523 sb zero,10(s7) 42d0: 000b85a3 sb zero,11(s7) 42d4: 855e mv a0,s7 42d6: 298040ef jal ra,856e 42da: 014ca703 lw a4,20(s9) 42de: 4652 lw a2,20(sp) 42e0: 00ab8523 sb a0,10(s7) 42e4: 8121 srli a0,a0,0x8 42e6: 00ab85a3 sb a0,11(s7) 42ea: 85ce mv a1,s3 42ec: 8566 mv a0,s9 42ee: 9702 jalr a4 42f0: 415484b3 sub s1,s1,s5 42f4: 9952 add s2,s2,s4 42f6: 854e mv a0,s3 42f8: 04c2 slli s1,s1,0x10 42fa: 0942 slli s2,s2,0x10 42fc: 0b3000ef jal ra,4bae 4300: 80c1 srli s1,s1,0x10 4302: 01095913 srli s2,s2,0x10 4306: 8d22 mv s10,s0 4308: bdc5 j 41f8 0000430a : dhcp_set_state(): 430a: 293c lbu a5,18(a0) 430c: 00b78963 beq a5,a1,431e 4310: 200077b7 lui a5,0x20007 4314: a92c sb a1,18(a0) 4316: 000509a3 sb zero,19(a0) 431a: 7807a223 sw zero,1924(a5) # 20007784 431e: 8082 ret 00004320 : dhcp_option(): 4320: 2d5e lhu a5,28(a0) 4322: 4d18 lw a4,24(a0) 4324: 00f706b3 add a3,a4,a5 4328: 0eb68823 sb a1,240(a3) # 20f0 432c: 00278693 addi a3,a5,2 4330: 0785 addi a5,a5,1 4332: 07c2 slli a5,a5,0x10 4334: 83c1 srli a5,a5,0x10 4336: ad56 sh a3,28(a0) 4338: 97ba add a5,a5,a4 433a: 0ec78823 sb a2,240(a5) 433e: 8082 ret 00004340 : dhcp_option_byte(): 4340: 2d5a lhu a4,28(a0) 4342: 4d1c lw a5,24(a0) 4344: 00170693 addi a3,a4,1 # 2001 4348: ad56 sh a3,28(a0) 434a: 97ba add a5,a5,a4 434c: 0eb78823 sb a1,240(a5) 4350: 8082 ret 00004352 : dhcp_option_long(): 4352: 2d5e lhu a5,28(a0) 4354: 4d18 lw a4,24(a0) 4356: 0185d613 srli a2,a1,0x18 435a: 00f706b3 add a3,a4,a5 435e: 0ec68823 sb a2,240(a3) 4362: 00178693 addi a3,a5,1 4366: 06c2 slli a3,a3,0x10 4368: 82c1 srli a3,a3,0x10 436a: 96ba add a3,a3,a4 436c: 0105d613 srli a2,a1,0x10 4370: 0ec68823 sb a2,240(a3) 4374: 00278693 addi a3,a5,2 4378: 06c2 slli a3,a3,0x10 437a: 82c1 srli a3,a3,0x10 437c: 96ba add a3,a3,a4 437e: 0085d613 srli a2,a1,0x8 4382: 0ec68823 sb a2,240(a3) 4386: 00478693 addi a3,a5,4 438a: 078d addi a5,a5,3 438c: 07c2 slli a5,a5,0x10 438e: 83c1 srli a5,a5,0x10 4390: ad56 sh a3,28(a0) 4392: 97ba add a5,a5,a4 4394: 0eb78823 sb a1,240(a5) 4398: 8082 ret 0000439a : dhcp_option_trailer(): 439a: c115 beqz a0,43be 439c: 2d5e lhu a5,28(a0) 439e: 4d18 lw a4,24(a0) 43a0: 04300613 li a2,67 43a4: 00178693 addi a3,a5,1 43a8: ad56 sh a3,28(a0) 43aa: 97ba add a5,a5,a4 43ac: 56fd li a3,-1 43ae: 0ed78823 sb a3,240(a5) 43b2: 2d5e lhu a5,28(a0) 43b4: 00f67663 bgeu a2,a5,43c0 43b8: 0037f693 andi a3,a5,3 43bc: e291 bnez a3,43c0 43be: 8082 ret 43c0: 00178693 addi a3,a5,1 43c4: ad56 sh a3,28(a0) 43c6: 97ba add a5,a5,a4 43c8: 0e078823 sb zero,240(a5) 43cc: b7dd j 43b2 000043ce : dhcp_create_request(): 43ce: 18050263 beqz a0,4552 43d2: e1ffb2ef jal t0,1f0 <__riscv_save_0> 43d6: 5104 lw s1,32(a0) 43d8: 57dd li a5,-9 43da: 16048963 beqz s1,454c 43de: 892a mv s2,a0 43e0: 4601 li a2,0 43e2: 13400593 li a1,308 43e6: 4501 li a0,0 43e8: 015000ef jal ra,4bfc 43ec: c8c8 sw a0,20(s1) 43ee: 872a mv a4,a0 43f0: 57fd li a5,-1 43f2: 14050d63 beqz a0,454c 43f6: 38bc lbu a5,19(s1) 43f8: ef99 bnez a5,4416 43fa: 28bc lbu a5,18(s1) 43fc: 4605 li a2,1 43fe: 00c78c63 beq a5,a2,4416 4402: 17f1 addi a5,a5,-4 4404: 0ff7f793 andi a5,a5,255 4408: 00f67763 bgeu a2,a5,4416 440c: 81c1a783 lw a5,-2020(gp) # 2000003c 4410: 0785 addi a5,a5,1 4412: 80f1ae23 sw a5,-2020(gp) # 2000003c 4416: 4340 lw s0,4(a4) 4418: 81c1a503 lw a0,-2020(gp) # 2000003c 441c: 4785 li a5,1 441e: cc80 sw s0,24(s1) 4420: c088 sw a0,0(s1) 4422: a01c sb a5,0(s0) 4424: b01c sb a5,1(s0) 4426: 4799 li a5,6 4428: a03c sb a5,2(s0) 442a: 000401a3 sb zero,3(s0) 442e: bacff0ef jal ra,37da 4432: 00855793 srli a5,a0,0x8 4436: a048 sb a0,4(s0) 4438: b05c sb a5,5(s0) 443a: 01055793 srli a5,a0,0x10 443e: 8161 srli a0,a0,0x18 4440: a07c sb a5,6(s0) 4442: b068 sb a0,7(s0) 4444: 4c80 lw s0,24(s1) 4446: 4729 li a4,10 4448: 00040423 sb zero,8(s0) 444c: 000404a3 sb zero,9(s0) 4450: 00040523 sb zero,10(s0) 4454: 000405a3 sb zero,11(s0) 4458: 00040623 sb zero,12(s0) 445c: 000406a3 sb zero,13(s0) 4460: 00040723 sb zero,14(s0) 4464: 000407a3 sb zero,15(s0) 4468: 28bc lbu a5,18(s1) 446a: 00e78863 beq a5,a4,447a 446e: 17f1 addi a5,a5,-4 4470: 0ff7f793 andi a5,a5,255 4474: 4705 li a4,1 4476: 00f76e63 bltu a4,a5,4492 447a: 00494783 lbu a5,4(s2) 447e: a45c sb a5,12(s0) 4480: 00594783 lbu a5,5(s2) 4484: b45c sb a5,13(s0) 4486: 00694783 lbu a5,6(s2) 448a: a47c sb a5,14(s0) 448c: 00794783 lbu a5,7(s2) 4490: b47c sb a5,15(s0) 4492: 00040823 sb zero,16(s0) 4496: 000408a3 sb zero,17(s0) 449a: 00040923 sb zero,18(s0) 449e: 000409a3 sb zero,19(s0) 44a2: 00040a23 sb zero,20(s0) 44a6: 00040aa3 sb zero,21(s0) 44aa: 00040b23 sb zero,22(s0) 44ae: 00040ba3 sb zero,23(s0) 44b2: 00040c23 sb zero,24(s0) 44b6: 00040ca3 sb zero,25(s0) 44ba: 00040d23 sb zero,26(s0) 44be: 00040da3 sb zero,27(s0) 44c2: 02894583 lbu a1,40(s2) 44c6: 4781 li a5,0 44c8: 4641 li a2,16 44ca: 01079713 slli a4,a5,0x10 44ce: 8341 srli a4,a4,0x10 44d0: 4681 li a3,0 44d2: 00b77663 bgeu a4,a1,44de 44d6: 00f90733 add a4,s2,a5 44da: 02974683 lbu a3,41(a4) 44de: 00f40733 add a4,s0,a5 44e2: af54 sb a3,28(a4) 44e4: 0785 addi a5,a5,1 44e6: fec792e3 bne a5,a2,44ca 44ea: 02c40713 addi a4,s0,44 44ee: 06c40793 addi a5,s0,108 44f2: 00070023 sb zero,0(a4) 44f6: 0705 addi a4,a4,1 44f8: fee79de3 bne a5,a4,44f2 44fc: 0ec40713 addi a4,s0,236 4500: 00078023 sb zero,0(a5) 4504: 0785 addi a5,a5,1 4506: fee79de3 bne a5,a4,4500 450a: 63825537 lui a0,0x63825 450e: 36350513 addi a0,a0,867 # 63825363 <_eusrstack+0x43805363> 4512: ac8ff0ef jal ra,37da 4516: 00855793 srli a5,a0,0x8 451a: 0ea40623 sb a0,236(s0) 451e: 0ef406a3 sb a5,237(s0) 4522: 4c90 lw a2,24(s1) 4524: 01055793 srli a5,a0,0x10 4528: 8161 srli a0,a0,0x18 452a: 0ef40723 sb a5,238(s0) 452e: 0ea407a3 sb a0,239(s0) 4532: 00049e23 sh zero,28(s1) 4536: 4781 li a5,0 4538: 04400713 li a4,68 453c: 00f606b3 add a3,a2,a5 4540: 0ef68823 sb a5,240(a3) 4544: 0785 addi a5,a5,1 4546: fee79be3 bne a5,a4,453c 454a: 4781 li a5,0 454c: 853e mv a0,a5 454e: cc7fb06f j 214 <__riscv_restore_0> 4552: 57d9 li a5,-10 4554: 853e mv a0,a5 4556: 8082 ret 00004558 : dhcp_delete_request(): 4558: cd11 beqz a0,4574 455a: c97fb2ef jal t0,1f0 <__riscv_save_0> 455e: 5100 lw s0,32(a0) 4560: c801 beqz s0,4570 4562: 4848 lw a0,20(s0) 4564: c111 beqz a0,4568 4566: 25a1 jal 4bae 4568: 00042a23 sw zero,20(s0) 456c: 00042c23 sw zero,24(s0) 4570: ca5fb06f j 214 <__riscv_restore_0> 4574: 8082 ret 00004576 : dhcp_arp_reply(): 4576: 18050063 beqz a0,46f6 457a: c77fb2ef jal t0,1f0 <__riscv_save_0> 457e: 5100 lw s0,32(a0) 4580: 16040963 beqz s0,46f2 4584: 2838 lbu a4,18(s0) 4586: 47a1 li a5,8 4588: 16f71563 bne a4,a5,46f2 458c: 3198 lbu a4,1(a1) 458e: 219c lbu a5,0(a1) 4590: 0722 slli a4,a4,0x8 4592: 8f5d or a4,a4,a5 4594: 21bc lbu a5,2(a1) 4596: 07c2 slli a5,a5,0x10 4598: 8f5d or a4,a4,a5 459a: 31bc lbu a5,3(a1) 459c: 07e2 slli a5,a5,0x18 459e: 8fd9 or a5,a5,a4 45a0: 5418 lw a4,40(s0) 45a2: 14e79863 bne a5,a4,46f2 45a6: 84aa mv s1,a0 45a8: 45b1 li a1,12 45aa: 8522 mv a0,s0 45ac: d5fff0ef jal ra,430a 45b0: 8526 mv a0,s1 45b2: e1dff0ef jal ra,43ce 45b6: 12051963 bnez a0,46e8 45ba: 4605 li a2,1 45bc: 03500593 li a1,53 45c0: 8522 mv a0,s0 45c2: d5fff0ef jal ra,4320 45c6: 4591 li a1,4 45c8: 8522 mv a0,s0 45ca: d77ff0ef jal ra,4340 45ce: 4611 li a2,4 45d0: 03200593 li a1,50 45d4: 8522 mv a0,s0 45d6: d4bff0ef jal ra,4320 45da: 5408 lw a0,40(s0) 45dc: a22ff0ef jal ra,37fe 45e0: 85aa mv a1,a0 45e2: 8522 mv a0,s0 45e4: d6fff0ef jal ra,4352 45e8: 4611 li a2,4 45ea: 03600593 li a1,54 45ee: 8522 mv a0,s0 45f0: d31ff0ef jal ra,4320 45f4: 5048 lw a0,36(s0) 45f6: a08ff0ef jal ra,37fe 45fa: 85aa mv a1,a0 45fc: 8522 mv a0,s0 45fe: d55ff0ef jal ra,4352 4602: 461d li a2,7 4604: 03d00593 li a1,61 4608: 8522 mv a0,s0 460a: d17ff0ef jal ra,4320 460e: 2c5e lhu a5,28(s0) 4610: 4c18 lw a4,24(s0) 4612: 4605 li a2,1 4614: 8522 mv a0,s0 4616: 00f706b3 add a3,a4,a5 461a: 0ec68823 sb a2,240(a3) 461e: 00278613 addi a2,a5,2 4622: 0642 slli a2,a2,0x10 4624: 8241 srli a2,a2,0x10 4626: ac52 sh a2,28(s0) 4628: 00178693 addi a3,a5,1 462c: 0294c583 lbu a1,41(s1) 4630: 06c2 slli a3,a3,0x10 4632: 82c1 srli a3,a3,0x10 4634: 96ba add a3,a3,a4 4636: 0eb68823 sb a1,240(a3) 463a: 00378693 addi a3,a5,3 463e: 06c2 slli a3,a3,0x10 4640: 82c1 srli a3,a3,0x10 4642: ac56 sh a3,28(s0) 4644: 02a4c583 lbu a1,42(s1) 4648: 963a add a2,a2,a4 464a: 96ba add a3,a3,a4 464c: 0eb60823 sb a1,240(a2) 4650: 00478613 addi a2,a5,4 4654: 0642 slli a2,a2,0x10 4656: 8241 srli a2,a2,0x10 4658: ac52 sh a2,28(s0) 465a: 02b4c583 lbu a1,43(s1) 465e: 963a add a2,a2,a4 4660: 0eb68823 sb a1,240(a3) 4664: 00578693 addi a3,a5,5 4668: 06c2 slli a3,a3,0x10 466a: 82c1 srli a3,a3,0x10 466c: ac56 sh a3,28(s0) 466e: 02c4c583 lbu a1,44(s1) 4672: 96ba add a3,a3,a4 4674: 0eb60823 sb a1,240(a2) 4678: 00678613 addi a2,a5,6 467c: 0642 slli a2,a2,0x10 467e: 8241 srli a2,a2,0x10 4680: ac52 sh a2,28(s0) 4682: 02d4c583 lbu a1,45(s1) 4686: 079d addi a5,a5,7 4688: 9732 add a4,a4,a2 468a: 0eb68823 sb a1,240(a3) 468e: ac5e sh a5,28(s0) 4690: 02e4c783 lbu a5,46(s1) 4694: 0ef70823 sb a5,240(a4) 4698: d03ff0ef jal ra,439a 469c: 2c4e lhu a1,28(s0) 469e: 4848 lw a0,20(s0) 46a0: 0f058593 addi a1,a1,240 46a4: 05c2 slli a1,a1,0x10 46a6: 81c1 srli a1,a1,0x10 46a8: 2d51 jal 4d3c 46aa: 02844703 lbu a4,40(s0) 46ae: 4c1c lw a5,24(s0) 46b0: 484c lw a1,20(s0) 46b2: 4048 lw a0,4(s0) 46b4: a7d8 sb a4,12(a5) 46b6: 02944703 lbu a4,41(s0) 46ba: 0044a903 lw s2,4(s1) 46be: b7d8 sb a4,13(a5) 46c0: 02a44703 lbu a4,42(s0) 46c4: 04300693 li a3,67 46c8: 84818613 addi a2,gp,-1976 # 20000068 46cc: a7f8 sb a4,14(a5) 46ce: 02b44703 lbu a4,43(s0) 46d2: b7f8 sb a4,15(a5) 46d4: 0004a223 sw zero,4(s1) 46d8: 8726 mv a4,s1 46da: 061030ef jal ra,7f3a 46de: 8526 mv a0,s1 46e0: 0124a223 sw s2,4(s1) 46e4: e75ff0ef jal ra,4558 46e8: 383c lbu a5,19(s0) 46ea: 0785 addi a5,a5,1 46ec: b83c sb a5,19(s0) 46ee: 4785 li a5,1 46f0: ac7e sh a5,30(s0) 46f2: b23fb06f j 214 <__riscv_restore_0> 46f6: 8082 ret 000046f8 : lwip_init(): 46f8: af9fb2ef jal t0,1f0 <__riscv_save_0> 46fc: 2811 jal 4710 46fe: 24bd jal 496c 4700: 200077b7 lui a5,0x20007 4704: 7e07a783 lw a5,2016(a5) # 200077e0 4708: c391 beqz a5,470c 470a: 9782 jalr a5 470c: b09fb06f j 214 <__riscv_restore_0> 00004710 : mem_init(): 4710: 20004737 lui a4,0x20004 4714: 7ab70713 addi a4,a4,1963 # 200047ab 4718: 9b71 andi a4,a4,-4 471a: 8ee1a823 sw a4,-1808(gp) # 20000110 471e: 200087b7 lui a5,0x20008 4722: 8447a783 lw a5,-1980(a5) # 20007844 4726: 00071123 sh zero,2(a4) 472a: 078d addi a5,a5,3 472c: 9bf1 andi a5,a5,-4 472e: 01079693 slli a3,a5,0x10 4732: 82c1 srli a3,a3,0x10 4734: 97ba add a5,a5,a4 4736: a316 sh a3,0(a4) 4738: 00070223 sb zero,4(a4) 473c: 8ef1aa23 sw a5,-1804(gp) # 20000114 4740: 4605 li a2,1 4742: a3d0 sb a2,4(a5) 4744: a396 sh a3,0(a5) 4746: a3b6 sh a3,2(a5) 4748: 8ee1a623 sw a4,-1812(gp) # 2000010c 474c: 8082 ret 0000474e : mem_free(): 474e: c149 beqz a0,47d0 4750: 8f01a783 lw a5,-1808(gp) # 20000110 4754: 06f56e63 bltu a0,a5,47d0 4758: 8f41a583 lw a1,-1804(gp) # 20000114 475c: 06b57a63 bgeu a0,a1,47d0 4760: 8ec1a683 lw a3,-1812(gp) # 2000010c 4764: ff850613 addi a2,a0,-8 4768: fe050e23 sb zero,-4(a0) 476c: 8ec18713 addi a4,gp,-1812 # 2000010c 4770: 00d67363 bgeu a2,a3,4776 4774: c310 sw a2,0(a4) 4776: ff855683 lhu a3,-8(a0) 477a: 96be add a3,a3,a5 477c: 02d60463 beq a2,a3,47a4 4780: 0046c803 lbu a6,4(a3) 4784: 02081063 bnez a6,47a4 4788: 00d58e63 beq a1,a3,47a4 478c: 430c lw a1,0(a4) 478e: 00b69363 bne a3,a1,4794 4792: c310 sw a2,0(a4) 4794: 228e lhu a1,0(a3) 4796: feb51c23 sh a1,-8(a0) 479a: 2296 lhu a3,0(a3) 479c: 40f605b3 sub a1,a2,a5 47a0: 96be add a3,a3,a5 47a2: a2ae sh a1,2(a3) 47a4: ffa55583 lhu a1,-6(a0) 47a8: 00b786b3 add a3,a5,a1 47ac: 02d60263 beq a2,a3,47d0 47b0: 0046c803 lbu a6,4(a3) 47b4: 00081e63 bnez a6,47d0 47b8: 00072803 lw a6,0(a4) 47bc: 01061363 bne a2,a6,47c2 47c0: c314 sw a3,0(a4) 47c2: ff855703 lhu a4,-8(a0) 47c6: a29a sh a4,0(a3) 47c8: ff855703 lhu a4,-8(a0) 47cc: 97ba add a5,a5,a4 47ce: a3ae sh a1,2(a5) 47d0: 8082 ret 000047d2 : mem_realloc(): 47d2: 058d addi a1,a1,3 47d4: 05c2 slli a1,a1,0x10 47d6: 81c1 srli a1,a1,0x10 47d8: 99f1 andi a1,a1,-4 47da: 05c2 slli a1,a1,0x10 47dc: 81c1 srli a1,a1,0x10 47de: 4731 li a4,12 47e0: 87ae mv a5,a1 47e2: 00e5f363 bgeu a1,a4,47e8 47e6: 47b1 li a5,12 47e8: 20008737 lui a4,0x20008 47ec: 84472603 lw a2,-1980(a4) # 20007844 47f0: 07c2 slli a5,a5,0x10 47f2: 83c1 srli a5,a5,0x10 47f4: 060d addi a2,a2,3 47f6: 9a71 andi a2,a2,-4 47f8: 0af66063 bltu a2,a5,4898 47fc: 8f01a703 lw a4,-1808(gp) # 20000110 4800: 08e56d63 bltu a0,a4,489a 4804: 8f41a683 lw a3,-1804(gp) # 20000114 4808: 08d57963 bgeu a0,a3,489a 480c: ff850693 addi a3,a0,-8 4810: ff855883 lhu a7,-8(a0) 4814: 8e99 sub a3,a3,a4 4816: 06c2 slli a3,a3,0x10 4818: 82c1 srli a3,a3,0x10 481a: ff888593 addi a1,a7,-8 481e: 8d95 sub a1,a1,a3 4820: 05c2 slli a1,a1,0x10 4822: 81c1 srli a1,a1,0x10 4824: 06f5ea63 bltu a1,a5,4898 4828: 06f58963 beq a1,a5,489a 482c: 01170333 add t1,a4,a7 4830: 00434803 lbu a6,4(t1) # 80000004 <_eusrstack+0x5ffe0004> 4834: 02081463 bnez a6,485c 4838: 00868593 addi a1,a3,8 483c: 8ec18813 addi a6,gp,-1812 # 2000010c 4840: 97ae add a5,a5,a1 4842: 00082e03 lw t3,0(a6) 4846: 07c2 slli a5,a5,0x10 4848: 83c1 srli a5,a5,0x10 484a: 00035883 lhu a7,0(t1) 484e: 00f705b3 add a1,a4,a5 4852: 026e1663 bne t3,t1,487e 4856: 00b82023 sw a1,0(a6) 485a: a015 j 487e 485c: 01478813 addi a6,a5,20 4860: 0305ed63 bltu a1,a6,489a 4864: 00868593 addi a1,a3,8 4868: 97ae add a5,a5,a1 486a: 8ec18813 addi a6,gp,-1812 # 2000010c 486e: 07c2 slli a5,a5,0x10 4870: 00082303 lw t1,0(a6) 4874: 83c1 srli a5,a5,0x10 4876: 00f705b3 add a1,a4,a5 487a: fc65eee3 bltu a1,t1,4856 487e: 01159023 sh a7,0(a1) 4882: a1b6 sh a3,2(a1) 4884: 00058223 sb zero,4(a1) 4888: fef51c23 sh a5,-8(a0) 488c: 2196 lhu a3,0(a1) 488e: 00d60663 beq a2,a3,489a 4892: 9736 add a4,a4,a3 4894: a33e sh a5,2(a4) 4896: 8082 ret 4898: 4501 li a0,0 489a: 8082 ret 0000489c : mem_malloc(): 489c: c539 beqz a0,48ea 489e: 00350713 addi a4,a0,3 48a2: 0742 slli a4,a4,0x10 48a4: 8341 srli a4,a4,0x10 48a6: 9b71 andi a4,a4,-4 48a8: 0742 slli a4,a4,0x10 48aa: 8341 srli a4,a4,0x10 48ac: 46b1 li a3,12 48ae: 87ba mv a5,a4 48b0: 00d77363 bgeu a4,a3,48b6 48b4: 47b1 li a5,12 48b6: 20008737 lui a4,0x20008 48ba: 84472603 lw a2,-1980(a4) # 20007844 48be: 07c2 slli a5,a5,0x10 48c0: 83c1 srli a5,a5,0x10 48c2: 060d addi a2,a2,3 48c4: 9a71 andi a2,a2,-4 48c6: 4501 li a0,0 48c8: 02f66263 bltu a2,a5,48ec 48cc: 8ec1a703 lw a4,-1812(gp) # 2000010c 48d0: 8f01ae83 lw t4,-1808(gp) # 20000110 48d4: 8ec18593 addi a1,gp,-1812 # 2000010c 48d8: 40f60333 sub t1,a2,a5 48dc: 41d706b3 sub a3,a4,t4 48e0: 06c2 slli a3,a3,0x10 48e2: 82c1 srli a3,a3,0x10 48e4: 5e61 li t3,-8 48e6: 0066e463 bltu a3,t1,48ee 48ea: 4501 li a0,0 48ec: 8082 ret 48ee: 00de8533 add a0,t4,a3 48f2: 00454803 lbu a6,4(a0) 48f6: 00055883 lhu a7,0(a0) 48fa: 06081763 bnez a6,4968 48fe: 40de0833 sub a6,t3,a3 4902: 9846 add a6,a6,a7 4904: 06f86263 bltu a6,a5,4968 4908: 01478313 addi t1,a5,20 490c: 04686263 bltu a6,t1,4950 4910: 07a1 addi a5,a5,8 4912: 97b6 add a5,a5,a3 4914: 07c2 slli a5,a5,0x10 4916: 83c1 srli a5,a5,0x10 4918: 00fe8833 add a6,t4,a5 491c: 01181023 sh a7,0(a6) 4920: 00d81123 sh a3,2(a6) 4924: 00080223 sb zero,4(a6) 4928: 4685 li a3,1 492a: a11e sh a5,0(a0) 492c: a154 sb a3,4(a0) 492e: 00085683 lhu a3,0(a6) 4932: 00d60463 beq a2,a3,493a 4936: 96f6 add a3,a3,t4 4938: a2be sh a5,2(a3) 493a: 00a71963 bne a4,a0,494c 493e: 8f41a683 lw a3,-1804(gp) # 20000114 4942: 4781 li a5,0 4944: 2350 lbu a2,4(a4) 4946: ee01 bnez a2,495e 4948: c391 beqz a5,494c 494a: c198 sw a4,0(a1) 494c: 0521 addi a0,a0,8 494e: 8082 ret 4950: 4785 li a5,1 4952: a15c sb a5,4(a0) 4954: b7dd j 493a 4956: 231a lhu a4,0(a4) 4958: 4785 li a5,1 495a: 9776 add a4,a4,t4 495c: b7e5 j 4944 495e: fee69ce3 bne a3,a4,4956 4962: d7ed beqz a5,494c 4964: c194 sw a3,0(a1) 4966: b7dd j 494c 4968: 86c6 mv a3,a7 496a: bfb5 j 48e6 0000496c : memp_init(): 496c: 8241a583 lw a1,-2012(gp) # 20000044 4970: 8281a683 lw a3,-2008(gp) # 20000048 4974: 200067b7 lui a5,0x20006 4978: a1b78793 addi a5,a5,-1509 # 20005a1b 497c: 20008737 lui a4,0x20008 4980: 9bf1 andi a5,a5,-4 4982: 8a070713 addi a4,a4,-1888 # 200078a0 4986: 01068513 addi a0,a3,16 498a: 0005d803 lhu a6,0(a1) 498e: 00072023 sw zero,0(a4) 4992: 4601 li a2,0 4994: 00c81863 bne a6,a2,49a4 4998: 0689 addi a3,a3,2 499a: 0711 addi a4,a4,4 499c: 0589 addi a1,a1,2 499e: fea696e3 bne a3,a0,498a 49a2: 8082 ret 49a4: 00072883 lw a7,0(a4) 49a8: 0605 addi a2,a2,1 49aa: 0642 slli a2,a2,0x10 49ac: 0117a023 sw a7,0(a5) 49b0: 0006d883 lhu a7,0(a3) 49b4: c31c sw a5,0(a4) 49b6: 8241 srli a2,a2,0x10 49b8: 97c6 add a5,a5,a7 49ba: bfe9 j 4994 000049bc : memp_malloc(): 49bc: 479d li a5,7 49be: 00a7ed63 bltu a5,a0,49d8 49c2: 200087b7 lui a5,0x20008 49c6: 050a slli a0,a0,0x2 49c8: 8a078793 addi a5,a5,-1888 # 200078a0 49cc: 97aa add a5,a5,a0 49ce: 4388 lw a0,0(a5) 49d0: c509 beqz a0,49da 49d2: 4118 lw a4,0(a0) 49d4: c398 sw a4,0(a5) 49d6: 8082 ret 49d8: 4501 li a0,0 49da: 8082 ret 000049dc : memp_free(): 49dc: c999 beqz a1,49f2 49de: 00251793 slli a5,a0,0x2 49e2: 20008537 lui a0,0x20008 49e6: 8a050513 addi a0,a0,-1888 # 200078a0 49ea: 953e add a0,a0,a5 49ec: 411c lw a5,0(a0) 49ee: c19c sw a5,0(a1) 49f0: c10c sw a1,0(a0) 49f2: 8082 ret 000049f4 : netif_set_ipaddr(): 49f4: fe2fb2ef jal t0,1d6 <__riscv_save_4> 49f8: 3198 lbu a4,1(a1) 49fa: 219c lbu a5,0(a1) 49fc: 84aa mv s1,a0 49fe: 0722 slli a4,a4,0x8 4a00: 8f5d or a4,a4,a5 4a02: 21bc lbu a5,2(a1) 4a04: 842e mv s0,a1 4a06: 07c2 slli a5,a5,0x10 4a08: 8f5d or a4,a4,a5 4a0a: 31bc lbu a5,3(a1) 4a0c: 07e2 slli a5,a5,0x18 4a0e: 8fd9 or a5,a5,a4 4a10: 4158 lw a4,4(a0) 4a12: 00e79f63 bne a5,a4,4a30 4a16: 3018 lbu a4,1(s0) 4a18: 201c lbu a5,0(s0) 4a1a: 0722 slli a4,a4,0x8 4a1c: 8f5d or a4,a4,a5 4a1e: 203c lbu a5,2(s0) 4a20: 07c2 slli a5,a5,0x10 4a22: 8f5d or a4,a4,a5 4a24: 303c lbu a5,3(s0) 4a26: 07e2 slli a5,a5,0x18 4a28: 8fd9 or a5,a5,a4 4a2a: c0dc sw a5,4(s1) 4a2c: fdefb06f j 20a <__riscv_restore_4> 4a30: 9081a503 lw a0,-1784(gp) # 20000128 4a34: 4901 li s2,0 4a36: 06400993 li s3,100 4a3a: c105 beqz a0,4a5a 4a3c: 4118 lw a4,0(a0) 4a3e: 40dc lw a5,4(s1) 4a40: 00c52a03 lw s4,12(a0) 4a44: 04f71163 bne a4,a5,4a86 4a48: 4585 li a1,1 4a4a: 57d000ef jal ra,57c6 4a4e: 00190793 addi a5,s2,1 4a52: 0ff7f793 andi a5,a5,255 4a56: 0329f763 bgeu s3,s2,4a84 4a5a: 9101a783 lw a5,-1776(gp) # 20000130 4a5e: dfc5 beqz a5,4a16 4a60: 4398 lw a4,0(a5) 4a62: cf19 beqz a4,4a80 4a64: 40d4 lw a3,4(s1) 4a66: 00d71d63 bne a4,a3,4a80 4a6a: 3014 lbu a3,1(s0) 4a6c: 2018 lbu a4,0(s0) 4a6e: 06a2 slli a3,a3,0x8 4a70: 8ed9 or a3,a3,a4 4a72: 2038 lbu a4,2(s0) 4a74: 0742 slli a4,a4,0x10 4a76: 8ed9 or a3,a3,a4 4a78: 3038 lbu a4,3(s0) 4a7a: 0762 slli a4,a4,0x18 4a7c: 8f55 or a4,a4,a3 4a7e: c398 sw a4,0(a5) 4a80: 47dc lw a5,12(a5) 4a82: bff1 j 4a5e 4a84: 893e mv s2,a5 4a86: 8552 mv a0,s4 4a88: bf4d j 4a3a 00004a8a : netif_set_addr(): 4a8a: f66fb2ef jal t0,1f0 <__riscv_save_0> 4a8e: 1141 addi sp,sp,-16 4a90: c632 sw a2,12(sp) 4a92: c436 sw a3,8(sp) 4a94: 842a mv s0,a0 4a96: f5fff0ef jal ra,49f4 4a9a: 4632 lw a2,12(sp) 4a9c: 46a2 lw a3,8(sp) 4a9e: 4781 li a5,0 4aa0: ca19 beqz a2,4ab6 4aa2: 3218 lbu a4,1(a2) 4aa4: 221c lbu a5,0(a2) 4aa6: 0722 slli a4,a4,0x8 4aa8: 8f5d or a4,a4,a5 4aaa: 223c lbu a5,2(a2) 4aac: 07c2 slli a5,a5,0x10 4aae: 8f5d or a4,a4,a5 4ab0: 323c lbu a5,3(a2) 4ab2: 07e2 slli a5,a5,0x18 4ab4: 8fd9 or a5,a5,a4 4ab6: c41c sw a5,8(s0) 4ab8: 4781 li a5,0 4aba: ca99 beqz a3,4ad0 4abc: 3298 lbu a4,1(a3) 4abe: 229c lbu a5,0(a3) 4ac0: 0722 slli a4,a4,0x8 4ac2: 8f5d or a4,a4,a5 4ac4: 22bc lbu a5,2(a3) 4ac6: 07c2 slli a5,a5,0x10 4ac8: 8f5d or a4,a4,a5 4aca: 32bc lbu a5,3(a3) 4acc: 07e2 slli a5,a5,0x18 4ace: 8fd9 or a5,a5,a4 4ad0: c45c sw a5,12(s0) 4ad2: 0141 addi sp,sp,16 4ad4: f40fb06f j 214 <__riscv_restore_0> 00004ad8 : netif_add(): 4ad8: f18fb2ef jal t0,1f0 <__riscv_save_0> 4adc: cd58 sw a4,28(a0) 4ade: 90018713 addi a4,gp,-1792 # 20000120 4ae2: 00074883 lbu a7,0(a4) 4ae6: 1141 addi sp,sp,-16 4ae8: 00052223 sw zero,4(a0) 4aec: 00052423 sw zero,8(a0) 4af0: 00052623 sw zero,12(a0) 4af4: 02050923 sb zero,50(a0) 4af8: 02052023 sw zero,32(a0) 4afc: 00188313 addi t1,a7,1 4b00: 03150aa3 sb a7,53(a0) 4b04: 01052823 sw a6,16(a0) 4b08: 842a mv s0,a0 4b0a: c63e sw a5,12(sp) 4b0c: 00670023 sb t1,0(a4) 4b10: f7bff0ef jal ra,4a8a 4b14: 47b2 lw a5,12(sp) 4b16: 8522 mv a0,s0 4b18: 9782 jalr a5 4b1a: e911 bnez a0,4b2e 4b1c: 8fc18793 addi a5,gp,-1796 # 2000011c 4b20: 4398 lw a4,0(a5) 4b22: c018 sw a4,0(s0) 4b24: c380 sw s0,0(a5) 4b26: 8522 mv a0,s0 4b28: 0141 addi sp,sp,16 4b2a: eeafb06f j 214 <__riscv_restore_0> 4b2e: 4401 li s0,0 4b30: bfdd j 4b26 00004b32 : netif_set_default(): 4b32: 8ea1ac23 sw a0,-1800(gp) # 20000118 4b36: 8082 ret 00004b38 : netif_is_up(): 4b38: 03254503 lbu a0,50(a0) 4b3c: 8905 andi a0,a0,1 4b3e: 8082 ret 00004b40 : pbuf_header(): 4b40: 87aa mv a5,a0 4b42: 4501 li a0,0 4b44: c5a5 beqz a1,4bac 4b46: c3bd beqz a5,4bac 4b48: 01059613 slli a2,a1,0x10 4b4c: 8241 srli a2,a2,0x10 4b4e: 8832 mv a6,a2 4b50: 0005db63 bgez a1,4b66 4b54: 40c00833 neg a6,a2 4b58: 27ba lhu a4,10(a5) 4b5a: 0842 slli a6,a6,0x10 4b5c: 01085813 srli a6,a6,0x10 4b60: 4505 li a0,1 4b62: 05076563 bltu a4,a6,4bac 4b66: 27d4 lbu a3,12(a5) 4b68: 43d8 lw a4,4(a5) 4b6a: c681 beqz a3,4b72 4b6c: 450d li a0,3 4b6e: 02a69163 bne a3,a0,4b90 4b72: 8f0d sub a4,a4,a1 4b74: 01078693 addi a3,a5,16 4b78: 4505 li a0,1 4b7a: 02d76963 bltu a4,a3,4bac 4b7e: c3d8 sw a4,4(a5) 4b80: 27ba lhu a4,10(a5) 4b82: 4501 li a0,0 4b84: 9732 add a4,a4,a2 4b86: a7ba sh a4,10(a5) 4b88: 279a lhu a4,8(a5) 4b8a: 963a add a2,a2,a4 4b8c: a792 sh a2,8(a5) 4b8e: 8082 ret 4b90: 16fd addi a3,a3,-1 4b92: 06c2 slli a3,a3,0x10 4b94: 82c1 srli a3,a3,0x10 4b96: 4885 li a7,1 4b98: 4505 li a0,1 4b9a: 00d8e963 bltu a7,a3,4bac 4b9e: 0005d763 bgez a1,4bac 4ba2: 27b6 lhu a3,10(a5) 4ba4: 0106e463 bltu a3,a6,4bac 4ba8: 8f0d sub a4,a4,a1 4baa: bfd1 j 4b7e 4bac: 8082 ret 00004bae : pbuf_free(): 4bae: e28fb2ef jal t0,1d6 <__riscv_save_4> 4bb2: 4401 li s0,0 4bb4: cd0d beqz a0,4bee 4bb6: 85aa mv a1,a0 4bb8: 4401 li s0,0 4bba: 490d li s2,3 4bbc: 4985 li s3,1 4bbe: 25fe lhu a5,14(a1) 4bc0: 17fd addi a5,a5,-1 4bc2: 07c2 slli a5,a5,0x10 4bc4: 83c1 srli a5,a5,0x10 4bc6: a5fe sh a5,14(a1) 4bc8: e39d bnez a5,4bee 4bca: 25dc lbu a5,12(a1) 4bcc: 4184 lw s1,0(a1) 4bce: 451d li a0,7 4bd0: 01278863 beq a5,s2,4be0 4bd4: 17fd addi a5,a5,-1 4bd6: 07c2 slli a5,a5,0x10 4bd8: 83c1 srli a5,a5,0x10 4bda: 00f9ed63 bltu s3,a5,4bf4 4bde: 4519 li a0,6 4be0: dfdff0ef jal ra,49dc 4be4: 0405 addi s0,s0,1 4be6: 0ff47413 andi s0,s0,255 4bea: 85a6 mv a1,s1 4bec: f8e9 bnez s1,4bbe 4bee: 8522 mv a0,s0 4bf0: e1afb06f j 20a <__riscv_restore_4> 4bf4: 852e mv a0,a1 4bf6: b59ff0ef jal ra,474e 4bfa: b7ed j 4be4 00004bfc : pbuf_alloc(): 4bfc: ddafb2ef jal t0,1d6 <__riscv_save_4> 4c00: 4785 li a5,1 4c02: 00f50d63 beq a0,a5,4c1c 4c06: c531 beqz a0,4c52 4c08: 4789 li a5,2 4c0a: 04f50663 beq a0,a5,4c56 4c0e: 478d li a5,3 4c10: 04f50563 beq a0,a5,4c5a 4c14: 4401 li s0,0 4c16: 8522 mv a0,s0 4c18: df2fb06f j 20a <__riscv_restore_4> 4c1c: 4481 li s1,0 4c1e: 04d1 addi s1,s1,20 4c20: 04b9 addi s1,s1,14 4c22: 04c2 slli s1,s1,0x10 4c24: 80c1 srli s1,s1,0x10 4c26: 4789 li a5,2 4c28: 89b2 mv s3,a2 4c2a: 892e mv s2,a1 4c2c: 02c7e963 bltu a5,a2,4c5e 4c30: ca79 beqz a2,4d06 4c32: 4519 li a0,6 4c34: d89ff0ef jal ra,49bc 4c38: 842a mv s0,a0 4c3a: dd69 beqz a0,4c14 4c3c: 00052223 sw zero,4(a0) 4c40: 01251423 sh s2,8(a0) 4c44: 01251523 sh s2,10(a0) 4c48: 00052023 sw zero,0(a0) 4c4c: 01350623 sb s3,12(a0) 4c50: a0b5 j 4cbc 4c52: 44d1 li s1,20 4c54: b7e9 j 4c1e 4c56: 4481 li s1,0 4c58: b7e1 j 4c20 4c5a: 4481 li s1,0 4c5c: b7e9 j 4c26 4c5e: 478d li a5,3 4c60: 4401 li s0,0 4c62: faf61ae3 bne a2,a5,4c16 4c66: 451d li a0,7 4c68: d55ff0ef jal ra,49bc 4c6c: 842a mv s0,a0 4c6e: d15d beqz a0,4c14 4c70: 009507b3 add a5,a0,s1 4c74: 07cd addi a5,a5,19 4c76: 9bf1 andi a5,a5,-4 4c78: 20008737 lui a4,0x20008 4c7c: c15c sw a5,4(a0) 4c7e: 83c70793 addi a5,a4,-1988 # 2000783c 4c82: 43dc lw a5,4(a5) 4c84: 048d addi s1,s1,3 4c86: 98f1 andi s1,s1,-4 4c88: 03978793 addi a5,a5,57 4c8c: 9bf1 andi a5,a5,-4 4c8e: 01350623 sb s3,12(a0) 4c92: 00052023 sw zero,0(a0) 4c96: 01251423 sh s2,8(a0) 4c9a: 409784b3 sub s1,a5,s1 4c9e: 83c70993 addi s3,a4,-1988 4ca2: 00997363 bgeu s2,s1,4ca8 4ca6: 84ca mv s1,s2 4ca8: 4785 li a5,1 4caa: a426 sh s1,10(s0) 4cac: a47e sh a5,14(s0) 4cae: 409904b3 sub s1,s2,s1 4cb2: 4a0d li s4,3 4cb4: 8922 mv s2,s0 4cb6: 4a85 li s5,1 4cb8: 00904763 bgtz s1,4cc6 4cbc: 4785 li a5,1 4cbe: a47e sh a5,14(s0) 4cc0: 000406a3 sb zero,13(s0) 4cc4: bf89 j 4c16 4cc6: 451d li a0,7 4cc8: cf5ff0ef jal ra,49bc 4ccc: e509 bnez a0,4cd6 4cce: 8522 mv a0,s0 4cd0: edfff0ef jal ra,4bae 4cd4: b781 j 4c14 4cd6: 0049a783 lw a5,4(s3) 4cda: 01451623 sh s4,12(a0) 4cde: 00052023 sw zero,0(a0) 4ce2: 00a92023 sw a0,0(s2) 4ce6: 03978793 addi a5,a5,57 4cea: a506 sh s1,8(a0) 4cec: 9bf1 andi a5,a5,-4 4cee: 00f4f363 bgeu s1,a5,4cf4 4cf2: 87a6 mv a5,s1 4cf4: 01050713 addi a4,a0,16 4cf8: a53e sh a5,10(a0) 4cfa: c158 sw a4,4(a0) 4cfc: 01551723 sh s5,14(a0) 4d00: 8c9d sub s1,s1,a5 4d02: 892a mv s2,a0 4d04: bf55 j 4cb8 4d06: 00358793 addi a5,a1,3 4d0a: 01348513 addi a0,s1,19 4d0e: 9bf1 andi a5,a5,-4 4d10: 9971 andi a0,a0,-4 4d12: 953e add a0,a0,a5 4d14: 0542 slli a0,a0,0x10 4d16: 8141 srli a0,a0,0x10 4d18: b85ff0ef jal ra,489c 4d1c: 842a mv s0,a0 4d1e: ee050be3 beqz a0,4c14 4d22: 94aa add s1,s1,a0 4d24: 04cd addi s1,s1,19 4d26: 98f1 andi s1,s1,-4 4d28: c144 sw s1,4(a0) 4d2a: 01251423 sh s2,8(a0) 4d2e: 01251523 sh s2,10(a0) 4d32: 00052023 sw zero,0(a0) 4d36: 00050623 sb zero,12(a0) 4d3a: b749 j 4cbc 00004d3c : pbuf_realloc(): 4d3c: 251e lhu a5,8(a0) 4d3e: 04f5fa63 bgeu a1,a5,4d92 4d42: caefb2ef jal t0,1f0 <__riscv_save_0> 4d46: 842a mv s0,a0 4d48: 84ae mv s1,a1 4d4a: 40f587b3 sub a5,a1,a5 4d4e: 242e lhu a1,10(s0) 4d50: 0295e963 bltu a1,s1,4d82 4d54: 245c lbu a5,12(s0) 4d56: ef81 bnez a5,4d6e 4d58: 00958b63 beq a1,s1,4d6e 4d5c: 404c lw a1,4(s0) 4d5e: 8522 mv a0,s0 4d60: 8d81 sub a1,a1,s0 4d62: 95a6 add a1,a1,s1 4d64: 05c2 slli a1,a1,0x10 4d66: 81c1 srli a1,a1,0x10 4d68: a6bff0ef jal ra,47d2 4d6c: 842a mv s0,a0 4d6e: 4008 lw a0,0(s0) 4d70: a426 sh s1,10(s0) 4d72: a406 sh s1,8(s0) 4d74: c119 beqz a0,4d7a 4d76: e39ff0ef jal ra,4bae 4d7a: 00042023 sw zero,0(s0) 4d7e: c96fb06f j 214 <__riscv_restore_0> 4d82: 241a lhu a4,8(s0) 4d84: 8c8d sub s1,s1,a1 4d86: 04c2 slli s1,s1,0x10 4d88: 973e add a4,a4,a5 4d8a: a41a sh a4,8(s0) 4d8c: 80c1 srli s1,s1,0x10 4d8e: 4000 lw s0,0(s0) 4d90: bf7d j 4d4e 4d92: 8082 ret 00004d94 : pbuf_clen(): 4d94: 4781 li a5,0 4d96: e119 bnez a0,4d9c 4d98: 853e mv a0,a5 4d9a: 8082 ret 4d9c: 0785 addi a5,a5,1 4d9e: 0ff7f793 andi a5,a5,255 4da2: 4108 lw a0,0(a0) 4da4: bfcd j 4d96 00004da6 : pbuf_ref(): 4da6: c501 beqz a0,4dae 4da8: 257e lhu a5,14(a0) 4daa: 0785 addi a5,a5,1 4dac: a57e sh a5,14(a0) 4dae: 8082 ret 00004db0 : pbuf_cat(): 4db0: cd09 beqz a0,4dca 4db2: e199 bnez a1,4db8 4db4: 8082 ret 4db6: 853a mv a0,a4 4db8: 259e lhu a5,8(a1) 4dba: 2516 lhu a3,8(a0) 4dbc: 4118 lw a4,0(a0) 4dbe: 97b6 add a5,a5,a3 4dc0: 07c2 slli a5,a5,0x10 4dc2: 83c1 srli a5,a5,0x10 4dc4: a51e sh a5,8(a0) 4dc6: fb65 bnez a4,4db6 4dc8: c10c sw a1,0(a0) 4dca: 8082 ret 00004dcc : pbuf_chain(): 4dcc: c24fb2ef jal t0,1f0 <__riscv_save_0> 4dd0: 842e mv s0,a1 4dd2: fdfff0ef jal ra,4db0 4dd6: 8522 mv a0,s0 4dd8: fcfff0ef jal ra,4da6 4ddc: c38fb06f j 214 <__riscv_restore_0> 00004de0 : pbuf_copy(): 4de0: cd3d beqz a0,4e5e 4de2: bf4fb2ef jal t0,1d6 <__riscv_save_4> 4de6: 842a mv s0,a0 4de8: 84ae mv s1,a1 4dea: 5559 li a0,-10 4dec: c5ad beqz a1,4e56 4dee: 241a lhu a4,8(s0) 4df0: 259e lhu a5,8(a1) 4df2: 06f76263 bltu a4,a5,4e56 4df6: 4901 li s2,0 4df8: 4a01 li s4,0 4dfa: 00a45983 lhu s3,10(s0) 4dfe: 24be lhu a5,10(s1) 4e00: 414989b3 sub s3,s3,s4 4e04: 412787b3 sub a5,a5,s2 4e08: 04f9c963 blt s3,a5,4e5a 4e0c: 01079993 slli s3,a5,0x10 4e10: 4048 lw a0,4(s0) 4e12: 40cc lw a1,4(s1) 4e14: 0109d993 srli s3,s3,0x10 4e18: 9552 add a0,a0,s4 4e1a: 95ca add a1,a1,s2 4e1c: 864e mv a2,s3 4e1e: 599030ef jal ra,8bb6 4e22: 9a4e add s4,s4,s3 4e24: 243e lhu a5,10(s0) 4e26: 0a42 slli s4,s4,0x10 4e28: 994e add s2,s2,s3 4e2a: 0942 slli s2,s2,0x10 4e2c: 010a5a13 srli s4,s4,0x10 4e30: 01095913 srli s2,s2,0x10 4e34: 01479463 bne a5,s4,4e3c 4e38: 4000 lw s0,0(s0) 4e3a: 4a01 li s4,0 4e3c: 24be lhu a5,10(s1) 4e3e: 00f96563 bltu s2,a5,4e48 4e42: 4084 lw s1,0(s1) 4e44: cc99 beqz s1,4e62 4e46: 4901 li s2,0 4e48: 24ba lhu a4,10(s1) 4e4a: 249e lhu a5,8(s1) 4e4c: 02f71663 bne a4,a5,4e78 4e50: 409c lw a5,0(s1) 4e52: c39d beqz a5,4e78 4e54: 555d li a0,-9 4e56: bb4fb06f j 20a <__riscv_restore_4> 4e5a: 09c2 slli s3,s3,0x10 4e5c: bf55 j 4e10 4e5e: 5559 li a0,-10 4e60: 8082 ret 4e62: c809 beqz s0,4e74 4e64: 4901 li s2,0 4e66: 243a lhu a4,10(s0) 4e68: 241e lhu a5,8(s0) 4e6a: 00f71463 bne a4,a5,4e72 4e6e: 401c lw a5,0(s0) 4e70: f3f5 bnez a5,4e54 4e72: f4c1 bnez s1,4dfa 4e74: 4501 li a0,0 4e76: b7c5 j 4e56 4e78: f47d bnez s0,4e66 4e7a: b741 j 4dfa 00004e7c : raw_input(): 4e7c: b5afb2ef jal t0,1d6 <__riscv_save_4> 4e80: 00452903 lw s2,4(a0) 4e84: 89aa mv s3,a0 4e86: 00994783 lbu a5,9(s2) 4e8a: 00894503 lbu a0,8(s2) 4e8e: 4a01 li s4,0 4e90: 07a2 slli a5,a5,0x8 4e92: 8d5d or a0,a0,a5 4e94: 939fe0ef jal ra,37cc 4e98: 0ff57a93 andi s5,a0,255 4e9c: 9041a403 lw s0,-1788(gp) # 20000124 4ea0: 0931 addi s2,s2,12 4ea2: 90418493 addi s1,gp,-1788 # 20000124 4ea6: e401 bnez s0,4eae 4ea8: 4501 li a0,0 4eaa: b60fb06f j 20a <__riscv_restore_4> 4eae: 281c lbu a5,16(s0) 4eb0: 4501 li a0,0 4eb2: 03579463 bne a5,s5,4eda 4eb6: 485c lw a5,20(s0) 4eb8: c38d beqz a5,4eda 4eba: 4c08 lw a0,24(s0) 4ebc: 86ca mv a3,s2 4ebe: 864e mv a2,s3 4ec0: 85a2 mv a1,s0 4ec2: 9782 jalr a5 4ec4: c919 beqz a0,4eda 4ec6: 000a0863 beqz s4,4ed6 4eca: 445c lw a5,12(s0) 4ecc: 00fa2623 sw a5,12(s4) 4ed0: 409c lw a5,0(s1) 4ed2: c080 sw s0,0(s1) 4ed4: c45c sw a5,12(s0) 4ed6: 4505 li a0,1 4ed8: 4981 li s3,0 4eda: 445c lw a5,12(s0) 4edc: 8a22 mv s4,s0 4ede: f571 bnez a0,4eaa 4ee0: 843e mv s0,a5 4ee2: b7d1 j 4ea6 00004ee4 : raw_bind(): 4ee4: 4781 li a5,0 4ee6: c999 beqz a1,4efc 4ee8: 3198 lbu a4,1(a1) 4eea: 219c lbu a5,0(a1) 4eec: 0722 slli a4,a4,0x8 4eee: 8f5d or a4,a4,a5 4ef0: 21bc lbu a5,2(a1) 4ef2: 07c2 slli a5,a5,0x10 4ef4: 8f5d or a4,a4,a5 4ef6: 31bc lbu a5,3(a1) 4ef8: 07e2 slli a5,a5,0x18 4efa: 8fd9 or a5,a5,a4 4efc: c11c sw a5,0(a0) 4efe: 4501 li a0,0 4f00: 8082 ret 00004f02 : raw_connect(): 4f02: 4781 li a5,0 4f04: c999 beqz a1,4f1a 4f06: 3198 lbu a4,1(a1) 4f08: 219c lbu a5,0(a1) 4f0a: 0722 slli a4,a4,0x8 4f0c: 8f5d or a4,a4,a5 4f0e: 21bc lbu a5,2(a1) 4f10: 07c2 slli a5,a5,0x10 4f12: 8f5d or a4,a4,a5 4f14: 31bc lbu a5,3(a1) 4f16: 07e2 slli a5,a5,0x18 4f18: 8fd9 or a5,a5,a4 4f1a: c15c sw a5,4(a0) 4f1c: 4501 li a0,0 4f1e: 8082 ret 00004f20 : raw_recv(): 4f20: c94c sw a1,20(a0) 4f22: cd10 sw a2,24(a0) 4f24: 8082 ret 00004f26 : raw_sendto(): 4f26: ab0fb2ef jal t0,1d6 <__riscv_save_4> 4f2a: 84ae mv s1,a1 4f2c: 892a mv s2,a0 4f2e: 45d1 li a1,20 4f30: 8526 mv a0,s1 4f32: 89b2 mv s3,a2 4f34: c0dff0ef jal ra,4b40 4f38: c915 beqz a0,4f6c 4f3a: 4601 li a2,0 4f3c: 4581 li a1,0 4f3e: 4505 li a0,1 4f40: cbdff0ef jal ra,4bfc 4f44: 842a mv s0,a0 4f46: e509 bnez a0,4f50 4f48: 597d li s2,-1 4f4a: 854a mv a0,s2 4f4c: abefb06f j 20a <__riscv_restore_4> 4f50: 85a6 mv a1,s1 4f52: e7bff0ef jal ra,4dcc 4f56: 854e mv a0,s3 4f58: 8b3fe0ef jal ra,380a 4f5c: ed19 bnez a0,4f7a 4f5e: 5971 li s2,-4 4f60: fe9405e3 beq s0,s1,4f4a 4f64: 8522 mv a0,s0 4f66: c49ff0ef jal ra,4bae 4f6a: b7c5 j 4f4a 4f6c: 55b1 li a1,-20 4f6e: 8526 mv a0,s1 4f70: bd1ff0ef jal ra,4b40 4f74: f971 bnez a0,4f48 4f76: 8426 mv s0,s1 4f78: bff9 j 4f56 4f7a: 85ca mv a1,s2 4f7c: 00090563 beqz s2,4f86 4f80: 00092783 lw a5,0(s2) 4f84: e399 bnez a5,4f8a 4f86: 00450593 addi a1,a0,4 4f8a: 01094783 lbu a5,16(s2) 4f8e: 00a94703 lbu a4,10(s2) 4f92: 00b94683 lbu a3,11(s2) 4f96: 882a mv a6,a0 4f98: 864e mv a2,s3 4f9a: 8522 mv a0,s0 4f9c: b55fe0ef jal ra,3af0 4fa0: 892a mv s2,a0 4fa2: bf7d j 4f60 00004fa4 : raw_send(): 4fa4: a4cfb2ef jal t0,1f0 <__riscv_save_0> 4fa8: 00450613 addi a2,a0,4 4fac: f7bff0ef jal ra,4f26 4fb0: a64fb06f j 214 <__riscv_restore_0> 00004fb4 : raw_new(): 4fb4: a3cfb2ef jal t0,1f0 <__riscv_save_0> 4fb8: 84aa mv s1,a0 4fba: 4501 li a0,0 4fbc: a01ff0ef jal ra,49bc 4fc0: 842a mv s0,a0 4fc2: cd11 beqz a0,4fde 4fc4: 4671 li a2,28 4fc6: 4581 li a1,0 4fc8: a58fb0ef jal ra,220 4fcc: f8000793 li a5,-128 4fd0: b43c sb a5,11(s0) 4fd2: 90418793 addi a5,gp,-1788 # 20000124 4fd6: 4398 lw a4,0(a5) 4fd8: a804 sb s1,16(s0) 4fda: c380 sw s0,0(a5) 4fdc: c458 sw a4,12(s0) 4fde: 8522 mv a0,s0 4fe0: a34fb06f j 214 <__riscv_restore_0> 00004fe4 : tcp_new_port(): 4fe4: 9081a683 lw a3,-1784(gp) # 20000128 4fe8: 9201a603 lw a2,-1760(gp) # 20000140 4fec: 9101a583 lw a1,-1776(gp) # 20000130 4ff0: 8301d503 lhu a0,-2000(gp) # 20000050 4ff4: 83018793 addi a5,gp,-2000 # 20000050 4ff8: 00150713 addi a4,a0,1 4ffc: 01071513 slli a0,a4,0x10 5000: 01071813 slli a6,a4,0x10 5004: 8141 srli a0,a0,0x10 5006: 00085363 bgez a6,500c 500a: 6505 lui a0,0x1 500c: 8736 mv a4,a3 500e: e719 bnez a4,501c 5010: 8732 mv a4,a2 5012: eb19 bnez a4,5028 5014: 872e mv a4,a1 5016: ef19 bnez a4,5034 5018: a38a sh a0,0(a5) 501a: 8082 ret 501c: 01c75803 lhu a6,28(a4) 5020: fca80ce3 beq a6,a0,4ff8 5024: 4758 lw a4,12(a4) 5026: b7e5 j 500e 5028: 01c75803 lhu a6,28(a4) 502c: fca806e3 beq a6,a0,4ff8 5030: 4758 lw a4,12(a4) 5032: b7c5 j 5012 5034: 01c75803 lhu a6,28(a4) 5038: fca800e3 beq a6,a0,4ff8 503c: 4758 lw a4,12(a4) 503e: bfe1 j 5016 00005040 : tcp_bind(): 5040: 491c lw a5,16(a0) 5042: 10079663 bnez a5,514e 5046: 990fb2ef jal t0,1d6 <__riscv_save_4> 504a: 1141 addi sp,sp,-16 504c: 84aa mv s1,a0 504e: 8432 mv s0,a2 5050: e611 bnez a2,505c 5052: c62e sw a1,12(sp) 5054: f91ff0ef jal ra,4fe4 5058: 45b2 lw a1,12(sp) 505a: 842a mv s0,a0 505c: 9101a703 lw a4,-1776(gp) # 20000130 5060: e731 bnez a4,50ac 5062: 9081a703 lw a4,-1784(gp) # 20000128 5066: eb25 bnez a4,50d6 5068: 90c1a983 lw s3,-1780(gp) # 2000012c 506c: 90c18913 addi s2,gp,-1780 # 2000012c 5070: 874e mv a4,s3 5072: e759 bnez a4,5100 5074: 9201a783 lw a5,-1760(gp) # 20000140 5078: ebcd bnez a5,512a 507a: c185 beqz a1,509a 507c: 3198 lbu a4,1(a1) 507e: 219c lbu a5,0(a1) 5080: 0722 slli a4,a4,0x8 5082: 8f5d or a4,a4,a5 5084: 21bc lbu a5,2(a1) 5086: 07c2 slli a5,a5,0x10 5088: 8f5d or a4,a4,a5 508a: 31bc lbu a5,3(a1) 508c: 07e2 slli a5,a5,0x18 508e: 8fd9 or a5,a5,a4 5090: c789 beqz a5,509a 5092: 4611 li a2,4 5094: 8526 mv a0,s1 5096: 321030ef jal ra,8bb6 509a: acc2 sh s0,28(s1) 509c: 0134a623 sw s3,12(s1) 50a0: 00992023 sw s1,0(s2) 50a4: 4501 li a0,0 50a6: 0141 addi sp,sp,16 50a8: 962fb06f j 20a <__riscv_restore_4> 50ac: 2f5e lhu a5,28(a4) 50ae: 02879263 bne a5,s0,50d2 50b2: 4310 lw a2,0(a4) 50b4: ce59 beqz a2,5152 50b6: cdd1 beqz a1,5152 50b8: 3194 lbu a3,1(a1) 50ba: 219c lbu a5,0(a1) 50bc: 06a2 slli a3,a3,0x8 50be: 8edd or a3,a3,a5 50c0: 21bc lbu a5,2(a1) 50c2: 07c2 slli a5,a5,0x10 50c4: 8edd or a3,a3,a5 50c6: 31bc lbu a5,3(a1) 50c8: 07e2 slli a5,a5,0x18 50ca: 8fd5 or a5,a5,a3 50cc: c3d9 beqz a5,5152 50ce: 08f60263 beq a2,a5,5152 50d2: 4758 lw a4,12(a4) 50d4: b771 j 5060 50d6: 2f5e lhu a5,28(a4) 50d8: 02879263 bne a5,s0,50fc 50dc: 4310 lw a2,0(a4) 50de: ca35 beqz a2,5152 50e0: c9ad beqz a1,5152 50e2: 3194 lbu a3,1(a1) 50e4: 219c lbu a5,0(a1) 50e6: 06a2 slli a3,a3,0x8 50e8: 8edd or a3,a3,a5 50ea: 21bc lbu a5,2(a1) 50ec: 07c2 slli a5,a5,0x10 50ee: 8edd or a3,a3,a5 50f0: 31bc lbu a5,3(a1) 50f2: 07e2 slli a5,a5,0x18 50f4: 8fd5 or a5,a5,a3 50f6: cfb1 beqz a5,5152 50f8: 04f60d63 beq a2,a5,5152 50fc: 4758 lw a4,12(a4) 50fe: b7a5 j 5066 5100: 2f5e lhu a5,28(a4) 5102: 02879263 bne a5,s0,5126 5106: 4310 lw a2,0(a4) 5108: c629 beqz a2,5152 510a: c5a1 beqz a1,5152 510c: 3194 lbu a3,1(a1) 510e: 219c lbu a5,0(a1) 5110: 06a2 slli a3,a3,0x8 5112: 8edd or a3,a3,a5 5114: 21bc lbu a5,2(a1) 5116: 07c2 slli a5,a5,0x10 5118: 8edd or a3,a3,a5 511a: 31bc lbu a5,3(a1) 511c: 07e2 slli a5,a5,0x18 511e: 8fd5 or a5,a5,a3 5120: cb8d beqz a5,5152 5122: 02f60863 beq a2,a5,5152 5126: 4758 lw a4,12(a4) 5128: b7a9 j 5072 512a: 2fda lhu a4,28(a5) 512c: 00871f63 bne a4,s0,514a 5130: 3194 lbu a3,1(a1) 5132: 2198 lbu a4,0(a1) 5134: 06a2 slli a3,a3,0x8 5136: 8ed9 or a3,a3,a4 5138: 21b8 lbu a4,2(a1) 513a: 0742 slli a4,a4,0x10 513c: 8ed9 or a3,a3,a4 513e: 31b8 lbu a4,3(a1) 5140: 0762 slli a4,a4,0x18 5142: 8f55 or a4,a4,a3 5144: 4394 lw a3,0(a5) 5146: 00e68663 beq a3,a4,5152 514a: 47dc lw a5,12(a5) 514c: b735 j 5078 514e: 554d li a0,-13 5150: 8082 ret 5152: 5555 li a0,-11 5154: bf89 j 50a6 00005156 : tcp_update_rcv_ann_wnd(): 5156: 87aa mv a5,a0 5158: 02c55803 lhu a6,44(a0) # 102c 515c: 5914 lw a3,48(a0) 515e: 3bd2 lhu a2,52(a5) 5160: 550c lw a1,40(a0) 5162: 0407d883 lhu a7,64(a5) 5166: 40d80533 sub a0,a6,a3 516a: 8205 srli a2,a2,0x1 516c: 952e add a0,a0,a1 516e: 8732 mv a4,a2 5170: 00c8f363 bgeu a7,a2,5176 5174: 8746 mv a4,a7 5176: 0742 slli a4,a4,0x10 5178: 8341 srli a4,a4,0x10 517a: 40e50733 sub a4,a0,a4 517e: 00074563 bltz a4,5188 5182: 03079723 sh a6,46(a5) 5186: 8082 ret 5188: 40d58733 sub a4,a1,a3 518c: 00e05663 blez a4,5198 5190: 02079723 sh zero,46(a5) 5194: 4501 li a0,0 5196: 8082 ret 5198: 8e8d sub a3,a3,a1 519a: b7f6 sh a3,46(a5) 519c: bfe5 j 5194 0000519e : tcp_recved(): 519e: 852fb2ef jal t0,1f0 <__riscv_save_0> 51a2: 355e lhu a5,44(a0) 51a4: 842a mv s0,a0 51a6: 95be add a1,a1,a5 51a8: 05c2 slli a1,a1,0x10 51aa: 395e lhu a5,52(a0) 51ac: 81c1 srli a1,a1,0x10 51ae: b54e sh a1,44(a0) 51b0: 00b7f363 bgeu a5,a1,51b6 51b4: b55e sh a5,44(a0) 51b6: 8522 mv a0,s0 51b8: f9fff0ef jal ra,5156 51bc: 385e lhu a5,52(s0) 51be: 8389 srli a5,a5,0x2 51c0: 00f54b63 blt a0,a5,51d6 51c4: 02644783 lbu a5,38(s0) 51c8: 8522 mv a0,s0 51ca: 0027e793 ori a5,a5,2 51ce: 02f40323 sb a5,38(s0) 51d2: 3e2020ef jal ra,75b4 51d6: 83efb06f j 214 <__riscv_restore_0> 000051da : tcp_seg_free(): 51da: 816fb2ef jal t0,1f0 <__riscv_save_0> 51de: 1141 addi sp,sp,-16 51e0: 4401 li s0,0 51e2: cd09 beqz a0,51fc 51e4: 85aa mv a1,a0 51e6: 4148 lw a0,4(a0) 51e8: 4401 li s0,0 51ea: c511 beqz a0,51f6 51ec: c62e sw a1,12(sp) 51ee: 9c1ff0ef jal ra,4bae 51f2: 45b2 lw a1,12(sp) 51f4: 842a mv s0,a0 51f6: 4511 li a0,4 51f8: fe4ff0ef jal ra,49dc 51fc: 8522 mv a0,s0 51fe: 0141 addi sp,sp,16 5200: 814fb06f j 214 <__riscv_restore_0> 00005204 : tcp_segs_free(): 5204: fedfa2ef jal t0,1f0 <__riscv_save_0> 5208: 4401 li s0,0 520a: e501 bnez a0,5212 520c: 8522 mv a0,s0 520e: 806fb06f j 214 <__riscv_restore_0> 5212: 4104 lw s1,0(a0) 5214: fc7ff0ef jal ra,51da 5218: 942a add s0,s0,a0 521a: 0ff47413 andi s0,s0,255 521e: 8526 mv a0,s1 5220: b7ed j 520a 00005222 : tcp_seg_copy(): 5222: fcffa2ef jal t0,1f0 <__riscv_save_0> 5226: 1141 addi sp,sp,-16 5228: c62a sw a0,12(sp) 522a: 4511 li a0,4 522c: f90ff0ef jal ra,49bc 5230: 842a mv s0,a0 5232: c901 beqz a0,5242 5234: 45b2 lw a1,12(sp) 5236: 4651 li a2,20 5238: 17f030ef jal ra,8bb6 523c: 4048 lw a0,4(s0) 523e: b69ff0ef jal ra,4da6 5242: 8522 mv a0,s0 5244: 0141 addi sp,sp,16 5246: fcffa06f j 214 <__riscv_restore_0> 0000524a : tcp_arg(): 524a: cd0c sw a1,24(a0) 524c: 8082 ret 0000524e : tcp_recv(): 524e: 08b52823 sw a1,144(a0) 5252: 8082 ret 00005254 : tcp_sent(): 5254: 08b52623 sw a1,140(a0) 5258: 8082 ret 0000525a : tcp_err(): 525a: 08b52e23 sw a1,156(a0) 525e: 8082 ret 00005260 : tcp_poll(): 5260: 08b52c23 sw a1,152(a0) 5264: 02c50ea3 sb a2,61(a0) 5268: 8082 ret 0000526a : tcp_pcb_purge(): 526a: 491c lw a5,16(a0) 526c: 4705 li a4,1 526e: 04f77463 bgeu a4,a5,52b6 5272: 4729 li a4,10 5274: 04e78163 beq a5,a4,52b6 5278: f79fa2ef jal t0,1f0 <__riscv_save_0> 527c: 842a mv s0,a0 527e: 08852503 lw a0,136(a0) 5282: c509 beqz a0,528c 5284: 92bff0ef jal ra,4bae 5288: 08042423 sw zero,136(s0) 528c: 08442503 lw a0,132(s0) 5290: 57fd li a5,-1 5292: bc7e sh a5,62(s0) 5294: f71ff0ef jal ra,5204 5298: 5c68 lw a0,124(s0) 529a: 08042223 sw zero,132(s0) 529e: f67ff0ef jal ra,5204 52a2: 08042503 lw a0,128(s0) 52a6: f5fff0ef jal ra,5204 52aa: 06042e23 sw zero,124(s0) 52ae: 08042023 sw zero,128(s0) 52b2: f63fa06f j 214 <__riscv_restore_0> 52b6: 8082 ret 000052b8 : tcp_slowtmr(): 52b8: f09fa2ef jal t0,1c0 <__riscv_save_12> 52bc: 200074b7 lui s1,0x20007 52c0: 7f848793 addi a5,s1,2040 # 200077f8 52c4: 91418713 addi a4,gp,-1772 # 20000134 52c8: 0187cc03 lbu s8,24(a5) 52cc: 431c lw a5,0(a4) 52ce: 6aa5 lui s5,0x9 52d0: 0785 addi a5,a5,1 52d2: 9081ad03 lw s10,-1784(gp) # 20000128 52d6: c31c sw a5,0(a4) 52d8: 06600913 li s2,102 52dc: 4a01 li s4,0 52de: 7f848493 addi s1,s1,2040 52e2: 91418413 addi s0,gp,-1772 # 20000134 52e6: 90818993 addi s3,gp,-1784 # 20000128 52ea: 4c8d li s9,3 52ec: e5ca8a93 addi s5,s5,-420 # 8e5c 52f0: 84c18b13 addi s6,gp,-1972 # 2000006c 52f4: 000d1a63 bnez s10,5308 52f8: 9201a403 lw s0,-1760(gp) # 20000140 52fc: 92018493 addi s1,gp,-1760 # 20000140 5300: 24041963 bnez s0,5552 5304: ef9fa06f j 1fc <__riscv_restore_12> 5308: 197d addi s2,s2,-1 530a: 0ff97913 andi s2,s2,255 530e: fe090be3 beqz s2,5304 5312: 052d4603 lbu a2,82(s10) 5316: 010d2683 lw a3,16(s10) 531a: 4d85 li s11,1 531c: 02cc0263 beq s8,a2,5340 5320: 0b0d4d83 lbu s11,176(s10) 5324: 100d8463 beqz s11,542c 5328: 0acd2703 lw a4,172(s10) 532c: 01bb06b3 add a3,s6,s11 5330: fff6c683 lbu a3,-1(a3) 5334: 0705 addi a4,a4,1 5336: 0aed2623 sw a4,172(s10) 533a: 0cd77c63 bgeu a4,a3,5412 533e: 4d81 li s11,0 5340: 010d2703 lw a4,16(s10) 5344: 4699 li a3,6 5346: 00d71d63 bne a4,a3,5360 534a: 038d2603 lw a2,56(s10) 534e: 4014 lw a3,0(s0) 5350: 8e91 sub a3,a3,a2 5352: 4c90 lw a2,24(s1) 5354: 00d67663 bgeu a2,a3,5360 5358: 001d8793 addi a5,s11,1 535c: 0ff7fd93 andi s11,a5,255 5360: 008d5683 lhu a3,8(s10) 5364: 4b81 li s7,0 5366: 8aa1 andi a3,a3,8 5368: ce95 beqz a3,53a4 536a: 4691 li a3,4 536c: 00d70563 beq a4,a3,5376 5370: 469d li a3,7 5372: 02d71963 bne a4,a3,53a4 5376: 0a4d2883 lw a7,164(s10) 537a: 0a8d2683 lw a3,168(s10) 537e: 0a0d2503 lw a0,160(s10) 5382: 4ccc lw a1,28(s1) 5384: 02d886b3 mul a3,a7,a3 5388: 4010 lw a2,0(s0) 538a: 038d2703 lw a4,56(s10) 538e: 8e19 sub a2,a2,a4 5390: 96aa add a3,a3,a0 5392: 02b6d6b3 divu a3,a3,a1 5396: 10c6fc63 bgeu a3,a2,54ae 539a: 001d8793 addi a5,s11,1 539e: 0ff7fd93 andi s11,a5,255 53a2: 4b85 li s7,1 53a4: 084d2503 lw a0,132(s10) 53a8: c105 beqz a0,53c8 53aa: 038d2703 lw a4,56(s10) 53ae: 4014 lw a3,0(s0) 53b0: 4619 li a2,6 53b2: 8e99 sub a3,a3,a4 53b4: 050d1703 lh a4,80(s10) 53b8: 02c70733 mul a4,a4,a2 53bc: 00e6e663 bltu a3,a4,53c8 53c0: e45ff0ef jal ra,5204 53c4: 080d2223 sw zero,132(s10) 53c8: 010d2703 lw a4,16(s10) 53cc: 11971463 bne a4,s9,54d4 53d0: 038d2683 lw a3,56(s10) 53d4: 4018 lw a4,0(s0) 53d6: 8f15 sub a4,a4,a3 53d8: 4c94 lw a3,24(s1) 53da: 10e6e863 bltu a3,a4,54ea 53de: 100d9663 bnez s11,54ea 53e2: 03cd4783 lbu a5,60(s10) 53e6: 03dd4703 lbu a4,61(s10) 53ea: 0785 addi a5,a5,1 53ec: 0ff7f793 andi a5,a5,255 53f0: 02fd0e23 sb a5,60(s10) 53f4: 00e7eb63 bltu a5,a4,540a 53f8: 098d2783 lw a5,152(s10) 53fc: 020d0e23 sb zero,60(s10) 5400: 14079263 bnez a5,5544 5404: 856a mv a0,s10 5406: 1ae020ef jal ra,75b4 540a: 8a6a mv s4,s10 540c: 00cd2d03 lw s10,12(s10) 5410: b5d5 j 52f4 5412: 0a0d2623 sw zero,172(s10) 5416: 4719 li a4,6 5418: 01b76663 bltu a4,s11,5424 541c: 001d8793 addi a5,s11,1 5420: 0afd0823 sb a5,176(s10) 5424: 856a mv a0,s10 5426: 770020ef jal ra,7b96 542a: bf11 j 533e 542c: 03ed1703 lh a4,62(s10) 5430: 00074563 bltz a4,543a 5434: 0705 addi a4,a4,1 5436: 02ed1f23 sh a4,62(s10) 543a: 080d2703 lw a4,128(s10) 543e: f00700e3 beqz a4,533e 5442: 03ed1583 lh a1,62(s10) 5446: 050d1703 lh a4,80(s10) 544a: eeb75ae3 bge a4,a1,533e 544e: 02dcf463 bgeu s9,a3,5476 5452: 04cd1703 lh a4,76(s10) 5456: 04ed1683 lh a3,78(s10) 545a: 47b1 li a5,12 545c: 870d srai a4,a4,0x3 545e: 9736 add a4,a4,a3 5460: 0ff67693 andi a3,a2,255 5464: 00c7f363 bgeu a5,a2,546a 5468: 46b1 li a3,12 546a: 96d6 add a3,a3,s5 546c: 2294 lbu a3,0(a3) 546e: 00d71733 sll a4,a4,a3 5472: 04ed1823 sh a4,80(s10) 5476: 05ad5683 lhu a3,90(s10) 547a: 064d5703 lhu a4,100(s10) 547e: 020d1f23 sh zero,62(s10) 5482: 00e6f363 bgeu a3,a4,5488 5486: 8736 mv a4,a3 5488: 0742 slli a4,a4,0x10 548a: 8341 srli a4,a4,0x10 548c: 040d5683 lhu a3,64(s10) 5490: 8305 srli a4,a4,0x1 5492: 04ed1e23 sh a4,92(s10) 5496: 00d77663 bgeu a4,a3,54a2 549a: 00169713 slli a4,a3,0x1 549e: 04ed1e23 sh a4,92(s10) 54a2: 04dd1d23 sh a3,90(s10) 54a6: 856a mv a0,s10 54a8: 57c020ef jal ra,7a24 54ac: bd51 j 5340 54ae: 0b1d4703 lbu a4,177(s10) 54b2: 4b81 li s7,0 54b4: 03170733 mul a4,a4,a7 54b8: 972a add a4,a4,a0 54ba: 02b75733 divu a4,a4,a1 54be: eec773e3 bgeu a4,a2,53a4 54c2: 856a mv a0,s10 54c4: 674020ef jal ra,7b38 54c8: 0b1d4703 lbu a4,177(s10) 54cc: 0705 addi a4,a4,1 54ce: 0aed08a3 sb a4,177(s10) 54d2: bdc9 j 53a4 54d4: 46a5 li a3,9 54d6: f0d714e3 bne a4,a3,53de 54da: 038d2703 lw a4,56(s10) 54de: 4014 lw a3,0(s0) 54e0: 8e99 sub a3,a3,a4 54e2: 4c98 lw a4,24(s1) 54e4: 0706 slli a4,a4,0x1 54e6: eed77ce3 bgeu a4,a3,53de 54ea: 856a mv a0,s10 54ec: efefd0ef jal ra,2bea 54f0: 856a mv a0,s10 54f2: d79ff0ef jal ra,526a 54f6: 00cd2783 lw a5,12(s10) 54fa: 040a0263 beqz s4,553e 54fe: 00fa2623 sw a5,12(s4) 5502: 09cd2783 lw a5,156(s10) 5506: c789 beqz a5,5510 5508: 018d2503 lw a0,24(s10) 550c: 55ed li a1,-5 550e: 9782 jalr a5 5510: 000b8f63 beqz s7,552e 5514: 024d5783 lhu a5,36(s10) 5518: 01cd5703 lhu a4,28(s10) 551c: 028d2583 lw a1,40(s10) 5520: 060d2503 lw a0,96(s10) 5524: 004d0693 addi a3,s10,4 5528: 866a mv a2,s10 552a: 3f2020ef jal ra,791c 552e: 00cd2b83 lw s7,12(s10) 5532: 85ea mv a1,s10 5534: 4509 li a0,2 5536: ca6ff0ef jal ra,49dc 553a: 8d5e mv s10,s7 553c: bb65 j 52f4 553e: 00f9a023 sw a5,0(s3) 5542: b7c1 j 5502 5544: 018d2503 lw a0,24(s10) 5548: 85ea mv a1,s10 554a: 9782 jalr a5 554c: ea050ce3 beqz a0,5404 5550: bd6d j 540a 5552: 8522 mv a0,s0 5554: e96fd0ef jal ra,2bea 5558: 8522 mv a0,s0 555a: d11ff0ef jal ra,526a 555e: 00c42903 lw s2,12(s0) 5562: 85a2 mv a1,s0 5564: 4509 li a0,2 5566: 0124a023 sw s2,0(s1) 556a: 844a mv s0,s2 556c: c70ff0ef jal ra,49dc 5570: bb41 j 5300 00005572 : tcp_pcb_remove(): 5572: c7ffa2ef jal t0,1f0 <__riscv_save_0> 5576: 411c lw a5,0(a0) 5578: 842e mv s0,a1 557a: 04b79063 bne a5,a1,55ba 557e: 45dc lw a5,12(a1) 5580: c11c sw a5,0(a0) 5582: 00042623 sw zero,12(s0) 5586: 8522 mv a0,s0 5588: ce3ff0ef jal ra,526a 558c: 481c lw a5,16(s0) 558e: 4729 li a4,10 5590: 02e78163 beq a5,a4,55b2 5594: 4705 li a4,1 5596: 00e78e63 beq a5,a4,55b2 559a: 02644783 lbu a5,38(s0) 559e: 0017f713 andi a4,a5,1 55a2: cb01 beqz a4,55b2 55a4: 0027e793 ori a5,a5,2 55a8: 02f40323 sb a5,38(s0) 55ac: 8522 mv a0,s0 55ae: 006020ef jal ra,75b4 55b2: 00042823 sw zero,16(s0) 55b6: c5ffa06f j 214 <__riscv_restore_0> 55ba: 90f1ae23 sw a5,-1764(gp) # 2000013c 55be: 4681 li a3,0 55c0: 91c18713 addi a4,gp,-1764 # 2000013c 55c4: e789 bnez a5,55ce 55c6: ded5 beqz a3,5582 55c8: 00072023 sw zero,0(a4) 55cc: bf5d j 5582 55ce: 47d0 lw a2,12(a5) 55d0: 00861763 bne a2,s0,55de 55d4: c291 beqz a3,55d8 55d6: c31c sw a5,0(a4) 55d8: 4458 lw a4,12(s0) 55da: c7d8 sw a4,12(a5) 55dc: b75d j 5582 55de: 4685 li a3,1 55e0: 87b2 mv a5,a2 55e2: b7cd j 55c4 000055e4 : tcp_close(): 55e4: 491c lw a5,16(a0) 55e6: 471d li a4,7 55e8: 0af76563 bltu a4,a5,5692 55ec: c05fa2ef jal t0,1f0 <__riscv_save_0> 55f0: 6725 lui a4,0x9 55f2: 078a slli a5,a5,0x2 55f4: e3c70713 addi a4,a4,-452 # 8e3c 55f8: 97ba add a5,a5,a4 55fa: 439c lw a5,0(a5) 55fc: 842a mv s0,a0 55fe: 8782 jr a5 5600: deafd0ef jal ra,2bea 5604: 90c18713 addi a4,gp,-1780 # 2000012c 5608: 431c lw a5,0(a4) 560a: 00879963 bne a5,s0,561c 560e: 445c lw a5,12(s0) 5610: c31c sw a5,0(a4) 5612: 00042623 sw zero,12(s0) 5616: 85a2 mv a1,s0 5618: 4509 li a0,2 561a: a83d j 5658 561c: 90f1ae23 sw a5,-1764(gp) # 2000013c 5620: 4681 li a3,0 5622: 91c18713 addi a4,gp,-1764 # 2000013c 5626: e789 bnez a5,5630 5628: d6ed beqz a3,5612 562a: 00072023 sw zero,0(a4) 562e: b7d5 j 5612 5630: 47d0 lw a2,12(a5) 5632: 00861763 bne a2,s0,5640 5636: c291 beqz a3,563a 5638: c31c sw a5,0(a4) 563a: 4458 lw a4,12(s0) 563c: c7d8 sw a4,12(a5) 563e: bfd1 j 5612 5640: 4685 li a3,1 5642: 87b2 mv a5,a2 5644: b7cd j 5626 5646: da4fd0ef jal ra,2bea 564a: 85a2 mv a1,s0 564c: 91018513 addi a0,gp,-1776 # 20000130 5650: f23ff0ef jal ra,5572 5654: 85a2 mv a1,s0 5656: 450d li a0,3 5658: b84ff0ef jal ra,49dc 565c: 4501 li a0,0 565e: a831 j 567a 5660: d8afd0ef jal ra,2bea 5664: 85a2 mv a1,s0 5666: 90818513 addi a0,gp,-1784 # 20000128 566a: f09ff0ef jal ra,5572 566e: b765 j 5616 5670: 4585 li a1,1 5672: 68d010ef jal ra,74fe 5676: 4795 li a5,5 5678: c901 beqz a0,5688 567a: b9bfa06f j 214 <__riscv_restore_0> 567e: 4585 li a1,1 5680: 67f010ef jal ra,74fe 5684: f97d bnez a0,567a 5686: 47a5 li a5,9 5688: c81c sw a5,16(s0) 568a: 8522 mv a0,s0 568c: 729010ef jal ra,75b4 5690: b7f1 j 565c 5692: 4501 li a0,0 5694: 8082 ret 00005696 : tcp_recv_null(): 5696: b5bfa2ef jal t0,1f0 <__riscv_save_0> 569a: 1141 addi sp,sp,-16 569c: 852e mv a0,a1 569e: ce11 beqz a2,56ba 56a0: 260e lhu a1,8(a2) 56a2: c632 sw a2,12(sp) 56a4: afbff0ef jal ra,519e 56a8: 4632 lw a2,12(sp) 56aa: 8532 mv a0,a2 56ac: d02ff0ef jal ra,4bae 56b0: 4781 li a5,0 56b2: 853e mv a0,a5 56b4: 0141 addi sp,sp,16 56b6: b5ffa06f j 214 <__riscv_restore_0> 56ba: 4781 li a5,0 56bc: fafd bnez a3,56b2 56be: f27ff0ef jal ra,55e4 56c2: 87aa mv a5,a0 56c4: b7fd j 56b2 000056c6 : tcp_fasttmr(): 56c6: b2bfa2ef jal t0,1f0 <__riscv_save_0> 56ca: 9081a403 lw s0,-1784(gp) # 20000128 56ce: 06500493 li s1,101 56d2: e019 bnez s0,56d8 56d4: b41fa06f j 214 <__riscv_restore_0> 56d8: 08842603 lw a2,136(s0) 56dc: ca19 beqz a2,56f2 56de: 09042783 lw a5,144(s0) 56e2: 4681 li a3,0 56e4: 85a2 mv a1,s0 56e6: cf8d beqz a5,5720 56e8: 4c08 lw a0,24(s0) 56ea: 9782 jalr a5 56ec: e119 bnez a0,56f2 56ee: 08042423 sw zero,136(s0) 56f2: 14fd addi s1,s1,-1 56f4: 0ff4f493 andi s1,s1,255 56f8: dcf1 beqz s1,56d4 56fa: 02644783 lbu a5,38(s0) 56fe: 0017f713 andi a4,a5,1 5702: cf09 beqz a4,571c 5704: 0027e793 ori a5,a5,2 5708: 02f40323 sb a5,38(s0) 570c: 8522 mv a0,s0 570e: 6a7010ef jal ra,75b4 5712: 02644783 lbu a5,38(s0) 5716: 9bf1 andi a5,a5,-4 5718: 02f40323 sb a5,38(s0) 571c: 4440 lw s0,12(s0) 571e: bf55 j 56d2 5720: 4501 li a0,0 5722: f75ff0ef jal ra,5696 5726: b7d9 j 56ec 00005728 : tcp_tmr(): 5728: ac9fa2ef jal t0,1f0 <__riscv_save_0> 572c: f9bff0ef jal ra,56c6 5730: 91818713 addi a4,gp,-1768 # 20000138 5734: 231c lbu a5,0(a4) 5736: 0785 addi a5,a5,1 5738: 0ff7f793 andi a5,a5,255 573c: a31c sb a5,0(a4) 573e: 8b85 andi a5,a5,1 5740: c399 beqz a5,5746 5742: b77ff0ef jal ra,52b8 5746: acffa06f j 214 <__riscv_restore_0> 0000574a : tcp_fastsendack(): 574a: aa7fa2ef jal t0,1f0 <__riscv_save_0> 574e: 9081a403 lw s0,-1784(gp) # 20000128 5752: 06500493 li s1,101 5756: 4901 li s2,0 5758: e401 bnez s0,5760 575a: 854a mv a0,s2 575c: ab9fa06f j 214 <__riscv_restore_0> 5760: 08842603 lw a2,136(s0) 5764: ca19 beqz a2,577a 5766: 09042783 lw a5,144(s0) 576a: 4681 li a3,0 576c: 85a2 mv a1,s0 576e: c7b1 beqz a5,57ba 5770: 4c08 lw a0,24(s0) 5772: 9782 jalr a5 5774: e119 bnez a0,577a 5776: 08042423 sw zero,136(s0) 577a: 14fd addi s1,s1,-1 577c: 0ff4f493 andi s1,s1,255 5780: dce9 beqz s1,575a 5782: 02744783 lbu a5,39(s0) 5786: cb85 beqz a5,57b6 5788: 02644703 lbu a4,38(s0) 578c: 00177693 andi a3,a4,1 5790: c29d beqz a3,57b6 5792: 17fd addi a5,a5,-1 5794: 0ff7f793 andi a5,a5,255 5798: 02f403a3 sb a5,39(s0) 579c: e39d bnez a5,57c2 579e: 00276713 ori a4,a4,2 57a2: 02e40323 sb a4,38(s0) 57a6: 8522 mv a0,s0 57a8: 60d010ef jal ra,75b4 57ac: 02644783 lbu a5,38(s0) 57b0: 9bf1 andi a5,a5,-4 57b2: 02f40323 sb a5,38(s0) 57b6: 4440 lw s0,12(s0) 57b8: b745 j 5758 57ba: 4501 li a0,0 57bc: edbff0ef jal ra,5696 57c0: bf55 j 5774 57c2: 0905 addi s2,s2,1 57c4: bfcd j 57b6 000057c6 : tcp_abandon(): 57c6: a03fa2ef jal t0,1c8 <__riscv_save_10> 57ca: 4918 lw a4,16(a0) 57cc: 47a9 li a5,10 57ce: 1141 addi sp,sp,-16 57d0: 842a mv s0,a0 57d2: 00f71e63 bne a4,a5,57ee 57d6: 85aa mv a1,a0 57d8: 92018513 addi a0,gp,-1760 # 20000140 57dc: d97ff0ef jal ra,5572 57e0: 85a2 mv a1,s0 57e2: 4509 li a0,2 57e4: 9f8ff0ef jal ra,49dc 57e8: 0141 addi sp,sp,16 57ea: a17fa06f j 200 <__riscv_restore_10> 57ee: 411c lw a5,0(a0) 57f0: 8b2e mv s6,a1 57f2: 06052903 lw s2,96(a0) 57f6: c63e sw a5,12(sp) 57f8: 415c lw a5,4(a0) 57fa: 02852983 lw s3,40(a0) 57fe: 01c55a03 lhu s4,28(a0) 5802: c43e sw a5,8(sp) 5804: 02455a83 lhu s5,36(a0) 5808: 09c52483 lw s1,156(a0) 580c: 01852b83 lw s7,24(a0) 5810: bdafd0ef jal ra,2bea 5814: 90818513 addi a0,gp,-1784 # 20000128 5818: 85a2 mv a1,s0 581a: d59ff0ef jal ra,5572 581e: 08042503 lw a0,128(s0) 5822: c119 beqz a0,5828 5824: 9e1ff0ef jal ra,5204 5828: 5c68 lw a0,124(s0) 582a: c119 beqz a0,5830 582c: 9d9ff0ef jal ra,5204 5830: 08442503 lw a0,132(s0) 5834: c119 beqz a0,583a 5836: 9cfff0ef jal ra,5204 583a: 85a2 mv a1,s0 583c: 4509 li a0,2 583e: 99eff0ef jal ra,49dc 5842: c481 beqz s1,584a 5844: 55ed li a1,-5 5846: 855e mv a0,s7 5848: 9482 jalr s1 584a: f80b0fe3 beqz s6,57e8 584e: 87d6 mv a5,s5 5850: 8752 mv a4,s4 5852: 0034 addi a3,sp,8 5854: 0070 addi a2,sp,12 5856: 85ce mv a1,s3 5858: 854a mv a0,s2 585a: 0c2020ef jal ra,791c 585e: b769 j 57e8 00005860 : tcp_next_iss(): 5860: 82c18793 addi a5,gp,-2004 # 2000004c 5864: 4388 lw a0,0(a5) 5866: 9141a703 lw a4,-1772(gp) # 20000134 586a: 953a add a0,a0,a4 586c: c388 sw a0,0(a5) 586e: 8082 ret 00005870 : tcp_alloc(): 5870: 967fa2ef jal t0,1d6 <__riscv_save_4> 5874: 892a mv s2,a0 5876: 4509 li a0,2 5878: 944ff0ef jal ra,49bc 587c: 200084b7 lui s1,0x20008 5880: 83c48493 addi s1,s1,-1988 # 2000783c 5884: 842a mv s0,a0 5886: e125 bnez a0,58e6 5888: 489c lw a5,16(s1) 588a: 8389 srli a5,a5,0x2 588c: 8b85 andi a5,a5,1 588e: e789 bnez a5,5898 5890: 4401 li s0,0 5892: 8522 mv a0,s0 5894: 977fa06f j 20a <__riscv_restore_4> 5898: 9201a783 lw a5,-1760(gp) # 20000140 589c: 9141a603 lw a2,-1772(gp) # 20000134 58a0: 4501 li a0,0 58a2: 4681 li a3,0 58a4: 91418993 addi s3,gp,-1772 # 20000134 58a8: e7f1 bnez a5,5974 58aa: c501 beqz a0,58b2 58ac: 4585 li a1,1 58ae: f19ff0ef jal ra,57c6 58b2: 4509 li a0,2 58b4: 908ff0ef jal ra,49bc 58b8: 842a mv s0,a0 58ba: e515 bnez a0,58e6 58bc: 9081a783 lw a5,-1784(gp) # 20000128 58c0: 0009a503 lw a0,0(s3) 58c4: 197d addi s2,s2,-1 58c6: 0ff97913 andi s2,s2,255 58ca: 07f00613 li a2,127 58ce: 4581 li a1,0 58d0: ebdd bnez a5,5986 58d2: c409 beqz s0,58dc 58d4: 4585 li a1,1 58d6: 8522 mv a0,s0 58d8: eefff0ef jal ra,57c6 58dc: 4509 li a0,2 58de: 8deff0ef jal ra,49bc 58e2: 842a mv s0,a0 58e4: d555 beqz a0,5890 58e6: 0b400613 li a2,180 58ea: 4581 li a1,0 58ec: 8522 mv a0,s0 58ee: 933fa0ef jal ra,220 58f2: 04000793 li a5,64 58f6: a85c sb a5,20(s0) 58f8: 449c lw a5,8(s1) 58fa: 06041c23 sh zero,120(s0) 58fe: 21800713 li a4,536 5902: 06f41b23 sh a5,118(s0) 5906: 385e lhu a5,52(s0) 5908: b45e sh a5,44(s0) 590a: b47e sh a5,46(s0) 590c: 77e1 lui a5,0xffff8 590e: a43e sh a5,10(s0) 5910: 40dc lw a5,4(s1) 5912: 00f77463 bgeu a4,a5,591a 5916: 21800793 li a5,536 591a: 04f41023 sh a5,64(s0) 591e: 67c1 lui a5,0x10 5920: 577d li a4,-1 5922: c47c sw a5,76(s0) 5924: 4785 li a5,1 5926: 04f41823 sh a5,80(s0) 592a: bc7a sh a4,62(s0) 592c: 04f41d23 sh a5,90(s0) 5930: f31ff0ef jal ra,5860 5934: 9141a783 lw a5,-1772(gp) # 20000134 5938: d468 sw a0,108(s0) 593a: d028 sw a0,96(s0) 593c: dc1c sw a5,56(s0) 593e: 000057b7 lui a5,0x5 5942: 69678793 addi a5,a5,1686 # 5696 5946: 08f42823 sw a5,144(s0) 594a: 200077b7 lui a5,0x20007 594e: 7ec7a703 lw a4,2028(a5) # 200077ec 5952: 7ec78793 addi a5,a5,2028 5956: c868 sw a0,84(s0) 5958: 0ae42023 sw a4,160(s0) 595c: 43d8 lw a4,4(a5) 595e: 479c lw a5,8(a5) 5960: d828 sw a0,112(s0) 5962: 02040e23 sb zero,60(s0) 5966: 0ae42223 sw a4,164(s0) 596a: 0af42423 sw a5,168(s0) 596e: 0a0408a3 sb zero,177(s0) 5972: b705 j 5892 5974: 5f98 lw a4,56(a5) 5976: 40e60733 sub a4,a2,a4 597a: 00d76463 bltu a4,a3,5982 597e: 86ba mv a3,a4 5980: 853e mv a0,a5 5982: 47dc lw a5,12(a5) 5984: b715 j 58a8 5986: 2bd4 lbu a3,20(a5) 5988: 00d96c63 bltu s2,a3,59a0 598c: 00d66a63 bltu a2,a3,59a0 5990: 5f98 lw a4,56(a5) 5992: 40e50733 sub a4,a0,a4 5996: 00b76563 bltu a4,a1,59a0 599a: 8636 mv a2,a3 599c: 85ba mv a1,a4 599e: 843e mv s0,a5 59a0: 47dc lw a5,12(a5) 59a2: b73d j 58d0 000059a4 : tcp_new(): 59a4: 84dfa2ef jal t0,1f0 <__riscv_save_0> 59a8: 04000513 li a0,64 59ac: ec5ff0ef jal ra,5870 59b0: 865fa06f j 214 <__riscv_restore_0> 000059b4 : tcp_eff_send_mss(): 59b4: 83dfa2ef jal t0,1f0 <__riscv_save_0> 59b8: 842a mv s0,a0 59ba: 852e mv a0,a1 59bc: e4ffd0ef jal ra,380a 59c0: cd11 beqz a0,59dc 59c2: 391e lhu a5,48(a0) 59c4: cf81 beqz a5,59dc 59c6: fd878793 addi a5,a5,-40 59ca: 873e mv a4,a5 59cc: 07c2 slli a5,a5,0x10 59ce: 83c1 srli a5,a5,0x10 59d0: 00f47363 bgeu s0,a5,59d6 59d4: 8722 mv a4,s0 59d6: 01071413 slli s0,a4,0x10 59da: 8041 srli s0,s0,0x10 59dc: 8522 mv a0,s0 59de: 837fa06f j 214 <__riscv_restore_0> 000059e2 : tcp_connect(): 59e2: ff4fa2ef jal t0,1d6 <__riscv_save_4> 59e6: 4918 lw a4,16(a0) 59e8: 54cd li s1,-13 59ea: eb45 bnez a4,5a9a 59ec: 89ae mv s3,a1 59ee: 54dd li s1,-9 59f0: c5cd beqz a1,5a9a 59f2: 842a mv s0,a0 59f4: 84b2 mv s1,a2 59f6: 0511 addi a0,a0,4 59f8: 4611 li a2,4 59fa: 8936 mv s2,a3 59fc: 1ba030ef jal ra,8bb6 5a00: 2c5e lhu a5,28(s0) 5a02: b046 sh s1,36(s0) 5a04: e781 bnez a5,5a0c 5a06: ddeff0ef jal ra,4fe4 5a0a: ac4a sh a0,28(s0) 5a0c: e55ff0ef jal ra,5860 5a10: 385e lhu a5,52(s0) 5a12: d028 sw a0,96(s0) 5a14: 157d addi a0,a0,-1 5a16: b45e sh a5,44(s0) 5a18: b47e sh a5,46(s0) 5a1a: 06f41223 sh a5,100(s0) 5a1e: 200087b7 lui a5,0x20008 5a22: c868 sw a0,84(s0) 5a24: d828 sw a0,112(s0) 5a26: 8407a503 lw a0,-1984(a5) # 20007840 5a2a: 02042423 sw zero,40(s0) 5a2e: 02042823 sw zero,48(s0) 5a32: 21800793 li a5,536 5a36: 00a7f463 bgeu a5,a0,5a3e 5a3a: 21800513 li a0,536 5a3e: 0542 slli a0,a0,0x10 5a40: 8141 srli a0,a0,0x10 5a42: 04a41023 sh a0,64(s0) 5a46: 85ce mv a1,s3 5a48: f6dff0ef jal ra,59b4 5a4c: 4785 li a5,1 5a4e: 04f41d23 sh a5,90(s0) 5a52: 47a9 li a5,10 5a54: 04a41023 sh a0,64(s0) 5a58: 02f50533 mul a0,a0,a5 5a5c: 4789 li a5,2 5a5e: 90c18713 addi a4,gp,-1780 # 2000012c 5a62: c81c sw a5,16(s0) 5a64: 431c lw a5,0(a4) 5a66: 09242a23 sw s2,148(s0) 5a6a: 04a41e23 sh a0,92(s0) 5a6e: 02879963 bne a5,s0,5aa0 5a72: 445c lw a5,12(s0) 5a74: c31c sw a5,0(a4) 5a76: 90818793 addi a5,gp,-1784 # 20000128 5a7a: 4398 lw a4,0(a5) 5a7c: 4689 li a3,2 5a7e: c380 sw s0,0(a5) 5a80: c458 sw a4,12(s0) 5a82: 4785 li a5,1 5a84: 4701 li a4,0 5a86: 4601 li a2,0 5a88: 4581 li a1,0 5a8a: 8522 mv a0,s0 5a8c: 62a010ef jal ra,70b6 5a90: 84aa mv s1,a0 5a92: e501 bnez a0,5a9a 5a94: 8522 mv a0,s0 5a96: 31f010ef jal ra,75b4 5a9a: 8526 mv a0,s1 5a9c: f6efa06f j 20a <__riscv_restore_4> 5aa0: 90f1ae23 sw a5,-1764(gp) # 2000013c 5aa4: 4681 li a3,0 5aa6: 91c18713 addi a4,gp,-1764 # 2000013c 5aaa: e789 bnez a5,5ab4 5aac: d6e9 beqz a3,5a76 5aae: 00072023 sw zero,0(a4) 5ab2: b7d1 j 5a76 5ab4: 47d0 lw a2,12(a5) 5ab6: 00861763 bne a2,s0,5ac4 5aba: c291 beqz a3,5abe 5abc: c31c sw a5,0(a4) 5abe: 4458 lw a4,12(s0) 5ac0: c7d8 sw a4,12(a5) 5ac2: bf55 j 5a76 5ac4: 4685 li a3,1 5ac6: 87b2 mv a5,a2 5ac8: b7cd j 5aaa 00005aca : RemoveTimeWaiTCP(): 5aca: f26fa2ef jal t0,1f0 <__riscv_save_0> 5ace: 9201a403 lw s0,-1760(gp) # 20000140 5ad2: 92018493 addi s1,gp,-1760 # 20000140 5ad6: e019 bnez s0,5adc 5ad8: f3cfa06f j 214 <__riscv_restore_0> 5adc: 8522 mv a0,s0 5ade: 90cfd0ef jal ra,2bea 5ae2: 8522 mv a0,s0 5ae4: f86ff0ef jal ra,526a 5ae8: 00c42903 lw s2,12(s0) 5aec: 85a2 mv a1,s0 5aee: 4509 li a0,2 5af0: 0124a023 sw s2,0(s1) 5af4: 844a mv s0,s2 5af6: ee7fe0ef jal ra,49dc 5afa: bff1 j 5ad6 00005afc : tcp_oos_insert_segment(): 5afc: edafa2ef jal t0,1d6 <__riscv_save_4> 5b00: 491c lw a5,16(a0) 5b02: 84aa mv s1,a0 5b04: 8a2e mv s4,a1 5b06: 27c8 lbu a0,12(a5) 5b08: 37dc lbu a5,13(a5) 5b0a: 07a2 slli a5,a5,0x8 5b0c: 8d5d or a0,a0,a5 5b0e: cbffd0ef jal ra,37cc 5b12: 8905 andi a0,a0,1 5b14: e929 bnez a0,5b66 5b16: 6941 lui s2,0x10 5b18: fc090913 addi s2,s2,-64 # ffc0 <_data_lma+0x712c> 5b1c: 010a2703 lw a4,16(s4) 5b20: 9381a603 lw a2,-1736(gp) # 20000158 5b24: 24de lhu a5,12(s1) 5b26: 3354 lbu a3,5(a4) 5b28: 234c lbu a1,4(a4) 5b2a: 97b2 add a5,a5,a2 5b2c: 06a2 slli a3,a3,0x8 5b2e: 8dd5 or a1,a1,a3 5b30: 2374 lbu a3,6(a4) 5b32: 06c2 slli a3,a3,0x10 5b34: 8ecd or a3,a3,a1 5b36: 336c lbu a1,7(a4) 5b38: 05e2 slli a1,a1,0x18 5b3a: 8dd5 or a1,a1,a3 5b3c: 00ca5683 lhu a3,12(s4) 5b40: 96ae add a3,a3,a1 5b42: 40d786b3 sub a3,a5,a3 5b46: 0206d563 bgez a3,5b70 5b4a: 8f8d sub a5,a5,a1 5b4c: 00f05963 blez a5,5b5e 5b50: 8d91 sub a1,a1,a2 5b52: 05c2 slli a1,a1,0x10 5b54: 40c8 lw a0,4(s1) 5b56: 81c1 srli a1,a1,0x10 5b58: a4ce sh a1,12(s1) 5b5a: 9e2ff0ef jal ra,4d3c 5b5e: 0144a023 sw s4,0(s1) 5b62: ea8fa06f j 20a <__riscv_restore_4> 5b66: 8552 mv a0,s4 5b68: e9cff0ef jal ra,5204 5b6c: 4a01 li s4,0 5b6e: bfc5 j 5b5e 5b70: 375c lbu a5,13(a4) 5b72: 2748 lbu a0,12(a4) 5b74: 07a2 slli a5,a5,0x8 5b76: 8d5d or a0,a0,a5 5b78: c55fd0ef jal ra,37cc 5b7c: 8905 andi a0,a0,1 5b7e: cd15 beqz a0,5bba 5b80: 489c lw a5,16(s1) 5b82: 37c0 lbu s0,13(a5) 5b84: 27c8 lbu a0,12(a5) 5b86: 0422 slli s0,s0,0x8 5b88: 8c49 or s0,s0,a0 5b8a: 854a mv a0,s2 5b8c: c33fd0ef jal ra,37be 5b90: 489c lw a5,16(s1) 5b92: 8c69 and s0,s0,a0 5b94: 27c8 lbu a0,12(a5) 5b96: 37dc lbu a5,13(a5) 5b98: 07a2 slli a5,a5,0x8 5b9a: 8d5d or a0,a0,a5 5b9c: c31fd0ef jal ra,37cc 5ba0: 03e57513 andi a0,a0,62 5ba4: 00156513 ori a0,a0,1 5ba8: c17fd0ef jal ra,37be 5bac: 489c lw a5,16(s1) 5bae: 8d41 or a0,a0,s0 5bb0: 0542 slli a0,a0,0x10 5bb2: 8141 srli a0,a0,0x10 5bb4: a7c8 sb a0,12(a5) 5bb6: 8121 srli a0,a0,0x8 5bb8: b7c8 sb a0,13(a5) 5bba: 000a2403 lw s0,0(s4) 5bbe: 8552 mv a0,s4 5bc0: e1aff0ef jal ra,51da 5bc4: d445 beqz s0,5b6c 5bc6: 8a22 mv s4,s0 5bc8: bf91 j 5b1c 00005bca : tcp_receive(): 5bca: dfefa2ef jal t0,1c8 <__riscv_save_10> 5bce: 9281c783 lbu a5,-1752(gp) # 20000148 5bd2: 842a mv s0,a0 5bd4: 8bc1 andi a5,a5,16 5bd6: 93818993 addi s3,gp,-1736 # 20000158 5bda: c7f1 beqz a5,5ca6 5bdc: 0009a583 lw a1,0(s3) 5be0: 5538 lw a4,104(a0) 5be2: 06455683 lhu a3,100(a0) 5be6: 5570 lw a2,108(a0) 5be8: 40b70533 sub a0,a4,a1 5bec: 9241a783 lw a5,-1756(gp) # 20000144 5bf0: 92418493 addi s1,gp,-1756 # 20000144 5bf4: 02054463 bltz a0,5c1c 5bf8: 00b71663 bne a4,a1,5c04 5bfc: 40f60733 sub a4,a2,a5 5c00: 00074e63 bltz a4,5c1c 5c04: 02f61e63 bne a2,a5,5c40 5c08: 9401a503 lw a0,-1728(gp) # 20000160 5c0c: 3578 lbu a4,15(a0) 5c0e: 00e54803 lbu a6,14(a0) 5c12: 0722 slli a4,a4,0x8 5c14: 01076733 or a4,a4,a6 5c18: 02e6f463 bgeu a3,a4,5c40 5c1c: 9401a503 lw a0,-1728(gp) # 20000160 5c20: 3578 lbu a4,15(a0) 5c22: 00e54803 lbu a6,14(a0) 5c26: d42c sw a1,104(s0) 5c28: 0722 slli a4,a4,0x8 5c2a: 01076733 or a4,a4,a6 5c2e: 06e41223 sh a4,100(s0) 5c32: d47c sw a5,108(s0) 5c34: c711 beqz a4,5c40 5c36: 0b044703 lbu a4,176(s0) 5c3a: c319 beqz a4,5c40 5c3c: 0a040823 sb zero,176(s0) 5c40: 486c lw a1,84(s0) 5c42: 40b78733 sub a4,a5,a1 5c46: 2ee04263 bgtz a4,5f2a 5c4a: 9441d703 lhu a4,-1724(gp) # 20000164 5c4e: 06041a23 sh zero,116(s0) 5c52: 2c071963 bnez a4,5f24 5c56: 06445703 lhu a4,100(s0) 5c5a: 5468 lw a0,108(s0) 5c5c: 96b2 add a3,a3,a2 5c5e: 972a add a4,a4,a0 5c60: 2cd71263 bne a4,a3,5f24 5c64: 03e41703 lh a4,62(s0) 5c68: 2a074e63 bltz a4,5f24 5c6c: 2af59c63 bne a1,a5,5f24 5c70: 05844783 lbu a5,88(s0) 5c74: 470d li a4,3 5c76: 0785 addi a5,a5,1 5c78: 0ff7f793 andi a5,a5,255 5c7c: 04f40c23 sb a5,88(s0) 5c80: 28f77c63 bgeu a4,a5,5f18 5c84: 05a45703 lhu a4,90(s0) 5c88: 04045783 lhu a5,64(s0) 5c8c: 97ba add a5,a5,a4 5c8e: 07c2 slli a5,a5,0x10 5c90: 83c1 srli a5,a5,0x10 5c92: 00f77463 bgeu a4,a5,5c9a 5c96: 04f41d23 sh a5,90(s0) 5c9a: 5c7c lw a5,124(s0) 5c9c: 3a079f63 bnez a5,605a 5ca0: 4070 lw a2,68(s0) 5ca2: 44061a63 bnez a2,60f6 5ca6: 9441d603 lhu a2,-1724(gp) # 20000164 5caa: 0009a783 lw a5,0(s3) 5cae: 5414 lw a3,40(s0) 5cb0: 94418a13 addi s4,gp,-1724 # 20000164 5cb4: 040600e3 beqz a2,64f4 5cb8: 40f685b3 sub a1,a3,a5 5cbc: fff58713 addi a4,a1,-1 5cc0: 4a074b63 bltz a4,6176 5cc4: 4705 li a4,1 5cc6: 8f1d sub a4,a4,a5 5cc8: 8f11 sub a4,a4,a2 5cca: 9736 add a4,a4,a3 5ccc: 4ae04563 bgtz a4,6176 5cd0: 20008937 lui s2,0x20008 5cd4: 8c090793 addi a5,s2,-1856 # 200078c0 5cd8: 43c4 lw s1,4(a5) 5cda: 01059713 slli a4,a1,0x10 5cde: 8341 srli a4,a4,0x10 5ce0: 24be lhu a5,10(s1) 5ce2: 8c090913 addi s2,s2,-1856 5ce6: 48b7d363 bge a5,a1,616c 5cea: 249e lhu a5,8(s1) 5cec: 8f99 sub a5,a5,a4 5cee: 07c2 slli a5,a5,0x10 5cf0: 83c1 srli a5,a5,0x10 5cf2: 24ba lhu a4,10(s1) 5cf4: 46b74663 blt a4,a1,6160 5cf8: 40b005b3 neg a1,a1 5cfc: 05c2 slli a1,a1,0x10 5cfe: 85c1 srai a1,a1,0x10 5d00: 8526 mv a0,s1 5d02: e3ffe0ef jal ra,4b40 5d06: 40dc lw a5,4(s1) 5d08: 00c95683 lhu a3,12(s2) 5d0c: 0009a703 lw a4,0(s3) 5d10: 00f92423 sw a5,8(s2) 5d14: 541c lw a5,40(s0) 5d16: 9736 add a4,a4,a3 5d18: 8f1d sub a4,a4,a5 5d1a: 00e91623 sh a4,12(s2) 5d1e: 01092703 lw a4,16(s2) 5d22: 0087d693 srli a3,a5,0x8 5d26: 00f9a023 sw a5,0(s3) 5d2a: a35c sb a5,4(a4) 5d2c: b354 sb a3,5(a4) 5d2e: 0107d693 srli a3,a5,0x10 5d32: 83e1 srli a5,a5,0x18 5d34: a374 sb a3,6(a4) 5d36: b37c sb a5,7(a4) 5d38: 0009a683 lw a3,0(s3) 5d3c: 5418 lw a4,40(s0) 5d3e: 40e687b3 sub a5,a3,a4 5d42: 0007c963 bltz a5,5d54 5d46: 3452 lhu a2,44(s0) 5d48: 00168793 addi a5,a3,1 5d4c: 8f99 sub a5,a5,a4 5d4e: 8f91 sub a5,a5,a2 5d50: 44f05063 blez a5,6190 5d54: 200087b7 lui a5,0x20008 5d58: 8d07a783 lw a5,-1840(a5) # 200078d0 5d5c: 27c8 lbu a0,12(a5) 5d5e: 37dc lbu a5,13(a5) 5d60: 07a2 slli a5,a5,0x8 5d62: 8d5d or a0,a0,a5 5d64: a69fd0ef jal ra,37cc 5d68: 8905 andi a0,a0,1 5d6a: 78050163 beqz a0,64ec 5d6e: 5418 lw a4,40(s0) 5d70: 0009a783 lw a5,0(s3) 5d74: 76f71c63 bne a4,a5,64ec 5d78: 200084b7 lui s1,0x20008 5d7c: 8c048a93 addi s5,s1,-1856 # 200078c0 5d80: 010aa783 lw a5,16(s5) 5d84: 00cad903 lhu s2,12(s5) 5d88: 8c048493 addi s1,s1,-1856 5d8c: 27c8 lbu a0,12(a5) 5d8e: 37dc lbu a5,13(a5) 5d90: 07a2 slli a5,a5,0x8 5d92: 8d5d or a0,a0,a5 5d94: a39fd0ef jal ra,37cc 5d98: 890d andi a0,a0,3 5d9a: 00a03533 snez a0,a0 5d9e: 992a add s2,s2,a0 5da0: 010aa783 lw a5,16(s5) 5da4: 0942 slli s2,s2,0x10 5da6: 01095913 srli s2,s2,0x10 5daa: 012a1023 sh s2,0(s4) 5dae: 27c8 lbu a0,12(a5) 5db0: 37dc lbu a5,13(a5) 5db2: 07a2 slli a5,a5,0x8 5db4: 8d5d or a0,a0,a5 5db6: a17fd0ef jal ra,37cc 5dba: 8905 andi a0,a0,1 5dbc: 3e051c63 bnez a0,61b4 5dc0: 345e lhu a5,44(s0) 5dc2: 0b27f063 bgeu a5,s2,5e62 5dc6: 489c lw a5,16(s1) 5dc8: 27c8 lbu a0,12(a5) 5dca: 37dc lbu a5,13(a5) 5dcc: 07a2 slli a5,a5,0x8 5dce: 8d5d or a0,a0,a5 5dd0: 9fdfd0ef jal ra,37cc 5dd4: 8905 andi a0,a0,1 5dd6: c131 beqz a0,5e1a 5dd8: 489c lw a5,16(s1) 5dda: 00d7c903 lbu s2,13(a5) 5dde: 27c8 lbu a0,12(a5) 5de0: 0922 slli s2,s2,0x8 5de2: 00a96933 or s2,s2,a0 5de6: 6541 lui a0,0x10 5de8: fc050513 addi a0,a0,-64 # ffc0 <_data_lma+0x712c> 5dec: 9d3fd0ef jal ra,37be 5df0: 489c lw a5,16(s1) 5df2: 00a97933 and s2,s2,a0 5df6: 27c8 lbu a0,12(a5) 5df8: 37dc lbu a5,13(a5) 5dfa: 07a2 slli a5,a5,0x8 5dfc: 8d5d or a0,a0,a5 5dfe: 9cffd0ef jal ra,37cc 5e02: 03e57513 andi a0,a0,62 5e06: 9b9fd0ef jal ra,37be 5e0a: 489c lw a5,16(s1) 5e0c: 00a96533 or a0,s2,a0 5e10: 0542 slli a0,a0,0x10 5e12: 8141 srli a0,a0,0x10 5e14: a7c8 sb a0,12(a5) 5e16: 8121 srli a0,a0,0x8 5e18: b7c8 sb a0,13(a5) 5e1a: 345e lhu a5,44(s0) 5e1c: a4de sh a5,12(s1) 5e1e: 489c lw a5,16(s1) 5e20: 27c8 lbu a0,12(a5) 5e22: 37dc lbu a5,13(a5) 5e24: 07a2 slli a5,a5,0x8 5e26: 8d5d or a0,a0,a5 5e28: 9a5fd0ef jal ra,37cc 5e2c: 8909 andi a0,a0,2 5e2e: c501 beqz a0,5e36 5e30: 24de lhu a5,12(s1) 5e32: 17fd addi a5,a5,-1 5e34: a4de sh a5,12(s1) 5e36: 24ce lhu a1,12(s1) 5e38: 40c8 lw a0,4(s1) 5e3a: f03fe0ef jal ra,4d3c 5e3e: 489c lw a5,16(s1) 5e40: 00c4d903 lhu s2,12(s1) 5e44: 27c8 lbu a0,12(a5) 5e46: 37dc lbu a5,13(a5) 5e48: 07a2 slli a5,a5,0x8 5e4a: 8d5d or a0,a0,a5 5e4c: 981fd0ef jal ra,37cc 5e50: 890d andi a0,a0,3 5e52: 00a03533 snez a0,a0 5e56: 992a add s2,s2,a0 5e58: 0942 slli s2,s2,0x10 5e5a: 01095913 srli s2,s2,0x10 5e5e: 012a1023 sh s2,0(s4) 5e62: 08442783 lw a5,132(s0) 5e66: 36078463 beqz a5,61ce 5e6a: 489c lw a5,16(s1) 5e6c: 27c8 lbu a0,12(a5) 5e6e: 37dc lbu a5,13(a5) 5e70: 07a2 slli a5,a5,0x8 5e72: 8d5d or a0,a0,a5 5e74: 959fd0ef jal ra,37cc 5e78: 8905 andi a0,a0,1 5e7a: 34051763 bnez a0,61c8 5e7e: 08442b03 lw s6,132(s0) 5e82: 6bc1 lui s7,0x10 5e84: fc0b8b93 addi s7,s7,-64 # ffc0 <_data_lma+0x712c> 5e88: 0009a503 lw a0,0(s3) 5e8c: 000a5703 lhu a4,0(s4) 5e90: 972a add a4,a4,a0 5e92: 080b0063 beqz s6,5f12 5e96: 010b2603 lw a2,16(s6) 5e9a: 324c lbu a1,5(a2) 5e9c: 2254 lbu a3,4(a2) 5e9e: 05a2 slli a1,a1,0x8 5ea0: 8dd5 or a1,a1,a3 5ea2: 2274 lbu a3,6(a2) 5ea4: 06c2 slli a3,a3,0x10 5ea6: 8dd5 or a1,a1,a3 5ea8: 3274 lbu a3,7(a2) 5eaa: 06e2 slli a3,a3,0x18 5eac: 8ecd or a3,a3,a1 5eae: 00cb5583 lhu a1,12(s6) 5eb2: 95b6 add a1,a1,a3 5eb4: 40b705b3 sub a1,a4,a1 5eb8: 3605d263 bgez a1,621c 5ebc: 8f15 sub a4,a4,a3 5ebe: 04e05a63 blez a4,5f12 5ec2: 08442783 lw a5,132(s0) 5ec6: 4b98 lw a4,16(a5) 5ec8: 335c lbu a5,5(a4) 5eca: 2354 lbu a3,4(a4) 5ecc: 07a2 slli a5,a5,0x8 5ece: 8fd5 or a5,a5,a3 5ed0: 8f89 sub a5,a5,a0 5ed2: a4de sh a5,12(s1) 5ed4: 489c lw a5,16(s1) 5ed6: 27c8 lbu a0,12(a5) 5ed8: 37dc lbu a5,13(a5) 5eda: 07a2 slli a5,a5,0x8 5edc: 8d5d or a0,a0,a5 5ede: 8effd0ef jal ra,37cc 5ee2: 8909 andi a0,a0,2 5ee4: c501 beqz a0,5eec 5ee6: 24de lhu a5,12(s1) 5ee8: 17fd addi a5,a5,-1 5eea: a4de sh a5,12(s1) 5eec: 24ce lhu a1,12(s1) 5eee: 40c8 lw a0,4(s1) 5ef0: e4dfe0ef jal ra,4d3c 5ef4: 489c lw a5,16(s1) 5ef6: 00c4da83 lhu s5,12(s1) 5efa: 27c8 lbu a0,12(a5) 5efc: 37dc lbu a5,13(a5) 5efe: 07a2 slli a5,a5,0x8 5f00: 8d5d or a0,a0,a5 5f02: 8cbfd0ef jal ra,37cc 5f06: 890d andi a0,a0,3 5f08: 00a03533 snez a0,a0 5f0c: 9aaa add s5,s5,a0 5f0e: 015a1023 sh s5,0(s4) 5f12: 09642223 sw s6,132(s0) 5f16: ac65 j 61ce 5f18: d8e791e3 bne a5,a4,5c9a 5f1c: 8522 mv a0,s0 5f1e: 3b9010ef jal ra,7ad6 5f22: bba5 j 5c9a 5f24: 04040c23 sb zero,88(s0) 5f28: bb8d j 5c9a 5f2a: 5034 lw a3,96(s0) 5f2c: 40d786b3 sub a3,a5,a3 5f30: 12d04263 bgtz a3,6054 5f34: 02644683 lbu a3,38(s0) 5f38: 0046f613 andi a2,a3,4 5f3c: ca01 beqz a2,5f4c 5f3e: 9aed andi a3,a3,-5 5f40: 02d40323 sb a3,38(s0) 5f44: 05c45683 lhu a3,92(s0) 5f48: 04d41d23 sh a3,90(s0) 5f4c: 04c41683 lh a3,76(s0) 5f50: 04e45603 lhu a2,78(s0) 5f54: 0742 slli a4,a4,0x10 5f56: 868d srai a3,a3,0x3 5f58: 96b2 add a3,a3,a2 5f5a: 04d41823 sh a3,80(s0) 5f5e: 07645683 lhu a3,118(s0) 5f62: 8341 srli a4,a4,0x10 5f64: 06e41a23 sh a4,116(s0) 5f68: 9736 add a4,a4,a3 5f6a: 06e41b23 sh a4,118(s0) 5f6e: 4818 lw a4,16(s0) 5f70: c87c sw a5,84(s0) 5f72: 04040923 sb zero,82(s0) 5f76: 04040c23 sb zero,88(s0) 5f7a: 478d li a5,3 5f7c: 02e7f163 bgeu a5,a4,5f9e 5f80: 05a45703 lhu a4,90(s0) 5f84: 05c45683 lhu a3,92(s0) 5f88: 04045783 lhu a5,64(s0) 5f8c: 02d77663 bgeu a4,a3,5fb8 5f90: 97ba add a5,a5,a4 5f92: 07c2 slli a5,a5,0x10 5f94: 83c1 srli a5,a5,0x10 5f96: 00f77463 bgeu a4,a5,5f9e 5f9a: 04f41d23 sh a5,90(s0) 5f9e: 08042783 lw a5,128(s0) 5fa2: e385 bnez a5,5fc2 5fa4: 08042783 lw a5,128(s0) 5fa8: 02040e23 sb zero,60(s0) 5fac: 0017b793 seqz a5,a5 5fb0: 40f007b3 neg a5,a5 5fb4: bc7e sh a5,62(s0) 5fb6: b1d5 j 5c9a 5fb8: 02f787b3 mul a5,a5,a5 5fbc: 02e7c7b3 div a5,a5,a4 5fc0: bfc1 j 5f90 5fc2: 4b98 lw a4,16(a5) 5fc4: 3348 lbu a0,5(a4) 5fc6: 235c lbu a5,4(a4) 5fc8: 0522 slli a0,a0,0x8 5fca: 8d5d or a0,a0,a5 5fcc: 237c lbu a5,6(a4) 5fce: 07c2 slli a5,a5,0x10 5fd0: 8fc9 or a5,a5,a0 5fd2: 3368 lbu a0,7(a4) 5fd4: 0562 slli a0,a0,0x18 5fd6: 8d5d or a0,a0,a5 5fd8: 827fd0ef jal ra,37fe 5fdc: 08042783 lw a5,128(s0) 5fe0: 892a mv s2,a0 5fe2: 00c7da03 lhu s4,12(a5) 5fe6: 4b9c lw a5,16(a5) 5fe8: 27c8 lbu a0,12(a5) 5fea: 37dc lbu a5,13(a5) 5fec: 07a2 slli a5,a5,0x8 5fee: 8d5d or a0,a0,a5 5ff0: fdcfd0ef jal ra,37cc 5ff4: 409c lw a5,0(s1) 5ff6: 890d andi a0,a0,3 5ff8: 00a03533 snez a0,a0 5ffc: 9552 add a0,a0,s4 5ffe: 40f90933 sub s2,s2,a5 6002: 954a add a0,a0,s2 6004: faa040e3 bgtz a0,5fa4 6008: 08042903 lw s2,128(s0) 600c: 00092783 lw a5,0(s2) 6010: 08f42023 sw a5,128(s0) 6014: 07445783 lhu a5,116(s0) 6018: c385 beqz a5,6038 601a: 01092783 lw a5,16(s2) 601e: 27c8 lbu a0,12(a5) 6020: 37dc lbu a5,13(a5) 6022: 07a2 slli a5,a5,0x8 6024: 8d5d or a0,a0,a5 6026: fa6fd0ef jal ra,37cc 602a: 8905 andi a0,a0,1 602c: c511 beqz a0,6038 602e: 07445783 lhu a5,116(s0) 6032: 17fd addi a5,a5,-1 6034: 06f41a23 sh a5,116(s0) 6038: 00492503 lw a0,4(s2) 603c: d59fe0ef jal ra,4d94 6040: 07845783 lhu a5,120(s0) 6044: 40a78533 sub a0,a5,a0 6048: 06a41c23 sh a0,120(s0) 604c: 854a mv a0,s2 604e: 98cff0ef jal ra,51da 6052: b7b1 j 5f9e 6054: 06041a23 sh zero,116(s0) 6058: b189 j 5c9a 605a: 4b98 lw a4,16(a5) 605c: 0004a903 lw s2,0(s1) 6060: 3348 lbu a0,5(a4) 6062: 235c lbu a5,4(a4) 6064: 0522 slli a0,a0,0x8 6066: 8d5d or a0,a0,a5 6068: 237c lbu a5,6(a4) 606a: 07c2 slli a5,a5,0x10 606c: 8fc9 or a5,a5,a0 606e: 3368 lbu a0,7(a4) 6070: 0562 slli a0,a0,0x18 6072: 8d5d or a0,a0,a5 6074: f8afd0ef jal ra,37fe 6078: 5c7c lw a5,124(s0) 607a: 8aaa mv s5,a0 607c: 41590933 sub s2,s2,s5 6080: 00c7da03 lhu s4,12(a5) 6084: 4b9c lw a5,16(a5) 6086: 27c8 lbu a0,12(a5) 6088: 37dc lbu a5,13(a5) 608a: 07a2 slli a5,a5,0x8 608c: 8d5d or a0,a0,a5 608e: f3efd0ef jal ra,37cc 6092: 890d andi a0,a0,3 6094: 00a03533 snez a0,a0 6098: 9552 add a0,a0,s4 609a: 40a90933 sub s2,s2,a0 609e: c00941e3 bltz s2,5ca0 60a2: 409c lw a5,0(s1) 60a4: 5038 lw a4,96(s0) 60a6: 8f99 sub a5,a5,a4 60a8: bef04ce3 bgtz a5,5ca0 60ac: 07c42903 lw s2,124(s0) 60b0: 00092783 lw a5,0(s2) 60b4: dc7c sw a5,124(s0) 60b6: 07445783 lhu a5,116(s0) 60ba: c385 beqz a5,60da 60bc: 01092783 lw a5,16(s2) 60c0: 27c8 lbu a0,12(a5) 60c2: 37dc lbu a5,13(a5) 60c4: 07a2 slli a5,a5,0x8 60c6: 8d5d or a0,a0,a5 60c8: f04fd0ef jal ra,37cc 60cc: 8905 andi a0,a0,1 60ce: c511 beqz a0,60da 60d0: 07445783 lhu a5,116(s0) 60d4: 17fd addi a5,a5,-1 60d6: 06f41a23 sh a5,116(s0) 60da: 00492503 lw a0,4(s2) 60de: cb7fe0ef jal ra,4d94 60e2: 07845783 lhu a5,120(s0) 60e6: 40a78533 sub a0,a5,a0 60ea: 06a41c23 sh a0,120(s0) 60ee: 854a mv a0,s2 60f0: 8eaff0ef jal ra,51da 60f4: b65d j 5c9a 60f6: 443c lw a5,72(s0) 60f8: 4098 lw a4,0(s1) 60fa: 8f99 sub a5,a5,a4 60fc: ba07d5e3 bgez a5,5ca6 6100: 04c41683 lh a3,76(s0) 6104: 9141d703 lhu a4,-1772(gp) # 20000134 6108: 0642 slli a2,a2,0x10 610a: 4036d593 srai a1,a3,0x3 610e: 8241 srli a2,a2,0x10 6110: 05c2 slli a1,a1,0x10 6112: 81c1 srli a1,a1,0x10 6114: 40c707b3 sub a5,a4,a2 6118: 8f8d sub a5,a5,a1 611a: 07c2 slli a5,a5,0x10 611c: 83c1 srli a5,a5,0x10 611e: 01079513 slli a0,a5,0x10 6122: 97b6 add a5,a5,a3 6124: 07c2 slli a5,a5,0x10 6126: 87c1 srai a5,a5,0x10 6128: 8541 srai a0,a0,0x10 612a: 04f41623 sh a5,76(s0) 612e: 00055763 bgez a0,613c 6132: 8e19 sub a2,a2,a4 6134: 962e add a2,a2,a1 6136: 01061513 slli a0,a2,0x10 613a: 8541 srai a0,a0,0x10 613c: 04e41683 lh a3,78(s0) 6140: 878d srai a5,a5,0x3 6142: 04042223 sw zero,68(s0) 6146: 4026d713 srai a4,a3,0x2 614a: 40e68733 sub a4,a3,a4 614e: 972a add a4,a4,a0 6150: 0742 slli a4,a4,0x10 6152: 8341 srli a4,a4,0x10 6154: 97ba add a5,a5,a4 6156: 04e41723 sh a4,78(s0) 615a: 04f41823 sh a5,80(s0) 615e: b6a1 j 5ca6 6160: a49e sh a5,8(s1) 6162: 00049523 sh zero,10(s1) 6166: 8d99 sub a1,a1,a4 6168: 4084 lw s1,0(s1) 616a: b661 j 5cf2 616c: 40e00733 neg a4,a4 6170: 01071593 slli a1,a4,0x10 6174: b669 j 5cfe 6176: 8f95 sub a5,a5,a3 6178: bc07d0e3 bgez a5,5d38 617c: 02644783 lbu a5,38(s0) 6180: 8522 mv a0,s0 6182: 0027e793 ori a5,a5,2 6186: 02f40323 sb a5,38(s0) 618a: 42a010ef jal ra,75b4 618e: b66d j 5d38 6190: bee684e3 beq a3,a4,5d78 6194: 8522 mv a0,s0 6196: 3ae010ef jal ra,7544 619a: 08442483 lw s1,132(s0) 619e: 1e049463 bnez s1,6386 61a2: 20008537 lui a0,0x20008 61a6: 8c050513 addi a0,a0,-1856 # 200078c0 61aa: 878ff0ef jal ra,5222 61ae: 08a42223 sw a0,132(s0) 61b2: aac1 j 6382 61b4: 197d addi s2,s2,-1 61b6: 0942 slli s2,s2,0x10 61b8: 01095913 srli s2,s2,0x10 61bc: b111 j 5dc0 61be: 411c lw a5,0(a0) 61c0: 08f42223 sw a5,132(s0) 61c4: 816ff0ef jal ra,51da 61c8: 08442503 lw a0,132(s0) 61cc: f96d bnez a0,61be 61ce: 0009a703 lw a4,0(s3) 61d2: 000a5783 lhu a5,0(s4) 61d6: 8522 mv a0,s0 61d8: 97ba add a5,a5,a4 61da: d41c sw a5,40(s0) 61dc: 345e lhu a5,44(s0) 61de: 41278933 sub s2,a5,s2 61e2: 03241623 sh s2,44(s0) 61e6: f71fe0ef jal ra,5156 61ea: 40dc lw a5,4(s1) 61ec: 279a lhu a4,8(a5) 61ee: c709 beqz a4,61f8 61f0: 92f1a823 sw a5,-1744(gp) # 20000150 61f4: 0004a223 sw zero,4(s1) 61f8: 489c lw a5,16(s1) 61fa: 27c8 lbu a0,12(a5) 61fc: 37dc lbu a5,13(a5) 61fe: 07a2 slli a5,a5,0x8 6200: 8d5d or a0,a0,a5 6202: dcafd0ef jal ra,37cc 6206: 8905 andi a0,a0,1 6208: c519 beqz a0,6216 620a: 93418793 addi a5,gp,-1740 # 20000154 620e: 2398 lbu a4,0(a5) 6210: 02076713 ori a4,a4,32 6214: a398 sb a4,0(a5) 6216: 4a91 li s5,4 6218: 4b1d li s6,7 621a: aa39 j 6338 621c: 365c lbu a5,13(a2) 621e: 2648 lbu a0,12(a2) 6220: 07a2 slli a5,a5,0x8 6222: 8d5d or a0,a0,a5 6224: da8fd0ef jal ra,37cc 6228: 8905 andi a0,a0,1 622a: c535 beqz a0,6296 622c: 489c lw a5,16(s1) 622e: 27c8 lbu a0,12(a5) 6230: 37dc lbu a5,13(a5) 6232: 07a2 slli a5,a5,0x8 6234: 8d5d or a0,a0,a5 6236: d96fd0ef jal ra,37cc 623a: 8909 andi a0,a0,2 623c: ed29 bnez a0,6296 623e: 489c lw a5,16(s1) 6240: 00d7ca83 lbu s5,13(a5) 6244: 27c8 lbu a0,12(a5) 6246: 0aa2 slli s5,s5,0x8 6248: 00aaeab3 or s5,s5,a0 624c: 855e mv a0,s7 624e: d70fd0ef jal ra,37be 6252: 489c lw a5,16(s1) 6254: 00aafab3 and s5,s5,a0 6258: 27c8 lbu a0,12(a5) 625a: 37dc lbu a5,13(a5) 625c: 07a2 slli a5,a5,0x8 625e: 8d5d or a0,a0,a5 6260: d6cfd0ef jal ra,37cc 6264: 03e57513 andi a0,a0,62 6268: 00156513 ori a0,a0,1 626c: d52fd0ef jal ra,37be 6270: 00aae533 or a0,s5,a0 6274: 489c lw a5,16(s1) 6276: 0542 slli a0,a0,0x10 6278: 8141 srli a0,a0,0x10 627a: 00855713 srli a4,a0,0x8 627e: a7c8 sb a0,12(a5) 6280: b7d8 sb a4,13(a5) 6282: 00c4da83 lhu s5,12(s1) 6286: d46fd0ef jal ra,37cc 628a: 890d andi a0,a0,3 628c: 00a03533 snez a0,a0 6290: 9aaa add s5,s5,a0 6292: 015a1023 sh s5,0(s4) 6296: 000b2a83 lw s5,0(s6) 629a: 855a mv a0,s6 629c: f3ffe0ef jal ra,51da 62a0: 8b56 mv s6,s5 62a2: b6dd j 5e88 62a4: 00f9a023 sw a5,0(s3) 62a8: 375c lbu a5,13(a4) 62aa: 2748 lbu a0,12(a4) 62ac: 00c4db83 lhu s7,12(s1) 62b0: 07a2 slli a5,a5,0x8 62b2: 8d5d or a0,a0,a5 62b4: d18fd0ef jal ra,37cc 62b8: 541c lw a5,40(s0) 62ba: 890d andi a0,a0,3 62bc: 00a03533 snez a0,a0 62c0: 955e add a0,a0,s7 62c2: 953e add a0,a0,a5 62c4: 489c lw a5,16(s1) 62c6: d408 sw a0,40(s0) 62c8: 00c4db83 lhu s7,12(s1) 62cc: 27c8 lbu a0,12(a5) 62ce: 37dc lbu a5,13(a5) 62d0: 07a2 slli a5,a5,0x8 62d2: 8d5d or a0,a0,a5 62d4: cf8fd0ef jal ra,37cc 62d8: 345e lhu a5,44(s0) 62da: 890d andi a0,a0,3 62dc: 00a03533 snez a0,a0 62e0: 955e add a0,a0,s7 62e2: 40a78533 sub a0,a5,a0 62e6: b44a sh a0,44(s0) 62e8: 8522 mv a0,s0 62ea: e6dfe0ef jal ra,5156 62ee: 40cc lw a1,4(s1) 62f0: 259e lhu a5,8(a1) 62f2: cb89 beqz a5,6304 62f4: 93018793 addi a5,gp,-1744 # 20000150 62f8: 4388 lw a0,0(a5) 62fa: cd35 beqz a0,6376 62fc: ab5fe0ef jal ra,4db0 6300: 0004a223 sw zero,4(s1) 6304: 489c lw a5,16(s1) 6306: 27c8 lbu a0,12(a5) 6308: 37dc lbu a5,13(a5) 630a: 07a2 slli a5,a5,0x8 630c: 8d5d or a0,a0,a5 630e: cbefd0ef jal ra,37cc 6312: 8905 andi a0,a0,1 6314: cd01 beqz a0,632c 6316: 93418713 addi a4,gp,-1740 # 20000154 631a: 231c lbu a5,0(a4) 631c: 0207e793 ori a5,a5,32 6320: a31c sb a5,0(a4) 6322: 481c lw a5,16(s0) 6324: 01579463 bne a5,s5,632c 6328: 01642823 sw s6,16(s0) 632c: 409c lw a5,0(s1) 632e: 8526 mv a0,s1 6330: 08f42223 sw a5,132(s0) 6334: ea7fe0ef jal ra,51da 6338: 08442483 lw s1,132(s0) 633c: cc99 beqz s1,635a 633e: 4898 lw a4,16(s1) 6340: 3354 lbu a3,5(a4) 6342: 235c lbu a5,4(a4) 6344: 06a2 slli a3,a3,0x8 6346: 8edd or a3,a3,a5 6348: 237c lbu a5,6(a4) 634a: 07c2 slli a5,a5,0x10 634c: 8edd or a3,a3,a5 634e: 337c lbu a5,7(a4) 6350: 07e2 slli a5,a5,0x18 6352: 8fd5 or a5,a5,a3 6354: 5414 lw a3,40(s0) 6356: f4d787e3 beq a5,a3,62a4 635a: 02644783 lbu a5,38(s0) 635e: 0017f713 andi a4,a5,1 6362: cf01 beqz a4,637a 6364: 9bf9 andi a5,a5,-2 6366: 0027e793 ori a5,a5,2 636a: 02f40323 sb a5,38(s0) 636e: 8522 mv a0,s0 6370: 244010ef jal ra,75b4 6374: a039 j 6382 6376: c38c sw a1,0(a5) 6378: b761 j 6300 637a: 0017e793 ori a5,a5,1 637e: 02f40323 sb a5,38(s0) 6382: e7ff906f j 200 <__riscv_restore_10> 6386: 0009a703 lw a4,0(s3) 638a: 4901 li s2,0 638c: fff70513 addi a0,a4,-1 6390: 00170813 addi a6,a4,1 6394: 4890 lw a2,16(s1) 6396: 3254 lbu a3,5(a2) 6398: 225c lbu a5,4(a2) 639a: 06a2 slli a3,a3,0x8 639c: 8edd or a3,a3,a5 639e: 227c lbu a5,6(a2) 63a0: 07c2 slli a5,a5,0x10 63a2: 8edd or a3,a3,a5 63a4: 327c lbu a5,7(a2) 63a6: 07e2 slli a5,a5,0x18 63a8: 8fd5 or a5,a5,a3 63aa: 02e79c63 bne a5,a4,63e2 63ae: 20008537 lui a0,0x20008 63b2: 8c050793 addi a5,a0,-1856 # 200078c0 63b6: 27da lhu a4,12(a5) 63b8: 24de lhu a5,12(s1) 63ba: fce7f4e3 bgeu a5,a4,6382 63be: 8c050513 addi a0,a0,-1856 63c2: e61fe0ef jal ra,5222 63c6: dd55 beqz a0,6382 63c8: 00090a63 beqz s2,63dc 63cc: 00a92023 sw a0,0(s2) 63d0: 85a6 mv a1,s1 63d2: f2aff0ef jal ra,5afc 63d6: b775 j 6382 63d8: 84b6 mv s1,a3 63da: bf6d j 6394 63dc: 08a42223 sw a0,132(s0) 63e0: bfc5 j 63d0 63e2: 02091063 bnez s2,6402 63e6: 40f706b3 sub a3,a4,a5 63ea: 0806de63 bgez a3,6486 63ee: 20008537 lui a0,0x20008 63f2: 8c050513 addi a0,a0,-1856 # 200078c0 63f6: e2dfe0ef jal ra,5222 63fa: d541 beqz a0,6382 63fc: 08a42223 sw a0,132(s0) 6400: bfc1 j 63d0 6402: 01092883 lw a7,16(s2) 6406: 0058c583 lbu a1,5(a7) 640a: 0048c683 lbu a3,4(a7) 640e: 05a2 slli a1,a1,0x8 6410: 8dd5 or a1,a1,a3 6412: 0068c683 lbu a3,6(a7) 6416: 06c2 slli a3,a3,0x10 6418: 8dd5 or a1,a1,a3 641a: 0078c683 lbu a3,7(a7) 641e: 06e2 slli a3,a3,0x18 6420: 8ecd or a3,a3,a1 6422: 40d506b3 sub a3,a0,a3 6426: 0606c063 bltz a3,6486 642a: 40f806b3 sub a3,a6,a5 642e: 04d04c63 bgtz a3,6486 6432: 20008537 lui a0,0x20008 6436: 8c050513 addi a0,a0,-1856 # 200078c0 643a: de9fe0ef jal ra,5222 643e: 842a mv s0,a0 6440: d129 beqz a0,6382 6442: 01092703 lw a4,16(s2) 6446: 335c lbu a5,5(a4) 6448: 234c lbu a1,4(a4) 644a: 07a2 slli a5,a5,0x8 644c: 8ddd or a1,a1,a5 644e: 237c lbu a5,6(a4) 6450: 07c2 slli a5,a5,0x10 6452: 8fcd or a5,a5,a1 6454: 336c lbu a1,7(a4) 6456: 00c95703 lhu a4,12(s2) 645a: 05e2 slli a1,a1,0x18 645c: 8fcd or a5,a5,a1 645e: 0009a583 lw a1,0(s3) 6462: 973e add a4,a4,a5 6464: 8f0d sub a4,a4,a1 6466: 00e05b63 blez a4,647c 646a: 8d9d sub a1,a1,a5 646c: 05c2 slli a1,a1,0x10 646e: 00492503 lw a0,4(s2) 6472: 81c1 srli a1,a1,0x10 6474: 00b91623 sh a1,12(s2) 6478: 8c5fe0ef jal ra,4d3c 647c: 00892023 sw s0,0(s2) 6480: 85a6 mv a1,s1 6482: 8522 mv a0,s0 6484: b7b9 j 63d2 6486: 4094 lw a3,0(s1) 6488: 8926 mv s2,s1 648a: f6b9 bnez a3,63d8 648c: 40f707b3 sub a5,a4,a5 6490: eef059e3 blez a5,6382 6494: 365c lbu a5,13(a2) 6496: 2648 lbu a0,12(a2) 6498: 07a2 slli a5,a5,0x8 649a: 8d5d or a0,a0,a5 649c: b30fd0ef jal ra,37cc 64a0: 8905 andi a0,a0,1 64a2: ee0510e3 bnez a0,6382 64a6: 20008537 lui a0,0x20008 64aa: 8c050513 addi a0,a0,-1856 # 200078c0 64ae: d75fe0ef jal ra,5222 64b2: c088 sw a0,0(s1) 64b4: ec0507e3 beqz a0,6382 64b8: 4898 lw a4,16(s1) 64ba: 335c lbu a5,5(a4) 64bc: 234c lbu a1,4(a4) 64be: 07a2 slli a5,a5,0x8 64c0: 8ddd or a1,a1,a5 64c2: 237c lbu a5,6(a4) 64c4: 07c2 slli a5,a5,0x10 64c6: 8fcd or a5,a5,a1 64c8: 336c lbu a1,7(a4) 64ca: 24da lhu a4,12(s1) 64cc: 05e2 slli a1,a1,0x18 64ce: 8fcd or a5,a5,a1 64d0: 0009a583 lw a1,0(s3) 64d4: 973e add a4,a4,a5 64d6: 8f0d sub a4,a4,a1 64d8: eae055e3 blez a4,6382 64dc: 8d9d sub a1,a1,a5 64de: 05c2 slli a1,a1,0x10 64e0: 40c8 lw a0,4(s1) 64e2: 81c1 srli a1,a1,0x10 64e4: a4ce sh a1,12(s1) 64e6: 857fe0ef jal ra,4d3c 64ea: bd61 j 6382 64ec: 8522 mv a0,s0 64ee: 056010ef jal ra,7544 64f2: bd41 j 6382 64f4: 40d78733 sub a4,a5,a3 64f8: 00074863 bltz a4,6508 64fc: 345a lhu a4,44(s0) 64fe: 0785 addi a5,a5,1 6500: 8f95 sub a5,a5,a3 6502: 8f99 sub a5,a5,a4 6504: e6f05fe3 blez a5,6382 6508: 02644783 lbu a5,38(s0) 650c: bda9 j 6366 0000650e : tcp_parseopt.isra.0(): 650e: ce3f92ef jal t0,1f0 <__riscv_save_0> 6512: 94018493 addi s1,gp,-1728 # 20000160 6516: 0004a903 lw s2,0(s1) 651a: 842a mv s0,a0 651c: 00d94783 lbu a5,13(s2) 6520: 00c94503 lbu a0,12(s2) 6524: 07a2 slli a5,a5,0x8 6526: 8d5d or a0,a0,a5 6528: aa4fd0ef jal ra,37cc 652c: 8131 srli a0,a0,0xc 652e: 0542 slli a0,a0,0x10 6530: 8141 srli a0,a0,0x10 6532: 4795 li a5,5 6534: 02a7fc63 bgeu a5,a0,656c 6538: 409c lw a5,0(s1) 653a: 0951 addi s2,s2,20 653c: 27c8 lbu a0,12(a5) 653e: 37dc lbu a5,13(a5) 6540: 07a2 slli a5,a5,0x8 6542: 8d5d or a0,a0,a5 6544: a88fd0ef jal ra,37cc 6548: 200087b7 lui a5,0x20008 654c: 8407a603 lw a2,-1984(a5) # 20007840 6550: 8131 srli a0,a0,0xc 6552: 156d addi a0,a0,-5 6554: 050a slli a0,a0,0x2 6556: 0542 slli a0,a0,0x10 6558: 01061593 slli a1,a2,0x10 655c: 8141 srli a0,a0,0x10 655e: 81c1 srli a1,a1,0x10 6560: 4781 li a5,0 6562: 4805 li a6,1 6564: 4889 li a7,2 6566: 4311 li t1,4 6568: 00a7e463 bltu a5,a0,6570 656c: ca9f906f j 214 <__riscv_restore_0> 6570: 00f906b3 add a3,s2,a5 6574: 2298 lbu a4,0(a3) 6576: 01070963 beq a4,a6,6588 657a: db6d beqz a4,656c 657c: 01170a63 beq a4,a7,6590 6580: 3298 lbu a4,1(a3) 6582: d76d beqz a4,656c 6584: 97ba add a5,a5,a4 6586: a011 j 658a 6588: 0785 addi a5,a5,1 658a: 07c2 slli a5,a5,0x10 658c: 83c1 srli a5,a5,0x10 658e: bfe9 j 6568 6590: 3298 lbu a4,1(a3) 6592: fc671de3 bne a4,t1,656c 6596: 00378713 addi a4,a5,3 659a: fca759e3 bge a4,a0,656c 659e: 22b8 lbu a4,2(a3) 65a0: 32b4 lbu a3,3(a3) 65a2: 0722 slli a4,a4,0x8 65a4: 8f55 or a4,a4,a3 65a6: 00e66363 bltu a2,a4,65ac 65aa: e311 bnez a4,65ae 65ac: 872e mv a4,a1 65ae: a01a sh a4,0(s0) 65b0: 0791 addi a5,a5,4 65b2: bfe1 j 658a 000065b4 : tcp_input(): 65b4: c0df92ef jal t0,1c0 <__riscv_save_12> 65b8: 4140 lw s0,4(a0) 65ba: 8baa mv s7,a0 65bc: 301c lbu a5,1(s0) 65be: 2008 lbu a0,0(s0) 65c0: 1141 addi sp,sp,-16 65c2: 07a2 slli a5,a5,0x8 65c4: 92c18913 addi s2,gp,-1748 # 2000014c 65c8: 8d5d or a0,a0,a5 65ca: 89ae mv s3,a1 65cc: 00892023 sw s0,0(s2) 65d0: 9fcfd0ef jal ra,37cc 65d4: 00092783 lw a5,0(s2) 65d8: 8119 srli a0,a0,0x6 65da: 03c57513 andi a0,a0,60 65de: 942a add s0,s0,a0 65e0: 2388 lbu a0,0(a5) 65e2: 339c lbu a5,1(a5) 65e4: 9481a023 sw s0,-1728(gp) # 20000160 65e8: 07a2 slli a5,a5,0x8 65ea: 8d5d or a0,a0,a5 65ec: 9e0fd0ef jal ra,37cc 65f0: 00655593 srli a1,a0,0x6 65f4: 03c5f593 andi a1,a1,60 65f8: 40b005b3 neg a1,a1 65fc: 855e mv a0,s7 65fe: d42fe0ef jal ra,4b40 6602: e511 bnez a0,660e 6604: 008bd703 lhu a4,8(s7) 6608: 47cd li a5,19 660a: 00e7e863 bltu a5,a4,661a 660e: 855e mv a0,s7 6610: d9efe0ef jal ra,4bae 6614: 0141 addi sp,sp,16 6616: be7f906f j 1fc <__riscv_restore_12> 661a: 92c18b13 addi s6,gp,-1748 # 2000014c 661e: 000b2503 lw a0,0(s6) 6622: 85ce mv a1,s3 6624: 0541 addi a0,a0,16 6626: e5afd0ef jal ra,3c80 662a: f175 bnez a0,660e 662c: 000b2703 lw a4,0(s6) 6630: f0000537 lui a0,0xf0000 6634: 3b1c lbu a5,17(a4) 6636: 2b00 lbu s0,16(a4) 6638: 07a2 slli a5,a5,0x8 663a: 8fc1 or a5,a5,s0 663c: 2b20 lbu s0,18(a4) 663e: 0442 slli s0,s0,0x10 6640: 8fc1 or a5,a5,s0 6642: 3b20 lbu s0,19(a4) 6644: 0462 slli s0,s0,0x18 6646: 8c5d or s0,s0,a5 6648: 9b6fd0ef jal ra,37fe 664c: 8c69 and s0,s0,a0 664e: e0000537 lui a0,0xe0000 6652: 9acfd0ef jal ra,37fe 6656: faa40ce3 beq s0,a0,660e 665a: 000b2583 lw a1,0(s6) 665e: 008bd703 lhu a4,8(s7) 6662: 4699 li a3,6 6664: 01058613 addi a2,a1,16 6668: 855e mv a0,s7 666a: 05b1 addi a1,a1,12 666c: 5f9010ef jal ra,8464 6670: fd59 bnez a0,660e 6672: 94018493 addi s1,gp,-1728 # 20000160 6676: 409c lw a5,0(s1) 6678: 27c8 lbu a0,12(a5) 667a: 37dc lbu a5,13(a5) 667c: 07a2 slli a5,a5,0x8 667e: 8d5d or a0,a0,a5 6680: 94cfd0ef jal ra,37cc 6684: 8131 srli a0,a0,0xc 6686: 55f1 li a1,-4 6688: 02b505b3 mul a1,a0,a1 668c: 855e mv a0,s7 668e: 05c2 slli a1,a1,0x10 6690: 85c1 srai a1,a1,0x10 6692: caefe0ef jal ra,4b40 6696: fd25 bnez a0,660e 6698: 4080 lw s0,0(s1) 669a: 301c lbu a5,1(s0) 669c: 2008 lbu a0,0(s0) 669e: 07a2 slli a5,a5,0x8 66a0: 8d5d or a0,a0,a5 66a2: 92afd0ef jal ra,37cc 66a6: a008 sb a0,0(s0) 66a8: 8121 srli a0,a0,0x8 66aa: b008 sb a0,1(s0) 66ac: 4080 lw s0,0(s1) 66ae: 303c lbu a5,3(s0) 66b0: 2028 lbu a0,2(s0) 66b2: 07a2 slli a5,a5,0x8 66b4: 8d5d or a0,a0,a5 66b6: 916fd0ef jal ra,37cc 66ba: a028 sb a0,2(s0) 66bc: 8121 srli a0,a0,0x8 66be: b028 sb a0,3(s0) 66c0: 4080 lw s0,0(s1) 66c2: 3048 lbu a0,5(s0) 66c4: 205c lbu a5,4(s0) 66c6: 0522 slli a0,a0,0x8 66c8: 8d5d or a0,a0,a5 66ca: 207c lbu a5,6(s0) 66cc: 07c2 slli a5,a5,0x10 66ce: 8fc9 or a5,a5,a0 66d0: 3068 lbu a0,7(s0) 66d2: 0562 slli a0,a0,0x18 66d4: 8d5d or a0,a0,a5 66d6: 928fd0ef jal ra,37fe 66da: 00855793 srli a5,a0,0x8 66de: b05c sb a5,5(s0) 66e0: 01055793 srli a5,a0,0x10 66e4: a07c sb a5,6(s0) 66e6: 01855793 srli a5,a0,0x18 66ea: a048 sb a0,4(s0) 66ec: b07c sb a5,7(s0) 66ee: 4080 lw s0,0(s1) 66f0: 92a1ac23 sw a0,-1736(gp) # 20000158 66f4: 93818a93 addi s5,gp,-1736 # 20000158 66f8: 3408 lbu a0,9(s0) 66fa: 241c lbu a5,8(s0) 66fc: 0522 slli a0,a0,0x8 66fe: 8d5d or a0,a0,a5 6700: 243c lbu a5,10(s0) 6702: 07c2 slli a5,a5,0x10 6704: 8fc9 or a5,a5,a0 6706: 3428 lbu a0,11(s0) 6708: 0562 slli a0,a0,0x18 670a: 8d5d or a0,a0,a5 670c: 8f2fd0ef jal ra,37fe 6710: 00855793 srli a5,a0,0x8 6714: b41c sb a5,9(s0) 6716: 01055793 srli a5,a0,0x10 671a: a43c sb a5,10(s0) 671c: 01855793 srli a5,a0,0x18 6720: a408 sb a0,8(s0) 6722: b43c sb a5,11(s0) 6724: 4080 lw s0,0(s1) 6726: 92a1a223 sw a0,-1756(gp) # 20000144 672a: 92418913 addi s2,gp,-1756 # 20000144 672e: 347c lbu a5,15(s0) 6730: 2468 lbu a0,14(s0) 6732: 07a2 slli a5,a5,0x8 6734: 8d5d or a0,a0,a5 6736: 896fd0ef jal ra,37cc 673a: 409c lw a5,0(s1) 673c: a468 sb a0,14(s0) 673e: 8121 srli a0,a0,0x8 6740: b468 sb a0,15(s0) 6742: 27c8 lbu a0,12(a5) 6744: 37dc lbu a5,13(a5) 6746: 07a2 slli a5,a5,0x8 6748: 8d5d or a0,a0,a5 674a: 882fd0ef jal ra,37cc 674e: 0ff57893 andi a7,a0,255 6752: 008bd503 lhu a0,8(s7) 6756: 0038f593 andi a1,a7,3 675a: 00b035b3 snez a1,a1 675e: 95aa add a1,a1,a0 6760: 9081a303 lw t1,-1784(gp) # 20000128 6764: 05c2 slli a1,a1,0x10 6766: 4094 lw a3,0(s1) 6768: 000b2803 lw a6,0(s6) 676c: 03f8f793 andi a5,a7,63 6770: 81c1 srli a1,a1,0x10 6772: 92f18423 sb a5,-1752(gp) # 20000148 6776: 94b19223 sh a1,-1724(gp) # 20000164 677a: 841a mv s0,t1 677c: 4601 li a2,0 677e: 92818c93 addi s9,gp,-1752 # 20000148 6782: 94418c13 addi s8,gp,-1724 # 20000164 6786: e401 bnez s0,678e 6788: 9201a503 lw a0,-1760(gp) # 20000140 678c: aad9 j 6962 678e: 329c lbu a5,1(a3) 6790: 0006ce03 lbu t3,0(a3) 6794: 305a lhu a4,36(s0) 6796: 07a2 slli a5,a5,0x8 6798: 01c7e7b3 or a5,a5,t3 679c: 0ef71963 bne a4,a5,688e 67a0: 32bc lbu a5,3(a3) 67a2: 0026ce03 lbu t3,2(a3) 67a6: 2c5a lhu a4,28(s0) 67a8: 07a2 slli a5,a5,0x8 67aa: 01c7e7b3 or a5,a5,t3 67ae: 0ef71063 bne a4,a5,688e 67b2: 00d84703 lbu a4,13(a6) 67b6: 00c84783 lbu a5,12(a6) 67ba: 0722 slli a4,a4,0x8 67bc: 8f5d or a4,a4,a5 67be: 00e84783 lbu a5,14(a6) 67c2: 07c2 slli a5,a5,0x10 67c4: 8f5d or a4,a4,a5 67c6: 00f84783 lbu a5,15(a6) 67ca: 07e2 slli a5,a5,0x18 67cc: 8fd9 or a5,a5,a4 67ce: 4058 lw a4,4(s0) 67d0: 0af71f63 bne a4,a5,688e 67d4: 01184703 lbu a4,17(a6) 67d8: 01084783 lbu a5,16(a6) 67dc: 0722 slli a4,a4,0x8 67de: 8f5d or a4,a4,a5 67e0: 01284783 lbu a5,18(a6) 67e4: 07c2 slli a5,a5,0x10 67e6: 8f5d or a4,a4,a5 67e8: 01384783 lbu a5,19(a6) 67ec: 07e2 slli a5,a5,0x18 67ee: 8fd9 or a5,a5,a4 67f0: 4018 lw a4,0(s0) 67f2: 08f71e63 bne a4,a5,688e 67f6: c619 beqz a2,6804 67f8: 445c lw a5,12(s0) 67fa: 9081a423 sw s0,-1784(gp) # 20000128 67fe: c65c sw a5,12(a2) 6800: 00642623 sw t1,12(s0) 6804: 004ba703 lw a4,4(s7) 6808: 20008db7 lui s11,0x20008 680c: 08842603 lw a2,136(s0) 6810: 8c0d8793 addi a5,s11,-1856 # 200078c0 6814: 9201a823 sw zero,-1744(gp) # 20000150 6818: 92018a23 sb zero,-1740(gp) # 20000154 681c: 0007a023 sw zero,0(a5) 6820: a7ca sh a0,12(a5) 6822: c798 sw a4,8(a5) 6824: 0177a223 sw s7,4(a5) 6828: cb94 sw a3,16(a5) 682a: 93418a13 addi s4,gp,-1740 # 20000154 682e: 93018d13 addi s10,gp,-1744 # 20000150 6832: 8c0d8d93 addi s11,s11,-1856 6836: ce09 beqz a2,6850 6838: 09042783 lw a5,144(s0) 683c: 4681 li a3,0 683e: 85a2 mv a1,s0 6840: 2e078f63 beqz a5,6b3e 6844: 4c08 lw a0,24(s0) 6846: 9782 jalr a5 6848: dc0513e3 bnez a0,660e 684c: 08042423 sw zero,136(s0) 6850: 000cc783 lbu a5,0(s9) 6854: 9281ae23 sw s0,-1732(gp) # 2000015c 6858: 0047f713 andi a4,a5,4 685c: 93c18b93 addi s7,gp,-1732 # 2000015c 6860: 34070263 beqz a4,6ba4 6864: 4818 lw a4,16(s0) 6866: 4789 li a5,2 6868: 2cf71f63 bne a4,a5,6b46 686c: 5038 lw a4,96(s0) 686e: 00092783 lw a5,0(s2) 6872: 2ef71463 bne a4,a5,6b5a 6876: 000a4783 lbu a5,0(s4) 687a: 0087e793 ori a5,a5,8 687e: 00fa0023 sb a5,0(s4) 6882: 02644783 lbu a5,38(s0) 6886: 9bf9 andi a5,a5,-2 6888: 02f40323 sb a5,38(s0) 688c: a4f9 j 6b5a 688e: 8622 mv a2,s0 6890: 4440 lw s0,12(s0) 6892: bdd5 j 6786 6894: 3298 lbu a4,1(a3) 6896: 229c lbu a5,0(a3) 6898: 0722 slli a4,a4,0x8 689a: 8f5d or a4,a4,a5 689c: 315e lhu a5,36(a0) 689e: 0ce79163 bne a5,a4,6960 68a2: 32b0 lbu a2,3(a3) 68a4: 22b8 lbu a4,2(a3) 68a6: 0622 slli a2,a2,0x8 68a8: 8e59 or a2,a2,a4 68aa: 2d5a lhu a4,28(a0) 68ac: 0ac71a63 bne a4,a2,6960 68b0: 00d84303 lbu t1,13(a6) 68b4: 00c84603 lbu a2,12(a6) 68b8: 0322 slli t1,t1,0x8 68ba: 00c36333 or t1,t1,a2 68be: 00e84603 lbu a2,14(a6) 68c2: 0642 slli a2,a2,0x10 68c4: 00666333 or t1,a2,t1 68c8: 00f84603 lbu a2,15(a6) 68cc: 0662 slli a2,a2,0x18 68ce: 00666633 or a2,a2,t1 68d2: 00452303 lw t1,4(a0) # e0000004 <_eusrstack+0xbffe0004> 68d6: 08c31563 bne t1,a2,6960 68da: 01184303 lbu t1,17(a6) 68de: 01084603 lbu a2,16(a6) 68e2: 0322 slli t1,t1,0x8 68e4: 00c36333 or t1,t1,a2 68e8: 01284603 lbu a2,18(a6) 68ec: 0642 slli a2,a2,0x10 68ee: 00666333 or t1,a2,t1 68f2: 01384603 lbu a2,19(a6) 68f6: 0662 slli a2,a2,0x18 68f8: 00666633 or a2,a2,t1 68fc: 00052303 lw t1,0(a0) 6900: 06c31063 bne t1,a2,6960 6904: 0048f693 andi a3,a7,4 6908: d00693e3 bnez a3,660e 690c: 0028f693 andi a3,a7,2 6910: c695 beqz a3,693c 6912: 000aa883 lw a7,0(s5) 6916: 5514 lw a3,40(a0) 6918: 40d886b3 sub a3,a7,a3 691c: 0206c763 bltz a3,694a 6920: 3552 lhu a2,44(a0) 6922: 8e91 sub a3,a3,a2 6924: 02d04363 bgtz a3,694a 6928: 00c80693 addi a3,a6,12 692c: 01080613 addi a2,a6,16 6930: 95c6 add a1,a1,a7 6932: 00092503 lw a0,0(s2) 6936: 7e7000ef jal ra,791c 693a: b9d1 j 660e 693c: 0018f893 andi a7,a7,1 6940: 00088563 beqz a7,694a 6944: 9141a783 lw a5,-1772(gp) # 20000134 6948: dd1c sw a5,56(a0) 694a: cc0582e3 beqz a1,660e 694e: 02654783 lbu a5,38(a0) 6952: 0027e793 ori a5,a5,2 6956: 02f50323 sb a5,38(a0) 695a: 45b000ef jal ra,75b4 695e: b945 j 660e 6960: 4548 lw a0,12(a0) 6962: f90d bnez a0,6894 6964: 9101a303 lw t1,-1776(gp) # 20000130 6968: 8e3e mv t3,a5 696a: 8a1a mv s4,t1 696c: 000a1c63 bnez s4,6984 6970: 36dc lbu a5,13(a3) 6972: 26c8 lbu a0,12(a3) 6974: 07a2 slli a5,a5,0x8 6976: 8d5d or a0,a0,a5 6978: e55fc0ef jal ra,37cc 697c: 8911 andi a0,a0,4 697e: c80518e3 bnez a0,660e 6982: a045 j 6a22 6984: 000a2603 lw a2,0(s4) 6988: c20d beqz a2,69aa 698a: 01184703 lbu a4,17(a6) 698e: 01084783 lbu a5,16(a6) 6992: 0722 slli a4,a4,0x8 6994: 8f5d or a4,a4,a5 6996: 01284783 lbu a5,18(a6) 699a: 07c2 slli a5,a5,0x10 699c: 8f5d or a4,a4,a5 699e: 01384783 lbu a5,19(a6) 69a2: 07e2 slli a5,a5,0x18 69a4: 8fd9 or a5,a5,a4 69a6: 18f61863 bne a2,a5,6b36 69aa: 32b8 lbu a4,3(a3) 69ac: 22b0 lbu a2,2(a3) 69ae: 01ca5783 lhu a5,28(s4) 69b2: 0722 slli a4,a4,0x8 69b4: 8f51 or a4,a4,a2 69b6: 18e79063 bne a5,a4,6b36 69ba: c901 beqz a0,69ca 69bc: 00ca2783 lw a5,12(s4) 69c0: 9141a823 sw s4,-1776(gp) # 20000130 69c4: c55c sw a5,12(a0) 69c6: 006a2623 sw t1,12(s4) 69ca: 0108f793 andi a5,a7,16 69ce: cf89 beqz a5,69e8 69d0: 329c lbu a5,1(a3) 69d2: 2290 lbu a2,0(a3) 69d4: 000aa503 lw a0,0(s5) 69d8: 07a2 slli a5,a5,0x8 69da: 8fd1 or a5,a5,a2 69dc: 00c80693 addi a3,a6,12 69e0: 01080613 addi a2,a6,16 69e4: 95aa add a1,a1,a0 69e6: b7b1 j 6932 69e8: 0028f893 andi a7,a7,2 69ec: c20881e3 beqz a7,660e 69f0: 8cc1a883 lw a7,-1844(gp) # 200000ec 69f4: 04088e63 beqz a7,6a50 69f8: 00d84503 lbu a0,13(a6) 69fc: 00c84783 lbu a5,12(a6) 6a00: 228c lbu a1,0(a3) 6a02: 0522 slli a0,a0,0x8 6a04: 8d5d or a0,a0,a5 6a06: 00e84783 lbu a5,14(a6) 6a0a: 3294 lbu a3,1(a3) 6a0c: 863a mv a2,a4 6a0e: 07c2 slli a5,a5,0x10 6a10: 8fc9 or a5,a5,a0 6a12: 00f84503 lbu a0,15(a6) 6a16: 06a2 slli a3,a3,0x8 6a18: 8dd5 or a1,a1,a3 6a1a: 0562 slli a0,a0,0x18 6a1c: 8d5d or a0,a0,a5 6a1e: 9882 jalr a7 6a20: c905 beqz a0,6a50 6a22: 4094 lw a3,0(s1) 6a24: 000b2603 lw a2,0(s6) 6a28: 000c5503 lhu a0,0(s8) 6a2c: 329c lbu a5,1(a3) 6a2e: 32b8 lbu a4,3(a3) 6a30: 0006c883 lbu a7,0(a3) 6a34: 0026c803 lbu a6,2(a3) 6a38: 07a2 slli a5,a5,0x8 6a3a: 0722 slli a4,a4,0x8 6a3c: 00c60693 addi a3,a2,12 6a40: 000aa583 lw a1,0(s5) 6a44: 0117e7b3 or a5,a5,a7 6a48: 01076733 or a4,a4,a6 6a4c: 0641 addi a2,a2,16 6a4e: bf59 j 69e4 6a50: 014a4503 lbu a0,20(s4) 6a54: e1dfe0ef jal ra,5870 6a58: 842a mv s0,a0 6a5a: ba050ae3 beqz a0,660e 6a5e: 000b2783 lw a5,0(s6) 6a62: 4701 li a4,0 6a64: 01078693 addi a3,a5,16 6a68: ca99 beqz a3,6a7e 6a6a: 3b94 lbu a3,17(a5) 6a6c: 2b98 lbu a4,16(a5) 6a6e: 06a2 slli a3,a3,0x8 6a70: 8ed9 or a3,a3,a4 6a72: 2bb8 lbu a4,18(a5) 6a74: 0742 slli a4,a4,0x10 6a76: 8ed9 or a3,a3,a4 6a78: 3bb8 lbu a4,19(a5) 6a7a: 0762 slli a4,a4,0x18 6a7c: 8f55 or a4,a4,a3 6a7e: c018 sw a4,0(s0) 6a80: 01ca5703 lhu a4,28(s4) 6a84: 00c78693 addi a3,a5,12 6a88: ac5a sh a4,28(s0) 6a8a: 4701 li a4,0 6a8c: ca99 beqz a3,6aa2 6a8e: 37d4 lbu a3,13(a5) 6a90: 27d8 lbu a4,12(a5) 6a92: 06a2 slli a3,a3,0x8 6a94: 8ed9 or a3,a3,a4 6a96: 27f8 lbu a4,14(a5) 6a98: 0742 slli a4,a4,0x10 6a9a: 8ed9 or a3,a3,a4 6a9c: 37f8 lbu a4,15(a5) 6a9e: 0762 slli a4,a4,0x18 6aa0: 8f55 or a4,a4,a3 6aa2: 4094 lw a3,0(s1) 6aa4: c058 sw a4,4(s0) 6aa6: 04040513 addi a0,s0,64 6aaa: 329c lbu a5,1(a3) 6aac: 2298 lbu a4,0(a3) 6aae: 07a2 slli a5,a5,0x8 6ab0: 8fd9 or a5,a5,a4 6ab2: 000aa703 lw a4,0(s5) 6ab6: b05e sh a5,36(s0) 6ab8: 478d li a5,3 6aba: c81c sw a5,16(s0) 6abc: 00170793 addi a5,a4,1 6ac0: d41c sw a5,40(s0) 6ac2: d81c sw a5,48(s0) 6ac4: 36fc lbu a5,15(a3) 6ac6: 26f0 lbu a2,14(a3) 6ac8: 177d addi a4,a4,-1 6aca: 07a2 slli a5,a5,0x8 6acc: 8fd1 or a5,a5,a2 6ace: 06f41223 sh a5,100(s0) 6ad2: 04f41e23 sh a5,92(s0) 6ad6: 018a2783 lw a5,24(s4) 6ada: d438 sw a4,104(s0) 6adc: cc1c sw a5,24(s0) 6ade: 200087b7 lui a5,0x20008 6ae2: 8407d783 lhu a5,-1984(a5) # 20007840 6ae6: b45e sh a5,44(s0) 6ae8: b47e sh a5,46(s0) 6aea: 020a2783 lw a5,32(s4) 6aee: d01c sw a5,32(s0) 6af0: 008a5783 lhu a5,8(s4) 6af4: 1997f793 andi a5,a5,409 6af8: a41e sh a5,8(s0) 6afa: 9081a783 lw a5,-1784(gp) # 20000128 6afe: 9081a423 sw s0,-1784(gp) # 20000128 6b02: c45c sw a5,12(s0) 6b04: a0bff0ef jal ra,650e 6b08: 04045503 lhu a0,64(s0) 6b0c: 00440593 addi a1,s0,4 6b10: ea5fe0ef jal ra,59b4 6b14: 04a41023 sh a0,64(s0) 6b18: 4785 li a5,1 6b1a: 4701 li a4,0 6b1c: 46c9 li a3,18 6b1e: 4601 li a2,0 6b20: 4581 li a1,0 6b22: 8522 mv a0,s0 6b24: 2b49 jal 70b6 6b26: c511 beqz a0,6b32 6b28: 4581 li a1,0 6b2a: 8522 mv a0,s0 6b2c: c9bfe0ef jal ra,57c6 6b30: bcf9 j 660e 6b32: 8522 mv a0,s0 6b34: b51d j 695a 6b36: 8552 mv a0,s4 6b38: 00ca2a03 lw s4,12(s4) 6b3c: bd05 j 696c 6b3e: 4501 li a0,0 6b40: b57fe0ef jal ra,5696 6b44: b311 j 6848 6b46: 000aa783 lw a5,0(s5) 6b4a: 5418 lw a4,40(s0) 6b4c: 8f99 sub a5,a5,a4 6b4e: 0007c663 bltz a5,6b5a 6b52: 345a lhu a4,44(s0) 6b54: 8f99 sub a5,a5,a4 6b56: d2f050e3 blez a5,6876 6b5a: 000a4783 lbu a5,0(s4) 6b5e: 0087f713 andi a4,a5,8 6b62: 3e070063 beqz a4,6f42 6b66: 00f10593 addi a1,sp,15 6b6a: 8522 mv a0,s0 6b6c: 9abfb0ef jal ra,2516 6b70: 4785 li a5,1 6b72: 00f51663 bne a0,a5,6b7e 6b76: 4818 lw a4,16(s0) 6b78: 4789 li a5,2 6b7a: 1cf70163 beq a4,a5,6d3c 6b7e: 8522 mv a0,s0 6b80: 86afc0ef jal ra,2bea 6b84: 09c42783 lw a5,156(s0) 6b88: c781 beqz a5,6b90 6b8a: 4c08 lw a0,24(s0) 6b8c: 55e9 li a1,-6 6b8e: 9782 jalr a5 6b90: 85a2 mv a1,s0 6b92: 90818513 addi a0,gp,-1784 # 20000128 6b96: 9ddfe0ef jal ra,5572 6b9a: 85a2 mv a1,s0 6b9c: 4509 li a0,2 6b9e: e3ffd0ef jal ra,49dc 6ba2: aa69 j 6d3c 6ba4: 8b89 andi a5,a5,2 6ba6: c385 beqz a5,6bc6 6ba8: 481c lw a5,16(s0) 6baa: 4705 li a4,1 6bac: 17f9 addi a5,a5,-2 6bae: 00f77c63 bgeu a4,a5,6bc6 6bb2: 02644783 lbu a5,38(s0) 6bb6: 8522 mv a0,s0 6bb8: 0027e793 ori a5,a5,2 6bbc: 02f40323 sb a5,38(s0) 6bc0: 1f5000ef jal ra,75b4 6bc4: bf59 j 6b5a 6bc6: 9141a783 lw a5,-1772(gp) # 20000134 6bca: 0a0408a3 sb zero,177(s0) 6bce: 04040513 addi a0,s0,64 6bd2: dc1c sw a5,56(s0) 6bd4: 93bff0ef jal ra,650e 6bd8: 481c lw a5,16(s0) 6bda: 471d li a4,7 6bdc: 17f9 addi a5,a5,-2 6bde: f6f76ee3 bltu a4,a5,6b5a 6be2: 6725 lui a4,0x9 6be4: 078a slli a5,a5,0x2 6be6: e6c70713 addi a4,a4,-404 # 8e6c 6bea: 97ba add a5,a5,a4 6bec: 439c lw a5,0(a5) 6bee: 8782 jr a5 6bf0: 000cc783 lbu a5,0(s9) 6bf4: 4749 li a4,18 6bf6: 8bc9 andi a5,a5,18 6bf8: 0ce79263 bne a5,a4,6cbc 6bfc: 08042783 lw a5,128(s0) 6c00: 4b98 lw a4,16(a5) 6c02: 3348 lbu a0,5(a4) 6c04: 235c lbu a5,4(a4) 6c06: 0522 slli a0,a0,0x8 6c08: 8d5d or a0,a0,a5 6c0a: 237c lbu a5,6(a4) 6c0c: 07c2 slli a5,a5,0x10 6c0e: 8fc9 or a5,a5,a0 6c10: 3368 lbu a0,7(a4) 6c12: 0562 slli a0,a0,0x18 6c14: 8d5d or a0,a0,a5 6c16: be9fc0ef jal ra,37fe 6c1a: 00092783 lw a5,0(s2) 6c1e: 0505 addi a0,a0,1 6c20: 08f51e63 bne a0,a5,6cbc 6c24: 07645783 lhu a5,118(s0) 6c28: 000aa703 lw a4,0(s5) 6c2c: 4094 lw a3,0(s1) 6c2e: 0785 addi a5,a5,1 6c30: 06f41b23 sh a5,118(s0) 6c34: 00170793 addi a5,a4,1 6c38: c868 sw a0,84(s0) 6c3a: d41c sw a5,40(s0) 6c3c: d81c sw a5,48(s0) 6c3e: 36fc lbu a5,15(a3) 6c40: 26f0 lbu a2,14(a3) 6c42: 04045503 lhu a0,64(s0) 6c46: 07a2 slli a5,a5,0x8 6c48: 8fd1 or a5,a5,a2 6c4a: 177d addi a4,a4,-1 6c4c: 06f41223 sh a5,100(s0) 6c50: 4791 li a5,4 6c52: d438 sw a4,104(s0) 6c54: c81c sw a5,16(s0) 6c56: 00440593 addi a1,s0,4 6c5a: d5bfe0ef jal ra,59b4 6c5e: 47a9 li a5,10 6c60: 02f507b3 mul a5,a0,a5 6c64: 05a45703 lhu a4,90(s0) 6c68: 04a41023 sh a0,64(s0) 6c6c: 04f41e23 sh a5,92(s0) 6c70: 4785 li a5,1 6c72: 00f71563 bne a4,a5,6c7c 6c76: 0506 slli a0,a0,0x1 6c78: 0542 slli a0,a0,0x10 6c7a: 8141 srli a0,a0,0x10 6c7c: 07845783 lhu a5,120(s0) 6c80: 04a41d23 sh a0,90(s0) 6c84: 08042503 lw a0,128(s0) 6c88: 17fd addi a5,a5,-1 6c8a: 06f41c23 sh a5,120(s0) 6c8e: 411c lw a5,0(a0) 6c90: 04040923 sb zero,82(s0) 6c94: 04042223 sw zero,68(s0) 6c98: 08f42023 sw a5,128(s0) 6c9c: 0017b793 seqz a5,a5 6ca0: 40f007b3 neg a5,a5 6ca4: bc7e sh a5,62(s0) 6ca6: d34fe0ef jal ra,51da 6caa: 09442783 lw a5,148(s0) 6cae: f00782e3 beqz a5,6bb2 6cb2: 4c08 lw a0,24(s0) 6cb4: 4601 li a2,0 6cb6: 85a2 mv a1,s0 6cb8: 9782 jalr a5 6cba: bde5 j 6bb2 6cbc: 000cc783 lbu a5,0(s9) 6cc0: 8bc1 andi a5,a5,16 6cc2: e8078ce3 beqz a5,6b5a 6cc6: 4094 lw a3,0(s1) 6cc8: 000c5503 lhu a0,0(s8) 6ccc: 000aa583 lw a1,0(s5) 6cd0: 329c lbu a5,1(a3) 6cd2: 32b8 lbu a4,3(a3) 6cd4: 000b2603 lw a2,0(s6) 6cd8: 0006c883 lbu a7,0(a3) 6cdc: 0026c803 lbu a6,2(a3) 6ce0: 95aa add a1,a1,a0 6ce2: 00092503 lw a0,0(s2) 6ce6: 07a2 slli a5,a5,0x8 6ce8: 0722 slli a4,a4,0x8 6cea: 00c60693 addi a3,a2,12 6cee: 0117e7b3 or a5,a5,a7 6cf2: 01076733 or a4,a4,a6 6cf6: 0641 addi a2,a2,16 6cf8: 425000ef jal ra,791c 6cfc: bdb9 j 6b5a 6cfe: 000cc783 lbu a5,0(s9) 6d02: 0107f713 andi a4,a5,16 6d06: c769 beqz a4,6dd0 6d08: 00092503 lw a0,0(s2) 6d0c: 4878 lw a4,84(s0) 6d0e: fff50793 addi a5,a0,-1 6d12: 8f99 sub a5,a5,a4 6d14: 0807c663 bltz a5,6da0 6d18: 503c lw a5,96(s0) 6d1a: 40f507b3 sub a5,a0,a5 6d1e: 08f04163 bgtz a5,6da0 6d22: 4791 li a5,4 6d24: c81c sw a5,16(s0) 6d26: 501c lw a5,32(s0) 6d28: c78d beqz a5,6d52 6d2a: 4c08 lw a0,24(s0) 6d2c: 4601 li a2,0 6d2e: 85a2 mv a1,s0 6d30: 9782 jalr a5 6d32: c105 beqz a0,6d52 6d34: 4585 li a1,1 6d36: 8522 mv a0,s0 6d38: a8ffe0ef jal ra,57c6 6d3c: 004da503 lw a0,4(s11) 6d40: 000ba023 sw zero,0(s7) 6d44: 8c0508e3 beqz a0,6614 6d48: e67fd0ef jal ra,4bae 6d4c: 000da223 sw zero,4(s11) 6d50: b0d1 j 6614 6d52: 8522 mv a0,s0 6d54: 05a45483 lhu s1,90(s0) 6d58: e73fe0ef jal ra,5bca 6d5c: 07445783 lhu a5,116(s0) 6d60: c781 beqz a5,6d68 6d62: 17fd addi a5,a5,-1 6d64: 06f41a23 sh a5,116(s0) 6d68: 4705 li a4,1 6d6a: 04045783 lhu a5,64(s0) 6d6e: 00e49563 bne s1,a4,6d78 6d72: 0786 slli a5,a5,0x1 6d74: 07c2 slli a5,a5,0x10 6d76: 83c1 srli a5,a5,0x10 6d78: 04f41d23 sh a5,90(s0) 6d7c: 000a4783 lbu a5,0(s4) 6d80: 0207f793 andi a5,a5,32 6d84: dc078be3 beqz a5,6b5a 6d88: 02644783 lbu a5,38(s0) 6d8c: 8522 mv a0,s0 6d8e: 0027e793 ori a5,a5,2 6d92: 02f40323 sb a5,38(s0) 6d96: 01f000ef jal ra,75b4 6d9a: 479d li a5,7 6d9c: c81c sw a5,16(s0) 6d9e: bb75 j 6b5a 6da0: 4094 lw a3,0(s1) 6da2: 000b2603 lw a2,0(s6) 6da6: 000c5803 lhu a6,0(s8) 6daa: 329c lbu a5,1(a3) 6dac: 32b8 lbu a4,3(a3) 6dae: 0006c303 lbu t1,0(a3) 6db2: 0026c883 lbu a7,2(a3) 6db6: 000aa583 lw a1,0(s5) 6dba: 07a2 slli a5,a5,0x8 6dbc: 0722 slli a4,a4,0x8 6dbe: 00c60693 addi a3,a2,12 6dc2: 0067e7b3 or a5,a5,t1 6dc6: 01176733 or a4,a4,a7 6dca: 0641 addi a2,a2,16 6dcc: 95c2 add a1,a1,a6 6dce: b72d j 6cf8 6dd0: 8b89 andi a5,a5,2 6dd2: d80784e3 beqz a5,6b5a 6dd6: 541c lw a5,40(s0) 6dd8: 000aa703 lw a4,0(s5) 6ddc: 17fd addi a5,a5,-1 6dde: d6e79ee3 bne a5,a4,6b5a 6de2: 8522 mv a0,s0 6de4: 477000ef jal ra,7a5a 6de8: bb8d j 6b5a 6dea: 8522 mv a0,s0 6dec: ddffe0ef jal ra,5bca 6df0: b771 j 6d7c 6df2: 8522 mv a0,s0 6df4: dd7fe0ef jal ra,5bca 6df8: 000a4783 lbu a5,0(s4) 6dfc: 0207f793 andi a5,a5,32 6e00: c3c1 beqz a5,6e80 6e02: 000cc703 lbu a4,0(s9) 6e06: 02644783 lbu a5,38(s0) 6e0a: 8b41 andi a4,a4,16 6e0c: 0027e793 ori a5,a5,2 6e10: c32d beqz a4,6e72 6e12: 5034 lw a3,96(s0) 6e14: 00092703 lw a4,0(s2) 6e18: 04e69d63 bne a3,a4,6e72 6e1c: 02f40323 sb a5,38(s0) 6e20: 8522 mv a0,s0 6e22: 792000ef jal ra,75b4 6e26: 8522 mv a0,s0 6e28: c42fe0ef jal ra,526a 6e2c: 9081a783 lw a5,-1784(gp) # 20000128 6e30: 00f41d63 bne s0,a5,6e4a 6e34: 445c lw a5,12(s0) 6e36: 90f1a423 sw a5,-1784(gp) # 20000128 6e3a: 47a9 li a5,10 6e3c: c81c sw a5,16(s0) 6e3e: 9201a703 lw a4,-1760(gp) # 20000140 6e42: 9281a023 sw s0,-1760(gp) # 20000140 6e46: c458 sw a4,12(s0) 6e48: bb09 j 6b5a 6e4a: 90f1ae23 sw a5,-1764(gp) # 2000013c 6e4e: 4681 li a3,0 6e50: e789 bnez a5,6e5a 6e52: d6e5 beqz a3,6e3a 6e54: 9001ae23 sw zero,-1764(gp) # 2000013c 6e58: b7cd j 6e3a 6e5a: 47d0 lw a2,12(a5) 6e5c: 00c41863 bne s0,a2,6e6c 6e60: c299 beqz a3,6e66 6e62: 90f1ae23 sw a5,-1764(gp) # 2000013c 6e66: 4458 lw a4,12(s0) 6e68: c7d8 sw a4,12(a5) 6e6a: bfc1 j 6e3a 6e6c: 4685 li a3,1 6e6e: 87b2 mv a5,a2 6e70: b7c5 j 6e50 6e72: 02f40323 sb a5,38(s0) 6e76: 8522 mv a0,s0 6e78: 73c000ef jal ra,75b4 6e7c: 47a1 li a5,8 6e7e: bf39 j 6d9c 6e80: 000cc783 lbu a5,0(s9) 6e84: 8bc1 andi a5,a5,16 6e86: cc078ae3 beqz a5,6b5a 6e8a: 5038 lw a4,96(s0) 6e8c: 00092783 lw a5,0(s2) 6e90: ccf715e3 bne a4,a5,6b5a 6e94: 4799 li a5,6 6e96: b719 j 6d9c 6e98: 8522 mv a0,s0 6e9a: d31fe0ef jal ra,5bca 6e9e: 000a4783 lbu a5,0(s4) 6ea2: 0207f793 andi a5,a5,32 6ea6: ca078ae3 beqz a5,6b5a 6eaa: 02644783 lbu a5,38(s0) 6eae: 8522 mv a0,s0 6eb0: 0027e793 ori a5,a5,2 6eb4: 02f40323 sb a5,38(s0) 6eb8: 6fc000ef jal ra,75b4 6ebc: 8522 mv a0,s0 6ebe: bacfe0ef jal ra,526a 6ec2: 9081a783 lw a5,-1784(gp) # 20000128 6ec6: f6f407e3 beq s0,a5,6e34 6eca: 90f1ae23 sw a5,-1764(gp) # 2000013c 6ece: 4681 li a3,0 6ed0: d3c9 beqz a5,6e52 6ed2: 47d0 lw a2,12(a5) 6ed4: f8c406e3 beq s0,a2,6e60 6ed8: 4685 li a3,1 6eda: 87b2 mv a5,a2 6edc: bfd5 j 6ed0 6ede: 8522 mv a0,s0 6ee0: cebfe0ef jal ra,5bca 6ee4: 000cc783 lbu a5,0(s9) 6ee8: 8bc1 andi a5,a5,16 6eea: c60788e3 beqz a5,6b5a 6eee: 5038 lw a4,96(s0) 6ef0: 00092783 lw a5,0(s2) 6ef4: c6f713e3 bne a4,a5,6b5a 6ef8: 8522 mv a0,s0 6efa: b70fe0ef jal ra,526a 6efe: 9081a783 lw a5,-1784(gp) # 20000128 6f02: f2f409e3 beq s0,a5,6e34 6f06: 90f1ae23 sw a5,-1764(gp) # 2000013c 6f0a: 4681 li a3,0 6f0c: d3b9 beqz a5,6e52 6f0e: 47d0 lw a2,12(a5) 6f10: f4c408e3 beq s0,a2,6e60 6f14: 4685 li a3,1 6f16: 87b2 mv a5,a2 6f18: bfd5 j 6f0c 6f1a: 8522 mv a0,s0 6f1c: caffe0ef jal ra,5bca 6f20: 000cc783 lbu a5,0(s9) 6f24: 8bc1 andi a5,a5,16 6f26: c2078ae3 beqz a5,6b5a 6f2a: 5038 lw a4,96(s0) 6f2c: 00092783 lw a5,0(s2) 6f30: c2f715e3 bne a4,a5,6b5a 6f34: 000a4783 lbu a5,0(s4) 6f38: 0107e793 ori a5,a5,16 6f3c: 00fa0023 sb a5,0(s4) 6f40: b929 j 6b5a 6f42: 8bc1 andi a5,a5,16 6f44: c785 beqz a5,6f6c 6f46: 8522 mv a0,s0 6f48: ca3fb0ef jal ra,2bea 6f4c: 85a2 mv a1,s0 6f4e: 90818513 addi a0,gp,-1784 # 20000128 6f52: e20fe0ef jal ra,5572 6f56: 4509 li a0,2 6f58: 85a2 mv a1,s0 6f5a: a83fd0ef jal ra,49dc 6f5e: 000d2503 lw a0,0(s10) 6f62: dc050de3 beqz a0,6d3c 6f66: c49fd0ef jal ra,4bae 6f6a: bbc9 j 6d3c 6f6c: 07445603 lhu a2,116(s0) 6f70: c619 beqz a2,6f7e 6f72: 08c42783 lw a5,140(s0) 6f76: c781 beqz a5,6f7e 6f78: 4c08 lw a0,24(s0) 6f7a: 85a2 mv a1,s0 6f7c: 9782 jalr a5 6f7e: 000d2603 lw a2,0(s10) 6f82: c60d beqz a2,6fac 6f84: 000cc783 lbu a5,0(s9) 6f88: 8ba1 andi a5,a5,8 6f8a: c789 beqz a5,6f94 6f8c: 365c lbu a5,13(a2) 6f8e: 0017e793 ori a5,a5,1 6f92: b65c sb a5,13(a2) 6f94: 09042783 lw a5,144(s0) 6f98: 4681 li a3,0 6f9a: 85a2 mv a1,s0 6f9c: cb9d beqz a5,6fd2 6f9e: 4c08 lw a0,24(s0) 6fa0: 9782 jalr a5 6fa2: c509 beqz a0,6fac 6fa4: 000d2783 lw a5,0(s10) 6fa8: 08f42423 sw a5,136(s0) 6fac: 000a4783 lbu a5,0(s4) 6fb0: 0207f793 andi a5,a5,32 6fb4: cb89 beqz a5,6fc6 6fb6: 09042783 lw a5,144(s0) 6fba: 4681 li a3,0 6fbc: 4601 li a2,0 6fbe: 85a2 mv a1,s0 6fc0: cf89 beqz a5,6fda 6fc2: 4c08 lw a0,24(s0) 6fc4: 9782 jalr a5 6fc6: 8522 mv a0,s0 6fc8: 000ba023 sw zero,0(s7) 6fcc: 5e8000ef jal ra,75b4 6fd0: b3b5 j 6d3c 6fd2: 4501 li a0,0 6fd4: ec2fe0ef jal ra,5696 6fd8: b7e9 j 6fa2 6fda: 4501 li a0,0 6fdc: ebafe0ef jal ra,5696 6fe0: b7dd j 6fc6 00006fe2 : tcp_output_set_header.isra.0.constprop.1(): 6fe2: a0ef92ef jal t0,1f0 <__riscv_save_0> 6fe6: 892a mv s2,a0 6fe8: 2d4a lhu a0,28(a0) 6fea: 1141 addi sp,sp,-16 6fec: 842e mv s0,a1 6fee: c632 sw a2,12(sp) 6ff0: fcefc0ef jal ra,37be 6ff4: a008 sb a0,0(s0) 6ff6: 8121 srli a0,a0,0x8 6ff8: b008 sb a0,1(s0) 6ffa: 02495503 lhu a0,36(s2) 6ffe: fc0fc0ef jal ra,37be 7002: 4632 lw a2,12(sp) 7004: a028 sb a0,2(s0) 7006: 8121 srli a0,a0,0x8 7008: b028 sb a0,3(s0) 700a: 00865793 srli a5,a2,0x8 700e: 02892503 lw a0,40(s2) 7012: a050 sb a2,4(s0) 7014: b05c sb a5,5(s0) 7016: 01065793 srli a5,a2,0x10 701a: 8261 srli a2,a2,0x18 701c: b070 sb a2,7(s0) 701e: a07c sb a5,6(s0) 7020: fbafc0ef jal ra,37da 7024: 00855793 srli a5,a0,0x8 7028: a408 sb a0,8(s0) 702a: b41c sb a5,9(s0) 702c: 3444 lbu s1,13(s0) 702e: 01055793 srli a5,a0,0x10 7032: 8161 srli a0,a0,0x18 7034: b428 sb a0,11(s0) 7036: 2448 lbu a0,12(s0) 7038: 04a2 slli s1,s1,0x8 703a: a43c sb a5,10(s0) 703c: 8cc9 or s1,s1,a0 703e: 6541 lui a0,0x10 7040: fc050513 addi a0,a0,-64 # ffc0 <_data_lma+0x712c> 7044: f7afc0ef jal ra,37be 7048: 8ce9 and s1,s1,a0 704a: 4541 li a0,16 704c: f72fc0ef jal ra,37be 7050: 8d45 or a0,a0,s1 7052: 0542 slli a0,a0,0x10 7054: 8141 srli a0,a0,0x10 7056: a448 sb a0,12(s0) 7058: 8121 srli a0,a0,0x8 705a: b448 sb a0,13(s0) 705c: 02e95503 lhu a0,46(s2) 7060: f5efc0ef jal ra,37be 7064: 02e95783 lhu a5,46(s2) 7068: a468 sb a0,14(s0) 706a: 8121 srli a0,a0,0x8 706c: b468 sb a0,15(s0) 706e: 02f91b23 sh a5,54(s2) 7072: 345c lbu a5,13(s0) 7074: 2448 lbu a0,12(s0) 7076: 00040923 sb zero,18(s0) 707a: 07a2 slli a5,a5,0x8 707c: 000409a3 sb zero,19(s0) 7080: 8d5d or a0,a0,a5 7082: f4afc0ef jal ra,37cc 7086: 6795 lui a5,0x5 7088: 03f57513 andi a0,a0,63 708c: 8d5d or a0,a0,a5 708e: f30fc0ef jal ra,37be 7092: 02e95703 lhu a4,46(s2) 7096: 02892783 lw a5,40(s2) 709a: a448 sb a0,12(s0) 709c: 8121 srli a0,a0,0x8 709e: b448 sb a0,13(s0) 70a0: 00040823 sb zero,16(s0) 70a4: 000408a3 sb zero,17(s0) 70a8: 97ba add a5,a5,a4 70aa: 02f92823 sw a5,48(s2) 70ae: 8522 mv a0,s0 70b0: 0141 addi sp,sp,16 70b2: 962f906f j 214 <__riscv_restore_0> 000070b6 : tcp_enqueue(): 70b6: 90af92ef jal t0,1c0 <__riscv_save_12> 70ba: 7179 addi sp,sp,-48 70bc: c62e sw a1,12(sp) 70be: ca3a sw a4,20(sp) 70c0: 892a mv s2,a0 70c2: 8ab2 mv s5,a2 70c4: 8b36 mv s6,a3 70c6: 8dbe mv s11,a5 70c8: ee01 bnez a2,70e0 70ca: 0036f793 andi a5,a3,3 70ce: 00fde7b3 or a5,s11,a5 70d2: 5a59 li s4,-10 70d4: c391 beqz a5,70d8 70d6: c18d beqz a1,70f8 70d8: 8552 mv a0,s4 70da: 6145 addi sp,sp,48 70dc: 920f906f j 1fc <__riscv_restore_12> 70e0: 07655783 lhu a5,118(a0) 70e4: 00c7fa63 bgeu a5,a2,70f8 70e8: 02694783 lbu a5,38(s2) 70ec: 5a7d li s4,-1 70ee: f807e793 ori a5,a5,-128 70f2: 02f90323 sb a5,38(s2) 70f6: b7cd j 70d8 70f8: 002d9793 slli a5,s11,0x2 70fc: 002df713 andi a4,s11,2 7100: 8b91 andi a5,a5,4 7102: 46b1 li a3,12 7104: e311 bnez a4,7108 7106: 4681 li a3,0 7108: 97b6 add a5,a5,a3 710a: c23e sw a5,4(sp) 710c: 07092783 lw a5,112(s2) 7110: 20008d37 lui s10,0x20008 7114: 83cd0713 addi a4,s10,-1988 # 2000783c 7118: c43e sw a5,8(sp) 711a: 471c lw a5,8(a4) 711c: 4358 lw a4,4(a4) 711e: 07895483 lhu s1,120(s2) 7122: 078a slli a5,a5,0x2 7124: 02e7d7b3 divu a5,a5,a4 7128: 83cd0d13 addi s10,s10,-1988 712c: faf4fee3 bgeu s1,a5,70e8 7130: 6741 lui a4,0x10 7132: ffc70693 addi a3,a4,-4 # fffc <_data_lma+0x7168> 7136: fa96e9e3 bltu a3,s1,70e8 713a: 4792 lw a5,4(sp) 713c: 8230 lhu a2,4(sp) 713e: fc070713 addi a4,a4,-64 7142: 8389 srli a5,a5,0x2 7144: 0ff7f793 andi a5,a5,255 7148: 0795 addi a5,a5,5 714a: c832 sw a2,16(sp) 714c: 4652 lw a2,20(sp) 714e: 07b2 slli a5,a5,0xc 7150: 07c2 slli a5,a5,0x10 7152: d23a sw a4,36(sp) 7154: 4cb2 lw s9,12(sp) 7156: 010b1713 slli a4,s6,0x10 715a: 83c1 srli a5,a5,0x10 715c: 8a05 andi a2,a2,1 715e: 8341 srli a4,a4,0x10 7160: cc3e sw a5,24(sp) 7162: 8bd6 mv s7,s5 7164: 4981 li s3,0 7166: 4781 li a5,0 7168: ce32 sw a2,28(sp) 716a: d036 sw a3,32(sp) 716c: d43a sw a4,40(sp) 716e: 04095a03 lhu s4,64(s2) 7172: 4712 lw a4,4(sp) 7174: 40ea0a33 sub s4,s4,a4 7178: 014bd363 bge s7,s4,717e 717c: 8a5e mv s4,s7 717e: 4511 li a0,4 7180: d63e sw a5,44(sp) 7182: 010a1c13 slli s8,s4,0x10 7186: 837fd0ef jal ra,49bc 718a: 010c5c13 srli s8,s8,0x10 718e: 842a mv s0,a0 7190: 18050663 beqz a0,731c 7194: 00052023 sw zero,0(a0) 7198: 00052223 sw zero,4(a0) 719c: 14098463 beqz s3,72e4 71a0: 57b2 lw a5,44(sp) 71a2: c388 sw a0,0(a5) 71a4: 47f2 lw a5,28(sp) 71a6: 14078163 beqz a5,72e8 71aa: 47c2 lw a5,16(sp) 71ac: 4601 li a2,0 71ae: 4501 li a0,0 71b0: 00fc05b3 add a1,s8,a5 71b4: 05c2 slli a1,a1,0x10 71b6: 81c1 srli a1,a1,0x10 71b8: a45fd0ef jal ra,4bfc 71bc: c048 sw a0,4(s0) 71be: 14050f63 beqz a0,731c 71c2: bd3fd0ef jal ra,4d94 71c6: 47b2 lw a5,12(sp) 71c8: 94aa add s1,s1,a0 71ca: 04c2 slli s1,s1,0x10 71cc: 80c1 srli s1,s1,0x10 71ce: cf81 beqz a5,71e6 71d0: 405c lw a5,4(s0) 71d2: 85e6 mv a1,s9 71d4: 43c8 lw a0,4(a5) 71d6: 67c1 lui a5,0x10 71d8: 17fd addi a5,a5,-1 71da: 00fa7633 and a2,s4,a5 71de: 4792 lw a5,4(sp) 71e0: 953e add a0,a0,a5 71e2: 1d5010ef jal ra,8bb6 71e6: 405c lw a5,4(s0) 71e8: 43dc lw a5,4(a5) 71ea: c41c sw a5,8(s0) 71ec: 008d2783 lw a5,8(s10) 71f0: 004d2703 lw a4,4(s10) 71f4: 078a slli a5,a5,0x2 71f6: 02e7d7b3 divu a5,a5,a4 71fa: 1297e163 bltu a5,s1,731c 71fe: 5782 lw a5,32(sp) 7200: 1097ee63 bltu a5,s1,731c 7204: 4048 lw a0,4(s0) 7206: 01841623 sh s8,12(s0) 720a: 45d1 li a1,20 720c: 935fd0ef jal ra,4b40 7210: 10051663 bnez a0,731c 7214: 405c lw a5,4(s0) 7216: 01c95503 lhu a0,28(s2) 721a: 418b8bb3 sub s7,s7,s8 721e: 43dc lw a5,4(a5) 7220: 0bc2 slli s7,s7,0x10 7222: 010bdb93 srli s7,s7,0x10 7226: c81c sw a5,16(s0) 7228: d63e sw a5,44(sp) 722a: d94fc0ef jal ra,37be 722e: 57b2 lw a5,44(sp) 7230: a388 sb a0,0(a5) 7232: 8121 srli a0,a0,0x8 7234: b388 sb a0,1(a5) 7236: 481c lw a5,16(s0) 7238: 02495503 lhu a0,36(s2) 723c: d63e sw a5,44(sp) 723e: d80fc0ef jal ra,37be 7242: 57b2 lw a5,44(sp) 7244: a3a8 sb a0,2(a5) 7246: 8121 srli a0,a0,0x8 7248: b3a8 sb a0,3(a5) 724a: 481c lw a5,16(s0) 724c: 4522 lw a0,8(sp) 724e: d63e sw a5,44(sp) 7250: d8afc0ef jal ra,37da 7254: 57b2 lw a5,44(sp) 7256: 00855713 srli a4,a0,0x8 725a: b3d8 sb a4,5(a5) 725c: 01055713 srli a4,a0,0x10 7260: a3f8 sb a4,6(a5) 7262: 4818 lw a4,16(s0) 7264: a3c8 sb a0,4(a5) 7266: 8161 srli a0,a0,0x18 7268: b3e8 sb a0,7(a5) 726a: 375c lbu a5,13(a4) 726c: 2748 lbu a0,12(a4) 726e: 00070923 sb zero,18(a4) 7272: 07a2 slli a5,a5,0x8 7274: 8fc9 or a5,a5,a0 7276: 5512 lw a0,36(sp) 7278: 000709a3 sb zero,19(a4) 727c: d63e sw a5,44(sp) 727e: d40fc0ef jal ra,37be 7282: 57b2 lw a5,44(sp) 7284: 8fe9 and a5,a5,a0 7286: 5522 lw a0,40(sp) 7288: d63e sw a5,44(sp) 728a: d34fc0ef jal ra,37be 728e: 57b2 lw a5,44(sp) 7290: 8d5d or a0,a0,a5 7292: 0542 slli a0,a0,0x10 7294: 481c lw a5,16(s0) 7296: 8141 srli a0,a0,0x10 7298: 00855713 srli a4,a0,0x8 729c: b7d8 sb a4,13(a5) 729e: a7c8 sb a0,12(a5) 72a0: 01b40723 sb s11,14(s0) 72a4: d28fc0ef jal ra,37cc 72a8: 481c lw a5,16(s0) 72aa: 03f57513 andi a0,a0,63 72ae: d63e sw a5,44(sp) 72b0: 47e2 lw a5,24(sp) 72b2: 8d5d or a0,a0,a5 72b4: d0afc0ef jal ra,37be 72b8: 57b2 lw a5,44(sp) 72ba: a7c8 sb a0,12(a5) 72bc: 8121 srli a0,a0,0x8 72be: b7c8 sb a0,13(a5) 72c0: 67c1 lui a5,0x10 72c2: 17fd addi a5,a5,-1 72c4: 00fa7a33 and s4,s4,a5 72c8: 47a2 lw a5,8(sp) 72ca: 9cd2 add s9,s9,s4 72cc: 97d2 add a5,a5,s4 72ce: c43e sw a5,8(sp) 72d0: 87a2 mv a5,s0 72d2: e80b9ee3 bnez s7,716e 72d6: 07c92a03 lw s4,124(s2) 72da: 060a1963 bnez s4,734c 72de: 07392e23 sw s3,124(s2) 72e2: a251 j 7466 72e4: 89aa mv s3,a0 72e6: bd7d j 71a4 72e8: 45c2 lw a1,16(sp) 72ea: 4601 li a2,0 72ec: 4501 li a0,0 72ee: 90ffd0ef jal ra,4bfc 72f2: c048 sw a0,4(s0) 72f4: c505 beqz a0,731c 72f6: a9ffd0ef jal ra,4d94 72fa: 94aa add s1,s1,a0 72fc: 04c2 slli s1,s1,0x10 72fe: 80c1 srli s1,s1,0x10 7300: ee0b86e3 beqz s7,71ec 7304: 85e2 mv a1,s8 7306: 4605 li a2,1 7308: 450d li a0,3 730a: 8f3fd0ef jal ra,4bfc 730e: 85aa mv a1,a0 7310: 4048 lw a0,4(s0) 7312: e195 bnez a1,7336 7314: 89bfd0ef jal ra,4bae 7318: 00042223 sw zero,4(s0) 731c: 02694783 lbu a5,38(s2) 7320: 5a7d li s4,-1 7322: f807e793 ori a5,a5,-128 7326: 02f90323 sb a5,38(s2) 732a: da0987e3 beqz s3,70d8 732e: 854e mv a0,s3 7330: ed5fd0ef jal ra,5204 7334: b355 j 70d8 7336: 0195a223 sw s9,4(a1) 733a: 0485 addi s1,s1,1 733c: 04c2 slli s1,s1,0x10 733e: 01942423 sw s9,8(s0) 7342: 80c1 srli s1,s1,0x10 7344: a6dfd0ef jal ra,4db0 7348: b555 j 71ec 734a: 8a3e mv s4,a5 734c: 000a2783 lw a5,0(s4) 7350: ffed bnez a5,734a 7352: 010a2783 lw a5,16(s4) 7356: 00ca5b83 lhu s7,12(s4) 735a: 27c8 lbu a0,12(a5) 735c: 37dc lbu a5,13(a5) 735e: 07a2 slli a5,a5,0x8 7360: 8d5d or a0,a0,a5 7362: c6afc0ef jal ra,37cc 7366: 890d andi a0,a0,3 7368: 00a03533 snez a0,a0 736c: 955e add a0,a0,s7 736e: 18050563 beqz a0,74f8 7372: 010a2783 lw a5,16(s4) 7376: 27c8 lbu a0,12(a5) 7378: 37dc lbu a5,13(a5) 737a: 07a2 slli a5,a5,0x8 737c: 8d5d or a0,a0,a5 737e: c4efc0ef jal ra,37cc 7382: 890d andi a0,a0,3 7384: 16051a63 bnez a0,74f8 7388: 003b7793 andi a5,s6,3 738c: c781 beqz a5,7394 738e: 4785 li a5,1 7390: 16fb1463 bne s6,a5,74f8 7394: 00c9d703 lhu a4,12(s3) 7398: 00ca5783 lhu a5,12(s4) 739c: 97ba add a5,a5,a4 739e: 04095703 lhu a4,64(s2) 73a2: 14f74b63 blt a4,a5,74f8 73a6: 00ea4703 lbu a4,14(s4) 73aa: 00e9c783 lbu a5,14(s3) 73ae: 14f71563 bne a4,a5,74f8 73b2: 010a2703 lw a4,16(s4) 73b6: 3348 lbu a0,5(a4) 73b8: 235c lbu a5,4(a4) 73ba: 0522 slli a0,a0,0x8 73bc: 8d5d or a0,a0,a5 73be: 237c lbu a5,6(a4) 73c0: 07c2 slli a5,a5,0x10 73c2: 8fc9 or a5,a5,a0 73c4: 3368 lbu a0,7(a4) 73c6: 0562 slli a0,a0,0x18 73c8: 8d5d or a0,a0,a5 73ca: c34fc0ef jal ra,37fe 73ce: 0109a703 lw a4,16(s3) 73d2: 00ca5b83 lhu s7,12(s4) 73d6: 235c lbu a5,4(a4) 73d8: 9baa add s7,s7,a0 73da: 3348 lbu a0,5(a4) 73dc: 0522 slli a0,a0,0x8 73de: 8d5d or a0,a0,a5 73e0: 237c lbu a5,6(a4) 73e2: 07c2 slli a5,a5,0x10 73e4: 8fc9 or a5,a5,a0 73e6: 3368 lbu a0,7(a4) 73e8: 0562 slli a0,a0,0x18 73ea: 8d5d or a0,a0,a5 73ec: c12fc0ef jal ra,37fe 73f0: 10ab9463 bne s7,a0,74f8 73f4: 47c2 lw a5,16(sp) 73f6: 55b1 li a1,-20 73f8: 0049a503 lw a0,4(s3) 73fc: 8d9d sub a1,a1,a5 73fe: 05c2 slli a1,a1,0x10 7400: 85c1 srai a1,a1,0x10 7402: f3efd0ef jal ra,4b40 7406: f0051be3 bnez a0,731c 740a: 0049a503 lw a0,4(s3) 740e: 253e lhu a5,10(a0) 7410: eb99 bnez a5,7426 7412: 411c lw a5,0(a0) 7414: 14fd addi s1,s1,-1 7416: 04c2 slli s1,s1,0x10 7418: 00f9a223 sw a5,4(s3) 741c: 00052023 sw zero,0(a0) 7420: 80c1 srli s1,s1,0x10 7422: f8cfd0ef jal ra,4bae 7426: 001b7793 andi a5,s6,1 742a: c7cd beqz a5,74d4 742c: 010a2783 lw a5,16(s4) 7430: 00d7cb83 lbu s7,13(a5) # 1000d <_data_lma+0x7179> 7434: 27c8 lbu a0,12(a5) 7436: 0ba2 slli s7,s7,0x8 7438: 00abebb3 or s7,s7,a0 743c: 4505 li a0,1 743e: b80fc0ef jal ra,37be 7442: 010a2783 lw a5,16(s4) 7446: 00abe533 or a0,s7,a0 744a: 0542 slli a0,a0,0x10 744c: 8141 srli a0,a0,0x10 744e: a7c8 sb a0,12(a5) 7450: 8121 srli a0,a0,0x8 7452: b7c8 sb a0,13(a5) 7454: 00899563 bne s3,s0,745e 7458: 00ca5c03 lhu s8,12(s4) 745c: 8452 mv s0,s4 745e: 85ce mv a1,s3 7460: 4511 li a0,4 7462: d7afd0ef jal ra,49dc 7466: 003b7793 andi a5,s6,3 746a: c789 beqz a5,7474 746c: 0a85 addi s5,s5,1 746e: 0ac2 slli s5,s5,0x10 7470: 010ada93 srli s5,s5,0x10 7474: 001b7b13 andi s6,s6,1 7478: 000b0863 beqz s6,7488 747c: 02694783 lbu a5,38(s2) 7480: 0207e793 ori a5,a5,32 7484: 02f90323 sb a5,38(s2) 7488: 07092783 lw a5,112(s2) 748c: 06991c23 sh s1,120(s2) 7490: 4a01 li s4,0 7492: 97d6 add a5,a5,s5 7494: 06f92823 sw a5,112(s2) 7498: 07695783 lhu a5,118(s2) 749c: 41578ab3 sub s5,a5,s5 74a0: 07591b23 sh s5,118(s2) 74a4: c20c0ae3 beqz s8,70d8 74a8: 481c lw a5,16(s0) 74aa: c20787e3 beqz a5,70d8 74ae: 4752 lw a4,20(sp) 74b0: 8b09 andi a4,a4,2 74b2: c20713e3 bnez a4,70d8 74b6: 37c4 lbu s1,13(a5) 74b8: 27c8 lbu a0,12(a5) 74ba: 04a2 slli s1,s1,0x8 74bc: 8cc9 or s1,s1,a0 74be: 4521 li a0,8 74c0: afefc0ef jal ra,37be 74c4: 481c lw a5,16(s0) 74c6: 8d45 or a0,a0,s1 74c8: 0542 slli a0,a0,0x10 74ca: 8141 srli a0,a0,0x10 74cc: a7c8 sb a0,12(a5) 74ce: 8121 srli a0,a0,0x8 74d0: b7c8 sb a0,13(a5) 74d2: b119 j 70d8 74d4: 0049a583 lw a1,4(s3) 74d8: 004a2503 lw a0,4(s4) 74dc: 8d5fd0ef jal ra,4db0 74e0: 00c9d703 lhu a4,12(s3) 74e4: 00ca5783 lhu a5,12(s4) 74e8: 97ba add a5,a5,a4 74ea: 00fa1623 sh a5,12(s4) 74ee: 0009a783 lw a5,0(s3) 74f2: 00fa2023 sw a5,0(s4) 74f6: bfb9 j 7454 74f8: 013a2023 sw s3,0(s4) 74fc: b7ad j 7466 000074fe : tcp_send_ctrl(): 74fe: cf3f82ef jal t0,1f0 <__riscv_save_0> 7502: 86ae mv a3,a1 7504: 4781 li a5,0 7506: 4705 li a4,1 7508: 4601 li a2,0 750a: 4581 li a1,0 750c: babff0ef jal ra,70b6 7510: d05f806f j 214 <__riscv_restore_0> 00007514 : tcp_write(): 7514: 87aa mv a5,a0 7516: 4908 lw a0,16(a0) 7518: 471d li a4,7 751a: 00e50863 beq a0,a4,752a 751e: ffe50813 addi a6,a0,-2 7522: 4709 li a4,2 7524: 5561 li a0,-8 7526: 01076e63 bltu a4,a6,7542 752a: 4501 li a0,0 752c: ca19 beqz a2,7542 752e: cc3f82ef jal t0,1f0 <__riscv_save_0> 7532: 8736 mv a4,a3 7534: 853e mv a0,a5 7536: 4681 li a3,0 7538: 4781 li a5,0 753a: b7dff0ef jal ra,70b6 753e: cd7f806f j 214 <__riscv_restore_0> 7542: 8082 ret 00007544 : tcp_send_empty_ack(): 7544: c93f82ef jal t0,1d6 <__riscv_save_4> 7548: 842a mv s0,a0 754a: 4601 li a2,0 754c: 45d1 li a1,20 754e: 4505 li a0,1 7550: eacfd0ef jal ra,4bfc 7554: cd31 beqz a0,75b0 7556: 02644783 lbu a5,38(s0) 755a: 84aa mv s1,a0 755c: 5028 lw a0,96(s0) 755e: 9bf1 andi a5,a5,-4 7560: 02f40323 sb a5,38(s0) 7564: a76fc0ef jal ra,37da 7568: 40cc lw a1,4(s1) 756a: 862a mv a2,a0 756c: 8522 mv a0,s0 756e: a75ff0ef jal ra,6fe2 7572: 249a lhu a4,8(s1) 7574: 00440913 addi s2,s0,4 7578: 89aa mv s3,a0 757a: 4699 li a3,6 757c: 864a mv a2,s2 757e: 85a2 mv a1,s0 7580: 8526 mv a0,s1 7582: 6e3000ef jal ra,8464 7586: 00a98823 sb a0,16(s3) 758a: 8121 srli a0,a0,0x8 758c: 00a988a3 sb a0,17(s3) 7590: 2438 lbu a4,10(s0) 7592: 3434 lbu a3,11(s0) 7594: 4799 li a5,6 7596: 864a mv a2,s2 7598: 85a2 mv a1,s0 759a: 8526 mv a0,s1 759c: eaefc0ef jal ra,3c4a 75a0: 8526 mv a0,s1 75a2: e0cfd0ef jal ra,4bae 75a6: 4501 li a0,0 75a8: 020403a3 sb zero,39(s0) 75ac: c5ff806f j 20a <__riscv_restore_4> 75b0: 5579 li a0,-2 75b2: bfed j 75ac 000075b4 : tcp_output(): 75b4: 93c1a783 lw a5,-1732(gp) # 2000015c 75b8: 36a78063 beq a5,a0,7918 75bc: c05f82ef jal t0,1c0 <__riscv_save_12> 75c0: 06455783 lhu a5,100(a0) 75c4: 05a55a03 lhu s4,90(a0) 75c8: 0147f363 bgeu a5,s4,75ce 75cc: 8a3e mv s4,a5 75ce: 02654783 lbu a5,38(a0) 75d2: 0a42 slli s4,s4,0x10 75d4: 842a mv s0,a0 75d6: 8b89 andi a5,a5,2 75d8: 010a5a13 srli s4,s4,0x10 75dc: 5d64 lw s1,124(a0) 75de: cb95 beqz a5,7612 75e0: e491 bnez s1,75ec 75e2: 8522 mv a0,s0 75e4: f61ff0ef jal ra,7544 75e8: c15f806f j 1fc <__riscv_restore_12> 75ec: 4898 lw a4,16(s1) 75ee: 3348 lbu a0,5(a4) 75f0: 235c lbu a5,4(a4) 75f2: 0522 slli a0,a0,0x8 75f4: 8d5d or a0,a0,a5 75f6: 237c lbu a5,6(a4) 75f8: 07c2 slli a5,a5,0x10 75fa: 8fc9 or a5,a5,a0 75fc: 3368 lbu a0,7(a4) 75fe: 0562 slli a0,a0,0x18 7600: 8d5d or a0,a0,a5 7602: 9fcfc0ef jal ra,37fe 7606: 24de lhu a5,12(s1) 7608: 4878 lw a4,84(s0) 760a: 8f99 sub a5,a5,a4 760c: 953e add a0,a0,a5 760e: fcaa6ae3 bltu s4,a0,75e2 7612: 08042983 lw s3,128(s0) 7616: 08099663 bnez s3,76a2 761a: 20008ab7 lui s5,0x20008 761e: 4b89 li s7,2 7620: 83ca8a93 addi s5,s5,-1988 # 2000783c 7624: 02040c37 lui s8,0x2040 7628: 00440b13 addi s6,s0,4 762c: 5cfd li s9,-1 762e: c0ad beqz s1,7690 7630: 4898 lw a4,16(s1) 7632: 3348 lbu a0,5(a4) 7634: 235c lbu a5,4(a4) 7636: 0522 slli a0,a0,0x8 7638: 8d5d or a0,a0,a5 763a: 237c lbu a5,6(a4) 763c: 07c2 slli a5,a5,0x10 763e: 8fc9 or a5,a5,a0 7640: 3368 lbu a0,7(a4) 7642: 0562 slli a0,a0,0x18 7644: 8d5d or a0,a0,a5 7646: 9b8fc0ef jal ra,37fe 764a: 24de lhu a5,12(s1) 764c: 4878 lw a4,84(s0) 764e: 8f99 sub a5,a5,a4 7650: 953e add a0,a0,a5 7652: 04aa7c63 bgeu s4,a0,76aa 7656: 0b044783 lbu a5,176(s0) 765a: eb9d bnez a5,7690 765c: 4898 lw a4,16(s1) 765e: 3348 lbu a0,5(a4) 7660: 235c lbu a5,4(a4) 7662: 0522 slli a0,a0,0x8 7664: 8d5d or a0,a0,a5 7666: 237c lbu a5,6(a4) 7668: 07c2 slli a5,a5,0x10 766a: 8fc9 or a5,a5,a0 766c: 3368 lbu a0,7(a4) 766e: 0562 slli a0,a0,0x18 7670: 8d5d or a0,a0,a5 7672: 98cfc0ef jal ra,37fe 7676: 24de lhu a5,12(s1) 7678: 4878 lw a4,84(s0) 767a: 8f99 sub a5,a5,a4 767c: 953e add a0,a0,a5 767e: 06445783 lhu a5,100(s0) 7682: 00a7f763 bgeu a5,a0,7690 7686: 4785 li a5,1 7688: 0a042623 sw zero,172(s0) 768c: 0af40823 sb a5,176(s0) 7690: 02644783 lbu a5,38(s0) 7694: 4501 li a0,0 7696: 07f7f793 andi a5,a5,127 769a: 02f40323 sb a5,38(s0) 769e: b7a9 j 75e8 76a0: 89be mv s3,a5 76a2: 0009a783 lw a5,0(s3) 76a6: ffed bnez a5,76a0 76a8: bf8d j 761a 76aa: 08042783 lw a5,128(s0) 76ae: c395 beqz a5,76d2 76b0: 02644783 lbu a5,38(s0) 76b4: 0447f713 andi a4,a5,68 76b8: ef09 bnez a4,76d2 76ba: 5c78 lw a4,124(s0) 76bc: cb01 beqz a4,76cc 76be: 4314 lw a3,0(a4) 76c0: ea89 bnez a3,76d2 76c2: 2756 lhu a3,12(a4) 76c4: 04045703 lhu a4,64(s0) 76c8: 00e6f563 bgeu a3,a4,76d2 76cc: 0a07f793 andi a5,a5,160 76d0: d3d9 beqz a5,7656 76d2: 409c lw a5,0(s1) 76d4: dc7c sw a5,124(s0) 76d6: 481c lw a5,16(s0) 76d8: 03778963 beq a5,s7,770a 76dc: 489c lw a5,16(s1) 76de: 00d7c903 lbu s2,13(a5) 76e2: 27c8 lbu a0,12(a5) 76e4: 0922 slli s2,s2,0x8 76e6: 00a96933 or s2,s2,a0 76ea: 4541 li a0,16 76ec: 8d2fc0ef jal ra,37be 76f0: 489c lw a5,16(s1) 76f2: 00a96533 or a0,s2,a0 76f6: 0542 slli a0,a0,0x10 76f8: 8141 srli a0,a0,0x10 76fa: a7c8 sb a0,12(a5) 76fc: 8121 srli a0,a0,0x8 76fe: b7c8 sb a0,13(a5) 7700: 02644783 lbu a5,38(s0) 7704: 9bf1 andi a5,a5,-4 7706: 02f40323 sb a5,38(s0) 770a: 5408 lw a0,40(s0) 770c: 0104a903 lw s2,16(s1) 7710: 8cafc0ef jal ra,37da 7714: 00855793 srli a5,a0,0x8 7718: 00a90423 sb a0,8(s2) 771c: 00f904a3 sb a5,9(s2) 7720: 01055793 srli a5,a0,0x10 7724: 8161 srli a0,a0,0x18 7726: 00a905a3 sb a0,11(s2) 772a: 346a lhu a0,46(s0) 772c: 00f90523 sb a5,10(s2) 7730: 0104a903 lw s2,16(s1) 7734: 88afc0ef jal ra,37be 7738: 347a lhu a4,46(s0) 773a: 541c lw a5,40(s0) 773c: 00a90723 sb a0,14(s2) 7740: 8121 srli a0,a0,0x8 7742: 00a907a3 sb a0,15(s2) 7746: 97ba add a5,a5,a4 7748: b87a sh a4,54(s0) 774a: d81c sw a5,48(s0) 774c: 24fc lbu a5,14(s1) 774e: 8b85 andi a5,a5,1 7750: cb99 beqz a5,7766 7752: 004aa503 lw a0,4(s5) 7756: 0104a903 lw s2,16(s1) 775a: 00ac6533 or a0,s8,a0 775e: 87cfc0ef jal ra,37da 7762: 00a92a23 sw a0,20(s2) 7766: 401c lw a5,0(s0) 7768: e799 bnez a5,7776 776a: 855a mv a0,s6 776c: 89efc0ef jal ra,380a 7770: c559 beqz a0,77fe 7772: 415c lw a5,4(a0) 7774: c01c sw a5,0(s0) 7776: 03e41783 lh a5,62(s0) 777a: 01979463 bne a5,s9,7782 777e: 02041f23 sh zero,62(s0) 7782: 407c lw a5,68(s0) 7784: e395 bnez a5,77a8 7786: 9141a783 lw a5,-1772(gp) # 20000134 778a: 4898 lw a4,16(s1) 778c: c07c sw a5,68(s0) 778e: 3348 lbu a0,5(a4) 7790: 235c lbu a5,4(a4) 7792: 0522 slli a0,a0,0x8 7794: 8d5d or a0,a0,a5 7796: 237c lbu a5,6(a4) 7798: 07c2 slli a5,a5,0x10 779a: 8fc9 or a5,a5,a0 779c: 3368 lbu a0,7(a4) 779e: 0562 slli a0,a0,0x18 77a0: 8d5d or a0,a0,a5 77a2: 85cfc0ef jal ra,37fe 77a6: c428 sw a0,72(s0) 77a8: 40c8 lw a0,4(s1) 77aa: 0104a903 lw s2,16(s1) 77ae: 4699 li a3,6 77b0: 4158 lw a4,4(a0) 77b2: 01252223 sw s2,4(a0) 77b6: 865a mv a2,s6 77b8: 40e90733 sub a4,s2,a4 77bc: 01071793 slli a5,a4,0x10 77c0: 253a lhu a4,10(a0) 77c2: 83c1 srli a5,a5,0x10 77c4: 85a2 mv a1,s0 77c6: 8f1d sub a4,a4,a5 77c8: a53a sh a4,10(a0) 77ca: 251a lhu a4,8(a0) 77cc: 8f1d sub a4,a4,a5 77ce: 0742 slli a4,a4,0x10 77d0: 8341 srli a4,a4,0x10 77d2: a51a sh a4,8(a0) 77d4: 00090823 sb zero,16(s2) 77d8: 000908a3 sb zero,17(s2) 77dc: 489000ef jal ra,8464 77e0: 00a90823 sb a0,16(s2) 77e4: 8121 srli a0,a0,0x8 77e6: 00a908a3 sb a0,17(s2) 77ea: 2438 lbu a4,10(s0) 77ec: 3434 lbu a3,11(s0) 77ee: 40c8 lw a0,4(s1) 77f0: 4799 li a5,6 77f2: 865a mv a2,s6 77f4: 85a2 mv a1,s0 77f6: c54fc0ef jal ra,3c4a 77fa: 020403a3 sb zero,39(s0) 77fe: 4898 lw a4,16(s1) 7800: 3348 lbu a0,5(a4) 7802: 235c lbu a5,4(a4) 7804: 0522 slli a0,a0,0x8 7806: 8d5d or a0,a0,a5 7808: 237c lbu a5,6(a4) 780a: 07c2 slli a5,a5,0x10 780c: 8fc9 or a5,a5,a0 780e: 3368 lbu a0,7(a4) 7810: 0562 slli a0,a0,0x18 7812: 8d5d or a0,a0,a5 7814: febfb0ef jal ra,37fe 7818: 489c lw a5,16(s1) 781a: 892a mv s2,a0 781c: 00c4dd83 lhu s11,12(s1) 7820: 27c8 lbu a0,12(a5) 7822: 37dc lbu a5,13(a5) 7824: 07a2 slli a5,a5,0x8 7826: 8d5d or a0,a0,a5 7828: fa5fb0ef jal ra,37cc 782c: 890d andi a0,a0,3 782e: 00a03533 snez a0,a0 7832: 503c lw a5,96(s0) 7834: 956e add a0,a0,s11 7836: 954a add a0,a0,s2 7838: 8f89 sub a5,a5,a0 783a: 0007d363 bgez a5,7840 783e: d028 sw a0,96(s0) 7840: 489c lw a5,16(s1) 7842: 00c4d903 lhu s2,12(s1) 7846: 27c8 lbu a0,12(a5) 7848: 37dc lbu a5,13(a5) 784a: 07a2 slli a5,a5,0x8 784c: 8d5d or a0,a0,a5 784e: f7ffb0ef jal ra,37cc 7852: 890d andi a0,a0,3 7854: 00a03533 snez a0,a0 7858: 954a add a0,a0,s2 785a: c95d beqz a0,7910 785c: 08042783 lw a5,128(s0) 7860: 0004a023 sw zero,0(s1) 7864: e789 bnez a5,786e 7866: 08942023 sw s1,128(s0) 786a: 89a6 mv s3,s1 786c: a899 j 78c2 786e: 4898 lw a4,16(s1) 7870: 3348 lbu a0,5(a4) 7872: 235c lbu a5,4(a4) 7874: 0522 slli a0,a0,0x8 7876: 8d5d or a0,a0,a5 7878: 237c lbu a5,6(a4) 787a: 07c2 slli a5,a5,0x10 787c: 8fc9 or a5,a5,a0 787e: 3368 lbu a0,7(a4) 7880: 0562 slli a0,a0,0x18 7882: 8d5d or a0,a0,a5 7884: f7bfb0ef jal ra,37fe 7888: 0109a703 lw a4,16(s3) 788c: 892a mv s2,a0 788e: 3348 lbu a0,5(a4) 7890: 235c lbu a5,4(a4) 7892: 0522 slli a0,a0,0x8 7894: 8d5d or a0,a0,a5 7896: 237c lbu a5,6(a4) 7898: 07c2 slli a5,a5,0x10 789a: 8fc9 or a5,a5,a0 789c: 3368 lbu a0,7(a4) 789e: 0562 slli a0,a0,0x18 78a0: 8d5d or a0,a0,a5 78a2: f5dfb0ef jal ra,37fe 78a6: 40a90533 sub a0,s2,a0 78aa: 06055063 bgez a0,790a 78ae: 08040913 addi s2,s0,128 78b2: 00092783 lw a5,0(s2) 78b6: eb81 bnez a5,78c6 78b8: 00092783 lw a5,0(s2) 78bc: c09c sw a5,0(s1) 78be: 00992023 sw s1,0(s2) 78c2: 5c64 lw s1,124(s0) 78c4: b3ad j 762e 78c6: 4b98 lw a4,16(a5) 78c8: 3348 lbu a0,5(a4) 78ca: 235c lbu a5,4(a4) 78cc: 0522 slli a0,a0,0x8 78ce: 8d5d or a0,a0,a5 78d0: 237c lbu a5,6(a4) 78d2: 07c2 slli a5,a5,0x10 78d4: 8fc9 or a5,a5,a0 78d6: 3368 lbu a0,7(a4) 78d8: 0562 slli a0,a0,0x18 78da: 8d5d or a0,a0,a5 78dc: f23fb0ef jal ra,37fe 78e0: 4898 lw a4,16(s1) 78e2: 8daa mv s11,a0 78e4: 3348 lbu a0,5(a4) 78e6: 235c lbu a5,4(a4) 78e8: 0522 slli a0,a0,0x8 78ea: 8d5d or a0,a0,a5 78ec: 237c lbu a5,6(a4) 78ee: 07c2 slli a5,a5,0x10 78f0: 8fc9 or a5,a5,a0 78f2: 3368 lbu a0,7(a4) 78f4: 0562 slli a0,a0,0x18 78f6: 8d5d or a0,a0,a5 78f8: f07fb0ef jal ra,37fe 78fc: 40ad8533 sub a0,s11,a0 7900: fa055ce3 bgez a0,78b8 7904: 00092903 lw s2,0(s2) 7908: b76d j 78b2 790a: 0099a023 sw s1,0(s3) 790e: bfb1 j 786a 7910: 8526 mv a0,s1 7912: 8c9fd0ef jal ra,51da 7916: b775 j 78c2 7918: 4501 li a0,0 791a: 8082 ret 0000791c : tcp_rst(): 791c: 8bbf82ef jal t0,1d6 <__riscv_save_4> 7920: 1141 addi sp,sp,-16 7922: 8aaa mv s5,a0 7924: 84ae mv s1,a1 7926: 89b2 mv s3,a2 7928: 45d1 li a1,20 792a: 4601 li a2,0 792c: 4505 li a0,1 792e: 8a36 mv s4,a3 7930: c63a sw a4,12(sp) 7932: 8b3e mv s6,a5 7934: ac8fd0ef jal ra,4bfc 7938: 0e050363 beqz a0,7a1e 793c: 4732 lw a4,12(sp) 793e: 4140 lw s0,4(a0) 7940: 892a mv s2,a0 7942: 853a mv a0,a4 7944: e7bfb0ef jal ra,37be 7948: a008 sb a0,0(s0) 794a: 8121 srli a0,a0,0x8 794c: b008 sb a0,1(s0) 794e: 855a mv a0,s6 7950: e6ffb0ef jal ra,37be 7954: a028 sb a0,2(s0) 7956: 8121 srli a0,a0,0x8 7958: b028 sb a0,3(s0) 795a: 8556 mv a0,s5 795c: e7ffb0ef jal ra,37da 7960: 00855793 srli a5,a0,0x8 7964: a048 sb a0,4(s0) 7966: b05c sb a5,5(s0) 7968: 01055793 srli a5,a0,0x10 796c: 8161 srli a0,a0,0x18 796e: a07c sb a5,6(s0) 7970: b068 sb a0,7(s0) 7972: 8526 mv a0,s1 7974: e67fb0ef jal ra,37da 7978: 00855793 srli a5,a0,0x8 797c: a408 sb a0,8(s0) 797e: b41c sb a5,9(s0) 7980: 3444 lbu s1,13(s0) 7982: 01055793 srli a5,a0,0x10 7986: 8161 srli a0,a0,0x18 7988: b428 sb a0,11(s0) 798a: 2448 lbu a0,12(s0) 798c: 04a2 slli s1,s1,0x8 798e: a43c sb a5,10(s0) 7990: 8cc9 or s1,s1,a0 7992: 6541 lui a0,0x10 7994: fc050513 addi a0,a0,-64 # ffc0 <_data_lma+0x712c> 7998: e27fb0ef jal ra,37be 799c: 8ce9 and s1,s1,a0 799e: 4551 li a0,20 79a0: e1ffb0ef jal ra,37be 79a4: 8d45 or a0,a0,s1 79a6: 0542 slli a0,a0,0x10 79a8: 8141 srli a0,a0,0x10 79aa: 200087b7 lui a5,0x20008 79ae: a448 sb a0,12(s0) 79b0: 8121 srli a0,a0,0x8 79b2: b448 sb a0,13(s0) 79b4: 8407d503 lhu a0,-1984(a5) # 20007840 79b8: e07fb0ef jal ra,37be 79bc: a468 sb a0,14(s0) 79be: 345c lbu a5,13(s0) 79c0: 8121 srli a0,a0,0x8 79c2: b468 sb a0,15(s0) 79c4: 2448 lbu a0,12(s0) 79c6: 07a2 slli a5,a5,0x8 79c8: 00040923 sb zero,18(s0) 79cc: 8d5d or a0,a0,a5 79ce: 000409a3 sb zero,19(s0) 79d2: dfbfb0ef jal ra,37cc 79d6: 6795 lui a5,0x5 79d8: 03f57513 andi a0,a0,63 79dc: 8d5d or a0,a0,a5 79de: de1fb0ef jal ra,37be 79e2: 00895703 lhu a4,8(s2) 79e6: a448 sb a0,12(s0) 79e8: 8121 srli a0,a0,0x8 79ea: b448 sb a0,13(s0) 79ec: 4699 li a3,6 79ee: 8652 mv a2,s4 79f0: 85ce mv a1,s3 79f2: 00040823 sb zero,16(s0) 79f6: 000408a3 sb zero,17(s0) 79fa: 854a mv a0,s2 79fc: 269000ef jal ra,8464 7a00: a808 sb a0,16(s0) 7a02: 8121 srli a0,a0,0x8 7a04: b808 sb a0,17(s0) 7a06: 4799 li a5,6 7a08: 4701 li a4,0 7a0a: 08000693 li a3,128 7a0e: 8652 mv a2,s4 7a10: 85ce mv a1,s3 7a12: 854a mv a0,s2 7a14: a36fc0ef jal ra,3c4a 7a18: 854a mv a0,s2 7a1a: 994fd0ef jal ra,4bae 7a1e: 0141 addi sp,sp,16 7a20: feaf806f j 20a <__riscv_restore_4> 00007a24 : tcp_rexmit_rto(): 7a24: 08052783 lw a5,128(a0) 7a28: cb85 beqz a5,7a58 7a2a: fc6f82ef jal t0,1f0 <__riscv_save_0> 7a2e: 873e mv a4,a5 7a30: 4314 lw a3,0(a4) 7a32: e28d bnez a3,7a54 7a34: 5d74 lw a3,124(a0) 7a36: c314 sw a3,0(a4) 7a38: dd7c sw a5,124(a0) 7a3a: 05254783 lbu a5,82(a0) 7a3e: 08052023 sw zero,128(a0) 7a42: 04052223 sw zero,68(a0) 7a46: 0785 addi a5,a5,1 7a48: 04f50923 sb a5,82(a0) 7a4c: b69ff0ef jal ra,75b4 7a50: fc4f806f j 214 <__riscv_restore_0> 7a54: 8736 mv a4,a3 7a56: bfe9 j 7a30 7a58: 8082 ret 00007a5a : tcp_rexmit(): 7a5a: f7cf82ef jal t0,1d6 <__riscv_save_4> 7a5e: 08052483 lw s1,128(a0) 7a62: c495 beqz s1,7a8e 7a64: 409c lw a5,0(s1) 7a66: 842a mv s0,a0 7a68: 07c50913 addi s2,a0,124 7a6c: 08f52023 sw a5,128(a0) 7a70: 00092783 lw a5,0(s2) 7a74: ef99 bnez a5,7a92 7a76: 00092783 lw a5,0(s2) 7a7a: c09c sw a5,0(s1) 7a7c: 00992023 sw s1,0(s2) 7a80: 05244783 lbu a5,82(s0) 7a84: 04042223 sw zero,68(s0) 7a88: 0785 addi a5,a5,1 7a8a: 04f40923 sb a5,82(s0) 7a8e: f7cf806f j 20a <__riscv_restore_4> 7a92: 4b98 lw a4,16(a5) 7a94: 3348 lbu a0,5(a4) 7a96: 235c lbu a5,4(a4) 7a98: 0522 slli a0,a0,0x8 7a9a: 8d5d or a0,a0,a5 7a9c: 237c lbu a5,6(a4) 7a9e: 07c2 slli a5,a5,0x10 7aa0: 8fc9 or a5,a5,a0 7aa2: 3368 lbu a0,7(a4) 7aa4: 0562 slli a0,a0,0x18 7aa6: 8d5d or a0,a0,a5 7aa8: d57fb0ef jal ra,37fe 7aac: 4898 lw a4,16(s1) 7aae: 89aa mv s3,a0 7ab0: 3348 lbu a0,5(a4) 7ab2: 235c lbu a5,4(a4) 7ab4: 0522 slli a0,a0,0x8 7ab6: 8d5d or a0,a0,a5 7ab8: 237c lbu a5,6(a4) 7aba: 07c2 slli a5,a5,0x10 7abc: 8fc9 or a5,a5,a0 7abe: 3368 lbu a0,7(a4) 7ac0: 0562 slli a0,a0,0x18 7ac2: 8d5d or a0,a0,a5 7ac4: d3bfb0ef jal ra,37fe 7ac8: 40a98533 sub a0,s3,a0 7acc: fa0555e3 bgez a0,7a76 7ad0: 00092903 lw s2,0(s2) 7ad4: bf71 j 7a70 00007ad6 : tcp_rexmit_fast(): 7ad6: 08052783 lw a5,128(a0) 7ada: cfb1 beqz a5,7b36 7adc: f14f82ef jal t0,1f0 <__riscv_save_0> 7ae0: 02654783 lbu a5,38(a0) 7ae4: 842a mv s0,a0 7ae6: 8b91 andi a5,a5,4 7ae8: e7a9 bnez a5,7b32 7aea: f71ff0ef jal ra,7a5a 7aee: 05a45683 lhu a3,90(s0) 7af2: 06445783 lhu a5,100(s0) 7af6: 0016d713 srli a4,a3,0x1 7afa: 00d7f463 bgeu a5,a3,7b02 7afe: 0017d713 srli a4,a5,0x1 7b02: 04045783 lhu a5,64(s0) 7b06: 04e41e23 sh a4,92(s0) 7b0a: 00179693 slli a3,a5,0x1 7b0e: 00d75463 bge a4,a3,7b16 7b12: 04d41e23 sh a3,92(s0) 7b16: 470d li a4,3 7b18: 02e787b3 mul a5,a5,a4 7b1c: 05c45703 lhu a4,92(s0) 7b20: 97ba add a5,a5,a4 7b22: 04f41d23 sh a5,90(s0) 7b26: 02644783 lbu a5,38(s0) 7b2a: 0047e793 ori a5,a5,4 7b2e: 02f40323 sb a5,38(s0) 7b32: ee2f806f j 214 <__riscv_restore_0> 7b36: 8082 ret 00007b38 : tcp_keepalive(): 7b38: e9ef82ef jal t0,1d6 <__riscv_save_4> 7b3c: 84aa mv s1,a0 7b3e: 4601 li a2,0 7b40: 45d1 li a1,20 7b42: 4505 li a0,1 7b44: 8b8fd0ef jal ra,4bfc 7b48: c529 beqz a0,7b92 7b4a: 842a mv s0,a0 7b4c: 50a8 lw a0,96(s1) 7b4e: 00448913 addi s2,s1,4 7b52: 157d addi a0,a0,-1 7b54: c87fb0ef jal ra,37da 7b58: 404c lw a1,4(s0) 7b5a: 862a mv a2,a0 7b5c: 8526 mv a0,s1 7b5e: c84ff0ef jal ra,6fe2 7b62: 241a lhu a4,8(s0) 7b64: 89aa mv s3,a0 7b66: 4699 li a3,6 7b68: 864a mv a2,s2 7b6a: 85a6 mv a1,s1 7b6c: 8522 mv a0,s0 7b6e: 0f7000ef jal ra,8464 7b72: 00a98823 sb a0,16(s3) 7b76: 8121 srli a0,a0,0x8 7b78: 00a988a3 sb a0,17(s3) 7b7c: 34b4 lbu a3,11(s1) 7b7e: 4799 li a5,6 7b80: 4701 li a4,0 7b82: 864a mv a2,s2 7b84: 85a6 mv a1,s1 7b86: 8522 mv a0,s0 7b88: 8c2fc0ef jal ra,3c4a 7b8c: 8522 mv a0,s0 7b8e: 820fd0ef jal ra,4bae 7b92: e78f806f j 20a <__riscv_restore_4> 00007b96 : tcp_zero_window_probe(): 7b96: e40f82ef jal t0,1d6 <__riscv_save_4> 7b9a: 08052403 lw s0,128(a0) 7b9e: e019 bnez s0,7ba4 7ba0: 5d60 lw s0,124(a0) 7ba2: c45d beqz s0,7c50 7ba4: 481c lw a5,16(s0) 7ba6: 84aa mv s1,a0 7ba8: 27c8 lbu a0,12(a5) 7baa: 37dc lbu a5,13(a5) 7bac: 07a2 slli a5,a5,0x8 7bae: 8d5d or a0,a0,a5 7bb0: c1dfb0ef jal ra,37cc 7bb4: 8905 andi a0,a0,1 7bb6: cd59 beqz a0,7c54 7bb8: 245e lhu a5,12(s0) 7bba: efc9 bnez a5,7c54 7bbc: 4a05 li s4,1 7bbe: 45d1 li a1,20 7bc0: 4601 li a2,0 7bc2: 4505 li a0,1 7bc4: 838fd0ef jal ra,4bfc 7bc8: 892a mv s2,a0 7bca: c159 beqz a0,7c50 7bcc: 4818 lw a4,16(s0) 7bce: 414c lw a1,4(a0) 7bd0: 8526 mv a0,s1 7bd2: 3350 lbu a2,5(a4) 7bd4: 235c lbu a5,4(a4) 7bd6: 0622 slli a2,a2,0x8 7bd8: 8e5d or a2,a2,a5 7bda: 237c lbu a5,6(a4) 7bdc: 07c2 slli a5,a5,0x10 7bde: 8fd1 or a5,a5,a2 7be0: 3370 lbu a2,7(a4) 7be2: 0662 slli a2,a2,0x18 7be4: 8e5d or a2,a2,a5 7be6: bfcff0ef jal ra,6fe2 7bea: 89aa mv s3,a0 7bec: 060a0763 beqz s4,7c5a 7bf0: 3540 lbu s0,13(a0) 7bf2: 255c lbu a5,12(a0) 7bf4: 6541 lui a0,0x10 7bf6: 0422 slli s0,s0,0x8 7bf8: fc050513 addi a0,a0,-64 # ffc0 <_data_lma+0x712c> 7bfc: 8c5d or s0,s0,a5 7bfe: bc1fb0ef jal ra,37be 7c02: 8c69 and s0,s0,a0 7c04: 4545 li a0,17 7c06: bb9fb0ef jal ra,37be 7c0a: 8c49 or s0,s0,a0 7c0c: 01041793 slli a5,s0,0x10 7c10: 83c1 srli a5,a5,0x10 7c12: 00f98623 sb a5,12(s3) 7c16: 83a1 srli a5,a5,0x8 7c18: 00f986a3 sb a5,13(s3) 7c1c: 00895703 lhu a4,8(s2) 7c20: 00448413 addi s0,s1,4 7c24: 4699 li a3,6 7c26: 8622 mv a2,s0 7c28: 85a6 mv a1,s1 7c2a: 854a mv a0,s2 7c2c: 039000ef jal ra,8464 7c30: 00a98823 sb a0,16(s3) 7c34: 8121 srli a0,a0,0x8 7c36: 00a988a3 sb a0,17(s3) 7c3a: 34b4 lbu a3,11(s1) 7c3c: 4799 li a5,6 7c3e: 4701 li a4,0 7c40: 8622 mv a2,s0 7c42: 85a6 mv a1,s1 7c44: 854a mv a0,s2 7c46: 804fc0ef jal ra,3c4a 7c4a: 854a mv a0,s2 7c4c: f63fc0ef jal ra,4bae 7c50: dbaf806f j 20a <__riscv_restore_4> 7c54: 4a01 li s4,0 7c56: 45d5 li a1,21 7c58: b7a5 j 7bc0 7c5a: 4418 lw a4,8(s0) 7c5c: 00492783 lw a5,4(s2) 7c60: 00070703 lb a4,0(a4) 7c64: abd8 sb a4,20(a5) 7c66: bf5d j 7c1c 00007c68 : udp_input(): 7c68: d58f82ef jal t0,1c0 <__riscv_save_12> 7c6c: 4140 lw s0,4(a0) 7c6e: 2506 lhu s1,8(a0) 7c70: 892a mv s2,a0 7c72: 301c lbu a5,1(s0) 7c74: 2008 lbu a0,0(s0) 7c76: 1141 addi sp,sp,-16 7c78: 07a2 slli a5,a5,0x8 7c7a: 8d5d or a0,a0,a5 7c7c: 8a2e mv s4,a1 7c7e: b4ffb0ef jal ra,37cc 7c82: 8121 srli a0,a0,0x8 7c84: 893d andi a0,a0,15 7c86: 0509 addi a0,a0,2 7c88: 050a slli a0,a0,0x2 7c8a: 02a4c263 blt s1,a0,7cae 7c8e: 301c lbu a5,1(s0) 7c90: 2008 lbu a0,0(s0) 7c92: 07a2 slli a5,a5,0x8 7c94: 8d5d or a0,a0,a5 7c96: b37fb0ef jal ra,37cc 7c9a: 00655593 srli a1,a0,0x6 7c9e: 03c5f593 andi a1,a1,60 7ca2: 40b005b3 neg a1,a1 7ca6: 854a mv a0,s2 7ca8: e99fc0ef jal ra,4b40 7cac: c519 beqz a0,7cba 7cae: 854a mv a0,s2 7cb0: efffc0ef jal ra,4bae 7cb4: 0141 addi sp,sp,16 7cb6: d46f806f j 1fc <__riscv_restore_12> 7cba: 00492a83 lw s5,4(s2) 7cbe: 01040c13 addi s8,s0,16 7cc2: 85d2 mv a1,s4 7cc4: 8562 mv a0,s8 7cc6: fbbfb0ef jal ra,3c80 7cca: 001ac783 lbu a5,1(s5) 7cce: 8b2a mv s6,a0 7cd0: 000ac503 lbu a0,0(s5) 7cd4: 07a2 slli a5,a5,0x8 7cd6: 8d5d or a0,a0,a5 7cd8: af5fb0ef jal ra,37cc 7cdc: 003ac783 lbu a5,3(s5) 7ce0: 8baa mv s7,a0 7ce2: 002ac503 lbu a0,2(s5) 7ce6: 07a2 slli a5,a5,0x8 7ce8: 8d5d or a0,a0,a5 7cea: ae3fb0ef jal ra,37cc 7cee: 04400793 li a5,68 7cf2: 86aa mv a3,a0 7cf4: 06f51d63 bne a0,a5,7d6e 7cf8: 04300793 li a5,67 7cfc: 12fb9963 bne s7,a5,7e2e 7d00: 020a2783 lw a5,32(s4) 7d04: 12078563 beqz a5,7e2e 7d08: 43c4 lw s1,4(a5) 7d0a: 12048263 beqz s1,7e2e 7d0e: 40d4 lw a3,4(s1) 7d10: ce89 beqz a3,7d2a 7d12: 3458 lbu a4,13(s0) 7d14: 245c lbu a5,12(s0) 7d16: 0722 slli a4,a4,0x8 7d18: 8f5d or a4,a4,a5 7d1a: 247c lbu a5,14(s0) 7d1c: 07c2 slli a5,a5,0x10 7d1e: 8f5d or a4,a4,a5 7d20: 347c lbu a5,15(s0) 7d22: 07e2 slli a5,a5,0x18 7d24: 8fd9 or a5,a5,a4 7d26: 10f69463 bne a3,a5,7e2e 7d2a: 007ac783 lbu a5,7(s5) 7d2e: 006ac703 lbu a4,6(s5) 7d32: 07a2 slli a5,a5,0x8 7d34: 8fd9 or a5,a5,a4 7d36: cb99 beqz a5,7d4c 7d38: 00895703 lhu a4,8(s2) 7d3c: 46c5 li a3,17 7d3e: 8662 mv a2,s8 7d40: 00c40593 addi a1,s0,12 7d44: 854a mv a0,s2 7d46: 71e000ef jal ra,8464 7d4a: f135 bnez a0,7cae 7d4c: 55e1 li a1,-8 7d4e: 854a mv a0,s2 7d50: df1fc0ef jal ra,4b40 7d54: fd29 bnez a0,7cae 7d56: 0e048c63 beqz s1,7e4e 7d5a: 4c9c lw a5,24(s1) 7d5c: dba9 beqz a5,7cae 7d5e: 4cc8 lw a0,28(s1) 7d60: 875e mv a4,s7 7d62: 00c40693 addi a3,s0,12 7d66: 864a mv a2,s2 7d68: 85a6 mv a1,s1 7d6a: 9782 jalr a5 7d6c: b7a1 j 7cb4 7d6e: 9481a483 lw s1,-1720(gp) # 20000168 7d72: 4d01 li s10,0 7d74: 4d81 li s11,0 7d76: 94818c93 addi s9,gp,-1720 # 20000168 7d7a: 76c00613 li a2,1900 7d7e: e489 bnez s1,7d88 7d80: 0a0d0763 beqz s10,7e2e 7d84: 84ea mv s1,s10 7d86: b755 j 7d2a 7d88: 28be lhu a5,18(s1) 7d8a: 08d79c63 bne a5,a3,7e22 7d8e: 4098 lw a4,0(s1) 7d90: 040b1563 bnez s6,7dda 7d94: e339 bnez a4,7dda 7d96: 000d1663 bnez s10,7da2 7d9a: 289c lbu a5,16(s1) 7d9c: 8b91 andi a5,a5,4 7d9e: e391 bnez a5,7da2 7da0: 8d26 mv s10,s1 7da2: 28de lhu a5,20(s1) 7da4: 09779263 bne a5,s7,7e28 7da8: 40cc lw a1,4(s1) 7daa: cd89 beqz a1,7dc4 7dac: 3458 lbu a4,13(s0) 7dae: 245c lbu a5,12(s0) 7db0: 0722 slli a4,a4,0x8 7db2: 8f5d or a4,a4,a5 7db4: 247c lbu a5,14(s0) 7db6: 07c2 slli a5,a5,0x10 7db8: 8f5d or a4,a4,a5 7dba: 347c lbu a5,15(s0) 7dbc: 07e2 slli a5,a5,0x18 7dbe: 8fd9 or a5,a5,a4 7dc0: 06f59463 bne a1,a5,7e28 7dc4: f60d83e3 beqz s11,7d2a 7dc8: 44dc lw a5,12(s1) 7dca: 00fda623 sw a5,12(s11) 7dce: 000ca783 lw a5,0(s9) 7dd2: 009ca023 sw s1,0(s9) 7dd6: c4dc sw a5,12(s1) 7dd8: bf89 j 7d2a 7dda: 381c lbu a5,17(s0) 7ddc: 01044983 lbu s3,16(s0) 7de0: 07a2 slli a5,a5,0x8 7de2: 0137e7b3 or a5,a5,s3 7de6: 01244983 lbu s3,18(s0) 7dea: 09c2 slli s3,s3,0x10 7dec: 00f9e7b3 or a5,s3,a5 7df0: 01344983 lbu s3,19(s0) 7df4: 09e2 slli s3,s3,0x18 7df6: 00f9e9b3 or s3,s3,a5 7dfa: f8e98ee3 beq s3,a4,7d96 7dfe: f0000537 lui a0,0xf0000 7e02: c636 sw a3,12(sp) 7e04: 9fbfb0ef jal ra,37fe 7e08: 00a9f9b3 and s3,s3,a0 7e0c: e0000537 lui a0,0xe0000 7e10: 9effb0ef jal ra,37fe 7e14: 46b2 lw a3,12(sp) 7e16: 76c00613 li a2,1900 7e1a: f6a98ee3 beq s3,a0,7d96 7e1e: f60b1ce3 bnez s6,7d96 7e22: 8da6 mv s11,s1 7e24: 44c4 lw s1,12(s1) 7e26: bfa1 j 7d7e 7e28: fec69de3 bne a3,a2,7e22 7e2c: bdfd j 7d2a 7e2e: 3818 lbu a4,17(s0) 7e30: 281c lbu a5,16(s0) 7e32: 0722 slli a4,a4,0x8 7e34: 8f5d or a4,a4,a5 7e36: 283c lbu a5,18(s0) 7e38: 07c2 slli a5,a5,0x10 7e3a: 8f5d or a4,a4,a5 7e3c: 383c lbu a5,19(s0) 7e3e: 07e2 slli a5,a5,0x18 7e40: 8fd9 or a5,a5,a4 7e42: 004a2703 lw a4,4(s4) 7e46: e6f714e3 bne a4,a5,7cae 7e4a: 4481 li s1,0 7e4c: bdf9 j 7d2a 7e4e: e60b10e3 bnez s6,7cae 7e52: 381c lbu a5,17(s0) 7e54: 2804 lbu s1,16(s0) 7e56: f0000537 lui a0,0xf0000 7e5a: 07a2 slli a5,a5,0x8 7e5c: 8fc5 or a5,a5,s1 7e5e: 2824 lbu s1,18(s0) 7e60: 04c2 slli s1,s1,0x10 7e62: 8fc5 or a5,a5,s1 7e64: 3824 lbu s1,19(s0) 7e66: 04e2 slli s1,s1,0x18 7e68: 8cdd or s1,s1,a5 7e6a: 995fb0ef jal ra,37fe 7e6e: 8ce9 and s1,s1,a0 7e70: e0000537 lui a0,0xe0000 7e74: 98bfb0ef jal ra,37fe 7e78: e2a48be3 beq s1,a0,7cae 7e7c: 301c lbu a5,1(s0) 7e7e: 2008 lbu a0,0(s0) 7e80: 07a2 slli a5,a5,0x8 7e82: 8d5d or a0,a0,a5 7e84: 949fb0ef jal ra,37cc 7e88: 00855593 srli a1,a0,0x8 7e8c: 89bd andi a1,a1,15 7e8e: 0589 addi a1,a1,2 7e90: 058a slli a1,a1,0x2 7e92: 854a mv a0,s2 7e94: cadfc0ef jal ra,4b40 7e98: 458d li a1,3 7e9a: 854a mv a0,s2 7e9c: 230d jal 83be 7e9e: bd01 j 7cae 00007ea0 : udp_bind(): 7ea0: 9481a883 lw a7,-1720(gp) # 20000168 7ea4: 86aa mv a3,a0 7ea6: 4301 li t1,0 7ea8: 87c6 mv a5,a7 7eaa: 94818813 addi a6,gp,-1720 # 20000168 7eae: e79d bnez a5,7edc 7eb0: c999 beqz a1,7ec6 7eb2: 3198 lbu a4,1(a1) 7eb4: 219c lbu a5,0(a1) 7eb6: 0722 slli a4,a4,0x8 7eb8: 8f5d or a4,a4,a5 7eba: 21bc lbu a5,2(a1) 7ebc: 07c2 slli a5,a5,0x10 7ebe: 8f5d or a4,a4,a5 7ec0: 31bc lbu a5,3(a1) 7ec2: 07e2 slli a5,a5,0x18 7ec4: 8fd9 or a5,a5,a4 7ec6: c29c sw a5,0(a3) 7ec8: c625 beqz a2,7f30 7eca: aab2 sh a2,18(a3) 7ecc: 4501 li a0,0 7ece: 00031663 bnez t1,7eda 7ed2: 0116a623 sw a7,12(a3) 7ed6: 00d82023 sw a3,0(a6) 7eda: 8082 ret 7edc: 02d78b63 beq a5,a3,7f12 7ee0: 2bba lhu a4,18(a5) 7ee2: 02c71663 bne a4,a2,7f0e 7ee6: 0007ae03 lw t3,0(a5) # 5000 7eea: 000e1463 bnez t3,7ef2 7eee: 5555 li a0,-11 7ef0: 8082 ret 7ef2: ddf5 beqz a1,7eee 7ef4: 3188 lbu a0,1(a1) 7ef6: 2198 lbu a4,0(a1) 7ef8: 0522 slli a0,a0,0x8 7efa: 8d59 or a0,a0,a4 7efc: 21b8 lbu a4,2(a1) 7efe: 0742 slli a4,a4,0x10 7f00: 8d59 or a0,a0,a4 7f02: 31b8 lbu a4,3(a1) 7f04: 0762 slli a4,a4,0x18 7f06: 8f49 or a4,a4,a0 7f08: d37d beqz a4,7eee 7f0a: feee02e3 beq t3,a4,7eee 7f0e: 47dc lw a5,12(a5) 7f10: bf79 j 7eae 7f12: 4305 li t1,1 7f14: bfed j 7f0e 7f16: 2bae lhu a1,18(a5) 7f18: 00c59a63 bne a1,a2,7f2c 7f1c: 0605 addi a2,a2,1 7f1e: 0642 slli a2,a2,0x10 7f20: 8241 srli a2,a2,0x10 7f22: 87c6 mv a5,a7 7f24: d3dd beqz a5,7eca 7f26: fee618e3 bne a2,a4,7f16 7f2a: b7d1 j 7eee 7f2c: 47dc lw a5,12(a5) 7f2e: bfdd j 7f24 7f30: 6721 lui a4,0x8 7f32: 87c6 mv a5,a7 7f34: 6605 lui a2,0x1 7f36: 177d addi a4,a4,-1 7f38: b7f5 j 7f24 00007f3a : udp_sendto_if(): 7f3a: a9cf82ef jal t0,1d6 <__riscv_save_4> 7f3e: 293e lhu a5,18(a0) 7f40: 892a mv s2,a0 7f42: 89ae mv s3,a1 7f44: 8ab2 mv s5,a2 7f46: 8b36 mv s6,a3 7f48: 8a3a mv s4,a4 7f4a: c7ad beqz a5,7fb4 7f4c: 45a1 li a1,8 7f4e: 854e mv a0,s3 7f50: bf1fc0ef jal ra,4b40 7f54: 84ce mv s1,s3 7f56: cd01 beqz a0,7f6e 7f58: 4601 li a2,0 7f5a: 45a1 li a1,8 7f5c: 4505 li a0,1 7f5e: c9ffc0ef jal ra,4bfc 7f62: 84aa mv s1,a0 7f64: 547d li s0,-1 7f66: cd29 beqz a0,7fc0 7f68: 85ce mv a1,s3 7f6a: e63fc0ef jal ra,4dcc 7f6e: 01295503 lhu a0,18(s2) 7f72: 40c0 lw s0,4(s1) 7f74: 84bfb0ef jal ra,37be 7f78: a008 sb a0,0(s0) 7f7a: 8121 srli a0,a0,0x8 7f7c: b008 sb a0,1(s0) 7f7e: 855a mv a0,s6 7f80: 83ffb0ef jal ra,37be 7f84: 00092783 lw a5,0(s2) 7f88: a028 sb a0,2(s0) 7f8a: 8121 srli a0,a0,0x8 7f8c: b028 sb a0,3(s0) 7f8e: 00040323 sb zero,6(s0) 7f92: 000403a3 sb zero,7(s0) 7f96: 004a0b13 addi s6,s4,4 7f9a: c795 beqz a5,7fc6 7f9c: 004a2703 lw a4,4(s4) 7fa0: 8b4a mv s6,s2 7fa2: 02e78263 beq a5,a4,7fc6 7fa6: 545d li s0,-9 7fa8: 01348c63 beq s1,s3,7fc0 7fac: 8526 mv a0,s1 7fae: c01fc0ef jal ra,4bae 7fb2: a039 j 7fc0 7fb4: 4601 li a2,0 7fb6: 85aa mv a1,a0 7fb8: ee9ff0ef jal ra,7ea0 7fbc: 842a mv s0,a0 7fbe: d559 beqz a0,7f4c 7fc0: 8522 mv a0,s0 7fc2: a48f806f j 20a <__riscv_restore_4> 7fc6: 248a lhu a0,8(s1) 7fc8: ff6fb0ef jal ra,37be 7fcc: a048 sb a0,4(s0) 7fce: 8121 srli a0,a0,0x8 7fd0: b048 sb a0,5(s0) 7fd2: 01094783 lbu a5,16(s2) 7fd6: 8b85 andi a5,a5,1 7fd8: eb99 bnez a5,7fee 7fda: 249a lhu a4,8(s1) 7fdc: 46c5 li a3,17 7fde: 8656 mv a2,s5 7fe0: 85da mv a1,s6 7fe2: 8526 mv a0,s1 7fe4: 2141 jal 8464 7fe6: c10d beqz a0,8008 7fe8: a068 sb a0,6(s0) 7fea: 8121 srli a0,a0,0x8 7fec: b068 sb a0,7(s0) 7fee: 00a94703 lbu a4,10(s2) 7ff2: 00b94683 lbu a3,11(s2) 7ff6: 8852 mv a6,s4 7ff8: 47c5 li a5,17 7ffa: 8656 mv a2,s5 7ffc: 85da mv a1,s6 7ffe: 8526 mv a0,s1 8000: af1fb0ef jal ra,3af0 8004: 842a mv s0,a0 8006: b74d j 7fa8 8008: 57fd li a5,-1 800a: a07c sb a5,6(s0) 800c: b07c sb a5,7(s0) 800e: b7c5 j 7fee 00008010 : udp_sendto(): 8010: 9e0f82ef jal t0,1f0 <__riscv_save_0> 8014: 1141 addi sp,sp,-16 8016: 842a mv s0,a0 8018: 8532 mv a0,a2 801a: c62e sw a1,12(sp) 801c: c436 sw a3,8(sp) 801e: c232 sw a2,4(sp) 8020: feafb0ef jal ra,380a 8024: c919 beqz a0,803a 8026: 46a2 lw a3,8(sp) 8028: 4612 lw a2,4(sp) 802a: 45b2 lw a1,12(sp) 802c: 872a mv a4,a0 802e: 8522 mv a0,s0 8030: f0bff0ef jal ra,7f3a 8034: 0141 addi sp,sp,16 8036: 9def806f j 214 <__riscv_restore_0> 803a: 5571 li a0,-4 803c: bfe5 j 8034 0000803e : udp_send(): 803e: 9b2f82ef jal t0,1f0 <__riscv_save_0> 8042: 2956 lhu a3,20(a0) 8044: 00450613 addi a2,a0,4 # e0000004 <_eusrstack+0xbffe0004> 8048: fc9ff0ef jal ra,8010 804c: 9c8f806f j 214 <__riscv_restore_0> 00008050 : udp_connect(): 8050: 9a0f82ef jal t0,1f0 <__riscv_save_0> 8054: 293e lhu a5,18(a0) 8056: 842a mv s0,a0 8058: 84ae mv s1,a1 805a: 8932 mv s2,a2 805c: cbb1 beqz a5,80b0 805e: 4781 li a5,0 8060: c899 beqz s1,8076 8062: 3098 lbu a4,1(s1) 8064: 209c lbu a5,0(s1) 8066: 0722 slli a4,a4,0x8 8068: 8f5d or a4,a4,a5 806a: 20bc lbu a5,2(s1) 806c: 07c2 slli a5,a5,0x10 806e: 8f5d or a4,a4,a5 8070: 30bc lbu a5,3(s1) 8072: 07e2 slli a5,a5,0x18 8074: 8fd9 or a5,a5,a4 8076: 2818 lbu a4,16(s0) 8078: c05c sw a5,4(s0) 807a: 01241a23 sh s2,20(s0) 807e: 00476713 ori a4,a4,4 8082: a818 sb a4,16(s0) 8084: 4018 lw a4,0(s0) 8086: ef05 bnez a4,80be 8088: cf85 beqz a5,80c0 808a: 00440513 addi a0,s0,4 808e: f7cfb0ef jal ra,380a 8092: 87aa mv a5,a0 8094: 5571 li a0,-4 8096: c395 beqz a5,80ba 8098: 43dc lw a5,4(a5) 809a: c01c sw a5,0(s0) 809c: 9481a683 lw a3,-1720(gp) # 20000168 80a0: 94818793 addi a5,gp,-1720 # 20000168 80a4: 8736 mv a4,a3 80a6: e305 bnez a4,80c6 80a8: c454 sw a3,12(s0) 80aa: c380 sw s0,0(a5) 80ac: 4501 li a0,0 80ae: a031 j 80ba 80b0: 4601 li a2,0 80b2: 85aa mv a1,a0 80b4: dedff0ef jal ra,7ea0 80b8: d15d beqz a0,805e 80ba: 95af806f j 214 <__riscv_restore_0> 80be: fff9 bnez a5,809c 80c0: 00042023 sw zero,0(s0) 80c4: bfe1 j 809c 80c6: fe8703e3 beq a4,s0,80ac 80ca: 4758 lw a4,12(a4) 80cc: bfe9 j 80a6 000080ce : udp_recv(): 80ce: cd0c sw a1,24(a0) 80d0: cd50 sw a2,28(a0) 80d2: 8082 ret 000080d4 : udp_new(): 80d4: 91cf82ef jal t0,1f0 <__riscv_save_0> 80d8: 4505 li a0,1 80da: 8e3fc0ef jal ra,49bc 80de: 842a mv s0,a0 80e0: c909 beqz a0,80f2 80e2: 02000613 li a2,32 80e6: 4581 li a1,0 80e8: 938f80ef jal ra,220 80ec: f8000793 li a5,-128 80f0: b43c sb a5,11(s0) 80f2: 8522 mv a0,s0 80f4: 920f806f j 214 <__riscv_restore_0> 000080f8 : icmp_send_response.isra.0(): 80f8: 8def82ef jal t0,1d6 <__riscv_save_4> 80fc: 842a mv s0,a0 80fe: 8a2e mv s4,a1 8100: 89b2 mv s3,a2 8102: 02400593 li a1,36 8106: 4601 li a2,0 8108: 4505 li a0,1 810a: af3fc0ef jal ra,4bfc 810e: cd31 beqz a0,816a 8110: 00042903 lw s2,0(s0) 8114: 4140 lw s0,4(a0) 8116: 84aa mv s1,a0 8118: 4671 li a2,28 811a: 85ca mv a1,s2 811c: 01440023 sb s4,0(s0) 8120: 013400a3 sb s3,1(s0) 8124: 00040223 sb zero,4(s0) 8128: 000402a3 sb zero,5(s0) 812c: 00040323 sb zero,6(s0) 8130: 000403a3 sb zero,7(s0) 8134: 00840513 addi a0,s0,8 8138: 27f000ef jal ra,8bb6 813c: 24ae lhu a1,10(s1) 813e: 00040123 sb zero,2(s0) 8142: 000401a3 sb zero,3(s0) 8146: 8522 mv a0,s0 8148: 211d jal 856e 814a: a028 sb a0,2(s0) 814c: 8121 srli a0,a0,0x8 814e: b028 sb a0,3(s0) 8150: 4785 li a5,1 8152: 4701 li a4,0 8154: 08000693 li a3,128 8158: 00c90613 addi a2,s2,12 815c: 4581 li a1,0 815e: 8526 mv a0,s1 8160: aebfb0ef jal ra,3c4a 8164: 8526 mv a0,s1 8166: a49fc0ef jal ra,4bae 816a: 8a0f806f j 20a <__riscv_restore_4> 0000816e : icmp_input(): 816e: 85af82ef jal t0,1c8 <__riscv_save_10> 8172: 4140 lw s0,4(a0) 8174: 84aa mv s1,a0 8176: 1141 addi sp,sp,-16 8178: 301c lbu a5,1(s0) 817a: 2008 lbu a0,0(s0) 817c: 89ae mv s3,a1 817e: 07a2 slli a5,a5,0x8 8180: 8d5d or a0,a0,a5 8182: e4afb0ef jal ra,37cc 8186: 00655913 srli s2,a0,0x6 818a: 03c97913 andi s2,s2,60 818e: 41200ab3 neg s5,s2 8192: 0ac2 slli s5,s5,0x10 8194: 410ada93 srai s5,s5,0x10 8198: 85d6 mv a1,s5 819a: 8526 mv a0,s1 819c: 9a5fc0ef jal ra,4b40 81a0: e139 bnez a0,81e6 81a2: 249e lhu a5,8(s1) 81a4: 468d li a3,3 81a6: 04f6f063 bgeu a3,a5,81e6 81aa: 40dc lw a5,4(s1) 81ac: 2398 lbu a4,0(a5) 81ae: 04d71263 bne a4,a3,81f2 81b2: 2798 lbu a4,8(a5) 81b4: 00878693 addi a3,a5,8 81b8: 3f88 lbu a0,25(a5) 81ba: 8b3d andi a4,a4,15 81bc: 070a slli a4,a4,0x2 81be: 9736 add a4,a4,a3 81c0: 232c lbu a1,2(a4) 81c2: 00374803 lbu a6,3(a4) # 8003 81c6: 2f98 lbu a4,24(a5) 81c8: 0522 slli a0,a0,0x8 81ca: 3394 lbu a3,1(a5) 81cc: 8d59 or a0,a0,a4 81ce: 2fb8 lbu a4,26(a5) 81d0: 3b90 lbu a2,17(a5) 81d2: 05a2 slli a1,a1,0x8 81d4: 0742 slli a4,a4,0x10 81d6: 8f49 or a4,a4,a0 81d8: 3fa8 lbu a0,27(a5) 81da: 0105e5b3 or a1,a1,a6 81de: 0562 slli a0,a0,0x18 81e0: 8d59 or a0,a0,a4 81e2: c03fa0ef jal ra,2de4 81e6: 8526 mv a0,s1 81e8: 9c7fc0ef jal ra,4bae 81ec: 0141 addi sp,sp,16 81ee: 812f806f j 200 <__riscv_restore_10> 81f2: 47a1 li a5,8 81f4: fef719e3 bne a4,a5,81e6 81f8: 381c lbu a5,17(s0) 81fa: 01044a03 lbu s4,16(s0) 81fe: f0000537 lui a0,0xf0000 8202: 07a2 slli a5,a5,0x8 8204: 0147e7b3 or a5,a5,s4 8208: 01244a03 lbu s4,18(s0) 820c: 4b01 li s6,0 820e: 0a42 slli s4,s4,0x10 8210: 00fa67b3 or a5,s4,a5 8214: 01344a03 lbu s4,19(s0) 8218: 0a62 slli s4,s4,0x18 821a: 00fa6a33 or s4,s4,a5 821e: de0fb0ef jal ra,37fe 8222: 8c2a mv s8,a0 8224: e0000537 lui a0,0xe0000 8228: dd6fb0ef jal ra,37fe 822c: 8baa mv s7,a0 822e: 85ce mv a1,s3 8230: 01040513 addi a0,s0,16 8234: a4dfb0ef jal ra,3c80 8238: e519 bnez a0,8246 823a: 018a7533 and a0,s4,s8 823e: 41750533 sub a0,a0,s7 8242: 00a03b33 snez s6,a0 8246: b91fa0ef jal ra,2dd6 824a: dd51 beqz a0,81e6 824c: f80b0de3 beqz s6,81e6 8250: 249a lhu a4,8(s1) 8252: 479d li a5,7 8254: f8e7f9e3 bgeu a5,a4,81e6 8258: 8526 mv a0,s1 825a: 2625 jal 8582 825c: f549 bnez a0,81e6 825e: 0942 slli s2,s2,0x10 8260: 02200593 li a1,34 8264: 8526 mv a0,s1 8266: 41095913 srai s2,s2,0x10 826a: 8d7fc0ef jal ra,4b40 826e: 12050463 beqz a0,8396 8272: 85ca mv a1,s2 8274: 8526 mv a0,s1 8276: 8cbfc0ef jal ra,4b40 827a: f535 bnez a0,81e6 827c: 248e lhu a1,8(s1) 827e: 4601 li a2,0 8280: 4509 li a0,2 8282: 97bfc0ef jal ra,4bfc 8286: 8a2a mv s4,a0 8288: dd39 beqz a0,81e6 828a: 85a6 mv a1,s1 828c: b55fc0ef jal ra,4de0 8290: f939 bnez a0,81e6 8292: 85d6 mv a1,s5 8294: 8552 mv a0,s4 8296: 004a2403 lw s0,4(s4) 829a: 8a7fc0ef jal ra,4b40 829e: f521 bnez a0,81e6 82a0: 8526 mv a0,s1 82a2: 90dfc0ef jal ra,4bae 82a6: 84d2 mv s1,s4 82a8: 3458 lbu a4,13(s0) 82aa: 245c lbu a5,12(s0) 82ac: 3814 lbu a3,17(s0) 82ae: 0722 slli a4,a4,0x8 82b0: 8f5d or a4,a4,a5 82b2: 247c lbu a5,14(s0) 82b4: 06a2 slli a3,a3,0x8 82b6: 0044aa03 lw s4,4(s1) 82ba: 07c2 slli a5,a5,0x10 82bc: 8f5d or a4,a4,a5 82be: 347c lbu a5,15(s0) 82c0: 653d lui a0,0xf 82c2: 7ff50513 addi a0,a0,2047 # f7ff <_data_lma+0x696b> 82c6: 07e2 slli a5,a5,0x18 82c8: 8fd9 or a5,a5,a4 82ca: 2818 lbu a4,16(s0) 82cc: a81c sb a5,16(s0) 82ce: 8ed9 or a3,a3,a4 82d0: 2838 lbu a4,18(s0) 82d2: 0742 slli a4,a4,0x10 82d4: 8ed9 or a3,a3,a4 82d6: 3838 lbu a4,19(s0) 82d8: 0762 slli a4,a4,0x18 82da: 8f55 or a4,a4,a3 82dc: 00875693 srli a3,a4,0x8 82e0: a458 sb a4,12(s0) 82e2: b454 sb a3,13(s0) 82e4: 01075693 srli a3,a4,0x10 82e8: 8361 srli a4,a4,0x18 82ea: b478 sb a4,15(s0) 82ec: 0087d713 srli a4,a5,0x8 82f0: b818 sb a4,17(s0) 82f2: 0107d713 srli a4,a5,0x10 82f6: 83e1 srli a5,a5,0x18 82f8: a474 sb a3,14(s0) 82fa: a838 sb a4,18(s0) 82fc: b83c sb a5,19(s0) 82fe: 003a4a83 lbu s5,3(s4) 8302: 002a4783 lbu a5,2(s4) 8306: 000a0023 sb zero,0(s4) 830a: 0aa2 slli s5,s5,0x8 830c: 00faeab3 or s5,s5,a5 8310: caefb0ef jal ra,37be 8314: 08aae963 bltu s5,a0,83a6 8318: 6505 lui a0,0x1 831a: 80050513 addi a0,a0,-2048 # 800 <__stack_size> 831e: ca0fb0ef jal ra,37be 8322: 003a4783 lbu a5,3(s4) 8326: 002a4703 lbu a4,2(s4) 832a: 07a2 slli a5,a5,0x8 832c: 8fd9 or a5,a5,a4 832e: 0785 addi a5,a5,1 8330: 953e add a0,a0,a5 8332: 0542 slli a0,a0,0x10 8334: 8141 srli a0,a0,0x10 8336: 00aa0123 sb a0,2(s4) 833a: 8121 srli a0,a0,0x8 833c: 00aa01a3 sb a0,3(s4) 8340: 341c lbu a5,9(s0) 8342: 2408 lbu a0,8(s0) 8344: 07a2 slli a5,a5,0x8 8346: 8d5d or a0,a0,a5 8348: c84fb0ef jal ra,37cc 834c: 67a1 lui a5,0x8 834e: 0ff57513 andi a0,a0,255 8352: 8d5d or a0,a0,a5 8354: c6afb0ef jal ra,37be 8358: a408 sb a0,8(s0) 835a: 8121 srli a0,a0,0x8 835c: b408 sb a0,9(s0) 835e: 45d1 li a1,20 8360: 00040523 sb zero,10(s0) 8364: 000405a3 sb zero,11(s0) 8368: 8522 mv a0,s0 836a: 2411 jal 856e 836c: a428 sb a0,10(s0) 836e: 8121 srli a0,a0,0x8 8370: b428 sb a0,11(s0) 8372: 85ca mv a1,s2 8374: 8526 mv a0,s1 8376: fcafc0ef jal ra,4b40 837a: e60516e3 bnez a0,81e6 837e: 884e mv a6,s3 8380: 4785 li a5,1 8382: 4701 li a4,0 8384: 08000693 li a3,128 8388: 4601 li a2,0 838a: 00c40593 addi a1,s0,12 838e: 8526 mv a0,s1 8390: f60fb0ef jal ra,3af0 8394: bd89 j 81e6 8396: fde00593 li a1,-34 839a: 8526 mv a0,s1 839c: fa4fc0ef jal ra,4b40 83a0: f00504e3 beqz a0,82a8 83a4: b589 j 81e6 83a6: 6505 lui a0,0x1 83a8: 80050513 addi a0,a0,-2048 # 800 <__stack_size> 83ac: c12fb0ef jal ra,37be 83b0: 003a4783 lbu a5,3(s4) 83b4: 002a4703 lbu a4,2(s4) 83b8: 07a2 slli a5,a5,0x8 83ba: 8fd9 or a5,a5,a4 83bc: bf95 j 8330 000083be : icmp_dest_unreach(): 83be: e33f72ef jal t0,1f0 <__riscv_save_0> 83c2: 0ff5f613 andi a2,a1,255 83c6: 0511 addi a0,a0,4 83c8: 458d li a1,3 83ca: d2fff0ef jal ra,80f8 83ce: e47f706f j 214 <__riscv_restore_0> 000083d2 : icmp_time_exceeded(): 83d2: e1ff72ef jal t0,1f0 <__riscv_save_0> 83d6: 0ff5f613 andi a2,a1,255 83da: 0511 addi a0,a0,4 83dc: 45ad li a1,11 83de: d1bff0ef jal ra,80f8 83e2: e33f706f j 214 <__riscv_restore_0> 000083e6 : lwip_standard_chksum(): 83e6: e0bf72ef jal t0,1f0 <__riscv_save_0> 83ea: 00b50833 add a6,a0,a1 83ee: 0842 slli a6,a6,0x10 83f0: 86aa mv a3,a0 83f2: 4701 li a4,0 83f4: 01085813 srli a6,a6,0x10 83f8: 4885 li a7,1 83fa: 40d807b3 sub a5,a6,a3 83fe: 07c2 slli a5,a5,0x10 8400: 83c1 srli a5,a5,0x10 8402: 04f8e463 bltu a7,a5,844a 8406: 0015d793 srli a5,a1,0x1 840a: 00179693 slli a3,a5,0x1 840e: 9536 add a0,a0,a3 8410: 56f9 li a3,-2 8412: 02d787b3 mul a5,a5,a3 8416: 95be add a1,a1,a5 8418: 05c2 slli a1,a1,0x10 841a: 81c1 srli a1,a1,0x10 841c: c581 beqz a1,8424 841e: 211c lbu a5,0(a0) 8420: 07a2 slli a5,a5,0x8 8422: 973e add a4,a4,a5 8424: 6541 lui a0,0x10 8426: fff50693 addi a3,a0,-1 # ffff <_data_lma+0x716b> 842a: 01075793 srli a5,a4,0x10 842e: 8f75 and a4,a4,a3 8430: 00e78533 add a0,a5,a4 8434: 77c1 lui a5,0xffff0 8436: 8fe9 and a5,a5,a0 8438: c399 beqz a5,843e 843a: 8d75 and a0,a0,a3 843c: 0505 addi a0,a0,1 843e: 0542 slli a0,a0,0x10 8440: 8141 srli a0,a0,0x10 8442: b7cfb0ef jal ra,37be 8446: dcff706f j 214 <__riscv_restore_0> 844a: 329c lbu a5,1(a3) 844c: 2290 lbu a2,0(a3) 844e: 0689 addi a3,a3,2 8450: 07a2 slli a5,a5,0x8 8452: 8fd1 or a5,a5,a2 8454: 00879613 slli a2,a5,0x8 8458: 83a1 srli a5,a5,0x8 845a: 8fd1 or a5,a5,a2 845c: 07c2 slli a5,a5,0x10 845e: 83c1 srli a5,a5,0x10 8460: 973e add a4,a4,a5 8462: bf61 j 83fa 00008464 : inet_chksum_pseudo(): 8464: d65f72ef jal t0,1c8 <__riscv_save_10> 8468: 200087b7 lui a5,0x20008 846c: 8507a783 lw a5,-1968(a5) # 20007850 8470: 84ba mv s1,a4 8472: 1141 addi sp,sp,-16 8474: 00579713 slli a4,a5,0x5 8478: 0e074963 bltz a4,856a 847c: 6b41 lui s6,0x10 847e: 892a mv s2,a0 8480: 8aae mv s5,a1 8482: 8a32 mv s4,a2 8484: 4981 li s3,0 8486: 4401 li s0,0 8488: 1b7d addi s6,s6,-1 848a: 4b85 li s7,1 848c: 08091e63 bnez s2,8528 8490: 00098b63 beqz s3,84a6 8494: 6741 lui a4,0x10 8496: 00841793 slli a5,s0,0x8 849a: 177d addi a4,a4,-1 849c: 8021 srli s0,s0,0x8 849e: 8ff9 and a5,a5,a4 84a0: 0ff47413 andi s0,s0,255 84a4: 8c5d or s0,s0,a5 84a6: 001ac503 lbu a0,1(s5) 84aa: 000ac783 lbu a5,0(s5) 84ae: 000a4703 lbu a4,0(s4) 84b2: 0522 slli a0,a0,0x8 84b4: 8d5d or a0,a0,a5 84b6: 002ac783 lbu a5,2(s5) 84ba: 003a4603 lbu a2,3(s4) 84be: 6941 lui s2,0x10 84c0: 07c2 slli a5,a5,0x10 84c2: 8d5d or a0,a0,a5 84c4: 003ac783 lbu a5,3(s5) 84c8: 0662 slli a2,a2,0x18 84ca: 197d addi s2,s2,-1 84cc: 07e2 slli a5,a5,0x18 84ce: 8fc9 or a5,a5,a0 84d0: 001a4503 lbu a0,1(s4) 84d4: 0522 slli a0,a0,0x8 84d6: 8f49 or a4,a4,a0 84d8: 002a4503 lbu a0,2(s4) 84dc: 0542 slli a0,a0,0x10 84de: 8d59 or a0,a0,a4 84e0: 8e49 or a2,a2,a0 84e2: 01267533 and a0,a2,s2 84e6: 8241 srli a2,a2,0x10 84e8: 0127f733 and a4,a5,s2 84ec: 9532 add a0,a0,a2 84ee: 953a add a0,a0,a4 84f0: 83c1 srli a5,a5,0x10 84f2: 953e add a0,a0,a5 84f4: 942a add s0,s0,a0 84f6: 8536 mv a0,a3 84f8: ac6fb0ef jal ra,37be 84fc: 942a add s0,s0,a0 84fe: 8526 mv a0,s1 8500: abefb0ef jal ra,37be 8504: 9522 add a0,a0,s0 8506: 01055413 srli s0,a0,0x10 850a: 01257533 and a0,a0,s2 850e: 942a add s0,s0,a0 8510: 01045513 srli a0,s0,0x10 8514: 01247433 and s0,s0,s2 8518: 9522 add a0,a0,s0 851a: fff54513 not a0,a0 851e: 0542 slli a0,a0,0x10 8520: 8141 srli a0,a0,0x10 8522: 0141 addi sp,sp,16 8524: cddf706f j 200 <__riscv_restore_10> 8528: 00a95583 lhu a1,10(s2) # 1000a <_data_lma+0x7176> 852c: 00492503 lw a0,4(s2) 8530: c636 sw a3,12(sp) 8532: eb5ff0ef jal ra,83e6 8536: 942a add s0,s0,a0 8538: 01045793 srli a5,s0,0x10 853c: 01647433 and s0,s0,s6 8540: 943e add s0,s0,a5 8542: 00a95783 lhu a5,10(s2) 8546: 46b2 lw a3,12(sp) 8548: 8b85 andi a5,a5,1 854a: cf89 beqz a5,8564 854c: 00841793 slli a5,s0,0x8 8550: 8021 srli s0,s0,0x8 8552: 413b89b3 sub s3,s7,s3 8556: 0167f7b3 and a5,a5,s6 855a: 0ff47413 andi s0,s0,255 855e: 0ff9f993 andi s3,s3,255 8562: 8c5d or s0,s0,a5 8564: 00092903 lw s2,0(s2) 8568: b715 j 848c 856a: 4501 li a0,0 856c: bf5d j 8522 0000856e : inet_chksum(): 856e: c83f72ef jal t0,1f0 <__riscv_save_0> 8572: e75ff0ef jal ra,83e6 8576: fff54513 not a0,a0 857a: 0542 slli a0,a0,0x10 857c: 8141 srli a0,a0,0x10 857e: c97f706f j 214 <__riscv_restore_0> 00008582 : inet_chksum_pbuf(): 8582: c55f72ef jal t0,1d6 <__riscv_save_4> 8586: 69c1 lui s3,0x10 8588: 84aa mv s1,a0 858a: 4901 li s2,0 858c: 4401 li s0,0 858e: 19fd addi s3,s3,-1 8590: 4a05 li s4,1 8592: e095 bnez s1,85b6 8594: 00090b63 beqz s2,85aa 8598: 6741 lui a4,0x10 859a: 00841793 slli a5,s0,0x8 859e: 177d addi a4,a4,-1 85a0: 8021 srli s0,s0,0x8 85a2: 8ff9 and a5,a5,a4 85a4: 0ff47413 andi s0,s0,255 85a8: 8c5d or s0,s0,a5 85aa: fff44513 not a0,s0 85ae: 0542 slli a0,a0,0x10 85b0: 8141 srli a0,a0,0x10 85b2: c59f706f j 20a <__riscv_restore_4> 85b6: 24ae lhu a1,10(s1) 85b8: 40c8 lw a0,4(s1) 85ba: e2dff0ef jal ra,83e6 85be: 942a add s0,s0,a0 85c0: 01045793 srli a5,s0,0x10 85c4: 01347433 and s0,s0,s3 85c8: 943e add s0,s0,a5 85ca: 24be lhu a5,10(s1) 85cc: 8b85 andi a5,a5,1 85ce: cf89 beqz a5,85e8 85d0: 00841793 slli a5,s0,0x8 85d4: 8021 srli s0,s0,0x8 85d6: 412a0933 sub s2,s4,s2 85da: 0137f7b3 and a5,a5,s3 85de: 0ff47413 andi s0,s0,255 85e2: 0ff97913 andi s2,s2,255 85e6: 8c5d or s0,s0,a5 85e8: 4084 lw s1,0(s1) 85ea: b765 j 8592 000085ec : printchar(): 85ec: 1101 addi sp,sp,-32 85ee: ce06 sw ra,28(sp) 85f0: c62e sw a1,12(sp) 85f2: cd0d beqz a0,862c 85f4: 4118 lw a4,0(a0) 85f6: 87aa mv a5,a0 85f8: c305 beqz a4,8618 85fa: 4158 lw a4,4(a0) 85fc: 557d li a0,-1 85fe: cb11 beqz a4,8612 8600: 4685 li a3,1 8602: 00d71b63 bne a4,a3,8618 8606: 4798 lw a4,8(a5) 8608: 00070023 sb zero,0(a4) # 10000 <_data_lma+0x716c> 860c: 0007a223 sw zero,4(a5) 8610: 4505 li a0,1 8612: 40f2 lw ra,28(sp) 8614: 6105 addi sp,sp,32 8616: 8082 ret 8618: 4798 lw a4,8(a5) 861a: 46b2 lw a3,12(sp) 861c: a314 sb a3,0(a4) 861e: 4798 lw a4,8(a5) 8620: 0705 addi a4,a4,1 8622: c798 sw a4,8(a5) 8624: 43d8 lw a4,4(a5) 8626: 177d addi a4,a4,-1 8628: c3d8 sw a4,4(a5) 862a: b7dd j 8610 862c: 4605 li a2,1 862e: 006c addi a1,sp,12 8630: b3cf90ef jal ra,196c <_write> 8634: bff1 j 8610 00008636 : prints(): 8636: 7179 addi sp,sp,-48 8638: d422 sw s0,40(sp) 863a: d226 sw s1,36(sp) 863c: ce4e sw s3,28(sp) 863e: cc52 sw s4,24(sp) 8640: ca56 sw s5,20(sp) 8642: d606 sw ra,44(sp) 8644: d04a sw s2,32(sp) 8646: c85a sw s6,16(sp) 8648: 8a2a mv s4,a0 864a: 8aae mv s5,a1 864c: 8432 mv s0,a2 864e: 4481 li s1,0 8650: 02000993 li s3,32 8654: 02064463 bltz a2,867c 8658: 009a87b3 add a5,s5,s1 865c: 00078783 lb a5,0(a5) 8660: e39d bnez a5,8686 8662: 0284d663 bge s1,s0,868e 8666: 02e4d263 bge s1,a4,868a 866a: 8c19 sub s0,s0,a4 866c: 0026f793 andi a5,a3,2 8670: 02000993 li s3,32 8674: c781 beqz a5,867c 8676: e319 bnez a4,867c 8678: 03000993 li s3,48 867c: 8a85 andi a3,a3,1 867e: 4901 li s2,0 8680: ea85 bnez a3,86b0 8682: 8922 mv s2,s0 8684: a831 j 86a0 8686: 0485 addi s1,s1,1 8688: bfc1 j 8658 868a: 8c05 sub s0,s0,s1 868c: b7c5 j 866c 868e: 4401 li s0,0 8690: bff1 j 866c 8692: 85ce mv a1,s3 8694: 8552 mv a0,s4 8696: c63a sw a4,12(sp) 8698: f55ff0ef jal ra,85ec 869c: 4732 lw a4,12(sp) 869e: 197d addi s2,s2,-1 86a0: ff2049e3 bgtz s2,8692 86a4: 8922 mv s2,s0 86a6: 00045363 bgez s0,86ac 86aa: 4901 li s2,0 86ac: 41240433 sub s0,s0,s2 86b0: 02e4cb63 blt s1,a4,86e6 86b4: 84ca mv s1,s2 86b6: 412487b3 sub a5,s1,s2 86ba: 97d6 add a5,a5,s5 86bc: 00078583 lb a1,0(a5) 86c0: e1a1 bnez a1,8700 86c2: 8922 mv s2,s0 86c4: 05204363 bgtz s2,870a 86c8: 00045363 bgez s0,86ce 86cc: 4401 li s0,0 86ce: 00940533 add a0,s0,s1 86d2: 50b2 lw ra,44(sp) 86d4: 5422 lw s0,40(sp) 86d6: 5492 lw s1,36(sp) 86d8: 5902 lw s2,32(sp) 86da: 49f2 lw s3,28(sp) 86dc: 4a62 lw s4,24(sp) 86de: 4ad2 lw s5,20(sp) 86e0: 4b42 lw s6,16(sp) 86e2: 6145 addi sp,sp,48 86e4: 8082 ret 86e6: 409704b3 sub s1,a4,s1 86ea: 8b26 mv s6,s1 86ec: 03000593 li a1,48 86f0: 8552 mv a0,s4 86f2: 1b7d addi s6,s6,-1 86f4: ef9ff0ef jal ra,85ec 86f8: fe0b1ae3 bnez s6,86ec 86fc: 9926 add s2,s2,s1 86fe: bf5d j 86b4 8700: 8552 mv a0,s4 8702: eebff0ef jal ra,85ec 8706: 0485 addi s1,s1,1 8708: b77d j 86b6 870a: 85ce mv a1,s3 870c: 8552 mv a0,s4 870e: edfff0ef jal ra,85ec 8712: 197d addi s2,s2,-1 8714: bf45 j 86c4 00008716 : printInt(): 8716: 715d addi sp,sp,-80 8718: c2a6 sw s1,68(sp) 871a: dc52 sw s4,56(sp) 871c: c686 sw ra,76(sp) 871e: c4a2 sw s0,72(sp) 8720: c0ca sw s2,64(sp) 8722: de4e sw s3,60(sp) 8724: da56 sw s5,52(sp) 8726: 84ba mv s1,a4 8728: 8a3e mv s4,a5 872a: e19d bnez a1,8750 872c: 03000793 li a5,48 8730: 4701 li a4,0 8732: 86d2 mv a3,s4 8734: 8626 mv a2,s1 8736: 082c addi a1,sp,24 8738: 84fc sh a5,24(sp) 873a: efdff0ef jal ra,8636 873e: 40b6 lw ra,76(sp) 8740: 4426 lw s0,72(sp) 8742: 4496 lw s1,68(sp) 8744: 4906 lw s2,64(sp) 8746: 59f2 lw s3,60(sp) 8748: 5a62 lw s4,56(sp) 874a: 5ad2 lw s5,52(sp) 874c: 6161 addi sp,sp,80 874e: 8082 ret 8750: 892a mv s2,a0 8752: 8436 mv s0,a3 8754: 8ac6 mv s5,a7 8756: ca91 beqz a3,876a 8758: 47a9 li a5,10 875a: 4401 li s0,0 875c: 00f61763 bne a2,a5,876a 8760: 0005d563 bgez a1,876a 8764: 40b005b3 neg a1,a1 8768: 4405 li s0,1 876a: 020107a3 sb zero,47(sp) 876e: 02f10793 addi a5,sp,47 8772: 46a5 li a3,9 8774: fc680513 addi a0,a6,-58 8778: 02c5f733 remu a4,a1,a2 877c: 00e6d363 bge a3,a4,8782 8780: 972a add a4,a4,a0 8782: 03070713 addi a4,a4,48 8786: fee78fa3 sb a4,-1(a5) 878a: fff78993 addi s3,a5,-1 878e: 02c5d733 divu a4,a1,a2 8792: 04c5fb63 bgeu a1,a2,87e8 8796: cc09 beqz s0,87b0 8798: c8b9 beqz s1,87ee 879a: 002a7713 andi a4,s4,2 879e: cb21 beqz a4,87ee 87a0: 02d00593 li a1,45 87a4: 854a mv a0,s2 87a6: c642 sw a6,12(sp) 87a8: e45ff0ef jal ra,85ec 87ac: 4832 lw a6,12(sp) 87ae: 14fd addi s1,s1,-1 87b0: 004a7793 andi a5,s4,4 87b4: c38d beqz a5,87d6 87b6: 06100793 li a5,97 87ba: 03000593 li a1,48 87be: 854a mv a0,s2 87c0: 02f81f63 bne a6,a5,87fe 87c4: e29ff0ef jal ra,85ec 87c8: 07800593 li a1,120 87cc: 854a mv a0,s2 87ce: e1fff0ef jal ra,85ec 87d2: 0409 addi s0,s0,2 87d4: 14f9 addi s1,s1,-2 87d6: 8756 mv a4,s5 87d8: 86d2 mv a3,s4 87da: 8626 mv a2,s1 87dc: 85ce mv a1,s3 87de: 854a mv a0,s2 87e0: e57ff0ef jal ra,8636 87e4: 9522 add a0,a0,s0 87e6: bfa1 j 873e 87e8: 85ba mv a1,a4 87ea: 87ce mv a5,s3 87ec: b771 j 8778 87ee: 02d00713 li a4,45 87f2: fee98fa3 sb a4,-1(s3) # ffff <_data_lma+0x716b> 87f6: 4401 li s0,0 87f8: ffe78993 addi s3,a5,-2 87fc: bf55 j 87b0 87fe: defff0ef jal ra,85ec 8802: 05800593 li a1,88 8806: b7d9 j 87cc 00008808 : printLongLongInt(): 8808: 4501 li a0,0 880a: 8082 ret 0000880c : printDouble(): 880c: 4501 li a0,0 880e: 8082 ret 00008810 : print(): 8810: 7139 addi sp,sp,-64 8812: d05a sw s6,32(sp) 8814: 00009b37 lui s6,0x9 8818: dc22 sw s0,56(sp) 881a: da26 sw s1,52(sp) 881c: d84a sw s2,48(sp) 881e: d64e sw s3,44(sp) 8820: d452 sw s4,40(sp) 8822: d256 sw s5,36(sp) 8824: ce5e sw s7,28(sp) 8826: cc62 sw s8,24(sp) 8828: de06 sw ra,60(sp) 882a: ca66 sw s9,20(sp) 882c: 89aa mv s3,a0 882e: 892e mv s2,a1 8830: 8432 mv s0,a2 8832: 4a01 li s4,0 8834: 4481 li s1,0 8836: 02500b93 li s7,37 883a: 02b00a93 li s5,43 883e: 4c29 li s8,10 8840: e8cb0b13 addi s6,s6,-372 # 8e8c 8844: 00090583 lb a1,0(s2) 8848: e58d bnez a1,8872 884a: 00098663 beqz s3,8856 884e: 4581 li a1,0 8850: 854e mv a0,s3 8852: d9bff0ef jal ra,85ec 8856: 50f2 lw ra,60(sp) 8858: 5462 lw s0,56(sp) 885a: 8526 mv a0,s1 885c: 5942 lw s2,48(sp) 885e: 54d2 lw s1,52(sp) 8860: 59b2 lw s3,44(sp) 8862: 5a22 lw s4,40(sp) 8864: 5a92 lw s5,36(sp) 8866: 5b02 lw s6,32(sp) 8868: 4bf2 lw s7,28(sp) 886a: 4c62 lw s8,24(sp) 886c: 4cd2 lw s9,20(sp) 886e: 6121 addi sp,sp,64 8870: 8082 ret 8872: 01758863 beq a1,s7,8882 8876: 854e mv a0,s3 8878: d75ff0ef jal ra,85ec 887c: 0485 addi s1,s1,1 887e: 0905 addi s2,s2,1 8880: b7d1 j 8844 8882: 00190783 lb a5,1(s2) 8886: 00190c93 addi s9,s2,1 888a: 01779a63 bne a5,s7,889e 888e: 02500593 li a1,37 8892: 854e mv a0,s3 8894: d59ff0ef jal ra,85ec 8898: 0485 addi s1,s1,1 889a: 8966 mv s2,s9 889c: b7cd j 887e 889e: d7d5 beqz a5,884a 88a0: 05578763 beq a5,s5,88ee 88a4: 00fac863 blt s5,a5,88b4 88a8: 02300713 li a4,35 88ac: 04e78463 beq a5,a4,88f4 88b0: 4781 li a5,0 88b2: a005 j 88d2 88b4: 02d00713 li a4,45 88b8: 00e78a63 beq a5,a4,88cc 88bc: 03000713 li a4,48 88c0: fee798e3 bne a5,a4,88b0 88c4: 00290c93 addi s9,s2,2 88c8: 4789 li a5,2 88ca: a021 j 88d2 88cc: 00290c93 addi s9,s2,2 88d0: 4785 li a5,1 88d2: 000c8703 lb a4,0(s9) 88d6: 05570363 beq a4,s5,891c 88da: 02eac163 blt s5,a4,88fc 88de: 02300693 li a3,35 88e2: 02d70b63 beq a4,a3,8918 88e6: 8966 mv s2,s9 88e8: 4601 li a2,0 88ea: 45a5 li a1,9 88ec: a835 j 8928 88ee: 00290c93 addi s9,s2,2 88f2: bf7d j 88b0 88f4: 00290c93 addi s9,s2,2 88f8: 4791 li a5,4 88fa: bfe1 j 88d2 88fc: 02d00693 li a3,45 8900: 00d70963 beq a4,a3,8912 8904: 03000693 li a3,48 8908: fcd71fe3 bne a4,a3,88e6 890c: 0027e793 ori a5,a5,2 8910: a031 j 891c 8912: 0c85 addi s9,s9,1 8914: 4785 li a5,1 8916: bfc1 j 88e6 8918: 0047e793 ori a5,a5,4 891c: 0c85 addi s9,s9,1 891e: b7e1 j 88e6 8920: 03860633 mul a2,a2,s8 8924: 0905 addi s2,s2,1 8926: 9636 add a2,a2,a3 8928: 00090703 lb a4,0(s2) 892c: fd070693 addi a3,a4,-48 8930: 0ff6f513 andi a0,a3,255 8934: fea5f6e3 bgeu a1,a0,8920 8938: 02e00593 li a1,46 893c: 4699 li a3,6 893e: 00b71e63 bne a4,a1,895a 8942: 0905 addi s2,s2,1 8944: 4681 li a3,0 8946: 45a5 li a1,9 8948: 00090703 lb a4,0(s2) 894c: fd070713 addi a4,a4,-48 8950: 0ff77513 andi a0,a4,255 8954: 02a5f563 bgeu a1,a0,897e 8958: 8a36 mv s4,a3 895a: 00090703 lb a4,0(s2) 895e: 06a00593 li a1,106 8962: 0ab70163 beq a4,a1,8a04 8966: 02e5c163 blt a1,a4,8988 896a: 04c00593 li a1,76 896e: 08b70b63 beq a4,a1,8a04 8972: 06800593 li a1,104 8976: 08b70063 beq a4,a1,89f6 897a: 4581 li a1,0 897c: a02d j 89a6 897e: 038686b3 mul a3,a3,s8 8982: 0905 addi s2,s2,1 8984: 96ba add a3,a3,a4 8986: b7c9 j 8948 8988: 07400593 li a1,116 898c: 06b70c63 beq a4,a1,8a04 8990: 07a00593 li a1,122 8994: 06b70863 beq a4,a1,8a04 8998: 06c00513 li a0,108 899c: 4581 li a1,0 899e: 00a71463 bne a4,a0,89a6 89a2: 0905 addi s2,s2,1 89a4: 4591 li a1,4 89a6: 00090703 lb a4,0(s2) 89aa: 06000513 li a0,96 89ae: 06100813 li a6,97 89b2: 00e54463 blt a0,a4,89ba 89b6: 04100813 li a6,65 89ba: 06700513 li a0,103 89be: 06e54063 blt a0,a4,8a1e 89c2: 06500513 li a0,101 89c6: 14a75563 bge a4,a0,8b10 89ca: 04700513 li a0,71 89ce: 02e54d63 blt a0,a4,8a08 89d2: 04500593 li a1,69 89d6: 12b75d63 bge a4,a1,8b10 89da: 04300693 li a3,67 89de: ead710e3 bne a4,a3,887e 89e2: 4018 lw a4,0(s0) 89e4: 00440c93 addi s9,s0,4 89e8: 000106a3 sb zero,13(sp) 89ec: 8658 sb a4,12(sp) 89ee: 86be mv a3,a5 89f0: 4701 li a4,0 89f2: 006c addi a1,sp,12 89f4: a041 j 8a74 89f6: 00190503 lb a0,1(s2) 89fa: 4581 li a1,0 89fc: fae515e3 bne a0,a4,89a6 8a00: 0909 addi s2,s2,2 8a02: b755 j 89a6 8a04: 0905 addi s2,s2,1 8a06: bf95 j 897a 8a08: 06300693 li a3,99 8a0c: fcd70be3 beq a4,a3,89e2 8a10: 06e6c663 blt a3,a4,8a7c 8a14: 05800693 li a3,88 8a18: 02d70363 beq a4,a3,8a3e 8a1c: b58d j 887e 8a1e: 07300693 li a3,115 8a22: 04d70163 beq a4,a3,8a64 8a26: 02e6c863 blt a3,a4,8a56 8a2a: 06f00693 li a3,111 8a2e: 0ad70e63 beq a4,a3,8aea 8a32: 07000693 li a3,112 8a36: 0047e793 ori a5,a5,4 8a3a: e4d712e3 bne a4,a3,887e 8a3e: cdd9 beqz a1,8adc 8a40: 041d addi s0,s0,7 8a42: ff847593 andi a1,s0,-8 8a46: 88c2 mv a7,a6 8a48: 00858413 addi s0,a1,8 8a4c: 883e mv a6,a5 8a4e: 4701 li a4,0 8a50: 87b2 mv a5,a2 8a52: 46c1 li a3,16 8a54: a83d j 8a92 8a56: 07500693 li a3,117 8a5a: 06d70063 beq a4,a3,8aba 8a5e: 07800693 li a3,120 8a62: bf5d j 8a18 8a64: 4018 lw a4,0(s0) 8a66: 00440c93 addi s9,s0,4 8a6a: 85da mv a1,s6 8a6c: c311 beqz a4,8a70 8a6e: 85ba mv a1,a4 8a70: 8752 mv a4,s4 8a72: 86be mv a3,a5 8a74: 854e mv a0,s3 8a76: bc1ff0ef jal ra,8636 8a7a: a82d j 8ab4 8a7c: c195 beqz a1,8aa0 8a7e: 041d addi s0,s0,7 8a80: ff847593 andi a1,s0,-8 8a84: 88c2 mv a7,a6 8a86: 00858413 addi s0,a1,8 8a8a: 883e mv a6,a5 8a8c: 4705 li a4,1 8a8e: 87b2 mv a5,a2 8a90: 46a9 li a3,10 8a92: 41d0 lw a2,4(a1) 8a94: 418c lw a1,0(a1) 8a96: 854e mv a0,s3 8a98: d71ff0ef jal ra,8808 8a9c: 94aa add s1,s1,a0 8a9e: b3c5 j 887e 8aa0: 00440c93 addi s9,s0,4 8aa4: 88d2 mv a7,s4 8aa6: 8732 mv a4,a2 8aa8: 4685 li a3,1 8aaa: 4629 li a2,10 8aac: 400c lw a1,0(s0) 8aae: 854e mv a0,s3 8ab0: c67ff0ef jal ra,8716 8ab4: 94aa add s1,s1,a0 8ab6: 8466 mv s0,s9 8ab8: b3d9 j 887e 8aba: c999 beqz a1,8ad0 8abc: 041d addi s0,s0,7 8abe: ff847593 andi a1,s0,-8 8ac2: 88c2 mv a7,a6 8ac4: 00858413 addi s0,a1,8 8ac8: 883e mv a6,a5 8aca: 4701 li a4,0 8acc: 87b2 mv a5,a2 8ace: b7c9 j 8a90 8ad0: 00440c93 addi s9,s0,4 8ad4: 88d2 mv a7,s4 8ad6: 8732 mv a4,a2 8ad8: 4681 li a3,0 8ada: bfc1 j 8aaa 8adc: 8732 mv a4,a2 8ade: 00440c93 addi s9,s0,4 8ae2: 88d2 mv a7,s4 8ae4: 4681 li a3,0 8ae6: 4641 li a2,16 8ae8: b7d1 j 8aac 8aea: cd81 beqz a1,8b02 8aec: 041d addi s0,s0,7 8aee: ff847593 andi a1,s0,-8 8af2: 88c2 mv a7,a6 8af4: 00858413 addi s0,a1,8 8af8: 883e mv a6,a5 8afa: 4701 li a4,0 8afc: 87b2 mv a5,a2 8afe: 46a1 li a3,8 8b00: bf49 j 8a92 8b02: 8732 mv a4,a2 8b04: 00440c93 addi s9,s0,4 8b08: 88d2 mv a7,s4 8b0a: 4681 li a3,0 8b0c: 4621 li a2,8 8b0e: bf79 j 8aac 8b10: 041d addi s0,s0,7 8b12: ff847593 andi a1,s0,-8 8b16: 00858413 addi s0,a1,8 8b1a: 8732 mv a4,a2 8b1c: 41d0 lw a2,4(a1) 8b1e: 418c lw a1,0(a1) 8b20: 88c2 mv a7,a6 8b22: 854e mv a0,s3 8b24: 883e mv a6,a5 8b26: 87b6 mv a5,a3 8b28: 46a9 li a3,10 8b2a: ce3ff0ef jal ra,880c 8b2e: b7bd j 8a9c 00008b30 : printf(): 8b30: 7139 addi sp,sp,-64 8b32: d22e sw a1,36(sp) 8b34: d432 sw a2,40(sp) 8b36: 85aa mv a1,a0 8b38: 1050 addi a2,sp,36 8b3a: 4501 li a0,0 8b3c: ce06 sw ra,28(sp) 8b3e: d636 sw a3,44(sp) 8b40: d83a sw a4,48(sp) 8b42: da3e sw a5,52(sp) 8b44: dc42 sw a6,56(sp) 8b46: de46 sw a7,60(sp) 8b48: c632 sw a2,12(sp) 8b4a: cc7ff0ef jal ra,8810 8b4e: 40f2 lw ra,28(sp) 8b50: 6121 addi sp,sp,64 8b52: 8082 ret 00008b54 : puts(): 8b54: 1101 addi sp,sp,-32 8b56: cc22 sw s0,24(sp) 8b58: ca26 sw s1,20(sp) 8b5a: ce06 sw ra,28(sp) 8b5c: 211c lbu a5,0(a0) 8b5e: 84aa mv s1,a0 8b60: 4401 li s0,0 8b62: 87dc sb a5,15(sp) 8b64: 00f10783 lb a5,15(sp) 8b68: 0405 addi s0,s0,1 8b6a: ef99 bnez a5,8b88 8b6c: 47a9 li a5,10 8b6e: 00f10593 addi a1,sp,15 8b72: 4605 li a2,1 8b74: 4501 li a0,0 8b76: 87dc sb a5,15(sp) 8b78: df5f80ef jal ra,196c <_write> 8b7c: 8522 mv a0,s0 8b7e: 40f2 lw ra,28(sp) 8b80: 4462 lw s0,24(sp) 8b82: 44d2 lw s1,20(sp) 8b84: 6105 addi sp,sp,32 8b86: 8082 ret 8b88: 4605 li a2,1 8b8a: 00f10593 addi a1,sp,15 8b8e: 4501 li a0,0 8b90: dddf80ef jal ra,196c <_write> 8b94: 008487b3 add a5,s1,s0 8b98: 239c lbu a5,0(a5) 8b9a: 87dc sb a5,15(sp) 8b9c: b7e1 j 8b64 00008b9e : putchar(): 8b9e: 1101 addi sp,sp,-32 8ba0: c62a sw a0,12(sp) 8ba2: 006c addi a1,sp,12 8ba4: 4605 li a2,1 8ba6: 4501 li a0,0 8ba8: ce06 sw ra,28(sp) 8baa: dc3f80ef jal ra,196c <_write> 8bae: 40f2 lw ra,28(sp) 8bb0: 4505 li a0,1 8bb2: 6105 addi sp,sp,32 8bb4: 8082 ret 00008bb6 : memcpy(): 8bb6: 00a5c7b3 xor a5,a1,a0 8bba: 8b8d andi a5,a5,3 8bbc: 00c50733 add a4,a0,a2 8bc0: e781 bnez a5,8bc8 8bc2: 478d li a5,3 8bc4: 00c7ed63 bltu a5,a2,8bde 8bc8: 87aa mv a5,a0 8bca: 08e57e63 bgeu a0,a4,8c66 8bce: 2194 lbu a3,0(a1) 8bd0: 0785 addi a5,a5,1 8bd2: 0585 addi a1,a1,1 8bd4: fed78fa3 sb a3,-1(a5) 8bd8: fee7ebe3 bltu a5,a4,8bce 8bdc: 8082 ret 8bde: 00357693 andi a3,a0,3 8be2: 87aa mv a5,a0 8be4: ca89 beqz a3,8bf6 8be6: 2194 lbu a3,0(a1) 8be8: 0785 addi a5,a5,1 8bea: 0585 addi a1,a1,1 8bec: fed78fa3 sb a3,-1(a5) 8bf0: 0037f693 andi a3,a5,3 8bf4: bfc5 j 8be4 8bf6: ffc77693 andi a3,a4,-4 8bfa: fe068613 addi a2,a3,-32 8bfe: 06c7f063 bgeu a5,a2,8c5e 8c02: 0005a383 lw t2,0(a1) 8c06: 0045a283 lw t0,4(a1) 8c0a: 0085af83 lw t6,8(a1) 8c0e: 00c5af03 lw t5,12(a1) 8c12: 0105ae83 lw t4,16(a1) 8c16: 0145ae03 lw t3,20(a1) 8c1a: 0185a303 lw t1,24(a1) 8c1e: 01c5a883 lw a7,28(a1) 8c22: 02458593 addi a1,a1,36 8c26: 0077a023 sw t2,0(a5) 8c2a: ffc5a803 lw a6,-4(a1) 8c2e: 0057a223 sw t0,4(a5) 8c32: 01f7a423 sw t6,8(a5) 8c36: 01e7a623 sw t5,12(a5) 8c3a: 01d7a823 sw t4,16(a5) 8c3e: 01c7aa23 sw t3,20(a5) 8c42: 0067ac23 sw t1,24(a5) 8c46: 0117ae23 sw a7,28(a5) 8c4a: 02478793 addi a5,a5,36 8c4e: ff07ae23 sw a6,-4(a5) 8c52: b775 j 8bfe 8c54: 4190 lw a2,0(a1) 8c56: 0791 addi a5,a5,4 8c58: 0591 addi a1,a1,4 8c5a: fec7ae23 sw a2,-4(a5) 8c5e: fed7ebe3 bltu a5,a3,8c54 8c62: f6e7e6e3 bltu a5,a4,8bce 8c66: 8082 ret 8c68: 4e20 lw s0,88(a2) 8c6a: 0000 unimp 8c6c: 3a98 lbu a4,17(a3) 8c6e: 0000 unimp 8c70: 0009 c.nop 2 8c72: 0000 unimp 8c74: 6148 flw fa0,4(a0) 8c76: 6472 flw fs0,28(sp) 8c78: 6146 flw ft2,80(sp) 8c7a: 6c75 lui s8,0x1d 8c7c: 5f74 lw a3,124(a4) 8c7e: 6148 flw fa0,4(a0) 8c80: 646e flw fs0,216(sp) 8c82: 656c flw fa1,76(a0) 8c84: 0d72 slli s10,s10,0x1c 8c86: 0000 unimp 8c88: 656d lui a0,0x1b 8c8a: 6370 flw fa2,68(a4) 8c8c: 2020 lbu s0,2(s0) 8c8e: 253a lhu a4,10(a0) 8c90: 3830 lbu a2,19(s0) 8c92: 0d78 addi a4,sp,668 8c94: 000a c.slli zero,0x2 8c96: 0000 unimp 8c98: 636d lui t1,0x1b 8c9a: 7561 lui a0,0xffff8 8c9c: 253a6573 csrrsi a0,0x253,20 8ca0: 3830 lbu a2,19(s0) 8ca2: 0d78 addi a4,sp,668 8ca4: 000a c.slli zero,0x2 8ca6: 0000 unimp 8ca8: 746d lui s0,0xffffb 8caa: 6176 flw ft2,92(sp) 8cac: 206c lbu a1,6(s0) 8cae: 253a lhu a4,10(a0) 8cb0: 3830 lbu a2,19(s0) 8cb2: 0d78 addi a4,sp,668 8cb4: 000a c.slli zero,0x2 8cb6: 0000 unimp 8cb8: 6b636f53 0x6b636f53 8cbc: 7465 lui s0,0xffff9 8cbe: 6449 lui s0,0x12 8cc0: 2520 lbu s0,10(a0) 8cc2: 0d64 addi s1,sp,668 8cc4: 000a c.slli zero,0x2 8cc6: 0000 unimp 8cc8: 544e4947 0x544e4947 8ccc: 535f 4154 5f54 0x5f544154535f 8cd2: 4e55 li t3,21 8cd4: 4552 lw a0,20(sp) 8cd6: 4341 li t1,16 8cd8: 0d48 addi a0,sp,660 8cda: 0000 unimp 8cdc: 544e4947 0x544e4947 8ce0: 535f 4154 5f54 0x5f544154535f 8ce6: 5049 c.li zero,-14 8ce8: 435f 4e4f 4c46 0x4c464e4f435f 8cee: 0d49 addi s10,s10,18 8cf0: 0000 unimp 8cf2: 0000 unimp 8cf4: 4850 lw a2,20(s0) 8cf6: 2059 jal 8d7c 8cf8: 694c flw fa1,20(a0) 8cfa: 6b6e flw fs6,216(sp) 8cfc: 5320 lw s0,96(a4) 8cfe: 6375 lui t1,0x1d 8d00: 73736563 bltu t1,s7,942a <_data_lma+0x596> 8d04: 000d c.nop 3 8d06: 0000 unimp 8d08: 4354 lw a3,4(a4) 8d0a: 2050 lbu a2,4(s0) 8d0c: 6e6e6f43 fmadd.q ft10,ft8,ft6,fa3,unknown 8d10: 6365 lui t1,0x19 8d12: 2074 lbu a3,6(s0) 8d14: 63637553 0x63637553 8d18: 7365 lui t1,0xffff9 8d1a: 73202c73 csrr s8,0x732 8d1e: 656b636f jal t1,bf374 <_data_lma+0xb64e0> 8d22: 2074 lbu a3,6(s0) 8d24: 6469 lui s0,0x1a 8d26: 203a lhu a4,2(s0) 8d28: 6425 lui s0,0x9 8d2a: 0a0d addi s4,s4,3 8d2c: 0000 unimp 8d2e: 0000 unimp 8d30: 4354 lw a3,4(a4) 8d32: 2050 lbu a2,4(s0) 8d34: 6944 flw fs1,20(a0) 8d36: 6e6f6373 csrrsi t1,0x6e6,30 8d3a: 656e flw fa0,216(sp) 8d3c: 000d7463 bgeu s10,zero,8d44 8d40: 4354 lw a3,4(a4) 8d42: 2050 lbu a2,4(s0) 8d44: 6954 flw fa3,20(a0) 8d46: 656d lui a0,0x1b 8d48: 0d74756f jal a0,5061e <_data_lma+0x4778a> 8d4c: 0000 unimp 8d4e: 0000 unimp 8d50: 7245 lui tp,0xffff1 8d52: 6f72 flw ft10,28(sp) 8d54: 3a72 lhu a2,54(a2) 8d56: 2520 lbu s0,10(a0) 8d58: 3230 lbu a2,3(a2) 8d5a: 0d58 addi a4,sp,660 8d5c: 000a c.slli zero,0x2 8d5e: 0000 unimp 8d60: 4354 lw a3,4(a4) 8d62: 4350 lw a2,4(a4) 8d64: 696c flw fa1,84(a0) 8d66: 6e65 lui t3,0x19 8d68: 2074 lbu a3,6(s0) 8d6a: 6554 flw fa3,12(a0) 8d6c: 0a0d7473 csrrci s0,0xa0,26 8d70: 74737953 0x74737953 8d74: 6d65 lui s10,0x19 8d76: 3a6b6c43 fmadd.d fs8,fs6,ft6,ft7,unknown 8d7a: 6425 lui s0,0x9 8d7c: 0a0d addi s4,s4,3 8d7e: 0000 unimp 8d80: 656e flw fa0,216(sp) 8d82: 2074 lbu a3,6(s0) 8d84: 6576 flw fa0,92(sp) 8d86: 7372 flw ft6,60(sp) 8d88: 6f69 lui t5,0x1a 8d8a: 3a6e lhu a1,54(a2) 8d8c: 7825 lui a6,0xfffe9 8d8e: 000a c.slli zero,0x2 8d90: 6576 flw fa0,92(sp) 8d92: 7372 flw ft6,60(sp) 8d94: 6f69 lui t5,0x1a 8d96: 206e lhu a1,6(s0) 8d98: 7265 lui tp,0xffff9 8d9a: 6f72 flw ft10,28(sp) 8d9c: 2e72 lhu a2,30(a2) 8d9e: 0000 unimp 8da0: 616d addi sp,sp,240 8da2: 64612063 0x64612063 8da6: 7264 flw fs1,100(a2) 8da8: 003a c.slli zero,0xe 8daa: 0000 unimp 8dac: 7825 lui a6,0xfffe9 8dae: 0020 addi s0,sp,8 8db0: 4e484357 0x4e484357 8db4: 5445 li s0,-15 8db6: 4c5f 6269 6e49 0x6e4962694c5f 8dbc: 7469 lui s0,0xffffa 8dbe: 5320 lw s0,96(a4) 8dc0: 6375 lui t1,0x1d 8dc2: 73736563 bltu t1,s7,94ec <_data_lma+0x658> 8dc6: 000d c.nop 3 00008dc8 : 8dc8: 0000 0000 0001 0000 0002 0000 0004 0004 ................ 00008dd8 : 8dd8: 001c 0020 00b4 0024 0014 0020 0010 0600 .. ...$... ..... 8de8: 445b 5056 205d 7266 6d61 3d65 6c25 2075 [DVP] frame=%lu 8df8: 6f73 6b63 7465 253d 0d64 000a 445b 5056 socket=%d...[DVP 8e08: 205d 7266 6d61 3d65 6c25 2075 6177 7469 ] frame=%lu wait 8e18: 6e69 2067 6f66 2072 4354 2e50 2e2e 0a0d ing for TCP..... 8e28: 0000 0000 .... 00008e2c : 8e2c: 1100 1312 1514 1716 1918 1b1a 1d1c 1f1e ................ 8e3c: 5600 0000 5646 0000 5660 0000 5670 0000 .V..FV..`V..pV.. 8e4c: 5670 0000 565c 0000 565c 0000 567e 0000 pV..\V..\V..~V.. 00008e5c : 8e5c: 0201 0403 0605 0707 0707 0707 0007 0000 ................ 8e6c: 6bf0 0000 6cfe 0000 6dea 0000 6df2 0000 .k...l...m...m.. 8e7c: 6e98 0000 6dea 0000 6ede 0000 6f1a 0000 .n...m...n...o.. 8e8c: 6e28 6c75 296c 0000 (null)..