# StackBehaviour Enum

## Definition

Describes how values are pushed onto a stack or popped off a stack.

`public enum class StackBehaviour`

```
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public enum StackBehaviour
```

`type StackBehaviour = `

`Public Enum StackBehaviour`

- Inheritance

- Attributes

## Fields

Pop0 | 0 | No values are popped off the stack. |

Pop1 | 1 | Pops one value off the stack. |

Pop1_pop1 | 2 | Pops 1 value off the stack for the first operand, and 1 value of the stack for the second operand. |

Popi | 3 | Pops a 32-bit integer off the stack. |

Popi_pop1 | 4 | Pops a 32-bit integer off the stack for the first operand, and a value off the stack for the second operand. |

Popi_popi | 5 | Pops a 32-bit integer off the stack for the first operand, and a 32-bit integer off the stack for the second operand. |

Popi_popi_popi | 7 | Pops a 32-bit integer off the stack for the first operand, a 32-bit integer off the stack for the second operand, and a 32-bit integer off the stack for the third operand. |

Popi_popi8 | 6 | Pops a 32-bit integer off the stack for the first operand, and a 64-bit integer off the stack for the second operand. |

Popi_popr4 | 8 | Pops a 32-bit integer off the stack for the first operand, and a 32-bit floating point number off the stack for the second operand. |

Popi_popr8 | 9 | Pops a 32-bit integer off the stack for the first operand, and a 64-bit floating point number off the stack for the second operand. |

Popref | 10 | Pops a reference off the stack. |

Popref_pop1 | 11 | Pops a reference off the stack for the first operand, and a value off the stack for the second operand. |

Popref_popi | 12 | Pops a reference off the stack for the first operand, and a 32-bit integer off the stack for the second operand. |

Popref_popi_pop1 | 28 | Pops a reference off the stack for the first operand, a value off the stack for the second operand, and a 32-bit integer off the stack for the third operand. |

Popref_popi_popi | 13 | Pops a reference off the stack for the first operand, a value off the stack for the second operand, and a value off the stack for the third operand. |

Popref_popi_popi8 | 14 | Pops a reference off the stack for the first operand, a value off the stack for the second operand, and a 64-bit integer off the stack for the third operand. |

Popref_popi_popr4 | 15 | Pops a reference off the stack for the first operand, a value off the stack for the second operand, and a 32-bit integer off the stack for the third operand. |

Popref_popi_popr8 | 16 | Pops a reference off the stack for the first operand, a value off the stack for the second operand, and a 64-bit floating point number off the stack for the third operand. |

Popref_popi_popref | 17 | Pops a reference off the stack for the first operand, a value off the stack for the second operand, and a reference off the stack for the third operand. |

Push0 | 18 | No values are pushed onto the stack. |

Push1 | 19 | Pushes one value onto the stack. |

Push1_push1 | 20 | Pushes 1 value onto the stack for the first operand, and 1 value onto the stack for the second operand. |

Pushi | 21 | Pushes a 32-bit integer onto the stack. |

Pushi8 | 22 | Pushes a 64-bit integer onto the stack. |

Pushr4 | 23 | Pushes a 32-bit floating point number onto the stack. |

Pushr8 | 24 | Pushes a 64-bit floating point number onto the stack. |

Pushref | 25 | Pushes a reference onto the stack. |

Varpop | 26 | Pops a variable off the stack. |

Varpush | 27 | Pushes a variable onto the stack. |