arsidada
arsidada

Reputation: 29

Meaning of <<< and >>> in x86 disassembly

I can't seem to understand what the >>> and the <<< characters seem to in x86 disassembly

For example:

CMP        BYTE PTR [EAX+33H],0
JE         -126CB479H >>> +33

or

LEA        ESI,DWORD PTR [ECX+0CH]  <<< +19

I understand the basic instruction here; Jump when Equal which appears after the Compare and the Load Effective Address but the >>> and <<< are confusing me. Any guidance will be helpful. Thank you.

Upvotes: 0

Views: 91

Answers (1)

lornix
lornix

Reputation: 2036

They're indicators of jump destinations. It's a simplistic form of IDA Pro's output, similar to many clones.

CMP        BYTE PTR [EAX+33H],0
JE         -126CB479H >>> +33

This indicates that the destination of the JE command is +33 bytes further down (>>> going somewhere...)

LEA        ESI,DWORD PTR [ECX+0CH]  <<< +19

This indicates that this instruction is the destination (<<< - coming from) of a jump/branch/call which is +19 bytes further down. 19 bytes later, 19 bytes higher in memory... you get the idea...

They are not part of any standard assembly language, personally, those indicators should be used with a comment delimiter. Example:

CMP        BYTE PTR [EAX+33H],0
JE         -126CB479H               ; >>> +33
LEA        ESI,DWORD PTR [ECX+0CH]  ; <<< +19

Pretend you're drawing lines showing logic flow...

CMP        BYTE PTR [EAX+33H],0
JE         -126CB479H               ; >>> +33 ---+
                                                 |
; many wonderful and varied instructions here    |
                                                 |
HLT                                 ; <<< -33 ---+

Does this help?

Upvotes: 5

Related Questions