Komut Seti Mimarisi (ISA)

Benzer belgeler
Komut Seti Mimarisi (ISA)

Sequential (SEQ, Ardışıl) Y86 İşlemci Uygulaması (Devamı)

Bit, Byte ve Integer. BIL-304: Bilgisayar Mimarisi. Dersi veren öğretim üyesi: Yrd. Doç. Dr. Fatih Gökçe

Bilgisayar Sistemlerine Genel Bakış

Mikrobilgisayar Mimarisi ve Programlama

BBM 341 Sistem Programlama

Bit, Byte ve Integer. BIL-304: Bilgisayar Mimarisi. Dersi veren öğretim üyesi: Dr. Öğr. Üyesi Fatih Gökçe

Bit, Byte ve Integer. BIL-304: Bilgisayar Mimarisi. Dersi veren öğretim üyesi: Yrd. Doç. Dr. Fatih Gökçe

8086 Mikroişlemcisi Komut Seti

Komutların Yürütülmesi

Bit, Byte ve Integer. BIL-304: Bilgisayar Mimarisi. Dersi veren öğretim üyesi: Yrd. Doç. Dr. Fatih Gökçe

BİLGİSAYAR MİMARİSİ. Bilgisayar Bileşenleri Ve Programların Yürütülmesi. Özer Çelik Matematik-Bilgisayar Bölümü

Bit, Byte ve Integer. BIL-304: Bilgisayar Mimarisi. Dersi veren öğretim üyesi: Dr. Öğr. Üyesi Fatih Gökçe

x86 Ailesi Mikroişlemciler ve Mikrobilgisayarlar

Floating Point (Kayan Noktalı Sayılar)

Ders 3 ADRESLEME MODLARI ve TEMEL KOMUTLAR

Assembly Dili Nedir? Assembly dili biliyorum derken hangi işlemci ve hangi işletim sistemi için olduğunu da ifade etmek gerekir.

Adresleme Modları. Mikroişlemciler ve Mikrobilgisayarlar

Von Neumann Mimarisi. Mikroişlemciler ve Mikrobilgisayarlar 1

EEM 306 Mikroişlemciler ve Lab. Doç.Dr. Mehmet SAĞBAŞ

BM-311 Bilgisayar Mimarisi

8051 Ailesi MCS51 ailesinin orijinal bir üyesidir ve bu ailenin çekirdeğini oluşturur çekirdeğinin temel özellikkleri aşağıda verilmiştir:

BBM 341 Sistem Programlama

Bölüm 3: Adresleme Modları. Chapter 3: Addressing Modes

Mimari Esaslar. Mikroişlemcinin mimari esasları; Kaydediciler Veriyolları İş hatları dır.

K uark projesi. Temel Özellikler :

8086 dan core2 ya yazaç yapısını tanımak. Bayrak yazacının içeriğinde yer alan bayrakların görevlerini tanımlamak. Real mod çalışmada bellek

BİL 220 Sistem Programlamaya Giriş

BM-311 Bilgisayar Mimarisi

8051 Ailesi MCS51 ailesinin orijinal bir üyesidir ve bu ailenin çekirdeğini oluşturur çekirdeğinin temel özellikkleri aşağıda verilmiştir:

Quiz:8086 Mikroişlemcisi Mimarisi ve Emirleri

Özet DERS 5. Şu ana kadar bilmeniz gerekenler... İşaretsiz Çarpma. Bayraklardaki Durumlar. İşaretli Çarpma

Bahar Dönemi. Öğr.Gör. Vedat MARTTİN

MİKROİŞLEMCİ MİMARİLERİ

BM-311 Bilgisayar Mimarisi

Bilgisayar Mimarisi ve Organizasyonu Giriş

BİL 220 Sistem Programlamaya Giriş

Çalışma Açısından Bilgisayarlar

Mikrobilgisayar Sistemleri ve Assembler

BM-311 Bilgisayar Mimarisi

DERS 5 PIC 16F84 PROGRAMLAMA İÇERİK. PIC 16F84 bacak bağlantıları PIC 16F84 bellek yapısı Program belleği RAM bellek Değişken kullanımı Komutlar

KOMUT TABLOSU İLE İLGİLİ AÇIKLAMALAR:

PIC16F877A nın Genel Özellikleri

Giris {\} /\ Suhap SAHIN

