Updated tests for `lshift` subroutine.
[vvhitespace] / stdlib_tests / 3002_lshift.pvvs
... / ...
CommitLineData
1@ Shift by zero.
2SSSTN | PUSH +1
3SSSSN | PUSH 0
4NSTTSTTSTN | JSR > 101101 (lshift)
5NSTTSSTN | JSR > 1001 (print number from stack)
6
7@ Shift by one.
8SSSTN | PUSH +1
9SSSTN | PUSH +1
10NSTTSTTSTN | JSR > 101101 (lshift)
11NSTTSSTN | JSR > 1001 (print number from stack)
12
13@ Shift by 62.
14SSSTN | PUSH +1
15SSSTTTTTSN | PUSH +62
16NSTTSTTSTN | JSR > 101101 (lshift)
17NSTTSSTN | JSR > 1001 (print number from stack)
18
19@ Shift by 63.
20SSSTN | PUSH +1
21SSSTTTTTTN | PUSH +63
22NSTTSTTSTN | JSR > 101101 (lshift)
23NSTTSSTN | JSR > 1001 (print number from stack)
24
25@ Shift all ones until a single one remains.
26SSTTN | PUSH -1
27SSSTTTTTTN | PUSH +63
28NSTTSTTSTN | JSR > 101101 (lshift)
29NSTTSSTN | JSR > 1001 (print number from stack)
30
31@ Shift all ones to all zeros.
32SSTTN | PUSH -1
33SSSTSSSSSSN | PUSH +64
34NSTTSTTSTN | JSR > 101101 (lshift)
35NSTTSSTN | JSR > 1001 (print number from stack)
36
37@ All done.
38NNN | DIE
39
40#include <logic.pvvs>
41#include <stdio.pvvs>