mirror of
https://github.com/SourMesen/Mesen2.git
synced 2025-04-02 10:21:44 -04:00
Original byte code did not match the assembler's code based on the assembly code in some scenarios
22 lines
No EOL
657 B
C++
22 lines
No EOL
657 B
C++
#pragma once
|
|
#include "pch.h"
|
|
#include <regex>
|
|
#include "Debugger/Base6502Assembler.h"
|
|
#include "PCE/PceTypes.h"
|
|
|
|
class LabelManager;
|
|
|
|
class PceAssembler final : public Base6502Assembler<PceAddrMode>
|
|
{
|
|
private:
|
|
string GetOpName(uint8_t opcode) override;
|
|
PceAddrMode GetOpMode(uint8_t opcode) override;
|
|
bool IsOfficialOp(uint8_t opcode) override;
|
|
void AdjustLabelOperand(AssemblerOperand& operand);
|
|
void AdjustLabelOperands(AssemblerLineData& op);
|
|
AssemblerSpecialCodes ResolveOpMode(AssemblerLineData& op, uint32_t instructionAddress, bool firstPass) override;
|
|
|
|
public:
|
|
PceAssembler(LabelManager* labelManager);
|
|
virtual ~PceAssembler() = default;
|
|
}; |