@ +1 should remain +1 SSSTN | PUSH +1 NSTTSSSTN | JSR > 10001 (abs) NSTTTTTSTN | JSR > 111101 (debug:printsignednumber) @ -1 should become +1 SSTTN | PUSH -1 NSTTSSSTN | JSR > 10001 (abs) NSTTTTTSTN | JSR > 111101 (debug:printsignednumber) @ 0 should remain 0 SSSSN | PUSH 0 NSTTSSSTN | JSR > 10001 (abs) NSTTTTTSTN | JSR > 111101 (debug:printsignednumber) @ Test the most negative number. @ It is impossible to return the true absolute value but should return zero. SSSTN | PUSH +1 SSSTTTTTTN | PUSH +63 NSTTSTTSTN | JSR > 101101 (lshift) NSTTSSSTN | JSR > 10001 (abs) NSTTTTTSTN | JSR > 111101 (debug:printsignednumber) NNN | DIE #include #include #include