コンパイラの新機能「外部変数アクセス最適化」に伴う修正をアセンブラに加えました。
制限事項の対策
- ローカルラベル、.ASSIGN定義シンボル
ローカルラベル(?で始まるラベル)、.ASSIGN定義シンボル使用時にコード不正になる不具合を解決しました。
[例]
.IMPORT TRGET
.SECTION CD1,CODE,ALIGN=4
MOV.L #(TRGET-?LABEL),R0 ;オペランドが相対値のラベルとローカルラベルの減算値
?LABEL:
発生条件:
下の条件のいずれかを満たす時、発生します。
- .ASSIGNラベル、ローカルラベルへのJMP/JSR分岐を記述。
- .ASSIGNラベル、ローカルラベルと、外部シンボル(定義/参照)との式を記述。
- マクロ展開不正
マクロ定義内に漢字の「能」がある場合、マクロ展開時にエラー620(UNDEFINED PREPROCESSOR VARIABL)が発生する不具合を解決しました。
[例]
.MACRO M_SVC_JUMP
XOR.L ER0,ER0 ; 機能コード FETCH <-"能"を含んでいる
MOV.W @_OP_SYS_PRM,R0 ;
AND.W #h'07FFF,R0 ; bit 15(機能種別) mask
.ENDM
;
M_SVC_JUMP ; マクロ展開
発生条件:
マクロ定義内(コメントも含む)に、次の文字(記号、カタカナ、ロシア文字、アラビア数字、漢字)が存在する場合、発生します。
- [ 記号 ] ―
- [ カタカナ ] ソ
- [ ロシア文字 ] Ы
- [ アラビア数字 ] Ⅸ
- [ 漢字 ] 噂,浬,欺,圭,構,蚕,十,申,曾,箪,貼,能,表,暴,予,禄,兔,喀,媾,彌,拿,杤,歃
SHアセンブラ Ver.5.0情報
バージョンアップ概要
- 標準ELF/DWARF2フォーマット対応
- 制限値の緩和
- ディレクトリ名、ファイル名にハイフン(-)指定不可の制限を解除
- logo/nologoオプション追加