📄 console.s51
字号:
//////////////////////////////////////////////////////////////////////////////
// /
// IAR 8051 C/C++ Compiler V7.20H/W32 11/Dec/2008 13:41:50 /
// Copyright 2004-2006 IAR Systems. All rights reserved. /
// /
// Core = plain /
// Code model = near /
// Data model = large /
// Calling convention = xdata reentrant /
// Constant location = data /
// Dptr setup = 1,16 /
// Source file = D:\zigbee\演示程序\简化协议的无线收发演示\demo_p /
// ro\src\console.c /
// Command line = -lC D:\zigbee\演示程序\简化协议的无线收发演示\de /
// mo_pro\Debug\List\ -lA D:\zigbee\演示程序\简化协 /
// 议的无线收发演示\demo_pro\Debug\List\ -o /
// D:\zigbee\演示程序\简化协议的无线收发演示\demo_p /
// ro\Debug\Obj\ -e -z2 --no_cse --no_unroll /
// --no_inline --no_code_motion --no_tbaa --debug /
// --core=plain --dptr=16,1 --data_model=large /
// --code_model=near --calling_convention=xdata_ree /
// ntrant --place_constants=data --nr_virtual_regs /
// 8 -I "C:\Program Files\IAR Systems\Embedded /
// Workbench 4.05 Evaluation version\8051\INC\" -I /
// "C:\Program Files\IAR Systems\Embedded /
// Workbench 4.05 Evaluation /
// version\8051\INC\CLIB\" /
// D:\zigbee\演示程序\简化协议的无线收发演示\demo_p /
// ro\src\console.c /
// List file = D:\zigbee\演示程序\简化协议的无线收发演示\demo_p /
// ro\Debug\List\console.s51 /
// /
// /
//////////////////////////////////////////////////////////////////////////////
NAME console
RTMODEL "__calling_convention", "xdata_reentrant"
RTMODEL "__code_model", "near"
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 "__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 ?ALLOC_XSTACK8
EXTERN ?DEALLOC_XSTACK8
EXTERN ?FUNC_ENTER_XDATA
EXTERN ?FUNC_LEAVE_XDATA
EXTERN ?L_MOV_X
EXTERN ?UL_SHR
EXTERN ?US_DIV_MOD
EXTERN ?V0
EXTERN ?XSP
EXTERN __INIT_XDATA_I
EXTERN __INIT_XDATA_Z
PUBLIC ConsolePutInitData
FUNCTION ConsolePutInitData,021203H
LOCFRAME XSTACK, 17, STACK
PUBLIC ConsolePutInitDataWithoutRtn
FUNCTION ConsolePutInitDataWithoutRtn,021203H
LOCFRAME XSTACK, 17, STACK
PUBWEAK __Constant_1347
PUBLIC conPCRLF
FUNCTION conPCRLF,021203H
ARGFRAME XSTACK, 19, STACK
PUBLIC conPrintConfig
FUNCTION conPrintConfig,021203H
LOCFRAME XSTACK, 19, STACK
PUBLIC conPrintLADDR
FUNCTION conPrintLADDR,021203H
LOCFRAME XSTACK, 8, STACK
PUBLIC conPrintLADDR_bytes
FUNCTION conPrintLADDR_bytes,021203H
ARGFRAME XSTACK, 19, STACK
LOCFRAME XSTACK, 11, STACK
PUBLIC conPrintROMString_func
FUNCTION conPrintROMString_func,021203H
ARGFRAME ISTACK, 1, STACK
ARGFRAME XSTACK, 19, STACK
LOCFRAME ISTACK, 2, STACK
PUBLIC conPrintString
FUNCTION conPrintString,021203H
LOCFRAME ISTACK, 2, STACK
PUBLIC conPrintUINT16
FUNCTION conPrintUINT16,021203H
LOCFRAME XSTACK, 8, STACK
PUBLIC conPrintUINT32
FUNCTION conPrintUINT32,021203H
ARGFRAME XSTACK, 19, STACK
LOCFRAME XSTACK, 15, STACK
PUBLIC conPrintUINT8
FUNCTION conPrintUINT8,021203H
ARGFRAME XSTACK, 19, STACK
LOCFRAME ISTACK, 1, STACK
PUBLIC conPrintUINT8_noleader
FUNCTION conPrintUINT8_noleader,021203H
ARGFRAME ISTACK, 1, STACK
ARGFRAME XSTACK, 15, STACK
LOCFRAME XSTACK, 8, STACK
PUBLIC debug_level
CFI Names cfiNames0
CFI StackFrame CFA_SP SP DATA
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:16, ?RET_HIGH:8, ?RET_LOW:8
CFI ResourceParts PSP16 PSPH, PSPL
CFI ResourceParts XSP16 XSPH, XSPL
CFI ResourceParts ?RET ?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+-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 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 ?RET_HIGH Frame(CFA_SP, 2)
CFI ?RET_LOW Frame(CFA_SP, 1)
CFI EndCommon cfiCommon0
EXTERN halPutch
FUNCTION halPutch,0202H
ARGFRAME ISTACK, 2, STACK
ARGFRAME XSTACK, 17, STACK
EXTERN halGetProcessorIEEEAddress
FUNCTION halGetProcessorIEEEAddress,0202H
ARGFRAME XSTACK, 19, STACK
// D:\zigbee\演示程序\简化协议的无线收发演示\demo_pro\src\console.c
// 1
// 2
// 3 /*
// 4 V0.1 Initial Release 10/July/2006 RBR
// 5
// 6 */
// 7
// 8
// 9 #include "compiler.h" //compiler specific
// 10 #include "hal.h"
// 11 #include "halstack.h"
// 12 #include "lrwpan_config.h"
// 13 #include "console.h"
// 14
// 15
RSEG XDATA_Z:XDATA:NOROOT(0)
REQUIRE __INIT_XDATA_Z
// 16 BYTE debug_level;
debug_level:
DS 1
// 17
// 18
// 19
// 20
// 21
// 22
// 23
RSEG NEAR_CODE:CODE:NOROOT(0)
// 24 void ConsolePutInitData(int highval,int lowval)
ConsolePutInitData:
CFI Block cfiBlock0 Using cfiCommon0
CFI Function ConsolePutInitData
// 25 {
FUNCALL ConsolePutInitData, halPutch
LOCFRAME XSTACK, 17, STACK
ARGFRAME XSTACK, 17, STACK
FUNCALL ConsolePutInitData, halPutch
LOCFRAME XSTACK, 17, STACK
ARGFRAME XSTACK, 17, STACK
FUNCALL ConsolePutInitData, halPutch
LOCFRAME XSTACK, 17, STACK
ARGFRAME XSTACK, 17, STACK
FUNCALL ConsolePutInitData, halPutch
LOCFRAME XSTACK, 17, STACK
ARGFRAME XSTACK, 17, STACK
MOV A,#-0xf
LCALL ?FUNC_ENTER_XDATA
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-3)))
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-4)))
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-5)))
CFI V7 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: 2
MOV A,#-0x2
LCALL ?ALLOC_XSTACK8
CFI CFA_XSP16 add(XSP16, 17)
MOV DPL,?XSP + 0
MOV DPH,?XSP + 1
MOV A,R2
MOVX @DPTR,A
INC DPTR
MOV A,R3
MOVX @DPTR,A
MOV ?V0 + 6,R4
MOV ?V0 + 7,R5
// 26 char i;
// 27 BYTE dig;
// 28 unsigned int divider;
// 29 unsigned int wordvalue;
// 30
// 31 #ifndef REPDUBUGINFO
// 32 //return;
// 33 #endif
// 34
// 35 wordvalue=highval*256+lowval;
MOV DPL,?XSP + 0
MOV DPH,?XSP + 1
MOVX A,@DPTR
MOV R0,A
INC DPTR
MOVX A,@DPTR
MOV R1,A
MOV A,R0
MOV B,#0x0
MUL AB
XCH A,R0
MOV R2,B
MOV B,#0x1
MUL AB
ADD A,R2
MOV R2,A
MOV B,#0x0
MOV A,R1
MUL AB
ADD A,R2
MOV R1,A
MOV A,?V0 + 6
ADD A,R0
MOV R0,A
MOV A,?V0 + 7
ADDC A,R1
MOV R1,A
MOV ?V0 + 0,R0
MOV ?V0 + 1,R1
// 36 divider=10000;
MOV R6,#0x10
MOV R7,#0x27
// 37
// 38 for(i=5; divider>wordvalue && i>1 ;i--)
MOV ?V0 + 2,#0x5
??ConsolePutInitData_0:
CLR C
MOV A,?V0 + 0
SUBB A,R6
MOV A,?V0 + 1
SUBB A,R7
JNC ??ConsolePutInitData_1
MOV A,?V0 + 2
CLR C
SUBB A,#0x2
JC ??ConsolePutInitData_1
// 39 {
// 40 divider/=10;
MOV A,R6
MOV R0,A
MOV A,R7
MOV R1,A
MOV R2,#0xa
MOV R3,#0x0
LCALL ?US_DIV_MOD
MOV ?V0 + 4,R0
MOV ?V0 + 5,R1
MOV R6,?V0 + 4
MOV R7,?V0 + 5
// 41 halPutch(' ');
; Setup parameters for call to function halPutch
MOV R1,#0x20
LCALL halPutch
// 42 }
DEC ?V0 + 2
SJMP ??ConsolePutInitData_0
// 43 for(;i>0;i--)
??ConsolePutInitData_1:
MOV A,?V0 + 2
CLR C
SUBB A,#0x1
JC ??ConsolePutInitData_2
// 44 {
// 45
// 46 dig = (wordvalue/divider);
MOV R0,?V0 + 0
MOV R1,?V0 + 1
MOV A,R6
MOV R2,A
MOV A,R7
MOV R3,A
LCALL ?US_DIV_MOD
MOV A,R0
MOV ?V0 + 3,A
// 47 wordvalue = (wordvalue%divider);
MOV R0,?V0 + 0
MOV R1,?V0 + 1
MOV A,R6
MOV R2,A
MOV A,R7
MOV R3,A
LCALL ?US_DIV_MOD
MOV ?V0 + 4,R2
MOV ?V0 + 5,R3
MOV ?V0 + 0,?V0 + 4
MOV ?V0 + 1,?V0 + 5
// 48 halPutch(dig+0x30);
; Setup parameters for call to function halPutch
MOV A,#0x30
ADD A,?V0 + 3
MOV R1,A
LCALL halPutch
// 49
// 50 divider/=10;
MOV A,R6
MOV R0,A
MOV A,R7
MOV R1,A
MOV R2,#0xa
MOV R3,#0x0
LCALL ?US_DIV_MOD
MOV ?V0 + 4,R0
MOV ?V0 + 5,R1
MOV R6,?V0 + 4
MOV R7,?V0 + 5
// 51 }
DEC ?V0 + 2
SJMP ??ConsolePutInitData_1
// 52 halPutch('\r');
??ConsolePutInitData_2:
; Setup parameters for call to function halPutch
MOV R1,#0xd
LCALL halPutch
// 53 halPutch('\n');
; Setup parameters for call to function halPutch
MOV R1,#0xa
LCALL halPutch
// 54 }
MOV A,#0x2
LCALL ?DEALLOC_XSTACK8
CFI CFA_XSP16 add(XSP16, 15)
MOV R7,#0x8
LJMP ?FUNC_LEAVE_XDATA
CFI EndBlock cfiBlock0
// 55
RSEG NEAR_CODE:CODE:NOROOT(0)
// 56 void ConsolePutInitDataWithoutRtn(int highval,int lowval)
ConsolePutInitDataWithoutRtn:
CFI Block cfiBlock1 Using cfiCommon0
CFI Function ConsolePutInitDataWithoutRtn
// 57 {
FUNCALL ConsolePutInitDataWithoutRtn, halPutch
LOCFRAME XSTACK, 17, STACK
ARGFRAME XSTACK, 17, STACK
FUNCALL ConsolePutInitDataWithoutRtn, halPutch
LOCFRAME XSTACK, 17, STACK
ARGFRAME XSTACK, 17, STACK
MOV A,#-0xf
LCALL ?FUNC_ENTER_XDATA
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-3)))
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-4)))
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-5)))
CFI V7 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: 2
MOV A,#-0x2
LCALL ?ALLOC_XSTACK8
CFI CFA_XSP16 add(XSP16, 17)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -