MCPcopy Create free account
hub / github.com/AppleWin/AppleWin / FormatDisassemblyLine

Function FormatDisassemblyLine

source/Debugger/Debugger_Disassembler.cpp:658–722  ·  view source on GitHub ↗

===========================================================================

Source from the content-addressed store, hash-verified

656
657//===========================================================================
658std::string FormatDisassemblyLine(const DisasmLine_t& line)
659{
660 //> Address Separator Opcodes Label Mnemonic Target [Immediate] [Branch]
661 //
662 // Data Disassembler
663 // Label Directive [Immediate]
664
665 std::string sDisassembly = StrFormat( "%s:%s %s "
666 , line.sAddress
667 , line.sOpCodes
668 , g_aOpcodes[line.iOpcode].sMnemonic
669 );
670
671 /*
672 if (line.bTargetIndexed || line.bTargetIndirect)
673 sDisassembly += '(';
674
675 if (line.bTargetImmediate)
676 sDisassembly += "#$";
677
678 if (line.bTargetValue)
679 sDisassembly += line.sTarget;
680
681 if (line.bTargetIndirect)
682 {
683 if (line.bTargetX)
684 sDisassembly += ", X";
685 if (line.bTargetY)
686 sDisassembly += ", Y";
687 }
688
689 if (line.bTargetIndexed || line.bTargetIndirect)
690 sDisassembly += ')';
691
692 if (line.bTargetIndirect)
693 {
694 if (line.bTargetY)
695 sDisassembly += ", Y";
696 }
697 */
698
699 if (line.bTargetValue || line.bTargetRelative || line.bTargetImmediate)
700 {
701 if (line.bTargetRelative)
702 {
703 sDisassembly += '$';
704 sDisassembly += line.sTargetValue;
705 }
706 else
707 {
708 if (line.bTargetImmediate)
709 {
710 sDisassembly += "#$";
711 sDisassembly += line.sTarget;
712 }
713 else
714 {
715 sDisassembly += '$';

Callers 1

OutputTraceLineFunction · 0.85

Calls 1

StrFormatFunction · 0.85

Tested by

no test coverage detected