[H8-ML(1069)] RE: [H8-ML(1068)] Re: "MOV.L @H’100000:16, ER1"の":16"って何
From: "Kohya Gotoh" <hoshikage@xxxxxxxxx>
Date: 2001年04月07日(土)09時40分04秒
お世話になってます。後藤です。

> > > 指定時のMSBが2^23〜2^16にコピーされて"00000000"か"11111111"に
> > > なるからです。
> > ええ?、これ分からないです。
> > ■2^23は、H'800000だし 2^16は、H'FFFFですよね。
> > 2^24だと、H'FFFFで 2^15だったら、H'8000なんですが?
> > ■"コピー"ってER1にコピーされるんじゃないんですか?
> > ■"00000000"か"11111111"になるからです。
> > さっぱり分かりません。(・・;)
>  H8/300HではPCは24ビット持っているとしましょう。(16Mモード時)
> 16ビットでアドレスを指定すると、16ビットのMSBは2の15乗の位置です
> これを(2^15)と表記します。私だけか?
□そう言う意味ですか。
> HEXで考えるとわかりにくいかもしれ
> ませんのでバイナリで考えましょう。
> 16ビットでH'8000としてしたら24ビットのバイナリで考えると
> "00000000000000001000000000000000"です。
> "1"になっている場所が(2^15)の位置です。これが符号拡張される(=上位ビット
> 全てにコピーされると、
> "11111111111111111000000000000000"
> となります。(2^23)の位置から(2^16)の位置まで全て'1'で埋められます。
>
> では、(2^15)の位置が'0'だったら、どうなるかもうおわかりですね。
□"00000000000000000000000000000000"ですよね。
そして、
"11111111111111111000000000000000"
"00000000000000000000000000000000"
の2^23乗目〜2^16乗目の間
"--------11111111----------------"
"--------00000000----------------"
の部分の事を指して
"00000000"か"11111111"になるって事ですか。

スレッド概略
[1062(R)](起点)
 └[1068(U)]
   └[表示中]
     ├[1070(1)]
     └[1071(2)]


投稿順に移動
[←前の記事へ(P)]
[→次の記事へ(N)]


リスト表示へ
[このスレッド(T)]
[本記事の前後(L)]