summaryrefslogtreecommitdiff
path: root/cpu/instructions/execution_control/call_conditional.txt
blob: 7663e5400e9e4bf2e42a00a5cbe43ea443c9ace5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Number of parameters: 2

Usage: call_conditional <type_and_index> <target>
	type_and_index:
		Lowest 3 bits: flags for each of the following checked, from lowest to highest:
			Zero
			Overflow
			Carry
		Next 3 bits:
			Value for each of the above that it should match
		Remaining bits:
			Index into instruction queue for which result is to be compared

Effect:
	If all of the checked flags match the value to compare to:
		IP pushed to stack
		IP moved to <target>

	If no flags are to be checked, it will always set IP

Exceptions:
	Instruction reference nonexistent