パスワードを忘れた? アカウント作成
63047 journal

L.Entisの日記: 【MASM談義】 0. 導入編 1

日記 by L.Entis
 MASM はメジャーバージョンが 5 から 6 にアップした際、かなり大きな変更が加えられ、MASM5 以前のコードとの互換性は一部失われました。(互換性を保つためのスイッチが用意されています)
 MASM6 は構造化プログラミングに対応したマクロアセンブラです。

 全く需要はないと思いますが、これから簡単に MASM6 についてあらまし的な解説をしていきたいと思います。

 なお、最新の MASM のリファレンスは MSDN ライブラリに収録されています。
 MASM アセンブラ本体は、Visual Studio をインストールすると bin フォルダに ml.exe が入っていると思いますが、それです。(今は MASM7 あたりのバージョンじゃないかと思います)(※.NET 2005 から ml64 はバージョン8になっている様子)
 Visual Studio を購入しなくても、MASM32 という互換アセンブラが海外にはあるので、検索して見つけられればそれでも良いかもしれません。(調べたら MASM6.1位の本物が同梱されている!?大丈夫なの?)

 因みに個人的に一番使い勝手の良かったマニュアルは、今となっては大昔に購入した MASM6.11(英語版)に付属していたマニュアルですが、多分どこにも売ってないと思います。
(そもそも日本語版の MASM6 を見たことも聞いたこともないので(出なかったのでしょうか?)、それが日本語の参考書では MASM5 止まりになっている(全く無いわけではないようですが)大きな理由のような気がします)

 ここでは MASM6 の特徴的な部分を中心に例文を交えながら記述していきます。
 C 言語や x86 ニーモニックなどの基礎知識を前提にしています。
 各構文の細かい説明は MSDN ライブラリや MASM の参考書などを参照してください。


1. x86あらまし
2. 型と構造体
3. 定数、テキストマクロ
4. 条件と繰り返しマクロ
5. マクロ
6. マクロ関数
7. フロー制御ディレクティブ
8. 関数
補遺

 3~6 はマクロについて、2, 7, 8 は構造化プログラミングについて紹介します。
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • Subjectでほぼ書き尽くしてしまったので、本文がない。
    disassembleしたあと、再度Assembleしてみる時の確認にしか使ってないな…

    # その使い方は正しいのか?
    --
    Copyright (c) 2001-2014 Parsley, All rights reserved.
typodupeerror

日々是ハック也 -- あるハードコアバイナリアン

読み込み中...