Xbox One Hardware Specs Include 64 Bit Architecture, 8 GB of RAM

The new Xbox One home console from Microsoft is designed to increase the hardware power that developers and players can use and updates...

Kali Linux 64bit In VMware - Installation Walkthrough / How-to

The purpose of this video is to demonstrate a basic installation of Kali Linux from Offensive Security in a new Virtual Machine guest...

May 2013 Security Release ISO Image

This DVD5 ISO image file contains the security updates for Windows released on Windows Update on May 14, 2013. The image does not...

New boot firmware a step toward 64-bit Windows RT

A standards organization has created a boot environment for tablets and PCs that could potentially run a 64-bit version of Windows RT.

New boot firmware a step toward 64-bit Windows RT

A standards organization has created a boot environment for tablets and PCs that could potentially run a 64-bit version of Windows RT.

How to Install VMware vSphere vCenter Server 5.1.0b on Windows Server 2003 R2 X64 SP2

In this video we will install VMware vSphere vCenter Server 5.1.0b using the Simple Install method on Windows Server 2003 R2 X64 SP2

x64 Assembly and C++ Tutorial 61: AVX Negate 128bpp Image

Big thank you to all who've sent in Imogen plugins, they're excellent, Keep em' coming folks! This tutorial we'll look at some of the...

x64 Assembly and C++ Tutorial 60: C++ Negate 128bpp Image

In this tute we'll look at coding a C++ algorithm to negate a 128bpp image. This will be a benchmark to beat for the ASM versions we'll...

Kali Linux 64bit In VMware - Installation Walkthrough / How-to

The purpose of this video is to demonstrate a basic installation of Kali Linux from Offensive Security in a new Virtual Machine guest...

Installing the Java Plugin for 64bit Firefox on CentOS 6.4

Today, I had to install the Java plugin for 64bit Firefox on CentOS 6.4. The procedure wasn’t too bad, but it wasn’t exactly...

Linux x64 Assembly Tutorial 4: Passing Parameters and Coding

In this tute we'll get to coding some little ASM algorithms. First we have to look at how parameters will be passed from C++.

Linux x64 Assembly Tutorial 2: Bits, Bytes and Registers

Today we'll look at integer data types, bits, bytes, words and all that. We'll also look at the general purpose register set. I didn't...

x64 ABI: Intro to the Windows x64 calling convention

Monday, 28 May 2012 08:33

Start64!I've become fascinated with x64 code recently, and have taken on a quest to learn about it. There's a fair amount of information on the net, but there isn't nearly as much for x64 as for x86 code. Some of the sources I've found were wishy-washy, too, since they were created before or shortly after the rules were agreed upon. I have found very little in the way of explaining the performance considerations that are not immediately apparent and would come as a surprise to x86 experts.


If you're here, I'm sure you're just as interested as I am about it. let me tell you what I know…

What is an ABI? - ABI stands for Application Binary Interface. It's a set of rules that describe what happens when a function is called in your program, and answers questions like how to handle parameters and the stack for a function call, what registers (if any) are special, how big data types are…those sorts of things.

These are the rules that the compiler guys follow when they're determining the correct assembly to use for some bit of code. There are a lot of rules in the x64 ABI, but the rules that are most open to interpretation make up what's known as the calling convention.

   eXTReMe Tracker