Q&A
解決済
4回答
2358閲覧
総合スコア28
アセンブリ言語とは、機械語を人間にわかりやすい形で記述した低水準言語です。
0グッド
0クリップ
投稿2016/12/27 13:34
0
現在PIC16F84Aを使用してLEDを8つ点灯させる回路のコードを記述しているのですが、下記のようなコードを一行にまとめるような記述方法はないでしょうか?
###該当のソースコード
LEDON BCF PORTB,0 BCF PORTB,1 BCF PORTB,2 BCF PORTB,3
###補足情報(言語/FW/ツール等のバージョンなど) MPLAB X IDE v2.20
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
質問へのコメント
回答4件
ベストアンサー
多くのアセンブラでは、そういう目的のために、マクロ機能がありますが、お使いの物にはないのでしょうか?
投稿2016/12/28 00:10
総合スコア86482
回答へのコメント
2016/12/28 02:06
使っているアセンブラの正確なところがわからないと確定はしませんが、多くのアセンブラは1行に1つの命令しか書けません。
「4つのビットを0にする」ということで、論理演算命令を使えば命令の数を減らすことはできますが、PORTBに直接演算できないので1命令では処理できません。
投稿2016/12/27 22:59
総合スコア146971
2016/12/28 02:07
BCF PORTB,1
PICマイコン用アセンブラMPASMだと予想しますが、他のアセンブラ同様、命令は一行に1個しか書けません。1行命令が1機械語に変換されると考えれば納得できると思います。VBみたいに区切り文字で並べられればいいと思いますが、無理かと。
投稿2017/03/26 22:56
退会済みユーザー
総合スコア0
サブルーチン化すれば、呼び出し側は一行で書けます。複数箇所で行うような処理であれば効果的です。
;呼び出し側 CALL LEDON : ;LED on LEDON: BCF PORTB,0 BCF PORTB,1 BCF PORTB,2 BCF PORTB,3 RETURN
投稿2017/01/04 23:54
総合スコア16733
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
15分調べてもわからないことはteratailで質問しよう!
ただいまの回答率85.29%
質問をまとめることで思考を整理して素早く解決
テンプレート機能で簡単に質問をまとめる
アセンブリ言語について、複数の引数を一つの行にまとめて記述する方法を知りたい
2016/12/28 02:06