Floating Point (Kayan Noktalı Sayılar)

Merkezi İşlem Birimi MİKROİŞLEMCİ SİSTEMLERİ. MİB Yapısı. MİB in İç Yapısı. MİB Altbirimleri. MİB in İç Yapısı

Ders Özeti. Ders 2. PC nin İç Organizasyonu. Mikroişlemcinin Organizasyonu. Basitçe İşlemciyi Oluşturan Parçalar. Mikroişlemciler

Mikroişlemcili Sistemler ve Laboratuvarı 8.Hafta

BM-311 Bilgisayar Mimarisi. Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü

BİL 220 Sistem Programlamaya Giriş

MİKROBİLGİSAYAR SİSTEMLERİ VE ASSEMBLER

MTM 305 MĠKROĠġLEMCĠLER

Embedded(Gömülü)Sistem Nedir?

BM-311 Bilgisayar Mimarisi

MEB YÖK MESLEK YÜKSEKOKULLARI PROGRAM GELİŞTİRME PROJESİ. 1. Tipik bir mikrobilgisayar sistemin yapısı ve çalışması hakkında bilgi sahibi olabilme

Yrd.Doç.Dr. Celal Murat KANDEMİR. Kodlama (Coding) : Bir nesneler kümesinin bir dizgi (bit dizisi) kümesi ile temsil edilmesidir.

BM-311 Bilgisayar Mimarisi

BİL 361 BİLGİSAYAR MİMARİSİ VE ORGANİZASYONU Güz Dönemi ÖDEV 1

Şekil. 64 Kelimelik Yığıtın Blok Şeması

BM 375 Bilgisayar Organizasyonu Dersi Vize Sınavı Cevapları 10 Nisan 2009

İŞLEMCİ DURUM KAYDEDİCİSİ (PROCESSOR STATUS REGISTER)

DERS 4 MİKROİŞLEMCİ PROGRAMLAMA İÇERİK

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 10. LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ

Merkezi İşlem Birimi MİKROİŞLEMCİ SİSTEMLERİ. MİB Yapısı. MİB Altbirimleri. Durum Kütüğü. Yardımcı Kütükler

Mikroçita. Mikroçita Rapor 2:

TBİL-405 Mikroişlemci Sistemleri Bölüm 2 1- % %01010 işleminin sonucu hangisidir? % %11000 %10001 %10101 %00011

Bölüm 5: ARITMETIK VE MANTIK IŞLEM YAPAN KOMUTLAR

İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ MİKROİŞLEMCİLİ SİSTEM LABORATUARI İKİLİ TABANDA ÇOK BAYTLI ÇARPMA

Mikroişlemcili Sistemler ve Laboratuvarı 6.Hafta

MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

İşletim Sistemlerine Giriş

Bildiğiniz gibi programları oluşturan kodlar ve veriler hafızaya yüklendikten sonra işlemci tarafından satırsatır icra edilirler.

HDL ile Gelişmiş Sayısal Tasarım (EE 425) Ders Detayları

Tarih Saat Modül Adı Öğretim Üyesi. 01/05/2018 Salı 3 Bilgisayar Bilimlerine Giriş Doç. Dr. Hacer Karacan

Mikroişlemcili Sistemler ve Laboratuvarı

Mikrobilgisayar Mimarisi ve Programlama

8. MİKROİŞLEMCİ MİMARİSİ

MC6800. Veri yolu D3 A11. Adres yolu A7 A6 NMI HALT DBE +5V 1 2. adres onaltılık onluk bit 07FF kullanıcının program alanı

BİL 220 Sistem Programlamaya Giriş

Donanım İÇERİK. Bölüm 1:FATEK FBs PLC Serisine Genel Bakış. Bölüm 2:Sistem Mimarisi

MTM 305 MĠKROĠġLEMCĠLER

DERS 3 MİKROİŞLEMCİ SİSTEM MİMARİSİ. İçerik

Pointers (İşaretçiler)

Eğitim Amaçlı Temel Bir Mikrobilgisayarın Tasarlanması ve Gerçeklemesi Design and Implementation of a Basic Microcomputer for Educational Purpose

İŞLEMCİLER (CPU) İşlemciler bir cihazdaki tüm girdilerin tabii tutulduğu ve çıkış bilgilerinin üretildiği bölümdür.

Dr. Feza BUZLUCA İstanbul Teknik Üniversitesi Bilgisayar Mühendisliği Bölümü

