| 1 | @ +1 should remain +1 |
| 2 | SSSTN | PUSH +1 |
| 3 | NSTTSSSTN | JSR > 10001 (abs) |
| 4 | NSTTSSTN | JSR > 1001 (print number from stack) |
| 5 | |
| 6 | @ -1 should become +1 |
| 7 | SSTTN | PUSH -1 |
| 8 | NSTTSSSTN | JSR > 10001 (abs) |
| 9 | NSTTSSTN | JSR > 1001 (print number from stack) |
| 10 | |
| 11 | @ 0 should remain 0 |
| 12 | SSSSN | PUSH 0 |
| 13 | NSTTSSSTN | JSR > 10001 (abs) |
| 14 | NSTTSSTN | JSR > 1001 (print number from stack) |
| 15 | |
| 16 | @ Test the most negative number. |
| 17 | @ It is impossible to return the true absolute value but should return zero. |
| 18 | SSSTN | PUSH +1 |
| 19 | SSSTTTTTTN | PUSH +63 |
| 20 | NSTTSTTSTN | JSR > 101101 (lshift) |
| 21 | NSTTSSSTN | JSR > 10001 (abs) |
| 22 | NSTTSSTN | JSR > 1001 (print number from stack) |
| 23 | NNN | DIE |
| 24 | |
| 25 | #include <logic.pvvs> |
| 26 | #include <stdio.pvvs> |