stack-machine/asm/logic-test.txt

107 lines
1.3 KiB
Plaintext

include "include/memory-map.txt"
_start:
jump main
include "lib/rs232.txt"
main:
immed 65
dup
call write_char #A 65
immed 1
add
dup
call write_char #B 66
immed -1
sub
dup
call write_char #C 67
immed -1
rshift
immed 66
sub
dup
call write_char #D 68
immed 0
over
sub
immed -1
xor
immed 2
add
dup
call write_char #E 69
immed 2
add
dup
immed 70
nip
call write_char #F 70
dup
call write_char #G 71
loop0:
immed 1
add
dup
call write_char #H-J 72-74
dup
immed 74
sub
jump loop0 rel lt drop
immed 1
add
call write_char #K 75
immed 76
dup
call write_char #L 76
loop1:
immed 1
add
dup
call write_char #M-N 77-78
immed 78
over
sub
jump loop1 rel gt drop
immed 1
or
dup
call write_char #O 79
immed 0b1110000
and
immed 0b10000
or
dup
call write_char #P 80
dup
immed 2
add
push
immed 1
add
call write_char #Q 81
pop
dup
call write_char #R 82
pushpc
pushpc
immed 15
push
rdrop
pop
pop
sub
add
dup
call write_char #S 83
drop
call newline
# Echo input until reset / power-off
echo:
call read_char
call write_char
jump echo rel