// Path: src/main/java/com/amanvishnani/sim8085/domain/IData.java
// public interface IData {
//     IData ZERO = Data.from("00");
//     String hexValue();
//     Integer intValue();
//     IOperationResult add(IData data);
//     IOperationResult add(IData data, Integer carry);
//     IOperationResult minus(IData data);
//     IRegister toRegister();
//     public IData getLSB();
// }
// 
// Path: src/main/java/com/amanvishnani/sim8085/domain/IRegister.java
// public interface IRegister extends IData {
//     void update(IData data);
// }


import com.amanvishnani.sim8085.domain.IData;
import com.amanvishnani.sim8085.domain.IRegister;
package com.amanvishnani.sim8085.domain.Impl;


public class Register extends Data implements IRegister {

    protected Register(String dataValue) {
        super(dataValue);
    }

    public static IRegister makeRegister() {
        return new Register("00");
    }

// Path: src/main/java/com/amanvishnani/sim8085/domain/IData.java
// public interface IData {
//     IData ZERO = Data.from("00");
//     String hexValue();
//     Integer intValue();
//     IOperationResult add(IData data);
//     IOperationResult add(IData data, Integer carry);
//     IOperationResult minus(IData data);
//     IRegister toRegister();
//     public IData getLSB();
// }
// 
// Path: src/main/java/com/amanvishnani/sim8085/domain/IRegister.java
// public interface IRegister extends IData {
//     void update(IData data);
// }


// Path: src/main/java/com/amanvishnani/sim8085/domain/Impl/Register.java
import com.amanvishnani.sim8085.domain.IData;
import com.amanvishnani.sim8085.domain.IRegister;

package com.amanvishnani.sim8085.domain.Impl;


public class Register extends Data implements IRegister {

    protected Register(String dataValue) {
        super(dataValue);
    }

    public static IRegister makeRegister() {
        return new Register("00");
    }

    public void update(IData data) {