flat assembler
Message board for the users of flat assembler.

Index > Main > who are these registers? And complete Intel registers list

Author
Thread Post new topic Reply to topic
Teehee



Joined: 05 Aug 2009
Posts: 570
Location: Brazil
Teehee 02 Dec 2012, 18:47
Code:
dil
sil
bpl
spl
r8l - r15l
r8w - r15w
r8d - r15d
r8 - r15
    

_________________
Sorry if bad english.


Last edited by Teehee on 02 Dec 2012, 22:53; edited 1 time in total
Post 02 Dec 2012, 18:47
View user's profile Send private message Reply with quote
yoshimitsu



Joined: 07 Jul 2011
Posts: 96
yoshimitsu 02 Dec 2012, 19:10
These are x64 registers. They are available on any x86-64 cpu and encoded with a rex-prefix, just like rax, rcx, rdx, rbx, etc.
spl-dil are the 8 bit parts of rsp-rdi.
r8-r15 are whole new 64 bit registers with rXXd being their dword-part, rXXw their word-part and rXXl/rXXb their byte-part.
rax - eax - ax - al
r8 - r8d - r8w - r8l/r8b

You can use them just like any other register.
On Windows, however, r12-r15 have to be preserved, just like rbx, rsi and rdi.
Post 02 Dec 2012, 19:10
View user's profile Send private message Reply with quote
Teehee



Joined: 05 Aug 2009
Posts: 570
Location: Brazil
Teehee 02 Dec 2012, 20:27
Quote:

spl-dil are the 8 bit parts of rsp-rdi.

wah? in 64mode i can get the 8bit part of esp? D:
Post 02 Dec 2012, 20:27
View user's profile Send private message Reply with quote
Teehee



