Talk:X86 Assembly/X86 Architecture

r0?
Regarding 64 bit register names, I haven't found an x64 assembler that supports r0 instead of rax. I just tried it on GNU as, nasm, and yasm; all accept rax but none accept r0. Does r0 exist only on masm or some other assembler I haven't tried, or is the description here just a bug? It's clear from the machine code encoding that rax *should* be r0, I just don't think that syntax works! (David Christie, co-architect of AMD64, discusses the rax/r0 question in this September 2000 email)

--Olawlor (discuss • contribs) 22:31, 16 December 2017 (UTC)

GPR's
I think the GPR's are only the first four (EAX, EBX, ECX and EDX). Because GPR stands for "General Purpose Registers" which means "store whatever you want (adress/data)". Yes, you can store Data in ESP if you really want, but thats not the idea behind the name "GPR". --To llo (talk) 19:34, 9 December 2010 (UTC)

Segments
Perhaps the section on the segment registers should be removed, for it makes little sense to mention them and then tell people not to use them. I added a short segment on segmented mode to explain their use, but perhaps this should just ommited to keep things simple. --Dr Dnar 23:36, 18 October 2006 (UTC)


 * I don't agree... Segmentation isn't very used in modern Operating Systems. However, one still needs to know about it when programming in Real Mode for DOS... João Jerónimo 03:32, 24 December 2006 (UTC)


 * As someone who is learning assembly, I think the inclusion is important, though I would like to know more about why they shouldn't be touched. BlindWanderer 08:52, 3 January 2007 (UTC)

Introduction of LSB and MSB
LSB and MSB are not introduced before first use. (In an older version that was the case - for instance the PDF version.)

--Mortense (talk) 22:00, 24 May 2010 (UTC)

Use of "used as a vector"
I don't understand what is meant by "used as a vector":

The EFLAGS is a 32 bits register used as a vector

Those bits in EFLAGS are just independent bits that happen to be logically and/or physically in something called EFLAGS.

"Stored in a vector" may make more sense, but why use the word "vector" at all? Why not just:

The EFLAGS is a 32 bits register containing various control and state bits

(or similar)

--Mortense (talk) 22:29, 24 May 2010 (UTC)

To help clarify this, I replaced "used as a vector to store" for "used as a vector of bits representing Boolean values to store".

long mode? 64 bit registers?