6 [EXTERN _g_VectorDelta]
10 ;;; Note: The reason for this OSX stuff is that there is a bug in the mac
11 ;;; version of nasm. See comments in data.c for more details.
13 [GLOBAL g_NasmVectorDelta]
14 [GLOBAL _g_NasmVectorDelta]
20 [GLOBAL g_NasmPieceData]
21 [GLOBAL _g_NasmPieceData]
27 [EXTERN _g_VectorDelta]
38 ;; LastBit(BITBOARD bb)
55 ;; FirstBit(BITBOARD bb)
72 ;; CountBits(BITBOARD bb)
91 db 43h,30h,50h,56h,72h,31h,47h,34h,54h,20h,32h,30h,30h
92 db 36h,20h,53h,63h,30h,74h,74h,20h,47h,61h,73h,63h,34h
97 %define uSide ebp+0x14
98 %define cSquare ebp+0x10
106 %define pOldList ebp-0x10
110 %define _cNonPawns 0x478
111 %define _uNonPawnCount 0x500
112 %define _rgSquare 0x0
116 ;; GetAttacks(SEE_LIST *pList, ; ebp + 8
117 ;; POSITION *pos, ; ebp + 0xC
118 ;; COOR cSquare, ; ebp + 0x10
119 ;; ULONG uSide) ; ebp + 0x14
126 [GLOBAL LockCompareExchange]
127 [GLOBAL _LockCompareExchange]
128 %define uComp esp+0xC
133 ;; LockCompareExchange(void *dest, ; esp + 4
134 ;; ULONG exch, ; esp + 8
135 ;; ULONG comp) ; esp + C
138 _LockCompareExchange:
142 lock cmpxchg dword [ecx], edx
146 [GLOBAL LockIncrement]
147 [GLOBAL _LockIncrement]
150 ;; LockIncrement(ULONG *pDest)
161 [GLOBAL LockDecrement]
162 [GLOBAL _LockDecrement]
165 ;; LockDecrement(ULONG *pDest)