İçeriğe atla
0 XP 0
0/6

Puan ders bitince hesaba yazılır. Bu dersi tamamlayınca +50 XP alacaksın. Giriş yapmadan ilerlersen puan yalnız bu tarayıcıda durur.

8 dk · 50 XP · 6 etkinlik

x86-64 kayıtçılar ve temel komutlar

İşlemci hesap yaparken belleği değil kayıtçıları kullanır. Kayıtçı, işlemcinin içindeki çok hızlı küçük bir kutudur. x86-64 mimarisinde bunlardan on altı tane vardır.

Adları şöyledir: rax, rbx, rcx, rdx, rsi, rdi, rsp, rbp ve r8 ile r15 arası sekiz tane. Her biri 64 bit taşır. Aynı kayıtçının 32 bitlik parçası e harfiyle anılır; rax içindeki alt 32 bit eax olur.

Bazı kayıtçıların alışılmış görevleri vardır. rax dönüş değerini taşır. rsp yığının tepesini gösterir. rbp yığın çerçevesini işaretler. Gerisi argüman ve ara değer taşır. Bu görevler kural değil sözleşmedir, ama derleyici çıktısında hep uyulur.

mov  rax, 5        ; rax = 5
add  rax, 3        ; rax = 8
mov  rbx, rax      ; rbx = 8
lea  rcx, [rax+4]  ; rcx = rax + 4, bellek okunmaz
mov  rdx, [rax]    ; rax adresindeki değeri oku
Köşeli parantez bellek demektir; lea yalnız adresi hesaplar.

Bu satırları elle izlemek en sağlam alışkanlıktır. Her komuttan sonra hangi kayıtçının değiştiğini kâğıda yaz ve yeni değeri yanına not et. mov hedefe yeni bir değer koyar, add ise hedefteki değerin üstüne ekler; ikisi ardışık geldiğinde son değeri bulmak için önceki adımı bilmen gerekir.