Posted by
jonk on
Mar 01, 2016; 7:13am
URL: http://nand2tetris-questions-and-answers-forum.52.s1.nabble.com/Special-XOR-for-half-adder-and-full-adder-tp4029600p4029601.html
Oh, cripes. I just found out how. I do this:
CHIP XorS {
IN a, b;
OUT sum, ncarry;
PARTS:
Nand( a=a, b=b, out=p, out=ncarry );
Nand( a=a, b=p, out=q );
Nand( a=p, b=b, out=r );
Nand( a=q, b=r, out=sum );
}
CHIP HalfAdder {
IN a, b;
OUT sum, carry;
PARTS:
XorS( a=a, b=b, sum=sum, ncarry=nc );
Nand( a=nc, b=true, out=carry );
}
CHIP FullAdder {
IN a, b, c;
OUT sum, carry;
PARTS:
XorS( a=a, b=b, sum=sumab, ncarry=nc1 );
XorS( a=sumab, b=c, sum=sum, ncarry=nc2 );
Nand( a=nc1, b=nc2, out=carry );
}
I just needed to read the survival guide better. Tricky!
Jon