# 0x0002

For those familiar with TS1 modding, there is nothing new here. This page is designed primarily for the newcomer who does not have any previous experience with SimAntics.

## Overview

This is by far the most used BHAV operation and, therefore, one of the first an aspiring behavioral modder should learn. At its heart, Expression is a fairly simple instruction, taking two items and performing a logical comparison or mathematical calculation with them.

## Structure

The structure (with the exception of the as yet unknown bytes) is also fairly simple. We will use the following example instruction to explore the structure further:

```aa, aa, bb, bb, ??, oo, AA, BB
xx, xx, xx, xx, xx, xx, xx, xx
```

Example:

```00, 00, 00, 00, 00, 05, 19, 09
00, 00, 00, 00, 00, 00, 00, 00
```
xx
unused
oo
the Operator, which tells the game which mathematical/logical operation to perform
AA
the first (or left-side) Operand
aa
argument for the first operand
BB
the second (or right-side) Operand
bb
argument for the second Operand
??
was never completely understood in TS1. Either it is some type of flag or is unused.

So in our example instruction:

• the Operator is 0x05 (assign to)
• the first Operand is 0x19 (local variable)
• which has an argument of 0x00 (numeric 0)
• the second Operand is 0x09 (parameter)
• which has an argument of 0x00 (numeric 0)

Our instruction would therefore be read as "local variable 0x0 := parameter 0x0". In simpler terms, this means "the value for local variable 0x0 := the value listed in parameter 0x0"