(brainfuck.tal) Minor cleanup
This commit is contained in:
parent
7d74fa95f0
commit
92b5624e2f
|
@ -28,24 +28,21 @@
|
||||||
|
|
||||||
BRK
|
BRK
|
||||||
|
|
||||||
(
|
|
||||||
> Move the pointer to the right
|
|
||||||
< Move the pointer to the left
|
|
||||||
+ Increment the memory cell at the pointer
|
|
||||||
- Decrement the memory cell at the pointer
|
|
||||||
[ Jump past the matching ] if the cell at the pointer is 0
|
|
||||||
] Jump back to the matching [ if the cell at the pointer is nonzero
|
|
||||||
, Input a character and store it in the cell at the pointer
|
|
||||||
. Output the character signified by the cell at the pointer )
|
|
||||||
|
|
||||||
@op ( op -- )
|
@op ( op -- )
|
||||||
|
|
||||||
|
( Move the pointer to the right )
|
||||||
LIT '> !~ ,&movr JCN [ .pointer LDZ2k INC2 ROT STZ2 POP RTN ] &movr
|
LIT '> !~ ,&movr JCN [ .pointer LDZ2k INC2 ROT STZ2 POP RTN ] &movr
|
||||||
|
( Move the pointer to the left )
|
||||||
LIT '< !~ ,&movl JCN [ .pointer LDZ2k DEC2 ROT STZ2 POP RTN ] &movl
|
LIT '< !~ ,&movl JCN [ .pointer LDZ2k DEC2 ROT STZ2 POP RTN ] &movl
|
||||||
|
( Increment the memory cell at the pointer )
|
||||||
LIT '+ !~ ,&incr JCN [ .pointer LDZ2 STH2k LDA INC STH2r STA POP RTN ] &incr
|
LIT '+ !~ ,&incr JCN [ .pointer LDZ2 STH2k LDA INC STH2r STA POP RTN ] &incr
|
||||||
|
( Decrement the memory cell at the pointer )
|
||||||
LIT '- !~ ,&decr JCN [ .pointer LDZ2 STH2k LDA DEC STH2r STA POP RTN ] &decr
|
LIT '- !~ ,&decr JCN [ .pointer LDZ2 STH2k LDA DEC STH2r STA POP RTN ] &decr
|
||||||
|
( Output the character signified by the cell at the pointer )
|
||||||
LIT '. !~ ,&emit JCN [ .pointer LDZ2 LDA EMIT POP RTN ] &emit
|
LIT '. !~ ,&emit JCN [ .pointer LDZ2 LDA EMIT POP RTN ] &emit
|
||||||
|
( Jump past the matching ] if the cell at the pointer is 0 )
|
||||||
LIT '[ !~ ,&next JCN [ POP ,goto-next JSR RTN ] &next
|
LIT '[ !~ ,&next JCN [ POP ,goto-next JSR RTN ] &next
|
||||||
|
( Jump back to the matching [ if the cell at the pointer is nonzero )
|
||||||
LIT '] !~ ,&prev JCN [ POP ,goto-back JSR RTN ] &prev
|
LIT '] !~ ,&prev JCN [ POP ,goto-back JSR RTN ] &prev
|
||||||
POP
|
POP
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue