In Version 3 of the SB-Assembler this directive will not perform a boundary sync.
The .FI directive will close the condition that was opened by the last .DO directive and at the same time it will decrement the nesting counter.
The conditional mode will be terminated if the nesting counter reaches 0. In that case all following source lines will be assembled unconditionally.
The SB-Assembler will report a Missing .DO error if no .DO is active. This is when the nesting counter was already 0 when the .FI directive is encountered.
The label field of the source line containing the .FI directive must be empty. So it's not possible to declare a label on a source line that contains the .FI directive.
.DO 1 Condition always true (<>0) ; This line is assembled .EL Reverse condition ; This line will not be assembled .FI End of conditional assembly ; This line and following lines ; are assembled unconditionally.