Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
4867 | leency | 1 | \ HSSSS H. |
2 | |||
3 | [IFNDEF] BREAK |
||
4 | : BREAK POSTPONE EXIT POSTPONE THEN ; IMMEDIATE |
||
5 | [THEN] |
||
6 | |||
7 | C" VECT-CODE" FIND NIP 0= |
||
8 | [IF] ' _VECT-CODE VALUE VECT-CODE |
||
9 | [ELSE] ' _VECT-CODE TO VECT-CODE |
||
10 | [THEN] |
||
11 | C" USER-CODE" FIND NIP 0= |
||
12 | [IF] ' _USER-CODE VALUE USER-CODE |
||
13 | [ELSE] ' _USER-CODE TO USER-CODE |
||
14 | [THEN] |
||
15 | C" USER-VALUE-CODE" FIND NIP 0= |
||
16 | [IF] ' _USER-VALUE-CODE VALUE USER-VALUE-CODE |
||
17 | [ELSE] ' _USER-VALUE-CODE TO USER-VALUE-CODE |
||
18 | [THEN] |
||
19 | |||
20 | \ ' _CONSTANT-CODE TO CONSTANT-CODE |
||
21 | \ ' _CREATE-CODE TO CREATE-CODE |
||
22 | \ ' _CLITERAL-CODE TO CLITERAL-CODE |
||
23 | \ ' _SLITERAL-CODE TO SLITERAL-CODE |
||
24 | |||
25 | BASE @ HEX |
||
26 | |||
27 | : DUP5B?0 ( C -- C FLAG ) |
||
28 | DUP 0C7 AND 5 = \ ADD|OR|ADC|SBB|AND|SUB|XOR|CMP EAX, # X |
||
29 | OVER 0FC AND 0B8 = OR \ MOV EAX|EBX|ECX|EDX, # X |
||
30 | ; |
||
31 | |||
32 | : DUP5B?1 ( C -- C FLAG ) |
||
33 | DUP 0FD AND 0A1 = \ MOV EAX, X | X , EAX |
||
34 | ; |
||
35 | |||
36 | : DUP6B?0 ( W -- W FLAG ) |
||
37 | DUP C3FF AND C081 = \ ADD|OR|ADC|SBB|AND|SUB|XOR|CMP EAX, # X |
||
38 | OVER 0C7 = OR \ MOV [EAX], # X |
||
39 | \ OVER 878B = OR \ MOV EAX, X [EDI] |
||
40 | \ OVER 878D = OR \ LEA EAX, X [EDI] |
||
41 | \ OVER 873B = OR \ CMP EAX, X [EDI] |
||
42 | ; |
||
43 | |||
44 | : DUP6B?1 ( W -- W FLAG ) |
||
45 | DUP 00501 = \ ADD X , EAX |
||
46 | OVER 053B = OR \ CMP EAX, X |
||
47 | |||
48 | \ X00X.X101 1000.10X1 |
||
49 | OVER 67FD AND 0589 = OR \ MOV X {[EBP]}, E(ACDB)X | E(ACDB)X , X {[EBP]} |
||
50 | OVER 0589 = OR \ MOV X , EAX |
||
51 | OVER 058D = OR \ MOV EAX, X |
||
52 | OVER 1D8D = OR \ MOV EBX, X |
||
53 | OVER 808B = OR \ MOV EAX, X [EAX] |
||
54 | OVER 05FF = OR \ INC X |
||
55 | \ OVER FCFF AND C0C7 = OR \ MOV EAX|EBX|ECX|EDX, # X |
||
56 | ; |
||
57 | |||
58 | : UV> ' >BODY @ TlsIndex@ + POSTPONE LITERAL ; IMMEDIATE |
||
59 | |||
60 | \ : GGGX H. ." -0x" TlsIndex@ H. ." -0x" RESERVE H. ; |
||
61 | |||
62 | : .EDI ( ADDR n -- ADDR1 ) |
||
63 | ." [ |
||
64 | DROP 2+ DUP @ |
||
65 | |||
66 | \ ." XX" DUP H. |
||
67 | TlsIndex@ + |
||
68 | CASE |
||
69 | R0 OF ." T_R0" ENDOF |
||
70 | S0 OF ." T_S0" ENDOF |
||
71 | WARNING OF ." T_WARNING" ENDOF |
||
72 | STATE OF ." T_STATE" ENDOF |
||
73 | BLK OF ." T_BLK" ENDOF |
||
74 | CURFILE OF ." T_CURFILE" ENDOF |
||
75 | HANDLER OF ." T_HANDLER" ENDOF |
||
76 | HLD OF ." T_HLD" ENDOF |
||
77 | BASE OF ." T_BASE" ENDOF |
||
78 | PAD OF ." T_PAD" ENDOF |
||
79 | ER-A OF ." T_ERminusA" ENDOF |
||
80 | ER-U OF ." T_ERminusU" ENDOF |
||
81 | DOES>A OF ." T_DOESgreatA" ENDOF |
||
82 | #TIB OF ." T_nTIB" ENDOF |
||
83 | >IN OF ." T_greatIN" ENDOF |
||
84 | UV> TIB OF ." T_TIB" ENDOF |
||
85 | ATIB OF ." T_ATIB" ENDOF |
||
86 | UV> SOURCE-ID OF ." T_SOURCEminusID" ENDOF |
||
87 | CURSTR OF ." T_CURSTR" ENDOF |
||
88 | \ WBW-NFA OF ." T_WBWminusNFA" ENDOF |
||
89 | \ WBW-OFFS OF ." T_WBWminusOFFS" ENDOF |
||
90 | CURRENT OF ." T_CURRENT" ENDOF |
||
91 | S-O OF ." T_SminusO" ENDOF |
||
92 | UV> CONTEXT OF ." T_CONTEXT" ENDOF |
||
93 | >OUT OF ." T_greatOUT" ENDOF |
||
94 | W-CNT OF ." T_WminusCNT" ENDOF |
||
95 | |||
96 | \ NNN OF ." T_NNN" ENDOF |
||
97 | TlsIndex@ - RESERVE - DUP 0< IF CR ." (%edi) RESERVE " ABORT THEN |
||
98 | ." reserve+0x" |
||
99 | H. ." +edi]" CELL+ EXIT |
||
100 | ENDCASE ." -main_task+edi]" CELL+ |
||
101 | ; |
||
102 | |||
103 | \ RESERVE - DUP 0< IF CR ." (%edi) RESERVE " |
||
104 | \ TlsIndex@ H. RESERVE H. TlsIndex@ - H. H. ABORT THEN |
||
105 | |||
106 | \ ." reserve+0x" GGGX ." +edi]" CELL+ EXIT |
||
107 | \ ." reserve+0x" TlsIndex@ - H. RESERVE H. ." +edi]" CELL+ EXIT |
||
108 | \ ENDCASE ." -main_task+edi]" CELL+ ; |
||
109 | |||
110 | : H.-H ." 0" BASE @ HEX SWAP U>D (D.) TYPE BASE ! ." H" ; |
||
111 | |||
112 | : 1_GD_STEP ( ADDR n -- ADDR1 ) |
||
113 | CR ." DB " 0xFF AND H.-H 1+ ; |
||
114 | |||
115 | : 2_GD_STEP ( ADDR -- ADDR1 ) |
||
116 | 1_GD_STEP ." ," DUP C@ H.-H 1+ ; |
||
117 | |||
118 | : 3_GD_STEP ( ADDR -- ADDR1 ) |
||
119 | 2_GD_STEP ." ," DUP C@ H.-H 1+ ; |
||
120 | |||
121 | : 4_GD_STEP ( ADDR -- ADDR1 ) |
||
122 | 3_GD_STEP ." ," DUP C@ H.-H 1+ ; |
||
123 | |||
124 | [IFNDEF] OCTAL : OCTAL 8 BASE ! ; |
||
125 | [THEN] |
||
126 | |||
127 | : \ooo. ( n1 -- ) |
||
128 | BASE @ >R DECIMAL |
||
129 | |||
130 | R> BASE ! ; |
||
131 | |||
132 | : ATYPE ( arrd len -- ) |
||
133 | DUP 0= IF 2DROP BREAK |
||
134 | [CHAR] ' EMIT |
||
135 | |||
136 | LOOP DROP |
||
137 | [CHAR] ' EMIT |
||
138 | ; |
||
139 | |||
140 | 0x5F535953 CONSTANT 'SYS_' |
||
141 | |||
142 | : GTYPE |
||
143 | OVER @ 'SYS_' = IF 4 - SWAP 4 + SWAP TYPE BREAK |
||
144 | ." cfa_" |
||
145 | 2DUP S" CONTEXT" COMPARE 0= IF 2DROP ." _CONTEXT" BREAK |
||
146 | 2DUP S" WORD" COMPARE 0= IF 2DROP ." _WORD" BREAK |
||
147 | 2DUP S" LEAVE" COMPARE 0= IF 2DROP ." _LEAVE" BREAK |
||
148 | 2DUP S" REPEAT" COMPARE 0= IF 2DROP ." _REPEAT" BREAK |
||
149 | 2DUP S" exit" COMPARE 0= IF 2DROP ." _exit" BREAK |
||
150 | 2DUP S" CHAR" COMPARE 0= IF 2DROP ." _CHAR" BREAK |
||
151 | 2DUP S" IF" COMPARE 0= IF 2DROP ." _IF" BREAK |
||
152 | 2DUP S" ELSE" COMPARE 0= IF 2DROP ." _ELSE" BREAK |
||
153 | 2DUP S" WHILE" COMPARE 0= IF 2DROP ." _WHILE" BREAK |
||
154 | 2DUP S" RESIZE" COMPARE 0= IF 2DROP ." _RESIZE" BREAK |
||
155 | 2DUP S" free" COMPARE 0= IF 2DROP ." _free" BREAK |
||
156 | 2DUP S" write" COMPARE 0= IF 2DROP ." _write" BREAK |
||
157 | 2DUP S" KEY_EVENT" COMPARE 0= IF 2DROP ." _KEY_EVENT" BREAK |
||
158 | 2DUP S" PAGE" COMPARE 0= IF 2DROP ." _PAGE" BREAK |
||
159 | 2DUP S" PAGE_EXECUTE_READWRITE" COMPARE 0= IF 2DROP ." _PAGE_EXECUTE_READWRITE" BREAK |
||
160 | 2DUP S" MEM_COMMIT" COMPARE 0= IF 2DROP ." _MEM_COMMIT" BREAK |
||
161 | 2DUP S" MEM_RESERVE" COMPARE 0= IF 2DROP ." _MEM_RESERVE" BREAK |
||
162 | 2DUP S" INVALID_HANDLE_VALUE" COMPARE 0= IF 2DROP ." _INVALID_HANDLE_VALUE" BREAK |
||
163 | 2DUP S" FILE_ATTRIBUTE_ARCHIVE" COMPARE 0= IF 2DROP ." _FILE_ATTRIBUTE_ARCHIVE" BREAK |
||
164 | 2DUP S" CREATE_ALWAYS" COMPARE 0= IF 2DROP ." _CREATE_ALWAYS" BREAK |
||
165 | 2DUP S" OPEN_EXISTING" COMPARE 0= IF 2DROP ." _OPEN_EXISTING" BREAK |
||
166 | 2DUP S" FILE_BEGIN" COMPARE 0= IF 2DROP ." _FILE_BEGIN" BREAK |
||
167 | 2DUP S" FILE_CURRENT" COMPARE 0= IF 2DROP ." _FILE_CURRENT" BREAK |
||
168 | 2DUP S" EXTERN" COMPARE 0= IF 2DROP ." _EXTERN" BREAK |
||
169 | 2DUP S" EXPORT" COMPARE 0= IF 2DROP ." _EXPORT" BREAK |
||
170 | 2DUP S" BREAK" COMPARE 0= IF 2DROP ." _BREAK" BREAK |
||
171 | 2DUP S" ERR" COMPARE 0= IF 2DROP ." _ERR" BREAK |
||
172 | |||
173 | |||
174 | CASE |
||
175 | [CHAR] @ OF ." _ld" ENDOF |
||
176 | [CHAR] ! OF ." save" ENDOF |
||
177 | [CHAR] = OF ." _equ" ENDOF |
||
178 | [CHAR] < OF ." less" ENDOF |
||
179 | [CHAR] > OF ." great" ENDOF |
||
180 | [CHAR] + OF ." plus" ENDOF |
||
181 | [CHAR] - OF ." minus" ENDOF |
||
182 | [CHAR] * OF ." _mul" ENDOF |
||
183 | [CHAR] / OF ." _div" ENDOF |
||
184 | [CHAR] . OF ." dot" ENDOF |
||
185 | [CHAR] : OF ." dcoma" ENDOF |
||
186 | [CHAR] ; OF ." _end" ENDOF |
||
187 | [CHAR] ? OF ." que" ENDOF |
||
188 | [CHAR] ( OF ." _c" ENDOF |
||
189 | [CHAR] ) OF ." cend" ENDOF |
||
190 | [CHAR] [ OF ." _x" ENDOF |
||
191 | [CHAR] ] OF ." _y" ENDOF |
||
192 | [CHAR] { OF ." lsk" ENDOF |
||
193 | [CHAR] } OF ." rsk" ENDOF |
||
194 | [CHAR] , OF ." com" ENDOF |
||
195 | [CHAR] ' OF ." tic" ENDOF |
||
196 | [CHAR] ~ OF ." til" ENDOF |
||
197 | [CHAR] ^ OF ." pic" ENDOF |
||
198 | [CHAR] " OF ." dtic" ENDOF |
||
199 | [CHAR] | OF ." l" ENDOF |
||
200 | [CHAR] # OF ." n" ENDOF |
||
201 | [CHAR] $ OF ." dol" ENDOF |
||
202 | [CHAR] \ OF ." sl" ENDOF |
||
203 | [CHAR] & OF ." and_" ENDOF |
||
204 | I IF EMIT ENDOF |
||
205 | [CHAR] 0 OF ." _0" ENDOF |
||
206 | [CHAR] 1 OF ." _1" ENDOF |
||
207 | [CHAR] 2 OF ." _2" ENDOF |
||
208 | [CHAR] 3 OF ." _3" ENDOF |
||
209 | [CHAR] 4 OF ." _4" ENDOF |
||
210 | [CHAR] 5 OF ." _5" ENDOF |
||
211 | [CHAR] 6 OF ." _6" ENDOF |
||
212 | [CHAR] 7 OF ." _7" ENDOF |
||
213 | [CHAR] 8 OF ." _8" ENDOF |
||
214 | [CHAR] 9 OF ." _9" ENDOF |
||
215 | EMIT |
||
216 | |||
217 | LOOP DROP ; |
||
218 | |||
219 | |||
220 | |||
221 | : GN. ( ADDR -- ) |
||
222 | DUP 0x80 + 0xFFFFFF00 AND 0= \ ABS 0x7F < |
||
223 | IF H.-H EXIT THEN |
||
224 | DUP HERE U< |
||
225 | IF DUP WordByAddr |
||
226 | OVER >R GTYPE ." +" |
||
227 | R> 1- NAME> - DUP TO #GN H.-H |
||
228 | ELSE NEGATE DUP WordByAddr |
||
229 | >R >R |
||
230 | R@ 1- NAME> - DUP TO #GN H.-H |
||
231 | ." -" R> R> GTYPE |
||
232 | THEN |
||
233 | ; |
||
234 | |||
235 | : .INT ( ADDR -- ADDR1 ) |
||
236 | CR DUP HSSSS @ + |
||
237 | @ OVER @ \ ." I=" 2DUP H. H. CR |
||
238 | = |
||
239 | IF ." DD " DUP @ H.-H |
||
240 | ELSE ." DD " DUP @ GN. |
||
241 | THEN CELL+ ; |
||
242 | |||
243 | : .ADR ( ADDR -- ADDR1 ) |
||
244 | CR ." DD " DUP @ GN. CELL+ ; |
||
245 | |||
246 | : .ADR68 ( ADDR -- ADDR1 ) |
||
247 | CR ." DD 68 " DUP @ DUP H. GN. CELL+ ; |
||
248 | |||
249 | : 5_GD_STEP0 ( ADDR -- ADDR1 ) |
||
250 | 1_GD_STEP .INT ; |
||
251 | |||
252 | : 5_GD_STEP1 ( ADDR -- ADDR1 ) |
||
253 | 1_GD_STEP .ADR ; |
||
254 | |||
255 | : 6_GD_STEP0 ( ADDR -- ADDR1 ) |
||
256 | 2_GD_STEP .INT ; |
||
257 | |||
258 | : 6_GD_STEP1 ( ADDR -- ADDR1 ) |
||
259 | 2_GD_STEP .ADR ; |
||
260 | |||
261 | : 7_GD_STEP ( ADDR -- ADDR1 ) |
||
262 | 3_GD_STEP .ADR ; |
||
263 | |||
264 | : 1A_GD_STEP ( ADDR c -- ADDR1 ) |
||
265 | DROP 1+ DUP REL@ CELL+ GN. CELL+ ; |
||
266 | |||
267 | : 2A_GD_STEP ( ADDR W -- ADDR1 ) |
||
268 | CR ." DW " |
||
269 | H.-H 2+ DUP REL@ CELL+ |
||
270 | CR ." DD " GN. ." -$-4" CELL+ ; |
||
271 | C" C>S" FIND NIP 0= |
||
272 | [IF] : C>S ( c -- n ) 0xFF AND [ 0x7F INVERT ] LITERAL XOR 0x80 + ; |
||
273 | [THEN] |
||
274 | |||
275 | : J_GD_STEP_ |
||
276 | 0x70 - 3 * |
||
277 | C" jo jnojb jaeje jnejbeja js jnsjp jnpjl jgejlejg " 1+ + |
||
278 | CR 3 TYPE ." " 1+ DUP C@ C>S OVER + 1+ GN. 1+ |
||
279 | ; \ short |
||
280 | |||
281 | : J_GD_STEP |
||
282 | DUP >R |
||
283 | 0x70 - 3 * |
||
284 | C" jo jnojb jaeje jnejbeja js jnsjp jnpjl jgejlejg " 1+ + |
||
285 | CR ." ;" 3 TYPE ." " 1+ DUP C@ C>S OVER + 1+ GN. 1+ |
||
286 | 2- R> |
||
287 | #GN IF 2_GD_STEP EXIT THEN |
||
288 | J_GD_STEP_ |
||
289 | ; \ short |
||
290 | |||
291 | : GD-STEP ( CFA -- CFA+N ) |
||
292 | \ DUP 9 EMIT H. |
||
293 | DUP C@ \ CFA N' |
||
294 | DUP 0C3 = IF 1_GD_STEP EXIT THEN \ RET |
||
295 | DUP 066 = IF 1_GD_STEP EXIT THEN \ D16: |
||
296 | DUP 064 = IF 1_GD_STEP EXIT THEN \ FS: |
||
297 | DUP 068 = IF 1_GD_STEP .INT EXIT THEN \ push X |
||
298 | \ LOOPNZ X LOOPZ X LOOP X JECXZ X IN AL, 0 IN EAX, 0 OUT 0 , AL OUT 0 , EAX |
||
299 | \ 1110.0XXX |
||
300 | DUP 0F8 AND 0E0 = IF 2_GD_STEP EXIT THEN |
||
301 | \ 010X.XXXX |
||
302 | DUP 0E0 AND 040 = IF 1_GD_STEP EXIT THEN \ INC|DEC|PUSH|POP E_X |
||
303 | \ 0111.0XXX |
||
304 | DUP 0F0 AND 070 = IF J_GD_STEP EXIT THEN \ JO short |
||
305 | DUP 0EB = IF 2_GD_STEP EXIT THEN \ JMP |
||
306 | DUP 090 = IF 1_GD_STEP EXIT THEN \ !!!!! |
||
307 | DUP 099 = IF 1_GD_STEP EXIT THEN \ CDQ |
||
308 | DUP 0A4 = IF 1_GD_STEP EXIT THEN \ |
||
309 | DUP 0A5 = IF 1_GD_STEP EXIT THEN \ |
||
310 | DUP 0A6 = IF 1_GD_STEP EXIT THEN \ |
||
311 | DUP 0AA = IF 1_GD_STEP EXIT THEN \ |
||
312 | DUP 0AB = IF 1_GD_STEP EXIT THEN \ |
||
313 | DUP 0AC = IF 1_GD_STEP EXIT THEN \ |
||
314 | DUP 0AE = IF 1_GD_STEP EXIT THEN \ |
||
315 | DUP 024 = IF 2_GD_STEP EXIT THEN \ AND AL , # 1 |
||
316 | DUP 02C = IF 2_GD_STEP EXIT THEN \ SUB AL , # 1 |
||
317 | DUP 03C = IF 2_GD_STEP EXIT THEN \ CMP AL , # 1 |
||
318 | DUP 0CD = IF 2_GD_STEP EXIT THEN \ INT X |
||
319 | DUP 0B0 = IF 2_GD_STEP EXIT THEN \ |
||
320 | DUP 0F2 = IF 1_GD_STEP EXIT THEN \ |
||
321 | DUP 0F3 = IF 2_GD_STEP EXIT THEN \ REPZ CMPSB |
||
322 | DUP 0FC = IF 1_GD_STEP EXIT THEN \ CLD |
||
323 | DUP 0FD = IF 1_GD_STEP EXIT THEN \ STD |
||
324 | DUP 09C = IF 1_GD_STEP EXIT THEN \ PUSHFD |
||
325 | DUP 09D = IF 1_GD_STEP EXIT THEN \ POPFD |
||
326 | DUP5B?0 IF 5_GD_STEP0 EXIT THEN |
||
327 | DUP5B?1 IF 5_GD_STEP1 EXIT THEN |
||
328 | |||
329 | DUP 0E9 = IF CR ." DB 0E9H" |
||
330 | CR ." DD " 1A_GD_STEP ." -$-4" EXIT THEN \ JMP |
||
331 | DUP 0E8 = IF CR ." call " 1A_GD_STEP |
||
332 | DUP CELL- REL@ CELL+ |
||
333 | DUP USER-VALUE-CODE = |
||
334 | OVER USER-CODE = OR |
||
335 | IF CR ." DD reserve+" |
||
336 | DROP DUP @ RESERVE - H.-H CELL+ |
||
337 | EXIT |
||
338 | THEN |
||
339 | |||
340 | CONSTANT-CODE = |
||
341 | IF .INT EXIT |
||
342 | THEN |
||
343 | |||
344 | DUP CELL- REL@ CELL+ |
||
345 | CREATE-CODE = |
||
346 | IF .INT 2DUP U> |
||
347 | IF DUP C@ 1_GD_STEP |
||
348 | BEGIN 2DUP U> |
||
349 | WHILE DUP 7 AND |
||
350 | IF ." ," |
||
351 | ELSE CR ." DB " |
||
352 | THEN DUP C@ H.-H 1+ |
||
353 | REPEAT |
||
354 | THEN EXIT |
||
355 | THEN |
||
356 | |||
357 | DUP CELL- REL@ CELL+ |
||
358 | DUP CLITERAL-CODE = |
||
359 | OVER ALITERAL-CODE = OR |
||
360 | SWAP SLITERAL-CODE = OR |
||
361 | IF CR ." DB " DUP COUNT DUP>R DUP H.-H |
||
362 | CR ." DB " ATYPE ." ,0" |
||
363 | R> + 2+ EXIT |
||
364 | THEN |
||
365 | DUP CELL- REL@ CELL+ |
||
366 | VECT-CODE = |
||
367 | IF .ADR EXIT |
||
368 | THEN |
||
369 | |||
370 | EXIT THEN \ CALL |
||
371 | \ 1110.11XX |
||
372 | DUP FC AND EC = IF 1_GD_STEP EXIT THEN \ IN|OUT EAX AL, DX | DX, EAX EL |
||
373 | |||
374 | DROP |
||
375 | DUP W@ \ CR ." G=" DUP H. |
||
376 | DUP3B?[EBP] IF 3_GD_STEP EXIT THEN |
||
377 | DUP3B? IF 3_GD_STEP EXIT THEN |
||
378 | DUP2B? IF 2_GD_STEP EXIT THEN |
||
379 | DUP 0DB0A = IF 2_GD_STEP EXIT THEN \ OR BL, BL |
||
380 | DUP 0C90A = IF 2_GD_STEP EXIT THEN \ OR CL, CL |
||
381 | DUP 0038B = IF 2_GD_STEP EXIT THEN \ MOV EAX, [EBX] |
||
382 | DUP 0EC87 = IF 2_GD_STEP EXIT THEN \ |
||
383 | DUP 0188A = IF 2_GD_STEP EXIT THEN \ MOV BL, [EAX] |
||
384 | DUP 07D8B = IF 3_GD_STEP EXIT THEN \ MOV EDI, X [EBP] |
||
385 | DUP 0C58B = IF 2_GD_STEP EXIT THEN \ MOV EAX, EBP |
||
386 | DUP 0E08B = IF 2_GD_STEP EXIT THEN \ MOV EAX, EBP |
||
387 | DUP 0E88B = IF 2_GD_STEP EXIT THEN \ MOV EAX, EBP |
||
388 | DUP 0458F = IF 3_GD_STEP EXIT THEN \ POP X [EBP] |
||
389 | DUP 075FF = IF 3_GD_STEP EXIT THEN \ PUSH X [EBP] |
||
390 | DUP 0C009 = IF 2_GD_STEP EXIT THEN \ OR EAX, EAX |
||
391 | DUP 0E3FF = IF 2_GD_STEP EXIT THEN \ JMP EBX |
||
392 | \ DUP 0D2FF = IF 2_GD_STEP EXIT THEN \ JMP EDX |
||
393 | DUP 0E2FF = IF 2_GD_STEP EXIT THEN \ JMP EDX |
||
394 | DUP 0D0FF = IF 2_GD_STEP EXIT THEN |
||
395 | DUP 0D2FF = IF 2_GD_STEP EXIT THEN \ CALL EDX |
||
396 | DUP 023FF = IF 2_GD_STEP EXIT THEN \ JMP [EBX] |
||
397 | DUP 0F903 = IF 2_GD_STEP EXIT THEN \ ADD EDI, ECX |
||
398 | DUP 0F103 = IF 2_GD_STEP EXIT THEN \ ADD ESI, ECX |
||
399 | DUP 0F003 = IF 2_GD_STEP EXIT THEN \ ADD ESI, EAX |
||
400 | DUP 0D703 = IF 2_GD_STEP EXIT THEN \ ADD EDX, EDI |
||
401 | DUP 0C703 = IF 2_GD_STEP EXIT THEN \ ADD EAX, EDI |
||
402 | DUP 0DF03 = IF 2_GD_STEP EXIT THEN \ ADD EBX, EDI |
||
403 | DUP 0E103 = IF 2_GD_STEP EXIT THEN \ ADD ESP, ECX |
||
404 | DUP 0E303 = IF 2_GD_STEP EXIT THEN \ ADD ESP, EBX |
||
405 | DUP 0E803 = IF 2_GD_STEP EXIT THEN \ ADD EBP, EAX |
||
406 | DUP 0EB03 = IF 2_GD_STEP EXIT THEN |
||
407 | DUP 0F803 = IF 2_GD_STEP EXIT THEN \ ADD EDI, EAX |
||
408 | DUP 0E903 = IF 2_GD_STEP EXIT THEN \ ADD EBP, ECX |
||
409 | DUP 0523 = IF 2_GD_STEP .INT EXIT THEN \ AND EAX , 55C18F |
||
410 | DUP 052B = IF 2_GD_STEP .INT EXIT THEN \ SUB EAX , 55C18F |
||
411 | DUP 0C72B = IF 2_GD_STEP EXIT THEN \ SUB EAX, EDI |
||
412 | DUP 0CD2B = IF 2_GD_STEP EXIT THEN \ SUB ECX, EBP |
||
413 | DUP 0CF2B = IF 2_GD_STEP EXIT THEN \ SUB ECX, EDI |
||
414 | DUP 0D72B = IF 2_GD_STEP EXIT THEN \ SUB EDX, EDI |
||
415 | DUP 0F22B = IF 2_GD_STEP EXIT THEN \ SUB ESI, EDX |
||
416 | DUP 0DE2B = IF 2_GD_STEP EXIT THEN \ SUB EBX, ESI |
||
417 | DUP 0E32B = IF 2_GD_STEP EXIT THEN \ SUB ESP, EBX |
||
418 | DUP 0E82B = IF 2_GD_STEP EXIT THEN \ SUB EBP, EAX |
||
419 | DUP 0FF33 = IF 2_GD_STEP EXIT THEN \ xor EDI, EDI |
||
420 | DUP 0D233 = IF 2_GD_STEP EXIT THEN \ xor EDX, EDX |
||
421 | DUP 0F33B = IF 2_GD_STEP EXIT THEN \ CMP ESI, EBX |
||
422 | DUP 0C13A = IF 2_GD_STEP EXIT THEN \ CMP AL, CL |
||
423 | DUP 0C23A = IF 2_GD_STEP EXIT THEN \ CMP AL, DL |
||
424 | DUP 0D83A = IF 2_GD_STEP EXIT THEN \ CMP BL, AL |
||
425 | |||
426 | DUP 0EB80 = IF 3_GD_STEP EXIT THEN \ SUB BL, # X |
||
427 | DUP 0FB80 = IF 3_GD_STEP EXIT THEN \ CMP BL, # X |
||
428 | DUP 0C0C6 = IF 3_GD_STEP EXIT THEN \ MOV AL, # 0 |
||
429 | DUP 00081 = IF 2_GD_STEP .INT EXIT THEN \ ADD [EAX] , # 800 |
||
430 | DUP 0581 = IF 2_GD_STEP .ADR .INT EXIT THEN \ ADD X , # Y |
||
431 | DUP 0E181 = IF 2_GD_STEP .INT EXIT THEN \ AND ECX, # FF |
||
432 | DUP 0E281 = IF 2_GD_STEP .INT EXIT THEN \ AND EDX, # FF |
||
433 | DUP 0F981 = IF 2_GD_STEP .INT EXIT THEN \ CMP ECX, # 1 |
||
434 | DUP 04583 = IF 4_GD_STEP EXIT THEN \ ADD F8 [EBP] , # 2 |
||
435 | DUP 0EB83 = IF 3_GD_STEP EXIT THEN \ SUB EBX, # X |
||
436 | DUP 0FB83 = IF 3_GD_STEP EXIT THEN \ CMP EBX, # X |
||
437 | DUP 0EE83 = IF 3_GD_STEP EXIT THEN \ SUB ESI, # X |
||
438 | DUP 0E183 = IF 3_GD_STEP EXIT THEN \ AND ECX, # 3 |
||
439 | DUP 0E383 = IF 3_GD_STEP EXIT THEN \ AND EBX, # 3 |
||
440 | DUP 0EC83 = IF 3_GD_STEP EXIT THEN |
||
441 | DUP 0F9C1 = IF 3_GD_STEP EXIT THEN \ SAR ECX, # 2 |
||
442 | DUP 01889 = IF 2_GD_STEP EXIT THEN \ MOV [EAX], EBX |
||
443 | DUP 04889 = IF 3_GD_STEP EXIT THEN \ MOV X [EAX], ECX |
||
444 | DUP 04289 = IF 3_GD_STEP EXIT THEN \ MOV 4 [EDX], EAX |
||
445 | DUP 04B89 = IF 3_GD_STEP EXIT THEN \ MOV 2 [EBX], ECX |
||
446 | DUP 0468A = IF 3_GD_STEP EXIT THEN \ MOV AL, X [ESI] |
||
447 | DUP 0088A = IF 2_GD_STEP EXIT THEN \ MOV CL, [EAX] |
||
448 | DUP 0068B = IF 2_GD_STEP EXIT THEN \ MOV EAX, [ESI] |
||
449 | DUP 01B8B = IF 2_GD_STEP EXIT THEN \ MOV EBX, [EBX] |
||
450 | DUP DF8B = IF 2_GD_STEP EXIT THEN \ MOV EBX, EDI |
||
451 | DUP EC8B = IF 2_GD_STEP EXIT THEN |
||
452 | DUP 05089 = IF 3_GD_STEP EXIT THEN \ MOV X [EAX] , EDX |
||
453 | DUP 0368B = IF 2_GD_STEP EXIT THEN \ MOV ESI, [ESI] |
||
454 | DUP 0758B = IF 3_GD_STEP EXIT THEN \ MOV ESI, X [EBP] |
||
455 | DUP 0408B = IF 3_GD_STEP EXIT THEN \ MOV EAX, X [EAX] |
||
456 | DUP 0498B = IF 3_GD_STEP EXIT THEN \ MOV ECX, FC [ECX] |
||
457 | DUP 04B8B = IF 3_GD_STEP EXIT THEN \ MOV ECX, 12 [EBX] |
||
458 | DUP 0E58B = IF 2_GD_STEP EXIT THEN |
||
459 | DUP 06D8D = IF 3_GD_STEP EXIT THEN \ LEA EBP, OFF-EBP [EBP] |
||
460 | DUP 0C583 = IF 3_GD_STEP EXIT THEN \ ADD EBP, # OFF-EBP |
||
461 | DUP 0ED83 = IF 3_GD_STEP EXIT THEN \ SUB EBP, # X |
||
462 | DUP 0C483 = IF 3_GD_STEP EXIT THEN \ ADD ESP, # X |
||
463 | DUP 0FA83 = IF 3_GD_STEP EXIT THEN \ CMP EDX, # 3 |
||
464 | DUP 07D83 = IF 4_GD_STEP EXIT THEN \ CMP X [EBP] , # Y |
||
465 | DUP 07D89 = IF 3_GD_STEP EXIT THEN \ MOV X [EBP], EDI |
||
466 | DUP 0CC8B = IF 2_GD_STEP EXIT THEN |
||
467 | DUP 0F58B = IF 2_GD_STEP EXIT THEN |
||
468 | DUP 0FC8B = IF 2_GD_STEP EXIT THEN |
||
469 | |||
470 | DUP 0F0FF AND |
||
471 | 0800F = IF 2A_GD_STEP EXIT THEN \ JNO X |
||
472 | DUP 075F7 = IF 3_GD_STEP EXIT THEN \ DIV DWORD [EBP] |
||
473 | DUP 0D9F7 = IF 2_GD_STEP EXIT THEN \ NEG ECX |
||
474 | DUP 0DBF7 = IF 2_GD_STEP EXIT THEN \ NEG EBX |
||
475 | DUP 0E3F7 = IF 2_GD_STEP EXIT THEN \ MUL EBX |
||
476 | DUP 0EBF7 = IF 2_GD_STEP EXIT THEN \ IMUL EBX |
||
477 | DUP 0FBF7 = IF 2_GD_STEP EXIT THEN \ IDIV EBX |
||
478 | DUP 0F3F7 = IF 2_GD_STEP EXIT THEN \ DIV EBX |
||
479 | DUP 0F60B = IF 2_GD_STEP EXIT THEN \ OR ESI, ESI |
||
480 | DUP 0CE8B = IF 2_GD_STEP EXIT THEN \ MOV ECX, ESI |
||
481 | DUP 0C48B = IF 2_GD_STEP EXIT THEN \ MOV EAX, ESP |
||
482 | DUP 0F18B = IF 2_GD_STEP EXIT THEN \ MOV ESI, ECX |
||
483 | DUP 0F08B = IF 2_GD_STEP EXIT THEN \ MOV ESI, EAX |
||
484 | DUP 0D58B = IF 2_GD_STEP EXIT THEN \ MOV EDX, EBP |
||
485 | DUP 0D78B = IF 2_GD_STEP EXIT THEN \ MOV EDX, EDI |
||
486 | DUP 0DD8B = IF 2_GD_STEP EXIT THEN \ MOV EBX, EBP |
||
487 | DUP 0FA8B = IF 2_GD_STEP EXIT THEN \ MOV EDI, EDX |
||
488 | DUP 01A8B = IF 2_GD_STEP EXIT THEN \ MOV EBX, [EDX] |
||
489 | DUP 0028B = IF 2_GD_STEP EXIT THEN \ MOV EAX, [EDX] |
||
490 | DUP 0078B = IF 2_GD_STEP EXIT THEN \ MOV EAX, [EDI] |
||
491 | DUP 088B = IF 2_GD_STEP EXIT THEN \ MOV ECX, [EAX] |
||
492 | DUP 098B = IF 2_GD_STEP EXIT THEN \ MOV ECX, [ECX] |
||
493 | DUP 0A8B = IF 2_GD_STEP EXIT THEN \ MOV ECX, [EDX] |
||
494 | DUP 00C6 = IF 3_GD_STEP EXIT THEN \ MOV [EAX] , # x |
||
495 | DUP 0688D = IF 3_GD_STEP EXIT THEN \ LEA EBP, 4 [EAX] |
||
496 | DUP 0428D = IF 3_GD_STEP EXIT THEN \ LEA EAX , FE [EDX] |
||
497 | DUP 0498D = IF 3_GD_STEP EXIT THEN \ LEA ECX, -1 [ECX] |
||
498 | DUP 0488D = IF 3_GD_STEP EXIT THEN \ LEA ECX , FC [EAX] |
||
499 | |||
500 | DUP 07F8D = IF 3_GD_STEP EXIT THEN \ LEA EDI, -1 [EDI] |
||
501 | DUP 0528D = IF 3_GD_STEP EXIT THEN \ LEA EDX, -4 [EDX] |
||
502 | \ DUP 01C8D = IF 3_GD_STEP EXIT THEN \ LEA EBX, [EDX] [EAX] |
||
503 | DUP 0038F = IF 2_GD_STEP EXIT THEN \ POP [EBX] |
||
504 | DUP 05DD1 = IF 3_GD_STEP EXIT THEN \ RCR [EBP], # 1 |
||
505 | DUP 0D0D1 = IF 2_GD_STEP EXIT THEN \ RCL EAX, # 1 |
||
506 | DUP 065D1 = IF 3_GD_STEP EXIT THEN \ SHL [EBP], # 1 |
||
507 | DUP 0C0C1 = IF 3_GD_STEP EXIT THEN \ ROL [EBP], # 1 |
||
508 | DUP 45FF = IF 3_GD_STEP EXIT THEN \ INC 0 [EBP] |
||
509 | DUP 0310F = IF 2_GD_STEP EXIT THEN \ RDTSC |
||
510 | DUP 873B = IF CR ." cmp " ." eax," .EDI EXIT THEN \ CMP EAX, X [EDI] |
||
511 | DUP 878B = IF CR ." mov " ." eax," .EDI EXIT THEN \ MOV EAX, X [EDI] |
||
512 | DUP 8F8B = IF CR ." mov " ." ecx," .EDI EXIT THEN \ MOV ECX, X [EDI] |
||
513 | DUP 878D = IF CR ." lea " ." eax," .EDI EXIT THEN \ LEA EAX, X [EDI] |
||
514 | DUP 87FF = IF CR ." inc DWORD" .EDI EXIT THEN \ INC 19F9 [EDI] |
||
515 | DUP 8788 = IF CR ." mov al," .EDI EXIT THEN \ MOV 19F9 [EDI] , AL |
||
516 | DUP 8789 = IF CR ." mov " .EDI ." ,eax" EXIT THEN \ MOV X [EDI], EAX |
||
517 | DUP 8703 = IF CR ." add eax," .EDI EXIT THEN \ ADD EAX , X [EDI] |
||
518 | DUP 8733 = IF CR ." xor eax," .EDI EXIT THEN \ XOR EAX , X [EDI] |
||
519 | DUP 87C7 = IF CR ." mov " DROP DUP 6 + @ |
||
520 | H. ." ," DUP @ .EDI 6 + EXIT THEN \ MOV X [EDI], # Y |
||
521 | DUP 45C7 = IF 3_GD_STEP .INT EXIT THEN \ MOV X [EBP], # X |
||
522 | DUP 3D83 = IF 2_GD_STEP .ADR DUP C@ 1_GD_STEP EXIT THEN \ MOV X [EBP], # X |
||
523 | DUP 0533 = IF 2_GD_STEP .ADR EXIT THEN \ XOR X [EBP], X |
||
524 | DUP 0503 = IF 2_GD_STEP .ADR EXIT THEN \ ADD EAX , X |
||
525 | DUP 1501 = IF 2_GD_STEP .ADR EXIT THEN \ ADD X , EDX |
||
526 | DUP 050B = IF 2_GD_STEP .ADR EXIT THEN \ OR EAX , X |
||
527 | DUP 0D3B = IF 2_GD_STEP .ADR EXIT THEN \ CMP ECX , x |
||
528 | DUP 2DF7 = IF 2_GD_STEP .ADR EXIT THEN \ IMUL x |
||
529 | DUP 808D = IF 2_GD_STEP .INT EXIT THEN \ LEA EAX , 8700 [EAX] |
||
530 | DUP 9A8D = IF 2_GD_STEP .INT EXIT THEN \ LEA EBX , 55C298 [EDX] |
||
531 | DUP 01C7 = IF 2_GD_STEP .INT EXIT THEN \ MOV [ECX] , # 424648D |
||
532 | DUP 0C0C7 = IF 2_GD_STEP .INT EXIT THEN \ MOV EAX, # X |
||
533 | DUP 0C1C7 = IF 2_GD_STEP .INT EXIT THEN \ MOV ECX, # X |
||
534 | DUP 0C069 = IF 2_GD_STEP .INT EXIT THEN \ IMUL EAX , EAX , # 4 |
||
535 | DUP 0C3C7 = IF 2_GD_STEP .INT EXIT THEN \ MOV EBX, # X |
||
536 | DUP 05C7 = IF 2_GD_STEP .ADR .INT EXIT THEN \ MOV 5746E5 ( OPT?+5 ) , # FFFFFFFF |
||
537 | DUP6B?0 IF 6_GD_STEP0 EXIT THEN \ MOV EAX, # X |
||
538 | DUP6B?1 IF 6_GD_STEP1 EXIT THEN |
||
539 | DUP 00583 = IF 6_GD_STEP1 |
||
540 | DUP C@ 1_GD_STEP EXIT THEN |
||
541 | DROP |
||
542 | DUP @ FFFFFF AND |
||
543 | DUP 021C8D = IF 3_GD_STEP EXIT THEN |
||
544 | DUP 240401 = IF 3_GD_STEP EXIT THEN \ ADD [ESP] , EAX |
||
545 | DUP C09D0F = IF 3_GD_STEP EXIT THEN \ SETGE AL |
||
546 | DUP C09E0F = IF 3_GD_STEP EXIT THEN \ SETLE AL |
||
547 | DUP 8D1C8D = IF 7_GD_STEP EXIT THEN \ LEA EBX, [ECX*4] |
||
548 | \ CMPXCHG [EAX] , AL| EAX |
||
549 | \ LSS EAX , [EAX] |
||
550 | \ BTR [EAX] , EAX |
||
551 | \ LFS EAX , [EAX] |
||
552 | \ LGS EAX , [EAX] |
||
553 | \ MOVZX EAX , BYTE|WORD PTR [EAX] |
||
554 | \ 0000.0000 1011.1XXX 0000.1111 |
||
555 | DUP FFF8FF |
||
556 | AND 00B00F = IF 3_GD_STEP EXIT THEN |
||
557 | |||
558 | DUP 24442B = IF 4_GD_STEP EXIT THEN \ SUB EAX, X [ESP] |
||
559 | DUP 24648D = IF 4_GD_STEP EXIT THEN \ LEA ESP, X [ESP] |
||
560 | \ MOV|LEA EAX, X [E__] [E__*X] |
||
561 | \ MOV|LEA X [E__] [E__*X], EAX |
||
562 | \ POP X [E__] [E__*X] |
||
563 | \ XXXX.X1XX 0100.0100 1000.1XX1 |
||
564 | DUP 04FFF9 |
||
565 | AND 044489 = IF 4_GD_STEP EXIT THEN |
||
566 | DUP 035C8D = IF 4_GD_STEP EXIT THEN \ MOV EBX, X [EBX] [EAX] |
||
567 | DUP 03448B = IF 4_GD_STEP EXIT THEN \ MOV EAX, X [EBX] [EAX] |
||
568 | DUP 03B60F = IF 3_GD_STEP EXIT THEN \ MOVZX EAX, BYTE PTR [EBX] |
||
569 | DUP 18B60F = IF 3_GD_STEP EXIT THEN \ MOVZX EBX, BYTE PTR [EAX] |
||
570 | DUP 31348B = IF 3_GD_STEP EXIT THEN \ MOV ESI, [ESI+ECX] |
||
571 | DUP 40B60F = IF 4_GD_STEP EXIT THEN \ MOVZX EAX , BYTE PTR x [EAX] |
||
572 | DUP 345C8B = IF 4_GD_STEP EXIT THEN \ LEA EAX , [EAX] [ECX*4] |
||
573 | DUP 0E348B = IF 3_GD_STEP EXIT THEN \ MOV ESI, [ESI] [ECX] |
||
574 | DUP 03048D = IF 3_GD_STEP EXIT THEN \ LEA EAX, [EBX] [EAX] |
||
575 | DUP 355C89 = IF 4_GD_STEP EXIT THEN \ MOV EBX, [ESI+ESP-4] |
||
576 | DUP 30748B = IF 4_GD_STEP EXIT THEN \ MOV ESI, [1+ESI+EAX] |
||
577 | DUP 88048D = IF 3_GD_STEP EXIT THEN \ LEA EAX , [EAX] [ECX*4] |
||
578 | DUP 02048D = IF 3_GD_STEP EXIT THEN \ LEA EAX, [EDX] [EAX] |
||
579 | DUP 06748B = IF 4_GD_STEP EXIT THEN \ MOV ESI, 1 [ESI] [EAX] |
||
580 | DUP 245C8B = IF 4_GD_STEP EXIT THEN \ MOV EBX, 8 [ESP] |
||
581 | DUP 244C8B = IF 4_GD_STEP EXIT THEN \ MOV ECX, 8 [ESP] |
||
582 | DUP 2E5C89 = IF 4_GD_STEP EXIT THEN \ MOV -4 [ESI] [EBP], EBX |
||
583 | DUP 045C89 = IF 4_GD_STEP EXIT THEN \ MOV 4 [ESP] [EAX], EBX |
||
584 | DUP 2E74FF = IF 4_GD_STEP EXIT THEN \ PUSH -4 [ESI] [EBP] |
||
585 | DUP 3574FF = IF 4_GD_STEP EXIT THEN \ PUSH -4 [EBP] [ESI] |
||
586 | DUP 240CFF = IF 3_GD_STEP EXIT THEN \ DEC [ESP] |
||
587 | DUP 09B70F = IF 3_GD_STEP EXIT THEN \ MOVZX ECX , WORD PTR X [ECX] |
||
588 | DUP 40B70F = IF 4_GD_STEP EXIT THEN \ MOVZX EAX , WORD PTR X [EAX] |
||
589 | DUP 42B60F = IF 4_GD_STEP EXIT THEN \ MOVZX EAX , WORD PTR X [EDX] |
||
590 | DUP 24048B = IF 3_GD_STEP EXIT THEN \ MOV EAX, 0 [ESP] |
||
591 | DUP 240C8B = IF 3_GD_STEP EXIT THEN \ MOV ECX , [ESP] |
||
592 | DUP 1048B = IF 3_GD_STEP EXIT THEN \ MOV EAX , [ECX] [EAX] |
||
593 | |||
594 | DUP 01048D = IF 3_GD_STEP EXIT THEN \ LEA EAX , [ECX] [EAX] |
||
595 | DUP C0BE0F = IF 3_GD_STEP EXIT THEN \ MOV EAX, AL |
||
596 | DUP 0045C7 = IF 3_GD_STEP .INT EXIT THEN \ MOV 0 [EBP], # 0 |
||
597 | DUP 240481 = IF 3_GD_STEP .INT EXIT THEN \ ADD [ESP] , # 4 |
||
598 | |||
599 | DUP B5348D = IF 3_GD_STEP .INT EXIT THEN \ LEA ESI, [ESI*4] |
||
600 | DUP 8D0C8D = IF 3_GD_STEP .INT EXIT THEN \ LEA ECX, [ECX*4] |
||
601 | DUP 84248D = IF 3_GD_STEP EXIT THEN \ LEA ESP, [ESP] [EAX*4] |
||
602 | |||
603 | |||
604 | DUP 244C2B = IF 4_GD_STEP EXIT THEN \ SUB ECX , 4 [ESP] |
||
605 | DUP 04B60F = IF 4_GD_STEP EXIT THEN \ MOVZX EAX, BYTE [EDI] [ESI] |
||
606 | DUP 243C83 = IF 4_GD_STEP EXIT THEN \ CMP [ESP] , # 0 |
||
607 | DUP7B? IF 7_GD_STEP EXIT THEN |
||
608 | DUP 2404FF = IF 3_GD_STEP EXIT THEN \ INC [ESP] |
||
609 | DUP 241C8B = IF 3_GD_STEP EXIT THEN \ MOV EBX, [ESP] |
||
610 | DUP 240403 = IF 3_GD_STEP EXIT THEN \ ADD EAX , [ESP] |
||
611 | DUP 87B60F = IF CR ." movzx eax,BYTE" DROP 1+ DUP .EDI EXIT THEN \ MOVZX EAX , BYTE PTR 19E3 [EDI] |
||
612 | CR H. TRUE ABORT" UNKNOWN CODE" |
||
613 | ; |
||
614 | |||
615 | : GDIS ( A-limit A-init -- ) |
||
616 | \ CR ." VV=" 2DUP H. H. 2DUP - . |
||
617 | BEGIN |
||
618 | \ H-STDOUT 1 TO H-STDOUT ." ." TO H-STDOUT |
||
619 | GD-STEP 2DUP U> 0= |
||
620 | UNTIL 2DROP ; |
||
621 | BASE ! |
||
622 | \EOF |
||
623 | 2DUP S" MOD" COMPARE 0= IF 2DROP ." _MOD" BREAK |
||
624 | 2DUP S" DUP" COMPARE 0= IF 2DROP ." _DUP" BREAK |
||
625 | 2DUP S" OR" COMPARE 0= IF 2DROP ." _OR" BREAK |
||
626 | 2DUP S" XOR" COMPARE 0= IF 2DROP ." _XOR" BREAK |
||
627 | 2DUP S" AND" COMPARE 0= IF 2DROP ." _AND" BREAK |
||
628 | 2DUP S" CMOVE" COMPARE 0= IF 2DROP ." _CMOVE" BREAK |
||
629 | 2DUP S" TYPE" COMPARE 0= IF 2DROP ." _TYPE" BREAK |
||
630 | 2DUP S" ALIGN" COMPARE 0= IF 2DROP ." _ALIGN" BREAK |
||
631 | 2DUP S" TITLE" COMPARE 0= IF 2DROP ." _TITLE" BREAK |
||
632 | 2DUP S" LT" COMPARE 0= IF 2DROP ." _LT" BREAK |
||
633 | 2DUP S" BL" COMPARE 0= IF 2DROP ." _BL" BREAK |
||
634 | 2DUP S" DP" COMPARE 0= IF 2DROP ." _DP" BREAK |
||
635 | 2DUP S" TRUE" COMPARE 0= IF 2DROP ." _TRUE" BREAK |
||
636 | 2DUP S" FALSE" COMPARE 0= IF 2DROP ." _FALSE" BREAK |
||
637 | 2DUP S" LOOP" COMPARE 0= IF 2DROP ." _LOOP" BREAK |