The Art of 64-bit Assembly

(nostarch.com)

48 points | by 0x54MUR41 2 hours ago ago

5 comments

  • amelius 5 minutes ago

    Is anyone still writing assembly in the age of LLMs? Asking seriously because most assembly is just doing one very simple thing very fast and because it's so simple conceptually, an LLM can easily code it without errors.

  • Retr0id an hour ago

    > what Windows actually expects the vtable to look like

    I'm not a Windows-knower, are vtable layouts part of the user<->kernel ABI?

    • invokestatic 19 minutes ago

      It’s part of the MSVC x64 ABI, not a part of the kernel ABI. The kernel and user mode (Win32) APIs all use C linkage so vtables are not relevant and the ABI is a convention of the compiler not the OS. Practically speaking though if your software runs on Windows it will probably use the MSVC ABI.

    • boguscoder 28 minutes ago

      Yes, you either follow Itanium ABI (non Win) or MSVC ABI. Technically nothing stops _your_ compiler from implementing totally own conventions but it will only be compatible with itself

      • Joker_vD a minute ago

        GHC uses its own calling convention yet it's compatible with Win API just fine. The secret, of course, is to implement not only your bespoke calling convention, but also the other ones that you care to interoperate with.