MANTIK DEVRELERİ HALL, 2002) (SAYISAL TASARIM, ÇEVİRİ, LITERATUR YAYINCILIK) DIGITAL DESIGN PRICIPLES & PRACTICES (3. EDITION, PRENTICE HALL, 2001)

ÖZET. Lojiksel ve Hiziksel Hafıza. x86 byte düzeni nın Fiziksel Hafıza Yapısı. Ders 3. Temeller

Peripheral Component Interconnect (PCI)

İŞLETİM SİSTEMİ İşletim sistemi kullanıcıyla bilgisayar donanımı arasında iletişim sağlayan programdır.

Deney No Deney Adı Tarih. 3 Mikrodenetleyici Portlarının Giriş Olarak Kullanılması / /201...

BÖLÜM 2 SAYI SİSTEMLERİ

(Random-Access Memory)

Elektronik sistemlerde dört farklı sayı sistemi kullanılır. Bunlar;

SAYISAL VLSI SİSTEM TASARIM AKIŞI

Bilgisayar Mühendisliğine Giriş

Digital Design HDL. Dr. Cahit Karakuş, February-2018

İŞLETİM SİSTEMİ KATMANLARI (Çekirdek, Kabuk ve diğer temel kavramlar) Öğr.Gör. Dr. Dr. Şirin KARADENİZ

Bahar Dönemi. Öğr.Gör. Vedat MARTTİN

W SAYAC SAYAC SAYAC. SAYAC= ise, d=0 W

Transkript:

Komut Seti Mimarisi (ISA) BIL-304: Bilgisayar Mimarisi Dersi veren öğretim üyesi: Dr. Öğretim Üyesi Fatih Gökçe Ders kitabına ait sunum dosyalarından adapte edilmiştir: http://csapp.cs.cmu.edu/ Adapted from slides of the textbook: http://csapp.cs.cmu.edu/ 1

İçerik Arka plan Komut Setleri Lojik Tasarım Ardışıl Uygulama Basit, fakat çok hızlı olmayan bir işlemci tasarımı Pipeline (Boru hattı) Birçok komutun eş zamanlı şekilde çalıştırılması 2

Kapsam Yaklaşımımız 3 Özel bir komut setinin detaylı incelenmesi Y86-64 Intel x86-64 ün basitleştirilmiş bir versiyonu Eğer birini biliyorsanız, aşağı yukarı hepsini bilirsiniz Mikro-mimari seviyesinde çalışma Basit donanım bloklarının tam bir işlemci oluşturacak şekilde birleştirilmesi» Hafıza birimleri, fonksiyonel birimler, vs. Komutların doğru şekilde işleyebilmesi için kontrol lojik biriminin eklenmesi Kontrol lojiğinin tasarımı için basit bir Donanım Tanımlama Dili (Hardware Description Language, HDL) kullanımı Değiştirilebilir/genişletilebilir Simülasyonla test edilebilir Verilog HDL ile gerçek donanıma aktarılabilir.» Kitabın internet sayfasındaki «Web aside ARCH:VLOG» a bakınız.

Komut Seti Mimarisi Assembly Dili Seviyesinde Görünüm 4 İşlemci durumu Kaydediciler (Registers), hafıza, Komutlar addq, pushq, ret, Komutların byte olarak kodlanması Soyutlama Katmanı ISA nın üstü: makinanın nasıl programlandığı İşlemci komutları sırasıyla işletir ISA nın altı: işlemcinin tasarım detayları Daha hızlı çalışma için birçok yöntem kullanılır Örneğin, birçok komutun eş zamanlı işletilmesi Uygulama Programı Derleyici ISA CPU Tasarımı Devre Tasarımı OS Çip düzeyinde yerleşim

Y86-64 İşlemci Durumu %rax %rcx %rsp %rbp RF: Program kaydedicileri (register) %r8 %r9 %r12 %r13 CC: Condition codes ZF SF OF Stat: Program durumu DMEM: Hafıza %rdx %rsi %r10 %r14 PC %rbx %rdi %r11 5 Program Kaydedicileri (Registers) 15 kaydedici (%r15 hariç). Her biri 64 bit Durum kodları (Condition Codes) Tek bitlik bayraklar aritmetik veya lojik komutlar tarafından set edilir.» ZF: Sıfır SF:Negatiflik OF: İki tümleyen taşma durum CF: Elde biti X86-64 te bulunmaktadır ama Y86-64 işlemcide bulunmaz. Program Sayacı (Program Counter) Bir sonraki komutun adresini gösterir Program Durumu Normal çalışma veya hata durumlarını belirtir Hafıza Byte adresli kayıt dizisi Sözcükler (Words) küçük-sonlu (little-endian) yöntemine göre kaydedilir

