git-svn-id: https://svn.code.sf.net/p/kolmck/code@24 91bb2d04-0c0c-4d2d-88a5-bbb6f4c1fa07
This commit is contained in:
11
KOLadd.pas
11
KOLadd.pas
@@ -42,6 +42,7 @@ unit KOLadd;
|
|||||||
interface
|
interface
|
||||||
|
|
||||||
{$I KOLDEF.INC}
|
{$I KOLDEF.INC}
|
||||||
|
{$INCLUDE delphidef.inc}
|
||||||
|
|
||||||
uses Windows, Messages, KOL;
|
uses Windows, Messages, KOL;
|
||||||
|
|
||||||
@@ -1133,7 +1134,7 @@ asm
|
|||||||
MOV EAX, [EAX].fList
|
MOV EAX, [EAX].fList
|
||||||
{TEST EAX, EAX
|
{TEST EAX, EAX
|
||||||
JZ @@exit}
|
JZ @@exit}
|
||||||
MOV EAX, [EAX].TList.fItems
|
MOV EAX, [EAX].TBitsList.fItems
|
||||||
BT [EAX], EDX
|
BT [EAX], EDX
|
||||||
SETC AL
|
SETC AL
|
||||||
@@exit:
|
@@exit:
|
||||||
@@ -1306,7 +1307,7 @@ procedure TBits.SetBit(Idx: Integer; const Value: Boolean);
|
|||||||
asm
|
asm
|
||||||
PUSH ECX
|
PUSH ECX
|
||||||
MOV ECX, [EAX].fList
|
MOV ECX, [EAX].fList
|
||||||
MOV ECX, [ECX].TList.fCapacity
|
MOV ECX, [ECX].TBitsList.fCapacity
|
||||||
SHL ECX, 5
|
SHL ECX, 5
|
||||||
CMP EDX, ECX
|
CMP EDX, ECX
|
||||||
JLE @@1
|
JLE @@1
|
||||||
@@ -1327,7 +1328,7 @@ asm
|
|||||||
@@2:
|
@@2:
|
||||||
POP ECX
|
POP ECX
|
||||||
MOV EAX, [EAX].fList
|
MOV EAX, [EAX].fList
|
||||||
MOV EAX, [EAX].TList.fItems
|
MOV EAX, [EAX].TBitsList.fItems
|
||||||
SHR ECX, 1
|
SHR ECX, 1
|
||||||
JC @@2set
|
JC @@2set
|
||||||
BTR [EAX], EDX
|
BTR [EAX], EDX
|
||||||
@@ -2272,7 +2273,7 @@ asm
|
|||||||
JMP @@exit
|
JMP @@exit
|
||||||
@@fault:
|
@@fault:
|
||||||
XCHG EAX, EBX
|
XCHG EAX, EBX
|
||||||
CALL TObj.Free
|
CALL TObj.Destroy
|
||||||
@@exit:
|
@@exit:
|
||||||
XCHG EAX, EBX
|
XCHG EAX, EBX
|
||||||
POP EBX
|
POP EBX
|
||||||
@@ -2340,7 +2341,7 @@ asm
|
|||||||
MOV ECX, [EBX].FMonitor
|
MOV ECX, [EBX].FMonitor
|
||||||
JECXZ @@no_monitor
|
JECXZ @@no_monitor
|
||||||
XCHG EAX, ECX
|
XCHG EAX, ECX
|
||||||
CALL TObj.Free
|
CALL TObj.Destroy
|
||||||
@@no_monitor:
|
@@no_monitor:
|
||||||
MOV ECX, [EBX].FHandle
|
MOV ECX, [EBX].FHandle
|
||||||
JECXZ @@exit
|
JECXZ @@exit
|
||||||
|
Reference in New Issue
Block a user