Joined: 05 Aug 2009
Posts: 570
Location: Brazil
Teehee 02 Dec 2012, 21:21
can anyone tell me if i am missing some register? (excluding registers i can't use directly - EIP, EFLAGS, ..)

Code:
8       16      32      64      128
ah al   ax      eax     rax     xmm0
bh bl   bx      ebx     rbx     xmm1
ch cl   cx      ecx     rcx     xmm2
dh dl   dx      edx     rdx     xmm3
dil     di      edi     rdi     xmm4
sil     si      esi     rsi     xmm5
bpl     bp      ebp     rbp     xmm6
spl     sp      esp     rsp     xmm7
r8l     r8w     r8d     r8      xmm8
r9l     r9w     r9d     r9      xmm9
r10l    r10w    r10d    r10     xmm10
r11l    r11w    r11d    r11     xmm11
r12l    r12w    r12d    r12     xmm12
r13l    r13w    r13d    r13     xmm13
r14l    r14w    r14d    r14     xmm14
r15l    r15w    r15d    r15     xmm15
        cs      cr0     mm0
        ds      cr2     mm1
        es      cr3     mm2
        fs      cr4     mm3
        gs      cr8     mm4
        ss      dr0     mm5
                dr1     mm6
                dr2     mm7
                dr3     st0
                dr6     st1
                dr7     st2
                        st3
                        st4
                        st5
                        st6
                        st7    

_________________
Sorry if bad english.
Post 02 Dec 2012, 21:21
View user's profile Send private message Reply with quote
baldr



Joined: 19 Mar 2008
Posts: 1651
baldr 02 Dec 2012, 22:03
Teehee,

FPU stack registers actually are 80 bits wide.

Model-specific registers and TSC can augment your list quite a lot, along with YMMx. rip can be accessed using lea reg, [rip] too.
Post 02 Dec 2012, 22:03
View user's profile Send private message Reply with quote
Teehee



Joined: 05 Aug 2009
Posts: 570
Location: Brazil
Teehee 02 Dec 2012, 22:34
baldr, i need a complete list of registers for intel arquitecture.

if someone could put here i thanks.

Code:
8   16      32      64      80      128     256
ah al    ax      eax     rax     st0     xmm0    ymm0
bh bl   bx      ebx     rbx     st1     xmm1    ymm1
ch cl   cx      ecx     rcx     st2     xmm2    ymm2
dh dl   dx      edx     rdx     st3     xmm3    ymm3
dil     di      edi     rdi     st4     xmm4    ymm4
sil     si      esi     rsi     st5     xmm5    ymm5
bpl     bp      ebp     rbp     st6     xmm6    ymm6
spl     sp      esp     rsp     st7     xmm7    ymm7
r8b     r8w     r8d     r8              xmm8    ymm8
r9b     r9w     r9d     r9              xmm9    ymm9
r10b    r10w    r10d    r10             xmm10   ymm10
r11b   r11w    r11d    r11             xmm11   ymm11
r12b   r12w    r12d    r12             xmm12   ymm12
r13b   r13w    r13d    r13             xmm13   ymm13
r14b   r14w    r14d    r14             xmm14   ymm14
r15b   r15w    r15d    r15             xmm15   ymm15
       cs      cr0     cr0                     
    ds      cr2     cr2                     
    es      cr3     cr3                     
    fs      cr4     cr4                     
    gs              cr8                     
    ss      dr0     rip                     
            dr1     mm0                     
            dr2     mm1                     
            dr3     mm2                     
            dr6     mm3                     
            dr7     mm4                     
                    mm5                     
                    mm6                     
                    mm7                         


Last edited by Teehee on 03 Dec 2012, 11:32; edited 3 times in total
Post 02 Dec 2012, 22:34
View user's profile Send private message Reply with quote
baldr



Joined: 19 Mar 2008
Posts: 1651
baldr 02 Dec 2012, 23:03
Teehee,

Then you should exactly define term «register» and study Intel SDM or AMD APM with regard of it.

MMX registers are 64 bits wide. They do share portion of FPU stack memory space. Wink
Post 02 Dec 2012, 23:03
View user's profile Send private message Reply with quote
Teehee



Joined: 05 Aug 2009
Posts: 570
Location: Brazil
Teehee 02 Dec 2012, 23:22
edited
Post 02 Dec 2012, 23:22
View user's profile Send private message Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8359
Location: Kraków, Poland
Tomasz Grysztar 02 Dec 2012, 23:51
For the list of syntactical registers you can combine the information from tables 1.2 and 2.4 in the fasm's manual. It does not include a few like EIP/RIP or CR8, though.
Post 02 Dec 2012, 23:51
View user's profile Send private message Visit poster's website Reply with quote
Teehee



Joined: 05 Aug 2009
Posts: 570
Location: Brazil
Teehee 03 Dec 2012, 11:28
oh, nice!

I never touched FPU, MMX, SSE, AVX registers.

FPU for floating points. MMX is the lower part of the FPU registers, right? They are like eax and ax.

About SSE and AVX I have no idea ^^
Post 03 Dec 2012, 11:28
View user's profile Send private message Reply with quote
edfed



Joined: 20 Feb 2006
Posts: 4353
Location: Now
edfed 03 Dec 2012, 15:49
Code:
8    16      32      64      80      128     256
ah al    ax      eax     rax     st0     xmm0    ymm0
bh bl   bx      ebx     rbx     st1     xmm1    ymm1
ch cl   cx      ecx     rcx     st2     xmm2    ymm2
dh dl   dx      edx     rdx     st3     xmm3    ymm3
dil     di      edi     rdi     st4     xmm4    ymm4
sil     si      esi     rsi     st5     xmm5    ymm5
bpl     bp      ebp     rbp     st6     xmm6    ymm6
spl     sp      esp     rsp     st7     xmm7    ymm7
r8b     r8w     r8d     r8              xmm8    ymm8
r9b     r9w     r9d     r9              xmm9    ymm9
r10b    r10w    r10d    r10             xmm10   ymm10
r11b   r11w    r11d    r11             xmm11   ymm11
r12b   r12w    r12d    r12             xmm12   ymm12
r13b   r13w    r13d    r13             xmm13   ymm13
r14b   r14w    r14d    r14             xmm14   ymm14
r15b   r15w    r15d    r15             xmm15   ymm15
       cs      cr0     cr0                     
    ds      cr2     cr2                     
    es      cr3     cr3                     
    fs      cr4     cr4                     
    gs              cr8                     
    ss      dr0     rip                     
            dr1     mm0                     
            dr2     mm1                     
            dr3     mm2                     
            dr6     mm3                     
            dr7     mm4                     
                    mm5                     
                    mm6                     
                    mm7             
    flags   eflags  rflags  
    
Post 03 Dec 2012, 15:49
View user's profile Send private message Visit poster's website Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  


< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.

Website powered by rwasa.