> However replacing @addr++ with *addr++ reveils another interesting thing.
> The increment operation searches for the instruction length in the symmap by
> default. 

the symbol table has nothing to do with it.  the behavior
of ++ depends on the type of addr.  in your case, it has
type \I.  \I interprets the (pointed-to) data as instructions.
compare:

acid /bin/cat
acid: x=read\I
acid: x++
SUBL    $0x18,SP
acid: x++
INB     DX,AL
acid: x++
SBBB    CL,0x891c244c(BX)
acid: x++
ORB     $0x24,AL

with

acid: x=read
acid: x++
0x000013a8
acid: x++
0x000013ac
acid: x++
0x000013b0
acid: x++
0x000013b4

- erik

Reply via email to