mieki256's diary



2019/06/08() [n年前の日記]

#1 [mz][prog] Z80用逆アセンブラ DASMx を試用

Z80用逆アセンブラ DASMx を試用。環境は Windows10 x64 1809。

逆アセンブルしたいバイナリ、hoge.bin に対して、hoge.sym というテキストファイルを作成して中身を記述すると、ラベル等を文字列にして出力することができるらしいので、そのあたりを調べたり。

CPU種類の指定。 :

.sym 内で、対象CPU種類を記述できる。以下は Z80 を指定した例。
cpu z80

区切り文字はスペース、またはタブ文字。

プログラム中のラベルの指定。 :

「code アドレス値 ラベル名」を記述すると、プログラム中の飛び先ラベル名を指定できる。
code 0x0000 MONIT
code 0x0003 GETL
code 0x0006 LETNL
code 0x0009 NL
code 0x000C PRNTS
code 0x000F PRNTT
code 0x0012 PRNT
code 0x0015 MSG

アドレス値は、C言語風に記述するらしい。例えば、「0x000C」と書けば、16進数の記述になる。

ワークエリア等の指定。 :

「symbol アドレス値 ラベル名」と記述すると、ワークエリア等のラベルを指定できる。
symbol 0x1171 DSPXY
symbol 0x1172 DSPXY+1
symbol 0x1173 MANG
symbol 0x1174 MANG+1
symbol 0x1194 DPRNT
symbol 0x119D SWRK

バイトデータ、ワードデータの指定。 :

「byte アドレス値 ラベル名 個数」で、バイトデータ(1byte単位)が並ぶ部分を指定できる。
byte 0x0A92 ATBL 256
上の例では、0x0A92 に ATBL というラベル名をつけて、256byteのバイトデータが並ぶ、という指定になる。

「word アドレス値 ラベル名 個数」で、ワードデータ(2byte単位)が並ぶ部分を指定できる。
word 0x0EAA CTBL 16

文字列の指定。 :

「string アドレス値 ラベル名 バイト数」で、そこに文字列データがあると指定できる。
string 0x0942 MSGOK 4

以上、1 日分です。

過去ログ表示

Prev - 2019/06 - Next
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project