You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
113 lines
3.7 KiB
113 lines
3.7 KiB
MODULE getxsp
|
|
|
|
//RTMODEL "__SystemLibrary", "CLib"
|
|
//RTMODEL "__calling_convention", "data_overlay"
|
|
RTMODEL "__code_model", "near"
|
|
RTMODEL "__core", "plain"
|
|
//RTMODEL "__data_model", "small"
|
|
RTMODEL "__dptr_size", "16"
|
|
RTMODEL "__extended_stack", "disabled"
|
|
//RTMODEL "__location_for_constants", "code"
|
|
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)
|
|
|
|
PUBLIC getxsp
|
|
FUNCTION getxsp,0203H
|
|
|
|
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: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 Undefined
|
|
CFI DPH0 Undefined
|
|
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 ?XSP
|
|
|
|
RSEG NEAR_CODE:CODE:NOROOT(0)
|
|
// void __xdata *getxsp(void)
|
|
getxsp:
|
|
CFI Block cfiBlock0 Using cfiCommon0
|
|
CFI Function getxsp
|
|
CODE
|
|
MOV R2,?XSP
|
|
MOV R3,?XSP+1
|
|
RET
|
|
CFI EndBlock cfiBlock0
|
|
|
|
END
|