Example #1
0
func (d *Debugger) doBreakpoints(in cpu.Instruction) {
	inName := in.Name()

	if inName == d.breakInstruction {
		fmt.Printf("Breakpoint for instruction %s\n", inName)
		d.run = false
	}

	if d.breakAddress && d.cpu.PC == d.breakAddressValue {
		fmt.Printf("Breakpoint for PC address = $%04X\n", d.breakAddressValue)
		d.run = false
	}

	d.checkRegBreakpoint("A", d.breakRegA, d.breakRegAValue, d.cpu.AC)
	d.checkRegBreakpoint("X", d.breakRegX, d.breakRegXValue, d.cpu.X)
	d.checkRegBreakpoint("Y", d.breakRegY, d.breakRegYValue, d.cpu.Y)
}