ugBASIC 1.18
An isomorphic BASIC language compiler for retrocomputers
Loading...
Searching...
No Matches
8086.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 _CPU8086Register CPU8086Register
typedef enum _CPU8086Stack CPU8086Stack

Enumerations

enum  _CPU8086Register {
  REGISTER_NONE = REGISTER_BASE | 0 , REGISTER_AL = REGISTER_BASE | 1 , REGISTER_AH = REGISTER_BASE | 2 , REGISTER_BL = REGISTER_BASE | 3 ,
  REGISTER_BH = REGISTER_BASE | 4 , REGISTER_CL = REGISTER_BASE | 5 , REGISTER_CH = REGISTER_BASE | 6 , REGISTER_DL = REGISTER_BASE | 7 ,
  REGISTER_DH = REGISTER_BASE | 8 , REGISTER_AX = REGISTER_BASE | 9 , REGISTER_BX = REGISTER_BASE | 10 , REGISTER_CX = REGISTER_BASE | 11 ,
  REGISTER_DX = REGISTER_BASE | 12 , REGISTER_SP = REGISTER_BASE | 13 , REGISTER_BP = REGISTER_BASE | 14 , REGISTER_SI = REGISTER_BASE | 15 ,
  REGISTER_DI = REGISTER_BASE | 16 , REGISTER_CARRY = REGISTER_BASE | 17 , REGISTER_ZERO = REGISTER_BASE | 18
}
enum  _CPU8086Stack { 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 8086.h.

◆ IS_REGISTER

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

Definition at line 56 of file 8086.h.

◆ REGISTER_BASE

#define REGISTER_BASE   0x1000

Definition at line 55 of file 8086.h.

◆ VT_FLOAT_BITWIDTH

#define VT_FLOAT_BITWIDTH ( p)
Value:
( \
VT_BW_32BIT( 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 8086.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 8086.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 8086.h.

Typedef Documentation

◆ CPU8086Register

◆ CPU8086Stack

Enumeration Type Documentation

◆ _CPU8086Register

Enumerator
REGISTER_NONE 
REGISTER_AL 
REGISTER_AH 
REGISTER_BL 
REGISTER_BH 
REGISTER_CL 
REGISTER_CH 
REGISTER_DL 
REGISTER_DH 
REGISTER_AX 
REGISTER_BX 
REGISTER_CX 
REGISTER_DX 
REGISTER_SP 
REGISTER_BP 
REGISTER_SI 
REGISTER_DI 
REGISTER_CARRY 
REGISTER_ZERO 

Definition at line 58 of file 8086.h.

◆ _CPU8086Stack

Enumerator
STACK_NONE 
STACK_BYTE 
STACK_WORD 
STACK_DWORD 

Definition at line 84 of file 8086.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.