次の問題があっているのかわかりません。
次のCASLIIプログラムの実行後のレジスタ(GR1,FR)とメモリ(AA,BB,CC番地)
の内容を16進表示および符号付き10進表示せよ。
PGM START
LD GR1,AA
ADDA GR1,BB
ST GR1,CC
RET
AA DC 32767
BB DC 1
CC DS 1
END
32767をGR1に入れて、1加算する。
だからGR1 = 32768
と思ったのですが、先生の書いた答えは
-32768
でした。
PGM START
LD GR1,AA
ADDL GR1,BB
ST GR1,CC
RET
AA DC #7FFF
BB DC 1
CC DS 1
END
#7FFFに1加算するので
GR1=#8000
だと思います。
また自分で書いた板書に
Arithmetic[ -32768, 32767](#8000,#7FFF)
Logical[0,65535](#0000,#FFFF)
とありました。
板書をとったのがだいぶ前なのでこれの意味をよく覚えていないのですが、
ADDA命令のときに扱える値の範囲は-32768,~32767
ADDL命令のときに扱える値の範囲は0~65535
ということなのでしょうか。
その場合、先ほどの問題のADDAの問題で
32767 + 1 をしたら範囲を超えてしまいます。
このような場合どうなるのでしょうか?
ADDLの場合も範囲を超えてしまったらどうなるのですか?
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
> 32767をGR1に入れて、1加算する。
> だからGR1 = 32768
> と思ったのですが、先生の書いた答えは
> -32768
#8000 を絶対値 (Logical) で見れば 32768, 2の補数表現 (Arithmetical) で見れば -32768 というだけです。
CASLII では加算命令がそれぞれ ADDL, ADDA と別々に用意されていますが、実際やってることは FR レジスタの動きを除けば全く同じで、その計算結果を絶対値と見るか負数と見るかはプログラマの都合次第です。
ですから答に符号付きdecimalでと求められたら -32768 ということです。
> その場合、先ほどの問題のADDAの問題で
> 32767 + 1 をしたら範囲を超えてしまいます。
> このような場合どうなるのでしょうか?
FR レジスタの Overflow Flag を各々確認してみてください。どちらも GR1 は #8000 ですが OF は ADDA でだけ 1 になります。
> ADDLの場合も範囲を超えてしまったらどうなるのですか?
OF が 1 になる境界が違いますが同様です。逆に #7FFF+1 したときは 0 のまま
ちなみ同じことは SUBL, SUBA にも言えます
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# 【CASLプログラム】 定数(80と55)を確保し、その和をGR1に、その差をGR2に求めるCASL 1 2022/12/16 01:17
- Visual Basic(VBA) vba 等間隔の列に対しての計算 6 2022/05/17 20:15
- Visual Basic(VBA) マクロを教えてください。 7 2023/06/01 19:47
- システム CPUの問題について 2 2022/07/09 12:04
- Excel(エクセル) エクセルデーターの並び替え 5 2022/08/06 09:59
- 数学 数学の証明問題について質問です。 今日私大入試があったのですが、AとBの共通部分となるxの範囲を求め 1 2023/02/10 15:27
- C言語・C++・C# C言語 3 2022/10/04 15:07
- 統計学 統計検定2級の過去問について 1 2023/01/04 16:40
- フィナンシャルプランナー(FP) FPやDCプランナーなどの資格で試験の出題内容の改定は毎年何時ですか?古いテキストは使えませんか? 2 2022/11/05 14:23
- 電車・路線・地下鉄 初台→新宿3→代官山(7.6km)IC528円 笹塚→新宿3→中目黒(10.2Km)IC433円なぜ 5 2022/11/24 09:26
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
首吊りどこ締めるの
-
白血球が多いとどんな心配があ...
-
彼女のことが好きすぎて彼女の...
-
勃起する時って痛いんですか? ...
-
ある範囲のセルから任意の値を...
-
検便についてです。 便は取れた...
-
2つの数値のうち、数値が小さい...
-
一番多く表示のある値(文字列...
-
精液の落とし方を教えてください
-
エクセル指定した範囲からラン...
-
エクセルのラベルの値(文字列...
-
EXCELで条件付き書式で空白セル...
-
値が入っているときだけ計算結...
-
MIN関数で空白セルを無視したい...
-
甲状腺が腫れているが血液検査...
-
エクセルで数式の答えを数値と...
-
テスターで断線を調べる方法教...
-
エクセルでθを求めたい。
-
小数点以下を繰り上げたものを...
-
中出しをするとお腹が痛い・・・。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
首吊りどこ締めるの
-
白血球が多いとどんな心配があ...
-
検便についてです。 便は取れた...
-
勃起する時って痛いんですか? ...
-
彼女のことが好きすぎて彼女の...
-
腕を見たら黄色くなってる部分...
-
精子が黄色?
-
EXCELで条件付き書式で空白セル...
-
至急!尿検査前日にオナニーし...
-
これって喉仏ですか? 私は女性...
-
中出しをするとお腹が痛い・・・。
-
甲状腺が腫れているが血液検査...
-
2つの数値のうち、数値が小さい...
-
尿検査前日に自慰行為した時の...
-
EXCELで式からグラフを描くには?
-
小数点以下を繰り上げたものを...
-
ある範囲のセルから任意の値を...
-
口の中に黒い血の塊
-
【Excelで「正弦波」のグラフを...
-
エクセル指定した範囲からラン...
おすすめ情報