]> Shamusworld >> Repos - rmac/blobdiff - mach.h
Added in DSP fixups to sect.c, misc. fixes for 6502 assembler.
[rmac] / mach.h
diff --git a/mach.h b/mach.h
index c76f1095415f58da1ae68fe911eab399954c5fa1..5151210b9d3c6b934583a2e1dbaba24bc19d3c47 100644 (file)
--- a/mach.h
+++ b/mach.h
@@ -1,47 +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
-extern char *seg_error;
-extern char *undef_error;
-extern char *rel_error;
-extern char *range_error;
-extern char *abs_error;
+// 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[];
+extern int movep;
 
-// 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);
+#endif // __MACH_H__
 
-#endif // __MACH_H__
\ No newline at end of file