The x86 ISA and floating point arithmetic Introduction The following text is not meant to educate the reader on every single detail of how floating point arithmetic works. Au contraire, it aims to demystify the basics of how it works on x86, and serve as a tutorial for high-level language programmers on how to write floating point code in assembly, primarily for software optimization and other…
Proposal to the x86 committee for a new long mode instruction Context The x86-64 Instruction Set Architecture (ISA) is a 64-bit version of the x86 instruction set, first released in 1999, which is notable for introducing a new 64-bit operating mode (Also known as long mode). The x86-64 ISA (which will also be referred to as x64, x86_64, AMD64 or Intel 64 in this document) introduces new General…
Piracy has always been a recurring issue in the world of gaming. A lot of people don’t want to, or can’t, pay the amount gaming companies ask for. Or maybe they don’t want to pay almost full price for a game released in 2014. Of course companies have historically never been fans of having their software illegally obtained, and as such have turned to DRM (Digital Rights Management). While modern…
Explaining software fastmem by example - Featuring PS1 rants One of the most important components of a system is the bus. What’s a bus? It’s a magic little thing that handles where exactly a memory access will read from/write to. For example, let’s assume we’re making our simple Gameboy emulator, shall we? The CPU has specific instructions to read and write to memory. For the Gameboy for example,…