kolibrios/programs/develop/SPForth/src/spf_forthproc.f_L

4076 lines
62 KiB
Plaintext
Raw Normal View History

ZZ=D0 ( <20><EFBFBD><E1ADAE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD><EFBFBD><EFBFBD><><E1ABAE> "<22><><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
Copyright [C] 1992-1999 A.Cherezov ac@forth.org
<20><EFBFBD><EFBFBD><E0A0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> 16-ࠧ<><EFBFBD><EFA4AD><EFBFBD> <20> 32-ࠧ<><EFBFBD><EFA4AD> <20><><EFBFBD> - 1995-96<39><36>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - ᥭ<><E1A5AD><EFBFBD><EFBFBD><EFBFBD> 1999
)
( <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>ணࠬ<E0AEA3><E0A0AC><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>.
ESP - 㪠<><E3AAA0><EFBFBD> <20><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
EBP - 㪠<><E3AAA0><EFBFBD> <20><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
EDI - <20><><EFBFBD>࠭塞<E0A0AD><EFA5AC><><E0A5A3><EFBFBD><EFBFBD> [㪠<><E3AAA0><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20> SPF]
)
HEX
\ ================================================================
\ <20><EFBFBD><E2A5AA><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
?HS
Code DUP ;( x -- x x ) \ 94
59CB58 70 CB 59 00 00 03 44 55 50 E1 32 58 00 00 00 00 p<>Y...DUP<55>2X....
59CB68 00 00 00 00 00 00 00 00 ........
; <20>த㡫<E0AEA4><EFBFBD><E0AEA2><EFBFBD> x.
LEA EBP, [EBP-4]
59CB70 8D 6D FC <20>m<EFBFBD>
mov [ebp],eax
59CB73 89 45 00 <20>E.
RET
59CB76 C3 <20>
EndCode
\ ' DUP TO 'DUP_V
Code ?DUP ;( x -- 0 | x x ) \ 94
59CB77 90 CB 59 00 00 04 3F 44 55 50 5D CB 59 00 00 00 <20><>Y...?DUP]<5D>Y...
59CB87 00 00 00 00 00 00 00 00 00 .........
; <20>த㡫<E0AEA4><EFBFBD><E0AEA2><EFBFBD> x, <20><20><> <20><><EFBFBD><EFBFBD>.
OR EAX, EAX
59CB90 0B C0 .<2E>
JNZ { ' DUP }
59CB92 75 DC u<>
RET
59CB94 C3 <20>
EndCode
Code 2DUP ;( x1 x2 -- x1 x2 x1 x2 ) \ 94
59CB95 B0 CB 59 00 00 04 32 44 55 50 7C CB 59 00 00 00 <20><>Y...2DUP|<7C>Y...
59CBA5 00 00 00 00 00 00 00 00 00 00 00 ...........
; <20>த㡫<E0AEA4><EFBFBD><E0AEA2><EFBFBD> <20><><EFBFBD><EFBFBD> <20><EFBFBD> x1 x2.
MOV EDX, [EBP]
59CBB0 8B 55 00 <20>U.
MOV [EBP-4], EAX
59CBB3 89 45 FC <20>E<EFBFBD>
MOV [EBP-8], EDX
59CBB6 89 55 F8 <20>U<EFBFBD>
LEA EBP, [EBP-8]
59CBB9 8D 6D F8 <20>m<EFBFBD>
RET
59CBBC C3 <20>
EndCode
Code DROP ;( x -- ) \ 94
59CBBD D0 CB 59 00 00 04 44 52 4F 50 9A CB 59 00 00 00 <20><>Y...DROP<4F><50>Y...
59CBCD 00 00 00 ...
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> x <20><> <20><EFBFBD>.
mov eax,[ebp]
59CBD0 8B 45 00 <20>E.
LEA EBP, [EBP+4]
59CBD3 8D 6D 04 <20>m.
RET
59CBD6 C3 <20>
EndCode
\ ' DROP TO 'DROP_V
Code MAX ;( n1 n2 -- n3 ) \ 94
59CBD7 F0 CB 59 00 00 03 4D 41 58 C2 CB 59 00 00 00 00 <20><>Y...MAX<41><58>Y....
59CBE7 00 00 00 00 00 00 00 00 00 .........
; n3 - <20><><EFBFBD><EFBFBD><20><> n1 <20> n2.
CMP EAX, [EBP]
59CBF0 3B 45 00 ;E.
JL { ' DROP }
59CBF3 7C DB |<7C>
LEA EBP, [EBP+4]
59CBF5 8D 6D 04 <20>m.
RET
59CBF8 C3 <20>
EndCode
Code MIN ;( n1 n2 -- n3 ) \ 94
59CBF9 10 CC 59 00 00 03 4D 49 4E DC CB 59 00 00 00 00 .<2E>Y...MIN<49><4E>Y....
59CC09 00 00 00 00 00 00 00 .......
; n3 - <20><><EFBFBD><EFBFBD><20><> n1 <20> n2.
CMP EAX, [EBP]
59CC10 3B 45 00 ;E.
JG { ' DROP }
59CC13 7F BB <>
LEA EBP, [EBP+4]
59CC15 8D 6D 04 <20>m.
RET
59CC18 C3 <20>
EndCode
Code UMAX ;( u1 u2 -- n3 ) \ RETurn the lesser of unsigned u1 and
59CC19 30 CC 59 00 00 04 55 4D 41 58 FE CB 59 00 00 00 0<>Y...UMAX<41><58>Y...
59CC29 00 00 00 00 00 00 00 .......
; unsigned u2
CMP EAX, [EBP]
59CC30 3B 45 00 ;E.
JB { ' DROP }
59CC33 72 9B r<>
LEA EBP, [EBP+4]
59CC35 8D 6D 04 <20>m.
RET
59CC38 C3 <20>
EndCode
Code UMIN ;( u1 u2 -- n3 ) \ RETurn the lesser of unsigned u1 and
59CC39 50 CC 59 00 00 04 55 4D 49 4E 1E CC 59 00 00 00 P<>Y...UMIN.<2E>Y...
59CC49 00 00 00 00 00 00 00 .......
; unsigned u2
CMP EAX, [EBP]
59CC50 3B 45 00 ;E.
JA { ' DROP }
59CC53 0F 87 77 FF FF FF .<2E>w<EFBFBD><77><EFBFBD>
LEA EBP, [EBP+4]
59CC59 8D 6D 04 <20>m.
RET
59CC5C C3 <20>
EndCode
Code 2DROP ;( x1 x2 -- ) \ 94
59CC5D 70 CC 59 00 00 05 32 44 52 4F 50 3E CC 59 00 00 p<>Y...2DROP><3E>Y..
59CC6D 00 00 00 ...
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><EFBFBD> <20><><EFBFBD><EFBFBD> <20><EFBFBD> x1 x2.
MOV EAX , [EBP+4]
59CC70 8B 45 04 <20>E.
ADD EBP , 8
59CC73 83 C5 08 <20><>.
RET
59CC76 C3 <20>
EndCode
Code SWAP ;( x1 x2 -- x2 x1 ) \ 94
59CC77 90 CC 59 00 00 04 53 57 41 50 62 CC 59 00 00 00 <20><>Y...SWAPb<50>Y...
59CC87 00 00 00 00 00 00 00 00 00 .........
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD>
; XCHG EAX { EBP }
MOV EDX, [EBP]
59CC90 8B 55 00 <20>U.
MOV [EBP], EAX
59CC93 89 45 00 <20>E.
MOV EAX, EDX
59CC96 8B C2 <20><>
RET
59CC98 C3 <20>
EndCode
Code 2SWAP ;( x1 x2 x3 x4 -- x3 x4 x1 x2 ) \ 94
59CC99 B0 CC 59 00 00 05 32 53 57 41 50 7C CC 59 00 00 <20><>Y...2SWAP|<7C>Y..
59CCA9 00 00 00 00 00 00 00 .......
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><EFBFBD>.
MOV ECX, [EBP]
59CCB0 8B 4D 00 <20>M.
MOV EBX, [EBP+4]
59CCB3 8B 5D 04 <20>].
MOV EDX, [EBP+8]
59CCB6 8B 55 08 <20>U.
MOV [EBP+8], ECX
59CCB9 89 4D 08 <20>M.
MOV [EBP+4], EAX
59CCBC 89 45 04 <20>E.
MOV [EBP], EDX
59CCBF 89 55 00 <20>U.
MOV EAX, EBX
59CCC2 8B C3 <20><>
RET
59CCC4 C3 <20>
EndCode
Code OVER ;( x1 x2 -- x1 x2 x1 ) \ 94
59CCC5 E0 CC 59 00 00 04 4F 56 45 52 9E CC 59 00 00 00 <20><>Y...OVER<45><52>Y...
59CCD5 00 00 00 00 00 00 00 00 00 00 00 ...........
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> x1 <20><> <20><><EFBFBD><EFBFBD> <20><EFBFBD>.
LEA EBP, [EBP-4]
59CCE0 8D 6D FC <20>m<EFBFBD>
MOV [EBP], EAX
59CCE3 89 45 00 <20>E.
MOV EAX, [EBP+4]
59CCE6 8B 45 04 <20>E.
RET
59CCE9 C3 <20>
EndCode
Code 2OVER ;( x1 x2 x3 x4 -- x1 x2 x3 x4 x1 x2 ) \ 94
59CCEA 00 CD 59 00 00 05 32 4F 56 45 52 CA CC 59 00 00 .<2E>Y...2OVER<EFBFBD><EFBFBD>Y..
59CCFA 00 00 00 00 00 00 ......
; <20><><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD> <20><><EFBFBD><EFBFBD> <20><EFBFBD> x1 x2 <20><> <20><><EFBFBD><EFBFBD> <20><EFBFBD>.
MOV EDX, [EBP+8]
59CD00 8B 55 08 <20>U.
MOV [EBP-4], EAX
59CD03 89 45 FC <20>E<EFBFBD>
MOV [EBP-8], EDX
59CD06 89 55 F8 <20>U<EFBFBD>
MOV EAX, [EBP+4]
59CD09 8B 45 04 <20>E.
LEA EBP, [EBP-8]
59CD0C 8D 6D F8 <20>m<EFBFBD>
RET
59CD0F C3 <20>
EndCode
Code NIP ;( x1 x2 -- x2 ) \ 94 CORE EXT
59CD10 20 CD 59 00 00 03 4E 49 50 EF CC 59 00 00 00 00 <20>Y...NIP<49><50>Y....
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><E8A8AD> <20><EFBFBD>.
ADD EBP, 4
59CD20 83 C5 04 <20><>.
RET
59CD23 C3 <20>
EndCode
Code ROT ;( x1 x2 x3 -- x2 x3 x1 ) \ 94
59CD24 40 CD 59 00 00 03 52 4F 54 15 CD 59 00 00 00 00 @<40>Y...ROT.<2E>Y....
59CD34 00 00 00 00 00 00 00 00 00 00 00 00 ............
; <20><EFBFBD><E0AEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD>.
; XCHG EAX [EBP]
; XCHG EAX 4 [EBP]
MOV EDX, [EBP]
59CD40 8B 55 00 <20>U.
MOV [EBP], EAX
59CD43 89 45 00 <20>E.
MOV EAX, [EBP+4]
59CD46 8B 45 04 <20>E.
MOV [EBP+4], EDX
59CD49 89 55 04 <20>U.
RET
59CD4C C3 <20>
EndCode
Code -ROT ;( x1 x2 x3 -- x3 x1 x2 ) ; !!!!!
59CD4D 60 CD 59 00 00 04 2D 52 4F 54 29 CD 59 00 00 00 `<60>Y...-ROT)<29>Y...
59CD5D 00 00 00 ...
; <20><><EFBFBD><EFBFBD><EFBFBD> ROT
MOV EDX, [EBP+4]
59CD60 8B 55 04 <20>U.
MOV [EBP+4], EAX
59CD63 89 45 04 <20>E.
MOV EAX, [EBP]
59CD66 8B 45 00 <20>E.
MOV [EBP], EDX
59CD69 89 55 00 <20>U.
RET
59CD6C C3 <20>
EndCode
Code PICK ;( ... +n -- ... w ) \ Copy the nth stack item to tos.
59CD6D 80 CD 59 00 00 04 50 49 43 4B 52 CD 59 00 00 00 <20><>Y...PICKR<4B>Y...
59CD7D 00 00 00 ...
MOV EAX, [EBP + EAX*4 ]
59CD80 8B 44 85 00 <20>D<EFBFBD>.
RET
59CD84 C3 <20>
EndCode
Code ROLL ;( xu xu-1 ... x0 u -- xu-1 ... x0 xu ) \ 94 CORE EXT
59CD85 A0 CD 59 00 00 04 52 4F 4C 4C 72 CD 59 00 00 00 <20><>Y...ROLLr<4C>Y...
59CD95 00 00 00 00 00 00 00 00 00 00 00 ...........
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> u. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> u+1 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><EFBFBD>.
; <20><><EFBFBD><EFBFBD><EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><20><><20><EFBFBD><EBAFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ROLL
; <20><> <20><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 祬 u+2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⮢.
OR EAX, EAX
59CDA0 0B C0 .<2E>
JZ SHORT LL1
59CDA2 74 1E t.
MOV ECX, EAX
59CDA4 8B C8 <20><>
LEA EAX, [EAX*4]
59CDA6 8D 04 85 00 00 00 00 <20>.<2E>....
MOV EDX, EBP
59CDAD 8B D5 <20><>
ADD EDX, EAX
59CDAF 03 D0 .<2E>
MOV EBX, [EDX]
59CDB1 8B 1A <20>.
LL2: LEA EDX, [EDX-4]
59CDB3 8D 52 FC <20>R<EFBFBD>
MOV EAX, [EDX]
59CDB6 8B 02 <20>.
MOV [EDX+4], EAX
59CDB8 89 42 04 <20>B.
DEC ECX
59CDBB 49 I
JNZ SHORT LL2
59CDBC 75 F5 u<>
MOV EAX, EBX
59CDBE 8B C3 <20><>
JMP SHORT LL3
59CDC0 EB 03 <20>.
LL1: MOV EAX, [EBP]
59CDC2 8B 45 00 <20>E.
LL3: LEA EBP, [EBP+4]
59CDC5 8D 6D 04 <20>m.
RET
59CDC8 C3 <20>
EndCode
Code TUCK ;( x1 x2 -- x2 x1 x2 ) \ 94
59CDC9 E0 CD 59 00 00 04 54 55 43 4B 8A CD 59 00 00 00 <20><>Y...TUCK<43><4B>Y...
59CDD9 00 00 00 00 00 00 00 .......
LEA EBP, [EBP-4]
59CDE0 8D 6D FC <20>m<EFBFBD>
MOV EDX, [EBP+4]
59CDE3 8B 55 04 <20>U.
MOV [EBP], EDX
59CDE6 89 55 00 <20>U.
MOV [EBP+4], EAX
59CDE9 89 45 04 <20>E.
RET
59CDEC C3 <20>
EndCode
\ ================================================================
\ <20><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Code 2>R ; 94 CORE EXT
59CDED 00 CE 59 00 00 03 32 3E 52 CE CD 59 00 00 00 00 .<2E>Y...2>R<><52>Y....
59CDFD 00 00 00 ...
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: ᥬ<><E1A5AC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD>.
; <20><EFBFBD><EBAFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: ;( x1 x2 -- ) ;( R: -- x1 x2 )
; <20><><EFBFBD><E0A5AD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><EFBFBD> x1 x2 <20><> <20><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⮢. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⭮ SWAP >R >R.
POP EBX
59CE00 5B [
PUSH DWORD PTR [EBP]
59CE01 FF 75 00 <20>u.
PUSH EAX
59CE04 50 P
LEA EBP, [EBP+8]
59CE05 8D 6D 08 <20>m.
MOV EAX, [EBP-4]
59CE08 8B 45 FC <20>E<EFBFBD>
JMP EBX
59CE0B FF E3 <20><>
EndCode
Code 2R> ; 94 CORE EXT
59CE0D 20 CE 59 00 00 03 32 52 3E F2 CD 59 00 00 00 00 <20>Y...2R><3E><>Y....
59CE1D 00 00 00 ...
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: ᥬ<><E1A5AC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD>.
; <20><EFBFBD><EBAFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: ;( -- x1 x2 ) ;( R: x1 x2 -- )
; <20><><EFBFBD><E0A5AD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><EFBFBD> x1 x2 <20><> <20><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⮢. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⭮ R> R> SWAP. \ !!!!
LEA EBP, [EBP-8]
59CE20 8D 6D F8 <20>m<EFBFBD>
POP EBX
59CE23 5B [
MOV [EBP+4], EAX
59CE24 89 45 04 <20>E.
POP EAX
59CE27 58 X
POP DWORD PTR [EBP]
59CE28 8F 45 00 <20>E.
PUSH EBX
59CE2B 53 S
RET
59CE2C C3 <20>
EndCode
Code R@ ; 94
59CE2D 40 CE 59 00 00 02 52 40 12 CE 59 00 00 00 00 00 @<40>Y...R@.<2E>Y.....
59CE3D 00 00 00 ...
; <20><EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: ;( -- x ) ;( R: x -- x )
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: ᥬ<><E1A5AC><EFBFBD> <20> <><E0A5A6><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD>.
LEA EBP, [EBP-4]
59CE40 8D 6D FC <20>m<EFBFBD>
MOV [EBP], EAX
59CE43 89 45 00 <20>E.
MOV EAX, [ESP + 4 ]
59CE46 8B 44 24 04 <20>D$.
RET
59CE4A C3 <20>
EndCode
Code 2R@ ; 94 CORE EXT
59CE4B 60 CE 59 00 00 03 32 52 40 32 CE 59 00 00 00 00 `<60>Y...2R@2<>Y....
59CE5B 00 00 00 00 00 .....
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: ᥬ<><E1A5AC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD>.
; <20><EFBFBD><EBAFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: ;( -- x1 x2 ) ;( R: x1 x2 -- x1 x2 )
; <20><><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD> <20><><EFBFBD><EFBFBD> <20><EFBFBD> x1 x2 <20><> <20><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⮢. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⭮ R> R> 2DUP >R >R SWAP.
LEA EBP, [EBP-8]
59CE60 8D 6D F8 <20>m<EFBFBD>
MOV [EBP+4], EAX
59CE63 89 45 04 <20>E.
MOV EAX, [ESP + { 2 CELLS } ]
59CE66 8B 44 24 08 <20>D$.
MOV DWORD PTR [EBP], EAX
59CE6A 89 45 00 <20>E.
MOV EAX, [ESP + 4 ]
59CE6D 8B 44 24 04 <20>D$.
RET
59CE71 C3 <20>
EndCode
\ ================================================================
\ <20><><EFBFBD><EFBFBD><EFBFBD><20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Code @ ;( a-addr -- x ) \ 94
59CE72 80 CE 59 00 00 01 40 50 CE 59 00 00 00 00 <20><>Y...@P<>Y....
; x - <20><><EFBFBD><EFBFBD><E7A5AD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> a-addr.
MOV EAX, [EAX ]
59CE80 8B 00 <20>.
RET
59CE82 C3 <20>
EndCode
Code ! ;( x a-addr -- ) \ 94
59CE83 90 CE 59 00 00 01 21 77 CE 59 00 00 00 <20><>Y...!w<>Y...
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> x <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> a-addr.
MOV EDX, [EBP]
59CE90 8B 55 00 <20>U.
MOV DWORD PTR [EAX ], EDX
59CE93 89 10 <20>.
MOV EAX , [EBP+4]
59CE95 8B 45 04 <20>E.
ADD EBP , 8
59CE98 83 C5 08 <20><>.
RET
59CE9B C3 <20>
EndCode
Code C@ ;( c-addr -- char ) \ 94
59CE9C B0 CE 59 00 00 02 43 40 88 CE 59 00 00 00 00 00 <20><>Y...C@<40><>Y.....
59CEAC 00 00 00 00 ....
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E1A8AC><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> c-addr. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD> <20><EFBFBD><E7A5A9> <20><EFBFBD><E3ABA5><EFBFBD>.
MOVZX EAX, BYTE PTR [EAX ]
59CEB0 0F B6 00 .<2E>.
RET
59CEB3 C3 <20>
EndCode
Code C! ;( char c-addr -- ) \ 94
59CEB4 C0 CE 59 00 00 02 43 21 A1 CE 59 00 <20><>Y...C!<21><>Y.
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> char <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> a-addr.
MOV EDX, [EBP]
59CEC0 8B 55 00 <20>U.
MOV BYTE PTR [EAX ], DL
59CEC3 88 10 <20>.
MOV EAX , [EBP+4]
59CEC5 8B 45 04 <20>E.
ADD EBP , 8
59CEC8 83 C5 08 <20><>.
RET
59CECB C3 <20>
EndCode
Code W@ ;( c-addr -- word )
59CECC E0 CE 59 00 00 02 57 40 B9 CE 59 00 00 00 00 00 <20><>Y...W@<40><>Y.....
59CEDC 00 00 00 00 ....
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> word <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> c-addr. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD> <20><EFBFBD><E7A5A9> <20><EFBFBD><E3ABA5><EFBFBD>.
MOVZX EAX, WORD PTR [EAX ]
59CEE0 0F B7 00 .<2E>.
RET
59CEE3 C3 <20>
EndCode
Code W! ;( word c-addr -- )
59CEE4 F0 CE 59 00 00 02 57 21 D1 CE 59 00 <20><>Y...W!<21><>Y.
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> word <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> a-addr.
MOV EDX, [EBP]
59CEF0 8B 55 00 <20>U.
MOV WORD PTR [EAX ], DX
59CEF3 66 89 10 f<>.
MOV EAX , [EBP+4]
59CEF6 8B 45 04 <20>E.
ADD EBP , 8
59CEF9 83 C5 08 <20><>.
RET
59CEFC C3 <20>
EndCode
Code 2@ ;( a-addr -- x1 x2 ) \ 94
59CEFD 10 CF 59 00 00 02 32 40 E9 CE 59 00 00 00 00 00 .<2E>Y...2@<40><>Y.....
59CF0D 00 00 00 ...
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><EFBFBD> x1 x2, <20><><EFBFBD><EFBFBD><EFBFBD><E1A0AD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> a-addr.
; x2 <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> a-addr, x1 <20><><E1ABA5><EFBFBD><20><EFBFBD><E7A5A9>.
; <20><><EFBFBD><EFBFBD><EFBFBD>ᨫ쭮 DUP CELL+ @ SWAP @
MOV EDX, [EAX + 4 ]
59CF10 8B 50 04 <20>P.
LEA EBP, [EBP-4]
59CF13 8D 6D FC <20>m<EFBFBD>
MOV DWORD PTR [EBP], EDX
59CF16 89 55 00 <20>U.
MOV EAX, DWORD PTR [EAX ]
59CF19 8B 00 <20>.
RET
59CF1B C3 <20>
EndCode
Code 2! ;( x1 x2 a-addr -- ) \ 94
59CF1C 30 CF 59 00 00 02 32 21 02 CF 59 00 00 00 00 00 0<>Y...2!.<2E>Y.....
59CF2C 00 00 00 00 ....
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><EFBFBD> x1 x2 <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> a-addr,
; x2 <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> a-addr, x1 <20><><E1ABA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E7A5A9>.
; <20><><EFBFBD><EFBFBD><EFBFBD>ᨫ쭮 SWAP OVER ! CELL+ !
MOV EDX, [EBP]
59CF30 8B 55 00 <20>U.
MOV [EAX], EDX
59CF33 89 10 <20>.
MOV EDX, [EBP+4]
59CF35 8B 55 04 <20>U.
MOV [EAX+4], EDX
59CF38 89 50 04 <20>P.
LEA EBP, [EBP+0CH]
59CF3B 8D 6D 0C <20>m.
MOV EAX, [EBP-4]
59CF3E 8B 45 FC <20>E<EFBFBD>
RET
59CF41 C3 <20>
EndCode
Code D@ ;( a-addr -- x1 x2 )
59CF42 50 CF 59 00 00 02 44 40 21 CF 59 00 00 00 P<>Y...D@!<21>Y...
; 2@ SWAP
MOV EDX, [EAX]
59CF50 8B 10 <20>.
LEA EBP, [EBP-4]
59CF52 8D 6D FC <20>m<EFBFBD>
MOV DWORD PTR [EBP], EDX
59CF55 89 55 00 <20>U.
MOV EAX, DWORD PTR [EAX+4]
59CF58 8B 40 04 <20>@.
RET
59CF5B C3 <20>
EndCode
Code D! ;( x1 x2 a-addr -- )
59CF5C 70 CF 59 00 00 02 44 21 47 CF 59 00 00 00 00 00 p<>Y...D!G<>Y.....
59CF6C 00 00 00 00 ....
; >R SWAP R> 2!
MOV EDX, [EBP]
59CF70 8B 55 00 <20>U.
MOV [EAX+4], EDX
59CF73 89 50 04 <20>P.
MOV EDX, [EBP+4]
59CF76 8B 55 04 <20>U.
MOV [EAX], EDX
59CF79 89 10 <20>.
LEA EBP, [EBP+0CH]
59CF7B 8D 6D 0C <20>m.
MOV EAX, [EBP-4]
59CF7E 8B 45 FC <20>E<EFBFBD>
RET
59CF81 C3 <20>
EndCode
Code EBX@ ;( -- EBX )
59CF82 90 CF 59 00 00 04 45 42 58 40 61 CF 59 00 <20><>Y...EBX@a<>Y.
LEA EBP, [EBP-4]
59CF90 8D 6D FC <20>m<EFBFBD>
mov [ebp],eax
59CF93 89 45 00 <20>E.
MOV EAX,EBX
59CF96 8B C3 <20><>
RET
59CF98 C3 <20>
EndCode
\ ================================================================
\ <20><><EFBFBD><EFBFBD><EFBFBD><E1ABA5><EFBFBD>
Code 1+ ;( n1|u1 -- n2|u2 ) \ 94
59CF99 B0 CF 59 00 00 02 31 2B 87 CF 59 00 00 00 00 00 <20><>Y...1+<2B><>Y.....
59CFA9 00 00 00 00 00 00 00 .......
; <20><EFBFBD><E0A8A1><EFBFBD><EFBFBD><EFBFBD> 1 <20> n1|u1 <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD> u2|n2.
LEA EAX, [EAX+1]
59CFB0 8D 40 01 <20>@.
RET
59CFB3 C3 <20>
EndCode
Code 1- ;( n1|u1 -- n2|u2 ) \ 94
59CFB4 C0 CF 59 00 00 02 31 2D 9E CF 59 00 <20><>Y...1-<2D><>Y.
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1 <20><> n1|u1 <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E0A0A7><EFBFBD><EFBFBD><EFBFBD> n2|u2.
LEA EAX, [EAX-1]
59CFC0 8D 40 FF <20>@<40>
RET
59CFC3 C3 <20>
EndCode
Code 2+ ;( W -> W+2 )
59CFC4 D0 CF 59 00 00 02 32 2B B9 CF 59 00 <20><>Y...2+<2B><>Y.
LEA EAX, [EAX+2]
59CFD0 8D 40 02 <20>@.
RET
59CFD3 C3 <20>
EndCode
Code 2- ;( W -> W-2 )
59CFD4 E0 CF 59 00 00 02 32 2D C9 CF 59 00 <20><>Y...2-<2D><>Y.
LEA EAX, [EAX-2]
59CFE0 8D 40 FE <20>@<40>
RET
59CFE3 C3 <20>
EndCode
Code 2* ;( x1 -- x2 ) \ 94
59CFE4 F0 CF 59 00 00 02 32 2A D9 CF 59 00 <20><>Y...2*<2A><>Y.
; x2 - १<><E0A5A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E1A4A2><EFBFBD> x1 <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>, <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E7A8AC><EFBFBD> <20><><EFBFBD><EFBFBD> <20><EFBFBD>.
; SHL EAX
; LEA EAX, [EAX+EAX]
LEA EAX, [EAX*2]
59CFF0 8D 04 45 00 00 00 00 <20>.E....
RET
59CFF7 C3 <20>
EndCode
Code CELL+ ;( a-addr1 -- a-addr2 ) \ 94
59CFF8 10 D0 59 00 00 05 43 45 4C 4C 2B E9 CF 59 00 00 .<2E>Y...CELL+<2B><>Y..
59D008 00 00 00 00 00 00 00 00 ........
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E0A0A7><EFBFBD> <20><EFBFBD><E7A5A9> <20> a-addr1 <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> a-addr2.
LEA EAX, [EAX+4]
59D010 8D 40 04 <20>@.
RET
59D013 C3 <20>
EndCode
Code CELL- ;( a-addr1 -- a-addr2 ) \ 94
59D014 30 D0 59 00 00 05 43 45 4C 4C 2D FD CF 59 00 00 0<>Y...CELL-<2D><>Y..
59D024 00 00 00 00 00 00 00 00 00 00 00 00 ............
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E0A0A7><EFBFBD> <20><EFBFBD><E7A5A9> <20> a-addr1 <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> a-addr2.
LEA EAX, [EAX-4]
59D030 8D 40 FC <20>@<40>
RET
59D033 C3 <20>
EndCode
Code CELLS ;( n1 -- n2 ) \ 94
59D034 50 D0 59 00 00 05 43 45 4C 4C 53 19 D0 59 00 00 P<>Y...CELLS.<2E>Y..
59D044 00 00 00 00 00 00 00 00 00 00 00 00 ............
; n2 - ࠧ<><E0A0A7><EFBFBD> n1 <20><EFBFBD>.
LEA EAX, DWORD PTR [EAX *4 ]
59D050 8D 04 85 00 00 00 00 <20>.<2E>....
RET
59D057 C3 <20>
EndCode
Code + ;( n1|u1 n2|u2 -- n3|u3 ) \ 94
59D058 70 D0 59 00 00 01 2B 39 D0 59 00 00 00 00 00 00 p<>Y...+9<>Y......
59D068 00 00 00 00 00 00 00 00 ........
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> n1|u1 <20> n2|u2 <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD> n3|u3.
ADD EAX, DWORD PTR [EBP]
59D070 03 45 00 .E.
LEA EBP, [EBP+4]
59D073 8D 6D 04 <20>m.
RET
59D076 C3 <20>
EndCode
Code D+ ;( d1|ud1 d2|ud2 -- d3|ud3 ) \ 94 DOUBLE
59D077 90 D0 59 00 00 02 44 2B 5D D0 59 00 00 00 00 00 <20><>Y...D+]<5D>Y.....
59D087 00 00 00 00 00 00 00 00 00 .........
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> d1|ud1 <20> d2|ud2 <20> <20><><EFBFBD><EFBFBD> <20><EFBFBD> d3|ud3.
MOV EDX, DWORD PTR [EBP]
59D090 8B 55 00 <20>U.
ADD DWORD PTR [EBP + { 2 CELLS } ], EDX
59D093 01 55 08 .U.
ADC EAX, DWORD PTR [EBP +4 ]
59D096 13 45 04 .E.
LEA EBP, [EBP+8]
59D099 8D 6D 08 <20>m.
RET
59D09C C3 <20>
EndCode
Code D- ;( d1 d2 -- d3 ) \ 94 DOUBLE
59D09D B0 D0 59 00 00 02 44 2D 7C D0 59 00 00 00 00 00 <20><>Y...D-|<7C>Y.....
59D0AD 00 00 00 ...
; perform a double subtract (64bit)
MOV EDX, DWORD PTR [EBP]
59D0B0 8B 55 00 <20>U.
SUB DWORD PTR [EBP + { 2 CELLS } ], EDX
59D0B3 29 55 08 )U.
SBB [EBP+4], EAX
59D0B6 19 45 04 .E.
MOV EAX, DWORD PTR [EBP +4 ]
59D0B9 8B 45 04 <20>E.
LEA EBP, [EBP+8]
59D0BC 8D 6D 08 <20>m.
RET
59D0BF C3 <20>
EndCode
Code - ;( n1|u1 n2|u2 -- n3|u3 ) \ 94
59D0C0 D0 D0 59 00 00 01 2D A2 D0 59 00 00 00 00 00 00 <20><>Y...-<2D><>Y......
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> n2|u2 <20><> n1|u1 <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E0A0A7><EFBFBD><EFBFBD><EFBFBD> n3|u3.
NEG EAX
59D0D0 F7 D8 <20><>
ADD EAX, [EBP]
59D0D2 03 45 00 .E.
LEA EBP, [EBP+4]
59D0D5 8D 6D 04 <20>m.
RET
59D0D8 C3 <20>
EndCode
Code 1+! ;( A -> )
59D0D9 F0 D0 59 00 00 03 31 2B 21 C5 D0 59 00 00 00 00 <20><>Y...1+!<21><>Y....
59D0E9 00 00 00 00 00 00 00 .......
INC DWORD PTR [EAX ]
59D0F0 FF 00 <20>.
MOV EAX, [EBP]
59D0F2 8B 45 00 <20>E.
LEA EBP, [EBP+4]
59D0F5 8D 6D 04 <20>m.
RET
59D0F8 C3 <20>
EndCode
Code 0! ;( A -> )
59D0F9 10 D1 59 00 00 02 30 21 DE D0 59 00 00 00 00 00 .<2E>Y...0!<21><>Y.....
59D109 00 00 00 00 00 00 00 .......
MOV DWORD PTR [EAX ], 0
59D110 C7 00 00 00 00 00 <20>.....
MOV EAX, [EBP]
59D116 8B 45 00 <20>E.
LEA EBP, [EBP+4]
59D119 8D 6D 04 <20>m.
RET
59D11C C3 <20>
EndCode
Code COUNT ;( c-addr1 -- c-addr2 u ) \ 94
59D11D 30 D1 59 00 00 05 43 4F 55 4E 54 FE D0 59 00 00 0<>Y...COUNT<4E><54>Y..
59D12D 00 00 00 ...
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><><E1A8AC><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><E7A8AA> c-addr1.
; c-addr2 - <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0A2AE><><E1A8AC><EFBFBD><EFBFBD> <20><> c-addr1.
; u - ᮤ<><EFBFBD><E0A6A8><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> c-addr1, <><EFA2AB><EFBFBD><E9A5A5> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><><E1A8AC><EFBFBD><EFBFBD><EFBFBD>,
; <20><><EFBFBD><E7A8AD><EFBFBD><E9A5A9> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> c-addr2.
LEA EBP, [EBP-4]
59D130 8D 6D FC <20>m<EFBFBD>
LEA EDX, DWORD PTR [EAX +1 ]
59D133 8D 50 01 <20>P.
MOV DWORD PTR [EBP], EDX
59D136 89 55 00 <20>U.
MOVZX EAX, BYTE PTR [EAX ]
59D139 0F B6 00 .<2E>.
RET
59D13C C3 <20>
EndCode
Code * ;( n1|u1 n2|u2 -- n3|u3 ) \ 94
59D13D 50 D1 59 00 00 01 2A 22 D1 59 00 00 00 00 00 00 P<>Y...*"<22>Y......
59D14D 00 00 00 ...
; <20><><EFBFBD><E0A5AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> n1|u1 <20> n2|u2 <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E0AEA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> n3|u3.
IMUL DWORD PTR [EBP]
59D150 F7 6D 00 <20>m.
LEA EBP, [EBP+4]
59D153 8D 6D 04 <20>m.
RET
59D156 C3 <20>
EndCode
Code AND ;( x1 x2 -- x3 ) \ 94
59D157 70 D1 59 00 00 03 41 4E 44 42 D1 59 00 00 00 00 p<>Y...ANDB<44>Y....
59D167 00 00 00 00 00 00 00 00 00 .........
; x3 - <20><><EFBFBD><EFBFBD><EFBFBD><E2AEA2> "<22>" x1 <20> x2.
AND EAX, [EBP]
59D170 23 45 00 #E.
LEA EBP, [EBP+4]
59D173 8D 6D 04 <20>m.
RET
59D176 C3 <20>
EndCode
Code OR ;( x1 x2 -- x3 ) \ 94
59D177 90 D1 59 00 00 02 4F 52 5C D1 59 00 00 00 00 00 <20><>Y...OR\<5C>Y.....
59D187 00 00 00 00 00 00 00 00 00 .........
; x3 - <20><><EFBFBD><EFBFBD><EFBFBD><E2AEA2> "<22><><EFBFBD>" x1 <20> x2.
OR EAX, [EBP]
59D190 0B 45 00 .E.
LEA EBP, [EBP+4]
59D193 8D 6D 04 <20>m.
RET
59D196 C3 <20>
EndCode
Code XOR ;( x1 x2 -- x3 ) \ 94
59D197 B0 D1 59 00 00 03 58 4F 52 7C D1 59 00 00 00 00 <20><>Y...XOR|<7C>Y....
59D1A7 00 00 00 00 00 00 00 00 00 .........
; x3 - <20><><EFBFBD><EFBFBD><EFBFBD><E2AEA2> "<22><EFBFBD><E1AAAB><EFBFBD><EFBFBD><20><><EFBFBD>" x1 <20> x2.
XOR EAX, [EBP]
59D1B0 33 45 00 3E.
LEA EBP, [EBP+4]
59D1B3 8D 6D 04 <20>m.
RET
59D1B6 C3 <20>
EndCode
Code INVERT ;( x1 -- x2 ) \ 94
59D1B7 D0 D1 59 00 00 06 49 4E 56 45 52 54 9C D1 59 00 <20><>Y...INVERT<52><54>Y.
59D1C7 00 00 00 00 00 00 00 00 00 .........
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD> x1 <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> x2.
NOT EAX
59D1D0 F7 D0 <20><>
RET
59D1D2 C3 <20>
EndCode
Code NEGATE ;( n1 -- n2 ) \ 94
59D1D3 F0 D1 59 00 00 06 4E 45 47 41 54 45 BC D1 59 00 <20><>Y...NEGATE<54><45>Y.
59D1E3 00 00 00 00 00 00 00 00 00 00 00 00 00 .............
; n2 - <20><><EFBFBD><EFBFBD><E4ACA5><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> n1.
NEG EAX
59D1F0 F7 D8 <20><>
RET
59D1F2 C3 <20>
EndCode
Code ABS ;( n -- u ) \ 94
59D1F3 00 D2 59 00 00 03 41 42 53 D8 D1 59 00 .<2E>Y...ABS<42><53>Y.
; u - <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> n.
TEST EAX, EAX
59D200 85 C0 <20><>
JS { ' NEGATE }
59D202 78 EC x<>
RET
59D204 C3 <20>
EndCode
Code DNEGATE ;( d1 -- d2 ) \ 94 DOUBLE
59D205 20 D2 59 00 00 07 44 4E 45 47 41 54 45 F8 D1 59 <20>Y...DNEGATE<54><45>Y
59D215 00 00 00 00 00 00 00 00 00 00 00 ...........
; d2 १<><E0A5A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E2A0AD> d1 <20><> <20><><EFBFBD><EFBFBD>.
MOV EDX, [EBP]
59D220 8B 55 00 <20>U.
NEG EAX
59D223 F7 D8 <20><>
NEG EDX
59D225 F7 DA <20><>
SBB EAX, 0
59D227 83 D8 00 <20><>.
MOV DWORD PTR [EBP], EDX
59D22A 89 55 00 <20>U.
RET
59D22D C3 <20>
EndCode
Code NOOP ;( -> )
59D22E 40 D2 59 00 00 04 4E 4F 4F 50 0A D2 59 00 00 00 @<40>Y...NOOP.<2E>Y...
59D23E 00 00 ..
RET
59D240 C3 <20>
EndCode
Code S>D ;( n -- d ) \ 94
59D241 50 D2 59 00 00 03 53 3E 44 33 D2 59 00 00 00 P<>Y...S>D3<44>Y...
; <20><EFBFBD><EFBFBD><E0A0A7><EFBFBD><EFBFBD><EFBFBD> <20><>᫮ n <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>᫮ d <20><20><> <20><><EFBFBD><E1ABAE><EFBFBD> <20><><EFBFBD><EFBFBD><E7A5AD><EFBFBD>.
LEA EBP, [EBP-4]
59D250 8D 6D FC <20>m<EFBFBD>
MOV [EBP], EAX
59D253 89 45 00 <20>E.
CDQ
59D256 99 <20>
MOV EAX, EDX
59D257 8B C2 <20><>
RET
59D259 C3 <20>
EndCode
Code D>S ;( d -- n ) \ 94 DOUBLE
59D25A 70 D2 59 00 00 03 44 3E 53 46 D2 59 00 00 00 00 p<>Y...D>SF<53>Y....
59D26A 00 00 00 00 00 00 ......
; n - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> d.
; <20><EFBFBD><E1AAAB><EFBFBD>⥫쭠<E2A5AB> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20>᫨ d <20><><EFBFBD><E5AEA4><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ᥫ.
MOV EAX, [EBP]
59D270 8B 45 00 <20>E.
ADD EBP, 4
59D273 83 C5 04 <20><>.
RET
59D276 C3 <20>
EndCode
Code U>D ;( U -> D ) \ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E7ADAE><EFBFBD> <20><EFBFBD>
59D277 90 D2 59 00 00 03 55 3E 44 5F D2 59 00 00 00 00 <20><>Y...U>D_<44>Y....
59D287 00 00 00 00 00 00 00 00 00 .........
LEA EBP, [EBP-4]
59D290 8D 6D FC <20>m<EFBFBD>
MOV [EBP], EAX
59D293 89 45 00 <20>E.
XOR EAX, EAX
59D296 33 C0 3<>
RET
59D298 C3 <20>
EndCode
Code C>S ;( c -- n ) \ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CHAR
59D299 B0 D2 59 00 00 03 43 3E 53 7C D2 59 00 00 00 00 <20><>Y...C>S|<7C>Y....
59D2A9 00 00 00 00 00 00 00 .......
MOVSX EAX, AL
59D2B0 0F BE C0 .<2E><>
RET
59D2B3 C3 <20>
EndCode
Code UM* ;( u1 u2 -- ud ) \ 94
59D2B4 D0 D2 59 00 00 03 55 4D 2A 9E D2 59 00 00 00 00 <20><>Y...UM*<2A><>Y....
59D2C4 00 00 00 00 00 00 00 00 00 00 00 00 ............
; ud - <20><EFBFBD><E0AEA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> u1 <20> u2. <20><><EFBFBD> <20><><EFBFBD><EFBFBD><E7A5AD> <20> <20><><EFBFBD>䬥⨪<E4ACA5> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
MUL DWORD PTR [EBP]
59D2D0 F7 65 00 <20>e.
MOV [EBP], EAX
59D2D3 89 45 00 <20>E.
MOV EAX, EDX
59D2D6 8B C2 <20><>
RET
59D2D8 C3 <20>
EndCode
Code / ;( n1 n2 -- n3 ) \ 94
59D2D9 F0 D2 59 00 00 01 2F B9 D2 59 00 00 00 00 00 00 <20><>Y.../<2F><>Y......
59D2E9 00 00 00 00 00 00 00 .......
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> n1 <20><> n2, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> n3.
; <20><EFBFBD><E1AAAB><EFBFBD>⥫쭠<E2A5AB> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20>᫨ n2 ࠢ<><E0A0A2> <20><><EFBFBD><EFBFBD>.
; <20>᫨ n1 <20> n2 ࠧ<><E0A0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E9A0A5><EFBFBD><><E0A5A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>
; ॠ<><E0A5A0><EFBFBD><EFBFBD>樨.
MOV ECX, EAX
59D2F0 8B C8 <20><>
MOV EAX, [EBP]
59D2F2 8B 45 00 <20>E.
CDQ
59D2F5 99 <20>
IDIV ECX
59D2F6 F7 F9 <20><>
LEA EBP, [EBP+4]
59D2F8 8D 6D 04 <20>m.
RET
59D2FB C3 <20>
EndCode
Code U/ ;( W1, W2 -> W3 ) \ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> W1 <20><> W2
59D2FC 10 D3 59 00 00 02 55 2F DE D2 59 00 00 00 00 00 .<2E>Y...U/<2F><>Y.....
59D30C 00 00 00 00 ....
MOV ECX, EAX
59D310 8B C8 <20><>
MOV EAX, [EBP]
59D312 8B 45 00 <20>E.
XOR EDX, EDX
59D315 33 D2 3<>
LEA EBP, [EBP+4]
59D317 8D 6D 04 <20>m.
DIV ECX
59D31A F7 F1 <20><>
RET
59D31C C3 <20>
EndCode
Code +! ;( n|u a-addr -- ) \ 94 \ !!!!!
59D31D 30 D3 59 00 00 02 2B 21 01 D3 59 00 00 00 00 00 0<>Y...+!.<2E>Y.....
59D32D 00 00 00 ...
; <20><EFBFBD><E0A8A1><EFBFBD><EFBFBD><EFBFBD> n|u <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0ADAE> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> a-addr.
MOV EDX, [EBP]
59D330 8B 55 00 <20>U.
ADD DWORD PTR [EAX ], EDX
59D333 01 10 ..
MOV EAX, [EBP+4]
59D335 8B 45 04 <20>E.
LEA EBP, [EBP+8]
59D338 8D 6D 08 <20>m.
RET
59D33B C3 <20>
EndCode
Code MOD ;( n1 n2 -- n3 ) \ 94
59D33C 50 D3 59 00 00 03 4D 4F 44 22 D3 59 00 00 00 00 P<>Y...MOD"<22>Y....
59D34C 00 00 00 00 ....
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> n1 <20><> n2, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>⮪ n3.
; <20><EFBFBD><E1AAAB><EFBFBD>⥫쭠<E2A5AB> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20>᫨ n2 ࠢ<><E0A0A2> <20><><EFBFBD><EFBFBD>.
; <20>᫨ n1 <20> n2 ࠧ<><E0A0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E9A0A5><EFBFBD><><E0A5A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>
; ॠ<><E0A5A0><EFBFBD><EFBFBD>樨.
MOV ECX, EAX
59D350 8B C8 <20><>
MOV EAX, [EBP]
59D352 8B 45 00 <20>E.
LEA EBP, [EBP+4]
59D355 8D 6D 04 <20>m.
CDQ
59D358 99 <20>
IDIV ECX
59D359 F7 F9 <20><>
MOV EAX, EDX
59D35B 8B C2 <20><>
RET
59D35D C3 <20>
EndCode
Code /MOD ;( n1 n2 -- n3 n4 ) \ 94
59D35E 70 D3 59 00 00 04 2F 4D 4F 44 41 D3 59 00 00 00 p<>Y.../MODA<44>Y...
59D36E 00 00 ..
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> n1 <20><> n2, <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>⮪ n3 <20> <20><><EFBFBD><EFBFBD> n4.
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20>᫨ n2 <20><><EFBFBD><EFBFBD>.
MOV ECX, EAX
59D370 8B C8 <20><>
MOV EAX, [EBP]
59D372 8B 45 00 <20>E.
CDQ
59D375 99 <20>
IDIV ECX
59D376 F7 F9 <20><>
MOV [EBP], EDX
59D378 89 55 00 <20>U.
RET
59D37B C3 <20>
EndCode
Code UMOD ;( W1, W2 -> W3 ) \ <20><><EFBFBD><EFBFBD><20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> W1 <20><> W2
59D37C 90 D3 59 00 00 04 55 4D 4F 44 63 D3 59 00 00 00 <20><>Y...UMODc<44>Y...
59D38C 00 00 00 00 ....
MOV ECX, EAX
59D390 8B C8 <20><>
XOR EDX, EDX
59D392 33 D2 3<>
MOV EAX, [EBP]
59D394 8B 45 00 <20>E.
LEA EBP, [EBP+4]
59D397 8D 6D 04 <20>m.
DIV ECX
59D39A F7 F1 <20><>
MOV EAX, EDX
59D39C 8B C2 <20><>
RET
59D39E C3 <20>
EndCode
Code UM/MOD ;( ud u1 -- u2 u3 ) \ 94
59D39F B0 D3 59 00 00 06 55 4D 2F 4D 4F 44 81 D3 59 00 <20><>Y...UM/MOD<4F><44>Y.
59D3AF 00 .
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ud <20><> u1, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> u3 <20> <20><><EFBFBD><EFBFBD>⮪ u2.
; <20><><EFBFBD> <20><><EFBFBD><EFBFBD><E7A5AD> <20> <20><><EFBFBD>䬥⨪<E4ACA5> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
; <20><EFBFBD><E1AAAB><EFBFBD>⥫쭠<E2A5AB> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20>᫨ u1 <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>
; <20><><EFBFBD><E5AEA4><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ᥫ.
MOV ECX, EAX
59D3B0 8B C8 <20><>
MOV EDX, [EBP]
59D3B2 8B 55 00 <20>U.
MOV EAX, [EBP+4]
59D3B5 8B 45 04 <20>E.
DIV ECX
59D3B8 F7 F1 <20><>
LEA EBP, [EBP+4]
59D3BA 8D 6D 04 <20>m.
MOV [EBP], EDX
59D3BD 89 55 00 <20>U.
RET
59D3C0 C3 <20>
EndCode
Code 2/ ;( x1 -- x2 ) \ 94
59D3C1 D0 D3 59 00 00 02 32 2F A4 D3 59 00 00 00 00 <20><>Y...2/<2F><>Y....
; x2 - १<><E0A5A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E1A4A2><EFBFBD> x1 <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.
SAR EAX,1
59D3D0 D1 F8 <20><>
RET
59D3D2 C3 <20>
EndCode
Code */MOD ;( n1 n2 n3 -- n4 n5 ) \ 94
59D3D3 F0 D3 59 00 00 05 2A 2F 4D 4F 44 C6 D3 59 00 00 <20><>Y...*/MOD<4F><44>Y..
59D3E3 00 00 00 00 00 00 00 00 00 00 00 00 00 .............
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> n1 <20><> n2, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E0AEAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E0A5A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD> d.
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> d <20><> n3, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>⮪ n4 <20> <20><><EFBFBD><EFBFBD> n5.
MOV EBX, EAX
59D3F0 8B D8 <20><>
MOV EAX, [EBP]
59D3F2 8B 45 00 <20>E.
MOV ECX, [EBP+4]
59D3F5 8B 4D 04 <20>M.
IMUL ECX
59D3F8 F7 E9 <20><>
IDIV EBX
59D3FA F7 FB <20><>
MOV [EBP+4], EDX
59D3FC 89 55 04 <20>U.
LEA EBP, [EBP+4]
59D3FF 8D 6D 04 <20>m.
RET
59D402 C3 <20>
EndCode
Code M* ;( n1 n2 -- d ) \ 94
59D403 10 D4 59 00 00 02 4D 2A D8 D3 59 00 00 .<2E>Y...M*<2A><>Y..
; d - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E0A5A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E3ACAD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> n1 <20><> n2.
IMUL DWORD PTR [EBP]
59D410 F7 6D 00 <20>m.
MOV [EBP], EAX
59D413 89 45 00 <20>E.
MOV EAX, EDX
59D416 8B C2 <20><>
RET
59D418 C3 <20>
EndCode
Code LSHIFT ;( x1 u -- x2 ) ; 94
59D419 30 D4 59 00 00 06 4C 53 48 49 46 54 08 D4 59 00 0<>Y...LSHIFT.<2E>Y.
59D429 00 00 00 00 00 00 00 .......
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> x1 <20><> u <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E7A8AC> <20><><EFBFBD><EFBFBD>,
; <20><EFBFBD><E1A2AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><><E1A4A2><EFBFBD>.
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20>᫨ u <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><><E0A0A2>
; <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20> <20><EFBFBD><E7A5A9>.
MOV ECX, EAX
59D430 8B C8 <20><>
MOV EAX, [EBP]
59D432 8B 45 00 <20>E.
SHL EAX, CL
59D435 D3 E0 <20><>
LEA EBP, [EBP+4]
59D437 8D 6D 04 <20>m.
RET
59D43A C3 <20>
EndCode
Code RSHIFT ;( x1 u -- x2 ) \ 94
59D43B 50 D4 59 00 00 06 52 53 48 49 46 54 1E D4 59 00 P<>Y...RSHIFT.<2E>Y.
59D44B 00 00 00 00 00 .....
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> x1 <20><> u <20><><EFBFBD> <20><><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E7A8AC> <20><><EFBFBD><EFBFBD>,
; <20><EFBFBD><E1A2AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><><E1A4A2><EFBFBD>.
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20>᫨ u <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><><E0A0A2>
; <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20> <20><EFBFBD><E7A5A9>.
MOV ECX, EAX
59D450 8B C8 <20><>
MOV EAX, [EBP]
59D452 8B 45 00 <20>E.
SHR EAX, CL
59D455 D3 E8 <20><>
LEA EBP, [EBP+4]
59D457 8D 6D 04 <20>m.
RET
59D45A C3 <20>
EndCode
Code SM/REM ;( d1 n1 -- n2 n3 ) \ 94
59D45B 70 D4 59 00 00 06 53 4D 2F 52 45 4D 40 D4 59 00 p<>Y...SM/REM@<40>Y.
59D46B 00 00 00 00 00 .....
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> d1 <20><> n1, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E1A8AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> n3 <20> <20><><EFBFBD><EFBFBD>⮪ n2.
; <20><EFBFBD><E5AEA4><EFBFBD> <20> <20><><EFBFBD><E5AEA4><EFBFBD> <20><><EFBFBD><EFBFBD><E3ACA5><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20>᫨ n1 <20><><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ᥫ.
MOV EBX, EAX
59D470 8B D8 <20><>
MOV EDX, [EBP]
59D472 8B 55 00 <20>U.
MOV EAX, [EBP+4]
59D475 8B 45 04 <20>E.
IDIV EBX
59D478 F7 FB <20><>
LEA EBP, [EBP+4]
59D47A 8D 6D 04 <20>m.
MOV [EBP], EDX
59D47D 89 55 00 <20>U.
RET
59D480 C3 <20>
EndCode
Code FM/MOD ;( d1 n1 -- n2 n3 ) \ 94
59D481 A0 D4 59 00 00 06 46 4D 2F 4D 4F 44 60 D4 59 00 <20><>Y...FM/MOD`<60>Y.
59D491 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ...............
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> d1 <20><> n1, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> n3 <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> n2.
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD> n1 <20><><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>.
MOV ECX, EAX
59D4A0 8B C8 <20><>
MOV EDX, [EBP]
59D4A2 8B 55 00 <20>U.
MOV EBX, EDX
59D4A5 8B DA <20><>
MOV EAX, [EBP+4]
59D4A7 8B 45 04 <20>E.
IDIV ECX
59D4AA F7 F9 <20><>
TEST EDX, EDX ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D><> <20><><EFBFBD><EFBFBD>?
59D4AC 85 D2 <20><>
JZ SHORT @@1
59D4AE 74 07 t.
XOR EBX, ECX ; <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>?
59D4B0 33 D9 3<>
JNS SHORT @@1
59D4B2 79 03 y.
DEC EAX
59D4B4 48 H
ADD EDX, ECX
59D4B5 03 D1 .<2E>
@@1: LEA EBP, [EBP+4]
59D4B7 8D 6D 04 <20>m.
MOV [EBP], EDX
59D4BA 89 55 00 <20>U.
RET
59D4BD C3 <20>
EndCode
\ ================================================================
\ <20><EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD>
Code = ;( x1 x2 -- flag ) \ 94
59D4BE D0 D4 59 00 00 01 3D 86 D4 59 00 00 00 00 00 00 <20><>Y...=<3D><>Y......
59D4CE 00 00 ..
; flag "<22><><EFBFBD>" ⮣<><E2AEA3> <20> ⮫쪮 ⮣<><E2AEA3>, <20><><EFBFBD><EFBFBD><EFBFBD> x1 <20><><EFBFBD><EFBFBD>⭮ ࠢ<><E0A0A2> x2.
XOR EAX, [EBP]
59D4D0 33 45 00 3E.
SUB EAX, 1
59D4D3 83 E8 01 <20><>.
SBB EAX, EAX
59D4D6 1B C0 .<2E>
LEA EBP, [EBP+4]
59D4D8 8D 6D 04 <20>m.
RET
59D4DB C3 <20>
EndCode
Code <> ;( x1 x2 -- flag ) \ 94 CORE EXT
59D4DC F0 D4 59 00 00 02 3C 3E C3 D4 59 00 00 00 00 00 <20><>Y...<><3E><>Y.....
59D4EC 00 00 00 00 ....
; flag "<22><><EFBFBD>" ⮣<><E2AEA3> <20> ⮫쪮 ⮣<><E2AEA3>, <20><><EFBFBD><EFBFBD><EFBFBD> x1 <20><><><E0A0A2> x2.
XOR EAX, [EBP]
59D4F0 33 45 00 3E.
NEG EAX
59D4F3 F7 D8 <20><>
SBB EAX, EAX
59D4F5 1B C0 .<2E>
LEA EBP, [EBP+4]
59D4F7 8D 6D 04 <20>m.
RET
59D4FA C3 <20>
EndCode
Code < ;( n1 n2 -- flag ) \ 94
59D4FB 10 D5 59 00 00 01 3C E1 D4 59 00 00 00 00 00 00 .<2E>Y...<<3C><>Y......
59D50B 00 00 00 00 00 .....
; flag "<22><><EFBFBD>" ⮣<><E2AEA3> <20> ⮫쪮 ⮣<><E2AEA3>, <20><><EFBFBD><EFBFBD><EFBFBD> n1 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> n2.
CMP [EBP], EAX
59D510 39 45 00 9E.
SETGE AL
59D513 0F 9D C0 .<2E><>
AND EAX, 01
59D516 83 E0 01 <20><>.
DEC EAX
59D519 48 H
LEA EBP, [EBP+4]
59D51A 8D 6D 04 <20>m.
RET
59D51D C3 <20>
EndCode
Code > ;( n1 n2 -- flag ) \ 94
59D51E 30 D5 59 00 00 01 3E 00 D5 59 00 00 00 00 00 00 0<>Y...>.<2E>Y......
59D52E 00 00 ..
; flag "<22><><EFBFBD>" ⮣<><E2AEA3> <20> ⮫쪮 ⮣<><E2AEA3>, <20><><EFBFBD><EFBFBD><EFBFBD> n1 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> n2.
CMP EAX, [EBP]
59D530 3B 45 00 ;E.
SETGE AL
59D533 0F 9D C0 .<2E><>
AND EAX, 01
59D536 83 E0 01 <20><>.
DEC EAX
59D539 48 H
LEA EBP, [EBP+4]
59D53A 8D 6D 04 <20>m.
RET
59D53D C3 <20>
EndCode
Code WITHIN ;( n1 low high -- f1 ) \ f1=true if ((n1 >= low) & (n1 < high))
59D53E 50 D5 59 00 00 06 57 49 54 48 49 4E 23 D5 59 00 P<>Y...WITHIN#<23>Y.
59D54E 00 00 ..
MOV EBX, [EBP+4]
59D550 8B 5D 04 <20>].
SUB EAX, [EBP]
59D553 2B 45 00 +E.
SUB EBX, [EBP]
59D556 2B 5D 00 +].
SUB EBX, EAX
59D559 2B D8 +<2B>
SBB EAX, EAX
59D55B 1B C0 .<2E>
ADD EBP, 8
59D55D 83 C5 08 <20><>.
RET
59D560 C3 <20>
EndCode
Code D< ;( d1 d2 -- flag ) \ DOUBLE
59D561 70 D5 59 00 00 02 44 3C 43 D5 59 00 00 00 00 p<>Y...D<C<>Y....
; flag "<22><><EFBFBD>" ⮣<><E2AEA3> <20> ⮫쪮 ⮣<><E2AEA3>, <20><><EFBFBD><EFBFBD><EFBFBD> d1 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> d2.
MOV EBX, [EBP]
59D570 8B 5D 00 <20>].
CMP DWORD PTR [EBP +8 ], EBX
59D573 39 5D 08 9].
SBB DWORD PTR [EBP +4 ], EAX
59D576 19 45 04 .E.
MOV EAX, 0
59D579 B8 00 00 00 00 <20>....
SIF <
59D57E 7D 01 }.
DEC EAX
59D580 48 H
STHEN
ADD EBP, 0CH
59D581 83 C5 0C <20><>.
RET
59D584 C3 <20>
EndCode
Code D> ;( d1 d2 -- flag ) \ DOUBLE
59D585 A0 D5 59 00 00 02 44 3E 66 D5 59 00 00 00 00 00 <20><>Y...D>f<>Y.....
59D595 00 00 00 00 00 00 00 00 00 00 00 ...........
; flag "<22><><EFBFBD>" ⮣<><E2AEA3> <20> ⮫쪮 ⮣<><E2AEA3>, <20><><EFBFBD><EFBFBD><EFBFBD> d1 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> d2.
MOV EBX, [EBP]
59D5A0 8B 5D 00 <20>].
CMP EBX, [EBP+8]
59D5A3 3B 5D 08 ;].
SBB EAX, [EBP+4]
59D5A6 1B 45 04 .E.
SAR EAX, 1FH
59D5A9 C1 F8 1F <20><>.
ADD EBP, 0CH
59D5AC 83 C5 0C <20><>.
RET
59D5AF C3 <20>
EndCode
Code U< ;( u1 u2 -- flag ) \ 94
59D5B0 C0 D5 59 00 00 02 55 3C 8A D5 59 00 00 00 00 00 <20><>Y...U<<3C><>Y.....
; flag "<22><><EFBFBD>" ⮣<><E2AEA3> <20> ⮫쪮 ⮣<><E2AEA3>, <20><><EFBFBD><EFBFBD><EFBFBD> u1 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> u2.
CMP [EBP], EAX
59D5C0 39 45 00 9E.
SBB EAX, EAX
59D5C3 1B C0 .<2E>
ADD EBP, 04
59D5C5 83 C5 04 <20><>.
RET
59D5C8 C3 <20>
EndCode
Code U> ;( u1 u2 -- flag ) \ 94
59D5C9 E0 D5 59 00 00 02 55 3E B5 D5 59 00 00 00 00 00 <20><>Y...U><3E><>Y.....
59D5D9 00 00 00 00 00 00 00 .......
; flag "<22><><EFBFBD>" ⮣<><E2AEA3> <20> ⮫쪮 ⮣<><E2AEA3>, <20><><EFBFBD><EFBFBD><EFBFBD> u1 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> u2.
CMP EAX, [EBP]
59D5E0 3B 45 00 ;E.
SBB EAX, EAX
59D5E3 1B C0 .<2E>
ADD EBP, 04
59D5E5 83 C5 04 <20><>.
RET
59D5E8 C3 <20>
EndCode
Code 0< ;( n -- flag ) \ 94
59D5E9 00 D6 59 00 00 02 30 3C CE D5 59 00 00 00 00 00 .<2E>Y...0<<3C><>Y.....
59D5F9 00 00 00 00 00 00 00 .......
; flag "<22><><EFBFBD>" ⮣<><E2AEA3> <20> ⮫쪮 ⮣<><E2AEA3>, <20><><EFBFBD><EFBFBD><EFBFBD> n <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.
SAR EAX, 1F
59D600 C1 F8 1F <20><>.
RET
59D603 C3 <20>
EndCode
Code 0= ;( x -- flag ) \ 94
59D604 10 D6 59 00 00 02 30 3D EE D5 59 00 .<2E>Y...0=<3D><>Y.
; flag "<22><><EFBFBD>" ⮣<><E2AEA3> <20> ⮫쪮 ⮣<><E2AEA3>, <20><><EFBFBD><EFBFBD><EFBFBD> x ࠢ<><E0A0A2> <20><><EFBFBD><EFBFBD>.
SUB EAX, 1
59D610 83 E8 01 <20><>.
SBB EAX, EAX
59D613 1B C0 .<2E>
RET
59D615 C3 <20>
EndCode
Code 0<> ;( x -- flag ) \ 94 CORE EXT
59D616 30 D6 59 00 00 03 30 3C 3E 09 D6 59 00 00 00 00 0<>Y...0<>.<2E>Y....
59D626 00 00 00 00 00 00 00 00 00 00 ..........
; flag "<22><><EFBFBD>" ⮣<><E2AEA3> <20> ⮫쪮 ⮣<><E2AEA3>, <20><><EFBFBD><EFBFBD><EFBFBD> x <20><><><E0A0A2> <20><><EFBFBD><EFBFBD>.
NEG EAX
59D630 F7 D8 <20><>
SBB EAX, EAX
59D632 1B C0 .<2E>
RET
59D634 C3 <20>
EndCode
Code D0= ;( xd -- flag ) \ 94 DOUBLE
59D635 50 D6 59 00 00 03 44 30 3D 1B D6 59 00 00 00 00 P<>Y...D0=.<2E>Y....
59D645 00 00 00 00 00 00 00 00 00 00 00 ...........
; flag "<22><><EFBFBD>" ⮣<><E2AEA3> <20> ⮫쪮 ⮣<><E2AEA3>, <20><><EFBFBD><EFBFBD><EFBFBD> xd ࠢ<><E0A0A2> <20><><EFBFBD><EFBFBD>.
OR EAX, [EBP]
59D650 0B 45 00 .E.
SUB EAX, 1
59D653 83 E8 01 <20><>.
SBB EAX, EAX
59D656 1B C0 .<2E>
LEA EBP, [EBP+4]
59D658 8D 6D 04 <20>m.
RET
59D65B C3 <20>
EndCode
Code D= ;( xd1 xd2 -- flag ) \ 94 DOUBLE
59D65C 70 D6 59 00 00 02 44 3D 3A D6 59 00 00 00 00 00 p<>Y...D=:<3A>Y.....
59D66C 00 00 00 00 ....
; flag is true if and only if xd1 is bit-for-bit the same as xd2
MOV EDX,[EBP]
59D670 8B 55 00 <20>U.
XOR EAX,[EBP+4]
59D673 33 45 04 3E.
XOR EDX,[EBP+8]
59D676 33 55 08 3U.
OR EAX,EDX
59D679 0B C2 .<2E>
SUB EAX,1
59D67B 83 E8 01 <20><>.
SBB EAX,EAX
59D67E 1B C0 .<2E>
LEA EBP,[EBP+0CH]
59D680 8D 6D 0C <20>m.
RET
59D683 C3 <20>
EndCode
Code D2* ;( xd1 -- xd2 ) \ 94 DOUBLE
59D684 A0 D6 59 00 00 03 44 32 2A 61 D6 59 00 00 00 00 <20><>Y...D2*a<>Y....
59D694 00 00 00 00 00 00 00 00 00 00 00 00 ............
; xd2 is the result of shifting xd1 one bit toward the most-significant
; bit, filling the vacated least-significant bit with zero
SHL DWORD PTR [EBP], 1
59D6A0 D1 65 00 <20>e.
RCL EAX, 1
59D6A3 D1 D0 <20><>
RET
59D6A5 C3 <20>
EndCode
Code D2/ ;( xd1 -- xd2 ) \ 94 DOUBLE
59D6A6 C0 D6 59 00 00 03 44 32 2F 89 D6 59 00 00 00 00 <20><>Y...D2/<2F><>Y....
59D6B6 00 00 00 00 00 00 00 00 00 00 ..........
; xd2 is the result of shifting xd1 one bit toward the least-significant bit,
; leaving the most-significant bit unchanged
SAR EAX, 1
59D6C0 D1 F8 <20><>
RCR DWORD PTR [EBP], 1
59D6C2 D1 5D 00 <20>].
RET
59D6C5 C3 <20>
EndCode
\ ================================================================
\ <20><><EFBFBD>
Code -TRAILING ;( c-addr u1 -- c-addr u2 ) \ 94 STRING
59D6C6 E0 D6 59 00 00 09 2D 54 52 41 49 4C 49 4E 47 AB <20><>Y...-TRAILING<4E>
59D6D6 D6 59 00 00 00 00 00 00 00 00 <20>Y........
; <20>᫨ u1 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, u2 ࠢ<><E0A0A2> u1, 㬥<><E3ACA5><EFBFBD><E8A5AD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><20><EFBFBD><E0AEA1><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD>
; ᨬ<><E1A8AC><EFBFBD><EFBFBD> <20><><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> c-addr <20> u1. <20>᫨ u1 <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>
; <20><> <20><EFBFBD><E0AEA1><EFBFBD><EFBFBD>, u2 <20><><EFBFBD><EFBFBD>.
PUSH EDI
59D6E0 57 W
MOV ECX, EAX
59D6E1 8B C8 <20><>
SIF C0<>
59D6E3 E3 11 <20>.
MOV EDI, DWORD PTR [EBP]
59D6E5 8B 7D 00 <20>}.
ADD EDI, ECX
59D6E8 03 F9 .<2E>
DEC EDI
59D6EA 4F O
MOV AL, 20H
59D6EB B0 20 <20>
STD
59D6ED FD <20>
REPZ SCASB
59D6EE F3 AE <20><>
SIF 0<>
59D6F0 74 01 t.
INC ECX
59D6F2 41 A
STHEN
CLD
59D6F3 FC <20>
MOV EAX, ECX
59D6F4 8B C1 <20><>
STHEN
POP EDI
59D6F6 5F _
RET
59D6F7 C3 <20>
EndCode
Code COMPARE ;( c-addr1 u1 c-addr2 u2 -- n ) \ 94 STRING !!!!!
59D6F8 10 D7 59 00 00 07 43 4F 4D 50 41 52 45 CB D6 59 .<2E>Y...COMPARE<52><45>Y
59D708 00 00 00 00 00 00 00 00 ........
; <20><EFBFBD><E0A0A2><EFBFBD><EFBFBD> <20><><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> c-addr1 u1, <20><> <20><><EFBFBD><E0AEAA>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> c-addr2 u2.
; <20><><EFBFBD> <20><EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><E7A8AD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ᮢ, ᨬ<><E1A8AC><EFBFBD> <20><><><E1A8AC><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD>
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><20><><EFBFBD> <20><> <20><><EFBFBD><E5AEA6><EFBFBD><EFBFBD><EFBFBD><><E0A0A7>稩. <20><20><><EFBFBD> <20><><EFBFBD>
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, n <20><><EFBFBD><EFBFBD>. <20><20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><>
; <20><>ப, <20><> n <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (-1), <20>᫨ u1 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> u2, <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (1).
; <20><20><><EFBFBD> <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><>ப, <20><> n <20><><EFBFBD><EFBFBD><EFBFBD>
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (-1), <20><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E1AEA2><EFBFBD><EFBFBD><EFBFBD>騩 ᨬ<><E1A8AC><EFBFBD> <20><><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> c-addr1 u1
; <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><20><><EFBFBD><E1ABAE><EFBFBD> <20><><EFBFBD><EFBFBD><E7A5AD>, 祬 ᮮ⢥<E1AEAE><E2A2A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>騩 ᨬ<><E1A8AC><EFBFBD> <20> <20><><EFBFBD>,
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> c-addr2 u2, <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><E2A8A2><EFBFBD> <20><><EFBFBD>砥.
PUSH EDI
59D710 57 W
MOV ECX, EAX
59D711 8B C8 <20><>
SUB EAX, EAX
59D713 2B C0 +<2B>
CMP ECX, [EBP +4 ]
59D715 3B 4D 04 ;M.
SIF 0<>
59D718 74 09 t.
SIF U<
59D71A 73 03 s.
INC EAX
59D71C 40 @
SELSE
59D71D EB 04 <20>.
DEC EAX
59D71F 48 H
MOV ECX, [EBP +4 ]
59D720 8B 4D 04 <20>M.
STHEN
STHEN
MOV ESI, [EBP + { 2 CELLS } ]
59D723 8B 75 08 <20>u.
MOV EDI, [EBP]
59D726 8B 7D 00 <20>}.
REPE CMPSB
59D729 F3 A6 <20><>
SIF 0<>
59D72B 74 0E t.
SIF U>=
59D72D 72 07 r.
MOV EAX, 1
59D72F B8 01 00 00 00 <20>....
SELSE
59D734 EB 05 <20>.
MOV EAX, -1
59D736 B8 FF FF FF FF <20><><EFBFBD><EFBFBD><EFBFBD>
STHEN
STHEN
LEA EBP, [EBP + { 3 CELLS } ]
59D73B 8D 6D 0C <20>m.
POP EDI
59D73E 5F _
RET
59D73F C3 <20>
EndCode
Code SEARCH ;( c-addr1 u1 c-addr2 u2 -- c-addr3 u3 flag ) \ 94 STRING
59D740 50 D7 59 00 00 06 53 45 41 52 43 48 FD D6 59 00 P<>Y...SEARCH<43><48>Y.
; <20><EFBFBD><E0AEA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> c-addr1 u1, <20><><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> c-addr2 u2.
; <20>᫨ 䫠<> "<22><><EFBFBD>", ᮢ<><E1AEA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> c-addr3 <20> <20><>⠢訬<E2A0A2><E8A8AC><EFBFBD> u3
; ᨬ<><E1A8AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20>᫨ 䫠<> "<22><><EFBFBD><EFBFBD>", ᮢ<><E1AEA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20> c-addr3 <20><><EFBFBD><EFBFBD> c-addr1,
; <20> u3 <20><><EFBFBD><EFBFBD> u1. \ !!!!!
LEA EBP, [EBP-4]
59D750 8D 6D FC <20>m<EFBFBD>
MOV [EBP], EAX
59D753 89 45 00 <20>E.
PUSH EDI
59D756 57 W
CLD
59D757 FC <20>
MOV EBX, DWORD PTR [EBP]
59D758 8B 5D 00 <20>].
OR EBX, EBX
59D75B 0B DB .<2E>
SIF 0<>
59D75D 74 35 t5
MOV EDX, DWORD PTR [EBP + { 2 CELLS } ]
59D75F 8B 55 08 <20>U.
MOV EDI, DWORD PTR [EBP + { 3 CELLS } ]
59D762 8B 7D 0C <20>}.
ADD EDX, EDI
59D765 03 D7 .<2E>
SBEGIN
MOV ESI, DWORD PTR [EBP +4 ]
59D767 8B 75 04 <20>u.
LODSB
59D76A AC <20>
MOV ECX, EDX
59D76B 8B CA <20><>
SUB ECX, EDI
59D76D 2B CF +<2B>
JECXZ LLD
59D76F E3 2A <20>*
REPNZ
59D771 F2 <20>
SCASB
59D772 AE <20>
JNE SHORT LLD ; <20><> <20><20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><E0A2AE><><E1A8AC><EFBFBD><EFBFBD> <20><EFBFBD><E1AAAE><EFBFBD> <20><><EFBFBD>
59D773 75 26 u&
CMP EBX, 1
59D775 83 FB 01 <20><>.
JZ SHORT LLC ; <20><EFBFBD><E1AAAE><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> 1 <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
59D778 74 11 t.
MOV ECX, EBX
59D77A 8B CB <20><>
DEC ECX
59D77C 49 I
MOV EAX, EDX
59D77D 8B C2 <20><>
SUB EAX, EDI
59D77F 2B C7 +<2B>
CMP EAX, ECX
59D781 3B C1 ;<3B>
JC SHORT LLD ; <20><><EFBFBD><EFBFBD><20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E1AAAE><EFBFBD> <20><><EFBFBD>
59D783 72 16 r.
PUSH EDI
59D785 57 W
REPZ CMPSB
59D786 F3 A6 <20><>
POP EDI
59D788 5F _
SUNTIL 0=
59D789 75 DC u<>
LLC: DEC EDI ; <20><><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E1AEA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
59D78B 4F O
SUB EDX, EDI
59D78C 2B D7 +<2B>
MOV DWORD PTR [EBP + { 3 CELLS } ], EDI
59D78E 89 7D 0C <20>}.
MOV DWORD PTR [EBP + { 2 CELLS } ], EDX
59D791 89 55 08 <20>U.
STHEN
MOV EAX, -1
59D794 B8 FF FF FF FF <20><><EFBFBD><EFBFBD><EFBFBD>
JMP SHORT LLA
59D799 EB 02 <20>.
LLD: XOR EAX, EAX
59D79B 33 C0 3<>
LLA: LEA EBP, [EBP+4]
59D79D 8D 6D 04 <20>m.
MOV [EBP], EAX
59D7A0 89 45 00 <20>E.
POP EDI
59D7A3 5F _
MOV EAX, [EBP]
59D7A4 8B 45 00 <20>E.
LEA EBP, [EBP+4]
59D7A7 8D 6D 04 <20>m.
RET
59D7AA C3 <20>
EndCode
Code CMOVE ;( c-addr1 c-addr2 u -- ) \ 94 STRING
59D7AB C0 D7 59 00 00 05 43 4D 4F 56 45 45 D7 59 00 00 <20><>Y...CMOVEE<45>Y..
59D7BB 00 00 00 00 00 .....
; <20>᫨ u <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD> u <20><><EFBFBD><E1ABA5><EFBFBD><EFBFBD><EFBFBD><E2A5AB><EFBFBD><EFBFBD><><E1A8AC><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E7A8AD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> c-addr1 <20> c-addr2, ᨬ<><E1A8AC><EFBFBD> <20><><><E1A8AC><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><E7A8AD> <20>
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><20> <20><><EFBFBD><EFBFBD>訬.
MOV EDX, EDI
59D7C0 8B D7 <20><>
MOV ECX, EAX
59D7C2 8B C8 <20><>
MOV EDI, DWORD PTR [EBP]
59D7C4 8B 7D 00 <20>}.
MOV ESI, DWORD PTR [EBP +4 ]
59D7C7 8B 75 04 <20>u.
CLD
59D7CA FC <20>
REPZ MOVSB
59D7CB F3 A4 <20><>
LEA EBP, [EBP+0CH]
59D7CD 8D 6D 0C <20>m.
MOV EAX, [EBP-4]
59D7D0 8B 45 FC <20>E<EFBFBD>
MOV EDI, EDX
59D7D3 8B FA <20><>
RET
59D7D5 C3 <20>
EndCode
: QCMOVE CMOVE ;
59D7D6 F0 D7 59 00 00 06 51 43 4D 4F 56 45 B0 D7 59 00 <20><>Y...QCMOVE<56><45>Y.
59D7E6 00 00 00 00 00 00 00 00 00 00 ..........
CALL @@CMOVE
RET
Code CMOVE> ;( c-addr1 c-addr2 u -- ) \ 94 STRING
59D7F6 10 D8 59 00 00 06 43 4D 4F 56 45 3E DB D7 59 00 .<2E>Y...CMOVE><3E><>Y.
59D806 00 00 00 00 00 00 00 00 00 00 ..........
; <20>᫨ u <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD> u <20><><EFBFBD><E1ABA5><EFBFBD><EFBFBD><EFBFBD><E2A5AB><EFBFBD><EFBFBD><><E1A8AC><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E7A8AD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> c-addr1 <20> c-addr2, ᨬ<><E1A8AC><EFBFBD> <20><><><E1A8AC><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><E7A8AD> <20><>
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><20> <20><><EFBFBD><EFBFBD>訬.
MOV EDX, EDI
59D810 8B D7 <20><>
MOV ECX, EAX
59D812 8B C8 <20><>
MOV EDI, [EBP]
59D814 8B 7D 00 <20>}.
MOV ESI, [EBP+4]
59D817 8B 75 04 <20>u.
STD
59D81A FD <20>
ADD EDI, ECX
59D81B 03 F9 .<2E>
DEC EDI
59D81D 4F O
ADD ESI, ECX
59D81E 03 F1 .<2E>
DEC ESI
59D820 4E N
REP MOVSB
59D821 F3 A4 <20><>
MOV EDI, EDX
59D823 8B FA <20><>
LEA EBP, [EBP+0CH]
59D825 8D 6D 0C <20>m.
MOV EAX, [EBP-4]
59D828 8B 45 FC <20>E<EFBFBD>
RET
59D82B C3 <20>
EndCode
Code FILL ;( c-addr u char -- ) \ 94 \ !!!!!
59D82C 40 D8 59 00 00 04 46 49 4C 4C FB D7 59 00 00 00 @<40>Y...FILL<4C><4C>Y...
59D83C 00 00 00 00 ....
; <20>᫨ u <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD><E1ABA0> char <20> u <20><><EFBFBD><20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> c-addr.
MOV EDX, EDI
59D840 8B D7 <20><>
MOV ECX, [EBP]
59D842 8B 4D 00 <20>M.
MOV EDI, [EBP+4]
59D845 8B 7D 04 <20>}.
CLD
59D848 FC <20>
REP STOSB
59D849 F3 AA <20><>
MOV EDI, EDX
59D84B 8B FA <20><>
LEA EBP, [EBP+0CH]
59D84D 8D 6D 0C <20>m.
MOV EAX, [EBP-4]
59D850 8B 45 FC <20>E<EFBFBD>
RET
59D853 C3 <20>
EndCode
Code ZCOUNT ;( c-addr -- c-addr u )
59D854 70 D8 59 00 00 06 5A 43 4F 55 4E 54 31 D8 59 00 p<>Y...ZCOUNT1<54>Y.
59D864 00 00 00 00 00 00 00 00 00 00 00 00 ............
LEA EBP, [EBP-4]
59D870 8D 6D FC <20>m<EFBFBD>
MOV [EBP], EAX
59D873 89 45 00 <20>E.
XOR EBX, EBX
59D876 33 DB 3<>
SBEGIN
MOV BL, BYTE PTR [EAX ]
59D878 8A 18 <20>.
INC EAX
59D87A 40 @
OR BL, BL
59D87B 0A DB .<2E>
SUNTIL 0=
59D87D 75 F9 u<>
DEC EAX
59D87F 48 H
SUB EAX, [EBP]
59D880 2B 45 00 +E.
RET
59D883 C3 <20>
EndCode
\ ================================================================
\ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E2A5AA>
Code SP! ;( A -> )
59D884 A0 D8 59 00 00 03 53 50 21 59 D8 59 00 00 00 00 <20><>Y...SP!Y<>Y....
59D894 00 00 00 00 00 00 00 00 00 00 00 00 ............
LEA EBP, [EAX+4]
59D8A0 8D 68 04 <20>h.
MOV EAX, [EBP-4]
59D8A3 8B 45 FC <20>E<EFBFBD>
RET
59D8A6 C3 <20>
EndCode
Code RP! ;( A -> )
59D8A7 C0 D8 59 00 00 03 52 50 21 89 D8 59 00 00 00 00 <20><>Y...RP!<21><>Y....
59D8B7 00 00 00 00 00 00 00 00 00 .........
POP EBX
59D8C0 5B [
MOV ESP, EAX
59D8C1 8B E0 <20><>
MOV EAX, [EBP]
59D8C3 8B 45 00 <20>E.
LEA EBP, [EBP+4]
59D8C6 8D 6D 04 <20>m.
JMP EBX
59D8C9 FF E3 <20><>
EndCode
Code SP@ ;( -> A )
59D8CB E0 D8 59 00 00 03 53 50 40 AC D8 59 00 00 00 00 <20><>Y...SP@<40><>Y....
59D8DB 00 00 00 00 00 .....
LEA EBP, [EBP-4]
59D8E0 8D 6D FC <20>m<EFBFBD>
MOV [EBP], EAX
59D8E3 89 45 00 <20>E.
MOV EAX, EBP
59D8E6 8B C5 <20><>
RET
59D8E8 C3 <20>
EndCode
Code RP@ ;( -- RP )
59D8E9 00 D9 59 00 00 03 52 50 40 D0 D8 59 00 00 00 00 .<2E>Y...RP@<40><>Y....
59D8F9 00 00 00 00 00 00 00 .......
LEA EBP, [EBP-4]
59D900 8D 6D FC <20>m<EFBFBD>
MOV [EBP], EAX
59D903 89 45 00 <20>E.
LEA EAX, [ESP + 4 ]
59D906 8D 44 24 04 <20>D$.
RET
59D90A C3 <20>
EndCode
\ ================================================================
\ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>)
Code TlsIndex! ;( x -- ) \ 㪠<><E3AAA0><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><ECADAE> <20><20><><EFBFBD>
59D90B 20 D9 59 00 00 09 54 6C 73 49 6E 64 65 78 21 EE <20>Y...TlsIndex!<21>
59D91B D8 59 00 00 00 <20>Y...
MOV EDI, EAX
59D920 8B F8 <20><>
MOV EAX, [EBP]
59D922 8B 45 00 <20>E.
LEA EBP, [EBP+4]
59D925 8D 6D 04 <20>m.
RET
59D928 C3 <20>
EndCode
Code TlsIndex@ ;( -- x )
59D929 40 D9 59 00 00 09 54 6C 73 49 6E 64 65 78 40 10 @<40>Y...TlsIndex@.
59D939 D9 59 00 00 00 00 00 <20>Y.....
LEA EBP, [EBP-4]
59D940 8D 6D FC <20>m<EFBFBD>
MOV [EBP], EAX
59D943 89 45 00 <20>E.
MOV EAX, EDI
59D946 8B C7 <20><>
RET
59D948 C3 <20>
EndCode
\ ================================================================
\ <20><><EFBFBD><EFBFBD><EFBFBD>
Code C-J
59D949 60 D9 59 00 00 03 43 2D 4A 2E D9 59 00 00 00 00 `<60>Y...C-J.<2E>Y....
59D959 00 00 00 00 00 00 00 .......
LEA EBP, [EBP-4]
59D960 8D 6D FC <20>m<EFBFBD>
MOV [EBP], EAX
59D963 89 45 00 <20>E.
MOV EAX, DWORD PTR [ESP + { 3 CELLS } ]
59D966 8B 44 24 0C <20>D$.
SUB EAX, DWORD PTR [ESP + { 4 CELLS } ]
59D96A 2B 44 24 10 +D$.
RET
59D96E C3 <20>
EndCode
( inline'<27> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>樨 横<><E6A8AA><EFBFBD> )
Code C-DO
59D96F 80 D9 59 00 00 04 43 2D 44 4F 4E D9 59 00 00 00 <20><>Y...C-DON<4F>Y...
59D97F 00 .
LEA EBP, [EBP+8]
59D980 8D 6D 08 <20>m.
MOV EDX, 80000000H
59D983 BA 00 00 00 80 <20>...<2E>
SUB EDX, [EBP-8]
59D988 2B 55 F8 +U<>
LEA EBX, [EAX+EDX]
59D98B 8D 1C 02 <20>..
MOV EAX, [EBP-4]
59D98E 8B 45 FC <20>E<EFBFBD>
MOV EDX, EDX ; FOR OPT
59D991 8B D2 <20><>
; PUSH EDX
; PUSH EBX
RET
59D993 C3 <20>
EndCode
Code C-?DO
59D994 B0 D9 59 00 00 05 43 2D 3F 44 4F 74 D9 59 00 00 <20><>Y...C-?DOt<4F>Y..
59D9A4 00 00 00 00 00 00 00 00 00 00 00 00 ............
CMP EAX, [EBP-8]
59D9B0 3B 45 F8 ;E<>
SIF 0=
59D9B3 75 05 u.
MOV EAX, [EBP-4]
59D9B5 8B 45 FC <20>E<EFBFBD>
JMP EBX
59D9B8 FF E3 <20><>
STHEN
PUSH EBX
59D9BA 53 S
MOV EBX , 80000000
59D9BB BB 00 00 00 80 <20>...<2E>
SUB EBX, [EBP-8]
59D9C0 2B 5D F8 +]<5D>
PUSH EBX ; 80000000h-to
59D9C3 53 S
ADD EBX, EAX
59D9C4 03 D8 .<2E>
PUSH EBX ; 80000000H-to+from
59D9C6 53 S
MOV EAX, [EBP-4]
59D9C7 8B 45 FC <20>E<EFBFBD>
RET
59D9CA C3 <20>
EndCode
Code ADD[ESP],EAX
59D9CB F0 D9 59 00 00 0C 41 44 44 5B 45 53 50 5D 2C 45 <20><>Y...ADD[ESP],E
59D9DB 41 58 99 D9 59 00 00 00 00 00 00 00 00 00 00 00 AX<41><58>Y...........
59D9EB 00 00 00 00 00 .....
ADD [ESP] , EAX
59D9F0 01 04 24 ..$
RET
59D9F3 C3 <20>
EndCode
Code C-I
59D9F4 10 DA 59 00 00 03 43 2D 49 D0 D9 59 00 00 00 00 .<2E>Y...C-I<><49>Y....
59DA04 00 00 00 00 00 00 00 00 00 00 00 00 ............
LEA EBP, [EBP-4]
59DA10 8D 6D FC <20>m<EFBFBD>
MOV [EBP], EAX
59DA13 89 45 00 <20>E.
MOV EAX, DWORD PTR [ESP]
59DA16 8B 04 24 <20>.$
SUB EAX, [ESP+4]
59DA19 2B 44 24 04 +D$.
RET
59DA1D C3 <20>
EndCode
Code C->R
59DA1E 30 DA 59 00 00 04 43 2D 3E 52 F9 D9 59 00 00 00 0<>Y...C->R<><52>Y...
59DA2E 00 00 ..
PUSH EAX
59DA30 50 P
MOV EAX, [EBP]
59DA31 8B 45 00 <20>E.
LEA EBP, [EBP+4]
59DA34 8D 6D 04 <20>m.
RET
59DA37 C3 <20>
EndCode
Code C-R>
59DA38 50 DA 59 00 00 04 43 2D 52 3E 23 DA 59 00 00 00 P<>Y...C-R>#<23>Y...
59DA48 00 00 00 00 00 00 00 00 ........
LEA EBP, [EBP-4]
59DA50 8D 6D FC <20>m<EFBFBD>
MOV [EBP], EAX
59DA53 89 45 00 <20>E.
POP EAX
59DA56 58 X
RET
59DA57 C3 <20>
EndCode
Code C-RDROP
59DA58 70 DA 59 00 00 07 43 2D 52 44 52 4F 50 3D DA 59 p<>Y...C-RDROP=<3D>Y
59DA68 00 00 00 00 00 00 00 00 ........
ADD ESP, 4
59DA70 83 C4 04 <20><>.
RET
59DA73 C3 <20>
EndCode
Code C-2RDROP
59DA74 90 DA 59 00 00 08 43 2D 32 52 44 52 4F 50 5D DA <20><>Y...C-2RDROP]<5D>
59DA84 59 00 00 00 00 00 00 00 00 00 00 00 Y...........
ADD ESP, 8
59DA90 83 C4 08 <20><>.
RET
59DA93 C3 <20>
EndCode
Code C-3RDROP
59DA94 B0 DA 59 00 00 08 43 2D 33 52 44 52 4F 50 79 DA <20><>Y...C-3RDROPy<50>
59DAA4 59 00 00 00 00 00 00 00 00 00 00 00 Y...........
ADD ESP, 0CH
59DAB0 83 C4 0C <20><>.
RET
59DAB3 C3 <20>
EndCode
TRUE [IF]
Code C-EXECUTE ;( i*x xt -- j*x ) \ 94
59DAB4 D0 DA 59 00 00 09 43 2D 45 58 45 43 55 54 45 99 <20><>Y...C-EXECUTE<54>
59DAC4 DA 59 00 00 00 00 00 00 00 00 00 00 <20>Y..........
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> xt <20><> <20><EFBFBD> <20> <20><EFBFBD><EBAFAE><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><><E1A5AC><EFBFBD>.
; <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><EFBFBD> <20><><EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E1ABAE><EFBFBD>, <20><><EFBFBD><EFBFBD><20><EFBFBD><EBAFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
MOV EDX, EAX
59DAD0 8B D0 <20><>
MOV EAX, [EBP]
59DAD2 8B 45 00 <20>E.
LEA EBP, [EBP+4]
59DAD5 8D 6D 04 <20>m.
CALL EDX
59DAD8 FF D2 <20><>
RET
59DADA C3 <20>
EndCode
[THEN]
Code EXECUTE ;( i*x xt -- j*x ) \ 94
59DADB F0 DA 59 00 00 07 45 58 45 43 55 54 45 B9 DA 59 <20><>Y...EXECUTE<54><45>Y
59DAEB 00 00 00 00 00 .....
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> xt <20><> <20><EFBFBD> <20> <20><EFBFBD><EBAFAE><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><><E1A5AC><EFBFBD>.
; <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><EFBFBD> <20><><EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E1ABAE><EFBFBD>, <20><><EFBFBD><EFBFBD><20><EFBFBD><EBAFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
MOV EBX, EAX
59DAF0 8B D8 <20><>
MOV EAX, [EBP]
59DAF2 8B 45 00 <20>E.
LEA EBP, [EBP+4]
59DAF5 8D 6D 04 <20>m.
JMP EBX
59DAF8 FF E3 <20><>
EndCode
Code @EXECUTE ;( i*x xt -- j*x )
59DAFA 10 DB 59 00 00 08 40 45 58 45 43 55 54 45 E0 DA .<2E>Y...@EXECUTE<54><45>
59DB0A 59 00 00 00 00 00 Y.....
MOV EBX, EAX
59DB10 8B D8 <20><>
MOV EAX, [EBP]
59DB12 8B 45 00 <20>E.
LEA EBP, [EBP+4]
59DB15 8D 6D 04 <20>m.
JMP [EBX]
59DB18 FF 23 <20>#
EndCode
\ ================================================================
\ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> LOCALS
Code DRMOVE ;( x1 ... xn n*4 -- )
59DB1A 30 DB 59 00 00 06 44 52 4D 4F 56 45 FF DA 59 00 0<>Y...DRMOVE<56><45>Y.
59DB2A 00 00 00 00 00 00 ......
; <20><><EFBFBD><E0A5AD><EFBFBD><EFBFBD> n <20><><20><> <20><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
POP EDX ; <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
59DB30 5A Z
MOV ESI, EAX
59DB31 8B F0 <20><>
@@1:
PUSH DWORD PTR [EBP+ESI-4]
59DB33 FF 74 2E FC <20>t.<2E>
SUB ESI, 4
59DB37 83 EE 04 <20><>.
JNZ SHORT @@1
59DB3A 75 F7 u<>
ADD EBP, EAX
59DB3C 03 E8 .<2E>
MOV EAX, [EBP]
59DB3E 8B 45 00 <20>E.
LEA EBP, [EBP+4]
59DB41 8D 6D 04 <20>m.
JMP EDX
59DB44 FF E2 <20><>
EndCode
Code NR> ;( R: x1 ... xn n -- D: x1 ... xn n )
59DB46 60 DB 59 00 00 03 4E 52 3E 1F DB 59 00 00 00 00 `<60>Y...NR>.<2E>Y....
59DB56 00 00 00 00 00 00 00 00 00 00 ..........
; <20><><EFBFBD><E0A5AD><EFBFBD><EFBFBD> n <20><><20><> <20><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><20><> <20><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
; <20>᫨ n=0 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0
POP EDX ; <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
59DB60 5A Z
LEA EBP, [EBP-4]
59DB61 8D 6D FC <20>m<EFBFBD>
MOV [EBP], EAX
59DB64 89 45 00 <20>E.
POP EAX
59DB67 58 X
OR EAX, EAX
59DB68 0B C0 .<2E>
JNZ @@2
59DB6A 0F 85 02 00 00 00 .<2E>....
JMP EDX
59DB70 FF E2 <20><>
@@2: LEA EAX, [EAX*4]
59DB72 8D 04 85 00 00 00 00 <20>.<2E>....
MOV ESI, EAX
59DB79 8B F0 <20><>
@@1:
MOV EBX, EBP
59DB7B 8B DD <20><>
SUB EBX, ESI
59DB7D 2B DE +<2B>
POP DWORD PTR [EBX]
59DB7F 8F 03 <20>.
SUB ESI, 4
59DB81 83 EE 04 <20><>.
JNZ SHORT @@1
59DB84 75 F5 u<>
SUB EBP, EAX
59DB86 2B E8 +<2B>
SAR EAX, 2
59DB88 C1 F8 02 <20><>.
JMP EDX
59DB8B FF E2 <20><>
EndCode
Code N>R ;( D: x1 ... xn n -- R: x1 ... xn n )
59DB8D A0 DB 59 00 00 03 4E 3E 52 4B DB 59 00 00 00 00 <20><>Y...N>RK<52>Y....
59DB9D 00 00 00 ...
; <20><><EFBFBD><E0A5AD><EFBFBD><EFBFBD> n <20><><20><> <20><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
LEA EBP, [EBP-4]
59DBA0 8D 6D FC <20>m<EFBFBD>
MOV [EBP], EAX
59DBA3 89 45 00 <20>E.
LEA EAX, [EAX*4+4]
59DBA6 8D 04 85 04 00 00 00 <20>.<2E>....
POP EDX ; <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
59DBAD 5A Z
MOV ESI, EAX
59DBAE 8B F0 <20><>
@@1:
PUSH DWORD PTR [EBP+ESI-4]
59DBB0 FF 74 2E FC <20>t.<2E>
SUB ESI, 4
59DBB4 83 EE 04 <20><>.
JNZ SHORT @@1
59DBB7 75 F7 u<>
ADD EBP, EAX
59DBB9 03 E8 .<2E>
MOV EAX, [EBP]
59DBBB 8B 45 00 <20>E.
LEA EBP, [EBP+4]
59DBBE 8D 6D 04 <20>m.
JMP EDX
59DBC1 FF E2 <20><>
EndCode
Code NRCOPY ;( D: i*x i -- D: i*x i R: i*x i )
59DBC3 E0 DB 59 00 00 06 4E 52 43 4F 50 59 92 DB 59 00 <20><>Y...NRCOPY<50><59>Y.
59DBD3 00 00 00 00 00 00 00 00 00 00 00 00 00 .............
; ᪮<><E1AAAE><EFBFBD><E0AEA2><EFBFBD> n <20><><20><> <20><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
MOV ECX, EAX
59DBE0 8B C8 <20><>
LEA ECX, [ECX*4]
59DBE2 8D 0C 8D 00 00 00 00 <20>.<2E>....
POP EDX ; <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
59DBE9 5A Z
JECXZ @@2
59DBEA E3 0B <20>.
MOV ESI, ECX
59DBEC 8B F1 <20><>
@@1:
PUSH DWORD PTR [ESI+EBP-4]
59DBEE FF 74 35 FC <20>t5<74>
SUB ESI, 4
59DBF2 83 EE 04 <20><>.
JNZ SHORT @@1
59DBF5 75 F7 u<>
@@2:
PUSH EAX
59DBF7 50 P
JMP EDX
59DBF8 FF E2 <20><>
EndCode
Code RP+@ ;( offs -- x )
59DBFA 10 DC 59 00 00 04 52 50 2B 40 C8 DB 59 00 00 00 .<2E>Y...RP+@<40><>Y...
59DC0A 00 00 00 00 00 00 ......
; <20><><EFBFBD><EFBFBD><EFBFBD> <20><><20><> ᬥ饭<E1ACA5><E9A5AD><EFBFBD> offs <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⮢ (0 RP+@ == RP@)
MOV EAX, [EAX+ESP+4]
59DC10 8B 44 04 04 <20>D..
RET
59DC14 C3 <20>
EndCode
Code RP+ ;( offs -- addr )
59DC15 30 DC 59 00 00 03 52 50 2B FF DB 59 00 00 00 00 0<>Y...RP+<2B><>Y....
59DC25 00 00 00 00 00 00 00 00 00 00 00 ...........
; <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> ᬥ饭<E1ACA5><E9A5AD><EFBFBD> offs <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
LEA EAX, [EAX+ESP+4]
59DC30 8D 44 04 04 <20>D..
RET
59DC34 C3 <20>
EndCode
Code RP+! ;( x offs -- )
59DC35 50 DC 59 00 00 04 52 50 2B 21 1A DC 59 00 00 00 P<>Y...RP+!.<2E>Y...
59DC45 00 00 00 00 00 00 00 00 00 00 00 ...........
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>᫮ x <20><> ᬥ饭<E1ACA5><E9A5AD> offs <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
MOV EBX, [EBP]
59DC50 8B 5D 00 <20>].
MOV [EAX+ESP+4], EBX
59DC53 89 5C 04 04 <20>\..
LEA EBP, [EBP+8]
59DC57 8D 6D 08 <20>m.
MOV EAX, [EBP-4]
59DC5A 8B 45 FC <20>E<EFBFBD>
RET
59DC5D C3 <20>
EndCode
Code RALLOT ;( n -- addr )
59DC5E 70 DC 59 00 00 06 52 41 4C 4C 4F 54 3A DC 59 00 p<>Y...RALLOT:<3A>Y.
59DC6E 00 00 ..
; <20><><EFBFBD>ࢨ஢<E0A2A8><E0AEA2><EFBFBD> n <20><EFBFBD> <20><> <20><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⮢,
; ᤥ<><E1A4A5><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><E6A8A0><EFBFBD><EFBFBD><EFBFBD> (<28> <20><> <20><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 8<> <20><EFBFBD><EBA4A5><EFBFBD>, exception <20><><EFBFBD><EFBFBD><EFBFBD>)
POP EDX
59DC70 5A Z
MOV ECX, EAX
59DC71 8B C8 <20><>
XOR EAX, EAX
59DC73 33 C0 3<>
@@1: PUSH EAX
59DC75 50 P
DEC ECX
59DC76 49 I
JNZ SHORT @@1
59DC77 75 FC u<>
MOV EAX, ESP
59DC79 8B C4 <20><>
JMP EDX
59DC7B FF E2 <20><>
EndCode
Code (RALLOT) ;( n -- )
59DC7D 90 DC 59 00 00 08 28 52 41 4C 4C 4F 54 29 63 DC <20><>Y...(RALLOT)c<>
59DC8D 59 00 00 Y..
; <20><><EFBFBD>ࢨ஢<E0A2A8><E0AEA2><EFBFBD> n <20><EFBFBD> <20><> <20><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
POP EDX
59DC90 5A Z
MOV ECX, EAX
59DC91 8B C8 <20><>
XOR EAX, EAX
59DC93 33 C0 3<>
@@1: PUSH EAX
59DC95 50 P
DEC ECX
59DC96 49 I
JNZ SHORT @@1
59DC97 75 FC u<>
MOV EAX, [EBP]
59DC99 8B 45 00 <20>E.
LEA EBP, [EBP+4]
59DC9C 8D 6D 04 <20>m.
JMP EDX
59DC9F FF E2 <20><>
EndCode
Code RFREE ;( n -- )
59DCA1 B0 DC 59 00 00 05 52 46 52 45 45 82 DC 59 00 <20><>Y...RFREE<45><45>Y.
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> n <20><EFBFBD> <20><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
POP EDX
59DCB0 5A Z
LEA ESP, [ESP+EAX*4]
59DCB1 8D 24 84 <20>$<24>
MOV EAX, [EBP]
59DCB4 8B 45 00 <20>E.
LEA EBP, [EBP+4]
59DCB7 8D 6D 04 <20>m.
JMP EDX
59DCBA FF E2 <20><>
EndCode
Code (LocalsExit) ;( -- )
59DCBC E0 DC 59 00 00 0C 28 4C 6F 63 61 6C 73 45 78 69 <20><>Y...(LocalsExi
59DCCC 74 29 A6 DC 59 00 00 00 00 00 00 00 00 00 00 00 t)<29><>Y...........
59DCDC 00 00 00 00 ....
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><20><><EFBFBD><EFBFBD><EFBFBD>⮢, <20><><20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><EFBFBD>
POP EBX
59DCE0 5B [
ADD ESP, EBX
59DCE1 03 E3 .<2E>
RET
59DCE3 C3 <20>
EndCode
Code TIMER@ ;( -- tlo thi ) \ <20><><EFBFBD><20><><EFBFBD> Intel Pentium <20> <20><><EFBFBD><EFBFBD>!!!
59DCE4 00 DD 59 00 00 06 54 49 4D 45 52 40 C1 DC 59 00 .<2E>Y...TIMER@<40><>Y.
59DCF4 00 00 00 00 00 00 00 00 00 00 00 00 ............
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E7A5AD><><E2A0A9><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> ud
MOV [EBP-4], EAX
59DD00 89 45 FC <20>E<EFBFBD>
RDTSC
59DD03 0F 31 .1
MOV [EBP-8], EDX
59DD05 89 55 F8 <20>U<EFBFBD>
LEA EBP, [EBP-8]
59DD08 8D 6D F8 <20>m<EFBFBD>
XCHG EAX, [EBP]
59DD0B 87 45 00 <20>E.
RET
59DD0E C3 <20>
EndCode
\ <20><><EFBFBD> <20><><EFBFBD><E2A0AB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><E1AAAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
\ : TIMER@ 0 GetTickCount ;
Code TRAP-CODE ;( D: j*x u R: i*x i -- i*x u )
59DD0F 30 DD 59 00 00 09 54 52 41 50 2D 43 4F 44 45 E9 0<>Y...TRAP-CODE<44>
59DD1F DC 59 00 00 00 00 00 00 00 00 00 00 00 00 00 00 <20>Y..............
59DD2F 00 .
; <20><EFBFBD><E1AFAE><EFBFBD><EFBFBD>⥫쭮<E2A5AB><><E1ABAE> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E7A5AD>, <20><><EFBFBD><EFBFBD><E0A0AD><EFBFBD><EFBFBD><EFBFBD>
; <20><>। CATCH <20><> <20><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
POP EDX
59DD30 5A Z
POP ESI
59DD31 5E ^
OR ESI, ESI
59DD32 0B F6 .<2E>
JZ @@2
59DD34 0F 84 18 00 00 00 .<2E>....
LEA ESI, [ESI*4]
59DD3A 8D 34 B5 00 00 00 00 <20>4<EFBFBD>....
MOV ECX, ESI
59DD41 8B CE <20><>
@@1: MOV EBX, [ESI+ESP-4]
59DD43 8B 5C 34 FC <20>\4<>
MOV [ESI+EBP-4], EBX
59DD47 89 5C 35 FC <20>\5<>
SUB ESI, 4
59DD4B 83 EE 04 <20><>.
JNZ SHORT @@1
59DD4E 75 F3 u<>
ADD ESP, ECX
59DD50 03 E1 .<2E>
@@2: JMP EDX
59DD52 FF E2 <20><>
EndCode
DECIMAL
ZZ=D0