[16343]  逆アセンブラ
投稿者:み〜さん さん   2001-10-03 00:06:08
こんばんは。
この間PK98-MISTRESS9を買いました。
V200にUIDE-66なので得になくてもやっていけるのですが、
このボードの今後の可能性に引かれて購入してしまいました。
そこで、これに搭載するプログラムを勉強したいと思うのですが、
なにぶんプログラムなんぞ学校の授業でかじった程度しかわかりません。
まずは付属のプログラムを参考に始めてみようと思うのですが、
逆アセンブルの仕方がわかりません。検索をかけてみたのですが、どのソフトを使えばいいのかすらわからない状態です。
どなたかご教授願えないでしょうか?
よろしくお願いします。
  1. 98 さん   2001-10-03 00:11:26
    逆汗ならSymdebとかDebugとかいろいろありますねえ。
  2. K.Takata さん   2001-10-03 00:25:24
    UA がお薦めです。Vector で入手可能。
  3. み〜さん さん   2001-10-03 10:58:50
    98さん、K.Takataさんレスありがとうございます。
    UAをダウンロードして使ってみました。
    一応逆アセンブル成功してソースが出てきたのですが、
    考えが甘かったです.....昔授業でやったことなどすずめの涙ほども役に立たない模様....
    何が書いてあるのかさっぱりわかりません.....
    勉強しなおそうと思うのですが、どこか良いサイトございませんでしょうか?
    出来れば基礎の基礎からやっているところ.....
  4. まりも さん   2001-10-03 13:00:04
    web siteよりも、本でじっくり勉強したほうがよいと思います。アセンブラで満足行くプログラムが書けるようになるまでには、それなりの時間が掛かります。私も1年くらいかかりました。焦らずに頑張って下さい。一応定番の本を紹介しておきます。
    ・はじめて読む8086
    ・はじめて読むMASM
    ・はじめて読む80486 いずれもアスキー出版
    あとは9800のBIOS固有の機能も理解しないといけませんが、こちらは最近本を見かけなくなってしまいましたね…。
  5. たすく さん   2001-10-04 01:53:47
    >あとは9800のBIOS固有の機能も理解しないといけませんが、こちらは
    >最近本を見かけなくなってしまいましたね…。
    CQ出版のトランジスタ技術SPECIAL No.45「PC98シリーズのハードとソフト」なら、
    まだ結構大きな書店になら残っていると思います。
    あるいは工学部のある大学の書籍部などにもあるかも。
  6. み〜さん さん   2001-10-04 21:19:23
    レスありがとうございます。
    来週あたりに秋葉まで本を探しに行ってこようと思います。
    何とか初期搭載の壁突破のソースが理解できるぐらいにはなりたいです^^;
  7. まりも さん   2001-10-05 00:53:46
    基礎は本で学ぶとして、応用力を付けるには、やっぱり先人の書いたソースを参考にすることですね。昔は「ザ・ベーシック」なんてう雑誌があって、記事とソース満載で、勉強するには格好の情報源でしたが、いまではそんな雑誌もないですよね…。古いDOS時代のソフトをダウンロードすると、ソースが付いていることがありますので、それも参考にしてみてはどうでしょうか。私のソフトでも、ご希望ならソース差し上げます。
  8. K.Takata さん   2001-10-05 01:53:45
    私の場合、C コンパイラの出力するアセンブルソースでアセンブラを覚えました。C で書かれたプログラムをアセンブラを使って高速化させたいと思ったのが始まりでした。アセンブラの本を買ったのは実は後になってからでした。(四則演算命令は見ているだけでも分かったのですが、ジャンプ命令などは本を読んでようやく分かりました。)

    >トランジスタ技術SPECIAL No.45
    ICC を作るときに買いました。
  9. まりも さん   2001-10-05 02:12:35
    >C コンパイラの出力するアセンブルソースで
    あ、私もです。enter だのleaveなんていう命令、それから、[bp-xx]なんていう変数、どう使うのか本で読んだのでは分かりませんでしたが、Cコンパイラのソース見て納得。
  10. み〜さん さん   2001-10-05 11:53:15
    レスどうもです^^;
    今日地元の本屋に行って来たのですが、やっぱりCとVBの物しかないそうで、買うことが出来ませんでした。
    やっぱり秋葉かなぁ・・・・

    C言語は・・・・・い、いえ、授業ではやったんですよ!?授業では・・・・
    (Cですら四苦八苦するのにアセンブラなんて無謀ですかねぇ・・・・)

    >まりもさん
    ま、まじですか??
    もしいただけるなら「PCIIRQR」、「K6wawc13」のソースをいただきたいです。
    この2つのソフトが無ければ我が家のV200は無いと言っても過言ではありませんので^^;
    大変厚かましいと思いますがよろしくお願いします。
  11. まりも さん   2001-10-05 15:10:23
    >Cですら四苦八苦するのにアセンブラなんて無謀ですか
    両方同時に理解して行けば、相乗効果が出て速いです。私もそうしました。
    >「PCIIRQR」、「K6wawc13」のソース
    アセンブラでなく超汚いCで書かれているソースなので、上記のソースは、あまり公開したくなかったり…。
    とりあえず下記のものはソース公開しています(参考になるようなスーパーテクニックは全然使ってないですが)。
    http://homepage1.nifty.com/marimono/software/p698acc.lzh
    http://homepage1.nifty.com/marimono/software/iplware.html と .asm
    しかしPCIのコンフィグレーションレジスタをいじる話などは、アセンブラというよりはPCIそのものを本で勉強しておく必要があるかと思います。
  12. Pico_Chan さん   2001-10-05 18:20:27
    テスト対策としてはその言語の文法やお作法をマスターしなければなりません。
    しかし、実際のソフト開発は何語で書くかどうかは大した問題じゃなくて、何をどのように処理していくか作戦を立てることが重要だと思います。
    作戦さえ決められれば、「これはこの言語ではこう書けばイイのだな」とか「この言語にはこの機能を実現する関数が無いな。では他の手を使うとすると...」とか、言語に依存せずに柔軟にプログラムを作れるようになりますよ。
  13. エマティ さん   2001-10-05 20:49:24
    >C コンパイラの出力するアセンブルソースで
    速度を稼ぐために、Cコンパイラがいちいちレジスタの内容をメモリに退避するのを、
    レジスタへの割り当てを工夫して、メモリアクセスを減らしたりしたことがあります。
  14. 98 さん   2001-10-05 22:29:54
    >C コンパイラの出力するアセンブルソースで
    あー研究で数百桁の整数扱うCプログラム書くことがあるのに、高速化なんて除算にbitShift入れるくらいしかやってないなあ(待て)

    #激しくごみ
  15. み〜さん さん   2001-10-06 02:52:45
    レスどうもです^^;
    これから勉強ですので高速化云々はまだまだ先になりそうです(笑)

    >まりもさん
    ソースいただきました。
    でもやっぱり何が書いてあるのかさっぱりわかんないです(泣)
    まずは本探しに行ってきます・・・・・
    それと、これってあのPK98-FDについてきたプログラムと同じ物ですよね?
    参考にさせていただきます。
  16. 土野明日香 さん   2001-10-06 23:33:00
     どもどもっ★土野明日香です。

     Mistress9にまつわる解析及び作成解説について、いずれINET上で公開する予定です。

    #現在、先行して@NiftyのFNECHARDに掲載しています。待ちきれない方はこちらでどうぞ。