version 1.1, 1997/05/29 19:43:10
|
version 1.2, 1998/03/08 23:47:00
|
Line 2
|
Line 2
|
|
|
$20 allot |
$20 allot |
|
|
Label start ahere $28 + , jmp , |
Label start ahere $21 + , jmp , |
|
|
Label #0 0 , |
Label #0 0 , |
Label #1 1 , |
Label #1 1 , |
Label #2 2 , |
|
Label #4 4 , |
|
Label #FF $FF , |
|
Label #$8000 $8000 , |
|
Label #-1 -1 , |
|
Label RP 0 , |
Label RP 0 , |
Label SP 0 , |
Label SP 0 , |
Label UP 0 , |
Label UP 0 , |
Label IP 0 , |
Label IP 0 , |
Label W 0 , |
Label W 0 , |
|
Label t0 0 , |
|
Label t1 0 , |
|
Label t2 0 , |
|
Label t3 0 , |
|
Label srcx 0 , |
|
Label dstx 0 , |
|
|
|
\ Up to here it's self modified |
|
\ If there's a gap here, add a jump to Next after dstx |
|
|
Label Next #0 , add , |
Label Next #0 , add , |
IP , shr , |
IP , shr , |
sym Next |
sym Next |
accu , 0 m , |
*accu , W , |
0 r , W , |
|
#1 , add , |
#1 , add , |
accu , add , |
accu , add , |
accu , IP , |
accu , IP , |
Label Next1 #0 , add , |
Label Next1 W , shr , |
W , shr , |
*accu , shr , |
accu , 0 m , |
|
#0 , add , |
|
0 r , shr , |
|
accu , jmp , |
accu , jmp , |
Label "Next" Next , |
Label "Next" Next , |
Label "Next1" Next1 , |
Label "Next1" Next1 , |
|
Label "xmov" srcx , |
|
|
|
Label #2 2 , |
|
Label #4 4 , |
|
Label #FF $FF , |
|
Label #$8000 $8000 , |
|
Label #-1 -1 , |
|
|
Label "0" '< , |
Label "0" '< , |
Label "1" '1 , |
Label "1" '1 , |
Line 71 Code: :docol sym docol
|
Line 79 Code: :docol sym docol
|
RP , accu , |
RP , accu , |
#1 , sub , |
#1 , sub , |
accu , RP , |
accu , RP , |
accu , 0 m , |
IP , *accu , |
IP , 0 r , |
|
W , accu , |
W , accu , |
#4 , add , |
#4 , add , |
accu , IP , |
accu , IP , |
Line 81 end-code
|
Line 88 end-code
|
|
|
Code: :docon sym docon |
Code: :docon sym docon |
\ "1" , tx , |
\ "1" , tx , |
SP , accu , |
|
#1 , sub , |
|
accu , SP , |
|
accu , 0 m , |
|
#0 , add , |
#0 , add , |
W , shr , |
W , shr , |
#2 , add , |
#2 , add , |
accu , 1 m , |
*accu , t0 , |
1 r , 0 r , |
SP , accu , |
|
#1 , sub , |
|
accu , SP , |
|
t0 , *accu , |
"Next" , jmp , |
"Next" , jmp , |
end-code |
end-code |
|
|
Code: :dovar sym dovar |
Code: :dovar sym dovar |
\ "2" , tx , |
\ "2" , tx , |
|
W , accu , |
|
#4 , add , |
|
accu , t0 , |
SP , accu , |
SP , accu , |
#1 , sub , |
#1 , sub , |
accu , SP , |
accu , SP , |
accu , 0 m , |
t0 , *accu , |
W , accu , |
|
#4 , add , |
|
accu , 0 r , |
|
"Next" , jmp , |
"Next" , jmp , |
end-code |
end-code |
|
|
Code: :douser sym douser |
Code: :douser sym douser |
\ "3" , tx , |
\ "3" , tx , |
SP , accu , |
|
#1 , sub , |
|
accu , SP , |
|
accu , 0 m , |
|
#0 , add , |
#0 , add , |
W , shr , |
W , shr , |
#2 , add , |
#2 , add , |
accu , 1 m , |
*accu , accu , |
1 r , accu , |
|
UP , add , |
UP , add , |
accu , 0 r , |
accu , t0 , |
|
SP , accu , |
|
#1 , sub , |
|
accu , SP , |
|
t0 , *accu , |
"Next" , jmp , |
"Next" , jmp , |
end-code |
end-code |
|
|
Line 126 Code: :dodefer sym dodefer
|
Line 131 Code: :dodefer sym dodefer
|
#0 , add , |
#0 , add , |
W , shr , |
W , shr , |
#2 , add , |
#2 , add , |
accu , 0 m , |
*accu , W , |
0 r , W , |
|
"Next1" , jmp , |
"Next1" , jmp , |
end-code |
end-code |
|
|
Line 136 Code: :dofield sym dofield
|
Line 140 Code: :dofield sym dofield
|
#0 , add , |
#0 , add , |
W , shr , |
W , shr , |
#2 , add , |
#2 , add , |
accu , 0 m , |
*accu , accu , |
0 r , accu , |
accu , t0 , |
SP , 0 m , |
SP , accu , |
0 r , add , |
*accu , accu , |
SP , 0 m , |
t0 , add , |
accu , 0 r , |
accu , t0 , |
|
SP , accu , |
|
t0 , *accu , |
"Next" , jmp , |
"Next" , jmp , |
end-code |
end-code |
|
|
Line 150 Code: :dodoes sym dodoes
|
Line 156 Code: :dodoes sym dodoes
|
RP , accu , |
RP , accu , |
#1 , sub , |
#1 , sub , |
accu , RP , |
accu , RP , |
accu , 0 m , |
IP , *accu , |
ip , 0 r , |
W , accu , |
|
#4 , add , |
|
accu , t0 , |
SP , accu , |
SP , accu , |
#1 , sub , |
#1 , sub , |
accu , SP , |
accu , SP , |
accu , 0 m , |
t0 , *accu , |
W , accu , |
t0 , accu , |
#4 , add , |
|
accu , 0 r , |
|
#2 , sub , |
#2 , sub , |
#0 , add , |
#0 , add , |
accu , shr , |
accu , shr , |
accu , 0 m , |
*accu , IP , |
0 r , IP , |
|
"Next" , jmp , |
"Next" , jmp , |
end-code |
end-code |
|
|
Code ! sym ! |
Code ! sym ! |
\ "A" , tx , |
\ "A" , tx , |
SP , accu , |
SP , accu , |
accu , 0 m , |
*accu , t0 , |
#1 , add , |
#1 , add , |
accu , 1 m , |
*accu , t1 , |
#1 , add , |
#1 , add , |
accu , SP , |
accu , SP , |
#0 , add , |
t0 , shr , |
0 r , shr , |
t1 , *accu , |
accu , 2 m , |
|
1 r , 2 r , |
|
"Next" , jmp , |
"Next" , jmp , |
end-code |
end-code |
|
|
Code @ sym @ |
Code @ sym @ |
\ "B" , tx , |
\ "B" , tx , |
#0 , add , |
#0 , add , |
SP , 0 m , |
SP , accu , |
SP , 1 m , |
*accu , shr , |
1 r , shr , |
*accu , t0 , |
accu , 2 m , |
SP , accu , |
2 r , 0 r , |
t0 , *accu , |
"Next" , jmp , |
"Next" , jmp , |
end-code |
end-code |
|
|
Code x! sym x! |
Code x! sym x! |
\ "C" , tx , |
\ "C" , tx , |
SP , accu , |
SP , accu , |
accu , 0 m , |
*accu , dstx , |
#1 , add , |
#1 , add , |
accu , 1 m , |
accu , srcx , |
#1 , add , |
#1 , add , |
accu , SP , |
accu , SP , |
0 r , 2 m , |
"xmov" , jmp , |
1 r , 2 r , |
|
"Next" , jmp , |
|
end-code |
end-code |
|
|
Code x@ sym x@ |
Code x@ sym x@ |
\ "D" , tx , |
\ "D" , tx , |
SP , 0 m , |
SP , accu , |
SP , 1 m , |
*accu , srcx , |
1 r , 2 m , |
accu , dstx , |
2 r , 0 r , |
"xmov" , jmp , |
"Next" , jmp , |
|
end-code |
end-code |
|
|
Code execute sym execute |
Code execute sym execute |
\ "E" , tx , |
\ "E" , tx , |
SP , accu , |
SP , accu , |
accu , 0 m , |
*accu , W , |
0 r , W , |
|
#1 , add , |
#1 , add , |
accu , SP , |
accu , SP , |
"Next1" , jmp , |
"Next1" , jmp , |
Line 228 end-code
|
Line 227 end-code
|
Code ;s sym ;s |
Code ;s sym ;s |
\ "F" , tx , |
\ "F" , tx , |
RP , accu , |
RP , accu , |
accu , 0 m , |
|
#1 , add , |
#1 , add , |
accu , RP , |
accu , RP , |
0 r , IP , |
#1 , sub , |
|
*accu , IP , |
"Next" , jmp , |
"Next" , jmp , |
end-code |
end-code |
|
|
Line 239 Code ?branch sym ?branch
|
Line 238 Code ?branch sym ?branch
|
\ "?" , tx , |
\ "?" , tx , |
#0 , add , |
#0 , add , |
IP , shr , |
IP , shr , |
accu , 0 m , |
accu , t0 , |
#1 , add , |
#1 , add , |
accu , add , |
accu , add , |
accu , IP , |
accu , IP , |
Line 252 Code ?branch sym ?branch
|
Line 251 Code ?branch sym ?branch
|
sym no-branch |
sym no-branch |
"Next" , jmp , |
"Next" , jmp , |
\ "+" , tx , |
\ "+" , tx , |
0 r , accu , |
t0 , accu , |
|
*accu , accu , |
Label >branch sym branch-o |
Label >branch sym branch-o |
IP , add , |
IP , add , |
#2 , sub , |
#2 , sub , |
Line 266 Code branch sym branch
|
Line 266 Code branch sym branch
|
\ "/" , tx , |
\ "/" , tx , |
#0 , add , |
#0 , add , |
IP , shr , |
IP , shr , |
accu , 0 m , |
*accu , accu , |
0 r , accu , |
|
IP , add , |
IP , add , |
accu , IP , |
accu , IP , |
"Next" , jmp , |
"Next" , jmp , |
Line 276 end-code
|
Line 275 end-code
|
Code (loop) sym (loop) |
Code (loop) sym (loop) |
#0 , add , |
#0 , add , |
IP , shr , |
IP , shr , |
accu , 0 m , |
*accu , t0 , |
#1 , add , |
#1 , add , |
accu , add , |
accu , add , |
accu , IP , |
accu , IP , |
RP , accu , |
RP , accu , |
accu , 1 m , |
*accu , t2 , |
accu , 2 m , |
|
#1 , add , |
#1 , add , |
accu , 3 m , |
*accu , t3 , |
2 r , accu , |
t2 , accu , |
#1 , add , |
#1 , add , |
accu , 1 r , |
accu , t1 , |
3 r , sub , |
RP , accu , |
|
t1 , *accu , |
|
t1 , accu , |
|
t3 , sub , |
"Next" , jz , |
"Next" , jz , |
0 r , accu , |
t0 , accu , |
"branch" , jmp , |
"branch" , jmp , |
end-code |
end-code |
|
|
Code xor sym xor |
Code xor sym xor |
\ "H" , tx , |
\ "H" , tx , |
SP , accu , |
SP , accu , |
accu , 0 m , |
*accu , t0 , |
#1 , add , |
#1 , add , |
accu , SP , |
accu , SP , |
accu , 1 m , |
*accu , accu , |
accu , 2 m , |
t0 , xor , |
0 r , accu , |
accu , t0 , |
1 r , xor , |
SP , accu , |
accu , 2 r , |
t0 , *accu , |
"Next" , jmp , |
"Next" , jmp , |
end-code |
end-code |
|
|
Code or sym or |
Code or sym or |
\ "I" , tx , |
\ "I" , tx , |
SP , accu , |
SP , accu , |
accu , 0 m , |
*accu , t0 , |
#1 , add , |
#1 , add , |
accu , SP , |
accu , SP , |
accu , 1 m , |
*accu , accu , |
accu , 2 m , |
t0 , or , |
0 r , accu , |
accu , t0 , |
1 r , or , |
SP , accu , |
accu , 2 r , |
t0 , *accu , |
"Next" , jmp , |
"Next" , jmp , |
end-code |
end-code |
|
|
Code and sym and |
Code and sym and |
\ "J" , tx , |
\ "J" , tx , |
SP , accu , |
SP , accu , |
accu , 0 m , |
*accu , t0 , |
#1 , add , |
#1 , add , |
accu , SP , |
accu , SP , |
accu , 1 m , |
*accu , accu , |
accu , 2 m , |
t0 , and , |
0 r , accu , |
accu , t0 , |
1 r , and , |
SP , accu , |
accu , 2 r , |
t0 , *accu , |
"Next" , jmp , |
"Next" , jmp , |
end-code |
end-code |
|
|
Code + sym + |
Code + sym + |
\ "K" , tx , |
\ "K" , tx , |
SP , accu , |
SP , accu , |
accu , 0 m , |
*accu , t0 , |
#1 , add , |
#1 , add , |
accu , SP , |
accu , SP , |
accu , 1 m , |
*accu , accu , |
accu , 2 m , |
t0 , add , |
0 r , accu , |
accu , t0 , |
1 r , add , |
SP , accu , |
accu , 2 r , |
t0 , *accu , |
"Next" , jmp , |
"Next" , jmp , |
end-code |
end-code |
|
|
Code - sym - |
Code - sym - |
\ "L" , tx , |
\ "L" , tx , |
SP , accu , |
SP , accu , |
accu , 0 m , |
*accu , t0 , |
#1 , add , |
#1 , add , |
accu , SP , |
accu , SP , |
accu , 1 m , |
*accu , accu , |
accu , 2 m , |
t0 , sub , |
0 r , accu , |
accu , t0 , |
1 r , subr , |
SP , accu , |
accu , 2 r , |
t0 , *accu , |
"Next" , jmp , |
"Next" , jmp , |
end-code |
end-code |
|
|
Code 2/ sym 2\/ |
Code 2/ sym 2\/ |
\ "M" , tx , |
\ "M" , tx , |
#0 , add , |
#0 , add , |
SP , 0 m , |
SP , accu , |
SP , 1 m , |
*accu , accu , |
0 r , accu , |
|
PC+6 , js , |
PC+6 , js , |
accu , shr , |
accu , shr , |
PC+6 , jmp , |
PC+6 , jmp , |
accu , shr , |
accu , shr , |
#$8000 , or , |
#$8000 , or , |
accu , 1 r , |
accu , t0 , |
|
SP , accu , |
|
t0 , *accu , |
"Next" , jmp , |
"Next" , jmp , |
end-code |
end-code |
|
|
Code 0= sym 0= |
Code 0= sym 0= |
SP , 0 m , |
SP , accu , |
SP , 1 m , |
*accu , accu , |
0 r , accu , |
|
ZF , accu , |
ZF , accu , |
#0 , subr , |
#1 , xor , |
accu , 1 r , |
#1 , sub , |
|
accu , t0 , |
|
SP , accu , |
|
t0 , *accu , |
"Next" , jmp , |
"Next" , jmp , |
end-code |
end-code |
|
|
Code 0<> sym 0<> |
Code 0<> sym 0<> |
SP , 0 m , |
SP , accu , |
SP , 1 m , |
*accu , accu , |
0 r , accu , |
|
ZF , accu , |
ZF , accu , |
#0 , subr , |
#1 , sub , |
#-1 , xor , |
accu , t0 , |
accu , 1 r , |
SP , accu , |
|
t0 , *accu , |
"Next" , jmp , |
"Next" , jmp , |
end-code |
end-code |
|
|
Code = sym = |
Code = sym = |
SP , accu , |
SP , accu , |
accu , 0 m , |
*accu , t0 , |
#1 , add , |
#1 , add , |
accu , SP , |
accu , SP , |
accu , 1 m , |
*accu , accu , |
accu , 2 m , |
t0 , sub , |
0 r , accu , |
|
1 r , sub , |
|
ZF , accu , |
ZF , accu , |
#0 , subr , |
#1 , xor , |
accu , 2 r , |
#1 , sub , |
|
accu , t0 , |
|
SP , accu , |
|
t0 , *accu , |
"Next" , jmp , |
"Next" , jmp , |
end-code |
end-code |
|
|
Code u< sym u< |
Code u< sym u< |
SP , accu , |
SP , accu , |
accu , 0 m , |
*accu , t0 , |
#1 , add , |
#1 , add , |
accu , SP , |
accu , SP , |
accu , 1 m , |
*accu , accu , |
accu , 2 m , |
t0 , sub , |
1 r , accu , |
|
0 r , sub , |
|
CF , accu , |
CF , accu , |
#0 , subr , |
#1 , xor , |
accu , 2 r , |
#1 , sub , |
|
accu , t0 , |
|
SP , accu , |
|
t0 , *accu , |
"Next" , jmp , |
"Next" , jmp , |
end-code |
end-code |
|
|
Code 1+ sym 1+ |
Code 1+ sym 1+ |
SP , 0 m , |
SP , accu , |
SP , 1 m , |
*accu , accu , |
0 r , accu , |
|
#1 , add , |
#1 , add , |
accu , 1 r , |
accu , t0 , |
|
SP , accu , |
|
t0 , *accu , |
"Next" , jmp , |
"Next" , jmp , |
end-code |
end-code |
|
|
Code cell+ sym cell+ |
Code cell+ sym cell+ |
SP , 0 m , |
SP , accu , |
SP , 1 m , |
*accu , accu , |
0 r , accu , |
|
#2 , add , |
#2 , add , |
accu , 1 r , |
accu , t0 , |
|
SP , accu , |
|
t0 , *accu , |
"Next" , jmp , |
"Next" , jmp , |
end-code |
end-code |
|
|
Line 452 Code 8<< sym 8<<
|
Line 460 Code 8<< sym 8<<
|
\ "T" , tx , |
\ "T" , tx , |
#0 , add , |
#0 , add , |
SP , accu , |
SP , accu , |
accu , 0 m , |
*accu , accu , |
0 r , accu , |
|
accu , add , |
accu , add , |
accu , add , |
accu , add , |
accu , add , |
accu , add , |
Line 462 Code 8<< sym 8<<
|
Line 469 Code 8<< sym 8<<
|
accu , add , |
accu , add , |
accu , add , |
accu , add , |
accu , add , |
accu , add , |
SP , 0 m , |
accu , t0 , |
accu , 0 r , |
SP , accu , |
|
t0 , *accu , |
"Next" , jmp , |
"Next" , jmp , |
end-code |
end-code |
|
|
Line 471 Code 8>> sym 8>>
|
Line 479 Code 8>> sym 8>>
|
\ "T" , tx , |
\ "T" , tx , |
#0 , add , |
#0 , add , |
SP , accu , |
SP , accu , |
Label c-even@ accu , 0 m , |
Label c-even@ *accu , shr , |
0 r , shr , |
|
accu , shr , |
accu , shr , |
accu , shr , |
accu , shr , |
accu , shr , |
accu , shr , |
Line 481 Label c-even@ accu , 0 m ,
|
Line 488 Label c-even@ accu , 0 m ,
|
accu , shr , |
accu , shr , |
accu , shr , |
accu , shr , |
#FF , and , |
#FF , and , |
SP , 0 m , |
accu , t0 , |
accu , 0 r , |
SP , accu , |
|
t0 , *accu , |
"Next" , jmp , |
"Next" , jmp , |
Label "c-even@" c-even@ , |
Label "c-even@" c-even@ , |
end-code |
end-code |
|
|
Code c@ sym c@ |
Code c@ sym c@ |
#0 , add , |
#0 , add , |
SP , 0 m , |
SP , accu , |
0 r , shr , |
*accu , shr , |
PC+4 , jc , |
PC+4 , jc , |
"c-even@" , jmp , |
"c-even@" , jmp , |
accu , 0 m , |
*accu , accu , |
0 r , accu , |
|
#FF , and , |
#FF , and , |
SP , 0 m , |
accu , t0 , |
accu , 0 r , |
SP , accu , |
|
t0 , *accu , |
"Next" , jmp , |
"Next" , jmp , |
|
|
Code 2* sym 2* |
Code 2* sym 2* |
\ "N" , tx , |
\ "N" , tx , |
SP , 0 m , |
SP , accu , |
SP , 1 m , |
*accu , accu , |
0 r , accu , |
|
accu , add , |
accu , add , |
accu , 1 r , |
accu , t0 , |
|
SP , accu , |
|
t0 , *accu , |
"Next" , jmp , |
"Next" , jmp , |
end-code |
end-code |
|
|
Code >r sym >r |
Code >r sym >r |
\ "O" , tx , |
\ "O" , tx , |
RP , accu , |
|
#1 , sub , |
|
accu , RP , |
|
accu , 0 m , |
|
SP , accu , |
SP , accu , |
accu , 1 m , |
*accu , t0 , |
#1 , add , |
#1 , add , |
accu , SP , |
accu , SP , |
1 r , 0 r , |
RP , accu , |
|
#1 , sub , |
|
accu , RP , |
|
t0 , *accu , |
"Next" , jmp , |
"Next" , jmp , |
end-code |
end-code |
|
|
Code r> sym r> |
Code r> sym r> |
\ "P" , tx , |
\ "P" , tx , |
RP , accu , |
RP , accu , |
accu , 0 m , |
*accu , t0 , |
#1 , add , |
#1 , add , |
accu , RP , |
accu , RP , |
SP , accu , |
SP , accu , |
#1 , sub , |
#1 , sub , |
accu , SP , |
accu , SP , |
accu , 1 m , |
t0 , *accu , |
0 r , 1 r , |
|
"Next" , jmp , |
"Next" , jmp , |
end-code |
end-code |
|
|
Code sp@ sym sp@ |
Code sp@ sym sp@ |
\ "Q" , tx , |
\ "Q" , tx , |
SP , accu , |
SP , accu , |
|
accu , add , |
|
accu , t0 , |
|
SP , accu , |
#1 , sub , |
#1 , sub , |
accu , 0 m , |
|
accu , SP , |
accu , SP , |
#1 , add , |
t0 , *accu , |
accu , add , |
|
accu , 0 r , |
|
"Next" , jmp , |
"Next" , jmp , |
end-code |
end-code |
|
|
Code sp! sym sp! |
Code sp! sym sp! |
#0 , add , |
#0 , add , |
SP , 0 m , |
SP , accu , |
0 r , shr , |
*accu , shr , |
accu , SP , |
accu , SP , |
"Next" , jmp , |
"Next" , jmp , |
end-code |
end-code |
|
|
Code rp@ sym rp@ |
Code rp@ sym rp@ |
\ "R" , tx , |
\ "R" , tx , |
|
RP , accu , |
|
accu , add , |
|
accu , t0 , |
SP , accu , |
SP , accu , |
#1 , sub , |
#1 , sub , |
accu , 0 m , |
|
accu , SP , |
accu , SP , |
RP , accu , |
t0 , *accu , |
accu , add , |
|
accu , 0 r , |
|
"Next" , jmp , |
"Next" , jmp , |
end-code |
end-code |
|
|
Code rp! sym rp! |
Code rp! sym rp! |
SP , accu , |
SP , accu , |
accu , 0 m , |
*accu , t0 , |
#1 , add , |
#1 , add , |
accu , SP , |
accu , SP , |
#0 , add , |
#0 , add , |
0 r , shr , |
t0 , shr , |
accu , RP , |
accu , RP , |
"Next" , jmp , |
"Next" , jmp , |
end-code |
end-code |
Line 591 end-code
|
Line 598 end-code
|
|
|
Code lit sym lit |
Code lit sym lit |
\ "#" , tx , |
\ "#" , tx , |
SP , accu , |
|
#1 , sub , |
|
accu , SP , |
|
#0 , add , |
|
accu , 0 m , |
|
IP , shr , |
IP , shr , |
accu , 1 m , |
*accu , t0 , |
#1 , add , |
#1 , add , |
accu , add , |
accu , add , |
accu , IP , |
accu , IP , |
1 r , 0 r , |
SP , accu , |
|
#1 , sub , |
|
accu , SP , |
|
t0 , *accu , |
"Next" , jmp , |
"Next" , jmp , |
end-code |
end-code |
|
|
Code dup sym dup |
Code dup sym dup |
SP , accu , |
SP , accu , |
accu , 0 m , |
*accu , t0 , |
#1 , sub , |
#1 , sub , |
accu , SP , |
accu , SP , |
accu , 1 m , |
t0 , *accu , |
0 r , 1 r , |
|
"Next" , jmp , |
"Next" , jmp , |
end-code |
end-code |
|
|
Code I sym r@ |
Code I sym r@ |
|
RP , accu , |
|
*accu , t0 , |
SP , accu , |
SP , accu , |
RP , 0 m , |
|
#1 , sub , |
#1 , sub , |
accu , SP , |
accu , SP , |
accu , 1 m , |
t0 , *accu , |
0 r , 1 r , |
|
"Next" , jmp , |
"Next" , jmp , |
end-code |
end-code |
|
|
Code over sym over |
Code over sym over |
SP , accu , |
SP , accu , |
#1 , add , |
#1 , add , |
accu , 0 m , |
*accu , t0 , |
#2 , sub , |
#2 , sub , |
accu , 1 m , |
|
accu , SP , |
accu , SP , |
0 r , 1 r , |
t0 , *accu , |
"Next" , jmp , |
"Next" , jmp , |
end-code |
end-code |
|
|
Code swap sym swap |
Code swap sym swap |
SP , accu , |
SP , accu , |
accu , 0 m , |
*accu , t0 , |
accu , 1 m , |
|
#1 , add , |
#1 , add , |
accu , 2 m , |
*accu , t1 , |
accu , 3 m , |
t0 , *accu , |
0 r , accu , \ TOS -> accu |
#1 , sub , |
2 r , 1 r , \ NOS -> TOS |
t1 , *accu , |
accu , 3 r , \ accu -> NOS |
|
"Next" , jmp , |
"Next" , jmp , |
end-code |
end-code |
|
|
Code d+ sym d+ |
Code d+ sym d+ |
SP , accu , |
SP , accu , |
accu , 0 m , |
*accu , t0 , |
#1 , add , |
#1 , add , |
accu , 1 m , |
*accu , t1 , |
#1 , add , |
#1 , add , |
|
*accu , t2 , |
accu , SP , |
accu , SP , |
accu , 2 m , |
|
accu , 3 m , |
|
#1 , add , |
#1 , add , |
accu , 4 m , |
*accu , accu , |
accu , 5 m , |
t1 , add , |
1 r , accu , |
accu , t1 , |
4 r , add , |
|
accu , 5 r , |
|
CF , accu , |
CF , accu , |
0 r , add , |
t2 , add , |
2 r , add , |
t0 , add , |
accu , 3 r , |
accu , t0 , |
|
SP , accu , |
|
t0 , *accu , |
|
#1 , add , |
|
t1 , *accu , |
"Next" , jmp , |
"Next" , jmp , |
end-code |
end-code |
|
|
Label cf1 0 , |
Label cf1 0 , |
Code d2*+ sym d2*+ |
Code d2*+ sym d2*+ |
Label >d2*+ SP , accu , |
SP , accu , |
accu , 0 m , |
Label >d2*+ *accu , t0 , |
accu , 1 m , |
|
#1 , add , |
#1 , add , |
accu , 2 m , |
*accu , t1 , |
accu , 3 m , |
#1 , add , |
accu , 4 m , |
*accu , t2 , |
accu , 5 m , |
accu , t3 , |
#1 , add , |
t0 , accu , |
accu , 6 m , |
t2 , add , |
accu , 7 m , |
t2 , add , |
6 r , accu , |
accu , t2 , |
accu , add , |
|
CF , cf1 , |
|
0 r , add , |
|
accu , 7 r , |
|
5 r , accu , |
|
#$8000 , and , |
|
accu , 1 r , |
|
CF , accu , |
CF , accu , |
cf1 , add , |
t1 , add , |
2 r , add , |
t1 , add , |
3 r , add , |
accu , t0 , |
accu , 4 r , |
t1 , accu , |
|
#$8000 , and , |
|
accu , t1 , |
|
t3 , accu , |
|
t2 , *accu , |
|
#1 , sub , |
|
t0 , *accu , |
|
#1 , sub , |
|
t1 , *accu , |
"Next" , jmp , |
"Next" , jmp , |
end-code |
end-code |
|
|
Line 705 Label "d2*+" >d2*+ ,
|
Line 707 Label "d2*+" >d2*+ ,
|
Code /modstep ( ud c R: u -- ud-?u 0/1 ) |
Code /modstep ( ud c R: u -- ud-?u 0/1 ) |
sym /modstep |
sym /modstep |
SP , accu , |
SP , accu , |
accu , 0 m , |
*accu , t0 , |
accu , 1 m , |
#1 , add , |
|
*accu , t1 , |
#1 , add , |
#1 , add , |
accu , 2 m , |
*accu , t2 , |
accu , 3 m , |
t2 , accu , |
RP , 4 m , |
t0 , sub , |
2 r , accu , |
accu , t0 , |
4 r , sub , |
|
accu , res1 , |
|
CF , accu , |
CF , accu , |
0 r , or , |
t1 , or , |
PC+6 , JZ , |
PC+6 , JZ , |
#0 , accu , |
#0 , accu , |
PC+6 , jmp , |
PC+6 , jmp , |
res1 , 3 r , |
t0 , t2 , |
#1 , accu , |
#1 , accu , |
accu , 1 r , |
accu , t0 , |
|
SP , accu , |
|
#1 , add , |
|
t0 , *accu , |
|
#1 , add , |
|
t2 , *accu , |
|
#1 , sub , |
"d2*+" , jmp , |
"d2*+" , jmp , |
end-code |
end-code |
|
|