From: George H. <geo...@us...> - 2011-05-11 13:58:45
|
Update of /cvsroot/win32forth/win32forth/src In directory vz-cvs-4.sog:/tmp/cvs-serv25846 Modified Files: CALLBACK.f Log Message: Now handles assynchronous callbacks as well as synchronous ones. Index: CALLBACK.f =================================================================== RCS file: /cvsroot/win32forth/win32forth/src/CALLBACK.f,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** CALLBACK.f 16 Jun 2008 03:35:15 -0000 1.12 --- CALLBACK.f 11 May 2011 13:58:43 -0000 1.13 *************** *** 72,77 **** xor edi, edi \ edi is constant 0 mov edx, fs: 0x14 \ edx is now ptr TIB pvArbitrary ! push SP0 [UP] \ save sp0 on stack mov ebp, esp sub esp, # 4096 32 - \ room for return stack (Not RSTACKSIZE, please!) --- 72,89 ---- xor edi, edi \ edi is constant 0 mov edx, fs: 0x14 \ edx is now ptr TIB pvArbitrary ! test edx, edx ! jnz L$1 ! push # 0 ! mov edx, 0 [esp] ! mov ebp, esp ! sub esp, # 4096 32 - \ room for return stack (Not RSTACKSIZE, please!) ! and esp, # -16 \ align to 16 byte boundary + sub esp, # 4096 \ room for USER area + mov edx, esp + sub esp, # 32 + mov SP0 [UP] , esp \ reset SP0 + jmp L$2 + L$1: push SP0 [UP] \ save sp0 on stack mov ebp, esp sub esp, # 4096 32 - \ room for return stack (Not RSTACKSIZE, please!) *************** *** 79,83 **** mov SP0 [UP] , esp \ reset SP0 ! lea ebx, 7 19 - cells [ebp] [ecx*4] \ adjust ebx neg ecx \ negate ecx lea ecx, 1234 [ecx] [ecx*2] \ calculate jump offset (4 byte lea version!) --- 91,95 ---- mov SP0 [UP] , esp \ reset SP0 ! L$2: lea ebx, 7 19 - cells [ebp] [ecx*4] \ adjust ebx neg ecx \ negate ecx lea ecx, 1234 [ecx] [ecx*2] \ calculate jump offset (4 byte lea version!) |