PICでアセンブラ (FOR ループ)

たまには内容のあるものを・・・と思い、今回は簡単なPICアセンブラを。

とりあえずFOR ループ(のようなもの)です。EQU COUNT H'20' などとあらかじめ空いているレジスタを定義して使ってください。(命令郡)の部分を10回繰り返します。C言語で言えば DO-WHILE 文に近い感じですかね。

    MOVLW D'10'     ; WorkingRegisterに10を格納
    MOVWF COUNT     ; COUNTにWorkingRegisterの値(10)を格納
LOOP
    (命令郡)       ; 10回実行
    DECFSZ COUNT,F  ; COUNT=COUNT-1 結果0なら次命令スキップ
    GOTO LOOP       ; 9回ジャンプ
COUNTが10,9,8,7,6,5,4,3,2,1と合計10回カウントしながらループします。0回目が含まれないので注意してください。こういうプログラムは0回目を含むのかどうか、よく考えて使用する必要があります。

他にもいろいろなループの方法がありますが、この方法が一番簡単なループかと思います。



投稿者:mimiham : 2005年02月26日 02:24 : PIC

トラックバック

このエントリーのトラックバックURL:
http://mono-zukuri.net/cgi-bin/mt/mt-tb.cgi/117