# Sim68K - Advanced Breakpoints

To cause your program to Break on special conditions, use the Advanced Break Point features.

To access these features, click the View Menu and select Break Points.

A window similar to the following will appear:

===Setting-up conditions===

To begin setting up a condition, double click on an empty line in either the Registers or Memory section.

Once clicked, the line will fill in with numerous drop-down and input boxes.

=Columns in the Registers section=

The PC/Reg column specifies the register to be tested.

The Op selection sets the type of comparison. (greater than, less than, equal to, etc.)

The Value selection sets the value to be compared to the register.

The Size specifies the size for the comparison. (byte, word, or longword)

=Columns in the Memory section=

The Address selection specifies address in memory to be tested.

The Op selection sets the type of comparison. (greater than, less than, equal to, etc.) NOTE: The N/A selection causes the comparison to always be true.

The Value selection sets the value to be compared to the location in memory.

The Size specifies the size for the comparison. (byte, word, or longword)

The R/W selection has four choices:

R/W - Break will only occur on read or write while the comparison is true.

Read - Break will only occur on read and when comparison is true.

Write - Break will only occur on write and when comparison is true.

N/A - Break will occur if comparison is true.

After you have finished inputting information, you must hit the SET button, or the line you just inputted will be deleted.

Also, once you have done these steps, your Break Points are NOT functional. You must use the conditions you have created in the Expression Builder to activate them.

===Using the Expression Builder===

To begin creating an expression, double-click on an empty row.

=Columns in the Expression Builder=

Set the Enabled column to On to activate the Break Point. Set it to Off to prevent the Break Point from occurring.

The Expression column stores an expression containing the conditions you created earlier along with optional logical operators. These conditions and optional logical operators are entered by clicking the PC/Reg, Memory, And, Or, (, and ) buttons which are described below.

The Count column specifies how many times the expression must be true before breaking.

=Expression buttons=

PC/Reg - Inserts a condition defined earlier in the Registers section into the current position in the Expression column. The number of the condition inserted is specified by the digits to the right of the button.

Memory - Inserts a condition defined earlier in the Memory section into the current position in the Expression column. The number of the condition inserted is specified by the digits to the right of the button.

And / Or buttons - Inserts a logical operator into the Expression column.

( / ) buttons - Groups part(s) of an expression together.

Backspace - Removes the last change made to the current Expression.

=Finalizing Expression Builder=

After you have finished inputting information, you must hit the SET button, or the line you just inputted will be deleted.

Now, your Break Points are active as long as you have set the Enabled column to On. You may change information in the Registers, Memory, or Expression Builder sections by double clicking on the line you want to change.