#06:サインフラグを理解しよう
条件分岐に不可欠なフラグレジスタの働きを学習します。先ほどのチャプターに続いて、サインフラグの動作を理解します。
2進数で、マイナスをあらわす方法
・+/ー符号ではなく、最上位の1ビット(符号ビット)で正負をあらわす
・正数:最上位ビットが「0」
・負数:最上位ビットが「1」正数
00:0000
01:0001
02:0010
03:0011
04:0100
負数(4ビットの場合)
-01:1111
-02:1110
-03:1101
-04:1100
マイナスの値は、2の補数であらわす
2の補数は、正の数の「0」「1」を反転して、「1」を足す
10進数: (+1) + (-1) = 0
2進数 : (0001) + (1111) = 10000 4ビットの範囲がゼロになる
ビット数 | 符号なし | 符号付き |
---|---|---|
4ビット | 0 ~ 15 | -8 ~ 7 |
8ビット | 0 ~ 255 | -128 ~ 127 |
16ビット | 0 ~ 65535 | -32768 ~ 32767 |
符号付き2進数の符号フラグをあらわす
演算結果の最上位ビットがゼロのとき「0」、それ以外のとき「1」になる
算術演算、論理演算、LD命令などで変化する
フラグとは - IT用語辞典 e-Words
http://e-words.jp/w/%E3%83%95%E3%83%A9%E3%82%B0.html
符号つき2進数
http://www.infonet.co.jp/ueyama/ip/binary/signedbin.html
符号付き整数型とは - IT用語辞典 e-Words
http://e-words.jp/w/%E7%AC%A6%E5%8F%B7%E4%BB%98%E3%81%8D%E6%95%B4%E6%95%B0%E5%9E%8B.html
CASLIIアセンブラ & シミュレータ PyCASL2 & PyCOMET2
http://www.image.med.osaka-u.ac.jp/member/nakamoto/pycasl2/index.html
CASL - Wikipedia
https://ja.wikipedia.org/wiki/CASL
アセンブラ言語CASL2の仕様
https://www.chiba-fjb.ac.jp/fjb_labo/casl/CASL2spec.html#2-3
システムCOMET2の仕様
https://www.chiba-fjb.ac.jp/fjb_labo/casl/COMET2spec.html
CPU - コンピュータの基礎知識 | ++C++; // 未確認飛行 C
https://ufcpp.net/study/computer/CPU.html