Struktur Register dan Metode Pengalamatan Memori
description
Transcript of Struktur Register dan Metode Pengalamatan Memori
Struktur Register danMetode PengalamatanMemori
PENGERTIAN REGISTER
Register merupakan sebagian memori dari mikroprosesor yang dapat diakses dengan kecepatan yang sangat tinggi.
Register adalah sebagian kecil memory komputer yang dipakai untuk tempat penampungan data.
Data yang terdapat dalam register dapat diproses dalam berbagai operasi dengan melihat berapa besar kemampuan register tersebut (8 atau 16 bit).
PENGERTIAN REGISTER
Dalam melakukan pekerjaannya mikroprosesor selalu menggunakan register-register sebagai perantaranya.
Jadi register dapat diibaratkan sebagai kaki dan tangan dari mikroprosesor.
Penggolongan Register
General Purpose RegisterSegment RegisterPointer RegisterIndex RegisterFlag Register
General Purpose Register
Accumulator Register AX (16 BIT)AX = AH (8 BIT) + AL (8 BIT)
Base Register BX (16 BIT)BX = BH (8 BIT) + BL (8 BIT)
Counter Register CX (16 BIT)CX = CH (8 BIT) + CL (8 BIT)
Data Register DX (16 BIT)DX = DH (8BIT) + DL (8 BIT)
Kelompok Register Data:
Terdiri dari 4 buah register 16 bit yaitu: AX, BX, CX dan DX.
AX AccumulatorBX Base RegisterCX Counter RegisterDX Data Register
AH AL
BH BL
CH CL
DH DL
Register AX merupakan register aritmatik, karena register ini selalu dipakai dalam operasi penambahan, pengurangan, perkalian dan pembagian.
Register BX adalah salah satu dari dua register base Addressing Mode yang dapat mengambil atau menulis langsung dari/ke memori.
Register CX merupakan suatu counter untuk meletakkan jumlah lompatan pada Loop yang anda lakukan.
Register DX mempunyai tiga tugas, yaitu:Membantu AX dalam proses perkalian
dan pembagian, terutama perkalian dan pembagian 16 bit.
DX merupakan register offset dari DSDX bertugas menunjukkan nomor port
pada operasi port
Segment Register
Code Segment Register CS (16 bit)
Data Segment Register DS (16 bit)
Stack Segment Register SS (16 bit)
Extra Segment Register ES (16 bit)
Kelompok Register Segment Terdiri dari 4 buah register 16 bit, yaitu :
ES,CS,DS dan SS.
Extra Segment
Code Segment
Data Segment
Stack Segment
ES
CS
DS
SS
Tugas register CS yang penting adalah menunjukkan segment program berada. Pasangan register ini adalah register IP.
Tugas register DS dan SS adalah menunjukkan segmen dari segment data dan segment stack. Pasangan dari register DS adalah DX dan register SS adalah SP.
Register ES tidak mempunyai tugas, namun berguna untuk pemrograman pada saat melakukan operasi ke segment lain.
Kelompok Register Index dan Pointer
Terdiri dari 2 buah register index dan 3 buah register pointer.
Stack Pointer Base Pointer Source Index Destination Index Instruction Pointer
SP
BP
SI
DI
IP
Pasangan register IP adalah register CS yang merupakan register terpenting untuk menunjukkan baris perintah program.
Pasangan register SP adalah register SS yang digunakan untuk operasi stack. Pada saat program pertama dijalankan register ini akan menunjuk pada byte terakhir stack.
Register BP mempunyai fungsi yang sama dengan register BX yaitu dapat menulis dan membaca ke atau dari memori secara langsung.
Index Register terdiri dari dua register yaitu register DI dan SI, dimana kedua register ini merupakan register yang dipakai untuk melakukan Operasi String. Kedua register ini sering digunakan untuk menulis dan membaca ke atau dari memori seperti BX dan BP.
Flag Register Register 16 bit dengan komposisi sbb :
FLAG NILAI BIT 1 NILAI BIT 0CF CARRY FLAG CARRY NOT CARRYPF PARITY FLAG EVEN PARITY ODD PARITYAF AUXILIARY FLAG NOT CARRY CARRYZF ZERO FLAG ZERO NOT ZEROSF SIGN FLAG NEGATIF POSITIFTF TRAP FLAG TRAP NOT TRAPIF INTERUPT FLAG ENABLE DISABLEDF DIRECTION FLAG DECREMENT INCREAMENTOF OVERFLOW FLAG OVERFLOW NOT OVERFLOW
X X X X OF DF IF TF SF ZF X AF X PF X CF
Flag operasi aritmatika dan logika : CF, PF, AF, ZF, SF. Flag operasi khusus kerja mikroprosesor : IF, DF, OF, TF.
Model Pengalamatan
Model pengalamatan adalah cara penulisan instruksi untuk transfer data, dari atau kedalam mikroprosessor.
Ada beberapa model pengalamatan : Model Pengalamatan Immediate. Model Pengalamatan Register. Model Pengalamatan Direct. Model Pengalamatan Indirect. Model Pengalamatan String. Model Pengalamatan I/O.
Model Pengalamatan Immediate
Instruksi untuk trasnfer data ke memory atau register.
Contoh : Mov AL,80H Mov BL,72H Mov [1234H],25H Mov AX,1234H Mov DX,0300H
Model Pengalamatan Register
Instruksi untuk trasnfer data antar register.
Contoh : Mov AL,BL Mov BH,AL Mov CH,CL Mov AX,BX Mov DX,CX
Model Pengalamatan Direct
Instruksi untuk trasnfer data dari atau ke memory dimana alamat memory dituliskan langsung.
Contoh : Mov [1234H],80H Mov BL,[3472H] Mov [1234H],AX Mov AX,[1234H]
Model Pengalamatan Indirect
Instruksi untuk trasnfer data dari atau ke memory dimana alamat memory ditunjukkan oleh isi dari sebuah register.
Contoh : Mov [DI],80H Mov BL,[BP] Mov [DI+1],AX Mov AX,[SI+BX]
Model Pengalamatan String
Dalam sistem komputer string adalah sebuah urutan penyimpanan dari byte atau word dalam memory.
Prosessor menyimpan text sepanjang string dari karakter ASCII.
Contoh : MOVSB
Model Pengalamatan I/OAda 2 model pengalamatan I/O,
yaitu model pengalamatan I/O direct dan indirect.
Model Pengalamatan I/O direct digunakan pada I/O yang mempunyai alamat mulai 00H s/d FFH.
Model Pengalamatan I/O indirect digunakan pada I/O yang mempunyai alamat mulai 0000H s/d FFFFH. Sebagai tempat untuk menyimpan alamat port adalah register DX.
Contoh : Out 7FH,AL ;Out data ke 7FH In AL,8FH ;In data dari 8FH
Mov DX,0303H Mov AL,80H Out DX,AL
Mov DX,0302H In AL,DX
Arsitektur Processor 8086/8088
Kapasitas memori = 1 MB.Terdapat 1 MB (220) = 1024 sel memori 8 bit, dengan alamat 0 s/d 220- 1 atau
00000 H s/d FFFFF H
Register-register 16 bit hanya mampu mengalamati memori dari 0 s/d (216 – 1).
Metode Pengalamatan Memori Metode Pengalamatan
dengan Dua Register / Pengalamatan Relatif (untuk mendapatkan pengalamatan 220):
Segment Register Offset Register
Contoh Pengalamatan RelatifSegment Offset
A123 : 009A H
Komposisi Bit :1010 0001 0010 0011 0000
0000 1001 1001 1010 1010 0001 1011 1100 1010 = A1BCA H
+
Alamat Mutlak (physical address)
Organisasi Memori Pada arsitektur 8086/88 terdapat peta memori sebagai berikut :
Alamat Fisik Keterangan
00000 – 0007F BIOS INTERUPT VEKTOR
00080 – 003FF DOS INTERUPT VEKTOR
00400 – 004FF BIOS DATA AREA
00500 – 005FF DOS & BASIC DATA AREA
00600 – 9CFFF RAM WORKING SPACE
A0000 – A3FFF CADANGAN
A4000 – AFFFF MONOCHROME ADAPTER
B0000 – B1000 VIDEO BUFFER
B1001 – B7FFF COLOR/GRAPHICS ADAPTER
B8000 – BBFFF
BC000 – BFFFF
C0000 – C7FFF EKSPANSI MEMORY
C8000 – F3FFF HARDDISK
CC000 – F3FFF CADANGAN
F4000 – F5FFF USER ROM (8 K)
F6000 – FDFFF ROM BASIC (32 K)
FE000 – FFFFF ROM BIOS (8 K)