#include <stdio.h>
#include <assert.h>
#include <string.h>
#include <time.h>
#include "word.h"
#include "cmem.h"
#include "hash.h"
#include "exec.h"
Go to the source code of this file.
|
enum | { CMDSIZE = 4
, GRSIZE = 8
, DEFAULT_MEMSIZE = 512
, DEFAULT_CLOCKS = 5000000
} |
| COMET IIの規格値 More...
|
|
enum | { OF = 0x4
, SF = 0x2
, ZF = 0x1
} |
| COMET II フラグのマスク値 More...
|
|
enum | CMDTAB_HASH { HASH_CMDTYPE
, HASH_CODE
, HASH_MAX
} |
|
enum | CMDTYPE {
R_ADR_X = 01
, R1_R2 = 02
, ADR_X = 03
, R_ = 04
,
NONE = 0
} |
|
◆ CMDTAB
◆ anonymous enum
COMET IIの規格値
Enumerator |
---|
CMDSIZE | 命令の最大文字数
|
GRSIZE | 汎用レジスタの数。COMET II規格では、8(0から7)
|
DEFAULT_MEMSIZE | デフォルトのメモリ容量。COMET II規格では、65535語(word)
|
DEFAULT_CLOCKS | デフォルトのクロック周波数。COMET II規格では、未定義
|
Definition at line 16 of file struct.h.
◆ anonymous enum
COMET II フラグのマスク値
Enumerator |
---|
OF | Overflow Flag
|
SF | Sign Flag
|
ZF | Zero Flag
|
Definition at line 26 of file struct.h.
◆ CMDTAB_HASH
命令ハッシュ表のハッシュの種類
Enumerator |
---|
HASH_CMDTYPE | |
HASH_CODE | |
HASH_MAX | |
Definition at line 60 of file struct.h.
◆ CMDTYPE
COMET II 命令 命令タイプは、オペランドにより5種類に分類
Enumerator |
---|
R_ADR_X | オペランド数2または3
- 第1オペランド: 汎用レジスタ。必須
- 第2オペランド: アドレス。必須
- 第3オペランド: 指標レジスタとして用いる汎用レジスタ。任意
|
R1_R2 | オペランド数2
- 第1オペランド: 汎用レジスタ。必須
- 第2オペランド: 汎用レジスタ。必須
|
ADR_X | オペランド数1または2
- 第1オペランド: アドレス。必須
- 第2オペランド: 指標レジスタとして用いる汎用レジスタ。任意
|
R_ | オペランド数1
|
NONE | オペランドなし
|
Definition at line 70 of file struct.h.
◆ create_cmdtable()
命令ハッシュ表を作成する
- Returns
- なし
- Parameters
-
命令ハッシュ表を作成する
Definition at line 113 of file struct.c.
◆ free_cmdtable()
◆ getcmdcode()
命令の名前とタイプから、命令コードを返す 無効な場合は0xFFFFを返す
命令の名前とタイプから、命令コードを返す
無効な場合は0xFFFFを返す
Definition at line 153 of file struct.c.
◆ getcmdname()
char* getcmdname |
( |
WORD |
code | ) |
|
命令コードから命令の名前を返す
Definition at line 222 of file struct.c.
◆ getcmdptr()
const void* getcmdptr |
( |
WORD |
code | ) |
|
命令コードから命令の関数ポインタを返す
Definition at line 188 of file struct.c.
◆ getcmdtype()
命令コードから命令のタイプを返す
Definition at line 205 of file struct.c.
◆ grstr()
汎用レジスタの番号からレジスタを表す文字列を返す
- Returns
- 汎用レジスタを表す文字列。「GR0」「GR1」・・・「GR7」のいずれか
- Parameters
-
汎用レジスタの番号からレジスタを表す文字列を返す
Definition at line 240 of file struct.c.
◆ reset()
void reset |
( |
int |
memsize, |
|
|
int |
clocks |
|
) |
| |
COMET II仮想マシンのリセット
Definition at line 253 of file struct.c.
◆ shutdown()
COMET II仮想マシンのシャットダウン
Definition at line 278 of file struct.c.
◆ execmode
実行モード: trace, logical, dump, monitor, step
実行モード: trace, logical, dump, monitor, step
Definition at line 91 of file exec.c.
◆ execptr
プログラム実行時の開始と終了のアドレス
Definition at line 12 of file struct.c.
◆ sys
COMET IIの仮想実行マシンシステム
COMET IIの仮想実行マシンシステム
Definition at line 7 of file struct.c.