• 締切済み

パソコン画面への出力

パソコンの画面に文字を出力するシステムを教えてください。OSの中に、そのようなプログラムが あると思いますけど、大きく間違っていますか。0256

みんなの回答

  • zwi
  • ベストアンサー率56% (730/1282)
回答No.4

私も専門家じゃないですが、おっしゃるとおりprintfだとOSが仕事をします。 printf→C言語のライブラリ→OSシステムコール→OSの文字出力関連処理→グラフィックドライバ→AGPインターフェイス(ハード)→GPU(ハード)→LCDモニタに表示 て感じだと思いますが、AGPインターフェイスはIO空間じゃなく一般メモリ空間だったた様な。と言う理由でout命令はあんまり使わないと思います。 いや、DMA転送するからout命令は使うかな?ごめんなさいドライバを自分で書いたことがないので自信がありません。

0256
質問者

お礼

どーも有難うございました。質問の仕方も判らない様な者ですから、御許しください。今から 勉強します。0256

すると、全ての回答が全文表示されます。
回答No.3

ちょっと言ってることが分かりにくいですが、LSIとは集積回路の事ではなくて、LSI-Cコンパイラの事ですかね?PICは、マイクロコントローラの事ですか?だとすると、PICにインターフェイスと表示装置を付けないと、文字を表示しないのはアタリマエのことですよね? 仰るとおり、大抵のOSは、文字を表示する為の機能を持っていて、プログラムからそれを使うことができます。 OSコールとか、サービスリクエストとか、APIとか言ったりします。 どのような仕組みになっているかは、OS次第。 レジスタに情報を入れて、特定の決められたアドレスをCALLするだけのもの、実アドレスを使わずにソフトウエア割り込みを使うもの、今のWindowsでどのようになっているのかは、他の詳しい人からの答えを待ちましょう。 CPUが実際に何をしているかは、もっと環境に依存します。 同じOSでも、相手がビットマップディスプレイと、キャラクタ端末の場合では、表示の仕方も異なります。それらをどのような仕組みで実行し分けているかも、OSにより違いますし、ビットマップディスプレイといっても、最終的には、文字コードを特定の場所のメモリに書き込むだけのものと、文字フォントをメモリに展開するものとあったりして、一口には言えないくらいのいろいろな状況があります。 大雑把に言うと、それらを包んで統一した操作を提供しているのが、printfと言えるでしょう。あ、でもGUIでprintfが使えるというわけではありませんよ。PICでは当然、LSI-CでもROMに焼くプログラムでは、printfは自作する必要があります。ハードウエアの仕様とにらめっこして、そこまで考えを広げれば、システム側がどのようなことをすればいいか、実際にしているだろう事が、理解できてくると思います。

すると、全ての回答が全文表示されます。
回答No.2

print関数のこと?

0256
質問者

補足

御免なさい 私の質問のしかたが悪かったようです。 printf でも メモ帳 でも、最終的には CPU の OUT 命令を使うと思うのですけど。 そのへんのことが知りたいのです。LSI の printf は簡単ですけど、PIC の printf は インターフエイス を 介さないと、出力しないそうです。宜しくお願いいたします。0256 

すると、全ての回答が全文表示されます。
  • bsjack
  • ベストアンサー率71% (5/7)
回答No.1

質問の意味が分かりかねますが・・・ C言語で文字を出力するには printf を用います。 参考 http://rina.jpn.ph/~rance/c_language/p03.html C++の場合 http://etu.bituse.info/cp/7 これで解決しますか?

すると、全ての回答が全文表示されます。

関連するQ&A