URL
https://opencores.org/ocsvn/zipcpu/zipcpu/trunk
[/] [zipcpu/] [trunk/] [sw/] [zasm/] [sys.i] - Diff between revs 13 and 34
Go to most recent revision |
Show entire file |
Details |
Blame |
View Log
Rev 13 |
Rev 34 |
Line 105... |
Line 105... |
#define CCSTEP 0x040
|
#define CCSTEP 0x040
|
#define CCUBRK 0x080
|
#define CCUBRK 0x080
|
|
|
; Now, some macros
|
; Now, some macros
|
#define PUSH(RG,SP) SUB 1,SP \
|
#define PUSH(RG,SP) SUB 1,SP \
|
STO RG,-1(SP)
|
STO RG,1(SP)
|
#define POP(RG,SP) LOD -1(SP),RG \
|
#define POP(RG,SP) LOD 1(SP),RG \
|
ADD 1,SP
|
ADD 1,SP
|
#define FJSR(LBL,RG) MOV __here__+2(PC),RG \
|
#define FJSR(LBL,RG) MOV __here__+2(PC),RG \
|
JMP LBL
|
JMP LBL
|
#define FRET(RG) MOV RG,PC
|
#define FRET(RG) MOV RG,PC
|
#define JSR(LBL,RG) SUB 1,SP \
|
#define JSR(LBL,RG) SUB 1,SP \
|
MOV __here__+3(PC),RG \
|
MOV __here__+3(PC),RG \
|
STO RG,-1(SP) \
|
STO RG,1(SP) \
|
JMP LBL \
|
JMP LBL \
|
ADD 1,SP
|
ADD 1,SP
|
#define RET LOD -1(SP),PC
|
#define RET LOD 1(SP),PC
|
#define SAVE_USER_CONTEXT(DR,AR) \
|
#define SAVE_USER_CONTEXT(DR,AR) \
|
MOV -16(uSP),AR \
|
MOV -16(uSP),AR \
|
MOV uPC,DR \
|
MOV uPC,DR \
|
STO DR,-16(AR) \
|
STO DR,16(AR) \
|
MOV uCC,DR \
|
MOV uCC,DR \
|
STO DR,-15(AR) \
|
STO DR,15(AR) \
|
MOV uSP,DR \
|
MOV uSP,DR \
|
STO DR,-14(AR) \
|
STO DR,14(AR) \
|
MOV uR12,DR \
|
MOV uR12,DR \
|
STO DR,-13(AR) \
|
STO DR,13(AR) \
|
MOV uR11,DR \
|
MOV uR11,DR \
|
STO DR,-12(AR) \
|
STO DR,12(AR) \
|
MOV uR10,DR \
|
MOV uR10,DR \
|
STO DR,-11(AR) \
|
STO DR,11(AR) \
|
MOV uR9,DR \
|
MOV uR9,DR \
|
STO DR,-10(AR) \
|
STO DR,10(AR) \
|
MOV uR8,DR \
|
MOV uR8,DR \
|
STO DR,-9(AR) \
|
STO DR,9(AR) \
|
MOV uR7,DR \
|
MOV uR7,DR \
|
STO DR,-8(AR) \
|
STO DR,8(AR) \
|
MOV uR6,DR \
|
MOV uR6,DR \
|
STO DR,-7(AR) \
|
STO DR,7(AR) \
|
MOV uR5,DR \
|
MOV uR5,DR \
|
STO DR,-6(AR) \
|
STO DR,6(AR) \
|
MOV uR4,DR \
|
MOV uR4,DR \
|
STO DR,-5(AR) \
|
STO DR,5(AR) \
|
MOV uR3,DR \
|
MOV uR3,DR \
|
STO DR,-4(AR) \
|
STO DR,4(AR) \
|
MOV uR2,DR \
|
MOV uR2,DR \
|
STO DR,-3(AR) \
|
STO DR,3(AR) \
|
MOV uR1,DR \
|
MOV uR1,DR \
|
STO DR,-2(AR) \
|
STO DR,2(AR) \
|
MOV uR0,DR \
|
MOV uR0,DR \
|
STO DR,-1(AR)
|
STO DR,1(AR)
|
#define RESTORE_USER_CONTEXT(DR,AR) \
|
#define RESTORE_USER_CONTEXT(DR,AR) \
|
LOD -1(AR),DR \
|
LOD 1(AR),DR \
|
MOV DR,uR0 \
|
MOV DR,uR0 \
|
LOD -2(AR),DR \
|
LOD 2(AR),DR \
|
MOV DR,uR1 \
|
MOV DR,uR1 \
|
LOD -3(AR),DR \
|
LOD 3(AR),DR \
|
MOV DR,uR2 \
|
MOV DR,uR2 \
|
LOD -4(AR),DR \
|
LOD 4(AR),DR \
|
MOV DR,uR3 \
|
MOV DR,uR3 \
|
LOD -5(AR),DR \
|
LOD 5(AR),DR \
|
MOV DR,uR4 \
|
MOV DR,uR4 \
|
LOD -6(AR),DR \
|
LOD 6(AR),DR \
|
MOV DR,uR5 \
|
MOV DR,uR5 \
|
LOD -7(AR),DR \
|
LOD 7(AR),DR \
|
MOV DR,uR6 \
|
MOV DR,uR6 \
|
LOD -8(AR),DR \
|
LOD 8(AR),DR \
|
MOV DR,uR7 \
|
MOV DR,uR7 \
|
LOD -9(AR),DR \
|
LOD 9(AR),DR \
|
MOV DR,uR8 \
|
MOV DR,uR8 \
|
LOD -10(AR),DR \
|
LOD 10(AR),DR \
|
MOV DR,uR9 \
|
MOV DR,uR9 \
|
LOD -11(AR),DR \
|
LOD 11(AR),DR \
|
MOV DR,uR10 \
|
MOV DR,uR10 \
|
LOD -12(AR),DR \
|
LOD 12(AR),DR \
|
MOV DR,uR11 \
|
MOV DR,uR11 \
|
LOD -13(AR),DR \
|
LOD 13(AR),DR \
|
MOV DR,uR12 \
|
MOV DR,uR12 \
|
LOD -14(AR),DR \
|
LOD 14(AR),DR \
|
MOV DR,uSP \
|
MOV DR,uSP \
|
LOD -15(AR),DR \
|
LOD 15(AR),DR \
|
MOV DR,uCC \
|
MOV DR,uCC \
|
LOD -16(AR),DR \
|
LOD 16(AR),DR \
|
MOV DR,uPC
|
MOV DR,uPC
|
#define READ_USER_TRAP(RG) \
|
#define READ_USER_TRAP(RG) \
|
MOV uCC,RG \
|
MOV uCC,RG \
|
AND -256,RG
|
AND -256,RG
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.