C - U-netSURF
C - U-netSURF
C - U-netSURF
- No tags were found...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
10 進 数 と 2 進 数 ,16 ,<br />
進 数<br />
私 たちが 日 常 使 っているのは 10 進 数 です。0~9<br />
の 10 個 の 数 字 を 使 って 数 を 表 します。<br />
ところが,コンピュータの 世 界 , 特 にマイコンの 世<br />
界 では 2 進 数 や 16 進 数 が 普晘 通 に 使 われています。<br />
2 進 数 は 0 と 1 の 2 個 の 数 字 で 数 を 表 す 方 法沵 ,16<br />
進 数 は 0~9 と A~F の 16 個 の 数 字 で 数 を 表 す 方<br />
法沵 です。<br />
では,ちょっと 比 較 してみましょう。<br />
10 進 数 2 進 数 16 進 数<br />
0 00000000 00<br />
1 00000001 01<br />
2 00000010 02<br />
3 00000011 03<br />
4 00000100 04<br />
5 00000101 05<br />
6 00000110 06<br />
7 00000111 07<br />
8 00001000 08<br />
9 00001001 09<br />
10 00001010 0A<br />
11 00001011 0B<br />
12 00001100 0C<br />
13 00001101 0D<br />
14 00001110 0E<br />
15 00001111 0F<br />
16 00010000 10<br />
ところで,2 進 数 と 16 進 数 を 比 較 するとおもしろい<br />
ことに 気 づきませんかそれは,2 進 数 を 4 桁 づつ<br />
区 切 ると 16 進 数 の 1 桁 に 相 当 する,ということです。<br />
( 例 )00001010 = 0A<br />
実 はこれがマイコンで 16 進 数 が 使 われている 理<br />
由 です。よく 言 われているようにデジタルの 世 界 は 0<br />
か 1 です。ご 多 分 にもれずマイコンの 世 界 も 0 か 1<br />
です。なので, 本曓 当 は 2 進 数 がぴったりなのです。<br />
でも,2 進 数 は 桁 が 長 すぎる,それなら 4 桁 づつまと<br />
めて 16 進 数 で 表 してしまおう,ということになりまし<br />
た。<br />
ちなみに 10 進 数 ,2 進 数 ,16 進 数 の 表 し 方 はい<br />
ろいろですが,このマニュアルでは 次 のようにあらわ<br />
すことにします。(10 進 数 の 10 をどのように 表 すか)<br />
10 進 数 :( 例 )10<br />
2 進 数 :( 例 )B'00001010<br />
16 進 数 :( 例 )H'0A,0x0A または 0Ah<br />
ビット,バイト,ワード,ロングワード<br />
マイコンの 世 界 はデジタルの 世 界 なので,‘0’か<br />
‘1’の 世 界 です。というわけで,2 進 数 1 桁 が 最暷 小 単<br />
位 となり,これをビットと 呼 びます。<br />
さて,メモリがそうですが,マイコンでは 1 データを<br />
8 ビット 単 位 で 扱 うことが 多 いです。そこで,8 ビットで<br />
構 成 される 単 位 をバイトと 呼 びます。16 進 数 2 桁 に<br />
なります。(R0H~R7H,R0L~R7L レジスタ)<br />
さらに,2 バイト 単 位 でまとめることもよくあります。<br />
で,これをワードという 単 位 にします。16 進 数 4 桁 で<br />
すね。(E0~E7,R0~R7 レジスタ)<br />
そして 最暷 後 に,2 ワード 単 位 (4 バイト 単 位 )にした<br />
ものをロングワードと 呼 びます。16 進 数 8 桁 になりま<br />
す。(ER0~ER7 レジスタ)<br />
まとめると,<br />
1 ロングワード=2 ワード=4 バイト=32 ビット<br />
となります。<br />
メモリマップとは<br />
CPU はアクセスできるアドレスの 範 囲 が 決 まって<br />
います。 例 えば,H8/3687 の 場 合 は,0000~FFFFま<br />
でです。この 中 に ROM や RAM を 割 付 けていきま<br />
す。<br />
さて,どこに 何 が 割 付 けられているか 示 した 図 を<br />
メモリマップと 呼 びます。 前 のページは H8/3687 のメ<br />
モリマップになるわけです。<br />
ところで,メモリマップといいながら I/O も 割 付 けら<br />
れていました。H8 の 場 合 I/O もメモリのように 扱 って<br />
います。データをリード/ライトするという 点 では,メモ<br />
リも I/O もかわりないですしね。このような 割 付 け 方 を<br />
メモリマップド I/O と 呼 びます。<br />
対 して,I/O のための 専 用 のマップを 準 備 する<br />
CPU もあります。この 場 合 ,メモリマップではなく I/O<br />
マップといいます。このような 割 り 付 け 方 を I/O マップ<br />
ド I/O とか,アイソレーテッド I/O と 呼 びます。<br />
これはどちらが 優 れているというわけではありませ<br />
ん。 単 に 思 想 の 違 いです。<br />
8<br />
TK-3687mini ユーザーズマニュアル C 言 語 版