fix signed division example

This commit is contained in:
~d6 2023-12-29 15:41:13 -05:00
parent 230eb91c74
commit d18c563187
1 changed files with 4 additions and 1 deletions

View File

@ -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