     public mutating func LD(_ register: inout UInt8, address: Address) {
         register = memory.read(address)
     }
-    
+
+    /// `LD ($FF00 + a8), d8`
     public mutating func LDH(offset: UInt8, _ value: UInt8) {
         let address = Address(0xFF, offset)
         memory.write(address, value)
     }
-    
+
+    /// `LD r, ($FF00 + a8)`
     public mutating func LDH(_ register: inout UInt8, offset: UInt8) {
         let address = Address(0xFF, offset)
         register = memory.read(address)
     }
-    
+
+    /// `LD HL, ($FF00 + a8)`
     public mutating func LDHL(offset: Int8) {
         ZFlag = false
         NFlag = false

        register = register &- value
    }
    
    /// `ADD r, (a16)`
    public mutating func SUB(_ register: inout UInt8, address: Address) {
        ADD(&register, memory.read(address))
    }

    public mutating func XOR(_ register: inout UInt8, _ value: UInt8) {
        register = register ^ value


        CFlag = false
    }

    /// `AND r, (a16)`
    public mutating func AND(_ register: inout UInt8, address: Address) {
        AND(&A, memory.read(address))
    }

    /// `LD nn, n` - 8-bit load into register
