InterlockedExchangeAdd64 for Delphi
{$IFDEF CPUX86} function InterlockedExchangeAdd64(var Addend: Int64; Value: longword): Int64; register; asm PUSH EDI PUSH ESI PUSH EBX MOV EDI, EAX MOV ESI, EDX MOV EAX, [EDI] MOV EDX, [EDI+4] @@1: MOV ECX, EDX MOV EBX, EAX ADD EBX, ESI ADC ECX, 0 LOCK CMPXCHG8B [EDI] JNZ @@1 POP EBX POP ESI POP EDI end; {$ENDIF} {$IFDEF CPUX64} function InterlockedExchangeAdd64(var Addend: Int64; Value: longword): Int64; register; asm .NOFRAME MOV RAX, RDX LOCK XADD [RCX], RAX end; {$ENDIF}
참고자료
A simple IDE for Java Script programming (0) | 2016.04.16 |
---|---|
오브젝트 파스칼 입문서 (0) | 2014.12.07 |
Snappy for Delphi (0) | 2014.02.27 |
온라인 강의 - UI 분리 개발 (0) | 2013.12.06 |
TRichEdit 에서 URL 클릭하기 & 스크롤 락 기능 추가 (0) | 2013.09.30 |