diff --git a/math-notes.txt b/math-notes.txt index 3f25a25..be67b2e 100644 --- a/math-notes.txt +++ b/math-notes.txt @@ -66,11 +66,11 @@ Other instructions will not handle "negative" integers correctly: 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. - @abs ( x^ -- abs-x^ sign^ ) + @abs-sign ( x^ -- abs-x^ sign^ ) DUP #7f GTH #fe MUL INC STHk MUL STHr JMP2r @signed-div ( x^ y^ -- x/y^ ) - abs STH SWP abs STH SWP DIV MULr STHr MUL JMP2r + abs-sign STH SWP abs-sign STH SWP DIV MULr STHr MUL JMP2r Be careful! The smallest negative value (-128 for bytes, -32768 for shorts) has no corresponding positive value. This means that some operations will