【アプリ版】サポートOS変更のお知らせ

CPUを直接操作するうなプログラムは高水準言語では作れないので低水準言語が必要になります。
CPUをスリープ状態にするHLT命令はアセンブラにはありますがC言語などの高水準言語には無い機能ですから、アセンブラを使ってプログラムを書かないと実現できません。というのは、合っていますでしょうか?教えていただけないでしょうか?すみません。

質問者からの補足コメント

  • うーん・・・

    2進数の羅列では人間にはあまりに読み書きしにくいからです。 それを命令単位に区切って、英単語を元にした名前を与えたのが、アセンブリ言語です。 ニーモニックとは、その命令の名前の事です。これは合っていますでしょうか?教えていただけないでしょうか?すみません。

    No.1の回答に寄せられた補足コメントです。 補足日時:2021/05/27 01:11
  • うーん・・・

    2進数の羅列では人間にはあまりに読み書きしにくいからです。 それを命令単位に区切って、英単語を元にした名前を与えたのが、アセンブリ言語です。 ニーモニックとは、その命令の名前の事です。これは合っていますでしょうか?教えていただけないでしょうか?すみません。

    No.2の回答に寄せられた補足コメントです。 補足日時:2021/05/27 01:11
  • うーん・・・

    2進数の羅列では人間にはあまりに読み書きしにくいからです。 それを命令単位に区切って、英単語を元にした名前を与えたのが、アセンブリ言語です。 ニーモニックとは、その命令の名前の事です。これは合っていますでしょうか?教えていただけないでしょうか?すみません。

    No.3の回答に寄せられた補足コメントです。 補足日時:2021/05/27 01:12
gooドクター

A 回答 (4件)

No3お礼について


OS或いはコンパイラの作成にはアセンブリ言語を使用する方が合理的だからですね。

補足について
アセンブリ言語としては概ね合っていますが実用上重要な機能で有るラベルジャンプが抜けていますね。また必ずしも機械語命令とニーモニックは1対1の対応ではありません。
アセンブラとしてはリンクが出来ることが重要なファクターですね。

もう少し背伸びせずにコンピューターの仕組みの基本を学習された方が的確な理解、質問に繋がると思いますね。
    • good
    • 0

無い機能では無く、いらない或いは有ると困る機能だから作っていないというのが理由ですね。



高級言語はOSの下で動かすことが基本ですからね。



>HLT命令は、そう言う事じゃ無くて、何もしない事を実行する命令であって、HLT自身を繰り返しているだけ。
>高水準言語でも、自分自身のところへブランチ(ジャンプ)するコードを書けば同じ。
出鱈目ですね。
この回答への補足あり
    • good
    • 0
この回答へのお礼

では、あなたはなぜ何のために低水準言語があると思うのでしょうか?教えていただけないでしょうか?すみません

お礼日時:2021/05/27 00:45

合っています。



アセンブラ言語では、ビット列で好きな命令を作って、LPSW(Load Program Status Word)という命令でこのビット列で表現された命令を実行することができます。

高級言語ではOSに対して「自殺しろ」という命令はできませんが、アセンブラ言語でLPSWを使えば、OSの自殺も実行可能になります。
この回答への補足あり
    • good
    • 0
この回答へのお礼

では、あなたはなぜ何のために低水準言語があると思うのでしょうか?教えていただけないでしょうか?すみません

お礼日時:2021/05/27 00:45

間違い。


HLT命令(HALT)でCPUを停止したりスリープ出来てしまったら、割り込み処理も併行処理してる他の処理も全てが停まってしまう。
ただの箱になってしまう。

HLT命令は、そう言う事じゃ無くて、何もしない事を実行する命令であって、HLT自身を繰り返しているだけ。

高水準言語でも、自分自身のところへブランチ(ジャンプ)するコードを書けば同じ。
この回答への補足あり
    • good
    • 0
この回答へのお礼

では、あなたはなぜ何のために低水準言語があると思うのでしょうか?教えていただけないでしょうか?すみません

お礼日時:2021/05/27 00:45

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

gooドクター

このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング