OpenCores
URL https://opencores.org/ocsvn/zipcpu/zipcpu/trunk

Subversion Repositories zipcpu

[/] [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
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.