|
YACASL2
|
#include "assemble.h"Go to the source code of this file.
Functions | |
| void | printline (FILE *stream, const char *filename, int lineno, char *line) |
| ファイルストリームの現在行を番号付きで表示する | |
| WORD | getadr (const char *prog, const char *str, PASS pass) |
| アドレスを返す | |
| WORD | grword (const char *str, bool is_x) |
| 汎用レジスタを表す文字列からレジスタ番号を返す | |
| WORD | getliteral (const char *str, PASS pass) |
| リテラルを返す | |
| void | writememory (WORD word, WORD adr, PASS pass) |
| アドレス値をメモリに書き込む | |
| void | writestr (const char *str, bool literal, PASS pass) |
| 文字をメモリに書き込む | |
| void | writedc (const char *str, PASS pass) |
| DC命令を書込 | |
| void | assemble_start (const CMDLINE *cmdl, PASS pass) |
| アセンブラ命令STARTの処理 | |
| void | assemble_ds (const CMDLINE *cmdl, PASS pass) |
| アセンブラ命令DSの処理 | |
| void | assemble_end (const CMDLINE *cmdl, PASS pass) |
| アセンブラ命令ENDの処理 | |
| void | assemble_dc (const CMDLINE *cmdl, PASS pass) |
| アセンブラ命令DCの処理 | |
| void | assemble_in (const CMDLINE *cmdl, PASS pass) |
| マクロ命令 "IN IBUF,LEN" をアセンブル | |
| void | assemble_out (const CMDLINE *cmdl, PASS pass) |
| マクロ命令 "OUT OBUF,LEN" をアセンブル | |
| void | assemble_rpush (const CMDLINE *cmdl, PASS pass) |
| マクロ命令 "RPUSH" をメモリに書き込む | |
| void | assemble_rpop (const CMDLINE *cmdl, PASS pass) |
| マクロ命令 "RPOP" をメモリに書き込む | |
| bool | casl2cmd (CMD *cmdtbl, const CMDLINE *cmdl, PASS pass) |
| アセンブラ言語CASL IIの命令を処理する。 | |
| bool | assemble_comet2cmd (const CMDLINE *cmdl, PASS pass) |
| システムCOMET IIの命令をアセンブルする | |
| bool | assembletok (const CMDLINE *cmdl, PASS pass) |
| トークンをアセンブルする | |
| bool | assembleline (const char *line, PASS pass) |
| 1行をアセンブルする | |
| bool | assemblefile (const char *file, PASS pass) |
| 指定された名前のファイルをアセンブル | |
| bool | assemble (int filec, char *filev[], WORD adr) |
| 指定された1つまたは複数のファイルを2回アセンブル | |
| void | addcerrlist_assemble () |
| アセンブルエラーをエラーリストに追加する | |
| void | outassemble (const char *file) |
| ファイルにアセンブル結果を書き込む | |
Variables | |
| static CERR | cerr_assemble [] |
| アセンブルのエラー | |
| static CMD | ascmd [] |
| アセンブラ命令 | |
| static CMD | macrocmd [] |
| マクロ命令 | |
| ASPTR * | asptr = NULL |
| アセンブル時の、現在およびリテラルのアドレスとプログラム入口名: ptr, lptr, prog | |
| ASMODE | asmode = {false, false, false, false, false} |
| アセンブルモード: src, label, onlylabel, asdetail, onlyassemble | |
| void addcerrlist_assemble | ( | ) |
アセンブルエラーをエラーリストに追加する
Definition at line 773 of file assemble.c.
| bool assemble | ( | int | filec, |
| char * | filev[], | ||
| WORD | adr ) |
指定された1つまたは複数のファイルを2回アセンブル
| filec | アセンブルするファイルの数 |
| filev | アセンブルするファイル名の配列 |
| adr | アセンブル結果を格納するアドレス |
Definition at line 727 of file assemble.c.
システムCOMET IIの命令をアセンブルする
| *cmdl | 1行分のラベル・コマンド・オペランド |
| pass | アセンブルが何回目か |
Definition at line 557 of file assemble.c.
アセンブラ命令DCの処理
| *cmdl | 1行分のラベル・コマンド・オペランド |
| pass | アセンブラが何回目かを表す数 |
Definition at line 456 of file assemble.c.
アセンブラ命令DSの処理
| *cmdl | 1行分のラベル・コマンド・オペランド |
| pass | アセンブラが何回目かを表す数 |
Definition at line 442 of file assemble.c.
アセンブラ命令ENDの処理
| *cmdl | 1行分のラベル・コマンド・オペランド |
| pass | アセンブラが何回目かを表す数 |
Definition at line 425 of file assemble.c.
マクロ命令 "IN IBUF,LEN" をアセンブル
| *cmdl | 1行分のラベル・コマンド・オペランド |
| pass | アセンブラが何回目かを表す数 |
Definition at line 470 of file assemble.c.
マクロ命令 "OUT OBUF,LEN" をアセンブル
| *cmdl | 1行分のラベル・コマンド・オペランド |
| pass | アセンブラが何回目かを表す数 |
Definition at line 490 of file assemble.c.
マクロ命令 "RPOP" をメモリに書き込む
| *cmdl | 1行分のラベル・コマンド・オペランド |
| pass | アセンブラが何回目かを表す数 |
Definition at line 528 of file assemble.c.
マクロ命令 "RPUSH" をメモリに書き込む
| *cmdl | 1行分のラベル・コマンド・オペランド |
| pass | アセンブラが何回目かを表す数 |
Definition at line 513 of file assemble.c.
アセンブラ命令STARTの処理
| *cmdl | 1行分のラベル・コマンド・オペランド |
| pass | アセンブラが何回目かを表す数 |
Definition at line 407 of file assemble.c.
| bool assemblefile | ( | const char * | file, |
| PASS | pass ) |
指定された名前のファイルをアセンブル
指定された名前のファイルをアセンブル
アセンブル完了時はtrue、エラー発生時はfalseを返す
Definition at line 699 of file assemble.c.
| bool assembleline | ( | const char * | line, |
| PASS | pass ) |
1行をアセンブルする
passが1の場合はラベルを登録し、2の場合はラベルからアドレスを読み込む
| *line | 1行分の文字列 |
| pass | アセンブラが何回目かを表す数 |
Definition at line 665 of file assemble.c.
トークンをアセンブルする
| *cmdl | 1行分のラベル・コマンド・オペランド |
| pass | アセンブラが何回目かを表す数 |
Definition at line 647 of file assemble.c.
アセンブラ言語CASL IIの命令を処理する。
エラー発生時は、cerrを設定
| *cmdtbl | アセンブラ言語CASL IIの命令表 |
| *cmdl | 1行分のラベル・コマンド・オペランド |
| pass | アセンブルが何回目か |
Definition at line 543 of file assemble.c.
アドレスを返す
アドレスには、リテラル/10進定数/16進定数/アドレス定数が含まれる
| *prog | プログラム名 |
| *str | アドレスを表す文字列 |
| pass | アセンブラが何回目かを表す数 |
Definition at line 295 of file assemble.c.
リテラルを返す
リテラルには、10進定数/16進定数/文字定数が含まれる
| *str | リテラル。定数の前に等号(=)をつけて記述される |
| pass | アセンブラが何回目かを表す数 |
Definition at line 333 of file assemble.c.
| WORD grword | ( | const char * | str, |
| bool | is_x ) |
汎用レジスタを表す文字列からレジスタ番号を返す
文字列が汎用レジスタを表さない場合は、0xFFFFを返す
is_xがtrueの場合は指標レジスタとなり、GR0が指定された場合はCOMET IIの仕様によりエラー発生
| *str | 汎用レジスタを表す文字列。「GR0」「GR1」・・・「GR7」のいずれか |
| is_x | trueの場合は指標レジスタ |
Definition at line 313 of file assemble.c.
| void outassemble | ( | const char * | file | ) |
ファイルにアセンブル結果を書き込む
| *file | ファイル名 |
Definition at line 781 of file assemble.c.
| void printline | ( | FILE * | stream, |
| const char * | filename, | ||
| int | lineno, | ||
| char * | line ) |
ファイルストリームの現在行を番号付きで表示する
| *stream | ファイルストリーム |
| *filename | ファイル名 |
| lineno | 行番号 |
| line | 行の文字列 |
Definition at line 290 of file assemble.c.
| void writedc | ( | const char * | str, |
| PASS | pass ) |
DC命令を書込
| str | アドレスを表す文字列。10進定数/16進定数/アドレス定数が含まれる |
| pass | アセンブラが何回目かを表す数 |
Definition at line 389 of file assemble.c.
アドレス値をメモリに書き込む
| word | アドレス値 |
| adr | アドレス |
| pass | アセンブラが何回目かを表す数 |
Definition at line 347 of file assemble.c.
| void writestr | ( | const char * | str, |
| bool | literal, | ||
| PASS | pass ) |
文字をメモリに書き込む
| *str | アドレスを表す文字列。リテラル/10進定数/16進定数/アドレス定数が含まれる |
| literal | リテラルの場合はtrue |
| pass | アセンブラが何回目かを表す数 |
Definition at line 363 of file assemble.c.
|
static |
アセンブラ命令
Definition at line 267 of file assemble.c.
| ASMODE asmode = {false, false, false, false, false} |
アセンブルモード: src, label, onlylabel, asdetail, onlyassemble
Definition at line 288 of file assemble.c.
| ASPTR* asptr = NULL |
アセンブル時の、現在およびリテラルのアドレスとプログラム入口名: ptr, lptr, prog
Definition at line 286 of file assemble.c.
|
static |
アセンブルのエラー
Definition at line 248 of file assemble.c.
|
static |
マクロ命令
Definition at line 278 of file assemble.c.