forked from KolibriOS/kolibrios
4076 lines
62 KiB
Plaintext
4076 lines
62 KiB
Plaintext
|
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
|