58 lines
507 B
Plaintext
58 lines
507 B
Plaintext
Lbl BF
|
|
r₁→P
|
|
r₂→I
|
|
L₁→D
|
|
Fill(D,768,0)
|
|
|
|
While {P}
|
|
{P}→C
|
|
If C='+'
|
|
{D}++
|
|
ElseIf C='-'
|
|
{D}--
|
|
ElseIf C='>'
|
|
D++
|
|
ElseIf C='<'
|
|
D--
|
|
ElseIf C='.'
|
|
Disp {D}▶Char
|
|
ElseIf C=','
|
|
{I}→{D}
|
|
I++
|
|
ElseIf C='['?{D}=0
|
|
NEXT(P)→P
|
|
ElseIf C=']'
|
|
PREV(P)→P
|
|
End
|
|
P++
|
|
End
|
|
Return
|
|
|
|
Lbl NEXT
|
|
r₁++
|
|
1→S
|
|
While S
|
|
If {r₁}='['
|
|
S++
|
|
ElseIf {r₁}=']'
|
|
S--
|
|
End
|
|
r₁++
|
|
End
|
|
r₁
|
|
Return
|
|
|
|
Lbl PREV
|
|
r₁--
|
|
1→S
|
|
While S
|
|
If {r₁}=']'
|
|
S++
|
|
ElseIf {r₁}='['
|
|
S--
|
|
End
|
|
r₁--
|
|
End
|
|
r₁
|
|
Return
|