• 検索結果がありません。

ライン・アセンブルを行う

2. 機  能

2.6 プログラムの表示と変更

2.6.4 ライン・アセンブルを行う

図 2.68 逆アセンブル・データ保存の際の出力イメージ

備考 1. [ファイル]メニュー→[逆アセンブル・データを保存]の選択によりパネルの内容を上書き保存 する場合,逆アセンブル パネル(逆アセンブル1~4)はそれぞれ個別に扱われます。

また,保存範囲についても,前回指定したアドレス範囲で保存されます。

備考 2. [ファイル]メニュー→[印刷...]を選択することにより,現在このパネルで表示しているの画 像イメージを印刷することができます。

2.6.4.2 命令コードを編集する

2.6.4.1 命令を編集する

命令を編集する場合は,次の手順で操作を行ってください。

(1) 編集モードへの切り替え

対象命令をダブルクリックするか,または対象命令にキャレットを移動した状態でコンテキスト・メニューの

[命令の編集]を選択すると,編集対象が編集モードに切り替わります。

(2) 命令の編集

キーボードから直接命令の文字列を編集します。

(3) メモリへの書き込み

編集終了後,[Enter]キーを押下することにより,変更された命令が自動的にライン・アセンブルされ,コード がメモリに書き込まれます。

ただし,この際に,変更結果が不正な命令となる場合は,編集された文字列が赤色で表示され,メモリへの書き 込みは行いません。

なお,表示されている逆アセンブル結果を別の命令で上書きすることによりメモリに空きが生じた場合,次の例のよ うに自動的にNOP命令でバイト数を補います。

例 1. 2行目のMOVW命令(4バイト命令)をDEC命令(1バイト命令)で上書きした場合

例 2. 1行目のADDW命令(3バイト命令)をMOVW命令(4バイト命令)で上書きした場合

2.6.4.2 命令コードを編集する

命令コードを編集する場合は,次の手順で操作を行ってください。

(1) 編集モードへの切り替え

対象命令コードをダブルクリックするか,または対象命令コードにキャレットを移動した状態で表示されるコン テキスト・メニューの[コードの編集]を選択すると,編集対象が編集モードに切り替わります。

(2) 命令コードの編集

キーボードから直接命令コードの文字列を編集します。

(3) メモリへの書き込み

編集終了後,[Enter]キーを押下することにより,命令コードがメモリに書き込まれます。

ただし,この際に,変更結果が不正な命令となる場合は,編集された文字列が赤色で表示され,メモリへの書き 込みは行いません。

編集前 0461CF ADDW AX,#0CF61H CBF820FE MOVW SP,#0FE20H FC8E1800 CALL !!_funcA 53C0 MOV B, #0C0H

編集後 0461CF ADDW AX,#0CF61H 93 DEC B

00 NOP 00 NOP 00 NOP

FC8E1800 CALL !!_funcA 53C0 MOV B, #0C0H

編集前 0461CF ADDW AX,#0CF61H CBF820FE MOVW SP,#0FE20H FC8E1800 CALL !!_funcA 53C0 MOV B, #0C0H

編集後 CBF820FE MOVW SP, #0FE20H 00 NOP

00 NOP 00 NOP

FC8E1800 CALL !!_funcA 53C0 MOV B, #0C0H

命令コードがメモリに書き込まれた場合は,逆アセンブル結果も同時に更新されます。