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

Subversion Repositories igor

[/] [igor/] [trunk/] [simulator/] [regs.h] - Blame information for rev 4

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 4 atypic
#ifndef _REGS_H_
2
#define _REGS_H_
3
 
4
#include "types.h"
5
 
6
#define N_SKRATCH_SZ 0x400
7
#define N_MAGIC_REGS 0x010
8
#define N_REGS ((N_SKRATCH_SZ)+(N_MAGIC_REGS))
9
 
10
extern reg_t registers[N_REGS];
11
 
12
// magical registers (outside skratch memory):
13
#define REG_SP ((N_SKRATCH_SZ)+0x0)
14
#define REG_PC ((N_SKRATCH_SZ)+0x1)
15
#define REG_ST ((N_SKRATCH_SZ)+0x2)
16
 
17
#define ST_O 0 // overflow
18
#define ST_C 1 // carry
19
#define ST_N 2 // negative
20
#define ST_Z 3 // zero
21
#define ST_T 4 // type error
22
#define ST_I 5 // I/O error
23
 
24
extern char status_flags[8];
25
 
26
void regs_init(char *regfile);
27
 
28
void reg_set(int reg, reg_t value);
29
reg_t reg_get(int reg);
30
void reg_dump(void);
31
 
32
int get_status_flag(int flag);
33
void set_status_flag(int flag, int value);
34
int get_flags(uint16_t mask);
35
int get_all_status_flags(void);
36
 
37
#endif /* _REGS_H_ */

powered by: WebSVN 2.1.0

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