いつもお世話になっております。
小生、現在CASIOのポケコンZ-1GRにて、
x86アセンブリを勉強中のアセンブリ初心者です。
今回、先輩方にご質問させて頂きたいのは、
JP命令についてです。
まず、以下のコードを見てください。
ORG 2000H
START:
MOV AX,08888H
XOR BX,BX
MOV DX,00888H
MAIN:
AND DX,AX
JP SETBX
JMP RETURN
SETBX:
MOV BX,0001H
RETURN:
IRET
END
と記述し、アセンブル→実行しますと、BXに1が格納されます。
JP命令というのは、演算後、1のビット数が偶数の時にセットされるもので、
上記のコードだと、DXは0888のままなので、1のビット数は奇数でRETURNにジャンプするはずだと思うのですが。。。
お忙しい中、大変申し訳ございませんが、先輩方、ご教授宜しくお願い致します。
No.1ベストアンサー
- 回答日時:
Intel のドキュメントによると, PF は
「結果の最下位バイトに値 1 のビットが偶数個含まれている」場合
にセットされるらしいよ.
参考URL:http://download.intel.com/jp/developer/jpdoc/IA3 …
この回答への補足
Tacosanさん、いつもご回答頂き誠にありがとうございます。
IntelのIA-32デベロッパーズマニュアル、非常に助かりました。
>「結果の最下位バイトに値 1 のビットが偶数個含まれている」場合
という事は私の記述したコードに当てはめると、
DLに値1のビットが偶数個ある為、BXに値が入っていたんですね。
もう少し、検証コードを書いてから、実験してみたいと思います。
この度は、ご回答頂き、誠に感謝申し上げます。
Tacosanさん、本当にいつもご回答頂き誠にありがとうございます。
先程、Tacosanさんから頂いたご教示のもと、
以下のコードを記述し、実験してみました。
ORG 2000H
START:
MOV AX,08888H
XOR BX,BX
MOV DX,08808H
MAIN:
AND DX,AX
JP BXSET
JMP RETURN
BXSET:
MOV BL,01H
RETURN:
IRET
END
と記述し→実行すると、見事!!!!BXには1という値は格納されませんでした。
やっと、頭がスッキリしました。
本当に感謝申し上げます。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 数学 あいまいな日本語数学問題 9 2022/05/30 10:24
- 数学 この解法があっているか分からないので教えてください 4 2022/07/12 14:59
- 数学 4次関数と二重接線に囲まれる面積を求めるときに、まず4次関数と1次関数の交点を求めたいのですが ax 2 2022/10/16 12:42
- C言語・C++・C# Cのオブジェクトファイルの逆アセンブル 5 2023/05/13 01:51
- 高校 高2数Bの質問です。 ベクトル PB+DS-PS-XB=DX を証明する問題です。 →は省略させて頂 2 2022/05/15 01:03
- その他(コンピューター・テクノロジー) 量子コンピュータの動作原理がわかりません。同じビットが、1でも0でも有って良いだろうか? 3 2023/02/04 03:20
- その他(プログラミング・Web制作) 文字コード及びフォントに関する次の記述を読み,適切なものをすべて選べ。 ASCIIとは,英数字だけを 4 2023/01/11 19:10
- 数学 二次関数の問題なのですが、パープ〜が愚にも付かぬ珍説を喧しく唱え続けていて、非常に当惑しております。 2 2022/05/29 21:41
- その他(プログラミング・Web制作) x86_32のGASの擬似命令 3 2023/06/07 19:55
- 数学 高校数学について 2次不等式で x<2、5<x という回答になる条件ってなんですか ax²+bx+c 4 2022/10/06 23:36
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルVBAのIf,Then 構...
-
0xffffとは?
-
8ビットのデータの、先頭ビット...
-
03分22秒36のような時間の単位...
-
verilog 符号付加減算(最上位...
-
ビットシフトってどんな時使うの?
-
文字参照は10進数と16進数では...
-
浮動小数点演算と固定小数点演...
-
visualbasic のコード中で 100...
-
小数点の引き算が不正確
-
8085系プログラミングについて
-
情報源符号化について
-
情報科学の飽和演算、ラップア...
-
ものづくりに向いているプログ...
-
ライン数とステップ数の違いは?
-
電化製品って何言語?
-
PICでパルス数をカウントする方法
-
OSはどんなコンピューター言語...
-
VC6でIDEでソース部分のアセン...
-
割り込みベクターをC言語で書...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
0xffffとは?
-
エクセルVBAのIf,Then 構...
-
8ビットのデータの、先頭ビット...
-
ビットシフトってどんな時使うの?
-
verilog 符号付加減算(最上位...
-
一般のソフトで画像を扱う場合...
-
符号無し整数xを右にnビット回転
-
文字参照は10進数と16進数では...
-
シーケンス制御についての質問...
-
BMP画像のネガを作成するプログ...
-
アクセス(2003)のVBAでビット...
-
03分22秒36のような時間の単位...
-
命令について
-
10進数(+-)→2進数への変換(2)
-
C言語で128bitの2進数のビット...
-
1の補数
-
ビット列を表示するプログラム
-
Python: 数値を反転させたい
-
ビットの取り出し方法
-
PS3に搭載されている"Cell"は、...
おすすめ情報