forked from Konamiman/Z80dotNet
-
Notifications
You must be signed in to change notification settings - Fork 0
/
StopReason.cs
55 lines (48 loc) · 1.97 KB
/
StopReason.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
namespace Konamiman.Z80dotNet
{
/// <summary>
/// Represents a reason for the processor not being running.
/// </summary>
public enum StopReason
{
/// <summary>
/// The processor is currently running, so no stop reason applies.
/// </summary>
NotApplicable,
/// <summary>
/// The processor has never been running since it was instantiated.
/// </summary>
NeverRan,
/// <summary>
/// The processor was running and finished with an invocation of <see cref="IExecutionStopper.Stop"/>
/// with <c>isPause=false</c>.
/// </summary>
StopInvoked,
/// <summary>
/// The processor was running and finished with an invocation of <see cref="IExecutionStopper.Stop"/>
/// with <c>isPause=true</c>.
/// </summary>
PauseInvoked,
/// <summary>
/// The <see cref="IZ80Processor.ExecuteNextInstruction"/> was invoked and finished normally
/// (the <see cref="IExecutionStopper.Stop"/> method was not invoked).
/// </summary>
ExecuteNextInstructionInvoked,
/// <summary>
/// A HALT instruction was encountered when interrupts were disabled,
/// and <see cref="IZ80Processor.AutoStopOnDiPlusHalt"/> property was set to true.
/// </summary>
DiPlusHalt,
/// <summary>
/// A RET instruction was encountered, the stack is empty, and the
/// <see cref="IZ80Processor.AutoStopOnRetWithStackEmpty"/> property was set to true.
/// </summary>
RetWithStackEmpty,
/// <summary>
/// An exception was thrown and not handled during he execution of the
/// <see cref="IZ80Processor.Start"/> method, the <see cref="IZ80Processor.Continue"/> method
/// or the <see cref="IZ80Processor.ExecuteNextInstruction"/> method.
/// </summary>
ExceptionThrown
}
}