From mboxrd@z Thu Jan 1 00:00:00 1970 From: erik quanstrom Date: Sun, 4 Apr 2010 16:55:15 -0400 To: 9fans@9fans.net Message-ID: <1720fe559fc2273e7dcbaa798c6f5d7a@ladd.quanstro.net> In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Subject: Re: [9fans] acid. cormap vs. symmap Topicbox-Message-UUID: fc4ea7fc-ead5-11e9-9d60-3106f5b1d025 > 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