> 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