おきまりのCOMサンプル
さっそく、MASMを使って実際に実行できるCOMファイルを作ってみましょう。
インターネットで、アセンブラ入門といえば、必ず出ていそうなサンプルプログラムですが・・・ (笑)
実行すると、画面に
Hello!
と表示し、キーを押すと終了します。
Windowsからでも、直接ダブルクリックで実行できます。(写真)
ソースファイルは、次の通り、
;--------------------------------------- ; アセンブラ・プログラムのサンプル COM用 ; 2005.05.10 "hello.asm" ;--------------------------------------- ;セグメントの宣言 assume cs:SG, ds:SG, es:SG, ss:SG ; 全部同じ値に。 SG segment ; ここから コード セグメント 開始。 org 100h ; COMは100hから開始するルール。 START: ; プログラム開始ラベル mov DX, offset MSG ; 表示する文字のオフセット値。 mov AH, 09h ; 09h=文字列表示のファンクション番号 int 21h ; これで、表示実行。 ; mov AH,08h ; 08h=キー入力のファンクション番号 int 21h ; ALにキーコードが入る ; mov AX,4C00h ; AH=4Ch:終了, AL=DOSへの戻り値。 int 21h ; DOSへ戻る ; MSG db 'Hello !',0Dh,0Ah,'$' ; 表示する文字列。'$'は終わりを示す記号 ; SG ends ; コードセグメントの終了 ; end START ; プログラムの終了。STARTは開始したラベル end
これを、テキスト・エディタで入力し(この画面をコピー&ペーストでもOK)、アセンブルすれば動きます。 ファイル名は hello.asm とします。
>ML /c /Fl hello.asm
>VAL hello;
>EXE2COM hello
で、COMファイルが出来上がります。
実行して、写真のようになる事を確認してみて下さい。
これから作成する OSでも DOSと互換性を持たせ、このCOMファイルが実行できるようになれば、まずは1段階クリアです。