Loading basic_op/basop32.c +13 −0 Original line number Diff line number Diff line Loading @@ -519,14 +519,22 @@ Word16 shl (Word16 var1, Word16 var2) { | range : 0xffff 8000 <= var_out <= 0x0000 7fff. | |___________________________________________________________________________| */ #ifdef BASOP_NOGLOB Word16 shr_o (Word16 var1, Word16 var2, Flag *Overflow) { #else /* BASOP_NOGLOB */ Word16 shr (Word16 var1, Word16 var2) { #endif /* BASOP_NOGLOB */ Word16 var_out; if (var2 < 0) { if (var2 < -16) var2 = -16; var2 = -var2; #ifdef BASOP_NOGLOB var_out = shl_o (var1, var2, Overflow); #else /* BASOP_NOGLOB */ var_out = shl (var1, var2); #endif /* BASOP_NOGLOB */ #if (WMOPS) multiCounter[currCounter].shl--; Loading @@ -549,6 +557,11 @@ Word16 shr (Word16 var1, Word16 var2) { return (var_out); } #ifdef BASOP_NOGLOB Word16 shr (Word16 var1, Word16 var2) { return shr_o (var1, var2, NULL); } #endif /* BASOP_NOGLOB */ /*___________________________________________________________________________ | | Loading basic_op/basop32.h +1 −0 Original line number Diff line number Diff line Loading @@ -148,6 +148,7 @@ Word32 L_msu0 (Word32 L_v3, Word16 v1, Word16 v2); /* 32-bit Msu w/o shift Word16 add_o (Word16 var1, Word16 var2, Flag * Overflow); Word16 sub_o (Word16 var1, Word16 var2, Flag * Overflow); Word16 shl_o (Word16 var1, Word16 var2, Flag * Overflow); Word16 shr_o (Word16 var1, Word16 var2, Flag * Overflow); Word16 mult_o (Word16 var1, Word16 var2, Flag * Overflow); Word32 L_mult_o (Word16 var1, Word16 var2, Flag * Overflow); Word16 round_fx_o (Word32 L_var1, Flag * Overflow); Loading Loading
basic_op/basop32.c +13 −0 Original line number Diff line number Diff line Loading @@ -519,14 +519,22 @@ Word16 shl (Word16 var1, Word16 var2) { | range : 0xffff 8000 <= var_out <= 0x0000 7fff. | |___________________________________________________________________________| */ #ifdef BASOP_NOGLOB Word16 shr_o (Word16 var1, Word16 var2, Flag *Overflow) { #else /* BASOP_NOGLOB */ Word16 shr (Word16 var1, Word16 var2) { #endif /* BASOP_NOGLOB */ Word16 var_out; if (var2 < 0) { if (var2 < -16) var2 = -16; var2 = -var2; #ifdef BASOP_NOGLOB var_out = shl_o (var1, var2, Overflow); #else /* BASOP_NOGLOB */ var_out = shl (var1, var2); #endif /* BASOP_NOGLOB */ #if (WMOPS) multiCounter[currCounter].shl--; Loading @@ -549,6 +557,11 @@ Word16 shr (Word16 var1, Word16 var2) { return (var_out); } #ifdef BASOP_NOGLOB Word16 shr (Word16 var1, Word16 var2) { return shr_o (var1, var2, NULL); } #endif /* BASOP_NOGLOB */ /*___________________________________________________________________________ | | Loading
basic_op/basop32.h +1 −0 Original line number Diff line number Diff line Loading @@ -148,6 +148,7 @@ Word32 L_msu0 (Word32 L_v3, Word16 v1, Word16 v2); /* 32-bit Msu w/o shift Word16 add_o (Word16 var1, Word16 var2, Flag * Overflow); Word16 sub_o (Word16 var1, Word16 var2, Flag * Overflow); Word16 shl_o (Word16 var1, Word16 var2, Flag * Overflow); Word16 shr_o (Word16 var1, Word16 var2, Flag * Overflow); Word16 mult_o (Word16 var1, Word16 var2, Flag * Overflow); Word32 L_mult_o (Word16 var1, Word16 var2, Flag * Overflow); Word16 round_fx_o (Word32 L_var1, Flag * Overflow); Loading