7741 lines
322 KiB
Plaintext
7741 lines
322 KiB
Plaintext
///////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// IAR C/C++ Compiler V10.30.1.6000 for 8051 23/Aug/2019 12:13:07
|
|
// Copyright 2004-2018 IAR Systems AB.
|
|
// PC-locked license - IAR Embedded Workbench for 8051
|
|
//
|
|
// Core = plain
|
|
// Code model = banked
|
|
// Data model = large
|
|
// Calling convention = xdata reentrant
|
|
// Constant location = data_rom
|
|
// Dptr setup = 1,16
|
|
//
|
|
// Source file =
|
|
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Components\osal\common\OSAL.c
|
|
// Command line =
|
|
// -f C:\Users\VULCAN\AppData\Local\Temp\EWD6C0.tmp
|
|
// (E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Components\osal\common\OSAL.c
|
|
// -D ZIGBEEPRO -D ZTOOL_P1 -D MT_TASK -D MT_SYS_FUNC -D MT_ZDO_FUNC -D
|
|
// LCD_SUPPORTED=DEBUG -D SAPP_ZSTACK -lC
|
|
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\RouterEB\List
|
|
// -lA
|
|
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\RouterEB\List
|
|
// --diag_suppress Pe001,Pa010 -o
|
|
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\RouterEB\Obj
|
|
// -e --debug --core=plain --dptr=16,1 --data_model=large
|
|
// --code_model=banked --calling_convention=xdata_reentrant
|
|
// --place_constants=data_rom --nr_virtual_regs 8 -f
|
|
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\zstack\Tools\CC2530DB\f8wRouter.cfg
|
|
// (-DCPU32MHZ -DROOT=__near_func -DMAC_CFG_APP_PENDING_QUEUE=TRUE
|
|
// -DMAC_CFG_TX_DATA_MAX=5 -DMAC_CFG_TX_MAX=8 -DMAC_CFG_RX_MAX=5
|
|
// -DRTR_NWK) -f
|
|
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\zstack\Tools\CC2530DB\f8wConfig.cfg
|
|
// (-DZIGBEEPRO -DSECURE=0 -DZG_SECURE_DYNAMIC=0 -DREFLECTOR
|
|
// -DDEFAULT_CHANLIST=0x00800000 -DZDAPP_CONFIG_PAN_ID=0x0057
|
|
// -DNWK_START_DELAY=100 -DEXTENDED_JOINING_RANDOM_MASK=0x007F
|
|
// -DBEACON_REQUEST_DELAY=100 -DBEACON_REQ_DELAY_MASK=0x00FF
|
|
// -DLINK_STATUS_JITTER_MASK=0x007F -DROUTE_EXPIRY_TIME=30
|
|
// -DAPSC_ACK_WAIT_DURATION_POLLED=3000 -DNWK_INDIRECT_MSG_TIMEOUT=7
|
|
// -DMAX_RREQ_ENTRIES=8 -DAPSC_MAX_FRAME_RETRIES=3
|
|
// -DNWK_MAX_DATA_RETRIES=2 -DMAX_POLL_FAILURE_RETRIES=2 -DMAX_BCAST=9
|
|
// -DAPS_MAX_GROUPS=16 -DMAX_RTG_ENTRIES=40 -DNWK_MAX_BINDING_ENTRIES=4
|
|
// -DMAX_BINDING_CLUSTER_IDS=4 "-DDEFAULT_KEY={0x01, 0x03, 0x05, 0x07,
|
|
// 0x09, 0x0B, 0x0D, 0x0F, 0x00, 0x02, 0x04, 0x06, 0x08, 0x0A, 0x0C,
|
|
// 0x0D}" -DMAC_MAX_FRAME_SIZE=116 -DZDNWKMGR_MIN_TRANSMISSIONS=20
|
|
// "-DCONST=const __code" -DGENERIC=__generic -DRFD_RCVC_ALWAYS_ON=FALSE
|
|
// -DPOLL_RATE=1000 -DQUEUED_POLL_RATE=100 -DRESPONSE_POLL_RATE=100
|
|
// -DREJOIN_POLL_RATE=440) -I
|
|
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\
|
|
// -I
|
|
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\Source\
|
|
// -I
|
|
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\zstack\ZMain\TI2530DB\
|
|
// -I
|
|
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\hal\include\
|
|
// -I
|
|
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\hal\target\CC2530EB\
|
|
// -I
|
|
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\mac\include\
|
|
// -I
|
|
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\mac\high_level\
|
|
// -I
|
|
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\mac\low_level\srf04\
|
|
// -I
|
|
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\mac\low_level\srf04\single_chip\
|
|
// -I
|
|
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\mt\
|
|
// -I
|
|
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\osal\include\
|
|
// -I
|
|
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\services\saddr\
|
|
// -I
|
|
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\services\sdata\
|
|
// -I
|
|
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\stack\af\
|
|
// -I
|
|
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\stack\nwk\
|
|
// -I
|
|
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\stack\sapi\
|
|
// -I
|
|
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\stack\sec\
|
|
// -I
|
|
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\stack\sys\
|
|
// -I
|
|
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\stack\zdo\
|
|
// -I
|
|
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\zmac\
|
|
// -I
|
|
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\zmac\f8w\
|
|
// -Ohz --require_prototypes --no_code_motion)
|
|
// Locale = Chinese (Simplified)_CHN.936
|
|
// List file =
|
|
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\RouterEB\List\OSAL.s51
|
|
//
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
NAME OSAL
|
|
|
|
RTMODEL "__SystemLibrary", "CLib"
|
|
RTMODEL "__calling_convention", "xdata_reentrant"
|
|
RTMODEL "__code_model", "banked"
|
|
RTMODEL "__core", "plain"
|
|
RTMODEL "__data_model", "large"
|
|
RTMODEL "__dptr_size", "16"
|
|
RTMODEL "__extended_stack", "disabled"
|
|
RTMODEL "__location_for_constants", "data"
|
|
RTMODEL "__number_of_dptrs", "1"
|
|
RTMODEL "__register_banks", "*"
|
|
RTMODEL "__rt_version", "1"
|
|
|
|
RSEG DOVERLAY:DATA:NOROOT(0)
|
|
RSEG IOVERLAY:IDATA:NOROOT(0)
|
|
RSEG ISTACK:IDATA:NOROOT(0)
|
|
RSEG PSTACK:XDATA:NOROOT(0)
|
|
RSEG XSTACK:XDATA:NOROOT(0)
|
|
|
|
EXTERN ?V0
|
|
EXTERN ?V1
|
|
EXTERN ?V2
|
|
EXTERN ?V4
|
|
EXTERN ?V5
|
|
EXTERN ?V6
|
|
EXTERN ?V7
|
|
EXTERN ?V3
|
|
EXTERN ?ALLOC_XSTACK8
|
|
EXTERN ?BANKED_ENTER_XDATA
|
|
EXTERN ?BANKED_LEAVE_XDATA
|
|
EXTERN ?BDISPATCH
|
|
EXTERN ?BRET
|
|
EXTERN ?CALL_IND
|
|
EXTERN ?C_GPTR_LOAD
|
|
EXTERN ?DEALLOC_XSTACK8
|
|
EXTERN ?L_ADD
|
|
EXTERN ?L_MOV_X
|
|
EXTERN ?L_SHL
|
|
EXTERN ?MOVE_LONG8_XDATA_XDATA
|
|
EXTERN ?PUSH_XSTACK_I_THREE
|
|
EXTERN ?PUSH_XSTACK_I_TWO
|
|
EXTERN ?UL_DIV_MOD
|
|
EXTERN ?UL_SHR
|
|
EXTERN ?XSP
|
|
EXTERN ?XSTACK_DISP0_8
|
|
EXTERN ?XSTACK_DISP101_8
|
|
EXTERN ?XSTACK_DISP102_8
|
|
EXTERN __INIT_XDATA_I
|
|
EXTERN __INIT_XDATA_Z
|
|
|
|
PUBLIC `??_ltoa::?relay`
|
|
FUNCTION `??_ltoa::?relay`,0203H
|
|
PUBLIC `??osal_buffer_uint24::?relay`
|
|
FUNCTION `??osal_buffer_uint24::?relay`,0203H
|
|
PUBLIC `??osal_buffer_uint32::?relay`
|
|
FUNCTION `??osal_buffer_uint32::?relay`,0203H
|
|
PUBLIC `??osal_build_uint16::?relay`
|
|
FUNCTION `??osal_build_uint16::?relay`,0203H
|
|
PUBLIC `??osal_build_uint32::?relay`
|
|
FUNCTION `??osal_build_uint32::?relay`,0203H
|
|
PUBLIC `??osal_clear_event::?relay`
|
|
FUNCTION `??osal_clear_event::?relay`,0203H
|
|
PUBLIC `??osal_init_system::?relay`
|
|
FUNCTION `??osal_init_system::?relay`,0203H
|
|
PUBLIC `??osal_int_disable::?relay`
|
|
FUNCTION `??osal_int_disable::?relay`,0203H
|
|
PUBLIC `??osal_int_enable::?relay`
|
|
FUNCTION `??osal_int_enable::?relay`,0203H
|
|
PUBLIC `??osal_isbufset::?relay`
|
|
FUNCTION `??osal_isbufset::?relay`,0203H
|
|
PUBLIC `??osal_isr_register::?relay`
|
|
FUNCTION `??osal_isr_register::?relay`,0203H
|
|
PUBLIC `??osal_memcmp::?relay`
|
|
FUNCTION `??osal_memcmp::?relay`,0203H
|
|
PUBLIC `??osal_memcpy::?relay`
|
|
FUNCTION `??osal_memcpy::?relay`,0203H
|
|
PUBLIC `??osal_memdup::?relay`
|
|
FUNCTION `??osal_memdup::?relay`,0203H
|
|
PUBLIC `??osal_memset::?relay`
|
|
FUNCTION `??osal_memset::?relay`,0203H
|
|
PUBLIC `??osal_msg_allocate::?relay`
|
|
FUNCTION `??osal_msg_allocate::?relay`,0203H
|
|
PUBLIC `??osal_msg_deallocate::?relay`
|
|
FUNCTION `??osal_msg_deallocate::?relay`,0203H
|
|
PUBLIC `??osal_msg_dequeue::?relay`
|
|
FUNCTION `??osal_msg_dequeue::?relay`,0203H
|
|
PUBLIC `??osal_msg_enqueue::?relay`
|
|
FUNCTION `??osal_msg_enqueue::?relay`,0203H
|
|
PUBLIC `??osal_msg_enqueue_max::?relay`
|
|
FUNCTION `??osal_msg_enqueue_max::?relay`,0203H
|
|
PUBLIC `??osal_msg_extract::?relay`
|
|
FUNCTION `??osal_msg_extract::?relay`,0203H
|
|
PUBLIC `??osal_msg_find::?relay`
|
|
FUNCTION `??osal_msg_find::?relay`,0203H
|
|
PUBLIC `??osal_msg_push::?relay`
|
|
FUNCTION `??osal_msg_push::?relay`,0203H
|
|
PUBLIC `??osal_msg_receive::?relay`
|
|
FUNCTION `??osal_msg_receive::?relay`,0203H
|
|
PUBLIC `??osal_msg_send::?relay`
|
|
FUNCTION `??osal_msg_send::?relay`,0203H
|
|
PUBLIC `??osal_rand::?relay`
|
|
FUNCTION `??osal_rand::?relay`,0203H
|
|
PUBLIC `??osal_revmemcpy::?relay`
|
|
FUNCTION `??osal_revmemcpy::?relay`,0203H
|
|
PUBLIC `??osal_run_system::?relay`
|
|
FUNCTION `??osal_run_system::?relay`,0203H
|
|
PUBLIC `??osal_self::?relay`
|
|
FUNCTION `??osal_self::?relay`,0203H
|
|
PUBLIC `??osal_set_event::?relay`
|
|
FUNCTION `??osal_set_event::?relay`,0203H
|
|
PUBLIC `??osal_start_system::?relay`
|
|
FUNCTION `??osal_start_system::?relay`,0203H
|
|
PUBLIC `??osal_strlen::?relay`
|
|
FUNCTION `??osal_strlen::?relay`,0203H
|
|
PUBWEAK _A_IEN0
|
|
PUBWEAK __Constant_2710
|
|
PUBWEAK __Constant_5f5e100
|
|
PUBLIC _ltoa
|
|
FUNCTION _ltoa,0a1203H
|
|
ARGFRAME XSTACK, 2, STACK
|
|
LOCFRAME ISTACK, 1, STACK
|
|
LOCFRAME XSTACK, 53, STACK
|
|
PUBLIC osal_buffer_uint24
|
|
FUNCTION osal_buffer_uint24,080203H
|
|
ARGFRAME XSTACK, 4, STACK
|
|
LOCFRAME ISTACK, 1, STACK
|
|
LOCFRAME XSTACK, 16, STACK
|
|
PUBLIC osal_buffer_uint32
|
|
FUNCTION osal_buffer_uint32,080203H
|
|
ARGFRAME XSTACK, 4, STACK
|
|
LOCFRAME ISTACK, 1, STACK
|
|
LOCFRAME XSTACK, 16, STACK
|
|
PUBLIC osal_build_uint16
|
|
FUNCTION osal_build_uint16,0203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME ISTACK, 2, STACK
|
|
PUBLIC osal_build_uint32
|
|
FUNCTION osal_build_uint32,080203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 16, STACK
|
|
PUBLIC osal_clear_event
|
|
FUNCTION osal_clear_event,0203H
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
LOCFRAME XSTACK, 9, STACK
|
|
PUBLIC osal_init_system
|
|
FUNCTION osal_init_system,021203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
PUBLIC osal_int_disable
|
|
FUNCTION osal_int_disable,0203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
PUBLIC osal_int_enable
|
|
FUNCTION osal_int_enable,0203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
PUBLIC osal_isbufset
|
|
FUNCTION osal_isbufset,0203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
PUBLIC osal_isr_register
|
|
FUNCTION osal_isr_register,0203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
PUBLIC osal_memcmp
|
|
FUNCTION osal_memcmp,080203H
|
|
ARGFRAME XSTACK, 3, STACK
|
|
LOCFRAME XSTACK, 18, STACK
|
|
PUBLIC osal_memcpy
|
|
FUNCTION osal_memcpy,0203H
|
|
ARGFRAME XSTACK, 19, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
LOCFRAME ISTACK, 1, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
PUBLIC osal_memdup
|
|
FUNCTION osal_memdup,0a1203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 19, STACK
|
|
PUBLIC osal_memset
|
|
FUNCTION osal_memset,0a1203H
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
LOCFRAME XSTACK, 12, STACK
|
|
PUBLIC osal_msg_allocate
|
|
FUNCTION osal_msg_allocate,0a1203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 10, STACK
|
|
PUBLIC osal_msg_deallocate
|
|
FUNCTION osal_msg_deallocate,021203H
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
LOCFRAME ISTACK, 2, STACK
|
|
PUBLIC osal_msg_dequeue
|
|
FUNCTION osal_msg_dequeue,080203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 10, STACK
|
|
PUBLIC osal_msg_enqueue
|
|
FUNCTION osal_msg_enqueue,0203H
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
LOCFRAME XSTACK, 9, STACK
|
|
PUBLIC osal_msg_enqueue_max
|
|
FUNCTION osal_msg_enqueue_max,080203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 10, STACK
|
|
PUBLIC osal_msg_extract
|
|
FUNCTION osal_msg_extract,0203H
|
|
ARGFRAME XSTACK, 14, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
LOCFRAME XSTACK, 9, STACK
|
|
PUBLIC osal_msg_find
|
|
FUNCTION osal_msg_find,0203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME ISTACK, 2, STACK
|
|
PUBLIC osal_msg_push
|
|
FUNCTION osal_msg_push,0203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
PUBLIC osal_msg_receive
|
|
FUNCTION osal_msg_receive,0a1203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 14, STACK
|
|
PUBLIC osal_msg_send
|
|
FUNCTION osal_msg_send,021203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME ISTACK, 1, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
PUBLIC osal_qHead
|
|
PUBLIC osal_rand
|
|
FUNCTION osal_rand,021203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME ISTACK, 2, STACK
|
|
PUBLIC osal_revmemcpy
|
|
FUNCTION osal_revmemcpy,0203H
|
|
ARGFRAME XSTACK, 3, STACK
|
|
LOCFRAME ISTACK, 1, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
PUBLIC osal_run_system
|
|
FUNCTION osal_run_system,0a1203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
LOCFRAME XSTACK, 10, STACK
|
|
PUBLIC osal_self
|
|
FUNCTION osal_self,0203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME ISTACK, 2, STACK
|
|
PUBLIC osal_set_event
|
|
FUNCTION osal_set_event,0203H
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
LOCFRAME XSTACK, 9, STACK
|
|
PUBLIC osal_start_system
|
|
FUNCTION osal_start_system,021203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME ISTACK, 2, STACK
|
|
PUBLIC osal_strlen
|
|
FUNCTION osal_strlen,021203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME ISTACK, 2, STACK
|
|
PUBLIC tasksEvents
|
|
|
|
CFI Names cfiNames0
|
|
CFI StackFrame CFA_SP SP IDATA
|
|
CFI StackFrame CFA_PSP16 PSP16 XDATA
|
|
CFI StackFrame CFA_XSP16 XSP16 XDATA
|
|
CFI StaticOverlayFrame CFA_IOVERLAY IOVERLAY
|
|
CFI StaticOverlayFrame CFA_DOVERLAY DOVERLAY
|
|
CFI Resource `PSW.CY`:1, `B.BR0`:1, `B.BR1`:1, `B.BR2`:1, `B.BR3`:1
|
|
CFI Resource `B.BR4`:1, `B.BR5`:1, `B.BR6`:1, `B.BR7`:1, `VB.BR8`:1
|
|
CFI Resource `VB.BR9`:1, `VB.BR10`:1, `VB.BR11`:1, `VB.BR12`:1
|
|
CFI Resource `VB.BR13`:1, `VB.BR14`:1, `VB.BR15`:1, VB:8, B:8, A:8
|
|
CFI Resource PSW:8, DPL0:8, DPH0:8, R0:8, R1:8, R2:8, R3:8, R4:8, R5:8
|
|
CFI Resource R6:8, R7:8, V0:8, V1:8, V2:8, V3:8, V4:8, V5:8, V6:8, V7:8
|
|
CFI Resource SP:8, PSPH:8, PSPL:8, PSP16:16, XSPH:8, XSPL:8, XSP16:16
|
|
CFI VirtualResource ?RET:24
|
|
CFI Resource ?BRET_EXT:8
|
|
CFI VirtualResource ?RET_HIGH:8, ?RET_LOW:8
|
|
CFI ResourceParts PSP16 PSPH, PSPL
|
|
CFI ResourceParts XSP16 XSPH, XSPL
|
|
CFI ResourceParts ?RET ?BRET_EXT, ?RET_HIGH, ?RET_LOW
|
|
CFI EndNames cfiNames0
|
|
|
|
CFI Common cfiCommon0 Using cfiNames0
|
|
CFI CodeAlign 1
|
|
CFI DataAlign -1
|
|
CFI ReturnAddress ?RET CODE
|
|
CFI CFA_DOVERLAY Used
|
|
CFI CFA_IOVERLAY Used
|
|
CFI CFA_SP SP+-3
|
|
CFI CFA_PSP16 PSP16+0
|
|
CFI CFA_XSP16 XSP16+0
|
|
CFI `PSW.CY` SameValue
|
|
CFI `B.BR0` SameValue
|
|
CFI `B.BR1` SameValue
|
|
CFI `B.BR2` SameValue
|
|
CFI `B.BR3` SameValue
|
|
CFI `B.BR4` SameValue
|
|
CFI `B.BR5` SameValue
|
|
CFI `B.BR6` SameValue
|
|
CFI `B.BR7` SameValue
|
|
CFI `VB.BR8` SameValue
|
|
CFI `VB.BR9` SameValue
|
|
CFI `VB.BR10` SameValue
|
|
CFI `VB.BR11` SameValue
|
|
CFI `VB.BR12` SameValue
|
|
CFI `VB.BR13` SameValue
|
|
CFI `VB.BR14` SameValue
|
|
CFI `VB.BR15` SameValue
|
|
CFI VB SameValue
|
|
CFI B Undefined
|
|
CFI A Undefined
|
|
CFI PSW SameValue
|
|
CFI DPL0 SameValue
|
|
CFI DPH0 SameValue
|
|
CFI R0 Undefined
|
|
CFI R1 Undefined
|
|
CFI R2 Undefined
|
|
CFI R3 Undefined
|
|
CFI R4 Undefined
|
|
CFI R5 Undefined
|
|
CFI R6 SameValue
|
|
CFI R7 SameValue
|
|
CFI V0 SameValue
|
|
CFI V1 SameValue
|
|
CFI V2 SameValue
|
|
CFI V3 SameValue
|
|
CFI V4 SameValue
|
|
CFI V5 SameValue
|
|
CFI V6 SameValue
|
|
CFI V7 SameValue
|
|
CFI PSPH Undefined
|
|
CFI PSPL Undefined
|
|
CFI XSPH Undefined
|
|
CFI XSPL Undefined
|
|
CFI ?RET Concat
|
|
CFI ?BRET_EXT Frame(CFA_SP, 3)
|
|
CFI ?RET_HIGH Frame(CFA_SP, 2)
|
|
CFI ?RET_LOW Frame(CFA_SP, 1)
|
|
CFI EndCommon cfiCommon0
|
|
|
|
|
|
CFI Common cfiCommon1 Using cfiNames0
|
|
CFI CodeAlign 1
|
|
CFI DataAlign -1
|
|
CFI ReturnAddress ?RET CODE
|
|
CFI CFA_DOVERLAY Used
|
|
CFI CFA_IOVERLAY Used
|
|
CFI CFA_SP SP+-2
|
|
CFI CFA_PSP16 PSP16+0
|
|
CFI CFA_XSP16 XSP16+0
|
|
CFI `PSW.CY` SameValue
|
|
CFI `B.BR0` SameValue
|
|
CFI `B.BR1` SameValue
|
|
CFI `B.BR2` SameValue
|
|
CFI `B.BR3` SameValue
|
|
CFI `B.BR4` SameValue
|
|
CFI `B.BR5` SameValue
|
|
CFI `B.BR6` SameValue
|
|
CFI `B.BR7` SameValue
|
|
CFI `VB.BR8` SameValue
|
|
CFI `VB.BR9` SameValue
|
|
CFI `VB.BR10` SameValue
|
|
CFI `VB.BR11` SameValue
|
|
CFI `VB.BR12` SameValue
|
|
CFI `VB.BR13` SameValue
|
|
CFI `VB.BR14` SameValue
|
|
CFI `VB.BR15` SameValue
|
|
CFI VB SameValue
|
|
CFI B SameValue
|
|
CFI A SameValue
|
|
CFI PSW SameValue
|
|
CFI DPL0 SameValue
|
|
CFI DPH0 SameValue
|
|
CFI R0 SameValue
|
|
CFI R1 SameValue
|
|
CFI R2 SameValue
|
|
CFI R3 SameValue
|
|
CFI R4 SameValue
|
|
CFI R5 SameValue
|
|
CFI R6 SameValue
|
|
CFI R7 SameValue
|
|
CFI V0 SameValue
|
|
CFI V1 SameValue
|
|
CFI V2 SameValue
|
|
CFI V3 SameValue
|
|
CFI V4 SameValue
|
|
CFI V5 SameValue
|
|
CFI V6 SameValue
|
|
CFI V7 SameValue
|
|
CFI PSPH Undefined
|
|
CFI PSPL Undefined
|
|
CFI XSPH Undefined
|
|
CFI XSPL Undefined
|
|
CFI ?RET Concat
|
|
CFI ?BRET_EXT SameValue
|
|
CFI ?RET_HIGH Frame(CFA_SP, 2)
|
|
CFI ?RET_LOW Frame(CFA_SP, 1)
|
|
CFI EndCommon cfiCommon1
|
|
|
|
Hal_ProcessPoll SYMBOL "Hal_ProcessPoll"
|
|
`??Hal_ProcessPoll::?relay` SYMBOL "?relay", Hal_ProcessPoll
|
|
Onboard_rand SYMBOL "Onboard_rand"
|
|
`??Onboard_rand::?relay` SYMBOL "?relay", Onboard_rand
|
|
_itoa SYMBOL "_itoa"
|
|
`??_itoa::?relay` SYMBOL "?relay", _itoa
|
|
memset SYMBOL "memset"
|
|
`??memset::?relay` SYMBOL "?relay", memset
|
|
osalInitTasks SYMBOL "osalInitTasks"
|
|
`??osalInitTasks::?relay` SYMBOL "?relay", osalInitTasks
|
|
osalTimeUpdate SYMBOL "osalTimeUpdate"
|
|
`??osalTimeUpdate::?relay` SYMBOL "?relay", osalTimeUpdate
|
|
osalTimerInit SYMBOL "osalTimerInit"
|
|
`??osalTimerInit::?relay` SYMBOL "?relay", osalTimerInit
|
|
osal_mem_alloc SYMBOL "osal_mem_alloc"
|
|
`??osal_mem_alloc::?relay` SYMBOL "?relay", osal_mem_alloc
|
|
osal_mem_free SYMBOL "osal_mem_free"
|
|
`??osal_mem_free::?relay` SYMBOL "?relay", osal_mem_free
|
|
osal_mem_init SYMBOL "osal_mem_init"
|
|
`??osal_mem_init::?relay` SYMBOL "?relay", osal_mem_init
|
|
osal_mem_kick SYMBOL "osal_mem_kick"
|
|
`??osal_mem_kick::?relay` SYMBOL "?relay", osal_mem_kick
|
|
osal_pwrmgr_init SYMBOL "osal_pwrmgr_init"
|
|
`??osal_pwrmgr_init::?relay` SYMBOL "?relay", osal_pwrmgr_init
|
|
strcat SYMBOL "strcat"
|
|
`??strcat::?relay` SYMBOL "?relay", strcat
|
|
strcpy SYMBOL "strcpy"
|
|
`??strcpy::?relay` SYMBOL "?relay", strcpy
|
|
strlen SYMBOL "strlen"
|
|
`??strlen::?relay` SYMBOL "?relay", strlen
|
|
_ltoa SYMBOL "_ltoa"
|
|
`??_ltoa::?relay` SYMBOL "?relay", _ltoa
|
|
osal_buffer_uint24 SYMBOL "osal_buffer_uint24"
|
|
`??osal_buffer_uint24::?relay` SYMBOL "?relay", osal_buffer_uint24
|
|
osal_buffer_uint32 SYMBOL "osal_buffer_uint32"
|
|
`??osal_buffer_uint32::?relay` SYMBOL "?relay", osal_buffer_uint32
|
|
osal_build_uint16 SYMBOL "osal_build_uint16"
|
|
`??osal_build_uint16::?relay` SYMBOL "?relay", osal_build_uint16
|
|
osal_build_uint32 SYMBOL "osal_build_uint32"
|
|
`??osal_build_uint32::?relay` SYMBOL "?relay", osal_build_uint32
|
|
osal_clear_event SYMBOL "osal_clear_event"
|
|
`??osal_clear_event::?relay` SYMBOL "?relay", osal_clear_event
|
|
osal_init_system SYMBOL "osal_init_system"
|
|
`??osal_init_system::?relay` SYMBOL "?relay", osal_init_system
|
|
osal_int_disable SYMBOL "osal_int_disable"
|
|
`??osal_int_disable::?relay` SYMBOL "?relay", osal_int_disable
|
|
osal_int_enable SYMBOL "osal_int_enable"
|
|
`??osal_int_enable::?relay` SYMBOL "?relay", osal_int_enable
|
|
osal_isbufset SYMBOL "osal_isbufset"
|
|
`??osal_isbufset::?relay` SYMBOL "?relay", osal_isbufset
|
|
osal_isr_register SYMBOL "osal_isr_register"
|
|
`??osal_isr_register::?relay` SYMBOL "?relay", osal_isr_register
|
|
osal_memcmp SYMBOL "osal_memcmp"
|
|
`??osal_memcmp::?relay` SYMBOL "?relay", osal_memcmp
|
|
osal_memcpy SYMBOL "osal_memcpy"
|
|
`??osal_memcpy::?relay` SYMBOL "?relay", osal_memcpy
|
|
osal_memdup SYMBOL "osal_memdup"
|
|
`??osal_memdup::?relay` SYMBOL "?relay", osal_memdup
|
|
osal_memset SYMBOL "osal_memset"
|
|
`??osal_memset::?relay` SYMBOL "?relay", osal_memset
|
|
osal_msg_allocate SYMBOL "osal_msg_allocate"
|
|
`??osal_msg_allocate::?relay` SYMBOL "?relay", osal_msg_allocate
|
|
osal_msg_deallocate SYMBOL "osal_msg_deallocate"
|
|
`??osal_msg_deallocate::?relay` SYMBOL "?relay", osal_msg_deallocate
|
|
osal_msg_dequeue SYMBOL "osal_msg_dequeue"
|
|
`??osal_msg_dequeue::?relay` SYMBOL "?relay", osal_msg_dequeue
|
|
osal_msg_enqueue SYMBOL "osal_msg_enqueue"
|
|
`??osal_msg_enqueue::?relay` SYMBOL "?relay", osal_msg_enqueue
|
|
osal_msg_enqueue_max SYMBOL "osal_msg_enqueue_max"
|
|
`??osal_msg_enqueue_max::?relay` SYMBOL "?relay", osal_msg_enqueue_max
|
|
osal_msg_extract SYMBOL "osal_msg_extract"
|
|
`??osal_msg_extract::?relay` SYMBOL "?relay", osal_msg_extract
|
|
osal_msg_find SYMBOL "osal_msg_find"
|
|
`??osal_msg_find::?relay` SYMBOL "?relay", osal_msg_find
|
|
osal_msg_push SYMBOL "osal_msg_push"
|
|
`??osal_msg_push::?relay` SYMBOL "?relay", osal_msg_push
|
|
osal_msg_receive SYMBOL "osal_msg_receive"
|
|
`??osal_msg_receive::?relay` SYMBOL "?relay", osal_msg_receive
|
|
osal_msg_send SYMBOL "osal_msg_send"
|
|
`??osal_msg_send::?relay` SYMBOL "?relay", osal_msg_send
|
|
osal_rand SYMBOL "osal_rand"
|
|
`??osal_rand::?relay` SYMBOL "?relay", osal_rand
|
|
osal_revmemcpy SYMBOL "osal_revmemcpy"
|
|
`??osal_revmemcpy::?relay` SYMBOL "?relay", osal_revmemcpy
|
|
osal_run_system SYMBOL "osal_run_system"
|
|
`??osal_run_system::?relay` SYMBOL "?relay", osal_run_system
|
|
osal_self SYMBOL "osal_self"
|
|
`??osal_self::?relay` SYMBOL "?relay", osal_self
|
|
osal_set_event SYMBOL "osal_set_event"
|
|
`??osal_set_event::?relay` SYMBOL "?relay", osal_set_event
|
|
osal_start_system SYMBOL "osal_start_system"
|
|
`??osal_start_system::?relay` SYMBOL "?relay", osal_start_system
|
|
osal_strlen SYMBOL "osal_strlen"
|
|
`??osal_strlen::?relay` SYMBOL "?relay", osal_strlen
|
|
|
|
EXTERN `??Hal_ProcessPoll::?relay`
|
|
FUNCTION `??Hal_ProcessPoll::?relay`,00H
|
|
EXTERN `??Onboard_rand::?relay`
|
|
FUNCTION `??Onboard_rand::?relay`,00H
|
|
EXTERN `??_itoa::?relay`
|
|
FUNCTION `??_itoa::?relay`,00H
|
|
EXTERN `??memset::?relay`
|
|
FUNCTION `??memset::?relay`,00H
|
|
EXTERN `??osalInitTasks::?relay`
|
|
FUNCTION `??osalInitTasks::?relay`,00H
|
|
EXTERN `??osalTimeUpdate::?relay`
|
|
FUNCTION `??osalTimeUpdate::?relay`,00H
|
|
EXTERN `??osalTimerInit::?relay`
|
|
FUNCTION `??osalTimerInit::?relay`,00H
|
|
EXTERN `??osal_mem_alloc::?relay`
|
|
FUNCTION `??osal_mem_alloc::?relay`,00H
|
|
EXTERN `??osal_mem_free::?relay`
|
|
FUNCTION `??osal_mem_free::?relay`,00H
|
|
EXTERN `??osal_mem_init::?relay`
|
|
FUNCTION `??osal_mem_init::?relay`,00H
|
|
EXTERN `??osal_mem_kick::?relay`
|
|
FUNCTION `??osal_mem_kick::?relay`,00H
|
|
EXTERN `??osal_pwrmgr_init::?relay`
|
|
FUNCTION `??osal_pwrmgr_init::?relay`,00H
|
|
EXTERN `??strcat::?relay`
|
|
FUNCTION `??strcat::?relay`,00H
|
|
EXTERN `??strcpy::?relay`
|
|
FUNCTION `??strcpy::?relay`,00H
|
|
EXTERN `??strlen::?relay`
|
|
FUNCTION `??strlen::?relay`,00H
|
|
EXTERN Hal_ProcessPoll
|
|
FUNCTION Hal_ProcessPoll,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 10, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN Onboard_rand
|
|
FUNCTION Onboard_rand,0202H
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN _itoa
|
|
FUNCTION _itoa,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 53, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN memset
|
|
FUNCTION memset,010202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN osalInitTasks
|
|
FUNCTION osalInitTasks,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN osalTimeUpdate
|
|
FUNCTION osalTimeUpdate,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 10, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN osalTimerInit
|
|
FUNCTION osalTimerInit,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN osal_mem_alloc
|
|
FUNCTION osal_mem_alloc,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 16, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN osal_mem_free
|
|
FUNCTION osal_mem_free,0202H
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN osal_mem_init
|
|
FUNCTION osal_mem_init,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN osal_mem_kick
|
|
FUNCTION osal_mem_kick,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN osal_pwrmgr_init
|
|
FUNCTION osal_pwrmgr_init,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN strcat
|
|
FUNCTION strcat,010202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 53, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN strcpy
|
|
FUNCTION strcpy,010202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 53, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN strlen
|
|
FUNCTION strlen,010202H
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 53, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN tasksArr
|
|
EXTERN tasksCnt
|
|
|
|
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Components\osal\common\OSAL.c
|
|
// 1 /**************************************************************************************************
|
|
// 2 Filename: OSAL.c
|
|
// 3 Revised: $Date: 2011-05-27 09:03:48 -0700 (Fri, 27 May 2011) $
|
|
// 4 Revision: $Revision: 26134 $
|
|
// 5
|
|
// 6 Description: This API allows the software components in the Z-stack to be written
|
|
// 7 independently of the specifics of the operating system, kernel or tasking
|
|
// 8 environment (including control loops or connect-to-interrupt systems).
|
|
// 9
|
|
// 10
|
|
// 11 Copyright 2004-2011 Texas Instruments Incorporated. All rights reserved.
|
|
// 12
|
|
// 13 IMPORTANT: Your use of this Software is limited to those specific rights
|
|
// 14 granted under the terms of a software license agreement between the user
|
|
// 15 who downloaded the software, his/her employer (which must be your employer)
|
|
// 16 and Texas Instruments Incorporated (the "License"). You may not use this
|
|
// 17 Software unless you agree to abide by the terms of the License. The License
|
|
// 18 limits your use, and you acknowledge, that the Software may not be modified,
|
|
// 19 copied or distributed unless embedded on a Texas Instruments microcontroller
|
|
// 20 or used solely and exclusively in conjunction with a Texas Instruments radio
|
|
// 21 frequency transceiver, which is integrated into your product. Other than for
|
|
// 22 the foregoing purpose, you may not use, reproduce, copy, prepare derivative
|
|
// 23 works of, modify, distribute, perform, display or sell this Software and/or
|
|
// 24 its documentation for any purpose.
|
|
// 25
|
|
// 26 YOU FURTHER ACKNOWLEDGE AND AGREE THAT THE SOFTWARE AND DOCUMENTATION ARE
|
|
// 27 PROVIDED 揂S IS?WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED,
|
|
// 28 INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY, TITLE,
|
|
// 29 NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL
|
|
// 30 TEXAS INSTRUMENTS OR ITS LICENSORS BE LIABLE OR OBLIGATED UNDER CONTRACT,
|
|
// 31 NEGLIGENCE, STRICT LIABILITY, CONTRIBUTION, BREACH OF WARRANTY, OR OTHER
|
|
// 32 LEGAL EQUITABLE THEORY ANY DIRECT OR INDIRECT DAMAGES OR EXPENSES
|
|
// 33 INCLUDING BUT NOT LIMITED TO ANY INCIDENTAL, SPECIAL, INDIRECT, PUNITIVE
|
|
// 34 OR CONSEQUENTIAL DAMAGES, LOST PROFITS OR LOST DATA, COST OF PROCUREMENT
|
|
// 35 OF SUBSTITUTE GOODS, TECHNOLOGY, SERVICES, OR ANY CLAIMS BY THIRD PARTIES
|
|
// 36 (INCLUDING BUT NOT LIMITED TO ANY DEFENSE THEREOF), OR OTHER SIMILAR COSTS.
|
|
// 37
|
|
// 38 Should you have any questions regarding your right to use this Software,
|
|
// 39 contact Texas Instruments Incorporated at www.TI.com.
|
|
// 40 **************************************************************************************************/
|
|
// 41
|
|
// 42 /*********************************************************************
|
|
// 43 * INCLUDES
|
|
// 44 */
|
|
// 45
|
|
// 46 #include <string.h>
|
|
// 47
|
|
// 48 #include "comdef.h"
|
|
// 49 #include "OSAL.h"
|
|
// 50 #include "OSAL_Tasks.h"
|
|
// 51 #include "OSAL_Memory.h"
|
|
// 52 #include "OSAL_PwrMgr.h"
|
|
// 53 #include "OSAL_Clock.h"
|
|
// 54
|
|
// 55 #include "OnBoard.h"
|
|
|
|
ASEGN SFR_AN:DATA:NOROOT,0a8H
|
|
// union <unnamed> volatile __sfr _A_IEN0
|
|
_A_IEN0:
|
|
DATA8
|
|
DS 1
|
|
// 56
|
|
// 57 /* HAL */
|
|
// 58 #include "hal_drivers.h"
|
|
// 59
|
|
// 60 #ifdef IAR_ARMCM3_LM
|
|
// 61 #include "FreeRTOSConfig.h"
|
|
// 62 #include "osal_task.h"
|
|
// 63 #endif
|
|
// 64
|
|
// 65 /*********************************************************************
|
|
// 66 * MACROS
|
|
// 67 */
|
|
// 68
|
|
// 69 /*********************************************************************
|
|
// 70 * CONSTANTS
|
|
// 71 */
|
|
// 72
|
|
// 73 /*********************************************************************
|
|
// 74 * TYPEDEFS
|
|
// 75 */
|
|
// 76
|
|
// 77 /*********************************************************************
|
|
// 78 * GLOBAL VARIABLES
|
|
// 79 */
|
|
|
|
RSEG XDATA_Z:XDATA:NOROOT(0)
|
|
DATA16
|
|
// 80 uint16 *tasksEvents;
|
|
tasksEvents:
|
|
DS 2
|
|
REQUIRE __INIT_XDATA_Z
|
|
// 81
|
|
// 82 // Message Pool Definitions
|
|
|
|
RSEG XDATA_Z:XDATA:NOROOT(0)
|
|
DATA16
|
|
// 83 osal_msg_q_t osal_qHead;
|
|
osal_qHead:
|
|
DS 2
|
|
REQUIRE __INIT_XDATA_Z
|
|
// 84
|
|
// 85 /*********************************************************************
|
|
// 86 * EXTERNAL VARIABLES
|
|
// 87 */
|
|
// 88
|
|
// 89 /*********************************************************************
|
|
// 90 * EXTERNAL FUNCTIONS
|
|
// 91 */
|
|
// 92
|
|
// 93 /*********************************************************************
|
|
// 94 * LOCAL VARIABLES
|
|
// 95 */
|
|
// 96
|
|
// 97 // Index of active task
|
|
|
|
RSEG XDATA_I:XDATA:NOROOT(0)
|
|
// 98 static uint8 activeTaskID = TASK_NO_TASK;
|
|
activeTaskID:
|
|
DATA8
|
|
DS 1
|
|
REQUIRE `?<Initializer for activeTaskID>`
|
|
REQUIRE __INIT_XDATA_I
|
|
// 99
|
|
// 100 /*********************************************************************
|
|
// 101 * LOCAL FUNCTION PROTOTYPES
|
|
// 102 */
|
|
// 103
|
|
// 104 /*********************************************************************
|
|
// 105 * HELPER FUNCTIONS
|
|
// 106 */
|
|
// 107 /* very ugly stub so Keil can compile */
|
|
// 108 #ifdef __KEIL__
|
|
// 109 char * itoa ( int value, char * buffer, int radix )
|
|
// 110 {
|
|
// 111 return(buffer);
|
|
// 112 }
|
|
// 113 #endif
|
|
// 114
|
|
// 115 /*********************************************************************
|
|
// 116 * @fn osal_strlen
|
|
// 117 *
|
|
// 118 * @brief
|
|
// 119 *
|
|
// 120 * Calculates the length of a string. The string must be null
|
|
// 121 * terminated.
|
|
// 122 *
|
|
// 123 * @param char *pString - pointer to text string
|
|
// 124 *
|
|
// 125 * @return int - number of characters
|
|
// 126 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 127 int osal_strlen( char *pString )
|
|
osal_strlen:
|
|
CFI Block cfiBlock0 Using cfiCommon0
|
|
CFI Function osal_strlen
|
|
CODE
|
|
// 128 {
|
|
FUNCALL osal_strlen, strlen
|
|
LOCFRAME ISTACK, 2, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 0, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
PUSH DPL
|
|
CFI DPL0 Frame(CFA_SP, 4)
|
|
CFI CFA_SP SP+-4
|
|
PUSH DPH
|
|
CFI DPH0 Frame(CFA_SP, 5)
|
|
CFI CFA_SP SP+-5
|
|
; Saved register size: 2
|
|
; Auto size: 0
|
|
// 129 return (int)( strlen( pString ) );
|
|
; Setup parameters for call to function strlen
|
|
LCALL `??strlen::?relay`; Banked call to: strlen
|
|
LJMP ?Subroutine0 & 0xFFFF
|
|
// 130 }
|
|
CFI EndBlock cfiBlock0
|
|
// 131
|
|
// 132 /*********************************************************************
|
|
// 133 * @fn osal_memcpy
|
|
// 134 *
|
|
// 135 * @brief
|
|
// 136 *
|
|
// 137 * Generic memory copy.
|
|
// 138 *
|
|
// 139 * Note: This function differs from the standard memcpy(), since
|
|
// 140 * it returns the pointer to the next destination uint8. The
|
|
// 141 * standard memcpy() returns the original destination address.
|
|
// 142 *
|
|
// 143 * @param dst - destination address
|
|
// 144 * @param src - source address
|
|
// 145 * @param len - number of bytes to copy
|
|
// 146 *
|
|
// 147 * @return pointer to end of destination buffer
|
|
// 148 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 149 void *osal_memcpy( void *dst, const void GENERIC *src, unsigned int len )
|
|
osal_memcpy:
|
|
CFI Block cfiBlock1 Using cfiCommon0
|
|
CFI Function osal_memcpy
|
|
CODE
|
|
// 150 {
|
|
MOV A,#-0x9
|
|
LCALL ?BANKED_ENTER_XDATA
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 9)
|
|
; Saved register size: 9
|
|
; Auto size: 0
|
|
MOV A,R2
|
|
MOV R6,A
|
|
MOV A,R3
|
|
MOV R7,A
|
|
// 151 uint8 *pDst;
|
|
// 152 const uint8 GENERIC *pSrc;
|
|
// 153
|
|
// 154 pSrc = src;
|
|
MOV A,#0x9
|
|
LCALL ?XSTACK_DISP0_8
|
|
LCALL ?Subroutine9 & 0xFFFF
|
|
// 155 pDst = dst;
|
|
??CrossCallReturnLabel_8:
|
|
MOV DPL,R6
|
|
MOV DPH,R7
|
|
SJMP ??osal_memcpy_0
|
|
// 156
|
|
// 157 while ( len-- )
|
|
// 158 *pDst++ = *pSrc++;
|
|
??osal_memcpy_1:
|
|
LCALL ?C_GPTR_LOAD
|
|
MOVX @DPTR,A
|
|
MOV A,R1
|
|
ADD A,#0x1
|
|
INC R1
|
|
CLR A
|
|
ADDC A,R2
|
|
MOV R2,A
|
|
INC DPTR
|
|
??osal_memcpy_0:
|
|
LCALL ?Subroutine19 & 0xFFFF
|
|
??CrossCallReturnLabel_23:
|
|
JNZ ??osal_memcpy_1
|
|
// 159
|
|
// 160 return ( pDst );
|
|
CFI EndBlock cfiBlock1
|
|
REQUIRE ?Subroutine4
|
|
; // Fall through to label ?Subroutine4
|
|
// 161 }
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine4:
|
|
CFI Block cfiBlock2 Using cfiCommon0
|
|
CFI NoFunction
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 9)
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
MOV R2,DPL
|
|
MOV R3,DPH
|
|
LJMP ??Subroutine31_0 & 0xFFFF
|
|
CFI EndBlock cfiBlock2
|
|
// 162
|
|
// 163 /*********************************************************************
|
|
// 164 * @fn osal_revmemcpy
|
|
// 165 *
|
|
// 166 * @brief Generic reverse memory copy. Starts at the end of the
|
|
// 167 * source buffer, by taking the source address pointer and moving
|
|
// 168 * pointer ahead "len" bytes, then decrementing the pointer.
|
|
// 169 *
|
|
// 170 * Note: This function differs from the standard memcpy(), since
|
|
// 171 * it returns the pointer to the next destination uint8. The
|
|
// 172 * standard memcpy() returns the original destination address.
|
|
// 173 *
|
|
// 174 * @param dst - destination address
|
|
// 175 * @param src - source address
|
|
// 176 * @param len - number of bytes to copy
|
|
// 177 *
|
|
// 178 * @return pointer to end of destination buffer
|
|
// 179 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 180 void *osal_revmemcpy( void *dst, const void GENERIC *src, unsigned int len )
|
|
osal_revmemcpy:
|
|
CFI Block cfiBlock3 Using cfiCommon0
|
|
CFI Function osal_revmemcpy
|
|
CODE
|
|
// 181 {
|
|
MOV A,#-0x9
|
|
LCALL ?BANKED_ENTER_XDATA
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 9)
|
|
; Saved register size: 9
|
|
; Auto size: 0
|
|
MOV A,R2
|
|
MOV R6,A
|
|
MOV A,R3
|
|
MOV R7,A
|
|
// 182 uint8 *pDst;
|
|
// 183 const uint8 GENERIC *pSrc;
|
|
// 184
|
|
// 185 pSrc = src;
|
|
// 186 pSrc += (len-1);
|
|
MOV A,#0x9
|
|
LCALL ?XSTACK_DISP0_8
|
|
LCALL ?Subroutine9 & 0xFFFF
|
|
??CrossCallReturnLabel_9:
|
|
MOV A,R1
|
|
ADD A,R4
|
|
MOV R1,A
|
|
MOV A,R2
|
|
ADDC A,R5
|
|
MOV R2,A
|
|
MOV A,R1
|
|
ADD A,#-0x1
|
|
DEC R1
|
|
MOV A,R2
|
|
ADDC A,#-0x1
|
|
MOV R2,A
|
|
// 187 pDst = dst;
|
|
MOV DPL,R6
|
|
MOV DPH,R7
|
|
SJMP ??osal_revmemcpy_0
|
|
// 188
|
|
// 189 while ( len-- )
|
|
// 190 *pDst++ = *pSrc--;
|
|
??osal_revmemcpy_1:
|
|
LCALL ?C_GPTR_LOAD
|
|
MOVX @DPTR,A
|
|
MOV A,R1
|
|
ADD A,#-0x1
|
|
DEC R1
|
|
MOV A,R2
|
|
ADDC A,#-0x1
|
|
MOV R2,A
|
|
INC DPTR
|
|
??osal_revmemcpy_0:
|
|
LCALL ?Subroutine19 & 0xFFFF
|
|
??CrossCallReturnLabel_24:
|
|
JNZ ??osal_revmemcpy_1
|
|
// 191
|
|
// 192 return ( pDst );
|
|
SJMP ?Subroutine4
|
|
// 193 }
|
|
CFI EndBlock cfiBlock3
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine19:
|
|
CFI Block cfiCond4 Using cfiCommon0
|
|
CFI Function osal_memcpy
|
|
CFI Conditional ??CrossCallReturnLabel_23
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI CFA_SP SP+-2
|
|
CFI CFA_XSP16 add(XSP16, 9)
|
|
CFI Block cfiCond5 Using cfiCommon0
|
|
CFI (cfiCond5) Function osal_revmemcpy
|
|
CFI (cfiCond5) Conditional ??CrossCallReturnLabel_24
|
|
CFI (cfiCond5) R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond5) VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond5) V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond5) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond5) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond5) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond5) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond5) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond5) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond5) CFA_SP SP+-2
|
|
CFI (cfiCond5) CFA_XSP16 add(XSP16, 9)
|
|
CFI Block cfiPicker6 Using cfiCommon1
|
|
CFI (cfiPicker6) NoFunction
|
|
CFI (cfiPicker6) Picker
|
|
MOV A,R4
|
|
MOV R6,A
|
|
MOV A,R5
|
|
MOV R7,A
|
|
MOV A,R6
|
|
ADD A,#-0x1
|
|
DEC R4
|
|
MOV A,R7
|
|
ADDC A,#-0x1
|
|
MOV R5,A
|
|
MOV A,R6
|
|
ORL A,R7
|
|
RET
|
|
CFI EndBlock cfiCond4
|
|
CFI EndBlock cfiCond5
|
|
CFI EndBlock cfiPicker6
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine9:
|
|
CFI Block cfiCond7 Using cfiCommon0
|
|
CFI Function osal_memcpy
|
|
CFI Conditional ??CrossCallReturnLabel_8
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI CFA_SP SP+-2
|
|
CFI CFA_XSP16 add(XSP16, 9)
|
|
CFI Block cfiCond8 Using cfiCommon0
|
|
CFI (cfiCond8) Function osal_revmemcpy
|
|
CFI (cfiCond8) Conditional ??CrossCallReturnLabel_9
|
|
CFI (cfiCond8) R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond8) VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond8) V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond8) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond8) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond8) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond8) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond8) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond8) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond8) CFA_SP SP+-2
|
|
CFI (cfiCond8) CFA_XSP16 add(XSP16, 9)
|
|
CFI Block cfiCond9 Using cfiCommon0
|
|
CFI (cfiCond9) Function osal_memcmp
|
|
CFI (cfiCond9) Conditional ??CrossCallReturnLabel_10
|
|
CFI (cfiCond9) R6 load(1, XDATA, add(CFA_XSP16, literal(-15)))
|
|
CFI (cfiCond9) VB load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI (cfiCond9) V0 load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI (cfiCond9) V1 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond9) V2 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond9) V3 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond9) V4 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond9) V5 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond9) V6 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond9) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond9) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond9) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond9) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond9) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond9) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond9) CFA_SP SP+-2
|
|
CFI (cfiCond9) CFA_XSP16 add(XSP16, 18)
|
|
CFI Block cfiPicker10 Using cfiCommon1
|
|
CFI (cfiPicker10) NoFunction
|
|
CFI (cfiPicker10) Picker
|
|
MOVX A,@DPTR
|
|
MOV R1,A
|
|
INC DPTR
|
|
LCALL ?Subroutine28 & 0xFFFF
|
|
??CrossCallReturnLabel_58:
|
|
RET
|
|
CFI EndBlock cfiCond7
|
|
CFI EndBlock cfiCond8
|
|
CFI EndBlock cfiCond9
|
|
CFI EndBlock cfiPicker10
|
|
// 194
|
|
// 195 /*********************************************************************
|
|
// 196 * @fn osal_memdup
|
|
// 197 *
|
|
// 198 * @brief Allocates a buffer [with osal_mem_alloc()] and copies
|
|
// 199 * the src buffer into the newly allocated space.
|
|
// 200 *
|
|
// 201 * @param src - source address
|
|
// 202 * @param len - number of bytes to copy
|
|
// 203 *
|
|
// 204 * @return pointer to the new allocated buffer, or NULL if
|
|
// 205 * allocation problem.
|
|
// 206 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 207 void *osal_memdup( const void GENERIC *src, unsigned int len )
|
|
osal_memdup:
|
|
CFI Block cfiBlock11 Using cfiCommon0
|
|
CFI Function osal_memdup
|
|
CODE
|
|
// 208 {
|
|
FUNCALL osal_memdup, osal_mem_alloc
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 16, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 16, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL osal_memdup, osal_memcpy
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 19, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 19, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
REQUIRE ?V0
|
|
REQUIRE ?V1
|
|
REQUIRE ?V2
|
|
REQUIRE ?V4
|
|
REQUIRE ?V5
|
|
REQUIRE ?V6
|
|
REQUIRE ?V7
|
|
MOV A,#-0x10
|
|
LCALL ?BANKED_ENTER_XDATA
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 16)
|
|
; Saved register size: 16
|
|
; Auto size: 0
|
|
MOV ?V0,R1
|
|
MOV ?V1,R2
|
|
MOV ?V2,R3
|
|
MOV A,R4
|
|
MOV R6,A
|
|
MOV A,R5
|
|
MOV R7,A
|
|
// 209 uint8 *pDst;
|
|
// 210
|
|
// 211 pDst = osal_mem_alloc( len );
|
|
; Setup parameters for call to function osal_mem_alloc
|
|
MOV A,R4
|
|
MOV R2,A
|
|
MOV A,R5
|
|
MOV R3,A
|
|
LCALL `??osal_mem_alloc::?relay`; Banked call to: osal_mem_alloc
|
|
MOV ?V6,R2
|
|
MOV ?V7,R3
|
|
// 212 if ( pDst )
|
|
MOV A,R2
|
|
ORL A,R3
|
|
JZ ??osal_memdup_0
|
|
// 213 {
|
|
// 214 VOID osal_memcpy( pDst, src, len );
|
|
; Setup parameters for call to function osal_memcpy
|
|
MOV R0,#?V0
|
|
LCALL ?PUSH_XSTACK_I_THREE
|
|
CFI CFA_XSP16 add(XSP16, 19)
|
|
MOV A,R6
|
|
MOV R4,A
|
|
MOV A,R7
|
|
MOV R5,A
|
|
LCALL `??osal_memcpy::?relay`; Banked call to: osal_memcpy
|
|
MOV A,#0x3
|
|
LCALL ?DEALLOC_XSTACK8
|
|
CFI CFA_XSP16 add(XSP16, 16)
|
|
// 215 }
|
|
// 216
|
|
// 217 return ( (void *)pDst );
|
|
??osal_memdup_0:
|
|
MOV R2,?V6
|
|
MOV R3,?V7
|
|
LJMP ?Subroutine2 & 0xFFFF
|
|
// 218 }
|
|
CFI EndBlock cfiBlock11
|
|
// 219
|
|
// 220 /*********************************************************************
|
|
// 221 * @fn osal_memcmp
|
|
// 222 *
|
|
// 223 * @brief
|
|
// 224 *
|
|
// 225 * Generic memory compare.
|
|
// 226 *
|
|
// 227 * @param src1 - source 1 addrexx
|
|
// 228 * @param src2 - source 2 address
|
|
// 229 * @param len - number of bytes to compare
|
|
// 230 *
|
|
// 231 * @return TRUE - same, FALSE - different
|
|
// 232 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 233 uint8 osal_memcmp( const void GENERIC *src1, const void GENERIC *src2, unsigned int len )
|
|
osal_memcmp:
|
|
CFI Block cfiBlock12 Using cfiCommon0
|
|
CFI Function osal_memcmp
|
|
CODE
|
|
// 234 {
|
|
REQUIRE ?V0
|
|
REQUIRE ?V1
|
|
REQUIRE ?V4
|
|
REQUIRE ?V5
|
|
REQUIRE ?V6
|
|
MOV A,#-0xf
|
|
LCALL ?BANKED_ENTER_XDATA
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V6 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI V5 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V4 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-15)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 15)
|
|
; Saved register size: 15
|
|
; Auto size: 3
|
|
MOV A,#-0x3
|
|
LCALL ?ALLOC_XSTACK8
|
|
CFI CFA_XSP16 add(XSP16, 18)
|
|
MOV ?V0,R4
|
|
MOV ?V1,R5
|
|
// 235 const uint8 GENERIC *pSrc1;
|
|
// 236 const uint8 GENERIC *pSrc2;
|
|
// 237
|
|
// 238 pSrc1 = src1;
|
|
MOV ?V4,R1
|
|
MOV ?V5,R2
|
|
MOV ?V6,R3
|
|
// 239 pSrc2 = src2;
|
|
MOV A,#0x12
|
|
LCALL ?XSTACK_DISP0_8
|
|
MOVX A,@DPTR
|
|
MOV R4,A
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
MOV R5,A
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
MOV R6,A
|
|
// 240
|
|
// 241 while ( len-- )
|
|
??osal_memcmp_0:
|
|
MOV R0,?V0
|
|
MOV R1,?V1
|
|
MOV A,R0
|
|
ADD A,#-0x1
|
|
MOV ?V0,A
|
|
MOV A,R1
|
|
ADDC A,#-0x1
|
|
MOV ?V1,A
|
|
MOV A,R0
|
|
ORL A,R1
|
|
JZ ??osal_memcmp_1
|
|
// 242 {
|
|
// 243 if( *pSrc1++ != *pSrc2++ )
|
|
MOV R1,?V4
|
|
MOV R2,?V5
|
|
MOV R3,?V6
|
|
MOV A,R1
|
|
ADD A,#0x1
|
|
MOV ?V4,A
|
|
CLR A
|
|
ADDC A,R2
|
|
MOV ?V5,A
|
|
MOV DPL,?XSP + 0
|
|
MOV DPH,?XSP + 1
|
|
MOV A,R4
|
|
MOVX @DPTR,A
|
|
INC DPTR
|
|
MOV A,R5
|
|
MOVX @DPTR,A
|
|
INC DPTR
|
|
MOV A,R6
|
|
MOVX @DPTR,A
|
|
MOV DPL,?XSP + 0
|
|
MOV DPH,?XSP + 1
|
|
MOVX A,@DPTR
|
|
MOV R4,A
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
MOV R5,A
|
|
MOV A,R4
|
|
ADD A,#0x1
|
|
INC R4
|
|
CLR A
|
|
ADDC A,R5
|
|
MOV R5,A
|
|
LCALL ?C_GPTR_LOAD
|
|
MOV R0,A
|
|
MOV DPL,?XSP + 0
|
|
MOV DPH,?XSP + 1
|
|
LCALL ?Subroutine9 & 0xFFFF
|
|
??CrossCallReturnLabel_10:
|
|
LCALL ?C_GPTR_LOAD
|
|
XRL A,R0
|
|
JZ ??osal_memcmp_0
|
|
// 244 return FALSE;
|
|
MOV R1,#0x0
|
|
SJMP ??osal_memcmp_2
|
|
// 245 }
|
|
// 246 return TRUE;
|
|
??osal_memcmp_1:
|
|
MOV R1,#0x1
|
|
??osal_memcmp_2:
|
|
MOV A,#0x3
|
|
LCALL ?DEALLOC_XSTACK8
|
|
CFI CFA_XSP16 add(XSP16, 15)
|
|
MOV R7,#0x7
|
|
LJMP ?BANKED_LEAVE_XDATA
|
|
// 247 }
|
|
CFI EndBlock cfiBlock12
|
|
// 248
|
|
// 249
|
|
// 250 /*********************************************************************
|
|
// 251 * @fn osal_memset
|
|
// 252 *
|
|
// 253 * @brief
|
|
// 254 *
|
|
// 255 * Set memory buffer to value.
|
|
// 256 *
|
|
// 257 * @param dest - pointer to buffer
|
|
// 258 * @param value - what to set each uint8 of the message
|
|
// 259 * @param size - how big
|
|
// 260 *
|
|
// 261 * @return pointer to destination buffer
|
|
// 262 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 263 void *osal_memset( void *dest, uint8 value, int len )
|
|
osal_memset:
|
|
CFI Block cfiBlock13 Using cfiCommon0
|
|
CFI Function osal_memset
|
|
CODE
|
|
// 264 {
|
|
FUNCALL osal_memset, memset
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 12, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
REQUIRE ?V0
|
|
REQUIRE ?V1
|
|
MOV A,#-0xa
|
|
LCALL ?BANKED_ENTER_XDATA
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 10)
|
|
; Saved register size: 10
|
|
; Auto size: 0
|
|
// 265 return memset( dest, value, len );
|
|
; Setup parameters for call to function memset
|
|
MOV ?V0,R4
|
|
MOV ?V1,R5
|
|
MOV R0,#?V0
|
|
LCALL ?PUSH_XSTACK_I_TWO
|
|
CFI CFA_XSP16 add(XSP16, 12)
|
|
MOV A,R1
|
|
MOV R4,A
|
|
MOV R5,#0x0
|
|
LCALL `??memset::?relay`; Banked call to: memset
|
|
MOV A,#0x2
|
|
LCALL ?DEALLOC_XSTACK8
|
|
CFI CFA_XSP16 add(XSP16, 10)
|
|
LJMP ?Subroutine3 & 0xFFFF
|
|
// 266 }
|
|
CFI EndBlock cfiBlock13
|
|
// 267
|
|
// 268 /*********************************************************************
|
|
// 269 * @fn osal_build_uint16
|
|
// 270 *
|
|
// 271 * @brief
|
|
// 272 *
|
|
// 273 * Build a uint16 out of 2 bytes (0 then 1).
|
|
// 274 *
|
|
// 275 * @param swapped - 0 then 1
|
|
// 276 *
|
|
// 277 * @return uint16
|
|
// 278 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 279 uint16 osal_build_uint16( uint8 *swapped )
|
|
osal_build_uint16:
|
|
CFI Block cfiBlock14 Using cfiCommon0
|
|
CFI Function osal_build_uint16
|
|
CODE
|
|
// 280 {
|
|
PUSH DPL
|
|
CFI DPL0 Frame(CFA_SP, 4)
|
|
CFI CFA_SP SP+-4
|
|
PUSH DPH
|
|
CFI DPH0 Frame(CFA_SP, 5)
|
|
CFI CFA_SP SP+-5
|
|
; Saved register size: 2
|
|
; Auto size: 0
|
|
// 281 return ( BUILD_UINT16( swapped[0], swapped[1] ) );
|
|
MOV DPL,R2
|
|
MOV DPH,R3
|
|
MOVX A,@DPTR
|
|
MOV R4,A
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
MOV R0,A
|
|
CLR A
|
|
XCH A,R0
|
|
MOV R1,A
|
|
MOV A,R4
|
|
ADD A,R0
|
|
MOV R2,A
|
|
CLR A
|
|
ADDC A,R1
|
|
MOV R3,A
|
|
LJMP ?Subroutine0 & 0xFFFF
|
|
// 282 }
|
|
CFI EndBlock cfiBlock14
|
|
// 283
|
|
// 284 /*********************************************************************
|
|
// 285 * @fn osal_build_uint32
|
|
// 286 *
|
|
// 287 * @brief
|
|
// 288 *
|
|
// 289 * Build a uint32 out of sequential bytes.
|
|
// 290 *
|
|
// 291 * @param swapped - sequential bytes
|
|
// 292 * @param len - number of bytes in the uint8 array
|
|
// 293 *
|
|
// 294 * @return uint32
|
|
// 295 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 296 uint32 osal_build_uint32( uint8 *swapped, uint8 len )
|
|
osal_build_uint32:
|
|
CFI Block cfiBlock15 Using cfiCommon0
|
|
CFI Function osal_build_uint32
|
|
CODE
|
|
// 297 {
|
|
REQUIRE ?V0
|
|
REQUIRE ?V1
|
|
REQUIRE ?V2
|
|
REQUIRE ?V3
|
|
REQUIRE ?V4
|
|
REQUIRE ?V5
|
|
REQUIRE ?V6
|
|
REQUIRE ?V7
|
|
MOV A,#-0x10
|
|
LCALL ?BANKED_ENTER_XDATA
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 16)
|
|
; Saved register size: 16
|
|
; Auto size: 0
|
|
MOV A,R1
|
|
MOV R6,A
|
|
// 298 if ( len == 2 )
|
|
MOV A,#0x2
|
|
XRL A,R6
|
|
JNZ ??osal_build_uint32_0
|
|
// 299 return ( BUILD_UINT32( swapped[0], swapped[1], 0L, 0L ) );
|
|
MOV DPL,R2
|
|
MOV DPH,R3
|
|
LCALL ?Subroutine7 & 0xFFFF
|
|
??CrossCallReturnLabel_3:
|
|
LJMP ??osal_build_uint32_1 & 0xFFFF
|
|
// 300 else if ( len == 3 )
|
|
??osal_build_uint32_0:
|
|
MOV A,#0x3
|
|
XRL A,R6
|
|
JNZ ??osal_build_uint32_2
|
|
// 301 return ( BUILD_UINT32( swapped[0], swapped[1], swapped[2], 0L ) );
|
|
MOV DPL,R2
|
|
MOV DPH,R3
|
|
LCALL ?Subroutine25 & 0xFFFF
|
|
??CrossCallReturnLabel_36:
|
|
INC DPTR
|
|
LCALL ?Subroutine26 & 0xFFFF
|
|
??CrossCallReturnLabel_38:
|
|
MOV A,#0x8
|
|
MOV R0,#?V0
|
|
LCALL ?L_SHL
|
|
MOV R0,#?V4
|
|
MOV R1,#?V0
|
|
LCALL ?L_ADD
|
|
MOV DPL,R2
|
|
MOV DPH,R3
|
|
INC DPTR
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
MOV ?V0,A
|
|
CLR A
|
|
MOV ?V1,A
|
|
MOV A,#0x10
|
|
MOV R0,#?V0
|
|
LCALL ?L_SHL
|
|
MOV R0,#?V4
|
|
MOV R1,#?V0
|
|
LCALL ?L_ADD
|
|
MOV R2,?V4
|
|
MOV R3,?V5
|
|
MOV R4,?V6
|
|
MOV R5,?V7
|
|
SJMP ??osal_build_uint32_3
|
|
// 302 else if ( len == 4 )
|
|
??osal_build_uint32_2:
|
|
MOV A,#0x4
|
|
XRL A,R6
|
|
MOV DPL,R2
|
|
MOV DPH,R3
|
|
JNZ ??osal_build_uint32_4
|
|
// 303 return ( BUILD_UINT32( swapped[0], swapped[1], swapped[2], swapped[3] ) );
|
|
LCALL ?Subroutine7 & 0xFFFF
|
|
??CrossCallReturnLabel_4:
|
|
MOV R0,#?V4
|
|
LCALL ?L_SHL
|
|
MOV R0,#?V0
|
|
MOV R1,#?V4
|
|
LCALL ?L_ADD
|
|
MOV DPL,R2
|
|
MOV DPH,R3
|
|
INC DPTR
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
MOV ?V4,A
|
|
CLR A
|
|
MOV ?V5,A
|
|
MOV A,#0x10
|
|
MOV R0,#?V4
|
|
LCALL ?L_SHL
|
|
MOV R0,#?V0
|
|
MOV R1,#?V4
|
|
LCALL ?L_ADD
|
|
MOV DPL,R2
|
|
MOV DPH,R3
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
MOV ?V4,A
|
|
CLR A
|
|
MOV ?V6,A
|
|
MOV A,#0x18
|
|
??osal_build_uint32_1:
|
|
MOV R0,#?V4
|
|
LCALL ?L_SHL
|
|
MOV R0,#?V0
|
|
MOV R1,#?V4
|
|
LCALL ?L_ADD
|
|
MOV R2,?V0
|
|
MOV R3,?V1
|
|
MOV R4,?V2
|
|
MOV R5,?V3
|
|
SJMP ??osal_build_uint32_3
|
|
// 304 else
|
|
// 305 return ( (uint32)swapped[0] );
|
|
??osal_build_uint32_4:
|
|
MOVX A,@DPTR
|
|
MOV R2,A
|
|
CLR A
|
|
MOV R3,A
|
|
MOV R4,A
|
|
MOV R5,A
|
|
??osal_build_uint32_3:
|
|
LJMP ?Subroutine2 & 0xFFFF
|
|
// 306 }
|
|
CFI EndBlock cfiBlock15
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine7:
|
|
CFI Block cfiCond16 Using cfiCommon0
|
|
CFI Function osal_build_uint32
|
|
CFI Conditional ??CrossCallReturnLabel_3
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI CFA_SP SP+-2
|
|
CFI CFA_XSP16 add(XSP16, 16)
|
|
CFI Block cfiCond17 Using cfiCommon0
|
|
CFI (cfiCond17) Function osal_build_uint32
|
|
CFI (cfiCond17) Conditional ??CrossCallReturnLabel_4
|
|
CFI (cfiCond17) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
|
|
CFI (cfiCond17) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
|
|
CFI (cfiCond17) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI (cfiCond17) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI (cfiCond17) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond17) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond17) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond17) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond17) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond17) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond17) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond17) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond17) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond17) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond17) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond17) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond17) CFA_SP SP+-2
|
|
CFI (cfiCond17) CFA_XSP16 add(XSP16, 16)
|
|
CFI Block cfiPicker18 Using cfiCommon1
|
|
CFI (cfiPicker18) NoFunction
|
|
CFI (cfiPicker18) Picker
|
|
LCALL ?Subroutine26 & 0xFFFF
|
|
??CrossCallReturnLabel_39:
|
|
INC DPTR
|
|
LCALL ?Subroutine25 & 0xFFFF
|
|
??CrossCallReturnLabel_37:
|
|
MOV A,#0x8
|
|
RET
|
|
CFI EndBlock cfiCond16
|
|
CFI EndBlock cfiCond17
|
|
CFI EndBlock cfiPicker18
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine26:
|
|
CFI Block cfiCond19 Using cfiCommon0
|
|
CFI Function osal_build_uint32
|
|
CFI Conditional ??CrossCallReturnLabel_38
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI CFA_SP SP+-2
|
|
CFI CFA_XSP16 add(XSP16, 16)
|
|
CFI Block cfiCond20 Using cfiCommon0
|
|
CFI (cfiCond20) Function osal_build_uint32
|
|
CFI (cfiCond20) Conditional ??CrossCallReturnLabel_39, ??CrossCallReturnLabel_3
|
|
CFI (cfiCond20) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
|
|
CFI (cfiCond20) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
|
|
CFI (cfiCond20) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI (cfiCond20) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI (cfiCond20) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond20) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond20) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond20) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond20) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond20) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond20) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond20) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond20) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond20) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond20) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond20) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond20) CFA_SP SP+-4
|
|
CFI (cfiCond20) CFA_XSP16 add(XSP16, 16)
|
|
CFI Block cfiCond21 Using cfiCommon0
|
|
CFI (cfiCond21) Function osal_build_uint32
|
|
CFI (cfiCond21) Conditional ??CrossCallReturnLabel_39, ??CrossCallReturnLabel_4
|
|
CFI (cfiCond21) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
|
|
CFI (cfiCond21) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
|
|
CFI (cfiCond21) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI (cfiCond21) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI (cfiCond21) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond21) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond21) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond21) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond21) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond21) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond21) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond21) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond21) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond21) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond21) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond21) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond21) CFA_SP SP+-4
|
|
CFI (cfiCond21) CFA_XSP16 add(XSP16, 16)
|
|
CFI Block cfiPicker22 Using cfiCommon1
|
|
CFI (cfiPicker22) NoFunction
|
|
CFI (cfiPicker22) Picker
|
|
MOVX A,@DPTR
|
|
MOV ?V0,A
|
|
CLR A
|
|
MOV ?V1,A
|
|
MOV ?V2,A
|
|
MOV ?V3,A
|
|
RET
|
|
CFI EndBlock cfiCond19
|
|
CFI EndBlock cfiCond20
|
|
CFI EndBlock cfiCond21
|
|
CFI EndBlock cfiPicker22
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine25:
|
|
CFI Block cfiCond23 Using cfiCommon0
|
|
CFI Function osal_build_uint32
|
|
CFI Conditional ??CrossCallReturnLabel_36
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI CFA_SP SP+-2
|
|
CFI CFA_XSP16 add(XSP16, 16)
|
|
CFI Block cfiCond24 Using cfiCommon0
|
|
CFI (cfiCond24) Function osal_build_uint32
|
|
CFI (cfiCond24) Conditional ??CrossCallReturnLabel_37, ??CrossCallReturnLabel_3
|
|
CFI (cfiCond24) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
|
|
CFI (cfiCond24) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
|
|
CFI (cfiCond24) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI (cfiCond24) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI (cfiCond24) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond24) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond24) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond24) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond24) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond24) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond24) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond24) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond24) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond24) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond24) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond24) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond24) CFA_SP SP+-4
|
|
CFI (cfiCond24) CFA_XSP16 add(XSP16, 16)
|
|
CFI Block cfiCond25 Using cfiCommon0
|
|
CFI (cfiCond25) Function osal_build_uint32
|
|
CFI (cfiCond25) Conditional ??CrossCallReturnLabel_37, ??CrossCallReturnLabel_4
|
|
CFI (cfiCond25) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
|
|
CFI (cfiCond25) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
|
|
CFI (cfiCond25) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI (cfiCond25) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI (cfiCond25) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond25) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond25) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond25) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond25) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond25) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond25) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond25) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond25) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond25) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond25) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond25) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond25) CFA_SP SP+-4
|
|
CFI (cfiCond25) CFA_XSP16 add(XSP16, 16)
|
|
CFI Block cfiPicker26 Using cfiCommon1
|
|
CFI (cfiPicker26) NoFunction
|
|
CFI (cfiPicker26) Picker
|
|
MOVX A,@DPTR
|
|
MOV ?V4,A
|
|
CLR A
|
|
MOV ?V5,A
|
|
MOV ?V6,A
|
|
MOV ?V7,A
|
|
RET
|
|
CFI EndBlock cfiCond23
|
|
CFI EndBlock cfiCond24
|
|
CFI EndBlock cfiCond25
|
|
CFI EndBlock cfiPicker26
|
|
// 307
|
|
// 308 #if !defined ( ZBIT ) && !defined ( ZBIT2 ) && !defined (UBIT)
|
|
// 309 /*********************************************************************
|
|
// 310 * @fn _ltoa
|
|
// 311 *
|
|
// 312 * @brief
|
|
// 313 *
|
|
// 314 * convert a long unsigned int to a string.
|
|
// 315 *
|
|
// 316 * @param l - long to convert
|
|
// 317 * @param buf - buffer to convert to
|
|
// 318 * @param radix - 10 dec, 16 hex
|
|
// 319 *
|
|
// 320 * @return pointer to buffer
|
|
// 321 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 322 unsigned char * _ltoa(unsigned long l, unsigned char *buf, unsigned char radix)
|
|
_ltoa:
|
|
CFI Block cfiBlock27 Using cfiCommon0
|
|
CFI Function _ltoa
|
|
CODE
|
|
// 323 {
|
|
FUNCALL _ltoa, _itoa
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 53, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 53, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL _ltoa, _itoa
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 53, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 53, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL _ltoa, _itoa
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 53, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 53, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL _ltoa, strcpy
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 53, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 53, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL _ltoa, strcat
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 53, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 53, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL _ltoa, strlen
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 53, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 53, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL _ltoa, strcat
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 53, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 53, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL _ltoa, strcat
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 53, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 53, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL _ltoa, strlen
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 53, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 53, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL _ltoa, strcat
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 53, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 53, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL _ltoa, _itoa
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 53, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 53, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL _ltoa, _itoa
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 53, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 53, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL _ltoa, strcpy
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 53, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 53, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL _ltoa, strcat
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 53, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 53, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL _ltoa, strlen
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 53, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 53, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL _ltoa, strcat
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 53, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 53, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL _ltoa, strcpy
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 53, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 53, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
REQUIRE ?V0
|
|
REQUIRE ?V1
|
|
REQUIRE ?V2
|
|
REQUIRE ?V3
|
|
REQUIRE ?V4
|
|
REQUIRE ?V5
|
|
REQUIRE ?V6
|
|
REQUIRE ?V7
|
|
MOV A,#-0x10
|
|
LCALL ?BANKED_ENTER_XDATA
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 16)
|
|
; Saved register size: 16
|
|
; Auto size: 37
|
|
MOV A,#-0x25
|
|
LCALL ?ALLOC_XSTACK8
|
|
CFI CFA_XSP16 add(XSP16, 53)
|
|
MOV A,#0x3
|
|
LCALL ?XSTACK_DISP0_8
|
|
MOV A,R2
|
|
MOVX @DPTR,A
|
|
INC DPTR
|
|
MOV A,R3
|
|
MOVX @DPTR,A
|
|
INC DPTR
|
|
MOV A,R4
|
|
MOVX @DPTR,A
|
|
INC DPTR
|
|
MOV A,R5
|
|
MOVX @DPTR,A
|
|
MOV A,#0x2
|
|
LCALL ?XSTACK_DISP0_8
|
|
MOV A,R1
|
|
MOVX @DPTR,A
|
|
// 324 #if defined( __GNUC__ )
|
|
// 325 return ( (char*)ltoa( l, buf, radix ) );
|
|
// 326 #else
|
|
// 327 unsigned char tmp1[10] = "", tmp2[10] = "", tmp3[10] = "";
|
|
MOV DPTR,#`?<Constant "">`
|
|
MOV A,#0x7
|
|
LCALL ?XSTACK_DISP102_8
|
|
MOV A,#0xa
|
|
LCALL ?MOVE_LONG8_XDATA_XDATA
|
|
MOV DPTR,#`?<Constant "">_1`
|
|
MOV A,#0xa
|
|
LCALL ?MOVE_LONG8_XDATA_XDATA
|
|
MOV DPTR,#`?<Constant "">_2`
|
|
MOV A,#0xa
|
|
LCALL ?MOVE_LONG8_XDATA_XDATA
|
|
// 328 unsigned short num1, num2, num3;
|
|
// 329 unsigned char i;
|
|
// 330
|
|
// 331 buf[0] = '\0';
|
|
MOV A,#0x35
|
|
LCALL ?XSTACK_DISP0_8
|
|
LCALL ?Subroutine16 & 0xFFFF
|
|
??CrossCallReturnLabel_19:
|
|
CLR A
|
|
MOVX @DPTR,A
|
|
// 332
|
|
// 333 if ( radix == 10 )
|
|
MOV A,#0x2
|
|
LCALL ?XSTACK_DISP0_8
|
|
MOVX A,@DPTR
|
|
XRL A,#0xa
|
|
JZ $+5
|
|
LJMP ??_ltoa_0 & 0xFFFF
|
|
// 334 {
|
|
// 335 num1 = l % 10000;
|
|
MOV A,#0x3
|
|
LCALL ?XSTACK_DISP0_8
|
|
MOV R0,#?V4
|
|
LCALL ?L_MOV_X
|
|
MOV DPTR,#__Constant_2710
|
|
MOV R0,#?V0
|
|
LCALL ?L_MOV_X
|
|
MOV R0,#?V4
|
|
MOV R1,#?V0
|
|
LCALL ?UL_DIV_MOD
|
|
MOV DPL,?XSP + 0
|
|
MOV DPH,?XSP + 1
|
|
MOV A,?V0
|
|
MOVX @DPTR,A
|
|
INC DPTR
|
|
MOV A,?V1
|
|
MOVX @DPTR,A
|
|
// 336 num2 = (l / 10000) % 10000;
|
|
MOV A,#0x3
|
|
LCALL ?XSTACK_DISP0_8
|
|
MOV R0,#?V4
|
|
LCALL ?L_MOV_X
|
|
MOV DPTR,#__Constant_2710
|
|
MOV R0,#?V0
|
|
LCALL ?L_MOV_X
|
|
MOV R0,#?V4
|
|
MOV R1,#?V0
|
|
LCALL ?UL_DIV_MOD
|
|
MOV DPTR,#__Constant_2710
|
|
MOV R0,#?V0
|
|
LCALL ?L_MOV_X
|
|
MOV R0,#?V4
|
|
MOV R1,#?V0
|
|
LCALL ?UL_DIV_MOD
|
|
MOV R6,?V0
|
|
MOV R7,?V1
|
|
// 337 num3 = (unsigned short)(l / 100000000);
|
|
MOV A,#0x3
|
|
LCALL ?XSTACK_DISP0_8
|
|
MOV R0,#?V4
|
|
LCALL ?L_MOV_X
|
|
MOV DPTR,#__Constant_5f5e100
|
|
MOV R0,#?V0
|
|
LCALL ?L_MOV_X
|
|
MOV R0,#?V4
|
|
MOV R1,#?V0
|
|
LCALL ?UL_DIV_MOD
|
|
MOV ?V6,?V4
|
|
MOV ?V7,?V5
|
|
// 338
|
|
// 339 if (num3) _itoa(num3, tmp3, 10);
|
|
MOV A,?V6
|
|
ORL A,?V7
|
|
JZ ??_ltoa_1
|
|
; Setup parameters for call to function _itoa
|
|
MOV R1,#0xa
|
|
MOV A,#0x1b
|
|
LCALL ?XSTACK_DISP102_8
|
|
MOV R2,?V6
|
|
MOV R3,?V7
|
|
LCALL `??_itoa::?relay`; Banked call to: _itoa
|
|
// 340 if (num2) _itoa(num2, tmp2, 10);
|
|
??_ltoa_1:
|
|
MOV A,R6
|
|
ORL A,R7
|
|
JZ ??_ltoa_2
|
|
; Setup parameters for call to function _itoa
|
|
MOV R1,#0xa
|
|
MOV A,#0x11
|
|
LCALL ?XSTACK_DISP102_8
|
|
MOV A,R6
|
|
MOV R2,A
|
|
MOV A,R7
|
|
MOV R3,A
|
|
LCALL `??_itoa::?relay`; Banked call to: _itoa
|
|
// 341 if (num1) _itoa(num1, tmp1, 10);
|
|
??_ltoa_2:
|
|
LCALL ?Subroutine6 & 0xFFFF
|
|
??CrossCallReturnLabel_85:
|
|
JZ ??CrossCallReturnLabel_17
|
|
; Setup parameters for call to function _itoa
|
|
MOV R1,#0xa
|
|
MOV A,#0x7
|
|
LCALL ?XSTACK_DISP102_8
|
|
LCALL ?Subroutine14 & 0xFFFF
|
|
// 342
|
|
// 343 if (num3)
|
|
??CrossCallReturnLabel_17:
|
|
MOV A,?V6
|
|
ORL A,?V7
|
|
JZ ??_ltoa_3
|
|
// 344 {
|
|
// 345 strcpy((char*)buf, (char const*)tmp3);
|
|
; Setup parameters for call to function strcpy
|
|
MOV A,#0x1b
|
|
LCALL ?XSTACK_DISP102_8
|
|
MOV A,#0x35
|
|
LCALL ?XSTACK_DISP0_8
|
|
LCALL ?Subroutine12 & 0xFFFF
|
|
// 346 for (i = 0; i < 4 - strlen((char const*)tmp2); i++)
|
|
??CrossCallReturnLabel_13:
|
|
SJMP ??CrossCallReturnLabel_5
|
|
// 347 strcat((char*)buf, "0");
|
|
??_ltoa_4:
|
|
; Setup parameters for call to function strcat
|
|
MOV R4,#`?<Constant "0">` & 0xff
|
|
MOV R5,#(`?<Constant "0">` >> 8) & 0xff
|
|
MOV A,#0x35
|
|
LCALL ?XSTACK_DISP0_8
|
|
LCALL ?Subroutine8 & 0xFFFF
|
|
??CrossCallReturnLabel_5:
|
|
MOV A,?V2
|
|
MOV ?V0,A
|
|
; Setup parameters for call to function strlen
|
|
MOV A,#0x11
|
|
LCALL ?XSTACK_DISP101_8
|
|
LCALL ?Subroutine5 & 0xFFFF
|
|
// 348 }
|
|
??CrossCallReturnLabel_0:
|
|
JC ??_ltoa_4
|
|
// 349 strcat((char*)buf, (char const*)tmp2);
|
|
??_ltoa_3:
|
|
; Setup parameters for call to function strcat
|
|
MOV A,#0x11
|
|
LCALL ?XSTACK_DISP102_8
|
|
MOV A,#0x35
|
|
LCALL ?XSTACK_DISP0_8
|
|
LCALL ?Subroutine10 & 0xFFFF
|
|
// 350 if (num3 || num2)
|
|
??CrossCallReturnLabel_11:
|
|
JNZ ??_ltoa_5
|
|
MOV A,R6
|
|
ORL A,R7
|
|
JZ ??_ltoa_6
|
|
// 351 {
|
|
// 352 for (i = 0; i < 4 - strlen((char const*)tmp1); i++)
|
|
??_ltoa_5:
|
|
MOV ?V2,#0x0
|
|
SJMP ??CrossCallReturnLabel_6
|
|
// 353 strcat((char*)buf, "0");
|
|
??_ltoa_7:
|
|
; Setup parameters for call to function strcat
|
|
MOV R4,#`?<Constant "0">` & 0xff
|
|
MOV R5,#(`?<Constant "0">` >> 8) & 0xff
|
|
MOV A,#0x35
|
|
LCALL ?XSTACK_DISP0_8
|
|
LCALL ?Subroutine8 & 0xFFFF
|
|
??CrossCallReturnLabel_6:
|
|
MOV A,?V2
|
|
MOV ?V0,A
|
|
; Setup parameters for call to function strlen
|
|
MOV A,#0x7
|
|
LCALL ?XSTACK_DISP101_8
|
|
LCALL ?Subroutine5 & 0xFFFF
|
|
// 354 }
|
|
??CrossCallReturnLabel_1:
|
|
JC ??_ltoa_7
|
|
// 355 strcat((char*)buf, (char const*)tmp1);
|
|
??_ltoa_6:
|
|
; Setup parameters for call to function strcat
|
|
MOV A,#0x7
|
|
LCALL ?XSTACK_DISP102_8
|
|
MOV A,#0x35
|
|
LCALL ?XSTACK_DISP0_8
|
|
LCALL ?Subroutine10 & 0xFFFF
|
|
// 356 if (!num3 && !num2 && !num1)
|
|
// 357 strcpy((char*)buf, "0");
|
|
// 358 }
|
|
??CrossCallReturnLabel_12:
|
|
JNZ ??_ltoa_8
|
|
MOV A,R6
|
|
ORL A,R7
|
|
JNZ $+5
|
|
LJMP ??_ltoa_9 & 0xFFFF
|
|
// 359 else if ( radix == 16 )
|
|
// 360 {
|
|
// 361 num1 = l & 0x0000FFFF;
|
|
// 362 num2 = l >> 16;
|
|
// 363
|
|
// 364 if (num2) _itoa(num2, tmp2, 16);
|
|
// 365 if (num1) _itoa(num1, tmp1, 16);
|
|
// 366
|
|
// 367 if (num2)
|
|
// 368 {
|
|
// 369 strcpy((char*)buf,(char const*)tmp2);
|
|
// 370 for (i = 0; i < 4 - strlen((char const*)tmp1); i++)
|
|
// 371 strcat((char*)buf, "0");
|
|
// 372 }
|
|
// 373 strcat((char*)buf, (char const*)tmp1);
|
|
// 374 if (!num2 && !num1)
|
|
// 375 strcpy((char*)buf, "0");
|
|
// 376 }
|
|
// 377 else
|
|
// 378 return NULL;
|
|
// 379
|
|
// 380 return buf;
|
|
??_ltoa_8:
|
|
MOV A,#0x35
|
|
LCALL ?XSTACK_DISP0_8
|
|
LCALL ??Subroutine35_0 & 0xFFFF
|
|
??CrossCallReturnLabel_51:
|
|
MOV A,#0x25
|
|
LCALL ?DEALLOC_XSTACK8
|
|
CFI CFA_XSP16 add(XSP16, 16)
|
|
LJMP ?Subroutine2 & 0xFFFF
|
|
CFI CFA_XSP16 add(XSP16, 53)
|
|
??_ltoa_0:
|
|
MOVX A,@DPTR
|
|
XRL A,#0x10
|
|
JZ $+5
|
|
LJMP ??_ltoa_10 & 0xFFFF
|
|
MOV A,#0x3
|
|
LCALL ?XSTACK_DISP0_8
|
|
MOV R0,#?V0
|
|
LCALL ?L_MOV_X
|
|
MOV DPL,?XSP + 0
|
|
MOV DPH,?XSP + 1
|
|
MOV A,?V0
|
|
MOVX @DPTR,A
|
|
INC DPTR
|
|
MOV A,?V1
|
|
MOVX @DPTR,A
|
|
MOV A,#0x3
|
|
LCALL ?XSTACK_DISP0_8
|
|
MOV R0,#?V0
|
|
LCALL ?L_MOV_X
|
|
MOV A,#0x10
|
|
MOV R0,#?V0
|
|
LCALL ?UL_SHR
|
|
MOV R6,?V0
|
|
MOV R7,?V1
|
|
MOV A,R6
|
|
ORL A,R7
|
|
JZ ??_ltoa_11
|
|
; Setup parameters for call to function _itoa
|
|
MOV R1,#0x10
|
|
MOV A,#0x11
|
|
LCALL ?XSTACK_DISP102_8
|
|
MOV A,R6
|
|
MOV R2,A
|
|
MOV A,R7
|
|
MOV R3,A
|
|
LCALL `??_itoa::?relay`; Banked call to: _itoa
|
|
??_ltoa_11:
|
|
LCALL ?Subroutine6 & 0xFFFF
|
|
??CrossCallReturnLabel_86:
|
|
JZ ??CrossCallReturnLabel_18
|
|
; Setup parameters for call to function _itoa
|
|
MOV R1,#0x10
|
|
MOV A,#0x7
|
|
LCALL ?XSTACK_DISP102_8
|
|
LCALL ?Subroutine14 & 0xFFFF
|
|
??CrossCallReturnLabel_18:
|
|
MOV A,R6
|
|
ORL A,R7
|
|
JZ ??_ltoa_12
|
|
; Setup parameters for call to function strcpy
|
|
MOV A,#0x11
|
|
LCALL ?XSTACK_DISP102_8
|
|
MOV A,#0x35
|
|
LCALL ?XSTACK_DISP0_8
|
|
LCALL ?Subroutine12 & 0xFFFF
|
|
??CrossCallReturnLabel_14:
|
|
SJMP ??CrossCallReturnLabel_7
|
|
??_ltoa_13:
|
|
; Setup parameters for call to function strcat
|
|
MOV R4,#`?<Constant "0">` & 0xff
|
|
MOV R5,#(`?<Constant "0">` >> 8) & 0xff
|
|
MOV A,#0x35
|
|
LCALL ?XSTACK_DISP0_8
|
|
LCALL ?Subroutine8 & 0xFFFF
|
|
??CrossCallReturnLabel_7:
|
|
MOV A,?V2
|
|
MOV ?V0,A
|
|
; Setup parameters for call to function strlen
|
|
MOV A,#0x7
|
|
LCALL ?XSTACK_DISP101_8
|
|
LCALL ?Subroutine5 & 0xFFFF
|
|
??CrossCallReturnLabel_2:
|
|
JC ??_ltoa_13
|
|
??_ltoa_12:
|
|
; Setup parameters for call to function strcat
|
|
MOV A,#0x7
|
|
LCALL ?XSTACK_DISP102_8
|
|
MOV A,#0x35
|
|
LCALL ?XSTACK_DISP0_8
|
|
LCALL ??Subroutine35_0 & 0xFFFF
|
|
??CrossCallReturnLabel_52:
|
|
LCALL `??strcat::?relay`; Banked call to: strcat
|
|
MOV A,R6
|
|
ORL A,R7
|
|
JZ $+5
|
|
LJMP ??_ltoa_8 & 0xFFFF
|
|
??_ltoa_9:
|
|
LCALL ?Subroutine6 & 0xFFFF
|
|
??CrossCallReturnLabel_87:
|
|
JZ $+5
|
|
LJMP ??_ltoa_8 & 0xFFFF
|
|
; Setup parameters for call to function strcpy
|
|
MOV R4,#`?<Constant "0">` & 0xff
|
|
MOV R5,#(`?<Constant "0">` >> 8) & 0xff
|
|
MOV A,#0x35
|
|
LCALL ?XSTACK_DISP0_8
|
|
LCALL ??Subroutine35_0 & 0xFFFF
|
|
??CrossCallReturnLabel_53:
|
|
LCALL `??strcpy::?relay`; Banked call to: strcpy
|
|
LJMP ??_ltoa_8 & 0xFFFF
|
|
??_ltoa_10:
|
|
MOV R2,#0x0
|
|
MOV R3,#0x0
|
|
LJMP ??CrossCallReturnLabel_51 & 0xFFFF
|
|
// 381 #endif
|
|
// 382 }
|
|
CFI EndBlock cfiBlock27
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine14:
|
|
CFI Block cfiCond28 Using cfiCommon0
|
|
CFI Function _ltoa
|
|
CFI Conditional ??CrossCallReturnLabel_17
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI CFA_SP SP+-2
|
|
CFI CFA_XSP16 add(XSP16, 53)
|
|
CFI Block cfiCond29 Using cfiCommon0
|
|
CFI (cfiCond29) Function _ltoa
|
|
CFI (cfiCond29) Conditional ??CrossCallReturnLabel_18
|
|
CFI (cfiCond29) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
|
|
CFI (cfiCond29) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
|
|
CFI (cfiCond29) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI (cfiCond29) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI (cfiCond29) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond29) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond29) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond29) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond29) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond29) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond29) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond29) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond29) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond29) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond29) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond29) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond29) CFA_SP SP+-2
|
|
CFI (cfiCond29) CFA_XSP16 add(XSP16, 53)
|
|
CFI Block cfiPicker30 Using cfiCommon1
|
|
CFI (cfiPicker30) NoFunction
|
|
CFI (cfiPicker30) Picker
|
|
MOV DPL,?XSP + 0
|
|
MOV DPH,?XSP + 1
|
|
LCALL ?Subroutine28 & 0xFFFF
|
|
??CrossCallReturnLabel_60:
|
|
LCALL `??_itoa::?relay`; Banked call to: _itoa
|
|
RET
|
|
CFI EndBlock cfiCond28
|
|
CFI EndBlock cfiCond29
|
|
CFI EndBlock cfiPicker30
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine12:
|
|
CFI Block cfiCond31 Using cfiCommon0
|
|
CFI Function _ltoa
|
|
CFI Conditional ??CrossCallReturnLabel_13
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI CFA_SP SP+-2
|
|
CFI CFA_XSP16 add(XSP16, 53)
|
|
CFI Block cfiCond32 Using cfiCommon0
|
|
CFI (cfiCond32) Function _ltoa
|
|
CFI (cfiCond32) Conditional ??CrossCallReturnLabel_14
|
|
CFI (cfiCond32) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
|
|
CFI (cfiCond32) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
|
|
CFI (cfiCond32) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI (cfiCond32) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI (cfiCond32) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond32) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond32) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond32) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond32) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond32) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond32) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond32) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond32) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond32) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond32) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond32) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond32) CFA_SP SP+-2
|
|
CFI (cfiCond32) CFA_XSP16 add(XSP16, 53)
|
|
CFI Block cfiPicker33 Using cfiCommon1
|
|
CFI (cfiPicker33) NoFunction
|
|
CFI (cfiPicker33) Picker
|
|
LCALL ?Subroutine28 & 0xFFFF
|
|
??CrossCallReturnLabel_59:
|
|
LCALL `??strcpy::?relay`; Banked call to: strcpy
|
|
MOV ?V2,#0x0
|
|
RET
|
|
CFI EndBlock cfiCond31
|
|
CFI EndBlock cfiCond32
|
|
CFI EndBlock cfiPicker33
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine10:
|
|
CFI Block cfiCond34 Using cfiCommon0
|
|
CFI Function _ltoa
|
|
CFI Conditional ??CrossCallReturnLabel_11
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI CFA_SP SP+-2
|
|
CFI CFA_XSP16 add(XSP16, 53)
|
|
CFI Block cfiCond35 Using cfiCommon0
|
|
CFI (cfiCond35) Function _ltoa
|
|
CFI (cfiCond35) Conditional ??CrossCallReturnLabel_12
|
|
CFI (cfiCond35) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
|
|
CFI (cfiCond35) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
|
|
CFI (cfiCond35) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI (cfiCond35) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI (cfiCond35) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond35) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond35) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond35) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond35) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond35) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond35) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond35) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond35) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond35) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond35) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond35) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond35) CFA_SP SP+-2
|
|
CFI (cfiCond35) CFA_XSP16 add(XSP16, 53)
|
|
CFI Block cfiPicker36 Using cfiCommon1
|
|
CFI (cfiPicker36) NoFunction
|
|
CFI (cfiPicker36) Picker
|
|
LCALL ?Subroutine27 & 0xFFFF
|
|
??CrossCallReturnLabel_40:
|
|
MOV A,?V6
|
|
ORL A,?V7
|
|
RET
|
|
CFI EndBlock cfiCond34
|
|
CFI EndBlock cfiCond35
|
|
CFI EndBlock cfiPicker36
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine8:
|
|
CFI Block cfiCond37 Using cfiCommon0
|
|
CFI Function _ltoa
|
|
CFI Conditional ??CrossCallReturnLabel_5
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI CFA_SP SP+-2
|
|
CFI CFA_XSP16 add(XSP16, 53)
|
|
CFI Block cfiCond38 Using cfiCommon0
|
|
CFI (cfiCond38) Function _ltoa
|
|
CFI (cfiCond38) Conditional ??CrossCallReturnLabel_6
|
|
CFI (cfiCond38) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
|
|
CFI (cfiCond38) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
|
|
CFI (cfiCond38) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI (cfiCond38) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI (cfiCond38) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond38) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond38) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond38) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond38) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond38) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond38) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond38) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond38) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond38) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond38) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond38) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond38) CFA_SP SP+-2
|
|
CFI (cfiCond38) CFA_XSP16 add(XSP16, 53)
|
|
CFI Block cfiCond39 Using cfiCommon0
|
|
CFI (cfiCond39) Function _ltoa
|
|
CFI (cfiCond39) Conditional ??CrossCallReturnLabel_7
|
|
CFI (cfiCond39) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
|
|
CFI (cfiCond39) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
|
|
CFI (cfiCond39) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI (cfiCond39) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI (cfiCond39) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond39) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond39) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond39) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond39) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond39) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond39) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond39) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond39) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond39) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond39) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond39) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond39) CFA_SP SP+-2
|
|
CFI (cfiCond39) CFA_XSP16 add(XSP16, 53)
|
|
CFI Block cfiPicker40 Using cfiCommon1
|
|
CFI (cfiPicker40) NoFunction
|
|
CFI (cfiPicker40) Picker
|
|
LCALL ?Subroutine27 & 0xFFFF
|
|
??CrossCallReturnLabel_41:
|
|
INC ?V2
|
|
RET
|
|
CFI EndBlock cfiCond37
|
|
CFI EndBlock cfiCond38
|
|
CFI EndBlock cfiCond39
|
|
CFI EndBlock cfiPicker40
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine27:
|
|
CFI Block cfiCond41 Using cfiCommon0
|
|
CFI Function _ltoa
|
|
CFI Conditional ??CrossCallReturnLabel_40, ??CrossCallReturnLabel_11
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI CFA_SP SP+-4
|
|
CFI CFA_XSP16 add(XSP16, 53)
|
|
CFI Block cfiCond42 Using cfiCommon0
|
|
CFI (cfiCond42) Function _ltoa
|
|
CFI (cfiCond42) Conditional ??CrossCallReturnLabel_40, ??CrossCallReturnLabel_12
|
|
CFI (cfiCond42) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
|
|
CFI (cfiCond42) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
|
|
CFI (cfiCond42) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI (cfiCond42) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI (cfiCond42) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond42) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond42) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond42) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond42) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond42) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond42) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond42) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond42) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond42) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond42) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond42) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond42) CFA_SP SP+-4
|
|
CFI (cfiCond42) CFA_XSP16 add(XSP16, 53)
|
|
CFI Block cfiCond43 Using cfiCommon0
|
|
CFI (cfiCond43) Function _ltoa
|
|
CFI (cfiCond43) Conditional ??CrossCallReturnLabel_41, ??CrossCallReturnLabel_5
|
|
CFI (cfiCond43) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
|
|
CFI (cfiCond43) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
|
|
CFI (cfiCond43) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI (cfiCond43) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI (cfiCond43) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond43) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond43) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond43) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond43) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond43) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond43) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond43) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond43) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond43) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond43) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond43) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond43) CFA_SP SP+-4
|
|
CFI (cfiCond43) CFA_XSP16 add(XSP16, 53)
|
|
CFI Block cfiCond44 Using cfiCommon0
|
|
CFI (cfiCond44) Function _ltoa
|
|
CFI (cfiCond44) Conditional ??CrossCallReturnLabel_41, ??CrossCallReturnLabel_6
|
|
CFI (cfiCond44) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
|
|
CFI (cfiCond44) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
|
|
CFI (cfiCond44) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI (cfiCond44) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI (cfiCond44) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond44) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond44) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond44) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond44) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond44) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond44) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond44) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond44) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond44) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond44) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond44) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond44) CFA_SP SP+-4
|
|
CFI (cfiCond44) CFA_XSP16 add(XSP16, 53)
|
|
CFI Block cfiCond45 Using cfiCommon0
|
|
CFI (cfiCond45) Function _ltoa
|
|
CFI (cfiCond45) Conditional ??CrossCallReturnLabel_41, ??CrossCallReturnLabel_7
|
|
CFI (cfiCond45) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
|
|
CFI (cfiCond45) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
|
|
CFI (cfiCond45) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI (cfiCond45) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI (cfiCond45) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond45) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond45) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond45) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond45) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond45) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond45) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond45) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond45) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond45) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond45) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond45) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond45) CFA_SP SP+-4
|
|
CFI (cfiCond45) CFA_XSP16 add(XSP16, 53)
|
|
CFI Block cfiPicker46 Using cfiCommon1
|
|
CFI (cfiPicker46) NoFunction
|
|
CFI (cfiPicker46) Picker
|
|
MOVX A,@DPTR
|
|
MOV R2,A
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
MOV R3,A
|
|
LCALL `??strcat::?relay`; Banked call to: strcat
|
|
RET
|
|
CFI EndBlock cfiCond41
|
|
CFI EndBlock cfiCond42
|
|
CFI EndBlock cfiCond43
|
|
CFI EndBlock cfiCond44
|
|
CFI EndBlock cfiCond45
|
|
CFI EndBlock cfiPicker46
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine5:
|
|
CFI Block cfiCond47 Using cfiCommon0
|
|
CFI Function _ltoa
|
|
CFI Conditional ??CrossCallReturnLabel_0
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI CFA_SP SP+-2
|
|
CFI CFA_XSP16 add(XSP16, 53)
|
|
CFI Block cfiCond48 Using cfiCommon0
|
|
CFI (cfiCond48) Function _ltoa
|
|
CFI (cfiCond48) Conditional ??CrossCallReturnLabel_1
|
|
CFI (cfiCond48) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
|
|
CFI (cfiCond48) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
|
|
CFI (cfiCond48) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI (cfiCond48) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI (cfiCond48) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond48) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond48) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond48) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond48) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond48) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond48) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond48) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond48) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond48) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond48) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond48) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond48) CFA_SP SP+-2
|
|
CFI (cfiCond48) CFA_XSP16 add(XSP16, 53)
|
|
CFI Block cfiCond49 Using cfiCommon0
|
|
CFI (cfiCond49) Function _ltoa
|
|
CFI (cfiCond49) Conditional ??CrossCallReturnLabel_2
|
|
CFI (cfiCond49) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
|
|
CFI (cfiCond49) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
|
|
CFI (cfiCond49) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI (cfiCond49) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI (cfiCond49) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond49) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond49) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond49) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond49) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond49) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond49) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond49) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond49) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond49) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond49) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond49) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond49) CFA_SP SP+-2
|
|
CFI (cfiCond49) CFA_XSP16 add(XSP16, 53)
|
|
CFI Block cfiPicker50 Using cfiCommon1
|
|
CFI (cfiPicker50) NoFunction
|
|
CFI (cfiPicker50) Picker
|
|
LCALL `??strlen::?relay`; Banked call to: strlen
|
|
MOV ?V4,R2
|
|
MOV ?V5,R3
|
|
MOV A,#0x4
|
|
CLR C
|
|
SUBB A,?V4
|
|
MOV R0,A
|
|
CLR A
|
|
SUBB A,?V5
|
|
MOV R1,A
|
|
CLR C
|
|
MOV A,?V0
|
|
SUBB A,R0
|
|
CLR A
|
|
SUBB A,R1
|
|
RET
|
|
CFI EndBlock cfiCond47
|
|
CFI EndBlock cfiCond48
|
|
CFI EndBlock cfiCond49
|
|
CFI EndBlock cfiPicker50
|
|
// 383 #endif // !defined(ZBIT) && !defined(ZBIT2)
|
|
// 384
|
|
// 385 /*********************************************************************
|
|
// 386 * @fn osal_rand
|
|
// 387 *
|
|
// 388 * @brief Random number generator
|
|
// 389 *
|
|
// 390 * @param none
|
|
// 391 *
|
|
// 392 * @return uint16 - new random number
|
|
// 393 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 394 uint16 osal_rand( void )
|
|
osal_rand:
|
|
CFI Block cfiBlock51 Using cfiCommon0
|
|
CFI Function osal_rand
|
|
CODE
|
|
// 395 {
|
|
FUNCALL osal_rand, Onboard_rand
|
|
LOCFRAME ISTACK, 2, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 0, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
PUSH DPL
|
|
CFI DPL0 Frame(CFA_SP, 4)
|
|
CFI CFA_SP SP+-4
|
|
PUSH DPH
|
|
CFI DPH0 Frame(CFA_SP, 5)
|
|
CFI CFA_SP SP+-5
|
|
; Saved register size: 2
|
|
; Auto size: 0
|
|
// 396 return ( Onboard_rand() );
|
|
; Setup parameters for call to function Onboard_rand
|
|
LCALL `??Onboard_rand::?relay`; Banked call to: Onboard_rand
|
|
SJMP ?Subroutine0
|
|
// 397 }
|
|
CFI EndBlock cfiBlock51
|
|
// 398
|
|
// 399 /*********************************************************************
|
|
// 400 * API FUNCTIONS
|
|
// 401 *********************************************************************/
|
|
// 402
|
|
// 403 /*********************************************************************
|
|
// 404 * @fn osal_msg_allocate
|
|
// 405 *
|
|
// 406 * @brief
|
|
// 407 *
|
|
// 408 * This function is called by a task to allocate a message buffer
|
|
// 409 * into which the task will encode the particular message it wishes
|
|
// 410 * to send. This common buffer scheme is used to strictly limit the
|
|
// 411 * creation of message buffers within the system due to RAM size
|
|
// 412 * limitations on the microprocessor. Note that all message buffers
|
|
// 413 * are a fixed size (at least initially). The parameter len is kept
|
|
// 414 * in case a message pool with varying fixed message sizes is later
|
|
// 415 * created (for example, a pool of message buffers of size LARGE,
|
|
// 416 * MEDIUM and SMALL could be maintained and allocated based on request
|
|
// 417 * from the tasks).
|
|
// 418 *
|
|
// 419 *
|
|
// 420 * @param uint8 len - wanted buffer length
|
|
// 421 *
|
|
// 422 *
|
|
// 423 * @return pointer to allocated buffer or NULL if allocation failed.
|
|
// 424 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 425 uint8 * osal_msg_allocate( uint16 len )
|
|
osal_msg_allocate:
|
|
CFI Block cfiBlock52 Using cfiCommon0
|
|
CFI Function osal_msg_allocate
|
|
CODE
|
|
// 426 {
|
|
FUNCALL osal_msg_allocate, osal_mem_alloc
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 10, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 10, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
REQUIRE ?V0
|
|
REQUIRE ?V1
|
|
MOV A,#-0xa
|
|
LCALL ?BANKED_ENTER_XDATA
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 10)
|
|
; Saved register size: 10
|
|
; Auto size: 0
|
|
MOV A,R2
|
|
MOV R6,A
|
|
MOV A,R3
|
|
MOV R7,A
|
|
// 427 osal_msg_hdr_t *hdr;
|
|
// 428
|
|
// 429 if ( len == 0 )
|
|
MOV A,R2
|
|
ORL A,R7
|
|
JZ ??osal_msg_allocate_0
|
|
// 430 return ( NULL );
|
|
// 431
|
|
// 432 hdr = (osal_msg_hdr_t *) osal_mem_alloc( (short)(len + sizeof( osal_msg_hdr_t )) );
|
|
; Setup parameters for call to function osal_mem_alloc
|
|
MOV A,R2
|
|
ADD A,#0x5
|
|
MOV R2,A
|
|
CLR A
|
|
ADDC A,R7
|
|
MOV R3,A
|
|
LCALL `??osal_mem_alloc::?relay`; Banked call to: osal_mem_alloc
|
|
MOV ?V1,R3
|
|
MOV R1,?V1
|
|
// 433 if ( hdr )
|
|
MOV A,R2
|
|
ORL A,R1
|
|
JZ ??osal_msg_allocate_0
|
|
// 434 {
|
|
// 435 hdr->next = NULL;
|
|
MOV DPL,R2
|
|
MOV DPH,R3
|
|
CLR A
|
|
MOVX @DPTR,A
|
|
INC DPTR
|
|
LCALL ??Subroutine32_0 & 0xFFFF
|
|
// 436 hdr->len = len;
|
|
??CrossCallReturnLabel_44:
|
|
INC DPTR
|
|
INC DPTR
|
|
LCALL ?Subroutine18 & 0xFFFF
|
|
// 437 hdr->dest_id = TASK_NO_TASK;
|
|
??CrossCallReturnLabel_42:
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
MOV A,#-0x1
|
|
MOVX @DPTR,A
|
|
// 438 return ( (uint8 *) (hdr + 1) );
|
|
MOV A,R2
|
|
ADD A,#0x5
|
|
MOV R2,A
|
|
CLR A
|
|
ADDC A,R1
|
|
MOV R3,A
|
|
SJMP ??osal_msg_allocate_1
|
|
// 439 }
|
|
// 440 else
|
|
// 441 return ( NULL );
|
|
??osal_msg_allocate_0:
|
|
MOV R2,#0x0
|
|
MOV R3,#0x0
|
|
??osal_msg_allocate_1:
|
|
LJMP ?Subroutine3 & 0xFFFF
|
|
// 442 }
|
|
CFI EndBlock cfiBlock52
|
|
// 443
|
|
// 444 /*********************************************************************
|
|
// 445 * @fn osal_msg_deallocate
|
|
// 446 *
|
|
// 447 * @brief
|
|
// 448 *
|
|
// 449 * This function is used to deallocate a message buffer. This function
|
|
// 450 * is called by a task (or processing element) after it has finished
|
|
// 451 * processing a received message.
|
|
// 452 *
|
|
// 453 *
|
|
// 454 * @param uint8 *msg_ptr - pointer to new message buffer
|
|
// 455 *
|
|
// 456 * @return SUCCESS, INVALID_MSG_POINTER
|
|
// 457 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 458 uint8 osal_msg_deallocate( uint8 *msg_ptr )
|
|
osal_msg_deallocate:
|
|
CFI Block cfiBlock53 Using cfiCommon0
|
|
CFI Function osal_msg_deallocate
|
|
CODE
|
|
// 459 {
|
|
FUNCALL osal_msg_deallocate, osal_mem_free
|
|
LOCFRAME ISTACK, 2, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 0, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
PUSH DPL
|
|
CFI DPL0 Frame(CFA_SP, 4)
|
|
CFI CFA_SP SP+-4
|
|
PUSH DPH
|
|
CFI DPH0 Frame(CFA_SP, 5)
|
|
CFI CFA_SP SP+-5
|
|
; Saved register size: 2
|
|
; Auto size: 0
|
|
// 460 uint8 *x;
|
|
// 461
|
|
// 462 if ( msg_ptr == NULL )
|
|
MOV A,R2
|
|
ORL A,R3
|
|
JNZ ??osal_msg_deallocate_0
|
|
// 463 return ( INVALID_MSG_POINTER );
|
|
MOV R1,#0x5
|
|
SJMP ??osal_msg_deallocate_1
|
|
// 464
|
|
// 465 // don't deallocate queued buffer
|
|
// 466 if ( OSAL_MSG_ID( msg_ptr ) != TASK_NO_TASK )
|
|
??osal_msg_deallocate_0:
|
|
LCALL ?Subroutine17 & 0xFFFF
|
|
??CrossCallReturnLabel_21:
|
|
JZ ??osal_msg_deallocate_2
|
|
// 467 return ( MSG_BUFFER_NOT_AVAIL );
|
|
MOV R1,#0x4
|
|
SJMP ??osal_msg_deallocate_1
|
|
// 468
|
|
// 469 x = (uint8 *)((uint8 *)msg_ptr - sizeof( osal_msg_hdr_t ));
|
|
// 470
|
|
// 471 osal_mem_free( (void *)x );
|
|
??osal_msg_deallocate_2:
|
|
; Setup parameters for call to function osal_mem_free
|
|
MOV A,R2
|
|
ADD A,#-0x5
|
|
MOV R2,A
|
|
MOV A,R3
|
|
ADDC A,#-0x1
|
|
MOV R3,A
|
|
LCALL `??osal_mem_free::?relay`; Banked call to: osal_mem_free
|
|
// 472
|
|
// 473 return ( SUCCESS );
|
|
MOV R1,#0x0
|
|
??osal_msg_deallocate_1:
|
|
CFI EndBlock cfiBlock53
|
|
REQUIRE ?Subroutine0
|
|
; // Fall through to label ?Subroutine0
|
|
// 474 }
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine0:
|
|
CFI Block cfiBlock54 Using cfiCommon0
|
|
CFI NoFunction
|
|
CFI CFA_SP SP+-5
|
|
CFI DPL0 Frame(CFA_SP, 4)
|
|
CFI DPH0 Frame(CFA_SP, 5)
|
|
POP DPH
|
|
CFI CFA_SP SP+-4
|
|
CFI DPH0 SameValue
|
|
POP DPL
|
|
CFI CFA_SP SP+-3
|
|
CFI DPL0 SameValue
|
|
LJMP ?BRET
|
|
CFI EndBlock cfiBlock54
|
|
// 475
|
|
// 476 /*********************************************************************
|
|
// 477 * @fn osal_msg_send
|
|
// 478 *
|
|
// 479 * @brief
|
|
// 480 *
|
|
// 481 * This function is called by a task to send a command message to
|
|
// 482 * another task or processing element. The sending_task field must
|
|
// 483 * refer to a valid task, since the task ID will be used
|
|
// 484 * for the response message. This function will also set a message
|
|
// 485 * ready event in the destination tasks event list.
|
|
// 486 *
|
|
// 487 *
|
|
// 488 * @param uint8 destination task - Send msg to? Task ID
|
|
// 489 * @param uint8 *msg_ptr - pointer to new message buffer
|
|
// 490 * @param uint8 len - length of data in message
|
|
// 491 *
|
|
// 492 * @return SUCCESS, INVALID_TASK, INVALID_MSG_POINTER
|
|
// 493 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 494 uint8 osal_msg_send( uint8 destination_task, uint8 *msg_ptr )
|
|
osal_msg_send:
|
|
CFI Block cfiBlock55 Using cfiCommon0
|
|
CFI Function osal_msg_send
|
|
CODE
|
|
// 495 {
|
|
FUNCALL osal_msg_send, osal_msg_deallocate
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL osal_msg_send, osal_msg_deallocate
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL osal_msg_send, osal_msg_enqueue
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL osal_msg_send, osal_set_event
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
MOV A,#-0x9
|
|
LCALL ?BANKED_ENTER_XDATA
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 9)
|
|
; Saved register size: 9
|
|
; Auto size: 0
|
|
MOV A,R1
|
|
MOV R6,A
|
|
// 496 if ( msg_ptr == NULL )
|
|
MOV A,R2
|
|
ORL A,R3
|
|
JZ ??osal_msg_send_0
|
|
// 497 return ( INVALID_MSG_POINTER );
|
|
// 498
|
|
// 499 if ( destination_task >= tasksCnt )
|
|
MOV DPTR,#tasksCnt
|
|
MOVX A,@DPTR
|
|
MOV R0,A
|
|
MOV A,R1
|
|
CLR C
|
|
SUBB A,R0
|
|
JC ??osal_msg_send_1
|
|
// 500 {
|
|
// 501 osal_msg_deallocate( msg_ptr );
|
|
; Setup parameters for call to function osal_msg_deallocate
|
|
LCALL `??osal_msg_deallocate::?relay`; Banked call to: osal_msg_deallocate
|
|
// 502 return ( INVALID_TASK );
|
|
MOV R1,#0x3
|
|
SJMP ??osal_msg_send_2
|
|
// 503 }
|
|
// 504
|
|
// 505 // Check the message header
|
|
// 506 if ( OSAL_MSG_NEXT( msg_ptr ) != NULL ||
|
|
// 507 OSAL_MSG_ID( msg_ptr ) != TASK_NO_TASK )
|
|
??osal_msg_send_1:
|
|
LCALL ?Subroutine29 & 0xFFFF
|
|
??CrossCallReturnLabel_78:
|
|
MOV A,R3
|
|
LCALL ??Subroutine37_0 & 0xFFFF
|
|
??CrossCallReturnLabel_62:
|
|
LCALL ??Subroutine39_0 & 0xFFFF
|
|
??CrossCallReturnLabel_81:
|
|
JNZ ??osal_msg_send_3
|
|
LCALL ?Subroutine17 & 0xFFFF
|
|
??CrossCallReturnLabel_22:
|
|
JZ ??osal_msg_send_4
|
|
// 508 {
|
|
// 509 osal_msg_deallocate( msg_ptr );
|
|
??osal_msg_send_3:
|
|
; Setup parameters for call to function osal_msg_deallocate
|
|
LCALL `??osal_msg_deallocate::?relay`; Banked call to: osal_msg_deallocate
|
|
// 510 return ( INVALID_MSG_POINTER );
|
|
??osal_msg_send_0:
|
|
MOV R1,#0x5
|
|
SJMP ??osal_msg_send_2
|
|
// 511 }
|
|
// 512
|
|
// 513 OSAL_MSG_ID( msg_ptr ) = destination_task;
|
|
??osal_msg_send_4:
|
|
MOV A,R6
|
|
MOVX @DPTR,A
|
|
// 514
|
|
// 515 // queue message
|
|
// 516 osal_msg_enqueue( &osal_qHead, msg_ptr );
|
|
; Setup parameters for call to function osal_msg_enqueue
|
|
MOV A,R2
|
|
MOV R4,A
|
|
MOV A,R3
|
|
MOV R5,A
|
|
MOV R2,#osal_qHead & 0xff
|
|
MOV R3,#(osal_qHead >> 8) & 0xff
|
|
LCALL `??osal_msg_enqueue::?relay`; Banked call to: osal_msg_enqueue
|
|
// 517
|
|
// 518 // Signal the task that a message is waiting
|
|
// 519 osal_set_event( destination_task, SYS_EVENT_MSG );
|
|
; Setup parameters for call to function osal_set_event
|
|
MOV R2,#0x0
|
|
MOV R3,#-0x80
|
|
MOV A,R6
|
|
MOV R1,A
|
|
LCALL `??osal_set_event::?relay`; Banked call to: osal_set_event
|
|
// 520
|
|
// 521 return ( SUCCESS );
|
|
MOV R1,#0x0
|
|
??osal_msg_send_2:
|
|
SJMP ??Subroutine31_0
|
|
// 522 }
|
|
CFI EndBlock cfiBlock55
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine17:
|
|
CFI Block cfiCond56 Using cfiCommon0
|
|
CFI Function osal_msg_deallocate
|
|
CFI Conditional ??CrossCallReturnLabel_21
|
|
CFI DPL0 Frame(CFA_SP, 4)
|
|
CFI DPH0 Frame(CFA_SP, 5)
|
|
CFI CFA_SP SP+-7
|
|
CFI Block cfiCond57 Using cfiCommon0
|
|
CFI (cfiCond57) Function osal_msg_send
|
|
CFI (cfiCond57) Conditional ??CrossCallReturnLabel_22
|
|
CFI (cfiCond57) R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond57) VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond57) V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond57) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond57) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond57) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond57) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond57) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond57) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond57) CFA_SP SP+-2
|
|
CFI (cfiCond57) CFA_XSP16 add(XSP16, 9)
|
|
CFI Block cfiPicker58 Using cfiCommon1
|
|
CFI (cfiPicker58) NoFunction
|
|
CFI (cfiPicker58) Picker
|
|
LCALL ?Subroutine24 & 0xFFFF
|
|
??CrossCallReturnLabel_34:
|
|
MOVX A,@DPTR
|
|
CPL A
|
|
RET
|
|
CFI EndBlock cfiCond56
|
|
CFI EndBlock cfiCond57
|
|
CFI EndBlock cfiPicker58
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine1:
|
|
CFI Block cfiBlock59 Using cfiCommon0
|
|
CFI NoFunction
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 9)
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
MOVX @DPTR,A
|
|
MOV A,R6
|
|
MOV C,0xE0 /* A */.0
|
|
CFI EndBlock cfiBlock59
|
|
REQUIRE ??Subroutine30_0
|
|
; // Fall through to label ??Subroutine30_0
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
??Subroutine30_0:
|
|
CFI Block cfiBlock60 Using cfiCommon0
|
|
CFI NoFunction
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 9)
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
MOV 0xa8.7,C
|
|
CFI EndBlock cfiBlock60
|
|
REQUIRE ??Subroutine31_0
|
|
; // Fall through to label ??Subroutine31_0
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
??Subroutine31_0:
|
|
CFI Block cfiBlock61 Using cfiCommon0
|
|
CFI NoFunction
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 9)
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
MOV R7,#0x1
|
|
LJMP ?BANKED_LEAVE_XDATA
|
|
CFI EndBlock cfiBlock61
|
|
// 523
|
|
// 524 /*********************************************************************
|
|
// 525 * @fn osal_msg_receive
|
|
// 526 *
|
|
// 527 * @brief
|
|
// 528 *
|
|
// 529 * This function is called by a task to retrieve a received command
|
|
// 530 * message. The calling task must deallocate the message buffer after
|
|
// 531 * processing the message using the osal_msg_deallocate() call.
|
|
// 532 *
|
|
// 533 * @param uint8 task_id - receiving tasks ID
|
|
// 534 *
|
|
// 535 * @return *uint8 - message information or NULL if no message
|
|
// 536 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 537 uint8 *osal_msg_receive( uint8 task_id )
|
|
osal_msg_receive:
|
|
CFI Block cfiBlock62 Using cfiCommon0
|
|
CFI Function osal_msg_receive
|
|
CODE
|
|
// 538 {
|
|
FUNCALL osal_msg_receive, osal_set_event
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 12, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL osal_msg_receive, osal_clear_event
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 12, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL osal_msg_receive, osal_msg_extract
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 14, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 14, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
REQUIRE ?V0
|
|
REQUIRE ?V1
|
|
REQUIRE ?V2
|
|
REQUIRE ?V3
|
|
MOV A,#-0xc
|
|
LCALL ?BANKED_ENTER_XDATA
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 12)
|
|
; Saved register size: 12
|
|
; Auto size: 0
|
|
MOV ?V0,R1
|
|
// 539 osal_msg_hdr_t *listHdr;
|
|
// 540 osal_msg_hdr_t *prevHdr = NULL;
|
|
MOV ?V2,#0x0
|
|
MOV ?V3,#0x0
|
|
// 541 osal_msg_hdr_t *foundHdr = NULL;
|
|
MOV R6,#0x0
|
|
MOV R7,#0x0
|
|
// 542 halIntState_t intState;
|
|
// 543
|
|
// 544 // Hold off interrupts
|
|
// 545 HAL_ENTER_CRITICAL_SECTION(intState);
|
|
MOV C,0xa8.7
|
|
CLR A
|
|
RLC A
|
|
MOV ?V1,A
|
|
CLR 0xa8.7
|
|
// 546
|
|
// 547 // Point to the top of the queue
|
|
// 548 listHdr = osal_qHead;
|
|
MOV DPTR,#osal_qHead
|
|
SJMP ??CrossCallReturnLabel_70
|
|
// 549
|
|
// 550 // Look through the queue for a message that belongs to the asking task
|
|
// 551 while ( listHdr != NULL )
|
|
// 552 {
|
|
// 553 if ( (listHdr - 1)->dest_id == task_id )
|
|
// 554 {
|
|
// 555 if ( foundHdr == NULL )
|
|
// 556 {
|
|
// 557 // Save the first one
|
|
// 558 foundHdr = listHdr;
|
|
// 559 }
|
|
// 560 else
|
|
// 561 {
|
|
// 562 // Second msg found, stop looking
|
|
// 563 break;
|
|
// 564 }
|
|
// 565 }
|
|
// 566 if ( foundHdr == NULL )
|
|
??osal_msg_receive_0:
|
|
MOV A,R6
|
|
ORL A,R7
|
|
JNZ ??osal_msg_receive_1
|
|
// 567 {
|
|
// 568 prevHdr = listHdr;
|
|
MOV ?V2,R0
|
|
MOV ?V3,R1
|
|
// 569 }
|
|
// 570 listHdr = OSAL_MSG_NEXT( listHdr );
|
|
??osal_msg_receive_1:
|
|
LCALL ?Subroutine22 & 0xFFFF
|
|
??CrossCallReturnLabel_70:
|
|
LCALL ??Subroutine39_0 & 0xFFFF
|
|
??CrossCallReturnLabel_80:
|
|
JZ ??osal_msg_receive_2
|
|
MOV A,R0
|
|
ADD A,#-0x1
|
|
LCALL ??Subroutine36_0 & 0xFFFF
|
|
??CrossCallReturnLabel_69:
|
|
MOVX A,@DPTR
|
|
XRL A,?V0
|
|
JNZ ??osal_msg_receive_0
|
|
MOV A,R6
|
|
ORL A,R7
|
|
JNZ ??osal_msg_receive_3
|
|
MOV A,R0
|
|
MOV R6,A
|
|
MOV A,R1
|
|
MOV R7,A
|
|
SJMP ??osal_msg_receive_1
|
|
// 571 }
|
|
// 572
|
|
// 573 // Is there more than one?
|
|
// 574 if ( listHdr != NULL )
|
|
// 575 {
|
|
// 576 // Yes, Signal the task that a message is waiting
|
|
// 577 osal_set_event( task_id, SYS_EVENT_MSG );
|
|
??osal_msg_receive_3:
|
|
; Setup parameters for call to function osal_set_event
|
|
MOV R2,#0x0
|
|
MOV R3,#-0x80
|
|
MOV R1,?V0
|
|
LCALL `??osal_set_event::?relay`; Banked call to: osal_set_event
|
|
SJMP ??osal_msg_receive_4
|
|
// 578 }
|
|
// 579 else
|
|
// 580 {
|
|
// 581 // No more
|
|
// 582 osal_clear_event( task_id, SYS_EVENT_MSG );
|
|
??osal_msg_receive_2:
|
|
; Setup parameters for call to function osal_clear_event
|
|
MOV R2,#0x0
|
|
MOV R3,#-0x80
|
|
MOV R1,?V0
|
|
LCALL `??osal_clear_event::?relay`; Banked call to: osal_clear_event
|
|
// 583 }
|
|
// 584
|
|
// 585 // Did we find a message?
|
|
// 586 if ( foundHdr != NULL )
|
|
MOV A,R6
|
|
ORL A,R7
|
|
JZ ??osal_msg_receive_5
|
|
// 587 {
|
|
// 588 // Take out of the link list
|
|
// 589 osal_msg_extract( &osal_qHead, foundHdr, prevHdr );
|
|
??osal_msg_receive_4:
|
|
; Setup parameters for call to function osal_msg_extract
|
|
MOV R0,#?V2
|
|
LCALL ?PUSH_XSTACK_I_TWO
|
|
CFI CFA_XSP16 add(XSP16, 14)
|
|
MOV A,R6
|
|
MOV R4,A
|
|
MOV A,R7
|
|
MOV R5,A
|
|
MOV R2,#osal_qHead & 0xff
|
|
MOV R3,#(osal_qHead >> 8) & 0xff
|
|
LCALL `??osal_msg_extract::?relay`; Banked call to: osal_msg_extract
|
|
MOV A,#0x2
|
|
LCALL ?DEALLOC_XSTACK8
|
|
CFI CFA_XSP16 add(XSP16, 12)
|
|
// 590 }
|
|
// 591
|
|
// 592 // Release interrupts
|
|
// 593 HAL_EXIT_CRITICAL_SECTION(intState);
|
|
??osal_msg_receive_5:
|
|
MOV A,?V1
|
|
MOV C,0xE0 /* A */.0
|
|
MOV 0xa8.7,C
|
|
// 594
|
|
// 595 return ( (uint8*) foundHdr );
|
|
MOV A,R6
|
|
MOV R2,A
|
|
MOV A,R7
|
|
MOV R3,A
|
|
MOV R7,#0x4
|
|
LJMP ?BANKED_LEAVE_XDATA
|
|
CFI EndBlock cfiBlock62
|
|
REQUIRE _A_IEN0
|
|
// 596 }
|
|
// 597
|
|
// 598 /**************************************************************************************************
|
|
// 599 * @fn osal_msg_find
|
|
// 600 *
|
|
// 601 * @brief This function finds in place an OSAL message matching the task_id and event
|
|
// 602 * parameters.
|
|
// 603 *
|
|
// 604 * input parameters
|
|
// 605 *
|
|
// 606 * @param task_id - The OSAL task id that the enqueued OSAL message must match.
|
|
// 607 * @param event - The OSAL event id that the enqueued OSAL message must match.
|
|
// 608 *
|
|
// 609 * output parameters
|
|
// 610 *
|
|
// 611 * None.
|
|
// 612 *
|
|
// 613 * @return NULL if no match, otherwise an in place pointer to the matching OSAL message.
|
|
// 614 **************************************************************************************************
|
|
// 615 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 616 osal_event_hdr_t *osal_msg_find(uint8 task_id, uint8 event)
|
|
osal_msg_find:
|
|
CFI Block cfiBlock63 Using cfiCommon0
|
|
CFI Function osal_msg_find
|
|
CODE
|
|
// 617 {
|
|
PUSH DPL
|
|
CFI DPL0 Frame(CFA_SP, 4)
|
|
CFI CFA_SP SP+-4
|
|
PUSH DPH
|
|
CFI DPH0 Frame(CFA_SP, 5)
|
|
CFI CFA_SP SP+-5
|
|
; Saved register size: 2
|
|
; Auto size: 0
|
|
MOV A,R2
|
|
MOV R4,A
|
|
// 618 osal_msg_hdr_t *pHdr;
|
|
// 619 halIntState_t intState;
|
|
// 620
|
|
// 621 HAL_ENTER_CRITICAL_SECTION(intState); // Hold off interrupts.
|
|
MOV C,0xa8.7
|
|
CLR A
|
|
RLC A
|
|
MOV R0,A
|
|
CLR 0xa8.7
|
|
// 622
|
|
// 623 pHdr = osal_qHead; // Point to the top of the queue.
|
|
MOV DPTR,#osal_qHead
|
|
SJMP ??CrossCallReturnLabel_63
|
|
// 624
|
|
// 625 // Look through the queue for a message that matches the task_id and event parameters.
|
|
// 626 while (pHdr != NULL)
|
|
// 627 {
|
|
// 628 if (((pHdr-1)->dest_id == task_id) && (((osal_event_hdr_t *)pHdr)->event == event))
|
|
// 629 {
|
|
// 630 break;
|
|
// 631 }
|
|
// 632
|
|
// 633 pHdr = OSAL_MSG_NEXT(pHdr);
|
|
??osal_msg_find_0:
|
|
LCALL ?Subroutine29 & 0xFFFF
|
|
??CrossCallReturnLabel_79:
|
|
MOV A,R3
|
|
LCALL ??Subroutine37_0 & 0xFFFF
|
|
??CrossCallReturnLabel_63:
|
|
LCALL ??Subroutine35_0 & 0xFFFF
|
|
??CrossCallReturnLabel_54:
|
|
MOV A,R2
|
|
ORL A,R3
|
|
JZ ??osal_msg_find_1
|
|
LCALL ?Subroutine20 & 0xFFFF
|
|
// 634 }
|
|
??CrossCallReturnLabel_25:
|
|
MOVX A,@DPTR
|
|
XRL A,R1
|
|
JNZ ??osal_msg_find_0
|
|
MOV DPL,R2
|
|
MOV DPH,R3
|
|
MOVX A,@DPTR
|
|
XRL A,R4
|
|
JNZ ??osal_msg_find_0
|
|
// 635
|
|
// 636 HAL_EXIT_CRITICAL_SECTION(intState); // Release interrupts.
|
|
??osal_msg_find_1:
|
|
MOV A,R0
|
|
MOV C,0xE0 /* A */.0
|
|
MOV 0xa8.7,C
|
|
// 637
|
|
// 638 return (osal_event_hdr_t *)pHdr;
|
|
LJMP ?Subroutine0 & 0xFFFF
|
|
CFI EndBlock cfiBlock63
|
|
REQUIRE _A_IEN0
|
|
// 639 }
|
|
// 640
|
|
// 641 /*********************************************************************
|
|
// 642 * @fn osal_msg_enqueue
|
|
// 643 *
|
|
// 644 * @brief
|
|
// 645 *
|
|
// 646 * This function enqueues an OSAL message into an OSAL queue.
|
|
// 647 *
|
|
// 648 * @param osal_msg_q_t *q_ptr - OSAL queue
|
|
// 649 * @param void *msg_ptr - OSAL message
|
|
// 650 *
|
|
// 651 * @return none
|
|
// 652 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 653 void osal_msg_enqueue( osal_msg_q_t *q_ptr, void *msg_ptr )
|
|
osal_msg_enqueue:
|
|
CFI Block cfiBlock64 Using cfiCommon0
|
|
CFI Function osal_msg_enqueue
|
|
CODE
|
|
// 654 {
|
|
MOV A,#-0x9
|
|
LCALL ?BANKED_ENTER_XDATA
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 9)
|
|
; Saved register size: 9
|
|
; Auto size: 0
|
|
// 655 void *list;
|
|
// 656 halIntState_t intState;
|
|
// 657
|
|
// 658 // Hold off interrupts
|
|
// 659 HAL_ENTER_CRITICAL_SECTION(intState);
|
|
MOV C,0xa8.7
|
|
CLR A
|
|
RLC A
|
|
MOV R6,A
|
|
CLR 0xa8.7
|
|
// 660
|
|
// 661 OSAL_MSG_NEXT( msg_ptr ) = NULL;
|
|
LCALL ?Subroutine23 & 0xFFFF
|
|
??CrossCallReturnLabel_29:
|
|
LCALL ??Subroutine37_0 & 0xFFFF
|
|
??CrossCallReturnLabel_64:
|
|
CLR A
|
|
MOVX @DPTR,A
|
|
INC DPTR
|
|
LCALL ??Subroutine32_0 & 0xFFFF
|
|
// 662 // If first message in queue
|
|
// 663 if ( *q_ptr == NULL )
|
|
??CrossCallReturnLabel_45:
|
|
LCALL ??Subroutine39_0 & 0xFFFF
|
|
??CrossCallReturnLabel_82:
|
|
JNZ ??CrossCallReturnLabel_49
|
|
// 664 {
|
|
// 665 *q_ptr = msg_ptr;
|
|
MOV DPL,R2
|
|
MOV DPH,R3
|
|
SJMP ??CrossCallReturnLabel_71
|
|
// 666 }
|
|
// 667 else
|
|
// 668 {
|
|
// 669 // Find end of queue
|
|
// 670 for ( list = *q_ptr; OSAL_MSG_NEXT( list ) != NULL; list = OSAL_MSG_NEXT( list ) );
|
|
??osal_msg_enqueue_0:
|
|
LCALL ?Subroutine11 & 0xFFFF
|
|
??CrossCallReturnLabel_49:
|
|
MOV A,R0
|
|
LCALL ??Subroutine38_0 & 0xFFFF
|
|
??CrossCallReturnLabel_74:
|
|
MOV A,R1
|
|
ADDC A,#-0x1
|
|
LCALL ?Subroutine15 & 0xFFFF
|
|
??CrossCallReturnLabel_56:
|
|
MOV A,R2
|
|
ORL A,R3
|
|
JNZ ??osal_msg_enqueue_0
|
|
// 671
|
|
// 672 // Add message to end of queue
|
|
// 673 OSAL_MSG_NEXT( list ) = msg_ptr;
|
|
LCALL ?Subroutine22 & 0xFFFF
|
|
// 674 }
|
|
??CrossCallReturnLabel_71:
|
|
MOV A,R4
|
|
MOVX @DPTR,A
|
|
INC DPTR
|
|
MOV A,R5
|
|
LJMP ?Subroutine1 & 0xFFFF
|
|
CFI EndBlock cfiBlock64
|
|
REQUIRE _A_IEN0
|
|
// 675
|
|
// 676 // Re-enable interrupts
|
|
// 677 HAL_EXIT_CRITICAL_SECTION(intState);
|
|
// 678 }
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine18:
|
|
CFI Block cfiCond65 Using cfiCommon0
|
|
CFI Function osal_msg_allocate
|
|
CFI Conditional ??CrossCallReturnLabel_42
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI CFA_SP SP+-2
|
|
CFI CFA_XSP16 add(XSP16, 10)
|
|
CFI Block cfiCond66 Using cfiCommon0
|
|
CFI (cfiCond66) Function osal_msg_push
|
|
CFI (cfiCond66) Conditional ??CrossCallReturnLabel_43
|
|
CFI (cfiCond66) R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond66) VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond66) V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond66) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond66) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond66) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond66) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond66) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond66) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond66) CFA_SP SP+-2
|
|
CFI (cfiCond66) CFA_XSP16 add(XSP16, 9)
|
|
CFI Block cfiPicker67 Using cfiCommon1
|
|
CFI (cfiPicker67) NoFunction
|
|
CFI (cfiPicker67) Picker
|
|
MOV A,R6
|
|
MOVX @DPTR,A
|
|
INC DPTR
|
|
MOV A,R7
|
|
CFI EndBlock cfiCond65
|
|
CFI EndBlock cfiCond66
|
|
CFI EndBlock cfiPicker67
|
|
REQUIRE ??Subroutine32_0
|
|
; // Fall through to label ??Subroutine32_0
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
??Subroutine32_0:
|
|
CFI Block cfiCond68 Using cfiCommon0
|
|
CFI Function osal_msg_allocate
|
|
CFI Conditional ??CrossCallReturnLabel_44
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI CFA_SP SP+-2
|
|
CFI CFA_XSP16 add(XSP16, 10)
|
|
CFI Block cfiCond69 Using cfiCommon0
|
|
CFI (cfiCond69) Function osal_msg_enqueue
|
|
CFI (cfiCond69) Conditional ??CrossCallReturnLabel_45
|
|
CFI (cfiCond69) R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond69) VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond69) V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond69) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond69) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond69) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond69) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond69) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond69) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond69) CFA_SP SP+-2
|
|
CFI (cfiCond69) CFA_XSP16 add(XSP16, 9)
|
|
CFI Block cfiCond70 Using cfiCommon0
|
|
CFI (cfiCond70) Function osal_msg_allocate
|
|
CFI (cfiCond70) Conditional ??CrossCallReturnLabel_42
|
|
CFI (cfiCond70) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond70) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond70) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond70) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond70) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond70) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond70) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond70) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond70) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond70) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond70) CFA_SP SP+-2
|
|
CFI (cfiCond70) CFA_XSP16 add(XSP16, 10)
|
|
CFI Block cfiCond71 Using cfiCommon0
|
|
CFI (cfiCond71) Function osal_msg_push
|
|
CFI (cfiCond71) Conditional ??CrossCallReturnLabel_43
|
|
CFI (cfiCond71) R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond71) VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond71) V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond71) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond71) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond71) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond71) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond71) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond71) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond71) CFA_SP SP+-2
|
|
CFI (cfiCond71) CFA_XSP16 add(XSP16, 9)
|
|
CFI Block cfiPicker72 Using cfiCommon1
|
|
CFI (cfiPicker72) NoFunction
|
|
CFI (cfiPicker72) Picker
|
|
MOVX @DPTR,A
|
|
MOV DPL,R2
|
|
MOV DPH,R3
|
|
RET
|
|
CFI EndBlock cfiCond68
|
|
CFI EndBlock cfiCond69
|
|
CFI EndBlock cfiCond70
|
|
CFI EndBlock cfiCond71
|
|
CFI EndBlock cfiPicker72
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine11:
|
|
CFI Block cfiCond73 Using cfiCommon0
|
|
CFI Function osal_msg_enqueue
|
|
CFI Conditional ??CrossCallReturnLabel_49
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI CFA_SP SP+-2
|
|
CFI CFA_XSP16 add(XSP16, 9)
|
|
CFI Block cfiCond74 Using cfiCommon0
|
|
CFI (cfiCond74) Function osal_msg_enqueue_max
|
|
CFI (cfiCond74) Conditional ??CrossCallReturnLabel_50
|
|
CFI (cfiCond74) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond74) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond74) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond74) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond74) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond74) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond74) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond74) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond74) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond74) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond74) CFA_SP SP+-2
|
|
CFI (cfiCond74) CFA_XSP16 add(XSP16, 10)
|
|
CFI Block cfiPicker75 Using cfiCommon1
|
|
CFI (cfiPicker75) NoFunction
|
|
CFI (cfiPicker75) Picker
|
|
MOV A,R0
|
|
LCALL ??Subroutine38_0 & 0xFFFF
|
|
??CrossCallReturnLabel_76:
|
|
MOV A,R1
|
|
CFI EndBlock cfiCond73
|
|
CFI EndBlock cfiCond74
|
|
CFI EndBlock cfiPicker75
|
|
REQUIRE ??Subroutine33_0
|
|
; // Fall through to label ??Subroutine33_0
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
??Subroutine33_0:
|
|
CFI Block cfiCond76 Using cfiCommon0
|
|
CFI Function osal_msg_extract
|
|
CFI Conditional ??CrossCallReturnLabel_47
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI CFA_SP SP+-2
|
|
CFI CFA_XSP16 add(XSP16, 9)
|
|
CFI Block cfiCond77 Using cfiCommon0
|
|
CFI (cfiCond77) Function osal_msg_extract
|
|
CFI (cfiCond77) Conditional ??CrossCallReturnLabel_48
|
|
CFI (cfiCond77) R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond77) VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond77) V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond77) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond77) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond77) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond77) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond77) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond77) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond77) CFA_SP SP+-2
|
|
CFI (cfiCond77) CFA_XSP16 add(XSP16, 9)
|
|
CFI Block cfiCond78 Using cfiCommon0
|
|
CFI (cfiCond78) Function osal_msg_enqueue
|
|
CFI (cfiCond78) Conditional ??CrossCallReturnLabel_49
|
|
CFI (cfiCond78) R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond78) VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond78) V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond78) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond78) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond78) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond78) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond78) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond78) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond78) CFA_SP SP+-2
|
|
CFI (cfiCond78) CFA_XSP16 add(XSP16, 9)
|
|
CFI Block cfiCond79 Using cfiCommon0
|
|
CFI (cfiCond79) Function osal_msg_enqueue_max
|
|
CFI (cfiCond79) Conditional ??CrossCallReturnLabel_50
|
|
CFI (cfiCond79) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond79) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond79) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond79) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond79) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond79) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond79) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond79) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond79) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond79) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond79) CFA_SP SP+-2
|
|
CFI (cfiCond79) CFA_XSP16 add(XSP16, 10)
|
|
CFI Block cfiPicker80 Using cfiCommon1
|
|
CFI (cfiPicker80) NoFunction
|
|
CFI (cfiPicker80) Picker
|
|
ADDC A,#-0x1
|
|
MOV DPH,A
|
|
CFI EndBlock cfiCond76
|
|
CFI EndBlock cfiCond77
|
|
CFI EndBlock cfiCond78
|
|
CFI EndBlock cfiCond79
|
|
CFI EndBlock cfiPicker80
|
|
REQUIRE ??Subroutine34_0
|
|
; // Fall through to label ??Subroutine34_0
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
??Subroutine34_0:
|
|
CFI Block cfiCond81 Using cfiCommon0
|
|
CFI Function osal_msg_extract
|
|
CFI Conditional ??CrossCallReturnLabel_46
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI CFA_SP SP+-2
|
|
CFI CFA_XSP16 add(XSP16, 9)
|
|
CFI Block cfiCond82 Using cfiCommon0
|
|
CFI (cfiCond82) Function osal_msg_extract
|
|
CFI (cfiCond82) Conditional ??CrossCallReturnLabel_47
|
|
CFI (cfiCond82) R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond82) VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond82) V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond82) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond82) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond82) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond82) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond82) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond82) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond82) CFA_SP SP+-2
|
|
CFI (cfiCond82) CFA_XSP16 add(XSP16, 9)
|
|
CFI Block cfiCond83 Using cfiCommon0
|
|
CFI (cfiCond83) Function osal_msg_extract
|
|
CFI (cfiCond83) Conditional ??CrossCallReturnLabel_48
|
|
CFI (cfiCond83) R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond83) VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond83) V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond83) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond83) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond83) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond83) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond83) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond83) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond83) CFA_SP SP+-2
|
|
CFI (cfiCond83) CFA_XSP16 add(XSP16, 9)
|
|
CFI Block cfiCond84 Using cfiCommon0
|
|
CFI (cfiCond84) Function osal_msg_enqueue
|
|
CFI (cfiCond84) Conditional ??CrossCallReturnLabel_49
|
|
CFI (cfiCond84) R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond84) VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond84) V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond84) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond84) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond84) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond84) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond84) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond84) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond84) CFA_SP SP+-2
|
|
CFI (cfiCond84) CFA_XSP16 add(XSP16, 9)
|
|
CFI Block cfiCond85 Using cfiCommon0
|
|
CFI (cfiCond85) Function osal_msg_enqueue_max
|
|
CFI (cfiCond85) Conditional ??CrossCallReturnLabel_50
|
|
CFI (cfiCond85) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond85) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond85) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond85) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond85) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond85) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond85) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond85) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond85) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond85) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond85) CFA_SP SP+-2
|
|
CFI (cfiCond85) CFA_XSP16 add(XSP16, 10)
|
|
CFI Block cfiPicker86 Using cfiCommon1
|
|
CFI (cfiPicker86) NoFunction
|
|
CFI (cfiPicker86) Picker
|
|
MOVX A,@DPTR
|
|
MOV R0,A
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
MOV R1,A
|
|
RET
|
|
CFI EndBlock cfiCond81
|
|
CFI EndBlock cfiCond82
|
|
CFI EndBlock cfiCond83
|
|
CFI EndBlock cfiCond84
|
|
CFI EndBlock cfiCond85
|
|
CFI EndBlock cfiPicker86
|
|
// 679
|
|
// 680 /*********************************************************************
|
|
// 681 * @fn osal_msg_dequeue
|
|
// 682 *
|
|
// 683 * @brief
|
|
// 684 *
|
|
// 685 * This function dequeues an OSAL message from an OSAL queue.
|
|
// 686 *
|
|
// 687 * @param osal_msg_q_t *q_ptr - OSAL queue
|
|
// 688 *
|
|
// 689 * @return void * - pointer to OSAL message or NULL of queue is empty.
|
|
// 690 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 691 void *osal_msg_dequeue( osal_msg_q_t *q_ptr )
|
|
osal_msg_dequeue:
|
|
CFI Block cfiBlock87 Using cfiCommon0
|
|
CFI Function osal_msg_dequeue
|
|
CODE
|
|
// 692 {
|
|
REQUIRE ?V0
|
|
REQUIRE ?V1
|
|
MOV A,#-0xa
|
|
LCALL ?BANKED_ENTER_XDATA
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 10)
|
|
; Saved register size: 10
|
|
; Auto size: 0
|
|
MOV A,R2
|
|
MOV R0,A
|
|
MOV A,R3
|
|
MOV R1,A
|
|
// 693 void *msg_ptr = NULL;
|
|
MOV R2,#0x0
|
|
MOV R3,#0x0
|
|
// 694 halIntState_t intState;
|
|
// 695
|
|
// 696 // Hold off interrupts
|
|
// 697 HAL_ENTER_CRITICAL_SECTION(intState);
|
|
MOV C,0xa8.7
|
|
CLR A
|
|
RLC A
|
|
MOV R6,A
|
|
CLR 0xa8.7
|
|
// 698
|
|
// 699 if ( *q_ptr != NULL )
|
|
MOV DPL,R0
|
|
MOV DPH,R1
|
|
MOVX A,@DPTR
|
|
MOV R4,A
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
MOV R5,A
|
|
MOV A,R4
|
|
ORL A,R5
|
|
JZ ??osal_msg_dequeue_0
|
|
// 700 {
|
|
// 701 // Dequeue message
|
|
// 702 msg_ptr = *q_ptr;
|
|
MOV DPL,R0
|
|
MOV DPH,R1
|
|
LCALL ??Subroutine35_0 & 0xFFFF
|
|
// 703 *q_ptr = OSAL_MSG_NEXT( msg_ptr );
|
|
??CrossCallReturnLabel_55:
|
|
MOV A,R4
|
|
ADD A,#-0x5
|
|
MOV R4,A
|
|
MOV A,R5
|
|
ADDC A,#-0x1
|
|
MOV R5,A
|
|
MOV DPL,R4
|
|
MOV DPH,A
|
|
MOVX A,@DPTR
|
|
MOV ?V0,A
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
MOV ?V1,A
|
|
MOV DPL,R0
|
|
MOV DPH,R1
|
|
MOV A,?V0
|
|
MOVX @DPTR,A
|
|
INC DPTR
|
|
MOV A,?V1
|
|
MOVX @DPTR,A
|
|
// 704 OSAL_MSG_NEXT( msg_ptr ) = NULL;
|
|
MOV DPL,R4
|
|
MOV DPH,R5
|
|
CLR A
|
|
MOVX @DPTR,A
|
|
INC DPTR
|
|
MOVX @DPTR,A
|
|
// 705 OSAL_MSG_ID( msg_ptr ) = TASK_NO_TASK;
|
|
LCALL ?Subroutine20 & 0xFFFF
|
|
// 706 }
|
|
??CrossCallReturnLabel_26:
|
|
MOV A,#-0x1
|
|
MOVX @DPTR,A
|
|
// 707
|
|
// 708 // Re-enable interrupts
|
|
// 709 HAL_EXIT_CRITICAL_SECTION(intState);
|
|
??osal_msg_dequeue_0:
|
|
MOV A,R6
|
|
MOV C,0xE0 /* A */.0
|
|
MOV 0xa8.7,C
|
|
// 710
|
|
// 711 return msg_ptr;
|
|
CFI EndBlock cfiBlock87
|
|
REQUIRE ?Subroutine3
|
|
REQUIRE _A_IEN0
|
|
; // Fall through to label ?Subroutine3
|
|
// 712 }
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine3:
|
|
CFI Block cfiBlock88 Using cfiCommon0
|
|
CFI NoFunction
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 10)
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
MOV R7,#0x2
|
|
LJMP ?BANKED_LEAVE_XDATA
|
|
CFI EndBlock cfiBlock88
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine20:
|
|
CFI Block cfiCond89 Using cfiCommon0
|
|
CFI Function osal_msg_find
|
|
CFI Conditional ??CrossCallReturnLabel_25
|
|
CFI DPL0 Frame(CFA_SP, 4)
|
|
CFI DPH0 Frame(CFA_SP, 5)
|
|
CFI CFA_SP SP+-7
|
|
CFI Block cfiCond90 Using cfiCommon0
|
|
CFI (cfiCond90) Function osal_msg_dequeue
|
|
CFI (cfiCond90) Conditional ??CrossCallReturnLabel_26
|
|
CFI (cfiCond90) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond90) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond90) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond90) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond90) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond90) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond90) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond90) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond90) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond90) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond90) CFA_SP SP+-2
|
|
CFI (cfiCond90) CFA_XSP16 add(XSP16, 10)
|
|
CFI Block cfiPicker91 Using cfiCommon1
|
|
CFI (cfiPicker91) NoFunction
|
|
CFI (cfiPicker91) Picker
|
|
LCALL ?Subroutine24 & 0xFFFF
|
|
??CrossCallReturnLabel_35:
|
|
RET
|
|
CFI EndBlock cfiCond89
|
|
CFI EndBlock cfiCond90
|
|
CFI EndBlock cfiPicker91
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine24:
|
|
CFI Block cfiCond92 Using cfiCommon0
|
|
CFI Function osal_msg_deallocate
|
|
CFI Conditional ??CrossCallReturnLabel_34, ??CrossCallReturnLabel_21
|
|
CFI DPL0 Frame(CFA_SP, 4)
|
|
CFI DPH0 Frame(CFA_SP, 5)
|
|
CFI CFA_SP SP+-9
|
|
CFI Block cfiCond93 Using cfiCommon0
|
|
CFI (cfiCond93) Function osal_msg_send
|
|
CFI (cfiCond93) Conditional ??CrossCallReturnLabel_34, ??CrossCallReturnLabel_22
|
|
CFI (cfiCond93) R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond93) VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond93) V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond93) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond93) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond93) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond93) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond93) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond93) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond93) CFA_SP SP+-4
|
|
CFI (cfiCond93) CFA_XSP16 add(XSP16, 9)
|
|
CFI Block cfiCond94 Using cfiCommon0
|
|
CFI (cfiCond94) Function osal_msg_find
|
|
CFI (cfiCond94) Conditional ??CrossCallReturnLabel_35, ??CrossCallReturnLabel_25
|
|
CFI (cfiCond94) DPL0 Frame(CFA_SP, 4)
|
|
CFI (cfiCond94) DPH0 Frame(CFA_SP, 5)
|
|
CFI (cfiCond94) CFA_SP SP+-9
|
|
CFI Block cfiCond95 Using cfiCommon0
|
|
CFI (cfiCond95) Function osal_msg_dequeue
|
|
CFI (cfiCond95) Conditional ??CrossCallReturnLabel_35, ??CrossCallReturnLabel_26
|
|
CFI (cfiCond95) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond95) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond95) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond95) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond95) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond95) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond95) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond95) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond95) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond95) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond95) CFA_SP SP+-4
|
|
CFI (cfiCond95) CFA_XSP16 add(XSP16, 10)
|
|
CFI Block cfiPicker96 Using cfiCommon1
|
|
CFI (cfiPicker96) NoFunction
|
|
CFI (cfiPicker96) Picker
|
|
MOV A,R2
|
|
ADD A,#-0x1
|
|
MOV DPL,A
|
|
MOV A,R3
|
|
ADDC A,#-0x1
|
|
MOV DPH,A
|
|
RET
|
|
CFI EndBlock cfiCond92
|
|
CFI EndBlock cfiCond93
|
|
CFI EndBlock cfiCond94
|
|
CFI EndBlock cfiCond95
|
|
CFI EndBlock cfiPicker96
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine15:
|
|
CFI Block cfiCond97 Using cfiCommon0
|
|
CFI Function osal_msg_enqueue
|
|
CFI Conditional ??CrossCallReturnLabel_56
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI CFA_SP SP+-2
|
|
CFI CFA_XSP16 add(XSP16, 9)
|
|
CFI Block cfiCond98 Using cfiCommon0
|
|
CFI (cfiCond98) Function osal_run_system
|
|
CFI (cfiCond98) Conditional ??CrossCallReturnLabel_57
|
|
CFI (cfiCond98) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond98) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond98) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond98) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond98) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond98) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond98) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond98) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond98) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond98) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond98) CFA_SP SP+-2
|
|
CFI (cfiCond98) CFA_XSP16 add(XSP16, 10)
|
|
CFI Block cfiPicker99 Using cfiCommon1
|
|
CFI (cfiPicker99) NoFunction
|
|
CFI (cfiPicker99) Picker
|
|
MOV DPH,A
|
|
CFI EndBlock cfiCond97
|
|
CFI EndBlock cfiCond98
|
|
CFI EndBlock cfiPicker99
|
|
REQUIRE ??Subroutine35_0
|
|
; // Fall through to label ??Subroutine35_0
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
??Subroutine35_0:
|
|
CFI Block cfiCond100 Using cfiCommon0
|
|
CFI Function _ltoa
|
|
CFI Conditional ??CrossCallReturnLabel_51
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI CFA_SP SP+-2
|
|
CFI CFA_XSP16 add(XSP16, 53)
|
|
CFI Block cfiCond101 Using cfiCommon0
|
|
CFI (cfiCond101) Function _ltoa
|
|
CFI (cfiCond101) Conditional ??CrossCallReturnLabel_52
|
|
CFI (cfiCond101) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
|
|
CFI (cfiCond101) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
|
|
CFI (cfiCond101) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI (cfiCond101) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI (cfiCond101) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond101) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond101) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond101) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond101) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond101) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond101) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond101) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond101) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond101) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond101) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond101) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond101) CFA_SP SP+-2
|
|
CFI (cfiCond101) CFA_XSP16 add(XSP16, 53)
|
|
CFI Block cfiCond102 Using cfiCommon0
|
|
CFI (cfiCond102) Function _ltoa
|
|
CFI (cfiCond102) Conditional ??CrossCallReturnLabel_53
|
|
CFI (cfiCond102) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
|
|
CFI (cfiCond102) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
|
|
CFI (cfiCond102) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI (cfiCond102) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI (cfiCond102) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond102) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond102) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond102) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond102) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond102) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond102) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond102) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond102) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond102) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond102) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond102) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond102) CFA_SP SP+-2
|
|
CFI (cfiCond102) CFA_XSP16 add(XSP16, 53)
|
|
CFI Block cfiCond103 Using cfiCommon0
|
|
CFI (cfiCond103) Function osal_msg_find
|
|
CFI (cfiCond103) Conditional ??CrossCallReturnLabel_54
|
|
CFI (cfiCond103) DPL0 Frame(CFA_SP, 4)
|
|
CFI (cfiCond103) DPH0 Frame(CFA_SP, 5)
|
|
CFI (cfiCond103) CFA_SP SP+-7
|
|
CFI Block cfiCond104 Using cfiCommon0
|
|
CFI (cfiCond104) Function osal_msg_dequeue
|
|
CFI (cfiCond104) Conditional ??CrossCallReturnLabel_55
|
|
CFI (cfiCond104) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond104) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond104) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond104) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond104) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond104) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond104) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond104) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond104) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond104) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond104) CFA_SP SP+-2
|
|
CFI (cfiCond104) CFA_XSP16 add(XSP16, 10)
|
|
CFI Block cfiCond105 Using cfiCommon0
|
|
CFI (cfiCond105) Function osal_msg_enqueue
|
|
CFI (cfiCond105) Conditional ??CrossCallReturnLabel_56
|
|
CFI (cfiCond105) R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond105) VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond105) V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond105) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond105) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond105) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond105) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond105) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond105) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond105) CFA_SP SP+-2
|
|
CFI (cfiCond105) CFA_XSP16 add(XSP16, 9)
|
|
CFI Block cfiCond106 Using cfiCommon0
|
|
CFI (cfiCond106) Function osal_run_system
|
|
CFI (cfiCond106) Conditional ??CrossCallReturnLabel_57
|
|
CFI (cfiCond106) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond106) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond106) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond106) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond106) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond106) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond106) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond106) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond106) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond106) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond106) CFA_SP SP+-2
|
|
CFI (cfiCond106) CFA_XSP16 add(XSP16, 10)
|
|
CFI Block cfiPicker107 Using cfiCommon1
|
|
CFI (cfiPicker107) NoFunction
|
|
CFI (cfiPicker107) Picker
|
|
LCALL ?Subroutine28 & 0xFFFF
|
|
??CrossCallReturnLabel_61:
|
|
RET
|
|
CFI EndBlock cfiCond100
|
|
CFI EndBlock cfiCond101
|
|
CFI EndBlock cfiCond102
|
|
CFI EndBlock cfiCond103
|
|
CFI EndBlock cfiCond104
|
|
CFI EndBlock cfiCond105
|
|
CFI EndBlock cfiCond106
|
|
CFI EndBlock cfiPicker107
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine28:
|
|
CFI Block cfiCond108 Using cfiCommon0
|
|
CFI Function osal_memcpy
|
|
CFI Conditional ??CrossCallReturnLabel_58, ??CrossCallReturnLabel_8
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI CFA_SP SP+-4
|
|
CFI CFA_XSP16 add(XSP16, 9)
|
|
CFI Block cfiCond109 Using cfiCommon0
|
|
CFI (cfiCond109) Function osal_revmemcpy
|
|
CFI (cfiCond109) Conditional ??CrossCallReturnLabel_58, ??CrossCallReturnLabel_9
|
|
CFI (cfiCond109) R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond109) VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond109) V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond109) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond109) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond109) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond109) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond109) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond109) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond109) CFA_SP SP+-4
|
|
CFI (cfiCond109) CFA_XSP16 add(XSP16, 9)
|
|
CFI Block cfiCond110 Using cfiCommon0
|
|
CFI (cfiCond110) Function osal_memcmp
|
|
CFI (cfiCond110) Conditional ??CrossCallReturnLabel_58, ??CrossCallReturnLabel_10
|
|
CFI (cfiCond110) R6 load(1, XDATA, add(CFA_XSP16, literal(-15)))
|
|
CFI (cfiCond110) VB load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI (cfiCond110) V0 load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI (cfiCond110) V1 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond110) V2 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond110) V3 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond110) V4 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond110) V5 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond110) V6 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond110) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond110) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond110) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond110) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond110) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond110) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond110) CFA_SP SP+-4
|
|
CFI (cfiCond110) CFA_XSP16 add(XSP16, 18)
|
|
CFI Block cfiCond111 Using cfiCommon0
|
|
CFI (cfiCond111) Function _ltoa
|
|
CFI (cfiCond111) Conditional ??CrossCallReturnLabel_60, ??CrossCallReturnLabel_17
|
|
CFI (cfiCond111) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
|
|
CFI (cfiCond111) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
|
|
CFI (cfiCond111) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI (cfiCond111) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI (cfiCond111) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond111) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond111) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond111) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond111) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond111) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond111) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond111) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond111) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond111) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond111) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond111) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond111) CFA_SP SP+-4
|
|
CFI (cfiCond111) CFA_XSP16 add(XSP16, 53)
|
|
CFI Block cfiCond112 Using cfiCommon0
|
|
CFI (cfiCond112) Function _ltoa
|
|
CFI (cfiCond112) Conditional ??CrossCallReturnLabel_60, ??CrossCallReturnLabel_18
|
|
CFI (cfiCond112) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
|
|
CFI (cfiCond112) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
|
|
CFI (cfiCond112) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI (cfiCond112) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI (cfiCond112) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond112) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond112) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond112) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond112) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond112) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond112) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond112) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond112) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond112) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond112) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond112) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond112) CFA_SP SP+-4
|
|
CFI (cfiCond112) CFA_XSP16 add(XSP16, 53)
|
|
CFI Block cfiCond113 Using cfiCommon0
|
|
CFI (cfiCond113) Function _ltoa
|
|
CFI (cfiCond113) Conditional ??CrossCallReturnLabel_59, ??CrossCallReturnLabel_13
|
|
CFI (cfiCond113) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
|
|
CFI (cfiCond113) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
|
|
CFI (cfiCond113) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI (cfiCond113) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI (cfiCond113) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond113) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond113) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond113) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond113) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond113) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond113) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond113) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond113) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond113) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond113) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond113) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond113) CFA_SP SP+-4
|
|
CFI (cfiCond113) CFA_XSP16 add(XSP16, 53)
|
|
CFI Block cfiCond114 Using cfiCommon0
|
|
CFI (cfiCond114) Function _ltoa
|
|
CFI (cfiCond114) Conditional ??CrossCallReturnLabel_59, ??CrossCallReturnLabel_14
|
|
CFI (cfiCond114) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
|
|
CFI (cfiCond114) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
|
|
CFI (cfiCond114) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI (cfiCond114) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI (cfiCond114) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond114) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond114) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond114) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond114) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond114) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond114) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond114) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond114) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond114) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond114) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond114) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond114) CFA_SP SP+-4
|
|
CFI (cfiCond114) CFA_XSP16 add(XSP16, 53)
|
|
CFI Block cfiCond115 Using cfiCommon0
|
|
CFI (cfiCond115) Function osal_msg_enqueue
|
|
CFI (cfiCond115) Conditional ??CrossCallReturnLabel_61, ??CrossCallReturnLabel_56
|
|
CFI (cfiCond115) R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond115) VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond115) V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond115) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond115) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond115) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond115) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond115) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond115) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond115) CFA_SP SP+-4
|
|
CFI (cfiCond115) CFA_XSP16 add(XSP16, 9)
|
|
CFI Block cfiCond116 Using cfiCommon0
|
|
CFI (cfiCond116) Function osal_run_system
|
|
CFI (cfiCond116) Conditional ??CrossCallReturnLabel_61, ??CrossCallReturnLabel_57
|
|
CFI (cfiCond116) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond116) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond116) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond116) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond116) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond116) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond116) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond116) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond116) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond116) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond116) CFA_SP SP+-4
|
|
CFI (cfiCond116) CFA_XSP16 add(XSP16, 10)
|
|
CFI Block cfiCond117 Using cfiCommon0
|
|
CFI (cfiCond117) Function _ltoa
|
|
CFI (cfiCond117) Conditional ??CrossCallReturnLabel_61, ??CrossCallReturnLabel_51
|
|
CFI (cfiCond117) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
|
|
CFI (cfiCond117) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
|
|
CFI (cfiCond117) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI (cfiCond117) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI (cfiCond117) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond117) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond117) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond117) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond117) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond117) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond117) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond117) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond117) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond117) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond117) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond117) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond117) CFA_SP SP+-4
|
|
CFI (cfiCond117) CFA_XSP16 add(XSP16, 53)
|
|
CFI Block cfiCond118 Using cfiCommon0
|
|
CFI (cfiCond118) Function _ltoa
|
|
CFI (cfiCond118) Conditional ??CrossCallReturnLabel_61, ??CrossCallReturnLabel_52
|
|
CFI (cfiCond118) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
|
|
CFI (cfiCond118) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
|
|
CFI (cfiCond118) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI (cfiCond118) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI (cfiCond118) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond118) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond118) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond118) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond118) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond118) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond118) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond118) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond118) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond118) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond118) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond118) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond118) CFA_SP SP+-4
|
|
CFI (cfiCond118) CFA_XSP16 add(XSP16, 53)
|
|
CFI Block cfiCond119 Using cfiCommon0
|
|
CFI (cfiCond119) Function _ltoa
|
|
CFI (cfiCond119) Conditional ??CrossCallReturnLabel_61, ??CrossCallReturnLabel_53
|
|
CFI (cfiCond119) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
|
|
CFI (cfiCond119) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
|
|
CFI (cfiCond119) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI (cfiCond119) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI (cfiCond119) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond119) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond119) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond119) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond119) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond119) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond119) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond119) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond119) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond119) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond119) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond119) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond119) CFA_SP SP+-4
|
|
CFI (cfiCond119) CFA_XSP16 add(XSP16, 53)
|
|
CFI Block cfiCond120 Using cfiCommon0
|
|
CFI (cfiCond120) Function osal_msg_find
|
|
CFI (cfiCond120) Conditional ??CrossCallReturnLabel_61, ??CrossCallReturnLabel_54
|
|
CFI (cfiCond120) DPL0 Frame(CFA_SP, 4)
|
|
CFI (cfiCond120) DPH0 Frame(CFA_SP, 5)
|
|
CFI (cfiCond120) CFA_SP SP+-9
|
|
CFI Block cfiCond121 Using cfiCommon0
|
|
CFI (cfiCond121) Function osal_msg_dequeue
|
|
CFI (cfiCond121) Conditional ??CrossCallReturnLabel_61, ??CrossCallReturnLabel_55
|
|
CFI (cfiCond121) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond121) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond121) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond121) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond121) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond121) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond121) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond121) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond121) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond121) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond121) CFA_SP SP+-4
|
|
CFI (cfiCond121) CFA_XSP16 add(XSP16, 10)
|
|
CFI Block cfiPicker122 Using cfiCommon1
|
|
CFI (cfiPicker122) NoFunction
|
|
CFI (cfiPicker122) Picker
|
|
MOVX A,@DPTR
|
|
MOV R2,A
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
MOV R3,A
|
|
RET
|
|
CFI EndBlock cfiCond108
|
|
CFI EndBlock cfiCond109
|
|
CFI EndBlock cfiCond110
|
|
CFI EndBlock cfiCond111
|
|
CFI EndBlock cfiCond112
|
|
CFI EndBlock cfiCond113
|
|
CFI EndBlock cfiCond114
|
|
CFI EndBlock cfiCond115
|
|
CFI EndBlock cfiCond116
|
|
CFI EndBlock cfiCond117
|
|
CFI EndBlock cfiCond118
|
|
CFI EndBlock cfiCond119
|
|
CFI EndBlock cfiCond120
|
|
CFI EndBlock cfiCond121
|
|
CFI EndBlock cfiPicker122
|
|
// 713
|
|
// 714 /*********************************************************************
|
|
// 715 * @fn osal_msg_push
|
|
// 716 *
|
|
// 717 * @brief
|
|
// 718 *
|
|
// 719 * This function pushes an OSAL message to the head of an OSAL
|
|
// 720 * queue.
|
|
// 721 *
|
|
// 722 * @param osal_msg_q_t *q_ptr - OSAL queue
|
|
// 723 * @param void *msg_ptr - OSAL message
|
|
// 724 *
|
|
// 725 * @return none
|
|
// 726 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 727 void osal_msg_push( osal_msg_q_t *q_ptr, void *msg_ptr )
|
|
osal_msg_push:
|
|
CFI Block cfiBlock123 Using cfiCommon0
|
|
CFI Function osal_msg_push
|
|
CODE
|
|
// 728 {
|
|
MOV A,#-0x9
|
|
LCALL ?BANKED_ENTER_XDATA
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 9)
|
|
; Saved register size: 9
|
|
; Auto size: 0
|
|
// 729 halIntState_t intState;
|
|
// 730
|
|
// 731 // Hold off interrupts
|
|
// 732 HAL_ENTER_CRITICAL_SECTION(intState);
|
|
MOV R0,0xa8+0x0
|
|
CLR 0xa8.7
|
|
// 733
|
|
// 734 // Push message to head of queue
|
|
// 735 OSAL_MSG_NEXT( msg_ptr ) = *q_ptr;
|
|
MOV DPL,R2
|
|
MOV DPH,R3
|
|
MOVX A,@DPTR
|
|
MOV R6,A
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
MOV R7,A
|
|
LCALL ?Subroutine23 & 0xFFFF
|
|
??CrossCallReturnLabel_30:
|
|
LCALL ??Subroutine37_0 & 0xFFFF
|
|
??CrossCallReturnLabel_65:
|
|
LCALL ?Subroutine18 & 0xFFFF
|
|
// 736 *q_ptr = msg_ptr;
|
|
??CrossCallReturnLabel_43:
|
|
MOV A,R4
|
|
MOVX @DPTR,A
|
|
INC DPTR
|
|
MOV A,R5
|
|
MOVX @DPTR,A
|
|
// 737
|
|
// 738 // Re-enable interrupts
|
|
// 739 HAL_EXIT_CRITICAL_SECTION(intState);
|
|
MOV A,R0
|
|
MOV C,0xE0 /* A */.7
|
|
LJMP ??Subroutine30_0 & 0xFFFF
|
|
CFI EndBlock cfiBlock123
|
|
REQUIRE _A_IEN0
|
|
// 740 }
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine23:
|
|
CFI Block cfiCond124 Using cfiCommon0
|
|
CFI Function osal_msg_enqueue
|
|
CFI Conditional ??CrossCallReturnLabel_29
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI CFA_SP SP+-2
|
|
CFI CFA_XSP16 add(XSP16, 9)
|
|
CFI Block cfiCond125 Using cfiCommon0
|
|
CFI (cfiCond125) Function osal_msg_push
|
|
CFI (cfiCond125) Conditional ??CrossCallReturnLabel_30
|
|
CFI (cfiCond125) R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond125) VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond125) V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond125) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond125) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond125) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond125) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond125) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond125) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond125) CFA_SP SP+-2
|
|
CFI (cfiCond125) CFA_XSP16 add(XSP16, 9)
|
|
CFI Block cfiCond126 Using cfiCommon0
|
|
CFI (cfiCond126) Function osal_msg_extract
|
|
CFI (cfiCond126) Conditional ??CrossCallReturnLabel_31
|
|
CFI (cfiCond126) R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond126) VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond126) V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond126) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond126) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond126) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond126) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond126) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond126) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond126) CFA_SP SP+-2
|
|
CFI (cfiCond126) CFA_XSP16 add(XSP16, 9)
|
|
CFI Block cfiCond127 Using cfiCommon0
|
|
CFI (cfiCond127) Function osal_msg_extract
|
|
CFI (cfiCond127) Conditional ??CrossCallReturnLabel_32
|
|
CFI (cfiCond127) R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond127) VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond127) V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond127) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond127) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond127) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond127) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond127) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond127) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond127) CFA_SP SP+-2
|
|
CFI (cfiCond127) CFA_XSP16 add(XSP16, 9)
|
|
CFI Block cfiCond128 Using cfiCommon0
|
|
CFI (cfiCond128) Function osal_msg_extract
|
|
CFI (cfiCond128) Conditional ??CrossCallReturnLabel_33
|
|
CFI (cfiCond128) R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond128) VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond128) V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond128) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond128) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond128) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond128) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond128) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond128) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond128) CFA_SP SP+-2
|
|
CFI (cfiCond128) CFA_XSP16 add(XSP16, 9)
|
|
CFI Block cfiPicker129 Using cfiCommon1
|
|
CFI (cfiPicker129) NoFunction
|
|
CFI (cfiPicker129) Picker
|
|
MOV A,R4
|
|
LCALL ??Subroutine38_0 & 0xFFFF
|
|
??CrossCallReturnLabel_77:
|
|
MOV A,R5
|
|
RET
|
|
CFI EndBlock cfiCond124
|
|
CFI EndBlock cfiCond125
|
|
CFI EndBlock cfiCond126
|
|
CFI EndBlock cfiCond127
|
|
CFI EndBlock cfiCond128
|
|
CFI EndBlock cfiPicker129
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine22:
|
|
CFI Block cfiCond130 Using cfiCommon0
|
|
CFI Function osal_msg_receive
|
|
CFI Conditional ??CrossCallReturnLabel_70
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI CFA_SP SP+-2
|
|
CFI CFA_XSP16 add(XSP16, 12)
|
|
CFI Block cfiCond131 Using cfiCommon0
|
|
CFI (cfiCond131) Function osal_msg_enqueue
|
|
CFI (cfiCond131) Conditional ??CrossCallReturnLabel_71
|
|
CFI (cfiCond131) R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond131) VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond131) V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond131) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond131) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond131) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond131) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond131) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond131) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond131) CFA_SP SP+-2
|
|
CFI (cfiCond131) CFA_XSP16 add(XSP16, 9)
|
|
CFI Block cfiCond132 Using cfiCommon0
|
|
CFI (cfiCond132) Function osal_msg_enqueue_max
|
|
CFI (cfiCond132) Conditional ??CrossCallReturnLabel_72
|
|
CFI (cfiCond132) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond132) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond132) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond132) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond132) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond132) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond132) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond132) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond132) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond132) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond132) CFA_SP SP+-2
|
|
CFI (cfiCond132) CFA_XSP16 add(XSP16, 10)
|
|
CFI Block cfiCond133 Using cfiCommon0
|
|
CFI (cfiCond133) Function osal_msg_enqueue_max
|
|
CFI (cfiCond133) Conditional ??CrossCallReturnLabel_73
|
|
CFI (cfiCond133) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond133) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond133) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond133) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond133) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond133) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond133) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond133) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond133) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond133) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond133) CFA_SP SP+-2
|
|
CFI (cfiCond133) CFA_XSP16 add(XSP16, 10)
|
|
CFI Block cfiPicker134 Using cfiCommon1
|
|
CFI (cfiPicker134) NoFunction
|
|
CFI (cfiPicker134) Picker
|
|
MOV A,R0
|
|
ADD A,#-0x5
|
|
CFI EndBlock cfiCond130
|
|
CFI EndBlock cfiCond131
|
|
CFI EndBlock cfiCond132
|
|
CFI EndBlock cfiCond133
|
|
CFI EndBlock cfiPicker134
|
|
REQUIRE ??Subroutine36_0
|
|
; // Fall through to label ??Subroutine36_0
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
??Subroutine36_0:
|
|
CFI Block cfiCond135 Using cfiCommon0
|
|
CFI Function osal_msg_receive
|
|
CFI Conditional ??CrossCallReturnLabel_69
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI CFA_SP SP+-2
|
|
CFI CFA_XSP16 add(XSP16, 12)
|
|
CFI Block cfiCond136 Using cfiCommon0
|
|
CFI (cfiCond136) Function osal_msg_receive
|
|
CFI (cfiCond136) Conditional ??CrossCallReturnLabel_70
|
|
CFI (cfiCond136) R6 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond136) VB load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond136) V0 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond136) V1 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond136) V2 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond136) V3 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond136) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond136) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond136) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond136) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond136) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond136) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond136) CFA_SP SP+-2
|
|
CFI (cfiCond136) CFA_XSP16 add(XSP16, 12)
|
|
CFI Block cfiCond137 Using cfiCommon0
|
|
CFI (cfiCond137) Function osal_msg_enqueue
|
|
CFI (cfiCond137) Conditional ??CrossCallReturnLabel_71
|
|
CFI (cfiCond137) R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond137) VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond137) V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond137) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond137) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond137) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond137) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond137) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond137) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond137) CFA_SP SP+-2
|
|
CFI (cfiCond137) CFA_XSP16 add(XSP16, 9)
|
|
CFI Block cfiCond138 Using cfiCommon0
|
|
CFI (cfiCond138) Function osal_msg_enqueue_max
|
|
CFI (cfiCond138) Conditional ??CrossCallReturnLabel_72
|
|
CFI (cfiCond138) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond138) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond138) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond138) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond138) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond138) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond138) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond138) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond138) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond138) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond138) CFA_SP SP+-2
|
|
CFI (cfiCond138) CFA_XSP16 add(XSP16, 10)
|
|
CFI Block cfiCond139 Using cfiCommon0
|
|
CFI (cfiCond139) Function osal_msg_enqueue_max
|
|
CFI (cfiCond139) Conditional ??CrossCallReturnLabel_73
|
|
CFI (cfiCond139) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond139) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond139) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond139) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond139) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond139) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond139) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond139) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond139) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond139) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond139) CFA_SP SP+-2
|
|
CFI (cfiCond139) CFA_XSP16 add(XSP16, 10)
|
|
CFI Block cfiPicker140 Using cfiCommon1
|
|
CFI (cfiPicker140) NoFunction
|
|
CFI (cfiPicker140) Picker
|
|
MOV DPL,A
|
|
MOV A,R1
|
|
CFI EndBlock cfiCond135
|
|
CFI EndBlock cfiCond136
|
|
CFI EndBlock cfiCond137
|
|
CFI EndBlock cfiCond138
|
|
CFI EndBlock cfiCond139
|
|
CFI EndBlock cfiPicker140
|
|
REQUIRE ??Subroutine37_0
|
|
; // Fall through to label ??Subroutine37_0
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
??Subroutine37_0:
|
|
CFI Block cfiCond141 Using cfiCommon0
|
|
CFI Function osal_msg_send
|
|
CFI Conditional ??CrossCallReturnLabel_62
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI CFA_SP SP+-2
|
|
CFI CFA_XSP16 add(XSP16, 9)
|
|
CFI Block cfiCond142 Using cfiCommon0
|
|
CFI (cfiCond142) Function osal_msg_find
|
|
CFI (cfiCond142) Conditional ??CrossCallReturnLabel_63
|
|
CFI (cfiCond142) DPL0 Frame(CFA_SP, 4)
|
|
CFI (cfiCond142) DPH0 Frame(CFA_SP, 5)
|
|
CFI (cfiCond142) CFA_SP SP+-7
|
|
CFI Block cfiCond143 Using cfiCommon0
|
|
CFI (cfiCond143) Function osal_msg_enqueue
|
|
CFI (cfiCond143) Conditional ??CrossCallReturnLabel_64
|
|
CFI (cfiCond143) R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond143) VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond143) V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond143) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond143) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond143) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond143) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond143) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond143) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond143) CFA_SP SP+-2
|
|
CFI (cfiCond143) CFA_XSP16 add(XSP16, 9)
|
|
CFI Block cfiCond144 Using cfiCommon0
|
|
CFI (cfiCond144) Function osal_msg_push
|
|
CFI (cfiCond144) Conditional ??CrossCallReturnLabel_65
|
|
CFI (cfiCond144) R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond144) VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond144) V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond144) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond144) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond144) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond144) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond144) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond144) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond144) CFA_SP SP+-2
|
|
CFI (cfiCond144) CFA_XSP16 add(XSP16, 9)
|
|
CFI Block cfiCond145 Using cfiCommon0
|
|
CFI (cfiCond145) Function osal_msg_extract
|
|
CFI (cfiCond145) Conditional ??CrossCallReturnLabel_66
|
|
CFI (cfiCond145) R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond145) VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond145) V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond145) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond145) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond145) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond145) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond145) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond145) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond145) CFA_SP SP+-2
|
|
CFI (cfiCond145) CFA_XSP16 add(XSP16, 9)
|
|
CFI Block cfiCond146 Using cfiCommon0
|
|
CFI (cfiCond146) Function osal_msg_extract
|
|
CFI (cfiCond146) Conditional ??CrossCallReturnLabel_67
|
|
CFI (cfiCond146) R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond146) VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond146) V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond146) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond146) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond146) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond146) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond146) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond146) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond146) CFA_SP SP+-2
|
|
CFI (cfiCond146) CFA_XSP16 add(XSP16, 9)
|
|
CFI Block cfiCond147 Using cfiCommon0
|
|
CFI (cfiCond147) Function osal_msg_extract
|
|
CFI (cfiCond147) Conditional ??CrossCallReturnLabel_68
|
|
CFI (cfiCond147) R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond147) VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond147) V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond147) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond147) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond147) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond147) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond147) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond147) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond147) CFA_SP SP+-2
|
|
CFI (cfiCond147) CFA_XSP16 add(XSP16, 9)
|
|
CFI Block cfiCond148 Using cfiCommon0
|
|
CFI (cfiCond148) Function osal_msg_receive
|
|
CFI (cfiCond148) Conditional ??CrossCallReturnLabel_69
|
|
CFI (cfiCond148) R6 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond148) VB load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond148) V0 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond148) V1 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond148) V2 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond148) V3 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond148) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond148) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond148) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond148) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond148) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond148) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond148) CFA_SP SP+-2
|
|
CFI (cfiCond148) CFA_XSP16 add(XSP16, 12)
|
|
CFI Block cfiCond149 Using cfiCommon0
|
|
CFI (cfiCond149) Function osal_msg_receive
|
|
CFI (cfiCond149) Conditional ??CrossCallReturnLabel_70
|
|
CFI (cfiCond149) R6 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond149) VB load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond149) V0 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond149) V1 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond149) V2 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond149) V3 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond149) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond149) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond149) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond149) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond149) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond149) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond149) CFA_SP SP+-2
|
|
CFI (cfiCond149) CFA_XSP16 add(XSP16, 12)
|
|
CFI Block cfiCond150 Using cfiCommon0
|
|
CFI (cfiCond150) Function osal_msg_enqueue
|
|
CFI (cfiCond150) Conditional ??CrossCallReturnLabel_71
|
|
CFI (cfiCond150) R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond150) VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond150) V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond150) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond150) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond150) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond150) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond150) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond150) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond150) CFA_SP SP+-2
|
|
CFI (cfiCond150) CFA_XSP16 add(XSP16, 9)
|
|
CFI Block cfiCond151 Using cfiCommon0
|
|
CFI (cfiCond151) Function osal_msg_enqueue_max
|
|
CFI (cfiCond151) Conditional ??CrossCallReturnLabel_72
|
|
CFI (cfiCond151) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond151) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond151) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond151) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond151) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond151) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond151) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond151) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond151) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond151) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond151) CFA_SP SP+-2
|
|
CFI (cfiCond151) CFA_XSP16 add(XSP16, 10)
|
|
CFI Block cfiCond152 Using cfiCommon0
|
|
CFI (cfiCond152) Function osal_msg_enqueue_max
|
|
CFI (cfiCond152) Conditional ??CrossCallReturnLabel_73
|
|
CFI (cfiCond152) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond152) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond152) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond152) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond152) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond152) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond152) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond152) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond152) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond152) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond152) CFA_SP SP+-2
|
|
CFI (cfiCond152) CFA_XSP16 add(XSP16, 10)
|
|
CFI Block cfiPicker153 Using cfiCommon1
|
|
CFI (cfiPicker153) NoFunction
|
|
CFI (cfiPicker153) Picker
|
|
ADDC A,#-0x1
|
|
MOV DPH,A
|
|
RET
|
|
CFI EndBlock cfiCond141
|
|
CFI EndBlock cfiCond142
|
|
CFI EndBlock cfiCond143
|
|
CFI EndBlock cfiCond144
|
|
CFI EndBlock cfiCond145
|
|
CFI EndBlock cfiCond146
|
|
CFI EndBlock cfiCond147
|
|
CFI EndBlock cfiCond148
|
|
CFI EndBlock cfiCond149
|
|
CFI EndBlock cfiCond150
|
|
CFI EndBlock cfiCond151
|
|
CFI EndBlock cfiCond152
|
|
CFI EndBlock cfiPicker153
|
|
// 741
|
|
// 742 /*********************************************************************
|
|
// 743 * @fn osal_msg_extract
|
|
// 744 *
|
|
// 745 * @brief
|
|
// 746 *
|
|
// 747 * This function extracts and removes an OSAL message from the
|
|
// 748 * middle of an OSAL queue.
|
|
// 749 *
|
|
// 750 * @param osal_msg_q_t *q_ptr - OSAL queue
|
|
// 751 * @param void *msg_ptr - OSAL message to be extracted
|
|
// 752 * @param void *prev_ptr - OSAL message before msg_ptr in queue
|
|
// 753 *
|
|
// 754 * @return none
|
|
// 755 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 756 void osal_msg_extract( osal_msg_q_t *q_ptr, void *msg_ptr, void *prev_ptr )
|
|
osal_msg_extract:
|
|
CFI Block cfiBlock154 Using cfiCommon0
|
|
CFI Function osal_msg_extract
|
|
CODE
|
|
// 757 {
|
|
MOV A,#-0x9
|
|
LCALL ?BANKED_ENTER_XDATA
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 9)
|
|
; Saved register size: 9
|
|
; Auto size: 0
|
|
// 758 halIntState_t intState;
|
|
// 759
|
|
// 760 // Hold off interrupts
|
|
// 761 HAL_ENTER_CRITICAL_SECTION(intState);
|
|
MOV C,0xa8.7
|
|
CLR A
|
|
RLC A
|
|
MOV R6,A
|
|
CLR 0xa8.7
|
|
// 762
|
|
// 763 if ( msg_ptr == *q_ptr )
|
|
MOV DPL,R2
|
|
MOV DPH,R3
|
|
LCALL ??Subroutine34_0 & 0xFFFF
|
|
??CrossCallReturnLabel_46:
|
|
MOV A,R4
|
|
XRL A,R0
|
|
JNZ ??osal_msg_extract_0
|
|
MOV A,R5
|
|
XRL A,R1
|
|
??osal_msg_extract_0:
|
|
JNZ ??osal_msg_extract_1
|
|
// 764 {
|
|
// 765 // remove from first
|
|
// 766 *q_ptr = OSAL_MSG_NEXT( msg_ptr );
|
|
LCALL ?Subroutine23 & 0xFFFF
|
|
// 767 }
|
|
??CrossCallReturnLabel_31:
|
|
LCALL ??Subroutine33_0 & 0xFFFF
|
|
??CrossCallReturnLabel_47:
|
|
MOV DPL,R2
|
|
MOV DPH,R3
|
|
SJMP ??CrossCallReturnLabel_66
|
|
// 768 else
|
|
// 769 {
|
|
// 770 // remove from middle
|
|
// 771 OSAL_MSG_NEXT( prev_ptr ) = OSAL_MSG_NEXT( msg_ptr );
|
|
??osal_msg_extract_1:
|
|
LCALL ?Subroutine23 & 0xFFFF
|
|
// 772 }
|
|
??CrossCallReturnLabel_32:
|
|
LCALL ??Subroutine33_0 & 0xFFFF
|
|
??CrossCallReturnLabel_48:
|
|
MOV A,#0x9
|
|
LCALL ?XSTACK_DISP0_8
|
|
MOVX A,@DPTR
|
|
MOV R2,A
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
XCH A,R2
|
|
LCALL ??Subroutine38_0 & 0xFFFF
|
|
??CrossCallReturnLabel_75:
|
|
MOV A,R2
|
|
LCALL ??Subroutine37_0 & 0xFFFF
|
|
??CrossCallReturnLabel_66:
|
|
MOV A,R0
|
|
MOVX @DPTR,A
|
|
INC DPTR
|
|
MOV A,R1
|
|
MOVX @DPTR,A
|
|
// 773 OSAL_MSG_NEXT( msg_ptr ) = NULL;
|
|
LCALL ?Subroutine23 & 0xFFFF
|
|
??CrossCallReturnLabel_33:
|
|
LCALL ??Subroutine37_0 & 0xFFFF
|
|
??CrossCallReturnLabel_67:
|
|
CLR A
|
|
MOVX @DPTR,A
|
|
INC DPTR
|
|
MOVX @DPTR,A
|
|
// 774 OSAL_MSG_ID( msg_ptr ) = TASK_NO_TASK;
|
|
MOV A,R4
|
|
ADD A,#-0x1
|
|
MOV DPL,A
|
|
MOV A,R5
|
|
LCALL ??Subroutine37_0 & 0xFFFF
|
|
??CrossCallReturnLabel_68:
|
|
MOV A,#-0x1
|
|
LJMP ?Subroutine1 & 0xFFFF
|
|
CFI EndBlock cfiBlock154
|
|
REQUIRE _A_IEN0
|
|
// 775
|
|
// 776 // Re-enable interrupts
|
|
// 777 HAL_EXIT_CRITICAL_SECTION(intState);
|
|
// 778 }
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine29:
|
|
CFI Block cfiCond155 Using cfiCommon0
|
|
CFI Function osal_msg_send
|
|
CFI Conditional ??CrossCallReturnLabel_78
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI CFA_SP SP+-2
|
|
CFI CFA_XSP16 add(XSP16, 9)
|
|
CFI Block cfiCond156 Using cfiCommon0
|
|
CFI (cfiCond156) Function osal_msg_find
|
|
CFI (cfiCond156) Conditional ??CrossCallReturnLabel_79
|
|
CFI (cfiCond156) DPL0 Frame(CFA_SP, 4)
|
|
CFI (cfiCond156) DPH0 Frame(CFA_SP, 5)
|
|
CFI (cfiCond156) CFA_SP SP+-7
|
|
CFI Block cfiPicker157 Using cfiCommon1
|
|
CFI (cfiPicker157) NoFunction
|
|
CFI (cfiPicker157) Picker
|
|
MOV A,R2
|
|
CFI EndBlock cfiCond155
|
|
CFI EndBlock cfiCond156
|
|
CFI EndBlock cfiPicker157
|
|
REQUIRE ??Subroutine38_0
|
|
; // Fall through to label ??Subroutine38_0
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
??Subroutine38_0:
|
|
CFI Block cfiCond158 Using cfiCommon0
|
|
CFI Function osal_msg_enqueue
|
|
CFI Conditional ??CrossCallReturnLabel_74
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI CFA_SP SP+-2
|
|
CFI CFA_XSP16 add(XSP16, 9)
|
|
CFI Block cfiCond159 Using cfiCommon0
|
|
CFI (cfiCond159) Function osal_msg_enqueue
|
|
CFI (cfiCond159) Conditional ??CrossCallReturnLabel_76, ??CrossCallReturnLabel_49
|
|
CFI (cfiCond159) R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond159) VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond159) V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond159) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond159) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond159) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond159) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond159) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond159) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond159) CFA_SP SP+-4
|
|
CFI (cfiCond159) CFA_XSP16 add(XSP16, 9)
|
|
CFI Block cfiCond160 Using cfiCommon0
|
|
CFI (cfiCond160) Function osal_msg_enqueue_max
|
|
CFI (cfiCond160) Conditional ??CrossCallReturnLabel_76, ??CrossCallReturnLabel_50
|
|
CFI (cfiCond160) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond160) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond160) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond160) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond160) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond160) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond160) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond160) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond160) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond160) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond160) CFA_SP SP+-4
|
|
CFI (cfiCond160) CFA_XSP16 add(XSP16, 10)
|
|
CFI Block cfiCond161 Using cfiCommon0
|
|
CFI (cfiCond161) Function osal_msg_enqueue
|
|
CFI (cfiCond161) Conditional ??CrossCallReturnLabel_77, ??CrossCallReturnLabel_29
|
|
CFI (cfiCond161) R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond161) VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond161) V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond161) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond161) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond161) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond161) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond161) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond161) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond161) CFA_SP SP+-4
|
|
CFI (cfiCond161) CFA_XSP16 add(XSP16, 9)
|
|
CFI Block cfiCond162 Using cfiCommon0
|
|
CFI (cfiCond162) Function osal_msg_push
|
|
CFI (cfiCond162) Conditional ??CrossCallReturnLabel_77, ??CrossCallReturnLabel_30
|
|
CFI (cfiCond162) R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond162) VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond162) V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond162) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond162) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond162) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond162) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond162) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond162) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond162) CFA_SP SP+-4
|
|
CFI (cfiCond162) CFA_XSP16 add(XSP16, 9)
|
|
CFI Block cfiCond163 Using cfiCommon0
|
|
CFI (cfiCond163) Function osal_msg_extract
|
|
CFI (cfiCond163) Conditional ??CrossCallReturnLabel_77, ??CrossCallReturnLabel_31
|
|
CFI (cfiCond163) R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond163) VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond163) V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond163) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond163) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond163) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond163) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond163) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond163) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond163) CFA_SP SP+-4
|
|
CFI (cfiCond163) CFA_XSP16 add(XSP16, 9)
|
|
CFI Block cfiCond164 Using cfiCommon0
|
|
CFI (cfiCond164) Function osal_msg_extract
|
|
CFI (cfiCond164) Conditional ??CrossCallReturnLabel_77, ??CrossCallReturnLabel_32
|
|
CFI (cfiCond164) R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond164) VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond164) V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond164) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond164) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond164) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond164) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond164) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond164) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond164) CFA_SP SP+-4
|
|
CFI (cfiCond164) CFA_XSP16 add(XSP16, 9)
|
|
CFI Block cfiCond165 Using cfiCommon0
|
|
CFI (cfiCond165) Function osal_msg_extract
|
|
CFI (cfiCond165) Conditional ??CrossCallReturnLabel_77, ??CrossCallReturnLabel_33
|
|
CFI (cfiCond165) R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond165) VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond165) V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond165) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond165) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond165) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond165) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond165) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond165) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond165) CFA_SP SP+-4
|
|
CFI (cfiCond165) CFA_XSP16 add(XSP16, 9)
|
|
CFI Block cfiCond166 Using cfiCommon0
|
|
CFI (cfiCond166) Function osal_msg_extract
|
|
CFI (cfiCond166) Conditional ??CrossCallReturnLabel_75
|
|
CFI (cfiCond166) R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond166) VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond166) V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond166) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond166) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond166) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond166) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond166) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond166) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond166) CFA_SP SP+-2
|
|
CFI (cfiCond166) CFA_XSP16 add(XSP16, 9)
|
|
CFI Block cfiCond167 Using cfiCommon0
|
|
CFI (cfiCond167) Function osal_msg_send
|
|
CFI (cfiCond167) Conditional ??CrossCallReturnLabel_78
|
|
CFI (cfiCond167) R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond167) VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond167) V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond167) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond167) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond167) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond167) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond167) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond167) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond167) CFA_SP SP+-2
|
|
CFI (cfiCond167) CFA_XSP16 add(XSP16, 9)
|
|
CFI Block cfiCond168 Using cfiCommon0
|
|
CFI (cfiCond168) Function osal_msg_find
|
|
CFI (cfiCond168) Conditional ??CrossCallReturnLabel_79
|
|
CFI (cfiCond168) DPL0 Frame(CFA_SP, 4)
|
|
CFI (cfiCond168) DPH0 Frame(CFA_SP, 5)
|
|
CFI (cfiCond168) CFA_SP SP+-7
|
|
CFI Block cfiPicker169 Using cfiCommon1
|
|
CFI (cfiPicker169) NoFunction
|
|
CFI (cfiPicker169) Picker
|
|
ADD A,#-0x5
|
|
MOV DPL,A
|
|
RET
|
|
CFI EndBlock cfiCond158
|
|
CFI EndBlock cfiCond159
|
|
CFI EndBlock cfiCond160
|
|
CFI EndBlock cfiCond161
|
|
CFI EndBlock cfiCond162
|
|
CFI EndBlock cfiCond163
|
|
CFI EndBlock cfiCond164
|
|
CFI EndBlock cfiCond165
|
|
CFI EndBlock cfiCond166
|
|
CFI EndBlock cfiCond167
|
|
CFI EndBlock cfiCond168
|
|
CFI EndBlock cfiPicker169
|
|
// 779
|
|
// 780 /*********************************************************************
|
|
// 781 * @fn osal_msg_enqueue_max
|
|
// 782 *
|
|
// 783 * @brief
|
|
// 784 *
|
|
// 785 * This function enqueues an OSAL message into an OSAL queue if
|
|
// 786 * the length of the queue is less than max.
|
|
// 787 *
|
|
// 788 * @param osal_msg_q_t *q_ptr - OSAL queue
|
|
// 789 * @param void *msg_ptr - OSAL message
|
|
// 790 * @param uint8 max - maximum length of queue
|
|
// 791 *
|
|
// 792 * @return TRUE if message was enqueued, FALSE otherwise
|
|
// 793 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 794 uint8 osal_msg_enqueue_max( osal_msg_q_t *q_ptr, void *msg_ptr, uint8 max )
|
|
osal_msg_enqueue_max:
|
|
CFI Block cfiBlock170 Using cfiCommon0
|
|
CFI Function osal_msg_enqueue_max
|
|
CODE
|
|
// 795 {
|
|
REQUIRE ?V0
|
|
REQUIRE ?V1
|
|
MOV A,#-0xa
|
|
LCALL ?BANKED_ENTER_XDATA
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 10)
|
|
; Saved register size: 10
|
|
; Auto size: 0
|
|
MOV ?V0,R2
|
|
MOV ?V1,R3
|
|
MOV A,R1
|
|
MOV R6,A
|
|
// 796 void *list;
|
|
// 797 uint8 ret = FALSE;
|
|
MOV R2,#0x0
|
|
// 798 halIntState_t intState;
|
|
// 799
|
|
// 800 // Hold off interrupts
|
|
// 801 HAL_ENTER_CRITICAL_SECTION(intState);
|
|
MOV C,0xa8.7
|
|
CLR A
|
|
RLC A
|
|
MOV R3,A
|
|
CLR 0xa8.7
|
|
// 802
|
|
// 803 // If first message in queue
|
|
// 804 if ( *q_ptr == NULL )
|
|
MOV DPL,?V0
|
|
MOV DPH,?V1
|
|
LCALL ??Subroutine39_0 & 0xFFFF
|
|
??CrossCallReturnLabel_83:
|
|
JNZ ??CrossCallReturnLabel_50
|
|
// 805 {
|
|
// 806 *q_ptr = msg_ptr;
|
|
MOV DPL,?V0
|
|
MOV DPH,?V1
|
|
SJMP ??CrossCallReturnLabel_73
|
|
// 807 ret = TRUE;
|
|
// 808 }
|
|
// 809 else
|
|
// 810 {
|
|
// 811 // Find end of queue or max
|
|
// 812 list = *q_ptr;
|
|
// 813 max--;
|
|
// 814 while ( (OSAL_MSG_NEXT( list ) != NULL) && (max > 0) )
|
|
??osal_msg_enqueue_max_0:
|
|
MOV A,R6
|
|
JZ ??osal_msg_enqueue_max_1
|
|
// 815 {
|
|
// 816 list = OSAL_MSG_NEXT( list );
|
|
LCALL ?Subroutine11 & 0xFFFF
|
|
// 817 max--;
|
|
??CrossCallReturnLabel_50:
|
|
DEC R6
|
|
// 818 }
|
|
LCALL ?Subroutine22 & 0xFFFF
|
|
??CrossCallReturnLabel_72:
|
|
MOVX A,@DPTR
|
|
MOV ?V0,A
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
MOV ?V1,A
|
|
MOV A,?V0
|
|
ORL A,?V1
|
|
JNZ ??osal_msg_enqueue_max_0
|
|
// 819
|
|
// 820 // Add message to end of queue if max not reached
|
|
// 821 if ( max != 0 )
|
|
MOV A,R6
|
|
JZ ??osal_msg_enqueue_max_1
|
|
// 822 {
|
|
// 823 OSAL_MSG_NEXT( list ) = msg_ptr;
|
|
LCALL ?Subroutine22 & 0xFFFF
|
|
??CrossCallReturnLabel_73:
|
|
MOV A,R4
|
|
MOVX @DPTR,A
|
|
INC DPTR
|
|
MOV A,R5
|
|
MOVX @DPTR,A
|
|
// 824 ret = TRUE;
|
|
MOV R2,#0x1
|
|
// 825 }
|
|
// 826 }
|
|
// 827
|
|
// 828 // Re-enable interrupts
|
|
// 829 HAL_EXIT_CRITICAL_SECTION(intState);
|
|
??osal_msg_enqueue_max_1:
|
|
MOV A,R3
|
|
MOV C,0xE0 /* A */.0
|
|
MOV 0xa8.7,C
|
|
// 830
|
|
// 831 return ret;
|
|
MOV A,R2
|
|
MOV R1,A
|
|
LJMP ?Subroutine3 & 0xFFFF
|
|
CFI EndBlock cfiBlock170
|
|
REQUIRE _A_IEN0
|
|
// 832 }
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine6:
|
|
CFI Block cfiCond171 Using cfiCommon0
|
|
CFI Function _ltoa
|
|
CFI Conditional ??CrossCallReturnLabel_85
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI CFA_SP SP+-2
|
|
CFI CFA_XSP16 add(XSP16, 53)
|
|
CFI Block cfiCond172 Using cfiCommon0
|
|
CFI (cfiCond172) Function _ltoa
|
|
CFI (cfiCond172) Conditional ??CrossCallReturnLabel_86
|
|
CFI (cfiCond172) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
|
|
CFI (cfiCond172) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
|
|
CFI (cfiCond172) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI (cfiCond172) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI (cfiCond172) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond172) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond172) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond172) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond172) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond172) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond172) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond172) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond172) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond172) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond172) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond172) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond172) CFA_SP SP+-2
|
|
CFI (cfiCond172) CFA_XSP16 add(XSP16, 53)
|
|
CFI Block cfiCond173 Using cfiCommon0
|
|
CFI (cfiCond173) Function _ltoa
|
|
CFI (cfiCond173) Conditional ??CrossCallReturnLabel_87
|
|
CFI (cfiCond173) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
|
|
CFI (cfiCond173) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
|
|
CFI (cfiCond173) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI (cfiCond173) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI (cfiCond173) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond173) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond173) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond173) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond173) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond173) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond173) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond173) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond173) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond173) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond173) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond173) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond173) CFA_SP SP+-2
|
|
CFI (cfiCond173) CFA_XSP16 add(XSP16, 53)
|
|
CFI Block cfiPicker174 Using cfiCommon1
|
|
CFI (cfiPicker174) NoFunction
|
|
CFI (cfiPicker174) Picker
|
|
MOV DPL,?XSP + 0
|
|
MOV DPH,?XSP + 1
|
|
CFI EndBlock cfiCond171
|
|
CFI EndBlock cfiCond172
|
|
CFI EndBlock cfiCond173
|
|
CFI EndBlock cfiPicker174
|
|
REQUIRE ??Subroutine39_0
|
|
; // Fall through to label ??Subroutine39_0
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
??Subroutine39_0:
|
|
CFI Block cfiCond175 Using cfiCommon0
|
|
CFI Function osal_msg_send
|
|
CFI Conditional ??CrossCallReturnLabel_81
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI CFA_SP SP+-2
|
|
CFI CFA_XSP16 add(XSP16, 9)
|
|
CFI Block cfiCond176 Using cfiCommon0
|
|
CFI (cfiCond176) Function osal_msg_receive
|
|
CFI (cfiCond176) Conditional ??CrossCallReturnLabel_80
|
|
CFI (cfiCond176) R6 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond176) VB load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond176) V0 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond176) V1 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond176) V2 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond176) V3 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond176) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond176) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond176) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond176) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond176) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond176) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond176) CFA_SP SP+-2
|
|
CFI (cfiCond176) CFA_XSP16 add(XSP16, 12)
|
|
CFI Block cfiCond177 Using cfiCommon0
|
|
CFI (cfiCond177) Function osal_msg_enqueue
|
|
CFI (cfiCond177) Conditional ??CrossCallReturnLabel_82
|
|
CFI (cfiCond177) R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond177) VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond177) V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond177) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond177) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond177) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond177) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond177) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond177) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond177) CFA_SP SP+-2
|
|
CFI (cfiCond177) CFA_XSP16 add(XSP16, 9)
|
|
CFI Block cfiCond178 Using cfiCommon0
|
|
CFI (cfiCond178) Function osal_msg_enqueue_max
|
|
CFI (cfiCond178) Conditional ??CrossCallReturnLabel_83
|
|
CFI (cfiCond178) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond178) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond178) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond178) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond178) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond178) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond178) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond178) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond178) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond178) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond178) CFA_SP SP+-2
|
|
CFI (cfiCond178) CFA_XSP16 add(XSP16, 10)
|
|
CFI Block cfiCond179 Using cfiCommon0
|
|
CFI (cfiCond179) Function osal_run_system
|
|
CFI (cfiCond179) Conditional ??CrossCallReturnLabel_84
|
|
CFI (cfiCond179) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond179) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond179) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond179) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond179) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond179) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond179) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond179) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond179) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond179) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond179) CFA_SP SP+-2
|
|
CFI (cfiCond179) CFA_XSP16 add(XSP16, 10)
|
|
CFI Block cfiCond180 Using cfiCommon0
|
|
CFI (cfiCond180) Function _ltoa
|
|
CFI (cfiCond180) Conditional ??CrossCallReturnLabel_85
|
|
CFI (cfiCond180) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
|
|
CFI (cfiCond180) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
|
|
CFI (cfiCond180) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI (cfiCond180) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI (cfiCond180) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond180) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond180) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond180) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond180) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond180) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond180) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond180) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond180) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond180) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond180) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond180) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond180) CFA_SP SP+-2
|
|
CFI (cfiCond180) CFA_XSP16 add(XSP16, 53)
|
|
CFI Block cfiCond181 Using cfiCommon0
|
|
CFI (cfiCond181) Function _ltoa
|
|
CFI (cfiCond181) Conditional ??CrossCallReturnLabel_86
|
|
CFI (cfiCond181) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
|
|
CFI (cfiCond181) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
|
|
CFI (cfiCond181) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI (cfiCond181) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI (cfiCond181) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond181) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond181) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond181) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond181) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond181) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond181) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond181) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond181) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond181) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond181) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond181) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond181) CFA_SP SP+-2
|
|
CFI (cfiCond181) CFA_XSP16 add(XSP16, 53)
|
|
CFI Block cfiCond182 Using cfiCommon0
|
|
CFI (cfiCond182) Function _ltoa
|
|
CFI (cfiCond182) Conditional ??CrossCallReturnLabel_87
|
|
CFI (cfiCond182) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
|
|
CFI (cfiCond182) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
|
|
CFI (cfiCond182) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI (cfiCond182) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI (cfiCond182) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond182) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond182) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond182) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond182) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond182) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond182) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond182) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond182) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond182) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond182) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond182) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond182) CFA_SP SP+-2
|
|
CFI (cfiCond182) CFA_XSP16 add(XSP16, 53)
|
|
CFI Block cfiPicker183 Using cfiCommon1
|
|
CFI (cfiPicker183) NoFunction
|
|
CFI (cfiPicker183) Picker
|
|
MOVX A,@DPTR
|
|
MOV R0,A
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
MOV R1,A
|
|
MOV A,R0
|
|
ORL A,R1
|
|
RET
|
|
CFI EndBlock cfiCond175
|
|
CFI EndBlock cfiCond176
|
|
CFI EndBlock cfiCond177
|
|
CFI EndBlock cfiCond178
|
|
CFI EndBlock cfiCond179
|
|
CFI EndBlock cfiCond180
|
|
CFI EndBlock cfiCond181
|
|
CFI EndBlock cfiCond182
|
|
CFI EndBlock cfiPicker183
|
|
// 833
|
|
// 834 /*********************************************************************
|
|
// 835 * @fn osal_set_event
|
|
// 836 *
|
|
// 837 * @brief
|
|
// 838 *
|
|
// 839 * This function is called to set the event flags for a task. The
|
|
// 840 * event passed in is OR'd into the task's event variable.
|
|
// 841 *
|
|
// 842 * @param uint8 task_id - receiving tasks ID
|
|
// 843 * @param uint8 event_flag - what event to set
|
|
// 844 *
|
|
// 845 * @return SUCCESS, INVALID_TASK
|
|
// 846 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 847 uint8 osal_set_event( uint8 task_id, uint16 event_flag )
|
|
osal_set_event:
|
|
CFI Block cfiBlock184 Using cfiCommon0
|
|
CFI Function osal_set_event
|
|
CODE
|
|
// 848 {
|
|
MOV A,#-0x9
|
|
LCALL ?BANKED_ENTER_XDATA
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 9)
|
|
; Saved register size: 9
|
|
; Auto size: 0
|
|
// 849 if ( task_id < tasksCnt )
|
|
MOV DPTR,#tasksCnt
|
|
MOVX A,@DPTR
|
|
MOV R0,A
|
|
MOV A,R1
|
|
CLR C
|
|
SUBB A,R0
|
|
JNC ??osal_set_event_0
|
|
// 850 {
|
|
// 851 halIntState_t intState;
|
|
// 852 HAL_ENTER_CRITICAL_SECTION(intState); // Hold off interrupts
|
|
MOV R4,0xa8+0x0
|
|
CLR 0xa8.7
|
|
// 853 tasksEvents[task_id] |= event_flag; // Stuff the event bit(s)
|
|
MOV A,R1
|
|
ADD A,R1
|
|
MOV R0,A
|
|
CLR A
|
|
RLC A
|
|
MOV R1,A
|
|
MOV DPTR,#tasksEvents
|
|
MOVX A,@DPTR
|
|
ADD A,R0
|
|
MOV R5,A
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
ADDC A,R1
|
|
MOV DPL,R5
|
|
MOV DPH,A
|
|
MOVX A,@DPTR
|
|
ORL A,R2
|
|
MOVX @DPTR,A
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
ORL A,R3
|
|
MOVX @DPTR,A
|
|
// 854 HAL_EXIT_CRITICAL_SECTION(intState); // Release interrupts
|
|
MOV A,R4
|
|
MOV C,0xE0 /* A */.7
|
|
MOV 0xa8.7,C
|
|
// 855 return ( SUCCESS );
|
|
MOV R1,#0x0
|
|
SJMP ??osal_set_event_1
|
|
// 856 }
|
|
// 857 else
|
|
// 858 {
|
|
// 859 return ( INVALID_TASK );
|
|
??osal_set_event_0:
|
|
MOV R1,#0x3
|
|
// 860 }
|
|
??osal_set_event_1:
|
|
LJMP ??Subroutine31_0 & 0xFFFF
|
|
CFI EndBlock cfiBlock184
|
|
REQUIRE _A_IEN0
|
|
// 861 }
|
|
// 862
|
|
// 863 /*********************************************************************
|
|
// 864 * @fn osal_clear_event
|
|
// 865 *
|
|
// 866 * @brief
|
|
// 867 *
|
|
// 868 * This function is called to clear the event flags for a task. The
|
|
// 869 * event passed in is masked out of the task's event variable.
|
|
// 870 *
|
|
// 871 * @param uint8 task_id - receiving tasks ID
|
|
// 872 * @param uint8 event_flag - what event to clear
|
|
// 873 *
|
|
// 874 * @return SUCCESS, INVALID_TASK
|
|
// 875 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 876 uint8 osal_clear_event( uint8 task_id, uint16 event_flag )
|
|
osal_clear_event:
|
|
CFI Block cfiBlock185 Using cfiCommon0
|
|
CFI Function osal_clear_event
|
|
CODE
|
|
// 877 {
|
|
MOV A,#-0x9
|
|
LCALL ?BANKED_ENTER_XDATA
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 9)
|
|
; Saved register size: 9
|
|
; Auto size: 0
|
|
// 878 if ( task_id < tasksCnt )
|
|
MOV DPTR,#tasksCnt
|
|
MOVX A,@DPTR
|
|
MOV R0,A
|
|
MOV A,R1
|
|
CLR C
|
|
SUBB A,R0
|
|
JNC ??osal_clear_event_0
|
|
// 879 {
|
|
// 880 halIntState_t intState;
|
|
// 881 HAL_ENTER_CRITICAL_SECTION(intState); // Hold off interrupts
|
|
MOV R6,0xa8+0x0
|
|
CLR 0xa8.7
|
|
// 882 tasksEvents[task_id] &= ~(event_flag); // Clear the event bit(s)
|
|
MOV A,R2
|
|
CPL A
|
|
MOV R4,A
|
|
MOV A,R3
|
|
CPL A
|
|
MOV R5,A
|
|
MOV A,R1
|
|
ADD A,R1
|
|
LCALL ?Subroutine13 & 0xFFFF
|
|
??CrossCallReturnLabel_15:
|
|
MOVX A,@DPTR
|
|
ANL A,R4
|
|
MOVX @DPTR,A
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
ANL A,R5
|
|
MOVX @DPTR,A
|
|
// 883 HAL_EXIT_CRITICAL_SECTION(intState); // Release interrupts
|
|
MOV A,R6
|
|
MOV C,0xE0 /* A */.7
|
|
MOV 0xa8.7,C
|
|
// 884 return ( SUCCESS );
|
|
MOV R1,#0x0
|
|
SJMP ??osal_clear_event_1
|
|
// 885 }
|
|
// 886 else
|
|
// 887 {
|
|
// 888 return ( INVALID_TASK );
|
|
??osal_clear_event_0:
|
|
MOV R1,#0x3
|
|
// 889 }
|
|
??osal_clear_event_1:
|
|
LJMP ??Subroutine31_0 & 0xFFFF
|
|
CFI EndBlock cfiBlock185
|
|
REQUIRE _A_IEN0
|
|
// 890 }
|
|
// 891
|
|
// 892 /*********************************************************************
|
|
// 893 * @fn osal_isr_register
|
|
// 894 *
|
|
// 895 * @brief
|
|
// 896 *
|
|
// 897 * This function is called to register a service routine with an
|
|
// 898 * interrupt. When the interrupt occurs, this service routine is called.
|
|
// 899 *
|
|
// 900 * @param uint8 interrupt_id - Interrupt number
|
|
// 901 * @param void (*isr_ptr)( uint8* ) - function pointer to ISR
|
|
// 902 *
|
|
// 903 * @return SUCCESS, INVALID_INTERRUPT_ID,
|
|
// 904 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 905 uint8 osal_isr_register( uint8 interrupt_id, void (*isr_ptr)( uint8* ) )
|
|
osal_isr_register:
|
|
CFI Block cfiBlock186 Using cfiCommon0
|
|
CFI Function osal_isr_register
|
|
CODE
|
|
// 906 {
|
|
; Saved register size: 0
|
|
; Auto size: 0
|
|
// 907 // Remove these statements when functionality is complete
|
|
// 908 (void)interrupt_id;
|
|
// 909 (void)isr_ptr;
|
|
// 910 return ( SUCCESS );
|
|
MOV R1,#0x0
|
|
LJMP ?BRET
|
|
// 911 }
|
|
CFI EndBlock cfiBlock186
|
|
// 912
|
|
// 913 /*********************************************************************
|
|
// 914 * @fn osal_int_enable
|
|
// 915 *
|
|
// 916 * @brief
|
|
// 917 *
|
|
// 918 * This function is called to enable an interrupt. Once enabled,
|
|
// 919 * occurrence of the interrupt causes the service routine associated
|
|
// 920 * with that interrupt to be called.
|
|
// 921 *
|
|
// 922 * If INTS_ALL is the interrupt_id, interrupts (in general) are enabled.
|
|
// 923 * If a single interrupt is passed in, then interrupts still have
|
|
// 924 * to be enabled with another call to INTS_ALL.
|
|
// 925 *
|
|
// 926 * @param uint8 interrupt_id - Interrupt number
|
|
// 927 *
|
|
// 928 * @return SUCCESS or INVALID_INTERRUPT_ID
|
|
// 929 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 930 uint8 osal_int_enable( uint8 interrupt_id )
|
|
osal_int_enable:
|
|
CFI Block cfiBlock187 Using cfiCommon0
|
|
CFI Function osal_int_enable
|
|
CODE
|
|
// 931 {
|
|
; Saved register size: 0
|
|
; Auto size: 0
|
|
MOV A,R1
|
|
MOV R0,A
|
|
// 932
|
|
// 933 if ( interrupt_id == INTS_ALL )
|
|
MOV A,#-0x1
|
|
XRL A,R0
|
|
JNZ ??osal_int_enable_0
|
|
// 934 {
|
|
// 935 HAL_ENABLE_INTERRUPTS();
|
|
SETB 0xa8.7
|
|
// 936 return ( SUCCESS );
|
|
MOV R1,#0x0
|
|
SJMP ??osal_int_enable_1
|
|
// 937 }
|
|
// 938 else
|
|
// 939 {
|
|
// 940 return ( INVALID_INTERRUPT_ID );
|
|
??osal_int_enable_0:
|
|
MOV R1,#0x7
|
|
??osal_int_enable_1:
|
|
LJMP ?BRET
|
|
CFI EndBlock cfiBlock187
|
|
REQUIRE _A_IEN0
|
|
// 941 }
|
|
// 942 }
|
|
// 943
|
|
// 944 /*********************************************************************
|
|
// 945 * @fn osal_int_disable
|
|
// 946 *
|
|
// 947 * @brief
|
|
// 948 *
|
|
// 949 * This function is called to disable an interrupt. When a disabled
|
|
// 950 * interrupt occurs, the service routine associated with that
|
|
// 951 * interrupt is not called.
|
|
// 952 *
|
|
// 953 * If INTS_ALL is the interrupt_id, interrupts (in general) are disabled.
|
|
// 954 * If a single interrupt is passed in, then just that interrupt is disabled.
|
|
// 955 *
|
|
// 956 * @param uint8 interrupt_id - Interrupt number
|
|
// 957 *
|
|
// 958 * @return SUCCESS or INVALID_INTERRUPT_ID
|
|
// 959 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 960 uint8 osal_int_disable( uint8 interrupt_id )
|
|
osal_int_disable:
|
|
CFI Block cfiBlock188 Using cfiCommon0
|
|
CFI Function osal_int_disable
|
|
CODE
|
|
// 961 {
|
|
; Saved register size: 0
|
|
; Auto size: 0
|
|
MOV A,R1
|
|
MOV R0,A
|
|
// 962
|
|
// 963 if ( interrupt_id == INTS_ALL )
|
|
MOV A,#-0x1
|
|
XRL A,R0
|
|
JNZ ??osal_int_disable_0
|
|
// 964 {
|
|
// 965 HAL_DISABLE_INTERRUPTS();
|
|
CLR 0xa8.7
|
|
// 966 return ( SUCCESS );
|
|
MOV R1,#0x0
|
|
SJMP ??osal_int_disable_1
|
|
// 967 }
|
|
// 968 else
|
|
// 969 {
|
|
// 970 return ( INVALID_INTERRUPT_ID );
|
|
??osal_int_disable_0:
|
|
MOV R1,#0x7
|
|
??osal_int_disable_1:
|
|
LJMP ?BRET
|
|
CFI EndBlock cfiBlock188
|
|
REQUIRE _A_IEN0
|
|
// 971 }
|
|
// 972 }
|
|
// 973
|
|
// 974 /*********************************************************************
|
|
// 975 * @fn osal_init_system
|
|
// 976 *
|
|
// 977 * @brief
|
|
// 978 *
|
|
// 979 * This function initializes the "task" system by creating the
|
|
// 980 * tasks defined in the task table (OSAL_Tasks.h).
|
|
// 981 *
|
|
// 982 * @param void
|
|
// 983 *
|
|
// 984 * @return SUCCESS
|
|
// 985 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 986 uint8 osal_init_system( void )
|
|
osal_init_system:
|
|
CFI Block cfiBlock189 Using cfiCommon0
|
|
CFI Function osal_init_system
|
|
CODE
|
|
// 987 {
|
|
FUNCALL osal_init_system, osal_mem_init
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL osal_init_system, osalTimerInit
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL osal_init_system, osal_pwrmgr_init
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL osal_init_system, osal_mem_alloc
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL osal_init_system, osal_memset
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL osal_init_system, osalInitTasks
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL osal_init_system, osal_mem_kick
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
MOV A,#-0x9
|
|
LCALL ?BANKED_ENTER_XDATA
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 9)
|
|
; Saved register size: 9
|
|
; Auto size: 0
|
|
// 988 // Initialize the Memory Allocation System
|
|
// 989 osal_mem_init();
|
|
; Setup parameters for call to function osal_mem_init
|
|
LCALL `??osal_mem_init::?relay`; Banked call to: osal_mem_init
|
|
// 990
|
|
// 991 // Initialize the message queue
|
|
// 992 osal_qHead = NULL;
|
|
MOV DPTR,#osal_qHead
|
|
CLR A
|
|
MOVX @DPTR,A
|
|
INC DPTR
|
|
MOVX @DPTR,A
|
|
// 993
|
|
// 994 // Initialize the timers
|
|
// 995 osalTimerInit();
|
|
; Setup parameters for call to function osalTimerInit
|
|
LCALL `??osalTimerInit::?relay`; Banked call to: osalTimerInit
|
|
// 996
|
|
// 997 // Initialize the Power Management System
|
|
// 998 osal_pwrmgr_init();
|
|
; Setup parameters for call to function osal_pwrmgr_init
|
|
LCALL `??osal_pwrmgr_init::?relay`; Banked call to: osal_pwrmgr_init
|
|
// 999
|
|
// 1000 // Initialize the system tasks.
|
|
// 1001 tasksEvents = (uint16 *)osal_mem_alloc( sizeof( uint16 ) * tasksCnt);
|
|
MOV DPTR,#tasksCnt
|
|
MOVX A,@DPTR
|
|
ADD A,0xE0 /* A */
|
|
MOV R6,A
|
|
CLR A
|
|
RLC A
|
|
MOV R7,A
|
|
; Setup parameters for call to function osal_mem_alloc
|
|
MOV A,R6
|
|
MOV R2,A
|
|
MOV A,R7
|
|
MOV R3,A
|
|
LCALL `??osal_mem_alloc::?relay`; Banked call to: osal_mem_alloc
|
|
MOV DPTR,#tasksEvents
|
|
MOV A,R2
|
|
MOVX @DPTR,A
|
|
INC DPTR
|
|
MOV A,R3
|
|
MOVX @DPTR,A
|
|
// 1002 osal_memset( tasksEvents, 0, (sizeof( uint16 ) * tasksCnt));
|
|
; Setup parameters for call to function osal_memset
|
|
MOV A,R6
|
|
MOV R4,A
|
|
MOV A,R7
|
|
MOV R5,A
|
|
MOV R1,#0x0
|
|
LCALL `??osal_memset::?relay`; Banked call to: osal_memset
|
|
// 1003 osalInitTasks();
|
|
; Setup parameters for call to function osalInitTasks
|
|
LCALL `??osalInitTasks::?relay`; Banked call to: osalInitTasks
|
|
// 1004
|
|
// 1005 // Setup efficient search for the first free block of heap.
|
|
// 1006 osal_mem_kick();
|
|
; Setup parameters for call to function osal_mem_kick
|
|
LCALL `??osal_mem_kick::?relay`; Banked call to: osal_mem_kick
|
|
// 1007
|
|
// 1008 return ( SUCCESS );
|
|
MOV R1,#0x0
|
|
LJMP ??Subroutine31_0 & 0xFFFF
|
|
// 1009 }
|
|
CFI EndBlock cfiBlock189
|
|
// 1010
|
|
// 1011 /*********************************************************************
|
|
// 1012 * @fn osal_start_system
|
|
// 1013 *
|
|
// 1014 * @brief
|
|
// 1015 *
|
|
// 1016 * This function is the main loop function of the task system (if
|
|
// 1017 * ZBIT and UBIT are not defined). This Function doesn't return.
|
|
// 1018 *
|
|
// 1019 * @param void
|
|
// 1020 *
|
|
// 1021 * @return none
|
|
// 1022 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 1023 void osal_start_system( void )
|
|
osal_start_system:
|
|
CFI Block cfiBlock190 Using cfiCommon0
|
|
CFI Function osal_start_system
|
|
CODE
|
|
// 1024 {
|
|
FUNCALL osal_start_system, osal_run_system
|
|
LOCFRAME ISTACK, 2, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 0, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
PUSH DPL
|
|
CFI DPL0 Frame(CFA_SP, 4)
|
|
CFI CFA_SP SP+-4
|
|
PUSH DPH
|
|
CFI DPH0 Frame(CFA_SP, 5)
|
|
CFI CFA_SP SP+-5
|
|
; Saved register size: 2
|
|
; Auto size: 0
|
|
// 1025 #if !defined ( ZBIT ) && !defined ( UBIT )
|
|
// 1026 for(;;) // Forever Loop
|
|
// 1027 #endif
|
|
// 1028 {
|
|
// 1029 osal_run_system();
|
|
??osal_start_system_0:
|
|
; Setup parameters for call to function osal_run_system
|
|
LCALL `??osal_run_system::?relay`; Banked call to: osal_run_system
|
|
SJMP ??osal_start_system_0
|
|
// 1030 }
|
|
// 1031 }
|
|
CFI EndBlock cfiBlock190
|
|
// 1032
|
|
// 1033 /*********************************************************************
|
|
// 1034 * @fn osal_run_system
|
|
// 1035 *
|
|
// 1036 * @brief
|
|
// 1037 *
|
|
// 1038 * This function will make one pass through the OSAL taskEvents table
|
|
// 1039 * and call the task_event_processor() function for the first task that
|
|
// 1040 * is found with at least one event pending. If there are no pending
|
|
// 1041 * events (all tasks), this function puts the processor into Sleep.
|
|
// 1042 *
|
|
// 1043 * @param void
|
|
// 1044 *
|
|
// 1045 * @return none
|
|
// 1046 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 1047 void osal_run_system( void )
|
|
osal_run_system:
|
|
CFI Block cfiBlock191 Using cfiCommon0
|
|
CFI Function osal_run_system
|
|
CODE
|
|
// 1048 {
|
|
FUNCALL osal_run_system, osalTimeUpdate
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 10, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 10, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL osal_run_system, Hal_ProcessPoll
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 10, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 10, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
REQUIRE ?V0
|
|
REQUIRE ?V1
|
|
MOV A,#-0xa
|
|
LCALL ?BANKED_ENTER_XDATA
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 10)
|
|
; Saved register size: 10
|
|
; Auto size: 0
|
|
// 1049 uint8 idx = 0;
|
|
MOV ?V0,#0x0
|
|
// 1050
|
|
// 1051 osalTimeUpdate();
|
|
; Setup parameters for call to function osalTimeUpdate
|
|
LCALL `??osalTimeUpdate::?relay`; Banked call to: osalTimeUpdate
|
|
// 1052 Hal_ProcessPoll();
|
|
; Setup parameters for call to function Hal_ProcessPoll
|
|
LCALL `??Hal_ProcessPoll::?relay`; Banked call to: Hal_ProcessPoll
|
|
// 1053
|
|
// 1054 do {
|
|
// 1055 if (tasksEvents[idx]) // Task is highest priority that is ready.
|
|
??osal_run_system_0:
|
|
MOV R0,?V0
|
|
MOV A,R0
|
|
ADD A,R0
|
|
LCALL ?Subroutine13 & 0xFFFF
|
|
// 1056 {
|
|
// 1057 break;
|
|
// 1058 }
|
|
// 1059 } while (++idx < tasksCnt);
|
|
??CrossCallReturnLabel_16:
|
|
LCALL ??Subroutine39_0 & 0xFFFF
|
|
??CrossCallReturnLabel_84:
|
|
JNZ ??osal_run_system_1
|
|
INC ?V0
|
|
MOV DPTR,#tasksCnt
|
|
MOVX A,@DPTR
|
|
MOV R0,A
|
|
MOV A,?V0
|
|
CLR C
|
|
SUBB A,R0
|
|
JC ??osal_run_system_0
|
|
// 1060
|
|
// 1061 if (idx < tasksCnt)
|
|
??osal_run_system_1:
|
|
MOV DPTR,#tasksCnt
|
|
MOVX A,@DPTR
|
|
MOV R0,A
|
|
MOV A,?V0
|
|
CLR C
|
|
SUBB A,R0
|
|
JNC ??osal_run_system_2
|
|
// 1062 {
|
|
// 1063 uint16 events;
|
|
// 1064 halIntState_t intState;
|
|
// 1065
|
|
// 1066 HAL_ENTER_CRITICAL_SECTION(intState);
|
|
MOV R4,0xa8+0x0
|
|
CLR 0xa8.7
|
|
// 1067 events = tasksEvents[idx];
|
|
MOV R6,?V0
|
|
MOV A,R6
|
|
ADD A,R6
|
|
MOV R6,A
|
|
CLR A
|
|
RLC A
|
|
MOV R7,A
|
|
MOV DPTR,#tasksEvents
|
|
MOVX A,@DPTR
|
|
ADD A,R6
|
|
MOV R0,A
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
ADDC A,R7
|
|
MOV R1,A
|
|
MOV DPL,R0
|
|
LCALL ?Subroutine15 & 0xFFFF
|
|
// 1068 tasksEvents[idx] = 0; // Clear the Events for this task.
|
|
??CrossCallReturnLabel_57:
|
|
MOV DPL,R0
|
|
MOV DPH,R1
|
|
CLR A
|
|
MOVX @DPTR,A
|
|
INC DPTR
|
|
MOVX @DPTR,A
|
|
// 1069 HAL_EXIT_CRITICAL_SECTION(intState);
|
|
MOV A,R4
|
|
MOV C,0xE0 /* A */.7
|
|
MOV 0xa8.7,C
|
|
// 1070
|
|
// 1071 activeTaskID = idx;
|
|
MOV A,?V0
|
|
MOV DPTR,#activeTaskID
|
|
MOVX @DPTR,A
|
|
// 1072 events = (tasksArr[idx])( idx, events );
|
|
; Setup parameters for indirect call
|
|
MOV R1,A
|
|
MOV A,#tasksArr & 0xff
|
|
ADD A,R6
|
|
MOV DPL,A
|
|
MOV A,#(tasksArr >> 8) & 0xff
|
|
ADDC A,R7
|
|
MOV DPH,A
|
|
LCALL ?Subroutine16 & 0xFFFF
|
|
??CrossCallReturnLabel_20:
|
|
LCALL ?CALL_IND
|
|
// 1073 activeTaskID = TASK_NO_TASK;
|
|
MOV DPTR,#activeTaskID
|
|
MOV A,#-0x1
|
|
MOVX @DPTR,A
|
|
// 1074
|
|
// 1075 HAL_ENTER_CRITICAL_SECTION(intState);
|
|
MOV R0,0xa8+0x0
|
|
CLR 0xa8.7
|
|
// 1076 tasksEvents[idx] |= events; // Add back unprocessed events to the current task.
|
|
MOV DPTR,#tasksEvents
|
|
MOVX A,@DPTR
|
|
ADD A,R6
|
|
MOV R1,A
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
ADDC A,R7
|
|
MOV DPL,R1
|
|
MOV DPH,A
|
|
MOVX A,@DPTR
|
|
ORL A,R2
|
|
MOVX @DPTR,A
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
ORL A,R3
|
|
MOVX @DPTR,A
|
|
// 1077 HAL_EXIT_CRITICAL_SECTION(intState);
|
|
MOV A,R0
|
|
MOV C,0xE0 /* A */.7
|
|
MOV 0xa8.7,C
|
|
// 1078 }
|
|
// 1079 #if defined( POWER_SAVING )
|
|
// 1080 else // Complete pass through all task events with no activity?
|
|
// 1081 {
|
|
// 1082 osal_pwrmgr_powerconserve(); // Put the processor/system into sleep
|
|
// 1083 }
|
|
// 1084 #endif
|
|
// 1085
|
|
// 1086 /* Yield in case cooperative scheduling is being used. */
|
|
// 1087 #if defined (configUSE_PREEMPTION) && (configUSE_PREEMPTION == 0)
|
|
// 1088 {
|
|
// 1089 osal_task_yield();
|
|
// 1090 }
|
|
// 1091 #endif
|
|
// 1092 }
|
|
??osal_run_system_2:
|
|
LJMP ?Subroutine3 & 0xFFFF
|
|
CFI EndBlock cfiBlock191
|
|
REQUIRE _A_IEN0
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine16:
|
|
CFI Block cfiCond192 Using cfiCommon0
|
|
CFI Function _ltoa
|
|
CFI Conditional ??CrossCallReturnLabel_19
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI CFA_SP SP+-2
|
|
CFI CFA_XSP16 add(XSP16, 53)
|
|
CFI Block cfiCond193 Using cfiCommon0
|
|
CFI (cfiCond193) Function osal_run_system
|
|
CFI (cfiCond193) Conditional ??CrossCallReturnLabel_20
|
|
CFI (cfiCond193) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond193) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond193) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond193) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond193) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond193) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond193) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond193) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond193) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond193) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond193) CFA_SP SP+-2
|
|
CFI (cfiCond193) CFA_XSP16 add(XSP16, 10)
|
|
CFI Block cfiPicker194 Using cfiCommon1
|
|
CFI (cfiPicker194) NoFunction
|
|
CFI (cfiPicker194) Picker
|
|
MOVX A,@DPTR
|
|
MOV R0,A
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
MOV DPH,A
|
|
MOV DPL,R0
|
|
RET
|
|
CFI EndBlock cfiCond192
|
|
CFI EndBlock cfiCond193
|
|
CFI EndBlock cfiPicker194
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine13:
|
|
CFI Block cfiCond195 Using cfiCommon0
|
|
CFI Function osal_clear_event
|
|
CFI Conditional ??CrossCallReturnLabel_15
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI CFA_SP SP+-2
|
|
CFI CFA_XSP16 add(XSP16, 9)
|
|
CFI Block cfiCond196 Using cfiCommon0
|
|
CFI (cfiCond196) Function osal_run_system
|
|
CFI (cfiCond196) Conditional ??CrossCallReturnLabel_16
|
|
CFI (cfiCond196) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond196) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond196) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond196) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond196) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond196) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond196) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond196) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond196) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond196) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond196) CFA_SP SP+-2
|
|
CFI (cfiCond196) CFA_XSP16 add(XSP16, 10)
|
|
CFI Block cfiPicker197 Using cfiCommon1
|
|
CFI (cfiPicker197) NoFunction
|
|
CFI (cfiPicker197) Picker
|
|
MOV R0,A
|
|
CLR A
|
|
RLC A
|
|
MOV R1,A
|
|
MOV DPTR,#tasksEvents
|
|
MOVX A,@DPTR
|
|
ADD A,R0
|
|
MOV R2,A
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
ADDC A,R1
|
|
MOV DPL,R2
|
|
MOV DPH,A
|
|
RET
|
|
CFI EndBlock cfiCond195
|
|
CFI EndBlock cfiCond196
|
|
CFI EndBlock cfiPicker197
|
|
// 1093
|
|
// 1094 /*********************************************************************
|
|
// 1095 * @fn osal_buffer_uint32
|
|
// 1096 *
|
|
// 1097 * @brief
|
|
// 1098 *
|
|
// 1099 * Buffer an uint32 value - LSB first.
|
|
// 1100 *
|
|
// 1101 * @param buf - buffer
|
|
// 1102 * @param val - uint32 value
|
|
// 1103 *
|
|
// 1104 * @return pointer to end of destination buffer
|
|
// 1105 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 1106 uint8* osal_buffer_uint32( uint8 *buf, uint32 val )
|
|
osal_buffer_uint32:
|
|
CFI Block cfiBlock198 Using cfiCommon0
|
|
CFI Function osal_buffer_uint32
|
|
CODE
|
|
// 1107 {
|
|
REQUIRE ?V0
|
|
REQUIRE ?V1
|
|
REQUIRE ?V2
|
|
REQUIRE ?V3
|
|
REQUIRE ?V4
|
|
REQUIRE ?V5
|
|
REQUIRE ?V6
|
|
REQUIRE ?V7
|
|
MOV A,#-0x10
|
|
LCALL ?BANKED_ENTER_XDATA
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 16)
|
|
; Saved register size: 16
|
|
; Auto size: 0
|
|
MOV A,#0x10
|
|
LCALL ?XSTACK_DISP0_8
|
|
MOV R0,#?V4
|
|
LCALL ?L_MOV_X
|
|
// 1108 *buf++ = BREAK_UINT32( val, 0 );
|
|
LCALL ?Subroutine21 & 0xFFFF
|
|
// 1109 *buf++ = BREAK_UINT32( val, 1 );
|
|
// 1110 *buf++ = BREAK_UINT32( val, 2 );
|
|
??CrossCallReturnLabel_27:
|
|
MOV ?V0,?V4
|
|
MOV ?V2,?V6
|
|
MOV ?V3,?V7
|
|
MOV A,#0x10
|
|
MOV R0,#?V0
|
|
LCALL ?UL_SHR
|
|
MOV DPL,R2
|
|
MOV DPH,R3
|
|
INC DPTR
|
|
INC DPTR
|
|
MOV A,?V0
|
|
MOVX @DPTR,A
|
|
// 1111 *buf++ = BREAK_UINT32( val, 3 );
|
|
MOV A,#0x18
|
|
MOV R0,#?V4
|
|
LCALL ?UL_SHR
|
|
MOV DPL,R2
|
|
MOV DPH,R3
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
MOV A,?V4
|
|
MOVX @DPTR,A
|
|
// 1112
|
|
// 1113 return buf;
|
|
MOV A,R2
|
|
ADD A,#0x4
|
|
MOV R2,A
|
|
JNC ??osal_buffer_uint32_0
|
|
INC R3
|
|
??osal_buffer_uint32_0:
|
|
CFI EndBlock cfiBlock198
|
|
REQUIRE ?Subroutine2
|
|
; // Fall through to label ?Subroutine2
|
|
// 1114 }
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine2:
|
|
CFI Block cfiBlock199 Using cfiCommon0
|
|
CFI NoFunction
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 16)
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
MOV R7,#0x8
|
|
LJMP ?BANKED_LEAVE_XDATA
|
|
CFI EndBlock cfiBlock199
|
|
// 1115
|
|
// 1116 /*********************************************************************
|
|
// 1117 * @fn osal_buffer_uint24
|
|
// 1118 *
|
|
// 1119 * @brief
|
|
// 1120 *
|
|
// 1121 * Buffer an uint24 value - LSB first. Note that type uint24 is
|
|
// 1122 * typedef to uint32 in comdef.h
|
|
// 1123 *
|
|
// 1124 * @param buf - buffer
|
|
// 1125 * @param val - uint24 value
|
|
// 1126 *
|
|
// 1127 * @return pointer to end of destination buffer
|
|
// 1128 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 1129 uint8* osal_buffer_uint24( uint8 *buf, uint24 val )
|
|
osal_buffer_uint24:
|
|
CFI Block cfiBlock200 Using cfiCommon0
|
|
CFI Function osal_buffer_uint24
|
|
CODE
|
|
// 1130 {
|
|
REQUIRE ?V0
|
|
REQUIRE ?V1
|
|
REQUIRE ?V4
|
|
REQUIRE ?V5
|
|
REQUIRE ?V6
|
|
REQUIRE ?V7
|
|
MOV A,#-0x10
|
|
LCALL ?BANKED_ENTER_XDATA
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 16)
|
|
; Saved register size: 16
|
|
; Auto size: 0
|
|
MOV A,#0x10
|
|
LCALL ?XSTACK_DISP0_8
|
|
MOV R0,#?V4
|
|
LCALL ?L_MOV_X
|
|
// 1131 *buf++ = BREAK_UINT32( val, 0 );
|
|
LCALL ?Subroutine21 & 0xFFFF
|
|
// 1132 *buf++ = BREAK_UINT32( val, 1 );
|
|
// 1133 *buf++ = BREAK_UINT32( val, 2 );
|
|
??CrossCallReturnLabel_28:
|
|
MOV A,#0x10
|
|
MOV R0,#?V4
|
|
LCALL ?UL_SHR
|
|
MOV DPL,R2
|
|
MOV DPH,R3
|
|
INC DPTR
|
|
INC DPTR
|
|
MOV A,?V4
|
|
MOVX @DPTR,A
|
|
// 1134
|
|
// 1135 return buf;
|
|
MOV A,R2
|
|
ADD A,#0x3
|
|
MOV R2,A
|
|
JNC ??osal_buffer_uint24_0
|
|
INC R3
|
|
??osal_buffer_uint24_0:
|
|
SJMP ?Subroutine2
|
|
// 1136 }
|
|
CFI EndBlock cfiBlock200
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine21:
|
|
CFI Block cfiCond201 Using cfiCommon0
|
|
CFI Function osal_buffer_uint32
|
|
CFI Conditional ??CrossCallReturnLabel_27
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI CFA_SP SP+-2
|
|
CFI CFA_XSP16 add(XSP16, 16)
|
|
CFI Block cfiCond202 Using cfiCommon0
|
|
CFI (cfiCond202) Function osal_buffer_uint24
|
|
CFI (cfiCond202) Conditional ??CrossCallReturnLabel_28
|
|
CFI (cfiCond202) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
|
|
CFI (cfiCond202) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
|
|
CFI (cfiCond202) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI (cfiCond202) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI (cfiCond202) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond202) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond202) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond202) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond202) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond202) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond202) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond202) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond202) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond202) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond202) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond202) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond202) CFA_SP SP+-2
|
|
CFI (cfiCond202) CFA_XSP16 add(XSP16, 16)
|
|
CFI Block cfiPicker203 Using cfiCommon1
|
|
CFI (cfiPicker203) NoFunction
|
|
CFI (cfiPicker203) Picker
|
|
MOV DPL,R2
|
|
MOV DPH,R3
|
|
MOV A,?V4
|
|
MOVX @DPTR,A
|
|
MOV ?V1,?V5
|
|
MOV A,?V1
|
|
INC DPTR
|
|
MOVX @DPTR,A
|
|
RET
|
|
CFI EndBlock cfiCond201
|
|
CFI EndBlock cfiCond202
|
|
CFI EndBlock cfiPicker203
|
|
// 1137
|
|
// 1138 /*********************************************************************
|
|
// 1139 * @fn osal_isbufset
|
|
// 1140 *
|
|
// 1141 * @brief
|
|
// 1142 *
|
|
// 1143 * Is all of the array elements set to a value?
|
|
// 1144 *
|
|
// 1145 * @param buf - buffer to check
|
|
// 1146 * @param val - value to check each array element for
|
|
// 1147 * @param len - length to check
|
|
// 1148 *
|
|
// 1149 * @return TRUE if all "val"
|
|
// 1150 * FALSE otherwise
|
|
// 1151 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 1152 uint8 osal_isbufset( uint8 *buf, uint8 val, uint8 len )
|
|
osal_isbufset:
|
|
CFI Block cfiBlock204 Using cfiCommon0
|
|
CFI Function osal_isbufset
|
|
CODE
|
|
// 1153 {
|
|
MOV A,#-0x9
|
|
LCALL ?BANKED_ENTER_XDATA
|
|
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 9)
|
|
; Saved register size: 9
|
|
; Auto size: 0
|
|
MOV A,R1
|
|
MOV R5,A
|
|
// 1154 uint8 x;
|
|
// 1155
|
|
// 1156 if ( buf == NULL )
|
|
MOV A,R2
|
|
ORL A,R3
|
|
JZ ??osal_isbufset_0
|
|
// 1157 {
|
|
// 1158 return ( FALSE );
|
|
// 1159 }
|
|
// 1160
|
|
// 1161 for ( x = 0; x < len; x++ )
|
|
MOV R0,#0x0
|
|
SJMP ??osal_isbufset_1
|
|
??osal_isbufset_2:
|
|
INC R0
|
|
??osal_isbufset_1:
|
|
MOV A,R0
|
|
CLR C
|
|
SUBB A,R4
|
|
JNC ??osal_isbufset_3
|
|
// 1162 {
|
|
// 1163 // Check for non-initialized value
|
|
// 1164 if ( buf[x] != val )
|
|
MOV A,R0
|
|
MOV R6,A
|
|
MOV A,R2
|
|
ADD A,R6
|
|
MOV DPL,A
|
|
CLR A
|
|
ADDC A,R3
|
|
MOV DPH,A
|
|
MOVX A,@DPTR
|
|
XRL A,R5
|
|
JZ ??osal_isbufset_2
|
|
// 1165 {
|
|
// 1166 return ( FALSE );
|
|
??osal_isbufset_0:
|
|
MOV R1,#0x0
|
|
SJMP ??osal_isbufset_4
|
|
// 1167 }
|
|
// 1168 }
|
|
// 1169 return ( TRUE );
|
|
??osal_isbufset_3:
|
|
MOV R1,#0x1
|
|
??osal_isbufset_4:
|
|
LJMP ??Subroutine31_0 & 0xFFFF
|
|
// 1170 }
|
|
CFI EndBlock cfiBlock204
|
|
// 1171
|
|
// 1172 /*********************************************************************
|
|
// 1173 * @fn osal_self
|
|
// 1174 *
|
|
// 1175 * @brief
|
|
// 1176 *
|
|
// 1177 * This function returns the task ID of the current (active) task.
|
|
// 1178 *
|
|
// 1179 * @param void
|
|
// 1180 *
|
|
// 1181 * @return active task ID or TASK_NO_TASK if no task is active
|
|
// 1182 */
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 1183 uint8 osal_self( void )
|
|
osal_self:
|
|
CFI Block cfiBlock205 Using cfiCommon0
|
|
CFI Function osal_self
|
|
CODE
|
|
// 1184 {
|
|
PUSH DPL
|
|
CFI DPL0 Frame(CFA_SP, 4)
|
|
CFI CFA_SP SP+-4
|
|
PUSH DPH
|
|
CFI DPH0 Frame(CFA_SP, 5)
|
|
CFI CFA_SP SP+-5
|
|
; Saved register size: 2
|
|
; Auto size: 0
|
|
// 1185 return ( activeTaskID );
|
|
MOV DPTR,#activeTaskID
|
|
MOVX A,@DPTR
|
|
MOV R1,A
|
|
LJMP ?Subroutine0 & 0xFFFF
|
|
// 1186 }
|
|
CFI EndBlock cfiBlock205
|
|
|
|
RSEG XDATA_ID:CODE:NOROOT(0)
|
|
`?<Initializer for activeTaskID>`:
|
|
DATA8
|
|
DB 255
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??osal_strlen::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 osal_strlen
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??osal_memcpy::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 osal_memcpy
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??osal_revmemcpy::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 osal_revmemcpy
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??osal_memdup::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 osal_memdup
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??osal_memcmp::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 osal_memcmp
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??osal_memset::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 osal_memset
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??osal_build_uint16::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 osal_build_uint16
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??osal_build_uint32::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 osal_build_uint32
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??_ltoa::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 _ltoa
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??osal_rand::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 osal_rand
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??osal_msg_allocate::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 osal_msg_allocate
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??osal_msg_deallocate::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 osal_msg_deallocate
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??osal_msg_send::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 osal_msg_send
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??osal_msg_receive::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 osal_msg_receive
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??osal_msg_find::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 osal_msg_find
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??osal_msg_enqueue::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 osal_msg_enqueue
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??osal_msg_dequeue::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 osal_msg_dequeue
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??osal_msg_push::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 osal_msg_push
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??osal_msg_extract::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 osal_msg_extract
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??osal_msg_enqueue_max::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 osal_msg_enqueue_max
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??osal_set_event::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 osal_set_event
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??osal_clear_event::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 osal_clear_event
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??osal_isr_register::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 osal_isr_register
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??osal_int_enable::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 osal_int_enable
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??osal_int_disable::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 osal_int_disable
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??osal_init_system::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 osal_init_system
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??osal_start_system::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 osal_start_system
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??osal_run_system::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 osal_run_system
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??osal_buffer_uint32::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 osal_buffer_uint32
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??osal_buffer_uint24::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 osal_buffer_uint24
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??osal_isbufset::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 osal_isbufset
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??osal_self::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 osal_self
|
|
|
|
RSEG XDATA_ROM_C:CONST:REORDER:NOROOT(0)
|
|
DATA8
|
|
`?<Constant "">`:
|
|
DB ""
|
|
DB 0, 0, 0, 0, 0, 0, 0, 0
|
|
DB 0
|
|
|
|
RSEG XDATA_ROM_C:CONST:REORDER:NOROOT(0)
|
|
DATA8
|
|
`?<Constant "">_1`:
|
|
DB ""
|
|
DB 0, 0, 0, 0, 0, 0, 0, 0
|
|
DB 0
|
|
|
|
RSEG XDATA_ROM_C:CONST:REORDER:NOROOT(0)
|
|
DATA8
|
|
`?<Constant "">_2`:
|
|
DB ""
|
|
DB 0, 0, 0, 0, 0, 0, 0, 0
|
|
DB 0
|
|
|
|
RSEG XDATA_ROM_C:CONST:REORDER:NOROOT(0)
|
|
DATA16
|
|
`?<Constant "0">`:
|
|
DB "0"
|
|
|
|
RSEG XDATA_ROM_C:CONST:REORDER:NOROOT(0)
|
|
DATA32
|
|
__Constant_2710:
|
|
DD 10000
|
|
|
|
RSEG XDATA_ROM_C:CONST:REORDER:NOROOT(0)
|
|
DATA32
|
|
__Constant_5f5e100:
|
|
DD 100000000
|
|
|
|
END
|
|
// 1187
|
|
// 1188 /*********************************************************************
|
|
// 1189 */
|
|
//
|
|
// 2 680 bytes in segment BANKED_CODE
|
|
// 192 bytes in segment BANK_RELAYS
|
|
// 1 byte in segment SFR_AN
|
|
// 1 byte in segment XDATA_I
|
|
// 1 byte in segment XDATA_ID
|
|
// 40 bytes in segment XDATA_ROM_C
|
|
// 4 bytes in segment XDATA_Z
|
|
//
|
|
// 193 bytes of CODE memory
|
|
// 32 bytes of CONST memory (+ 8 bytes shared)
|
|
// 0 bytes of DATA memory (+ 1 byte shared)
|
|
// 2 680 bytes of HUGECODE memory
|
|
// 5 bytes of XDATA memory
|
|
//
|
|
//Errors: none
|
|
//Warnings: none
|