-
Notifications
You must be signed in to change notification settings - Fork 2
/
DISIO.H
73 lines (65 loc) · 1.69 KB
/
DISIO.H
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
72
73
// disio.h
//
// - added version 2.11
#ifndef disio_h
#define disio_h
#include "list.h"
#include "common.h"
#include "proctab.h"
#include "stacks.h"
#include "disfuncs.h"
#include "savefile.h"
// display flags
#define DISPFLAG_NEGATE 1
class disio
{ public:
lptr curraddr,outend;
dsmitemtype subitem; // subindex to top line of output
stack retstack;
public:
disio();
~disio();
void dumptofile(char *fname,bool printaddrs);
void dumpblocktofile(char *fname,bool printaddrs);
void outcomment(dsmitem *inst);
void outargs(dsmitem *inst,argtype a);
void updatewindow(void);
void scroller(dword amount);
void updatewindowifinrange(lptr loc);
void savecuraddr(void);
void findcurrentaddr(lptr *loc);
void vertsetpos(int pos);
void jumpback(void);
void jumpto(bool arg1);
dsmitem *findcurrentline(void);
void setcuraddr(lptr loc);
void setpos(int ypos);
void outinst(dsmitem *inst,bool printaddrs);
void outdb(lptr *lp,bool printaddrs);
void outprefix(byte prefixbyte);
void argoverdec(void);
void argoversingle(void);
void arg_negate(void);
void argoverhex(void);
void argoveroffsetdseg(void);
void argoverchar(void);
void makecode(void);
void makeword(void);
void makedword(void);
void makesingle(void);
void makedouble(void);
void makelongdouble(void);
void makestring(void);
void pascalstring(void);
void ucstring(void);
void upstring(void);
void dosstring(void);
void generalstring(void);
void updatewindowifwithinrange(lptr loc_start,lptr loc_end);
private:
void printlineheader(lptr loc,bool printaddrs);
bool issegprefix(byte byt);
bool isprefix(byte byt);
};
extern disio dio;
#endif