HAS087AD.DOC
┌──────────────────────────────────┐
│ │
│ HAS060.X v3.09+87の不具合の情報 │
│ 2000.06.27 M.Kamada │
└──────────────────────────────────┘
これはHAS060.X v3.09+87に添付されている『既知の不具合』(KNOWNBUG.DOC)
に掲載されていない、最近見つかったHAS060.X v3.09+87の不具合の情報です。
━━━━━━━━━━━━━━━
HAS.X v3.09から存在した不具合
━━━━━━━━━━━━━━━
以下の不具合はHAS.X v3.09に存在したものですが、HAS060.X v3.09+87でも修
正できていません。
●BRA.L/BSR.L/Bcc.Lの後に.CPU 68000があるとアセンブルできない
BRA.Lの後に.CPU 68000があってアセンブルできない例
┌────────────────────────────
1│ .CPU 68020
2│FOO:
3│ BRA.L FOO
4│ .CPU 68000
この例のプログラムは3行目のBRA.Lに対して「オフセットが範囲外です」
(HAS.X v3.09では「illegal relative error」)が通知されてアセンブルでき
ません。4行目の.CPU 68000を消すとアセンブルできるようになります。
●.DC.W 1.0は通るのに.DC.B 1.0はエラーになる
例
┌────────────────────────────
1│ .DC.W 1.0
2│ .DC.B 1.0 ;不具合発生
上の例では、1行目は通るのに2行目はエラーになります。
原因は、pseudo.sにある~~dcの.b→.sの読み替えとexpr.sにある
convrpnnum_realのエラー判定が衝突しているためだと思われます。
━━━━━━━━━━━
HAS060.Xに特有の不具合
━━━━━━━━━━━
以下の不具合は、HAS060.Xに特有のものです。
●.OFFSYMの不具合
例
┌────────────────────────────
1│ .OFFSYM 0
2│ .OFFSET 0
上の例では、バスエラーが発生します。
.OFFSYMから直接.OFFSETに遷移するとき、.OFFSYMにシンボルの指定がないと
きの処理が間違っていました。次の1バイトを修正して下さい(オフセットはフ
ァイルの先頭から)。
+$7334: $66 → $6E
(EOF)