MASM 布教のために書いた【MASM談義】シリーズです。
x86 アセンブラプログラミングに興味がある方はどうぞ。
-----
【MASM談義】 0. 導入編
MASM はメジャーバージョンが 5 から 6 にアップした際、かなり大きな変更が加えられ、MASM5 以前のコードとの互換性は一部失われました。(互換性を保つためのスイッチが用意されています)
MASM6 は構造化プログラミングに対応したマクロアセンブラです。
全く需要はないと思いますが、これから簡単に MASM6 についてあらまし的な解説をしていきたいと思います。
なお、最新の MASM のリファレンスは MSDN ライブラリに収録されています。
MASM アセンブラ本体は、Visual Studio をインストールすると bin フォルダに ml.exe が入っていると思いますが、それです。(今は MASM7 あたりのバージョンじゃないかと思います)
(※.NET 2005 から ml64 はバージョン8になっている様子)
因みに個人的に一番使い勝手の良かったマニュアルは、今となっては大昔に購入した MASM6.11(英語版)に付属していたマニュアルですが、多分どこにも売ってないと思います。
(そもそも日本語版の MASM6 を見たことも聞いたこともないので、それが日本語の参考書では MASM5 止まりになっている(全く無いわけではないようですが)大きな理由のような気がします)
ここでは MASM6 の特徴的な部分を中心に例文を交えながら記述していきます。
C 言語や x86 ニーモニックなどの基礎知識を前提にしています。
各構文の細かい説明は MSDN ライブラリや MASM の参考書などを参照してください。
1. x86あらまし
2. 型と構造体
3. 定数、テキストマクロ
4. 条件と繰り返しマクロ
5. マクロ
6. マクロ関数
7. フロー制御ディレクティブ
8. 関数
補遺
3〜6 はマクロについて、2, 7, 8 は構造化プログラミングについて紹介します。
この前変な夢を見ました。
まず、男が台の上に、両手首、両足首を鎖で固定され、大の字になっています。
そしてその上に「餃子の皮」と称するものが被せられています。
まあ、何を言っているのか私にも良く分かりませんが聞いてください。
とりあえず、餃子の皮がシーツみたいな感じで被せられているわけです。そしてその皮を食べます。
間違えて皮膚を噛んだりすると男が痛がったりします。
………いや、私も何を言っているのか良く分かりませんが、そう言う夢を見ました。
そういう同人誌を描けという神のお告げでしょうか?(ぃゃぃゃ
日記のサーバスクリプトを少し機能強化してみました。
日記ごとにWEB拍手(「ほぉ」ボタン)とコメント記入が出来るようになりました。
手抜きなので今のところコメントの削除機能はありません。
あと、日記ごとにタグがついています。
|