トップページ > 電気・電子 > 2014年10月25日 > dJL+L6/8

書き込み順位&時間帯一覧

9 位/164 ID中時間01234567891011121314151617181920212223Total
書き込み数0000100000000010100000104



使用した名前一覧書き込んだスレッド一覧
774ワット発電中さん
PIC専用のスレ Part48
初めてのPIC 0x03

書き込みレス一覧

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]に該当する番地に変更する」っていう命令が必要なのは大丈夫?


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。