fix signed division example
This commit is contained in:
parent
230eb91c74
commit
d18c563187
|
@ -66,8 +66,11 @@ Other instructions will not handle "negative" integers correctly:
|
||||||
way to handle this is to make both values non-negative, do unsigned
|
way to handle this is to make both values non-negative, do unsigned
|
||||||
division (i.e. DIV) and then set the correct sign at the end.
|
division (i.e. DIV) and then set the correct sign at the end.
|
||||||
|
|
||||||
|
@abs ( x^ -- abs-x^ sign^ )
|
||||||
|
DUP #7f GTH #fe MUL INC STHk MUL STHr JMP2r
|
||||||
|
|
||||||
@signed-div ( x^ y^ -- x/y^ )
|
@signed-div ( x^ y^ -- x/y^ )
|
||||||
DUP2 #8080 AND2 EQU STH DIV STHr ?&same #ff MUL &same JMP2r
|
abs STH SWP abs STH SWP DIV MULr STHr MUL JMP2r
|
||||||
|
|
||||||
Be careful! The smallest negative value (-128 for bytes, -32768 for shorts)
|
Be careful! The smallest negative value (-128 for bytes, -32768 for shorts)
|
||||||
has no corresponding positive value. This means that some operations will
|
has no corresponding positive value. This means that some operations will
|
||||||
|
|
Loading…
Reference in New Issue