PICプログラミング道場
Last updated 2002-07-26

はじめに

 GCC プログラミング工房を執筆しながら、いつも悩んでいることがあります。現在本連載は「C言語とアセンブラーの間のギャップを埋める」というスタンスで書かれており、文中にはしばしばアセンブラーが登場します。本来はアセンブラーに関するガイダンスを最初に行うべきなのですが、誌面が限られていることおよびアセンブラー抜きではシステムプログラミングは語れないことから、その解説は後回しになっています。

 しかし読者の中には、アセンブリソースが登場した時点でドロップアウトされている方もおられるのではないかと思います。また、メモリーやシンボル操作、リンカースクリプトの解説を読んでも「?」という方もいらっしゃるでしょう。これらのテーマは、機械語レベルでCPUを捉えることが出来て初めて了解できる概念ばかりなので、アセンブラーの経験がない方であれば当然の反応と言えるでしょう。

 私は、プログラマーを目指す若い人達には出来るだけ早い時期にアセンブラーを指導するべきだと考えています。アセンブラーの学習には、単にCPUが直接理解する機械語を操るという目的だけではなく、シンボル配置・リンク作業・スタック操作などの基本的概念を体得させるという、大切な意味合いが含まれているからです。しかし、残念なことに書店に行ってもアセンブラーの解説書を見かけることはほとんどありませんし、コンピューターそのものが肥大化・複雑化してしまったため、機械語レベルでコントロールすることが極めて困難な状況に陥っています。

 そこで私はPICマイコンに目を付けました。この小さいチップにはコンピューターのエッセンスが全て詰まっています。幸いなことに秋月電子通商などから、手頃な値段でキットが販売されていますので、学習環境としても申し分ありません。ハンダごてを握り自分の手でチップを組み上げる、機械語を書き下ろし液晶ディスプレイや RS-232C を制御する、PIC 逆アセンブラーとアセンブラーを Linux 上で開発する、これらの過程こそが初学者にふさわしいのではないかと考えるようになりました。

 そこでこのアプローチ方法が果たして正しいのかどうかを検証するため、初学者である「S嬢」に協力を依頼しました。プロフィール欄を読んで頂ければ分かる通り、彼女はピーポー常連という病弱な学生さんですが、その潜在能力はずば抜けています。またプログラミング歴は高校時代に N88-BASIC を少々・現在は VisualBasic / Perl 少々という、典型的な「プログラマー指向 but 中途挫折」型。今回の実験には理想的な人材と言えるでしょう。

 亀のごとき歩みになるかもしれませんが、彼女と二人で新しい教科書作りに挑戦したいと思います。

1.テスター編

2002/4

記念すべき第一回は「テスター編」をお届けします。2002 年4月初旬、秋月電子通商から購入したAKI-PICプログラマーキットおよびPICマイコン開発キットをプレゼント代わりにS嬢の元へ送付しました。まがりなりにも工学部出身という事でしたので、これぐらいのキットであれば組み立てることが出来るかと思いきや・・さにあらず。「回路図すらナスカの地上絵」という彼女は、感心なことに自分の判断でテスターキットを購入し、ヨチヨチ歩きを始めました。女の子らしいぽってりしたハンダ、焦げ焦げになった配線など苦労の跡が伺えます。第一歩としては上出来と言えるでしょう。ピーポー少女(?!)でもここまで出来るのです。ハンダごてをこれまで握ったことがないという方も、彼女の奮闘を心の支えにして是非組み立てに挑戦してみてください。プログラムはハードウェアと関わり合うことで、初めて命を得るのですから。

次回は一旦ハードウェアを離れてC言語プログラミングの基礎作りをする予定です。師匠は弟子に「Linux のテキスト画面を使ってブロック崩しを作れ」との指令を与えました。果たして彼女は画面上でボールを動かすことができるのでしょうか?乞うご期待。

2.printf 編

2002/4

記念すべき第一回は「テスター編」をお届けします。2002 年4月初旬、秋月電子通商から購入したAKI-PICプログラマーキットおよびPICマイコン開発キットをプレゼント代わりにS嬢の元へ送付しました。まがりなりにも工学部出身という事でしたので、これぐらいのキットであれば組み立てることが出来るかと思いきや・・さにあらず。「回路図すらナスカの地上絵」という彼女は、感心なことに自分の判断でテスターキットを購入し、ヨチヨチ歩きを始めました。女の子らしいぽってりしたハンダ、焦げ焦げになった配線など苦労の跡が伺えます。第一歩としては上出来と言えるでしょう。ピーポー少女(?!)でもここまで出来るのです。ハンダごてをこれまで握ったことがないという方も、彼女の奮闘を心の支えにして是非組み立てに挑戦してみてください。プログラムはハードウェアと関わり合うことで、初めて命を得るのですから。

病弱なS嬢への励ましのお便りはこちらまで。


Your SysOp is Wataru Nishida , M.D., Ph.D.