User Manual

(the manual describes the build 170914)

Hex-Rays interactive operation: Split/unsplit expression


NoneSplit current expression
NoneUnsplit current expression

This command splits the current expression into multiple expressions. It is available only for int16, int32, or int64 assignments or expressions which were combiled by the decompiler (e.g. 64bit comparison on 32bit platform). Splitting an assignment breaks it into two assignments: one for the low part and one for the high part. Other expressions can be splitted into more than two expressions.

This command is useful if the decompiler erroneously combines multiple unrelated expressions into one. In some cases the types of the new variables should be explicitly specified to get a nice listing. For example:

        __int64 v0;
        v0 = 0ui64;

can be split into two assignments:

        __int32 v0;
        __int32 v1;
        v0 = 0;
        v1 = 0;

by right clicking on the 64-bit assignment operation (the '=' sign) and selecting the 'Split' command.

The split expression can be unsplit using the unsplit command. Unsplitting removes all effects of the previous Split commands.

See also: interactive operation