- PIC専用のスレ Part48
404 :774ワット発電中さん[sage]:2014/10/25(土) 04:44:40.61 ID:dJL+L6/8 - 18F特有の機能も16F1でかなりカバーされちゃったからなあ
間接レジスタ3組 → 2組だけだけど導入 一続きのメモリ空間 → 間接アドレッシングでのみ導入 間接アドレッシング++/-- → moveでだけ可能 テーブルリード → 下位バイトのみ間接アドレッシングで可能 このギリギリまで機能切り詰めてどうにかミッドレンジに収めた感がすごくPICらしくて好き
|
- 初めてのPIC 0x03
408 :774ワット発電中さん[sage]:2014/10/25(土) 14:08:35.28 ID:dJL+L6/8 - >>406 >>407
407の言う「命令」+「データ」合わせて1ワードって言い方も間違いじゃないけど あんまり使わないかなあ。普通は1命令=1ワードって言う。 すべての命令で「命令」部と「データ」部が6bit/8bitで分かれてるわけでもないし。 で、「8ビット定義で、実質的に6ビット無駄にしている」って理解で間違ってない。 理由としては、PICで普通にデータを持っておくには6bitの「命令」を付けた14bitになるってのは事実ではあるけど、 そもそもPICは8bitマイコンだからデータ幅は8bitしかないのが根本的な理由。 さらにそもそも、C言語でcharが8bit以外の環境ってあるのかなあ…一応仕様上禁止されてないけど。
|
- 初めてのPIC 0x03
414 :774ワット発電中さん[sage]:2014/10/25(土) 16:21:12.27 ID:dJL+L6/8 - >>409
C言語は使った事ないから知らないけど、もしあったとすると、 Flashを読み取れない石もあるからどれで使えるのかの判断が面倒そう。 16F88はOKだけど16F628Aは駄目とか。 それと、(「そのCPUにおいて最も効率的」はintの方だった気がするけど、何にせよ、) 演算自体は8bit幅のメモリで行うから、14bitが効率的とはいえない。
|
- 初めてのPIC 0x03
419 :774ワット発電中さん[sage]:2014/10/25(土) 22:20:43.76 ID:dJL+L6/8 - >>416
C言語は使った事ないけど、16F84Aに限定するなら、リターン命令を並べる以外に Flashに書かれた定数を読む方法はないからそうとしか考えられない。 > 「A[3]に該当する番地に書かれたリターン命令を実行する」 そうだけど、その言い方だとプログラムカウンタとか理解してるのか心配になる。 「プログラムカウンタをA[3]に該当する番地に変更する」っていう命令が必要なのは大丈夫?
|