Module flags

Module flags 

Source
Expand description

Definition of some constants for easier readability of the steps. When they refer to single bit flagsets, only one constant is needed.

Constantsยง

AP_ADD
Update ap by adding a number of positions
AP_ONE
Update ap by self increment
AP_Z2
Update by 2 in call instructions or zero behaviour for other instructions
DST_AP
Destination refers to ap register
NUM_FLAGS
Number of Cairo flags
OP0_AP
First operand refers to ap register
OP1_AP
Second operand refers to ap register
OP1_DBL
Second operand is double indexing
OP1_FP
Second operand refers to fp register
OP1_VAL
Second operand is immediate value
OPC_AEQ
Operation code is an assert-equal
OPC_CALL
Operation code is a call
OPC_JMP_INC
Operation code is a jump or an increment
OPC_RET
Operation code is a return
PC_ABS
Update pc by an absolute jump
PC_JNZ
Update pc by a conditional relative jump
PC_REL
Update pc by a relative jump
PC_SIZ
Default increase of pc by adding instruction size
POS_DST
Position of destination offset of 16 bits within instruction decomposition
POS_FLAGS
Bit position of the beginning of the flags in a Cairo instruction
POS_OP0
Position of first operand offset of 16 bits within instruction decomposition
POS_OP1
Position of second operand offset of 16 bits within instruction decomposition
RES_ADD
Result is an addition
RES_MUL
Result is a multiplication
RES_ONE
Result is a single operand