Changeset d7c07f5bca84…
Parent 4bb55a03c247…
by Benjamin Pollack
Changes to one file · Browse files at d7c07f5bca84 Showing diff from parent 4bb55a03c247 Diff from another changeset...
@@ -1,49 +1,49 @@ - // This file is part of www.nand2tetris.org
-// and the book "The Elements of Computing Systems"
-// by Nisan and Schocken, MIT Press.
-// File name: projects/02/ALU.hdl
-
-/**
- * The ALU. Computes one of the following functions:
- * x+y, x-y, y-x, 0, 1, -1, x, y, -x, -y, !x, !y,
- * x+1, y+1, x-1, y-1, x&y, x|y on two 16-bit inputs,
- * according to 6 input bits denoted zx,nx,zy,ny,f,no.
- * The bit-combinations that yield each function are
- * documented in the book. In addition, the ALU
- * computes two 1-bit outputs: if the ALU output
- * is 0, zr is set to 1; otherwise zr is set to 0;
- * If out<0, ng is set to 1; otherwise ng is set to 0.
- */
-
-// Implementation: the ALU manipulates the x and y
-// inputs and then operates on the resulting values,
-// as follows:
-// if (zx==1) set x = 0 // 16-bit constant
-// if (nx==1) set x = ~x // bitwise "not"
-// if (zy==1) set y = 0 // 16-bit constant
-// if (ny==1) set y = ~y // bitwise "not"
-// if (f==1) set out = x + y // integer 2's complement addition
-// if (f==0) set out = x & y // bitwise "and"
-// if (no==1) set out = ~out // bitwise "not"
-// if (out==0) set zr = 1
-// if (out<0) set ng = 1
-
-
-CHIP ALU {
- IN
- x[16], y[16], // 16-bit inputs
- zx, // zero the x input?
- nx, // negate the x input?
- zy, // zero the y input?
- ny, // negate the y input?
- f, // compute out = x + y (if 1) or out = x & y (if 0)
- no; // negate the out output?
-
- OUT
- out[16], // 16-bit output
- zr, // 1 if (out==0), 0 otherwise
- ng; // 1 if (out<0), 0 otherwise
-
- PARTS:
- // Put you code here:
-}
\ No newline at end of file+ // This file is part of www.nand2tetris.org
+// and the book "The Elements of Computing Systems"
+// by Nisan and Schocken, MIT Press.
+// File name: projects/02/ALU.hdl
+
+/**
+ * The ALU. Computes one of the following functions:
+ * x+y, x-y, y-x, 0, 1, -1, x, y, -x, -y, !x, !y,
+ * x+1, y+1, x-1, y-1, x&y, x|y on two 16-bit inputs,
+ * according to 6 input bits denoted zx,nx,zy,ny,f,no.
+ * The bit-combinations that yield each function are
+ * documented in the book. In addition, the ALU
+ * computes two 1-bit outputs: if the ALU output
+ * is 0, zr is set to 1; otherwise zr is set to 0;
+ * If out<0, ng is set to 1; otherwise ng is set to 0.
+ */
+
+// Implementation: the ALU manipulates the x and y
+// inputs and then operates on the resulting values,
+// as follows:
+// if (zx==1) set x = 0 // 16-bit constant
+// if (nx==1) set x = ~x // bitwise "not"
+// if (zy==1) set y = 0 // 16-bit constant
+// if (ny==1) set y = ~y // bitwise "not"
+// if (f==1) set out = x + y // integer 2's complement addition
+// if (f==0) set out = x & y // bitwise "and"
+// if (no==1) set out = ~out // bitwise "not"
+// if (out==0) set zr = 1
+// if (out<0) set ng = 1
+
+
+CHIP ALU {
+ IN
+ x[16], y[16], // 16-bit inputs
+ zx, // zero the x input?
+ nx, // negate the x input?
+ zy, // zero the y input?
+ ny, // negate the y input?
+ f, // compute out = x + y (if 1) or out = x & y (if 0)
+ no; // negate the out output?
+
+ OUT
+ out[16], // 16-bit output
+ zr, // 1 if (out==0), 0 otherwise
+ ng; // 1 if (out<0), 0 otherwise
+
+ PARTS:
+ // Put you code here:
+}
|
Loading...