projects
/
YACASL2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
アセンブルのソースを整理
[YACASL2.git]
/
include
/
struct.h
diff --git
a/include/struct.h
b/include/struct.h
index
0825ac1
..
a247605
100644
(file)
--- a/
include/struct.h
+++ b/
include/struct.h
@@
-39,7
+39,7
@@
typedef struct {
CPU *cpu; /**<CPU */
WORD *memory; /**<メモリ */
int memsize; /**<メモリサイズ */
CPU *cpu; /**<CPU */
WORD *memory; /**<メモリ */
int memsize; /**<メモリサイズ */
-
int
clocks; /**<クロック周波数 */
+
unsigned
clocks; /**<クロック周波数 */
} SYSTEM;
extern SYSTEM *sys;
} SYSTEM;
extern SYSTEM *sys;
@@
-50,38
+50,32
@@
extern SYSTEM *sys;
*/
typedef enum {
/**
*/
typedef enum {
/**
- * オペランド数2または3
+ * オペランド数2または3
。命令語長2
* 第1オペランド: 汎用レジスタ
* 第2オペランド: アドレス
* 第3オペランド: 指標レジスタ
*/
R_ADR_X = 010,
/**
* 第1オペランド: 汎用レジスタ
* 第2オペランド: アドレス
* 第3オペランド: 指標レジスタ
*/
R_ADR_X = 010,
/**
- * オペランド数2または3
+ * オペランド数2または3
。。命令語長2
* 第1オペランド: 汎用レジスタ
* 第2オペランド: アドレスに格納されている内容
* 第3オペランド: 指標レジスタ
*/
* 第1オペランド: 汎用レジスタ
* 第2オペランド: アドレスに格納されている内容
* 第3オペランド: 指標レジスタ
*/
- R_ADR_X_ = 011,
- /**
- * オペランド数2
- * 第1オペランド: 汎用レジスタ
- * 第2オペランド: 汎用レジスタ
- */
R1_R2 = 020,
/**
R1_R2 = 020,
/**
- * オペランド数1または2
+ * オペランド数1または2
。命令語長1
* 第1オペランド: アドレス
* 第2オペランド: 指標レジスタ
*/
ADR_X = 030,
/**
* 第1オペランド: アドレス
* 第2オペランド: 指標レジスタ
*/
ADR_X = 030,
/**
- * オペランド数1
+ * オペランド数1
。命令語長1
* 第1オペランド: 汎用レジスタ
*/
R_ = 040,
/**
* 第1オペランド: 汎用レジスタ
*/
R_ = 040,
/**
- * オペランドなし
+ * オペランドなし
。命令語長1
*/
NONE = 0,
/**
*/
NONE = 0,
/**
@@
-93,19
+87,27
@@
typedef enum {
/**
* 命令コード表の項目
*/
/**
* 命令コード表の項目
*/
+typedef struct {
+ char *name; /**<命令名 */
+ const void (*ptr); /**<命令の関数ポインタ */
+} CMD;
+
+/**
+ * COMET II命令コード表の項目
+ */
typedef struct {
char *name; /**<命令名 */
CMDTYPE type; /**<命令タイプ */
WORD code; /**<命令コード */
typedef struct {
char *name; /**<命令名 */
CMDTYPE type; /**<命令タイプ */
WORD code; /**<命令コード */
- const void (*ptr);
/**<命令の関数ポインタ */
-} CMD;
+ const void (*ptr); /**<命令の関数ポインタ */
+} C
OMET2C
MD;
/**
* 命令コードのハッシュ表
*/
typedef struct _CMDTAB {
struct _CMDTAB *next; /**<リスト次項目へのポインタ */
/**
* 命令コードのハッシュ表
*/
typedef struct _CMDTAB {
struct _CMDTAB *next; /**<リスト次項目へのポインタ */
- C
MD *cmd;
/**<命令コード表の項目 */
+ C
OMET2CMD *cmd;
/**<命令コード表の項目 */
} CMDTAB;
/**
} CMDTAB;
/**
@@
-150,12
+152,6
@@
void free_cmdtype_code();
*/
bool create_code_type();
*/
bool create_code_type();
-/**
- * 命令コードから命令を返す
- * 命令コードでない場合はNULLを返す
- */
-CMD *getcmd(WORD code);
-
/**
* 命令コードから命令の関数ポインタを返す
*/
/**
* 命令コードから命令の関数ポインタを返す
*/