📄 exenv.h
字号:
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ +
+ exenv.h - this file stores info about the execution environmnet +
+ ( i.e. RAM, registers ) +
+ +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
#ifndef _EXENV_H
#define _EXENV_H
#include "common.h"
#ifdef OS_WIN
#include "win32.h"
#else
#include "linux.h"
#endif
#define $IP 0 /* address of next instruction to execute */
#define $SP 1 /* address of most recent value popped on stack */
#define $FP 2 /* stack frame pointer */
#define $BE 3 /* address of last byte of bytecode section */
#define $HS 4 /* address of first ( lowest ) byte of heap */
#define $HE 5 /* address of last ( highest ) byte used by heap */
#define $SS 6 /* address of bottom of stack ( lowest ) */
#define $TOP 7 /* address of top-of-stack ( highest )*/
/* General purpose registers */
#define $R1 8
#define $R2 9
#define $R3 10
#define $R4 11
#define $R5 12
#define $R6 13
#define $R7 14
#define $R8 15
#define $R9 16
#define $R10 17
#define $R11 18
#define $R12 19
#define $R13 20
#define $R14 21
#define $R15 22
#define $R16 23
#define $R17 24
#define $R18 25
#define $R19 26
#define $R20 27
#define $R21 28
#define $R22 29
#define $R23 30
#define $R24 31
#define $F1 0
#define $F2 1
#define $F3 2
#define $F4 3
#define $F5 4
#define $F6 5
#define $F7 6
#define $F8 7
#define $F9 8
#define $F10 9
#define $D1 0
#define $D2 1
#define $D3 2
#define $D4 3
#define $D5 4
#define $D6 5
#define $D7 6
#define $D8 7
#define $D9 8
#define $D10 9
/* memory pointer, allocate memory on boot ------------------------*/
extern U1 * RAM; /* [0,$BE]=code [$HS,$HE]=heap [$SS,$TOP]=stack */
/* REGISTERS ------------------------------------------------------*/
extern U8 R[32];
extern F4 Rf[10];
extern F8 Rd[10];
extern char * R_STR[];
extern char * Rf_STR[];
extern char * Rd_STR[];
void printMemorySection(U8 address, U8 bytes);
void printAllRAM();
void printBasicRegisters();
void printGeneralRegisters();
void printFloatRegisters();
void printDoubleRegisters();
void testRegisterPrinting();
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -