tag:blogger.com,1999:blog-2428374771421713311.post1936504346901933351..comments2024-03-10T12:04:17.661-07:00Comments on The Oracle at Delphi: x64 assembler fun-factsAnonymoushttp://www.blogger.com/profile/10119008505905401707noreply@blogger.comBlogger6125tag:blogger.com,1999:blog-2428374771421713311.post-91402248663645731652011-10-07T11:16:48.000-07:002011-10-07T11:16:48.000-07:00Anybody who's ever written any ROM-based code ...Anybody who's ever written any ROM-based code understands the value of IP-relative addressing (a.k.a. PIC, or Position Independent Coding). Most ARM CPUs are targeted at embedded applications, meaning the code resides in ROM. <br><br>But there are plenty of x86 applications that are ROM-based as well. There's nothing about the x86 architecture that prevents you from employing PIC solutions.David Schwartznoreply@blogger.comtag:blogger.com,1999:blog-2428374771421713311.post-20010183073846460342011-10-06T18:47:34.000-07:002011-10-06T18:47:34.000-07:00Interesting!Interesting!Michael Thumanoreply@blogger.comtag:blogger.com,1999:blog-2428374771421713311.post-60475863869240104882011-10-10T02:24:31.000-07:002011-10-10T02:24:31.000-07:00@David, Of course. The Mac OSX targeting x86 comp...@David,<br><br> Of course. The Mac OSX targeting x86 compilers generates PIC. However, since the x86 architecture doesn't allow for IP-relative addressing, another register, EBX, is burned for this purpose. x64 with IP-relative addressing, certainly makes this far more easier for the code generator.Allen Bauerhttp://blogs.embarcadero.com/abauernoreply@blogger.comtag:blogger.com,1999:blog-2428374771421713311.post-51018234927519724222011-10-07T04:58:37.000-07:002011-10-07T04:58:37.000-07:00think ARM??Arm programmers have been trained since...think ARM??<br>Arm programmers have been trained since 1988 to think as addresses relative to the PC (R15), or any other register. For x86 people this is a gotcha, for ARM people the AMD64 resembles much more to their paradigmOmanoreply@blogger.comtag:blogger.com,1999:blog-2428374771421713311.post-73553243067413661982011-10-07T07:36:38.000-07:002011-10-07T07:36:38.000-07:00Oma,I'm taking it you didn't actually read...Oma,<br><br>I'm taking it you didn't actually read the paragraph in which that comment was made. I wasn't referring to assembly code, but rather to the fact that we recommend you *not* use assembly code and use pure Pascal code in order to better be prepared for future platforms and CPU architectures.Allen Bauerhttp://blogs.embarcadero.com/abauernoreply@blogger.comtag:blogger.com,1999:blog-2428374771421713311.post-34042392044888887522015-01-17T08:54:35.000-08:002015-01-17T08:54:35.000-08:00>The good thing about the x64 architecture is t...>The good thing about the x64 architecture is that it really builds on the existing instruction format and design.<br><br>Seriously??? The x86 architecture was and is the worst piece of crap ever "designed"! Until the x64 architecture was put on top of it, x64 now holds the title.Sune Andersennoreply@blogger.com