diff --git a/SRC/XB2.HAS b/SRC/XB2.HAS index 8cebf48..c38576e 100644 --- a/SRC/XB2.HAS +++ b/SRC/XB2.HAS @@ -3433,8 +3433,9 @@ Variable_clr_sub: move.l a1,(a2) move.w (a0)+,d0 * int addq.w #1,d0 - lsl.w #2,d0 - adda.w d0,a1 + ext.l d0 + lsl.l #2,d0 + adda.l d0,a1 * 個数大でも符号反転しないよう32bit (GH#2同種) movea.l Fstr(sp),a2 move.l a1,(a2) @@ -3449,14 +3450,16 @@ Variable_clr_sub: move.w (a0)+,d0 * char addq.w #1+3,d0 andi.w #$fffc,d0 - adda.w d0,a1 + ext.l d0 + adda.l d0,a1 * 個数大でも符号反転しないよう32bit (GH#2同種) movea.l Ffloat(sp),a2 move.l a1,(a2) move.w (a0)+,d0 * float addq.w #1,d0 - lsl.w #3,d0 - adda.w d0,a1 + ext.l d0 + lsl.l #3,d0 + adda.l d0,a1 * 個数大でも符号反転しないよう32bit (GH#2同種) bra @f