From: George H. <geo...@us...> - 2011-07-11 18:50:42
|
Update of /cvsroot/win32forth/win32forth/src/kernel In directory vz-cvs-4.sog:/tmp/cvs-serv28169/kernel Modified Files: fkernel.f Log Message: Fixed .elapsed and tidy up Index: fkernel.f =================================================================== RCS file: /cvsroot/win32forth/win32forth/src/kernel/fkernel.f,v retrieving revision 1.73 retrieving revision 1.74 diff -C2 -d -r1.73 -r1.74 *** fkernel.f 6 Jul 2011 12:04:34 -0000 1.73 --- fkernel.f 11 Jul 2011 18:50:40 -0000 1.74 *************** *** 2633,2643 **** \ -------------------- Parse Input Stream -------------------- ! \ WORD doesn't met the ANS-Standard in Win32Forth. ! \ The standard reqires that a space, not included in the length, must follow ! \ the string. In Win32Forth a NULL follow's the string. ! CODE WORD ( char "<chars>ccc<char>" -- c-addr ) \ parse the input stream ! \ for a string delimited by char. Skip all leading char. Give a ! \ counted string (the string is ended with a null, not included ! \ in count). Use only inside colon definition. push esi mov al, bl \ al = delimiter --- 2633,2641 ---- \ -------------------- Parse Input Stream -------------------- ! CODE WORD ( char "<chars>ccc<char>" -- c-addr ) ! \ parse the input stream for a string delimited by char. Skip all leading char. Give a ! \ counted string (the string is ended with a blank, not included in count). ! \ If char is a blank treat all control characters as delimiter. ! \ Use only inside colon definition. push esi mov al, bl \ al = delimiter *************** *** 2696,2701 **** add edi, # 1 rep movsb \ move rest of word ! xor eax, eax \ clear EAX ! stosb \ append a NULL to pocket xor edi, edi \ edi is zero pop esi --- 2694,2699 ---- add edi, # 1 rep movsb \ move rest of word ! mov eax, # 32 ! stosb \ append a BLANK to pocket xor edi, edi \ edi is zero pop esi *************** *** 3327,3333 **** \ in-application ! : CHAR ( <c> -- char ) \ parse char from input stream and put its ascii ! \ code on stack. If <c> is longer than a char, takes its first char. ! BL WORD 1+ C@ ; : ' ( <name> -- cfa ) \ get cfa of parsed word --- 3325,3333 ---- \ in-application ! : CHAR ( "c" -- char ) ! \ parse char from input stream and put its ascii code on stack. ! \ If <c> is longer than a char, takes its first char. ! \ If parse area is empty return 0. ! BL WORD COUNT 0<> SWAP C@ AND ; : ' ( <name> -- cfa ) \ get cfa of parsed word |