![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
CASL2勉強用のテキストに【以下】のような説明文がありました。前半部分の意味は分かるのですが、後半部分(SFに設定される・・・)という所からの説明の意味がよく分かりません。
【比較演算命令の特徴】
比較減算命令(CPA、CPL)の大きな特徴は、命令の実行によって状態が変化するハードウェアはFRだけである点である。比較演算命令の実行によって、汎用レジスタや主記憶装置の状態はまったく変化しない。
SFに設定される値は、比較命令では比較される数値の大小によって決定されるが、減算命令では演算結果の最上位ビットの値が設定される。このことから減算命令ではSFの値だけから元の数値の大小を判定することができない。
(1)減算命令の結果の最上位ビットがマイナスになって大小関係が判定できない場合などあるのでしょうか?(例)12-15=-3 → 12<15 このように判定できているように思うのですが?
(2)そもそも大小の判定は減算によって判定しているのではないのでしょうか?それでは、内部的にはどのようにして大小判定を行っているのでしょうか?
そもそも文章を理解できていないのかも知れませんが・・・
よろしくお願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
> ひとつひとつのビット比較自体はCPUはどのような
> 原理で行うのか分かりますでしょうか?足し算の
> ような事をするのでしょうか??
想像ですが、andで違いのビットを発見するでしょう。
最後まで同じなら=
符号あり
0ビット目ならオンの方が小さい
1ビット目以降ならオンの方が大きい
(多分、マイナスも同じと思うので検証しておいて
下さい)
符号なしは0ビット目の特別扱い無し。
うーん、結構複雑ですね。加算よりは簡単。
浮動小数点は、はっきりいって分かりません。
考える気力なし。
No.1
- 回答日時:
大昔のことで忘れたけど、かすかな記憶では
マイナス同士の減算は逆にならなかったかな?
加算機の回路とか見たら分かるけど、マイナ
スは最上位ビットがオンだけど、条件によって
は繰り上がりで、最後は消滅するケースもあっ
たはず。
比較は減算しません。最上位ビットからビット
比較し、最初に違いが出たビットで結果が得ら
れます。
この回答への補足
ご回答ありがとうございます。
そういう事だったのですね。理解できました。
ちなみに、ひとつひとつのビット比較自体はCPUはどのような原理で行うのか分かりますでしょうか?足し算のような事をするのでしょうか??
よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(自然科学) 論文のまとめに関して(小論文)添削お願いします。 6 2023/07/16 14:24
- その他(コンピューター・テクノロジー) 量子コンピュータの動作原理がわかりません。同じビットが、1でも0でも有って良いだろうか? 3 2023/02/04 03:20
- 憲法・法令通則 マスクのお話 マスクは今推奨という形です。 「推奨(すいしょう)」は「物事や人物の優れている部分をあ 6 2022/04/25 12:49
- CPU・メモリ・マザーボード CPUがメモリ上に書かれている命令を実行した後の流れについての質問です。 1 2023/05/05 01:18
- 訴訟・裁判 再審請求中でも、別に死刑を執行することは問題ないんですか? 第475条 死刑の執行は、法務大臣の命令 6 2023/04/24 20:41
- 確定申告 不動産投資の減価償却費の算出方法 5 2022/12/03 15:06
- その他(プログラミング・Web制作) awkの文字列比較はPOSIXロケールまたはCロケールにおいてバイナリ値の比較に使えるか gawkな 1 2023/04/22 09:21
- システム CPUの問題について 2 2022/07/09 12:04
- CPU・メモリ・マザーボード CPUがメモリ上の命令を実行する流れについての質問です。 3 2023/05/05 01:41
- その他(社会科学) 市区町村別平均寿命の、補正計算はどのようになされているのでしょうか? 1 2023/05/23 08:28
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
0xffffとは?
-
エクセルVBAのIf,Then 構...
-
8ビットのデータの、先頭ビット...
-
ビットシフトってどんな時使うの?
-
C言語やC++言語でビット毎に値...
-
16進数でのAND演算
-
シーケンサで時間計算
-
アクセス(2003)のVBAでビット...
-
C言語のビット演算子に関して
-
一般のソフトで画像を扱う場合...
-
2の補数
-
バイトの引き算
-
三菱シーケンサーの命令でFROM ...
-
COBOL計算式の中間ワークについて
-
verilog 符号付加減算(最上位...
-
C++の言語で{}の中身が int x=2...
-
16ビットCPUで32ビットの計算方法
-
8086で加算減算とキャリーフラグ
-
ビット立つの意味
-
文字参照は10進数と16進数では...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
0xffffとは?
-
エクセルVBAのIf,Then 構...
-
8ビットのデータの、先頭ビット...
-
ビットシフトってどんな時使うの?
-
一般のソフトで画像を扱う場合...
-
C言語で128bitの2進数のビット...
-
命令について
-
符号無し整数xを右にnビット回転
-
文字参照は10進数と16進数では...
-
verilog 符号付加減算(最上位...
-
[VBS] 素早くローテート演算したい
-
算術シフト演算が成り立つ理由...
-
アルゴリズムの計算量とオーダ
-
03分22秒36のような時間の単位...
-
シーケンス制御についての質問...
-
CASLIIでかけ算
-
上位ビットと下位ビットの入れかえ
-
ブール代数で解き方がわかりません
-
PS3に搭載されている"Cell"は、...
-
16ビットCPUで32ビットの計算方法
おすすめ情報