// 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/1/Mux.hdl /** * Multiplexor: * if (sel = 0) out = a, else out = b */ CHIP Mux { IN a, b, sel; OUT out; PARTS: // sel=0 picks a, sel=1 picks b Not(in=sel, out=tmp1); And(a=a, b=tmp1, out=tmp2); And(a=b, b=sel, out=tmp3); Or(a=tmp2, b=tmp3, out=out); }