cross platform X68000 disassembler (Human68k, Windows, Linux)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

dis_option.1 13KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404
  1. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  2. ソースコードジェネレータ オプション一覧
  3. ────────────────────────────────────
  4. -a[num] num 行ごとにアドレスをコメントで入れる
  5. (num を省略すると5行ごと)
  6. -b num 相対分岐命令のサイズの出力
  7. (0:自動 1:常に省略 2:常に付ける)
  8. 相対分岐命令のオペコードにサイズを付けるかどうかを指定し
  9. ます.
  10. 通常(-b0 指定時)は、ショートブランチで届く距離をワードブ
  11. ランチ、またはワードブランチで届く距離をロングブランチし
  12. ている場合にサイズを付けます.
  13. なお、-b2 を指定しても fdbcc 命令には絶対にサイズが付き
  14. ません(アセンブラの仕様によります).
  15. -c ラベルチェックを行わない
  16. 命令の中を指すラベルを探さないようにします. 通常は指定す
  17. る必要はありません. 指定した場合、正常なソースを出力でき
  18. ない場合があります.
  19. -d デバイスドライバの時に指定
  20. デバイスヘッダの構造を認識します. デバイスドライバでなけ
  21. れば指定しないで下さい.
  22. -e[file] ラベルファイルの出力
  23. ラベルファイルを出力します. ファイル名を省略した場合はソ
  24. ースファイル名の拡張子を .lab に変更したファイル名で出力
  25. します.
  26. -f バイト操作命令の不定バイトのチェック($00 or $ff ?)をしな
  27. 通常は、バイトサイズの即値の上位バイトは通常 $00 か $ff
  28. であるので、それ以外であったら未定義命令と見なします(値
  29. が正なら$00、負なら$ffになります).
  30. このオプションを指定した場合はそのチェックを行ないません.
  31. 指定した場合は再アセンブルしても同じコードにならない場合
  32. があります.
  33. -g[file] ラベルファイルを読み込む
  34. ラベルファイルを読み込みます. ファイル名を省略した場合は
  35. ソースファイル名の拡張子を .lab に変更したファイル名から
  36. 読み込みます.
  37. -h データ領域中の$4e75(rts)の次のアドレスに注目する
  38. データ領域中に$4e75(rts)を発見した場合、その次のアドレス
  39. を何らかのラベル(大抵はプログラム)として認識します.
  40. -i 分岐先で未定義命令があってもデータ領域と見なさない
  41. 通常は、未定義命令を含むサブルーチン(と思われるもの)に分
  42. 岐した場合は分岐元自体がデータ領域と見なします. このオプ
  43. ションを指定すればそのチェックを行わずに無条件に命令と見
  44. なします.
  45. -j アドレスエラーが起こるであろう命令を未定義命令と見なさな
  46. 通常は実行時にアドレスエラーが起こるであろう命令は未定義
  47. 命令と見なしますが、このオプションを指定した場合はそのチ
  48. ェックを行ないません.
  49. -k 命令の中を指すラベルはないものと見なす
  50. 命令の中を示すラベルが見つかった場合、そこは命令ではなく
  51. データと解釈します. 元々命令の中を指すラベルがなければソ
  52. ースの質が良くなる場合がありますが、そのようなラベルがあ
  53. れば逆に悪くなります.
  54. -l プログラム領域が見つからなくなるまで何度も捜すことをしな
  55. 通常はデータ領域からプログラム領域を見つからなくなるまで
  56. 探しますが、このオプションを付けると一度しか探しません.
  57. 付ける必要はありません.
  58. -m 680x0 逆アセンブル対象のMPUを指定(x=[0],1-4,6)
  59. 逆アセンブルする命令セットを選択します. -m68040~68060
  60. 指定時は内蔵コプロセッサ・MMU 命令も使用可能になります.
  61. -m68000,68030 のように複数の MPU を指定すると、指定した
  62. 全ての MPU の命令セットが同時に使用可能になります. また、
  63. -m680x0 を指定すると選択可能な全ての MPU の命令セットが
  64. 採用されます.
  65. -m 68851 68851命令を有効にする(-m68020 指定時のみ有効)
  66. 外付けMMU命令を逆アセンブル可能にします.
  67. このオプションは -m680*0 オプションによってクリアされる
  68. ので、それより後に指定して下さい.
  69. -m 6888x[,ID] 有効なFPCPとそのIDを指定(68881/68882 ID=[1],2-7)
  70. -m68020~68030 を指定している場合に、外付けコプロセッサ
  71. 命令を逆アセンブル可能にします. -m68881 と -m68882の機能
  72. は全く同じです.
  73. IDの指定を省略した場合は1と見なされます.
  74. -m68881 -m68882,2 のように複数のIDを指定することも出来ま
  75. す.
  76. このオプションは -m680*0 オプションによってクリアされる
  77. ので、それより後に指定して下さい.
  78. -n num 文字列として判定する最小の長さ. 0なら判定しない(初期値=3)
  79. 文字列として判定する最小のバイト数を指定します. 短い文字
  80. 列の判定に失敗する場合、または判定を行いたくない時に使用
  81. します.
  82. -o num 文字列領域の桁数(1≦num≦80 初期値=60)
  83. 文字列領域を出力する際の、ソースファイルの一行あたりの桁
  84. 数を指定します.
  85. -p データ領域中のプログラム領域を判別しない
  86. 通常は、一度データ領域と判定した場所からプログラム領域が
  87. なかったか調べますが、このオプションを指定するとそれをし
  88. ません. 付ける必要はありません.
  89. -q[num] メッセージを出力しない
  90. ([0]:通常 1:テーブルに関する情報も出力しない)
  91. 解析中/ファイル出力中のメッセージを表示しません. 指定す
  92. ればその分処理が速くなります.
  93. -r 文字列に16進数のコメントを付ける
  94. -s[num] シンボルテーブルの出力([0]:しない 1:[通常] 2:全て)
  95. 外部定義シンボルを再現します. -s1 指定時は定数シンボルの
  96. み、-s2 指定時はアドレス値も出力します.
  97. -u[num] 未使用の A,F line trap を未定義命令と見なさない
  98. (num=1 SX-Window 対応)
  99. A line trap や doscall.mac 及び fefunc.mac などで定義さ
  100. れなかった F line trap を未定義命令と見なさないようにし
  101. ます.
  102. -u1 指定時は環境変数 dis_sxmac に設定してある SX-Window
  103. のファンクションコール定義ファイルを読み込み、DOSコール
  104. 等と同様のマクロ出力を行ないます.
  105. -v 単なる逆アセンブルリストの出力
  106. -w num データ領域の横バイト数(1≦num≦32 初期値=8)
  107. データ領域を出力する際の、ソースファイルの一行あたりのバ
  108. イト数を指定します.
  109. -x 実際のオペコードを16進数のコメントで付ける
  110. -y 全てのデータ領域をプログラム領域でないか確かめることをし
  111. ない
  112. 通常は、一度解析した後サイズの分らないデータがプログラム
  113. でないか解析します.
  114. このオプションを指定すると、データの終わりがリターン命令・
  115. 分岐命令などである領域のみを解析します. プログラム領域を
  116. データとして残すことが有りますが、逆にデータ領域をプログ
  117. ラムにすることも無くなる可能性もあります.
  118. -z base,exec 実行ファイルを base からのバイナリファイルとみなし、exec
  119. から解析する
  120. アドレスに依存したバイナリ形式の実行ファイルを解析します.
  121. 実行開始アドレスが分らない時は、ファイル先頭アドレスと同
  122. じ値を指定してみて下さい.
  123. -A cmpi, movea 等を cmp, move 等にする
  124. ただし、演算先がデータレジスタの cmpi、ori、andi、subi、
  125. addi、eori は "i" なしの命令とオブジェクトコードが異なる
  126. ので、そのままで出力されます. また、addi と subi で即値
  127. が 1 ~ 8 の場合、addq や subq に最適化されるのを防ぐ為、
  128. 即値にサイズが付きます.
  129. -B bra の後でも改行する
  130. 通常は rts、rte、rtr、jmp、DOS _EXIT、_EXIT2、_KEEPPR、
  131. SXCALL __TSExit(ExitToShell)の後に一行空行を入れますが、
  132. このオプションを指定すると bra の後にも空行を入れます.
  133. -C[num] ラベルの後のコロン
  134. (0:付けない 1:全てに1つ [2]:通常 3:全てに2つ)
  135. ラベル定義行に付けるコロンの数を指定します. 通常は内部定
  136. 義(static)のラベルには一個(':')、外部定義(extern)のラベ
  137. ルには二個('::')付きます.
  138. 内部定義か外部定義かの区別は、実行ファイルのシンボルテー
  139. ブルにラベル定義が出力されているかどうかです.
  140. -D データセクション中にもプログラムを認める
  141. データセクションに分岐するプログラムに対応します. そのよ
  142. うなプログラムでは「pc が有効なセクションを外れた」と表
  143. 示されるので、このオプションを指定してみて下さい.
  144. -E バイト操作命令の不定バイトの書き換えチェックをしない
  145. 通常は、不定バイトを書き換えるような命令は未定義命令と見
  146. なしますが、このオプションを指定した場合はそのチェックを
  147. 行ないません.
  148. -F dbra, fdbra を dbf, fdbf として出力する
  149. -G サブルーチンコール命令の直後に引数を置くプログラムを解析
  150. する.
  151. -I 命令の中を差すラベルのアドレスを表示する
  152. 命令の中を指すラベルが現われた時に、その旨を表示します.
  153. ・「命令の中を差すラベル(X -> Y+?)」
  154. アドレス X が命令の中を指していたため、Y+? に置き換えま
  155. した.
  156. ・「命令の中を差すラベル(X) -> データ領域に変更しました
  157. (Y-X)」
  158. -k オプションの影響、またはアドレス X が不定バイトを指し
  159. ていた為に Y から X までの領域をデータ領域に変更しました.
  160. そこが本当はプログラム領域であった場合は -E オプションを
  161. 指定してみて下さい.
  162. -K char char をコメントキャラクタとして用いる
  163. -L char char をラベル名の先頭文字として用いる
  164. 実行ファイルのシンボルテーブルやラベルファイルでラベル名
  165. が与えられなかったラベルは、'Lxxxxxx'(x は16進数値)とい
  166. う形式でラベル名が生成されますが、先頭文字 'L' を任意の
  167. 文字に変更します.
  168. -M cmpi, move, addi.b, subi.b #imm および pack, unpk にコメ
  169. ントをつける
  170. imm が表示可能な ASCII 文字の場合にコメントを出力します.
  171. -N サイズがデフォルトなら付けない
  172. -R num 未使用フィールドのチェック項目の指定
  173. (ビット指定, 初期値=15)
  174. +1 mulu.l, muls.l, ftst.x における未使用レジスタフィールド
  175. +2 拡張アドレッシングでのサプレスされたレジスタフィールド
  176. +4 サプレスされたインデックスレジスタに対するスケーリング
  177. +8 サプレスされたインデックスレジスタに対するサイズ指定(.l)
  178. -S[num] 出力ファイルを num KB ごとに分割する
  179. (num を省略すると 64KB)
  180. 実行ファイルの約 num KB ごとにソースファイルを分割して出
  181. 力します. ソースファイルには以下のような拡張子が付加され
  182. ます.
  183. テキストセクション .000 .001 ~ .009 .00a ...
  184. データセクション .dat
  185. ブロックストレージセクション .bss
  186. -T[file] テーブル記述ファイルを読み込む
  187. テーブル記述ファイルを読み込みます. ファイル名を省略した
  188. 場合はソースファイル名の拡張子を .tab に変更したファイル
  189. 名から読み込みます.
  190. -U ニーモニックを大文字で出力する
  191. -V num バックトラックの原因の表示
  192. (0:しない [1]:プログラム領域 2:全ての領域)
  193. 解析した領域がプログラムと認められなかった時に、その理由
  194. とアドレスを表示します.
  195. -W num 同一データを .dcb で出力する最小バイト数.
  196. 0なら圧縮しない(初期値=64)
  197. データを .dc.? で出力する場合、全てのデータが同一の値で
  198. あれば .dcb.? により圧縮して出力されますが、一定のサイズ
  199. より小さい領域は例え同一値であっても圧縮されません. この
  200. オプションでそのサイズの閾値を変更出来ます.
  201. -X 16進数を大文字で出力する
  202. -Y カレントディレクトリからも include ファイルを検索する
  203. カレントディレクトリにあるインクルードファイルを優先して
  204. 読み込みます.
  205. -Z[num] 16進数をゼロサプレスする([0]:通常 1:省略可能な'$'を省略)
  206. --include-XXX-mac=file
  207. include ファイルの指定(XXX = doscall,iocscall,fefunc)
  208. 標準の include ファイルの代わりに file を読み込みます.
  209. --exclude-XXX-mac
  210. include ファイルを読み込まない
  211. include ファイルを読み込まず、ファンクションコールの逆ア
  212. センブルも行わないようにします.
  213. --header=file ヘッダファイルの指定(環境変数 dis_header より優先)
  214. 標準のヘッダの代わりに file の内容を出力します.
  215. --(no-)fpsp 未実装浮動小数点命令を[有効](無効)にする
  216. --(no-)isp 未実装整数命令を[有効](無効)にする
  217. 通常は、システムによってソフトウェアエミュレーションされ
  218. ることが保証されている命令は実在する命令と見なされますが、
  219. このオプションを指定した場合は未定義命令と見なします.
  220. --no-fpu 内蔵FPU命令を無効にする(-m68040~68060の後に指定)
  221. --no-mmu 内蔵MMU命令を無効にする(-m68030~68060の後に指定)
  222. 通常は -m680*0 オプションで指定した MPU によっては、自動
  223. 的に内蔵 FPU/MMU 命令が有効になります. これらのオプショ
  224. ンを指定するとそれらの命令を対象命令セットから除外します.
  225. 逆アセンブルするファイルにそれらの命令が含まれていないと
  226. 分っている場合、このオプションを指定することで命令セット
  227. を限定し、解析の手助けをすることが出来ます.
  228. このオプションは -m680*0 オプションによってクリアされる
  229. ので、それより後に指定して下さい.
  230. --sp a7 レジスタを'sp'と表記する(標準では --a7)
  231. オペランド中のレジスタ a7 の表記を sp に変更します.
  232. movem 命令のレジスタリストに表われる a7 は変更されません.
  233. --old-syntax アドレッシングを旧表記で出力する(標準では --new-syntax)
  234. 通常は 68020 以降で定められたアドレッシング表記で出力し
  235. ますが、このオプションを指定した場合は 68000 の表記で出
  236. 力します. ただし、68020 以降でしか使用できないアドレッシ
  237. ングでは常に新しい表記で出力します.
  238. --(in)real 浮動小数点を[実数表記](内部表現)で出力する
  239. 命令のオペランドやデータとして浮動小数点を出力する場合の
  240. 表記を選択します. --real を指定すると「0f1.23e+10」といっ
  241. た実数表記、 --inreal を指定すると「!4048f5c3」といった
  242. 内部表現で出力します.
  243. 非数や無限大、非正規化数、未使用ビットがセットされている
  244. データの場合は実数表記が不可能なので常に内部表現で出力さ
  245. れます.
  246. 標準状態では --real が指定されています.
  247. --overwrite ファイルを無条件で上書きする
  248. --version バージョンを表示する
  249. --help 使用法を表示する
  250. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  251. ソースコードジェネレータ 環境変数一覧
  252. ────────────────────────────────────
  253. dis_opt デフォルトのオプションを指定します. コマンドラインの指定
  254. より先に解釈されますが、-m680*0 など上書き指定できるもの
  255. を除き取り消すことは出来ません.
  256. dis_include doscall.mac、iocscall.mac、fefunc.mac を検索するディレク
  257. トリ名を設定します. dis_include で指定されたパスに存在し
  258. なければ環境変数 include を見ます.
  259. include 環境変数 dis_include で指定されたパスに各ファイルが存在
  260. しなかった場合に検索するディレクトリ名を設定します.
  261. include で指定されたパスにも存在しなければ dis.x はエラー
  262. 終了します.
  263. dis_sxmac SX-Window 用のインクルードファイルのファイル名をフルパス
  264. で設定しておけば、-u1 オプション指定時にそのファイルが読
  265. み込まれます. この環境変数を設定しなければ -u1 を指定し
  266. た時でもファイルが読み込まれないだけで、エラーにはなりま
  267. せん.
  268. dis_header 出力ファイルの先頭に出力される .include 部分を書いたファ
  269. イルをフルパスで設定しておけば、そのファイルの内容を代わ
  270. りに出力します.
  271. ────────────────────────────────────