お薦め ページ


メニュー

ハワイ島 遊覧飛行ツアー

ハワイ島 B&B・ホテル

ハワイ島 不動産情報

ハワイ島 情報・観光ガイド

ブログ(Blog)

その他

関連サイト

: 個別エントリー・アーカイブ :

2007年2月28日

8086マシン語、ハンド・アセンブル実験(3)

前回のブログで マシン語プログラムを 実行するところまできたので、 今回はこのプログラムを少し改造してみよう。

まず、前回のブログで実行したプログラムのソースは
mov  dl, 53h   ; 「S」の字の ASCII文字コード を DLレジスタにセット
mov  ah, 02h   ; 出力に1文字出力するファンクションコールを指定
int  21h       ; MS-DOSファンクションコール
int  20h       ; プログラムの終了
で、これをハンド・アセンブルして16進数のコードしたのが 「B2, 53, B4, 02, CD, 21, CD, 20」 であった。

このコードの2バイト目の「53」が表示される文字のコードなので ここを他のコードに変更すると表示される文字を変えられる。 「ASCII文字コード」から 適当な文字のコードを探してみるとよい。 例えば、「53」から「73」に変更して 「B2, 73, B4, 02, CD, 21, CD, 20」 としてから、実行してみると 表示される文字が小文字の「s」になる。

では、もう少し改良を加えて、文字を2文字表示するようにしてみる。
mov  dl, 53h   ; 「S」の字の ASCII文字コード を DLレジスタにセット
mov  ah, 02h   ; 出力に1文字出力するファンクションコールを指定
int  21h       ; MS-DOSファンクションコール
mov  dl, 73h   ; 「s」の字の ASCII文字コード を DLレジスタにセット
int  21h       ; MS-DOSファンクションコール
int  20h       ; プログラムの終了
上の例では1文字目が「S」、2文字目が小文字の「s」を表示している。 これをコードにしてみると、 「B2, 53, B4, 02, CD, 21, B2, 73, CD, 21, CD, 20」 となる。これを例のごとく バイナリ・エディターで入力してから「disp2.com」という名前を付けて 保存後、実行してみると、
C:\TEST>disp2
Ss
C:\TEST>
となる。

【参考リンク】

カテゴリー: プログラミング     2007年2月28日 22:14

トラックバック

このエントリーのトラックバックURL:
http://www.skymerica.com/blog/yotsumoto/mt/mt-tb.cgi/724


コメント

コメントしてください




保存しますか?


 
ハワイ島での遊覧飛行ツアーとB&Bのスペシャリスト、スカイメリカ
Copyright © 2003,2009 Skymerica Corp. All rights reserved.