public String[] getFormattedStrings() {
        String[] result = new String[3];
        HVMInstructionSet instructionSet = HVMInstructionSet.getInstance();
        result[1] = "";
        result[2] = "";

        result[0] = instructionSet.instructionCodeToString(opCode);
        if (result[0] == null)
            result[0] = "";

        switch (opCode) {
            case HVMInstructionSet.PUSH_CODE:
                result[1] = instructionSet.segmentCodeToVMString((byte)arg0);
                result[2] = String.valueOf(arg1);
                break;
            case HVMInstructionSet.POP_CODE:
                if (numberOfArgs == 2) {
                    result[1] = instructionSet.segmentCodeToVMString((byte)arg0);
                    result[2] = String.valueOf(arg1);
                }
                break;
            case HVMInstructionSet.LABEL_CODE:
                result[1] = stringArg;
                break;
            case HVMInstructionSet.GOTO_CODE:
                result[1] = stringArg;
                break;
            case HVMInstructionSet.IF_GOTO_CODE:
                result[1] = stringArg;
                break;
            case HVMInstructionSet.FUNCTION_CODE:
                result[1] = stringArg;
                result[2] = String.valueOf(arg0);
                break;
            case HVMInstructionSet.CALL_CODE:
                result[1] = stringArg;
                result[2] = String.valueOf(arg1);
                break;
        }

        return result;
    }