Advanced Section

The following section describes some advanced options that change the assembly mode and permit virtual register allocation.

-X explicit

IAS changes the default initial assembly mode from automatic to explicit.
Default:
IAS assembles in automatic mode.
Example:
ias -X explicit my_file.s
For more information on dependency violations see Dependency Violations and Assembly Modes.

-X vral

IAS invokes the register allocation engine (virtual register allocation), which allows the use of symbolic names instead of actual register names. IAS creates a file with the suffix .vra that lists the results of all register allocations.
Default:
Vral is not active, so the Vral syntax is not recognized.
Example: ias -X vral my_file.s

-X unwind

IAS invokes the unwind generation utility. IAS builds unwind information for all procedures in the file and ignores all unwind directives.
Default:
Unwind information is not generated.
Example:
ias -X unwind my_file.s

-d debug

IAS creates Code View debug and line information for COFF32 objects. You can then use the symbolic debugger to single-step on code lines and view symbols.
Default:
No debug and line information is created.
Example:
ias -F COFF32 -d debug my_file.s

-a indirect=br_target

This command-line option indicates to IAS the default branch target for indirect unannotated branches. It is relevant for virtual register allocation. Values for br_target are:
exit
exit is assumed to be the branch target
labels
any label is assumed to be the branch target
Default:
Exit is assumed.
Examples:

-ias -X explicit -a indirect=labels my_file.s

or -ias -a indirect=exit my_file.s

-N us

This option enables an extended range of numbers, unifying both signed and unsigned numbers. IAS accepts the numbers between -64 and +127, as 7 bits long.
Default:
The range of a 7-bit number is either between -64 and +63, or between 0 and +127.
Example:
ias -N us my_file.s