ASC2BIN [ filename ]*
[ options ]*
テキストファイルをバイナリファイルに変換する。
ファイル名を省略すると、標準入力を扱う。
複数のファイルを指定すると、順に入力して処理する。
誤って巨大なファイルを生成しないように、通常は出力ファイルサイズに対して10MBの制限がある。
これはオプション(-L
)で外すことができる。
要素名 | 記法 | 概略 |
---|---|---|
数値 | [-]number |
BYTE/WORD/DWORD の数値を表わす。デフォルトはBYTE 。負号をつけることができる。 数値の単位の指定は、 .BYTE/.WORD/.DWORD コマンド指定する。
WORD/DWORDの場合は、出力バイト順を.INTEL/.MOTOROLA コマンドで指定する。
|
文字列 | {"|'} 文字列{"|'} |
引用符「"」または「'」で囲んだ文字列。 使用した引用符を文字列中で使用する場合は、引用符を二つ続けて書く。 |
(tsexpr) |
TSEXPRの値を計算し、出力する。 TSEXPRの戻り値の型によって動作が異なる。
|
|
[address] |
出力先を先頭からのオフセットをバイト単位で切りかえる。 誤って巨大なファイルを生成しないように、 現在アドレスから10Mバイト以上大きな値は指定できない。 アドレスの飛んだ隙間は、0で埋める。(オプション指定で変更可能)。 |
|
=TSEXPR; |
アドレスをTSEXPRで指定する。 TSEXPRの戻り値は数値であること。負の値を指定してはならない。 誤って巨大なファイルを生成しないように、 現在アドレスから10Mバイト以上大きな値は指定できない。 アドレスの飛んだ隙間は、0で埋める。(オプション指定で変更可能)。 |
|
コメント | ; comment |
「;」以降行末までをコメントとして取り扱う |
集計初期化 | / |
チェックサムなどの集計機能を初期化する。 |
コマンド | 以下のコマンドが用意されている。なお、コマンドの大文字小文字は区別しない | |
.SUM7 |
7bitチェックサム。 「/」から現在位置までのバイト集計の下位7bitを出力する。(1byte) | |
.SUM8 |
8bitチェックサム。 「/」から現在位置までのバイト集計の下位8bitを出力する。(1byte) | |
.CSUM7 |
7bitチェックサム補数。ROLAND 対応。
「/」から現在位置までのバイト集計の2の補数を取り、下位7bitを出力する。(1byte)
|
|
.KSUM7 |
7bitチェックサム+0xa5。KAWAI 対応。
「/」から現在位置までのバイト集計に0xa5を加え、下位7bitを出力する。(1byte)
|
|
.CSUM8 |
8bitチェックサム補数。 「/」から現在位置までのバイト集計の2の補数を取り、下位8bitを出力する。(1byte) | |
.ID[(offset)] |
オプション-I で指定した値を1バイト出力する。オフセット値を指定できる。 |
|
.Pn[(offset)] |
nは0-9。オプション-Pn で指定した値を1バイト出力する。オフセット値を指定できる。 |
|
.BIN |
現在の数値記法を2進法に切りかえる。 | |
.DEC |
現在の数値記法を10進法に切りかえる。 | |
.HEX |
現在の数値記法を16進法に切りかえる。(デフォルト) | |
.BYTE |
数値要素をバイト単位とする。 | |
.WORD |
数値要素をワード単位(2バイト)とする。 | |
.DWORD |
数値要素をダブルワード単位(4バイト)とする。 | |
.INTEL |
数値要素が、バイト単位でないときの出力バイト順を、INTEL形式とする。 | |
.MOTOROLA |
数値要素が、バイト単位でないときの出力バイト順を、MOTOROLA形式とする。 | |
|
アドレス指定をした場合の埋め合わせデータを指定する。必ずバイトの値。 | |
|
dataをlength分だけ出力する。 lengthは、およそ10MBを超えることは出来ない(安全のため)。 | |
|
dataをlength分だけ出力する。 length*2 は、およそ10MBを超えることは出来ない(安全のため)。 | |
|
dataをlength分だけ出力する。 length*4は、およそ10MBを超えることは出来ない(安全のため)。 | |
|
TSEXPRを使用してブロックデータを出力する。
dataをlength分だけ出力する。
数値の単位の指定は、.BYTE/.WORD/.DWORD コマンド指定する。
WORD/DWORDの場合は、出力バイト順を.INTEL/.MOTOROLA コマンドで指定する。
lengthは、バイト換算して、およそ10MBを超えることは出来ない(安全のため)。
|
|
|
dataを7bitにバイト分割して出力する。
出力バイト数はlengthで指定する。
lengthは1-5までの指定が可能。
出力できない値を与えた場合はエラーとなる。 出力バイト順に従う。上位から順に出力する場合は、MOTOROLA形式になっている必要がある。 |
|
| 指定のファイルを直接(バイナリのまま)挟みこむ。
括弧の組で(() 、[] 、{} )で挟んで
ファイル名を記述する。引用符などは必要ない。括弧で挟まれた間が厳密に
ファイル名である
(先頭にスペースをつけるなどすると、そのまま、ファイル名となってしまう)。
|
-B
、-D
、-H
)あるいは、
コマンド(.HEX
、.DEC
、.BIN
)で切りかえることができる。$
」をつければ16進表記、
「%
」をつければ2進表記、
「&
」をつければ10進表記ができる。
SYS(10) | ID値 |
SYS(20) | 詰め合わせバイトの値 |
SYS(30) | 現在のチェックサムの値 |
SYS(40) | 現在の書きこみ位置 |
-Pで指定した値 |
-A{B|W|D}
-AB
-AW
-AD
-B
-D
-H
-F[fillbyte]
-I[num]
.ID
で出力するバイト値を16進で指定する。-L
-M
-Ofilename
-Pn=値
.Pn
で出力するバイト値を16進で指定する。1
を返す。それ以外では0
。
Ver 1.01 | (tsexpr)表記でバイナリ型が使えるようになった。 | |
Ver 1.00 | 初版 |