|
お返事ありがとう。
文法は普通の場合
ラベル コマンド(ニモニック) オペランド コメント
となっていますが
オペランドは wを指す 0 それ以外を指す 1 が有ります
また 直接数を指す # も有ります。
それらによって 語尾が fw wf lw に替わったり
(,0)(,1) で表したりします。
文中で fr とある オペランド は 別の所でアサインした
変数ラベル などを使います。
一部の決められた 対象となる 特別なオペランドは
bank0 と bank1 のバンクがあって
(両方を持つ場合もありその場合は何もしない)
0 から 0x7f と 0x80 以降に分けられ
操作する前に
bcf STATUS,RP0 ;0 または
bsf STATUS,RP0 ;80
を挟んでから実行します。
例えば
PORTB 08h
TRISA 98h
STATUS 03h, 83h, などの場合は
前の時の操作が bank1 であったら
「add PORTB,#lite
は
movlw lite
bcf STATUS,RP0 ;0
addwf PORTB,1」
となります。
この様な文例が全部で332行有るのですが、
全部入れるほかないのでしょうか?
add fr,#lite
movlw lite
addwf fr,1
add fr1,fr2
movf fr2,0
addwf fr1,1
add fr,W
addwf fr,1
add W,fr
addwf fr,0
addb fr,bit
btfsc bit
incf fr,1
and fr,#lite
movlw lite
andwf fr,1
and fr1,fr2
movf fr2,0
andwf fr1,1
and fr,W
and fr,1
and w,#lite
andlw lite
<途中略>
swap fr
swapf fr,1
sz
btfss 3,2
test fr
movf fr,1
test W
iorlw 0
xor fr,#lite
movlw lite
xorwf fr,1
xor fr1,fr2
movf fr2,0
xorwf fr1,1
xor fr,W
xorwf fr,1
xor W,#lite
xorlw lite
xor W,fr
xorwf fr,0
ENCODINGSHIFTJIS さんは書きました:
> 1.add を見つける
> 2.#が付いている → 変換1
> 付いていない → 変換2
> と 考えれば、全置換2本でも出来ると思いますが。
>
>
|
|