|
|
1.1 root 1: #ifndef ASM_H
2: #define ASM_H
3: #ifndef UNIV_H
4: #include "univ.h"
5: #endif
6:
7: >pri
8: class Instr : public PadRcv {
9: PUBLIC(Instr,U_INSTR)
10: long addr;
11: long next;
12: Asm *_asm;
13: int fmt;
14: Cslfd m;
15: char bpt;
16: char reg;
17: char opcode;
18:
19: Index carte();
20: void reformat(int);
21: Instr *sib;
22: char *literal(long);
23: char *symbolic(char* ="");
24: Var *local(UDisc, long);
25: Var *field(Var*, long);
26: char *regarg(char*, long);
27: void succ(int);
28: void memory();
29: void dobpt(int);
30: void showsrc();
31: void openframe();
32: void display();
33:
34: virtual char *arg(int);
35: virtual char *mnemonic();
36: virtual int argtype(int);
37: virtual int nargs();
38:
39: Instr(Asm*,long);
40: };
41:
42: >
43: class Asm : public PadRcv { friend Instr;
44: friend M68kInstr;
45: >pub
46: char pub_filler[16];
47: >pri
48: int fmt;
49: Core *core;
50: Pad *pad;
51: Instr *instrset;
52: void instrstep(long);
53: void stepover();
54: void displaypc();
55: void go();
56: >
57: virtual char *literaldelimiter();
58: virtual Instr *newInstr(long l);
59: PUBLIC(Asm,U_ASM)
60: Asm(Core*);
61: char *kbd(char *);
62: char *help();
63: void userclose();
64: void open(long=0);
65: void banner();
66: };
67: >pri
68: class M68kAsm : public Asm {
69: public:
70: char *literaldelimiter();
71: Instr *newInstr(long);
72: M68kAsm(Core*);
73: };
74: >
75: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.