Ini adalah readme terstruktur untuk perakitan x86 , ditulis dalam bahasa termudah yang dimungkinkan dengan contoh dunia nyata. ?
| Tipe intel | Bit | Nama |
|---|---|---|
| - | 8 bit | Byte |
| 8086 | 16 bit | KATA |
| I386 | 32 bit | DWORD |
| x86 | 64 bit | Qword |
DWORD = DWORD = (kata ganda)
qword = qword = (quad-word)
Pada 32 bit lengan CPU, sebuah kata adalah 32 bit.


(Teks Lama dari Ilmu Komputer Universitas Virginia (2006), salah satu panduan terbaik untuk perakitan x86)
Modern (yaitu 3 86 dan seterusnya) x 86 Prosesor memiliki delapan register tujuan umum 32-bit, seperti yang digambarkan dalam Gambar 1. Nama register sebagian besar historis . Sebagai contoh, EAX dulu disebut akumulator karena digunakan oleh sejumlah operasi aritmatika, dan ECX dikenal sebagai konter karena digunakan untuk memegang indeks loop. Sedangkan sebagian besar register telah kehilangan tujuan khusus mereka dalam set instruksi modern, berdasarkan konvensi, dua dicadangkan untuk tujuan khusus - pointer stack (ESP) dan pointer dasar (EBP).
Untuk register EAX , EBX , ECX , dan EDX , subbagian dapat digunakan. Misalnya, 2 byte EAX yang paling tidak signifikan dapat diperlakukan sebagai register 16-bit yang disebut AX . Byte AX yang paling tidak signifikan dapat digunakan sebagai register 8-bit tunggal yang disebut AL , sedangkan byte AX yang paling signifikan dapat digunakan sebagai register 8-bit tunggal yang disebut AH . Nama -nama ini mengacu pada register fisik yang sama. Ketika kuantitas dua byte ditempatkan ke dalam DX , pembaruan mempengaruhi nilai DH , DL , dan EDX . Sub-register ini terutama penahanan dari versi yang lebih tua, 16-bit dari set instruksi. Namun, mereka kadang-kadang nyaman ketika berhadapan dengan data yang lebih kecil dari 32-bit (misalnya karakter ASCII 1-byte) .
Saat mengacu pada register dalam bahasa perakitan, nama-nama itu tidak peka huruf besar-kecil . Misalnya, nama eax dan eax merujuk ke register yang sama .


Di x86 register memiliki ' e ' di depan nama mereka.
Contoh: E Ax, E BX, E CX, E DX, E BP
Info tambahan:
Di x64 Anda memiliki ' r ' sebagai gantinya.
Contoh: R AX, R BX, R CX, R DX, R BP
Anda juga memiliki titik mengambang presisi ganda dari XMM0 ke XMM15 .

Perakitan Cheatsheet X86 Lengkap, 20 halaman.