Y86-64 Komut Seti #1 Byte 0 1 2 3 4 5 6 7 8 9 halt 0 0 nop 1 0 cmovxx ra, rb 2 fn ra rb ir V, rb 3 0 F rb V rm ra, D(rB) 4 0 ra rb D mr D(rB), ra 5 0 ra rb D OPq ra, rb 6 fn ra rb jxx Hedef 7 fn Hedef call Hedef 8 0 Hedef ret 9 0 pushq ra A 0 ra F popq ra 6 B 0 ra F

Y86-64 Komutları Format 1 10 byte arasında bilgi hafızadan okunur Komutun uzunluğu (kaç byte olduğu) ilk byte ından anlaşılır. x86-64 komutlarından daha basit kodlanırlar ve sayıca daha azdırlar Her biri program durumuna erişebilir ve değiştirebilir. 7

Y86-64 Komut Seti Byte halt 0 0 nop 1 0 cmovxx ra, rb 2 fn ra rb 0 1 2 3 4 5 6 7 8 9 ir V, rb 3 0 F rb rm ra, D(rB) 4 0 ra rb mr D(rB), ra 5 0 ra rb V D D OPq ra, rb 6 fn ra rb jxx Hedef 7 fn Hedef call Hedef 8 0 Hedef ret 9 0 pushq ra A 0 ra F popq ra 8 B 0 ra F

Y86-64 Komut Seti #2 rr 2 0 Byte 0 1 2 3 4 5 6 7 8 9 halt 0 0 cmovle 2 1 nop 1 0 cmovl 2 2 cmovxx ra, rb 2 fn ra rb cmove 2 3 ir V, rb 3 0 F rb V cmovne 2 4 rm ra, D(rB) mr D(rB), ra 4 5 0 0 ra rb ra rb D D cmovge cmovg 2 2 5 6 OPq ra, rb 6 fn ra rb jxx Hedef 7 fn Hedef call Hedef 8 0 Hedef ret 9 0 pushq ra A 0 ra F popq ra 9 B 0 ra F

Y86-64 Komut Seti #3 Byte 0 1 2 3 4 5 6 7 8 9 halt 0 0 nop 1 0 cmovxx ra, rb 2 fn ra rb ir V, rb 3 0 F rb V rm ra, D(rB) 4 0 ra rb D mr D(rB), ra 5 0 ra rb D OPq ra, rb 6 fn ra rb jxx Hedef 7 fn Hedef call Hedef 8 0 Hedef addq 6 0 subq 6 1 andq 6 2 xorq 6 3 ret 9 0 pushq ra A 0 ra F popq ra 10 B 0 ra F

Y86-64 Komut Seti #4 Byte 0 1 2 3 4 5 6 7 8jmp 97 0 halt 0 0 nop 1 0 cmovxx ra, rb 2 fn ra rb ir V, rb 3 0 F rb V rm ra, D(rB) 4 0 ra rb D mr D(rB), ra 5 0 ra rb D jle 7 1 jl 7 2 je 7 3 jne 7 4 jge 7 5 jg 7 6 OPq ra, rb 6 fn ra rb jxx Hedef 7 fn Hedef call Hedef 8 0 Hedef ret 9 0 pushq ra A 0 ra F popq ra 11 B 0 ra F

Kaydedicilerin (Register) kodlanması Her kaydedici 4-bit ID ye sahiptir. %rax 0 %r8 8 %rcx 1 %r9 9 %rdx 2 %r10 A %rbx 3 %r11 B %rsp 4 %r12 C %rbp 5 %r13 D %rsi 6 %r14 E %rdi 7 Kaydedici yok F x86-64 dakiyle aynı kodlama 15 (0xF) ID si kaydedici yok durumunu kodlar Bu özelliği donanım tasarımının birçok yerinde kullanacağız. 12

