File: asm.h

package info (click to toggle)
pasmo 0.5.2-5
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 932 kB
  • ctags: 1,503
  • sloc: cpp: 8,180; asm: 3,020; sh: 790; makefile: 111
file content (71 lines) | stat: -rw-r--r-- 1,607 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
// asm.h
// Revision 21-dec-2004

#include <iostream>
#include <string>
#include <vector>
#include <map>
#include <set>
#include <deque>

class Asm {
public:
	Asm ();

	// This is not a copy constructor, it creates a new
	// instance copying only the options.
	//explicit Asm (const Asm & a);

	~Asm ();

	void verbose ();
	enum DebugType { NoDebug, DebugSecondPass, DebugAll };
	DebugType debugtype;
	void setdebugtype (DebugType type);
	void errtostdout ();
	void setbase (unsigned int addr);
	void caseinsensitive ();
	void autolocal ();
	void bracketonly ();
	void warn8080 ();
	void set86 ();

	void addincludedir (const std::string & dirname);
	void addpredef (const std::string & predef);
	void setheadername (const std::string & headername_n);

	void loadfile (const std::string & filename);
	void processfile ();

	void emitobject (std::ostream & out);
	void emitplus3dos (std::ostream & out);

	void emittap (std::ostream & out);
	void emittzx (std::ostream & out);
	void emitcdt (std::ostream & out);

	void emittapbas (std::ostream & out);
	void emittzxbas (std::ostream & out);
	void emitcdtbas (std::ostream & out);

	void emithex (std::ostream & out);
	void emitamsdos (std::ostream & out);

	void emitprl (std::ostream & out);
	void emitcmd (std::ostream & out);

	void emitmsx (std::ostream & out);
	void dumppublic (std::ostream & out);
	void dumpsymbol (std::ostream & out);
private:
	Asm (const Asm & a); // Forbidden
	void operator = (const Asm &); // Forbidden
public:
	// Make it public to simplify implementation.
	class In;
	friend class In;
private:
	In * pin;
};

// End of asm.h