private DWARFLineProgramInstruction executeStandard(long instrOffset, int opcode)
			throws IOException {

		String instr = DWARFLineNumberStandardOpcodes.toString(opcode);
		List<Number> operands = List.of();
		DWARFLineProgramState row = null;

		switch (opcode) {
			case DW_LNS_copy: {
				row = currentState();

				state.discriminator = 0;
				state.isBasicBlock = false;
				state.prologueEnd = false;
				state.epilogueBegin = false;
				break;
			}
			case DW_LNS_advance_pc: {
				long value = reader.readNext(LEB128::unsigned);
				operands = List.of(value);

				state.address += (value * minInstrLen);
				break;
			}
			case DW_LNS_advance_line: {
				int value = reader.readNextVarInt(LEB128::signed);
				operands = List.of(value);

				state.line += value;
				break;
			}
			case DW_LNS_set_file: {
				int value = reader.readNextUnsignedVarIntExact(LEB128::unsigned);
				operands = List.of(value);

				state.file = value;
				break;
			}
			case DW_LNS_set_column: {
				int value = reader.readNextUnsignedVarIntExact(LEB128::unsigned);
				operands = List.of(value);

				state.column = value;
				break;
			}
			case DW_LNS_negate_statement: {
				state.isStatement = !state.isStatement;
				break;
			}
			case DW_LNS_set_basic_block: {
				state.isBasicBlock = true;
				break;
			}
			case DW_LNS_const_add_pc: {
				int adjustedOpcode = 255 - opcodeBase;
				int addressIncrement = adjustedOpcode / lineRange;
				state.address += minInstrLen * (addressIncrement & 0xff);
				break;
			}
			case DW_LNS_fixed_advanced_pc: {
				int value = reader.readNextUnsignedShort();
				operands = List.of(value);

				state.address += value;
				break;
			}

			case DW_LNS_set_prologue_end:
				state.prologueEnd = true;
				break;

			case DW_LNS_set_epilog_begin:
				state.epilogueBegin = true;
				break;

			case DW_LNS_set_isa: {
				long value = reader.readNext(LEB128::unsigned);
				operands = List.of(value);

				state.isa = value;
				break;
			}

			default:
				throw new DWARFLineException("Unsupported standard opcode: " + instr);
		}

		return new DWARFLineProgramInstruction(instrOffset, instr, operands, row);
	}
Read the next instruction and executes it

@return 
@throws IOException if an i/o error occurs
Ghidra/Features/Base/src/main/java/ghidra/app/util/bin/format/dwarf/line/DWARFLineProgramExecutor.java