Komut Örneği Toplama Komutu Genel Form Kodlanmış Gösterim addq ra, rb 6 0 ra rb ra kaydedicisindeki değeri rb kaydedicisindeki değere ekle Sonucu rb ye kaydet Not: Y86-64 sadece kaydedicilerdeki verilerin toplanmasına imkan sağlar Durum kodlarını (condition codes) sonuca bağlı olarak etkiler örnek, addq %rax,%rsi Kodlanmış hali: 60 06 Kodlamasında 2-byte gerekir Birinci byte komut tipini belirtir İkincisi kaynak ve hedef kaydedicileri verir 13

Aritmetik ve Lojik İşlemler Komut kodu Fonksiyon kodu Topla addq ra, rb 6 0 ra rb Çıkar (ra yı rb den) VE subq ra, rb 6 1 ra rb andq ra, rb 6 2 ra rb Özel VEYA (XOR) Genel olarak OPq şeklinde ifade edilirler, OP yapılan işlemi tanımlayan kısımdır. Kodlamaları sadece fonksiyon kodu kısmında farklıdır Birinci komut sözcüğünün düşük öncelikli ilk 4 biti Durum kodlarını (condition codes) etkilerler xorq ra, rb 6 3 ra rb 14

Taşıma (Move) İşlemleri Kaydedici Kaydedici rr ra, rb 2 0 ra rb Sabit değer (Immediate) Kaydedici ir V, rb 3 0 F rb V Kaydedici Hafıza rm ra, D(rB) 4 0 ra rb D Hafıza Kaydedici mr D(rB), ra 5 0 ra rb D 15 x86-64 komutuna benzer şekilde çalışır. Kaynak olarak verilen sabit değer, kaydedici içeriği ya da hafıza içeriğini, hedefe kopyalar. Hafıza adresleri için daha basit formata sahiptir. 4 farklı tipi bulunur ve her biri farklı isimdedir.

Taşıma (Move) Komutu Örnekleri X86-64 Y86-64 $0xabcd, %rdx ir $0xabcd, %rdx Kodlaması: 30 F2 cd ab 00 00 00 00 00 00 %rsp, %rbx rr %rsp, %rbx Kodlaması: 20 43-12(%rbp),%rcx Kodlaması: %rsi,0x41c(%rsp) Kodlaması: mr -12(%rbp),%rcx 50 15 f4 ff ff ff ff ff ff ff rm %rsi,0x41c(%rsp) 40 64 1c 04 00 00 00 00 00 00 16

Makine Komut Örnekleri *dest = t; C Kodu t değerini dest ile belirtilen yere kaydet %rax, (%rbx) 0x40059e: 48 89 03 Assembly 8-byte lık değeri hafızaya taşı x86-64 deki ifadesiyle dörtlü sözcük (Quad Word) İşlenenler (Operands): t: Kaydedici %rax dest: Kaydedici %rbx *dest: Hafıza M[%rbx] Obje Kodu 3-byte lık komut 0x40059e adresinde kayıtlıdır 17

Verinin Taşınması Verinin Taşınması Kaynak, Hedef %rax %rcx %rdx İşlenen (Operand) Tipleri 18 Sabit (Immediate): Sabit integer verisi Örnek: $0x400, $-533 C deki sabitler gibi, fakat $ öneki ile 1, 2 veya 4 byte ile kodlanır Kaydedici: 16 integer kaydediciden biri Örnek: %rax, %r13 Fakat %rsp özel amaç için ayrılmıştır %rbx %rsi %rdi %rsp %rbp %rn Diğerleri belli komutlar için özel kullanımlara sahiptir Hafıza: Kaydedicideki değer ve ofset değeri ile belirtilen hafıza adresinde bulunan 8 art arda byte En basit örneği: (%rax) Birçok değişik adres modu bulunur

X86-64 İşlenen Kombinasyonları Kaynak Hedef Kaynak,Hedef C de olası karşılığı Sabit Kayd. Hafıza $0x4,%rax temp = 0x4; $-147,(%rax) *p = -147; Kayd. Kayd. Hafıza %rax,%rdx %rax,(%rdx) temp2 = temp1; *p = temp; Hafıza Kayd. (%rax),%rdx temp = *p; 19 Hafızadan hafızaya tek komutla veri transferi yapılamaz

