File tree Expand file tree Collapse file tree 4 files changed +16
-1
lines changed
Expand file tree Collapse file tree 4 files changed +16
-1
lines changed Original file line number Diff line number Diff line change 161161-2009 Library not found
162162-2010 Procedure not found
163163-2011 Unknown vocabulary
164+ -2301 macroopt: ���ਥ����� OP0 ��। �믮������� SetOP
1641650xC0000001L UNSUCCESSFUL
1651660x00000000L WAIT_0
1661670x00000080L ABANDONED_WAIT_0
Original file line number Diff line number Diff line change 161161-2009 Library not found
162162-2010 Procedure not found
163163-2011 Unknown vocabulary
164+ -2301 macroopt: unacceptable OP0 before executing SetOP
1641650xC0000001L UNSUCCESSFUL
1651660x00000000L WAIT_0
1661670x00000080L ABANDONED_WAIT_0
Original file line number Diff line number Diff line change 5959DROP
6060
6161: SetOP ( -- )
62+ DP @ OP0 @ = IF -8FD THROW THEN \ -2301 THROW \ do not alow OP1 be the same as OP0
6263 OP0 OP1 OpBuffSize CELL- CMOVE>
6364 DP @ OP0 !
6465;
66+ ( Ìíîãèå ïðàâèëà îïòèìèçàòîðà ðàáîòàþò íåâåðíî åñëè OP0 óêàçûâàåò íà òîò æå àäðåñ ÷òî è OP1
67+ Òàêîå ìîæåò ïðîèçîéòè åñëè ìåæäó âûçîâûìè SetOP çíà÷åíèå HERE íå ìåíÿåòñÿ,
68+ èëè OP0 óêàçûâàåò íà HERE ïåðåä âûçîâîì SetOP [â òîì ÷èñëå êàê ñëåäñòâèå].
69+
70+ Ïîýòîìó, â SetOP äîáàâëåíà çàùèòà îò òàêîé ñèòóàöèè.
71+
72+ Äî ââåäåíèÿ çàùèòû îøèáêó äåìîíñòðèðîâàë êîä:
73+ SetOP 1 2 :NONAME SWAP ; EXECUTE . . \ -> 5687064 1
74+  ýòîì ñëó÷àå íåâåðíî ñðàáàòûâàåò ïðàâèëî "M\ 15A" ò.ê. OP1 ... MOV_EDX_[EBP] ... äàåò TRUE
75+ â ñèëó òîãî, ÷òî âûðàæåíèå [ OP1 ] "@ 2+ C@ OP0 @ 2+ C@ =" òîæäåñòâåííî TRUE.
76+
77+ 2015-12-26 ~ruv
78+ )
6579
6680: ToOP0 ( OPn -- )
6781 OP0 OpBuffSize CELL- CMOVE ;
Original file line number Diff line number Diff line change 202202[ELSE]
203203: (INIT)
204204[THEN]
205- SetOP
206205 NATIVE-LINES
207206 0 TO H-STDLOG
208207 CONSOLE-HANDLES
You can’t perform that action at this time.
0 commit comments