ugBASIC 1.18
An isomorphic BASIC language compiler for retrocomputers
Loading...
Searching...
No Matches
sm83.h File Reference
#include "cpu.h"

Go to the source code of this file.

Macros

#define VT_FLOAT_BITWIDTH(p)
#define VT_FLOAT_NORMALIZED_BITWIDTH(p)
#define VT_FLOAT_NORMALIZED_POW2_WIDTH(p)
#define CPU_LITTLE_ENDIAN   1
#define REGISTER_BASE   0x1000
#define IS_REGISTER(x)

Typedefs

typedef enum _Z80Register Z80Register
typedef enum _Z80Stack Z80Stack

Enumerations

enum  _Z80Register {
  REGISTER_NONE = REGISTER_BASE | 0 , REGISTER_A = REGISTER_BASE | 1 , REGISTER_B = REGISTER_BASE | 2 , REGISTER_C = REGISTER_BASE | 3 ,
  REGISTER_D = REGISTER_BASE | 4 , REGISTER_E = REGISTER_BASE | 5 , REGISTER_H = REGISTER_BASE | 6 , REGISTER_L = REGISTER_BASE | 7 ,
  REGISTER_F = REGISTER_BASE | 8 , REGISTER_I = REGISTER_BASE | 9 , REGISTER_R = REGISTER_BASE | 10 , REGISTER_SP = REGISTER_BASE | 11 ,
  REGISTER_PC = REGISTER_BASE | 12 , REGISTER_IX = REGISTER_BASE | 13 , REGISTER_IY = REGISTER_BASE | 14 , REGISTER_AF = REGISTER_BASE | 15 ,
  REGISTER_BC = REGISTER_BASE | 16 , REGISTER_DE = REGISTER_BASE | 17 , REGISTER_HL = REGISTER_BASE | 18 , REGISTER_IXL = REGISTER_BASE | 19 ,
  REGISTER_IXH = REGISTER_BASE | 20 , REGISTER_IYL = REGISTER_BASE | 21 , REGISTER_IYH = REGISTER_BASE | 22 , REGISTER_HLA = REGISTER_BASE | 23 ,
  REGISTER_CARRY = REGISTER_BASE | 24 , REGISTER_ZERO = REGISTER_BASE | 25
}
enum  _Z80Stack { STACK_NONE = 0 , STACK_BYTE = 1 , STACK_WORD = 2 , STACK_DWORD = 3 }

Functions

void vars_emit_byte (Environment *_environment, char *_name, int _value)
void vars_emit_word (Environment *_environment, char *_name, int _value)
void vars_emit_dword (Environment *_environment, char *_name, int _value)
void vars_emit_number (Environment *_environment, char *_name, int _value)

Macro Definition Documentation

◆ CPU_LITTLE_ENDIAN

#define CPU_LITTLE_ENDIAN   1

Definition at line 54 of file sm83.h.

◆ IS_REGISTER

#define IS_REGISTER ( x)
Value:
#define REGISTER_BASE
Definition 6309.h:57

Definition at line 56 of file sm83.h.

◆ REGISTER_BASE

#define REGISTER_BASE   0x1000

Definition at line 55 of file sm83.h.

◆ VT_FLOAT_BITWIDTH

#define VT_FLOAT_BITWIDTH ( p)
Value:
( \
VT_BW_24BIT( p, FT_FAST ) + \
VT_BW_32BIT( p, FT_SINGLE ) \
)
@ FT_FAST
Definition ugbc.h:854
@ FT_SINGLE
Definition ugbc.h:855

Definition at line 36 of file sm83.h.

◆ VT_FLOAT_NORMALIZED_BITWIDTH

#define VT_FLOAT_NORMALIZED_BITWIDTH ( p)
Value:
( \
VT_BW_32BIT( p, FT_FAST ) + \
VT_BW_32BIT( p, FT_SINGLE ) \
)

Definition at line 42 of file sm83.h.

◆ VT_FLOAT_NORMALIZED_POW2_WIDTH

#define VT_FLOAT_NORMALIZED_POW2_WIDTH ( p)
Value:
( \
VT_POW2_2( p, FT_FAST ) + \
VT_POW2_2( p, FT_SINGLE ) \
)

Definition at line 48 of file sm83.h.

Typedef Documentation

◆ Z80Register

typedef enum _Z80Register Z80Register

◆ Z80Stack

typedef enum _Z80Stack Z80Stack

Enumeration Type Documentation

◆ _Z80Register

Enumerator
REGISTER_NONE 
REGISTER_A 
REGISTER_B 
REGISTER_C 
REGISTER_D 
REGISTER_E 
REGISTER_H 
REGISTER_L 
REGISTER_F 
REGISTER_I 
REGISTER_R 
REGISTER_SP 
REGISTER_PC 
REGISTER_IX 
REGISTER_IY 
REGISTER_AF 
REGISTER_BC 
REGISTER_DE 
REGISTER_HL 
REGISTER_IXL 
REGISTER_IXH 
REGISTER_IYL 
REGISTER_IYH 
REGISTER_HLA 
REGISTER_CARRY 
REGISTER_ZERO 

Definition at line 58 of file sm83.h.

◆ _Z80Stack

enum _Z80Stack
Enumerator
STACK_NONE 
STACK_BYTE 
STACK_WORD 
STACK_DWORD 

Definition at line 91 of file sm83.h.

Function Documentation

◆ vars_emit_byte()

void vars_emit_byte ( Environment * _environment,
char * _name,
int _value )

Definition at line 84 of file _vars.c.

◆ vars_emit_dword()

void vars_emit_dword ( Environment * _environment,
char * _name,
int _value )

Definition at line 100 of file _vars.c.

◆ vars_emit_number()

void vars_emit_number ( Environment * _environment,
char * _name,
int _value )

Definition at line 108 of file _vars.c.

◆ vars_emit_word()

void vars_emit_word ( Environment * _environment,
char * _name,
int _value )

Definition at line 92 of file _vars.c.