Update of /cvsroot/win32forth/win32forth-stc/src/kernel
In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv23946/src/kernel
Modified Files:
gkernel.f
Log Message:
- 3reverse and 4reverse added to the kernel
- MM benchmark added
- Moved the benchmarks into a seperate folder
Index: gkernel.f
===================================================================
RCS file: /cvsroot/win32forth/win32forth-stc/src/kernel/gkernel.f,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** gkernel.f 30 Sep 2006 23:30:52 -0000 1.6
--- gkernel.f 1 Oct 2006 07:38:44 -0000 1.7
***************
*** 789,793 ****
code 3dup ( n1 n2 n3 -- n1 n2 n3 n1 n2 n3 )
3 6 in/out
! mov edx, [ebp] \ n2
mov ecx, 4 [ebp] \ n1
mov -4 [ebp], eax \ n3
--- 789,793 ----
code 3dup ( n1 n2 n3 -- n1 n2 n3 n1 n2 n3 )
3 6 in/out
! mov edx, [ebp] \ n2
mov ecx, 4 [ebp] \ n1
mov -4 [ebp], eax \ n3
***************
*** 798,802 ****
code 4dup ( n1 n2 n3 n4 -- n1 n2 n3 n4 n1 n2 n3 n4 )
4 8 in/out
! mov edx, [ebp] \ n3
mov ecx, 4 [ebp] \ n2
mov edi, 8 [ebp] \ n1
--- 798,802 ----
code 4dup ( n1 n2 n3 n4 -- n1 n2 n3 n4 n1 n2 n3 n4 )
4 8 in/out
! mov edx, [ebp] \ n3
mov ecx, 4 [ebp] \ n2
mov edi, 8 [ebp] \ n1
***************
*** 807,810 ****
--- 807,830 ----
next;
+ code 3reverse ( n1 n2 n3 -- n3 n2 n1 )
+ \ *G exchange first and third items on data stack
+ 3 3 in/out
+ mov ecx, 4 [ebp]
+ mov 4 [ebp], eax
+ mov eax, ecx
+ next;
+
+ code 4reverse ( n1 n2 n3 n4 -- n4 n3 n2 n1 )
+ \ *G exchange first and fourth plus second and third items on the data stack
+ 4 4 in/out
+ mov ecx, 8 [ebp]
+ mov 8 [ebp], eax
+ mov eax, ecx
+ mov edx, 0 [ebp]
+ mov ecx, 4 [ebp]
+ mov 4 [ebp], edx
+ mov 0 [ebp], ecx
+ next;
+
\ -------------------- Memory operators -------------------------------
|