アセンブリ(主にPIC)のコード規則はありますか? [閉まっている]
-
09-09-2019 - |
質問
アセンブリ(主にPIC)のコード規則はありますか?
他のヒント
は、それがすべてではない船外にはかなり便利だとのコメントすべての行の
これは、アセンブリやパフォーマンスは、Cコンパイラを使用していない重要な場合は、あなたのためのアセンブリを作成するために、Cコンパイラを使用して、あなたのプログラミングは、アセンブリを自分で書く場合に依存します。
が、一般的には規則が意味のあるポインタ名と簡単なサブルーチンを使用し、すべての行をコメントしています。あなたがブロックにコメントしまう代がある、すなわち
start: movlw 0x24 // \
movf count // put 24 into count
MyCount: decfsz count //decrement count and exit if done
goto myCount //do the loop
goto exit //count is done exit
これは、典型的な符号化、アドレスの最初の列はコマンドの次のポインタと関連あなたは通常、実際のプログラムの前にヘッダ部にVARSを定義varsのであり、それは、使用しているアセンブラに特定です。いくつかはあなたの変数ポインタオプションを与えていない、あなたは、ダイレクト・メモリ・ロケーションを使用する必要があります。あなたが逆アセンブラの外に戻って来て、コメントコードを見れば、それは次のようになります。
0020 movlw 0x24
0021 movf 0x25 // 0x25 = memory address of count
0022 decfsz 0x25
0023 goto 0x0022 // loop back to 0x22 until count = 0
0024 goto 0x01FF
あなたはS「NOP」2、割り込みなどのための明確な20の間で20の残さアドレスのアドレスを持つ開始のような良いラウンド番号にコードを相殺するためにそれが出てグループにあなたのコードの使用を確認してくださいコメント。それは私が通常使用モデルですので、チップに応じて、私は12f675年代のために多くのコードを記述します。
また、シンプルな明確なサブルーチン内のコードを維持し、アドレスは、あなたがいつも戻って、後続のコードを圧縮することができ、あなたの最初のサブルーチンの間で10かそこらのnopのブロックを残す素敵なラウンド番号があるはずです。そしていつもあなたが十分にそれをコメントすることはできませんあなたのコードをコメント。
また、私は実際のプログラムの最大のスペースを残してかのうとしてメモリの終わりに近い私のinit routeenを入れusualy。
いくつかのに役立ちます願っています。
私は正式な何かがあると思うが、彼らのウェブサイト上のコードサンプルを読んだことはあなたの通常のイディオムの味を与えないでください。ただ、多くの異なる愛好家からの貢献 "がたくさんあることに注意してください、そして、彼らはとても素敵ではないかもしれません。
もほとんどが醜いコードを持つことになり、他のプロジェクトをチェックしてください。しかし、あなたは宝石や2を見つけることができます。
私は、PICにプログラムしなかったが、コードを読むのが好きでした。私は漠然と本当にきれい実行の流れで「リアルタイムOS」を覚えています。コーディングスタイルだったが、私はそこに起動したいどのように一貫覚えていません。
これは、それらのほとんどを読む方が良いでしょうし、それが散文と同じくらい簡単だとき、あなたは自分のスタイルを見つけることができます。
私はジェイソンSでよ - のすべての可能な場合は、 『__asm』キーワードを使用して、あなたの「.C」ファイルにアセンブリ言語の数行を埋め込む終わる場合でも、Cコンパイラを使用する
。 あなたはPICのためにアセンブラで全体のプログラムを書く必要がある場合は、、推奨される関数呼び出し規約はです PIClist:PICページングとPCLATH の
それは本当にあなたが使用しているPICの機種に依存するであろう。例えば、PIC16sとPIC18sは簡単にウェブ上で発見することができ、組立例がたくさんあります。
あなたの特定のPICモデルのためのウェブサイト上で見つけることができますC言語でPICの例の多くは、彼らのあるPIC24とPIC32のようなモデルがはるかC.に向けているが。これらのPICモデルはまだ国会にプログラムすることができますが、どのように上の非常にいくつかのウェブの例は、彼らのです。そのための最適なリソースは、「ヘルプ」の下にMPLABであり、あなたのPICモデルが使用するものは何でもアセンブラの「ヘルプ目次」をご確認ください。これはあなたにいくつかの例と同様にPICアセンブリにプログラムし、メモリや書き込みマクロを定義するような単純なPICのタスクを達成する方法の説明が表示されます。