/*
|
File: linklist.h
|
|
PMAC Address Link List structure
|
|
Author(s): Ed Lay
|
|
12/06/93 EBL Created
|
|
Change log:
|
|
Date Rev Who Description
|
--------- ----- ----- -----------------------------------------
|
01/11/4 EBL Changes for windows DLL
|
02/05/4 EBL Add links for L-Variable MOD & DIV
|
03/03/95 EBL ADD fb_addr[8] & fb_read_addr, fb_write_addr
|
10/20/00 EBL Add New JMP Vector ADDr 1.937 TURBO
|
11/21/01 AS REMOVE fb_addr[8] & fb_read_addr, fb_write_addr
|
*/
|
|
struct {
|
//
|
// Function Address
|
//
|
unsigned long func_addr[16 ]; // = { I_SUB ,
|
// M_SUB ,
|
// P_SUB ,
|
// Q_SUB ,
|
// FSIN ,
|
// FCOS ,
|
// FTAN ,
|
// FABS ,
|
// FASIN ,
|
// FACOS ,
|
// FATAN ,
|
// FSQRT ,
|
// FEXP ,
|
// FLN ,
|
// FINT ,
|
// FATAN2 };
|
|
unsigned long opr_push_addr[8 ]; // = { // push stack Operator Addresses
|
// FADD_XA,
|
// FSUB_XA,
|
// FMPY_XA,
|
// FDIV_XA,
|
// FOR_XA ,
|
// FEOR_XA,
|
// FAND_XA,
|
// FMOD_XA };
|
|
//
|
// Operator Address Order - the POP stack direction
|
//
|
// +
|
// - // FSUB_AX
|
// *
|
// / // FDIV_AX
|
// |
|
// ^
|
// &
|
// % // FMOD_AX
|
//
|
unsigned long opr_pop_addr[8 ]; // = { // pop stack Operator Addresses
|
// FADD_XA,
|
// FSUB_AX,
|
// FMPY_XA,
|
// FDIV_AX,
|
// FOR_XA ,
|
// FEOR_XA,
|
// FAND_XA,
|
// FMOD_AX };
|
unsigned long imrd_addr[2 ]; // = { I_READ,
|
// M_READ };
|
|
unsigned long imwrt_addr[2 ]; // = { I_WRITE,
|
// M_WRITE };
|
|
unsigned long fneg_addr; // = FNEG;
|
unsigned long fcmp_xa_addr; // = FCMP_XA;
|
unsigned long pack_addr; // = PACK;
|
unsigned long unpack_addr; // = UNPACK;
|
unsigned long plc_ena_addr; // = PLCENADIS;
|
unsigned long plcq_base_addr; // PLCQ_BASE;
|
unsigned long movp_disp_addr; // MOVPDISP
|
unsigned long ftoaf_addr; // FTOAF
|
unsigned long modx1a_addr;
|
unsigned long modax1_addr;
|
unsigned long divx1a_addr;
|
unsigned long divax1_addr;
|
unsigned long fb_read_addr; // LDD PLCC FB_READ
|
unsigned long fb_write_addr; // LDD PLCC FB_WRITe
|
unsigned long plcn_str_addr; // Added for TURBO PLCC 1..31 string move
|
unsigned long plc0_str_addr; // Added for TURBO PLCC 0 string move
|
unsigned long plc_str_addr; // Added for TURBO X:ADDR for PLC0
|
// Added for TURBO X:ADDR+1 for PLCN
|
unsigned long ftol_addr; // Added for TURBO X:ADDR for FTOL function
|
unsigned long ltof_addr; // Added for TURBO X:ADDR for LTOF 1.937
|
unsigned long l_read_addr; // Added for TURBO X:ADDR for 1.937
|
unsigned long l_write_addr; // Added for TURBO X:ADDR for 1.937
|
unsigned long l_read0_addr; // Added for TURBO X:ADDR for 1.937
|
unsigned long l_write0_addr; // Added for TURBO X:ADDR for 1.937
|
unsigned long lock_addr; // Added for TURBO X:ADDR for 1.937
|
unsigned long unlock_addr; // Added for TURBO X:ADDR for 1.937
|
unsigned long set_phase_addr; // Added for TURBO X:ADDR for 1.937
|
unsigned long plc_adr_pn_addr; // Added for TURBO X:ADDR for 1.937
|
unsigned long qread_a_addr; // Added for TURBO X:ADDR for 1.937
|
unsigned long qread_x_addr; // Added for TURBO X:ADDR for 1.937
|
unsigned long qwrite_a_addr; // Added for TURBO X:ADDR for 1.937
|
unsigned long mi_read_addr; // Added for MACRO16 PLCC
|
unsigned long mm_read_addr; // Added for MACRO16 PLCC
|
unsigned long mi_write_addr; // Added for MACRO16 PLCC
|
unsigned long mm_write_addr; // Added for MACRO16 PLCC
|
unsigned long chn_write_addr; // Added for MACRO16 PLCC
|
} pmaclnk;
|