HOME»基本情報技術者試験掲示板»答えがマイナスになるSUBLについて(CASL2)
投稿する
»[4171] 平成24年秋期問7(経営戦略) 投稿数:5
»[4170] 平成24年春期問3(データベース)設問1 投稿数:2
答えがマイナスになるSUBLについて(CASL2) [4173]
はなさん(No.1)
SUBL処理で答えが負数になる時、格納される値がなぜ2の補数になるのか分かりません。
例えばGR1に100を格納し、SUBL GR1,=200をするとします。答えは-100なのでOFとSFに1が入りFF9Cが入ります。FF9Cは-100の2の補数ですよね?SUBLは負数を扱わないのになぜこの値が入るんでしょうか。
例えばGR1に100を格納し、SUBL GR1,=200をするとします。答えは-100なのでOFとSFに1が入りFF9Cが入ります。FF9Cは-100の2の補数ですよね?SUBLは負数を扱わないのになぜこの値が入るんでしょうか。
2022.04.28 21:40
たけさん(No.2)
初めまして!
アセンブラ歴浅いですが、自分の知っている範囲でご説明をば...
まず、FF9Cは「-100の2の補数」ではなく「100の2の補数」です。
SUBL命令は0~65535の範囲で減算を行う命令ですが
例題の100-200を例にすると、結果が範囲を超えてー100となります
そして負数は2の補数で表現する決まりなので
命令文がSUBL(論理)でもSUBA(算術)でも負数は2の補数で表現することは変わらないです。
答えになっておりますでしょうか、拙い説明で申し訳ないです。
アセンブラ歴浅いですが、自分の知っている範囲でご説明をば...
まず、FF9Cは「-100の2の補数」ではなく「100の2の補数」です。
SUBL命令は0~65535の範囲で減算を行う命令ですが
例題の100-200を例にすると、結果が範囲を超えてー100となります
そして負数は2の補数で表現する決まりなので
>100=0000 0000 0110 0100
>↑を反転し+1=1111 1111 1001 1100 ;100の2の補数、即ちー100(FF9C)が入る
命令文がSUBL(論理)でもSUBA(算術)でも負数は2の補数で表現することは変わらないです。
答えになっておりますでしょうか、拙い説明で申し訳ないです。
2022.04.29 16:36
はなさん(No.3)
ご回答ありがとうございます!
SUBLとSUBAはOFの動きが違うだけで汎用レジスタに入る値は同じということで合ってますでしょうか?
SUBLとSUBAはOFの動きが違うだけで汎用レジスタに入る値は同じということで合ってますでしょうか?
2022.04.30 13:46
その他のスレッド
»[4172] 基本情報過去問 平成30年春期 午後問8 投稿数:3»[4171] 平成24年秋期問7(経営戦略) 投稿数:5
»[4170] 平成24年春期問3(データベース)設問1 投稿数:2