// This file is part of www.nand2tetris.org
// and the book "The Elements of Computing Systems"
// by Nisan and Schocken, MIT Press.
// File name: tools/builtIn/PC.hdl

/**
 * 16-bit counter with load and reset controls.
 *
 * If reset(t-1) then out(t) = 0
 *    else if load(t-1) then out(t) = in(t-1)
 *         else if inc(t-1) then out(t) = out(t-1) + 1 (integer addition)
 *              else out(t) = out(t-1)
 */

CHIP PC {

    IN  in[16], load, inc, reset;
    OUT out[16];

    BUILTIN PC;
    CLOCKED in, load, inc, reset;
}
