24.01.2015 Views

C - U-netSURF

C - U-netSURF

C - U-netSURF

SHOW MORE
SHOW LESS
  • 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 言 語 版

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!