Basit hafıza adresleme modları Normal (R) Mem[Reg[R]] R kaydedicisindeki değer erişilecek hafıza adresini belirtir Aha! C deki Pointer mantığı (%rcx),%rax Ofsetli D(R) Mem[Reg[R]+D] R kaydedicisindeki değer hafıza bölgesinin başlangıcını belirtir Erişilecek adres, sabit D ofset değeri eklenerek bulunur 20 8(%rbp),%rdx

Basit adresleme modu örnekleri void swap (long *xp, long *yp) { long t0 = *xp; long t1 = *yp; *xp = t1; *yp = t0; } swap: (%rdi), %rax (%rsi), %rdx %rdx, (%rdi) %rax, (%rsi) ret 21

Swap() in Anlaşılması void swap (long *xp, long *yp) { long t0 = *xp; long t1 = *yp; *xp = t1; *yp = t0; } Kaydediciler %rdi %rsi %rax %rdx Hafıza Kaydedici %rdi %rsi %rax %rdx Değer xp yp t0 t1 swap: (%rdi), %rax # t0 = *xp (%rsi), %rdx # t1 = *yp %rdx, (%rdi) # *xp = t1 %rax, (%rsi) # *yp = t0 ret 22

Swap() in Anlaşılması Kaydediciler %rdi 0x120 %rsi 0x100 %rax %rdx Hafıza 123 456 Adres 0x120 0x118 0x110 0x108 0x100 swap: (%rdi), %rax # t0 = *xp (%rsi), %rdx # t1 = *yp %rdx, (%rdi) # *xp = t1 %rax, (%rsi) # *yp = t0 ret 23

Swap() in Anlaşılması Kaydediciler %rdi 0x120 %rsi 0x100 %rax 123 %rdx Hafıza 123 456 Adres 0x120 0x118 0x110 0x108 0x100 swap: (%rdi), %rax # t0 = *xp (%rsi), %rdx # t1 = *yp %rdx, (%rdi) # *xp = t1 %rax, (%rsi) # *yp = t0 ret 24

Swap() in Anlaşılması Kaydediciler %rdi 0x120 %rsi 0x100 %rax 123 %rdx 456 Hafıza 123 456 Adres 0x120 0x118 0x110 0x108 0x100 swap: (%rdi), %rax # t0 = *xp (%rsi), %rdx # t1 = *yp %rdx, (%rdi) # *xp = t1 %rax, (%rsi) # *yp = t0 ret 25

Swap() in Anlaşılması Kaydediciler %rdi 0x120 %rsi 0x100 %rax 123 %rdx 456 Hafıza 456 456 Adres 0x120 0x118 0x110 0x108 0x100 swap: (%rdi), %rax # t0 = *xp (%rsi), %rdx # t1 = *yp %rdx, (%rdi) # *xp = t1 %rax, (%rsi) # *yp = t0 ret 26

Swap() in Anlaşılması Kaydediciler %rdi 0x120 %rsi 0x100 %rax 123 %rdx 456 Hafıza 456 123 Adres 0x120 0x118 0x110 0x108 0x100 swap: (%rdi), %rax # t0 = *xp (%rsi), %rdx # t1 = *yp %rdx, (%rdi) # *xp = t1 %rax, (%rsi) # *yp = t0 ret 27

Hafıza Adresleme Modlarının Tümü En Genel Form D(Rb,Ri,S) Mem[Reg[Rb]+S*Reg[Ri]+ D] D: 1, 2 veya 4 byte lık sabit ofset Rb: Taban kaydedici: 16 integer kaydediciden herhangi biri Ri: İndeks kaydedici: %rsp hariç herhangi biri S: Ölçek: 1, 2, 4 veya 8 (Neden bu sayılar?) Özel Durumlar 28 (Rb,Ri) D(Rb,Ri) (Rb,Ri,S) Mem[Reg[Rb]+Reg[Ri]] Mem[Reg[Rb]+Reg[Ri]+D] Mem[Reg[Rb]+S*Reg[Ri]]

Adres Hesaplama Örnekleri Carnegie Mello %rdx %rcx 0xf000 0x0100 Expression İfade Address Adres Hesabı Computation Address Adres 0x8(%rdx) (%rdx,%rcx) (%rdx,%rcx,4) 0xf000 + 0x8 0xf000 + 0x100 0xf000 + 4*0x100 0xf008 0xf100 0xf400 29 0x80(,%rdx,2) 2*0xf000 + 0x80 0x1e080