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

Subversion Repositories jtag_stapl_player

[/] [jtag_stapl_player/] [trunk/] [jamstack.h] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 sukhanov
/****************************************************************************/
2
/*                                                                                                                                                      */
3
/*      Module:                 jamstack.h                                                                                              */
4
/*                                                                                                                                                      */
5
/*                                      Copyright (C) Altera Corporation 1997                                   */
6
/*                                                                                                                                                      */
7
/*      Description:    Prototypes for stack management functions                               */
8
/*                                                                                                                                                      */
9
/*      Revisions:              1.1     added jam_free_stack()                                                          */
10
/*                                                                                                                                                      */
11
/****************************************************************************/
12
 
13
/****************************************************************************/
14
/*                                                                                                                                                      */
15
/*      Actel version 1.1             May 2003                                                                  */
16
/*                                                                                                                                                      */
17
/****************************************************************************/
18
 
19
#ifndef INC_JAMSTACK_H
20
#define INC_JAMSTACK_H
21
 
22
/****************************************************************************/
23
/*                                                                                                                                                      */
24
/*      Type definitions                                                                                                                */
25
/*                                                                                                                                                      */
26
/****************************************************************************/
27
 
28
/* types of stack records */
29
typedef enum
30
{
31
        JAM_ILLEGAL_STACK_TYPE = 0,
32
        JAM_STACK_FOR_NEXT,
33
        JAM_STACK_PUSH_POP,
34
        JAM_STACK_CALL_RETURN,
35
        JAM_STACK_MAX
36
 
37
} JAME_STACK_RECORD_TYPE;
38
 
39
/* stack record structure */
40
typedef struct
41
{
42
        JAME_STACK_RECORD_TYPE type;
43
        JAMS_SYMBOL_RECORD *iterator;   /* used only for FOR/NEXT */
44
        long for_position;                              /* used only for FOR/NEXT */
45
        long stop_value;                                /* used only for FOR/NEXT */
46
        long step_value;                                /* used only for FOR/NEXT */
47
        long push_value;                                /* used only for PUSH/POP */
48
        long return_position;                   /* used only for CALL/RETURN */
49
 
50
} JAMS_STACK_RECORD;
51
 
52
/****************************************************************************/
53
/*                                                                                                                                                      */
54
/*      Global variables                                                                                                                */
55
/*                                                                                                                                                      */
56
/****************************************************************************/
57
 
58
extern JAMS_STACK_RECORD *jam_stack;
59
 
60
/****************************************************************************/
61
/*                                                                                                                                                      */
62
/*      Function prototypes                                                                                                             */
63
/*                                                                                                                                                      */
64
/****************************************************************************/
65
 
66
JAM_RETURN_TYPE jam_init_stack
67
(
68
        void
69
);
70
 
71
void jam_free_stack
72
(
73
        void
74
);
75
 
76
JAM_RETURN_TYPE jam_push_stack_record
77
(
78
        JAMS_STACK_RECORD *stack_record
79
);
80
 
81
JAMS_STACK_RECORD *jam_peek_stack_record
82
(
83
        void
84
);
85
 
86
JAM_RETURN_TYPE jam_pop_stack_record
87
(
88
        void
89
);
90
 
91
JAM_RETURN_TYPE jam_push_fornext_record
92
(
93
        JAMS_SYMBOL_RECORD *iterator,
94
        long for_position,
95
        long stop_value,
96
        long step_value
97
);
98
 
99
JAM_RETURN_TYPE jam_push_pushpop_record
100
(
101
        long value
102
);
103
 
104
JAM_RETURN_TYPE jam_push_callret_record
105
(
106
        long return_position
107
);
108
 
109
#endif /* INC_JAMSTACK_H */

powered by: WebSVN 2.1.0

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