どのようにアセンブリにスマイリー・フェイスを印刷していますか?

StackOverflow https://stackoverflow.com/questions/1937460

  •  20-09-2019
  •  | 
  •  

質問

私はアセンブラでプログラムを書いて、それをコンパイル。青色のスマイリーフェイスを印刷し、それが終了する前にキーを押すように、ユーザーを待つの意味している。のそれはその最後のビットを行うませんが、それはスマイリーフェイスを印刷しません。誰かが私が間違ってやっていることを説明することはできますか?

CSEG segment
org 100h
Begin:

mov ax,0B800h
mov es,ax
mov di,0

mov ah,31
mov al,1
mov es:[di],ax

mov ah,10h
int 16h

int 20h

CSEG ends
end Begin

私はを16ビットリンカーとの MASM のとそれをコンパイル

役に立ちましたか?

解決

あなたはテキストのみのビデオモードにしている場合は、

あなただけの直接ビデオバッファを突くことができます。私はあなたには、いくつかの種類のWindowsを使用して、実際にDOSを起動していないことを推測しているので、あなたはおそらく、グラフィックモードである。

は、を何が行うことができるかもしれませんコンソールウィンドウおよび開いているし、 Altキー フルスクリーンテキストモードに移動します。そこにあなたのプログラムを実行してみます。

他のヒント

私はMASMと私は自宅で持っている唯一の参考書MIPSであると働いたので、それは1年かそこら程度をされているので、私は確かに少しさびだ、しかし、画面に印刷することは、まだ、システム割り込み(INT 21hを)が必要です私は見ているだけで、システムの割り込みはキーボード割込み後のプログラム終了コールでます。

あなたのコードは大丈夫です、あなただけのグレッグHewgillが示唆され、または(SYSTEMなど)古いラスタフォントを使用するようにコマンドウィンドウを設定すると、フルスクリーンを実行するのいずれかが必要です。右側のウィンドウのタイトルバーをクリックし、[フォント]タブを見てます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top