retroforth/source/nga.h
crc 183c5bae38 Initial checkin (from 58fa921 in the old git repo)
FossilOrigin-Name: d2b8467883db80cb179089e1db1b1ed4dff1f11b4bee7086ee46d83f3ee0136e
2017-10-16 16:09:39 +00:00

47 lines
988 B
C

#ifndef _NGA_H
#define _NGA_H
#include <stdint.h>
#define CELL int32_t
#define IMAGE_SIZE (1024 * 1024) * 48
#define ADDRESSES 1024 * 1024
#define STACK_DEPTH 4096
typedef void (*Handler)(void);
extern CELL address[ADDRESSES];
extern CELL data[STACK_DEPTH];
void inst_add();
void inst_and();
void inst_call();
void inst_ccall();
void inst_divmod();
void inst_drop();
void inst_dup();
void inst_end();
void inst_eq();
void inst_fetch();
void inst_gt();
void inst_jump();
void inst_lit();
void inst_lt();
void inst_mul();
void inst_neq();
void inst_nop();
void inst_or();
void inst_pop();
void inst_push();
void inst_return();
void inst_shift();
void inst_store();
void inst_sub();
void inst_swap();
void inst_xor();
void inst_zret();
CELL ngaLoadImage(char *imageFile);
void ngaPrepare();
void ngaProcessOpcode(CELL opcode);
void ngaProcessPackedOpcodes(int opcode);
int ngaValidatePackedOpcodes(CELL opcode);
extern CELL sp, rp, ip;
extern CELL memory[IMAGE_SIZE];
#endif