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
de1aa4b
..
6a5a0e4
100644
(file)
--- a/
include/struct.h
+++ b/
include/struct.h
@@
-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,
/**
@@
-114,6
+108,7
@@
typedef struct _CMDTAB {
typedef struct {
WORD start; /**<開始アドレス */
WORD end; /**<終了アドレス */
typedef struct {
WORD start; /**<開始アドレス */
WORD end; /**<終了アドレス */
+ bool stop; /**<終了フラグ */
} EXECPTR;
extern EXECPTR *execptr;
} EXECPTR;
extern EXECPTR *execptr;
@@
-149,12
+144,6
@@
void free_cmdtype_code();
*/
bool create_code_type();
*/
bool create_code_type();
-/**
- * 命令コードから命令タイプを返す
- * 無効な場合はNONEを返す
- */
-CMDTYPE getcmdtype(WORD code);
-
/**
* 命令コードから命令の関数ポインタを返す
*/
/**
* 命令コードから命令の関数ポインタを返す
*/