Mata Kuliah : Bahasa Rakitan Materi ke-3
St kt Register Struktur R it
REGISTER •
Register adalah sebagian kecil memory komputer yang dipakai di k i untuk t k tempat t t penampungan data. d t
•
Data yang terdapat dalam register dapat diproses dalam berbagai operasi dengan melihat berapa besar kemampuan register tersebut (8 atau 16 bit).
•
Mikroprosesor 8088 adalah mikroprosesor 16 bit dengan saluran data 8 bit yang digunakan secara multipleks dengan saluran alamat dan berorientasi pada register.
2
Penggolongan Register Mikroprosesor Mk 8088 y General
Purpose Register y Segment Register y Pointer Register y Index Register y Flag Fl R Register
3
General Purpose Register +
A X ++ B X ++ C X + ++ D X + +------+-----++------+-----++------+-----++------+------+ | AH | AL | | BH | BL | | CH | CL | | DH | DL | +------+-----++------+-----++------+-----++------+------+ a. Accumulator 16 bit (AX) Register yang berhubungan dengan operasi aritmatika , logika, shift dan rotate b Base Register 16 bit (BX) b. Register untuk pengalamatan berbasis, mereferensikam alamat memori. c. Counter Register (CX) S b i counter register Sebagai i terhadap h d instruksi i k i LOOP. LOOP Cacahan C h naik ik jika direction flag 0 dan cacahan turun jika direction flag 1. d. Data Register g ((DX)) Sebagai pencatat alamat port 8 bit dan 16 bit dan operasi lintas data 4
Segment Register a. Code Segmen Register (CS) Mencatat alamat segmen memori tempat kode operasi suatu program b. Data Segmen Register (DS) Mencatat alamat memori tempat menyimpan data yang digunakan c Stack Segmen Register (SS) c. Mencatat alamat segmen yang digunakan menjadi stack d. Extra Segmen g Register g ((ES)) Mencatat alamat segmen memori bagi data yang terletak di CS, DS dan SS
5
Pointer dan Indeks Register g a. Stack Pointer Register(SP) g ( ) Mencatat alamat stack, memori yang dikhususkan untuk menyimpan isi register pada instruksi PUSH dan POP b. Base Pointer Register(BP) Menyimpan alamat data yang disimpan di stack jika data tersebut akan di kerjakan c. Indeks I d k Register R i Source Indeks(SI) dan Destination Indeks(DI) menyimpan nilai-nilai offset dalam segmen data memori d. Instruction Pointer Register (IP) Register utama yang menunjukkan baris perintah program 6
Flag Register a.Tanda akibat operasi aritmatika dan logika • Carry flag Jik ada Jika d carry atau t borrow b CF = 1 , jk tdk ada d CF = 0 • Parity flag Jumlah bit 1, genap(parity even), PF = 1 Jumlah bit 1, 1 ganjil(parity odd) , PF = 0 • Auxiliary flag Instruksi pengaturan desimal dengan carry, AF = 1 Instruksi pengaturan desimal tanpa carry, carry AF = 0 • Zero Flag Jika hasil operasi = 0 maka ZF = 1 Jika hasil operasi tidak sama dgn 0 maka ZF = 0 • Sign flag Bit tanda hasil ops. aritmatika positif, SF = 0 Bit tanda hasil ops. ops Aritmatika negatif, negatif SF = 1 7
b.Tanda yg berkaitan khusus dg kerja prosesor •
Trap flag, jalannya program normal TF = 0. Program dijalankan per instruksi TF = 1
•
Interrupt flag, di-set jk melakkan interupsi
•
Direction flag,di flag,di-set set jk pd operasi string reg SI & DI melakukan increment, jk decrement DF = 0
•
Overflow flag, OF = 1 jk hasil dari suatu operasi tidak benar
8
Register flag16 bit dengan komposisi sebagai berikut :
X
X X X OF
DF
FLAG
IF
TF
SF ZF
NILAI BIT 1
X
AF
X PF
X CF
NILAI BIT 0
CF
CARRY FLAG
CARRY
NOT CARRY
PF
PARITY FLAG
EVEN PARITY
ODD PARITY
AF
AUXILIARY FLAG
NOT CARRY
CARRY
ZF
ZERO FLAG
ZERO
NOT ZERO
SF
SIGN FLAG
NEGATIF
POSITIF
TF
TRAP FLAG
TRAP
NOT TRAP
IF
INTERUPT FLAG
ENABLE
DISABLE
DF
DIRECTION FLAG
DECREMENT
INCREAMENT
OF
OVERFLOW FLAG
OVERFLOW
NOT OVERFLOW
9
Arsitektur Processor 8086/8088 y
Kapasitas memori = 1 MB. Terdapat 1 MB (220) = 1024 sel memori 8 bit, dengan alamat l t 0 s/d /d 220- 1 atau t 00000 H s/d /d FFFFF H
y
Register-register Register register 16 bit hanya mampu mengalamati memori dari 0 s/d (216 – 1).
10
Metode Pengalamatan Register y
Metode Pengalamatan dengan Dua Register / Pengalamatan Relatif (untuk mendapatkan pengalamatan 220): z Segment Register z Offset Register
11
Contoh Pengalamatan Relatif Segment
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)
12
Organisasi Memori y
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) 13