X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?p=rmac;a=blobdiff_plain;f=mach.h;h=5151210b9d3c6b934583a2e1dbaba24bc19d3c47;hp=224095039ffaf4d8861f5caf72ecf420a2fc9205;hb=bdbf34766f4d074a5933eb1326fe4ce03d249e10;hpb=d16b8ea0ee65b2ad901ca6b0624c07e6e4930cc4 diff --git a/mach.h b/mach.h index 2240950..5151210 100644 --- a/mach.h +++ b/mach.h @@ -1,48 +1,35 @@ // -// RMAC - Reboot's Macro Assembler for the Atari Jaguar Console System +// RMAC - Reboot's Macro Assembler for all Atari computers // MACH.H - Code Generation -// Copyright (C) 199x Landon Dyer, 2011 Reboot and Friends +// Copyright (C) 199x Landon Dyer, 2011-2019 Reboot and Friends // RMAC derived from MADMAC v1.07 Written by Landon Dyer, 1986 -// Source Utilised with the Kind Permission of Landon Dyer +// Source utilised with the kind permission of Landon Dyer // #ifndef __MACH_H__ #define __MACH_H__ #include "rmac.h" -#include "amode.h" -// Globals, Externals etc +// Mnemonic table structure +#define MNTAB struct _mntab +MNTAB { + WORD mnattr; // Attributes (CGSPECIAL, SIZN, ...) + LONG mn0, mn1; // Addressing modes + WORD mninst; // Instruction mask + WORD mncont; // Continuation (or -1) + int (* mnfunc)(WORD, WORD); // Mnemonic builder +}; + +// Exported variables extern char seg_error[]; extern char undef_error[]; extern char rel_error[]; extern char range_error[]; extern char abs_error[]; +extern char unsupport[]; extern MNTAB machtab[]; - -// Prototypes -int m_unimp(), m_badmode(), m_bad6mode(), m_bad6inst(); -int m_self(WORD); -int m_abcd(WORD, WORD); -int m_reg(WORD, WORD); -int m_imm(WORD, WORD); -int m_imm8(WORD, WORD); -int m_shi(WORD, WORD); -int m_shr(WORD, WORD); -int m_bitop(WORD, WORD); -int m_exg(WORD, WORD); -int m_ea(WORD, WORD); -int m_br(WORD, WORD); -int m_dbra(WORD, WORD); -int m_link(WORD, WORD); -int m_adda(WORD, WORD); -int m_addq(WORD, WORD); -int m_move(WORD, int); -int m_moveq(WORD, WORD); -int m_usp(WORD, WORD); -int m_movep(WORD, WORD); -int m_trap(WORD, WORD); -int m_movem(WORD, WORD); -int m_clra(WORD, WORD); +extern int movep; #endif // __MACH_H__ +