tmori / athrill-target

athrill target dependent codes

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

stx/stbで負の値を扱った場合、符号拡張がされていない

ytoi opened this issue · comments

stxで負の値を扱った場合に正しく符号拡張されずにレジスタに入る。

stx r10

で実行した際のログは以下のように出る。
0x16a8: SXH r10(-1):65535

本来符号拡張されているので、後ろの値は2^16-1ではなく、2^32-1にならないといけない。

変数宣言しているtmpがuint16で定義されていて、その値で書き戻していたのが間違い。
同様の不具合がsxbにもあったので、それも修正。

65535を入れてprint分を入れてもマイナス表示ならなかったことからopコード側を調査。