[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[f-cpu] manual 0.27c



Hi,

 the manual states on page 88 (instruction sub):

The borrow flag (same as carry) indicates that the borrow value is written 
to register number (r1^1). If no borrow has been generated, the neighbour 
register is cleared, otherwise the neighbour register is set to 1.

The examples show that it is set to 0xFF. Furthermore there is the order
inconsitent is the description. First it states r2 - r3 and a few lines
later (r3 - r2). The example shows r2 - r3.

There are some other corrections in the patch which is attached.
Please have a look.

KH

-- 
// In a world without walls and fences who needs Windows and Gates ? //
diff -Nur F-CPU_manual-0.2.7c-en.orig/src/i7/Draft/Integer/cmple.tex F-CPU_manual-0.2.7c-en/src/i7/Draft/Integer/cmple.tex
--- F-CPU_manual-0.2.7c-en.orig/src/i7/Draft/Integer/cmple.tex	Sat Nov 16 17:25:49 2002
+++ F-CPU_manual-0.2.7c-en/src/i7/Draft/Integer/cmple.tex	Tue Dec  3 12:35:34 2002
@@ -52,9 +52,9 @@
 R2 contains 0x0000000700000001
 
 {\tt
-{\bf scmpl.b r1,r2,r3 }: r3 = 0xFFFFFF00FFFFFFFF\\
-{\bf scmpl.b r2,r1,r3 }: r3 = 0xFFFFFFFFFFFFFF00\\
-{\bf cmpl r1,r2,r3 }: r3 = 0x0000000000000000
+{\bf scmple.b r1,r2,r3 }: r3 = 0xFFFFFF00FFFFFFFF\\
+{\bf scmple.b r2,r1,r3 }: r3 = 0xFFFFFFFFFFFFFF00\\
+{\bf cmple r1,r2,r3 }: r3 = 0x0000000000000000
 }
 
 {\bf Performance (FC0 only) :}
diff -Nur F-CPU_manual-0.2.7c-en.orig/src/i7/Draft/Integer/mac.tex F-CPU_manual-0.2.7c-en/src/i7/Draft/Integer/mac.tex
--- F-CPU_manual-0.2.7c-en.orig/src/i7/Draft/Integer/mac.tex	Sat Nov 16 17:25:49 2002
+++ F-CPU_manual-0.2.7c-en/src/i7/Draft/Integer/mac.tex	Tue Dec  3 14:54:48 2002
@@ -83,7 +83,7 @@
 R2 contains 0x36\\
 R3 contains 0x0136
 
-{\tt{\bf mac.b r1,r2,r3 }: r3 = 0x0868\\
+{\tt{\bf mac.b r1,r2,r3 }: r3 = 0x0898\\
 }
 
 \begin{center}
diff -Nur F-CPU_manual-0.2.7c-en.orig/src/i7/Draft/Integer/max.tex F-CPU_manual-0.2.7c-en/src/i7/Draft/Integer/max.tex
--- F-CPU_manual-0.2.7c-en.orig/src/i7/Draft/Integer/max.tex	Sat Nov 16 17:25:49 2002
+++ F-CPU_manual-0.2.7c-en/src/i7/Draft/Integer/max.tex	Tue Dec  3 12:43:07 2002
@@ -46,7 +46,7 @@
 
 {\tt
 {\bf smax.b r1,r2,r3 }: r3 = 0x0000000700000003\\
-{\bf max r1,r2,r3 }: r3 = 0x0000000700000003
+{\bf max r1,r2,r3 }: r3 = 0x0000000700000001
 }
 
 {\bf Performance (FC0 only) :}
diff -Nur F-CPU_manual-0.2.7c-en.orig/src/i7/Draft/Integer/mul.tex F-CPU_manual-0.2.7c-en/src/i7/Draft/Integer/mul.tex
--- F-CPU_manual-0.2.7c-en.orig/src/i7/Draft/Integer/mul.tex	Sat Nov 16 17:25:49 2002
+++ F-CPU_manual-0.2.7c-en/src/i7/Draft/Integer/mul.tex	Tue Dec  3 11:48:10 2002
@@ -80,12 +80,12 @@
 
 {\em SIMD :}
 
-R1 contains 0x00 00 00 00 00 00 00 00 (in a 64-bit system)\\
-R2 contains 0x00 00 00 00 00 00 00 00
+R1 contains 0x00 00 00 23 00 00 00 03 (in a 64-bit system)\\
+R2 contains 0x00 00 00 36 00 00 00 05
 
 {\tt
-{\bf smul.b r1,r2,r3 }: r3 = 0x00 00 00 00 00 00 00 00 \\
-{\bf smulh.b r1,r2,r3 }: r3 = 0x00 00 00 00 00 00 00 00 , r4 = 0x00 00 00 00
+{\bf smul.b r1,r2,r3 }: r3 = 0x00 00 00 62 00 00 00 0F \\
+{\bf smulh.b r1,r2,r3 }: r3 = 0x00 00 00 62 00 00 00 0F , r4 = 0x00 00 00 07
 00 00 00 00\\
 }
 
diff -Nur F-CPU_manual-0.2.7c-en.orig/src/i7/Draft/Integer/nabs.tex F-CPU_manual-0.2.7c-en/src/i7/Draft/Integer/nabs.tex
--- F-CPU_manual-0.2.7c-en.orig/src/i7/Draft/Integer/nabs.tex	Sat Nov 16 17:25:49 2002
+++ F-CPU_manual-0.2.7c-en/src/i7/Draft/Integer/nabs.tex	Tue Dec  3 14:50:42 2002
@@ -19,8 +19,8 @@
 ~~~~~~
 This instruction negates the source operand in a special unit that
 is designed for low latency when large data are processed. If the sign bit
-(MSB) of the source is set (the number is negative) then the value is 
-written back to the register set, or else (it is already positive) the result
+(MSB) of the source is not set (the number is positive) then the value is 
+written back to the register set, or else (it is already negative) the result
 is cancelled (that's how it works in scalar mode, not in SIMD mode...).
 
 ~~~~~~
diff -Nur F-CPU_manual-0.2.7c-en.orig/src/i7/Draft/Integer/sub.tex F-CPU_manual-0.2.7c-en/src/i7/Draft/Integer/sub.tex
--- F-CPU_manual-0.2.7c-en.orig/src/i7/Draft/Integer/sub.tex	Sat Nov 16 17:25:49 2002
+++ F-CPU_manual-0.2.7c-en/src/i7/Draft/Integer/sub.tex	Tue Dec  3 15:07:23 2002
@@ -32,8 +32,7 @@
 
 \item The {\bf borrow} flag (same as carry) indicates that the borrow
 value is written to register number (r1\xor1). If no borrow has been generated,
-the neighbour register is cleared, otherwise the neighbour register is set to
-1.
+the neighbour register is cleared, otherwise the neighbour register is set.
 \end{itemize}