YACASL2
monitor.h
Go to the documentation of this file.
1 #ifndef YACASL2_MONITOR_H_INCLUDE
2 #define YACASL2_MONITOR_H_INCLUDE
3 
4 #include <stdio.h>
5 #include <string.h>
6 #include <assert.h>
7 #include "assemble.h"
8 #include "exec.h"
9 #include "load.h"
10 
14 enum {
15  MONARGSIZE = 3,
16 };
17 
21 typedef struct {
22  int argc;
23  char *argv[MONARGSIZE];
24 } MONARGS;
25 
29 typedef struct {
30  char *cmd;
32 } MONCMDLINE;
33 
37 typedef struct _BPSLIST {
38  struct _BPSLIST *next;
41 
45 enum {
46  BPSTABSIZE = 251,
47 };
48 
49 enum {
50  MONINSIZE = 40
51 };
52 
53 typedef enum {
54  MONREPEAT = 0,
55  MONNEXT = 1,
56  MONQUIT = 2,
57 } MONCMDTYPE;
58 
66 unsigned adrhash(WORD adr);
67 
75 MONARGS *monargstok(const char *str);
76 
84 MONCMDLINE *monlinetok(const char *line);
85 
94 MONCMDTYPE monitorcmd(char *cmd, MONARGS *args);
95 
103 bool getbps(WORD adr);
104 
112 bool addbps(WORD adr);
113 
114 
122 bool delbps(WORD adr);
123 
129 void freebps();
130 
136 void monitor();
137 
138 #endif
void monitor()
COMET IIモニターを起動する
Definition: monitor.c:389
MONCMDLINE * monlinetok(const char *line)
行から、モニターの命令と引数を取得する
Definition: monitor.c:146
MONCMDTYPE monitorcmd(char *cmd, MONARGS *args)
モニターの命令を実行する
Definition: monitor.c:287
@ BPSTABSIZE
Definition: monitor.h:46
bool getbps(WORD adr)
ブレークポイント表にアドレスがある場合はtrue、ない場合はfalseを返す
Definition: monitor.c:25
@ MONINSIZE
Definition: monitor.h:50
MONARGS * monargstok(const char *str)
文字列から、モニターの引数を取得する
Definition: monitor.c:124
unsigned adrhash(WORD adr)
アドレスのハッシュ値を返す
Definition: monitor.c:13
struct _BPSLIST BPSLIST
ブレークポイント表を表すデータ型
void freebps()
ブレークポイント表を解放する
Definition: monitor.c:116
@ MONARGSIZE
Definition: monitor.h:15
bool delbps(WORD adr)
ブレークポイント表からアドレスを削除する
Definition: monitor.c:57
MONCMDTYPE
Definition: monitor.h:53
@ MONNEXT
Definition: monitor.h:55
@ MONQUIT
Definition: monitor.h:56
@ MONREPEAT
Definition: monitor.h:54
bool addbps(WORD adr)
ブレークポイント表にアドレスを追加する
Definition: monitor.c:37
ブレークポイント表を表すデータ型
Definition: monitor.h:37
struct _BPSLIST * next
Definition: monitor.h:38
WORD adr
Definition: monitor.h:39
モニター引数を表すデータ型
Definition: monitor.h:21
int argc
Definition: monitor.h:22
モニター命令行を表すデータ型
Definition: monitor.h:29
MONARGS * args
Definition: monitor.h:31
char * cmd
Definition: monitor.h:30
unsigned short WORD
16ビットの数値を表すデータ型
Definition: word.h:9