06/12/09 17:30:13 CeNufIk+
>899
ループの中で使うならともかく、一般的に
> 1サイクル微調整 → nop
> 2サイクル微調整 → goto $+1
と言ってしまうのは少し怖い気がします。というのも、1命令分でも
プログラム領域を節約しなければいけない状況では当然PCLATH
をいじっているわけで、その状態でGOTOを不用意に使うとどこに
飛ばされるか・・・
PAGESEL(LABEL0)
BTFSS PORTA,D'0'
GOTO LABEL0
FILL(NOP),D'2' ;微調整
BTFSS PORTA,D'0'
GOTO LABEL0
PAGESEL(LABEL1)
GOTO LABEL1
こんなコードがありえるかはまた別の話だとは思いますが、私は微調整
には擬似命令FILLを使ってNOPを展開するようにしています。