Reputation: 29
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
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