ようこそ!JQ2RVNのブログです。
PICを使っていろいろな物を作ろうと画策中です。
× [PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
今回も16bit PICのアセンブラ命令をまとめていきたいと思います。
今回はMOV命令です。 順番的には逆のような気もしますが・・・(^^;; 一覧: MOV{.B} f {,WREG} MOV{.B} WREG, f MOV f, Wnd MOV Wns, f MOV.B #lit8, Wnd MOV #lit16, Wnd MOV{.B} [Ws + Slit10], Wnd MOV{.B} Wns, [Wd + Slit10] MOV{.B} Ws, Wd MOV.D Wns, Wnd MOV.D Wns, Wnd 以上の11形式があります。 多いですね~ MOV{.B} f {,WREG} fで指定されたアドレスの値をWreg(W0)またはfに格納します。 fは13ビットアドレスですからNear領域のみ示せます。 WREGを省略するとf → fとなり、移動はなにもされません。 一見意味がないように見えますが、ステータスレジスタは変化します。 なので、fの値が0かどうかなどの判定に使えます。 MOV{.B} WREG, f 上記の逆です。Wreg → f MOV f, Wnd f で指定したアドレスの値を、Wndに格納します。 機械語では、1000 0fff ffff ffff ffff ddddなので、f は15ビットしかないように見えます。 しかし、この命令はワード専用(16bit)なので、 ファイルレジスタのアドレスは必ず偶数になります。つまり0ビット目は0です。 この0を付け足すと16bitになりますから、データメモリ全域が指定できます。 (ffff ffff ffff fff0のところにアクセスする) なお、アセンブラ上では元のアドレスのまま書けば、アセンブリのときに変換してくれるようです。 (27FEにアクセスするときは、13FFとせず、27FEのまま書けばいいということ) MOV Wns, f 上記の逆です。Wns → f とりあえず、直接アドレッシングタイプは上記4つです。 その他は、次回以降に・・・ PR |
カレンダー
プロフィール
コールサイン:
JQ2RVN
性別:
男性
自己紹介:
PICの開発を勉強中です。
目標はPICTNCの高性能版を作ること。 まずは、本家を解析しています。
カテゴリー
最新記事
最新コメント
[04/23 Eolande]
[04/16 太田和巳(JF2UJG)]
[09/10 je7ifp]
[08/06 JQ2RVN]
[08/03 OVC]
最新トラックバック
ブログ内検索
最古記事
(05/18)
(05/19)
(05/19)
(05/20)
(05/21)
アクセス解析
|