gnupic(gpasm)でもいけるかも

PAアセンブラはダメだった。ずいぶん記法の違いがあり、PAアセンブラで通るように書いても課題提出はできそうにない。
なわけで、gpasmで通るように修正を試みる。
Errorは2箇所で、1箇所はなんとコメントの";"なしでコメントが書かれていた。何かの間違いか・・・ うっかり書き換えたか? ありえない。ここはコメントアウトしてクリア。
もうひとつはこんな記述。学校の掲示板で先生が通らないと指摘していたところだ。

		MOVLW	#(fifo_bottom - fifo_top) / 2

ここのやりたいことを通るように書き換えようと思ったが、なにやら単純な、静的に求まる演算をしているように見える。値を直接書いて逃げてもよさそうだ。とにかくこの記法について調べよう。と、MPASMのUserManualとかネットをググったりしても見つからず。単純に#とっても変わらないのでは・・・ #をとるとgpasmは通った。
ということで、ThinkPadのMPLABでテストしてみる。

top	equ	0xbd
bottom	equ	0xde

	movlw	bottom - top
	movlw	#(bottom - top)
	movlw	(bottom - top)/2
	movlw	#(bottom - top)/2

end

このいいかげんなソースをビルド。

MPASM 03.70 Released                                    E.ASM   10-23-2004  14:51:04         PAGE  1


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

  000000BD            00001 top     equ     0xbd
  000000DE            00002 bottom  equ     0xde
                      00003 
0000   3021           00004         movlw   bottom - top
0001   3021           00005         movlw   #(bottom - top)
0002   3010           00006         movlw   (bottom - top)/2
0003   3010           00007         movlw   #(bottom - top)/2
                      00008 
Warning[205]: Found directive in column 1. (end)
                      00009 end
MPASM 03.70 Released                                    E.ASM   10-23-2004  14:51:04         PAGE  2

んー やっぱり変わらないので、これでいけそうかも。ぼちぼち出かけるので、帰宅したらROMに焼いてみよう。