         }
     }
 
+    /// The BC register
+    /// A 16-bit register made from the 8-bit B and C registers
     public var BC: UInt16 {
         get {
             return UInt16(B) << 8 | UInt16(C)


// Pseudo 16-bit registers
public extension CPU {
    public var AF: UInt16 {
        get {
            return UInt16(A) << 8 | UInt16(F)

    /// The L register
    public var L: UInt8 = 0

    /// The CPU's memory
    public var memory: Memory

    /// The number of elapsed cycles
    public var cycle: UInt64 = 0

    /// Create a new CPU with the provided memory
    ///
    /// - parameter memory: the memory this CPU will use
    ///
    /// - returns: a CPU with the provided memory
    public init(memory: Memory) {
        self.memory = memory
    }
