Язык Форт и его реализации



             

Приложение 1.Модель форт-системы - часть 10


Экран номер 17

( 31.03.86 NEGATE ABS + - 1+ 1- 2+ 2- +! 1+! ) CODE NEGATE ( W1->W2) RW1 PULL, RW1 RW1 LCR, PUTRW1 B, END-CODE : ABS ( N1->+N2) S>D DABS DROP ; CODE + 14 LHRW12 BAL, RW1 RW2 AR, POPPUT1 B, END-CODE : - ( W1,W2->W3) NEGATE + ; : 1+ ( W1->W2) 1 + ; : 1- ( W1->W2) -1 + ; : 2+ ( W1->W2) 2 + ; : 2- ( W1->W2) 2 - ; CODE +! ( W,A->) 14 LHRW12 BAL, RW2 RMASK NR, RW1 0 (, RW2 RFORTH AH, RW1 0 (, RW2 RFORTH STH, 2POP B, END-CODE : 1+! ( A->) 1 SWAP +! ;

Экран номер 18

( 03.10.86 M* M/ * /MOD / MOD */MOD */ ) CODE M* ( N1,N2->D) RW1 SECOND LH, RW1 FIRST MH, 2PUTRW1 B, END-CODE CODE M/ ( D,N1->N2,N3) 1 POP, 14 LRW1 BAL, RSTACK RTWO SR, RW1 32 SRDA, 0 RW1 LR, RW1 1 DR, 0 1 XR, 0 0 LTR, ?M IF, RW1 1 AR, RW2 0 BCTR, THEN, RW1 FIRST 4 +(, STH, RW1 RW2 LR, ( ЧАСТНОЕ) POPPUT1 B, END-CODE : * ( N1,N2->N3) M* DROP ; : /MOD ( N1,N2->N3,N4) >R S>D R> M/ ; : / ( N1,N2->N3) /MOD SWAP DROP ; : MOD ( N1,N2->N3) /MOD DROP ; : */MOD ( N1,N2,N3->N4,N5) >R M* R> M/ ; : */ ( N1,N2,N3->N4) */MOD SWAP DROP ;

Экран номер 19

( 31.03.86 СРАВНЕНИЯ И РАЗРЕШЕНИЯ В ШИТОМ КОДЕ ) : 0<> ( N->F) 0= NOT ; : = ( W1,W2->F) - 0= ; : <> ( W1,W2->F) - 0<> ; : < ( N1,N2->F) - 0< ;

: >MARK ( ->A ) HERE 0 , ; : >RESOLVE ( A-> ) HERE SWAP ! ; : <MARK ( ->A ) HERE ; : <RESOLVE ( A-> ) , ;

Экран номер 20

( 31.03.86 SP@ SP! RP@ RP! 2/ 2* 2@ 2! DEPTH ) CODE SP@ ( ->A) RW1 RSTACK LR, RW1 RFORTH SR, PUSHRW1 B, END-CODE CODE SP! ( A->) RSTACK PULL, RSTACK RMASK NR, RSTACK RFORTH AR, RNEXT BR, END-CODE CODE RP@ ( ->A) RW1 RRET LR, RW1 RFORTH SR, PUSHRW1 B, END-CODE CODE RP! ( A->) RRET POP, RRET RMASK NR, RRET RFORTH AR, RNEXT BR, END-CODE CODE 2/ ( W1->W2 ) RW1 PULL, RW1 1 SRA, PUTRW1 B, END-CODE : 2* ( W1->W2 ) DUP + ; : 2@ ( A->WD) DUP 2+ @ SWAP @ ; : 2! ( WD,A->) DUP >R ! R> 2+ ! ; : DEPTH ( ->+N) SP@ S0 @ SWAP - 2/ ;

Экран номер 21

( 31.03.86 CMOVE CMOVE> ) CODE CMOVE ( A1,A2,U->) 14 LHRW12 BAL, RW2 RMASK NR, 2 =F BZ, RW1 RMASK NR, RW1 RFORTH AR, 1 FIRST 4 +(, LH, 1 RMASK NR, 1 RFORTH AR, 0 256 LA, 1 =F B, BEGIN, 0 (, 256 RW1 ), 0 (, 1 MVC, RW1 0 AR, 1 0 AR, 1 =H RW2 0 SR, ?M UNTIL, RW2 0 BCTR, RW2 0 AR, ?NM IF, RW2 3 =F EX, THEN, 2 =H RSTACK 6 (, 0 RSTACK LA, RNEXT BR, 3 =H 0 (, 1 RW1 ), 0 (, 1 MVC, END-CODE CODE CMOVE> ( A1,A2,U->) 14 LHRW12 BAL, RW2 RMASK NR, 1 =F BZ, RW1 RMASK NR, RW1 RFORTH AR, RW1 0 BCTR, 1 FIRST 4 +(, LH, 1 RMASK NR, 1 RFORTH AR, 1 0 BCTR, DO, 0 0 (, 1 RW2 IC, 0 0 (, RW1 RW2 STC, RW2 LOOPBCT, 1 =H RSTACK 6 (, 0 RSTACK LA, RNEXT BR, END-CODE




Содержание  Назад  Вперед