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

Go to the source code of this file.

Macros

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

Typedefs

typedef enum _CPU6809Register CPU6809Register
typedef enum _CPU6809Stack CPU6809Stack

Enumerations

enum  _CPU6809Register {
  REGISTER_NONE = REGISTER_BASE | 0 , REGISTER_A = REGISTER_BASE | 1 , REGISTER_B = REGISTER_BASE | 2 , REGISTER_CC = REGISTER_BASE | 3 ,
  REGISTER_DP = REGISTER_BASE | 4 , REGISTER_X = REGISTER_BASE | 5 , REGISTER_Y = REGISTER_BASE | 6 , REGISTER_U = REGISTER_BASE | 7 ,
  REGISTER_S = REGISTER_BASE | 8 , REGISTER_PC = REGISTER_BASE | 9 , REGISTER_D = REGISTER_BASE | 10
}
enum  _CPU6809Stack { 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

◆ cpu6809

#define cpu6809   1

Definition at line 4 of file 6809.h.

◆ CPU_BIG_ENDIAN

#define CPU_BIG_ENDIAN   1

Definition at line 56 of file 6809.h.

◆ IS_REGISTER

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

Definition at line 58 of file 6809.h.

◆ REGISTER_BASE

#define REGISTER_BASE   0x1000

Definition at line 57 of file 6809.h.

◆ VT_FLOAT_BITWIDTH

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

Definition at line 38 of file 6809.h.

◆ VT_FLOAT_NORMALIZED_BITWIDTH

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

Definition at line 44 of file 6809.h.

◆ VT_FLOAT_NORMALIZED_POW2_WIDTH

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

Definition at line 50 of file 6809.h.

Typedef Documentation

◆ CPU6809Register

◆ CPU6809Stack

Enumeration Type Documentation

◆ _CPU6809Register

Enumerator
REGISTER_NONE 
REGISTER_A 
REGISTER_B 
REGISTER_CC 
REGISTER_DP 
REGISTER_X 
REGISTER_Y 
REGISTER_U 
REGISTER_S 
REGISTER_PC 
REGISTER_D 

Definition at line 60 of file 6809.h.

◆ _CPU6809Stack

Enumerator
STACK_NONE 
STACK_BYTE 
STACK_WORD 
STACK_DWORD 

Definition at line 76 of file 6809.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.