YACASL2
Loading...
Searching...
No Matches
assemble.h
Go to the documentation of this file.
1#ifndef YACASL2_ASSEMBLE_H_INCLUDED
2#define YACASL2_ASSEMBLE_H_INCLUDED
3
4#include <stdbool.h>
5#include "cerr.h"
6#include "struct.h"
7#include "token.h"
8
9
13typedef struct {
14 bool src;
15 bool label;
16 bool onlylabel;
17 bool asdetail;
19} ASMODE;
20
24extern ASMODE asmode;
25
29typedef struct {
32 char *prog;
33} ASPTR;
34
38extern ASPTR *asptr;
39
43typedef struct {
44 char *prog;
45 char *label;
48
56
60enum {
62};
63
67typedef enum {
68 FIRST = 0,
69 SECOND = 1,
70} PASS;
71
77
86WORD getlabel(const char *prog, const char *label);
87
97bool addlabel(const char *prog, const char *label, WORD adr);
98
103void printlabel();
104
109void freelabel();
110
116
127bool assemblefile(const char *file, PASS pass);
128
138bool assemble(int filec, char *filev[], WORD adr);
139
145void outassemble(const char *file);
146
147#endif
PASS
アセンブラが、1回目か2回目かを表す数値
Definition assemble.h:67
@ FIRST
Definition assemble.h:68
@ SECOND
Definition assemble.h:69
void addcerrlist_label()
ラベルのエラーをエラーリストに追加する
Definition label.c:84
bool addlabel(const char *prog, const char *label, WORD adr)
プログラム名、ラベル、アドレスをラベル表に追加する
Definition label.c:106
void printlabel()
ラベル表を表示する
Definition label.c:135
bool assemblefile(const char *file, PASS pass)
指定された名前のファイルをアセンブル
Definition assemble.c:711
ASMODE asmode
アセンブルモード: src, label, onlylabel, asdetail, onlyassemble
Definition assemble.c:294
ASPTR * asptr
アセンブル時の、現在およびリテラルのアドレスとプログラム入口名: ptr, lptr, prog
Definition assemble.c:292
@ LABELTABSIZE
Definition assemble.h:61
void outassemble(const char *file)
ファイルにアセンブル結果を書き込む
Definition assemble.c:793
WORD getlabel(const char *prog, const char *label)
プログラム名とラベルに対応するアドレスをラベル表から検索する
Definition label.c:89
void addcerrlist_assemble()
アセンブルエラーをエラーリストに追加する
Definition assemble.c:785
bool assemble(int filec, char *filev[], WORD adr)
指定された1つまたは複数のファイルを2回アセンブル
Definition assemble.c:739
struct _LABELTAB LABELTAB
ラベル表を表すデータ型
void freelabel()
ラベル表を解放する
Definition label.c:158
ラベル表を表すデータ型
Definition assemble.h:52
LABELARRAY * label
Definition assemble.h:54
struct _LABELTAB * next
Definition assemble.h:53
アセンブルモードを表すデータ型
Definition assemble.h:13
bool onlylabel
Definition assemble.h:16
bool src
Definition assemble.h:14
bool label
Definition assemble.h:15
bool onlyassemble
Definition assemble.h:18
bool asdetail
Definition assemble.h:17
アセンブル時の現在およびリテラルのアドレスとプログラム入口名を表すデータ型
Definition assemble.h:29
WORD lptr
Definition assemble.h:31
WORD ptr
Definition assemble.h:30
char * prog
Definition assemble.h:32
ラベル配列を表すデータ型
Definition assemble.h:43
char * prog
Definition assemble.h:44
WORD adr
Definition assemble.h:46
char * label
Definition assemble.h:45
unsigned short WORD
16ビットの数値を表すデータ型
Definition word.h:9