• 締切済み

アセンブラ skipzの意味

お世話になります PIC系のアセンブラでskipzはオペランドが0の場合に次の行をスキップする命令でよろしいのでしょうか? btfscのbyte判定版みたいな使い方なのでしょうか? ご存知の方がいましたら教えていただけないでしょうか

みんなの回答

  • ballville
  • ベストアンサー率47% (233/487)
回答No.4

picについて、分かりやすく解説しているサイトを見付けました。 条件付きskip命令についてはここを見て下さい。 http://www.ccad.sccs.chukyo-u.ac.jp/~mito/syllabi/MediaSystem/Instruction/index.htm 結構情報料が多いので読みでがあると思いますが。

参考URL:
http://www.ccad.sccs.chukyo-u.ac.jp/~mito/syllabi/MediaSystem/
  • ymmasayan
  • ベストアンサー率30% (2593/8599)
回答No.3

Zフラグが1のときにPカウンタを+2するつまり1命令スキップする命令のようです。 従ってオペランド不要です。

usami33
質問者

補足

評価ボードにサンプルでついてきたコードに記載されているので、果たして他のアセンブラと同じように、オペランドを除いてしまってよいのでしょうか?

  • zak33697
  • ベストアンサー率27% (275/1016)
回答No.2

zak >アセンブラでskipzはオペランドが0の場合に次の行を >スキップする命令? 例 1 DEC100 2 SKIPZ 3 GOTO 10 4 xxx [100]番地-1 IF=0 JMP to xxx 今アセンブラ知っている人 中々いないので少し思い出したので回答します。

  • ballville
  • ベストアンサー率47% (233/487)
回答No.1

picについてはよく知りませんが、アセンブラの常識でいえば、「オペランドが0のとき」ではなくて、「ゼロフラグが立っているとき」ではないでしょうか。 たぶん、オペランドは取らないで、skipz命令の直前に加減算命令やテスト命令を実行して、フラグを変化させるのだと思います。

usami33
質問者

補足

#1さま、#2さま回答ありがとうございます アセンブラは種類が多すぎですね 今回のはPIC系のアセンブラのサンプルの一部で、CCSのコンパイラも正常にとおるのですが、PIC系の文献に無い使い方なので、いまいち理解に苦しんでいます 抜粋 movrf AAA_Status,W xorlw BBB_Status skipz W goto CCC このようにskipzにオペランドが存在しているんです、 想像では皆様の回答のように0ならスキップだと思うのですが、なにせプログラムは一命令間違えるだけで正常に動作しないので、確証がもてません

関連するQ&A