SISTEM BILANGAN DAN REGISTER

Download Report

Transcript SISTEM BILANGAN DAN REGISTER

SISTEM BILANGAN
DAN REGISTER
Minggu_1
SISTEM BILANGAN DAN
REGISTER
 TUJUAN




Mahasiswa mengenal sistem bilangan.
Mahasiswa mampu mengkonversikan sistem
bilangan.
Menampilkan dan membaca isi register.
Mengetahui fungsi-fungsi register sebagai
pengalamat data.
JENIS BILANGAN
 Didalam
pemrograman dengan bahasa
assembler, bisa digunakan berbagai jenis
bilangan.
 Jenis bilangan yang bisa digunakan, yaitu:
Bilangan biner, oktal, desimal dan
hexadesimal.
 Pemahaman terhadap jenis-jenis bilangan
ini adalah penting, karena akan sangat
membantu kita dalam pemrograman yang
sesungguhnya.
BILANGAN BINER
 Bilangan
biner adalah bilangan yang
hanya terdiri atas 2 kemungkinan
(Berbasis dua), yaitu 0 dan 1.
 Karena berbasis 2, maka pengkorversian
ke dalam bentuk desimal adalah dengan
mengalikan suku ke-N dengan 2N.
 Contohnya: bilangan biner 01112 = (0 X
23) + (1 X 22) + (1 X 21) + (1 X 20) = 710.
BILANGAN DESIMAL
 Bilangan
desimal adalah bilangan yang
terdiri atas 10 buah angka (Berbasis 10),
yaitu angka 0-9.
 Dengan basis sepuluh ini maka suatu
angka
dapat
dijabarkan
dengan
perpangkatan sepuluh.
 Misalkan pada angka 12310 = (1 X 102) +
(2 X 101) + (1 X 100).
BILANGAN OKTAL
 Bilangan
oktal adalah bilangan dengan
basis 8, artinya angka yang dipakai
hanyalah antara 0-7.
 Sama halnya dengan jenis bilangan yang
lain,
suatu
bilangan
oktal
dapat
dikonversikan dalam bentuk desimal
dengan mengalikan suku ke-N dengan 8
N.
 Contohnya bilangan 128 = (1 X 81) + (2 X
80) = 1010.
BILANGAN HEXADESIMAL
 Bilangan
hexadesimal adalah bilangan
yang berbasis 16.
 Dengan angka yang digunakan berupa :
0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F.
 Bilangan hexadesimal mudah dikonversi
dengan bilangan yang lain, terutama
dengan bilangan biner dan desimal.
 Karena berbasis 16, maka 1 angka pada
hexadesimal akan menggunakan 4 bit.
BILANGAN BERTANDA DAN TIDAK

Pada assembler bilangan-bilangan dibedakan
lagi menjadi 2, yaitu bilangan bertanda dan
tidak.
 Bilangan
bertanda adalah bilangan yang
mempunyai arti plus(+) dan minus(-), misalkan
angka 17 dan -17.
 Pada
bilangan
tidak
bertanda,
angka
negatif(yang mengandung tanda '-') tidaklah
dikenal.
 Jadi angka -17 tidak akan akan dikenali sebagai
angka -17, tetapi sebagai angka lain.
Konversi Antar Sistem Bilangan
Biner
Oktal
Hexadesimal
Desimal
Struktur Register
dan
Metode Pengalamatan
Memori
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 Register
 Segment Register
 Pointer Register
 Index Register
 Flag 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
BX
CX
DX
AH
AL
BH
BL
CH
CL
DH
DL
Accumulator
Base Register
Counter Register
Data Register
 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 DS
• DX 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.
ES
CS
DS
SS
Extra Segment
Code Segment
Data Segment
Stack Segment
 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.
SP
BP
SI
DI
IP
Stack Pointer
Base Pointer
Source Index
Destination Index
Instruction Pointer
 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 :
X
X X X OF
DF
IF
FLAG
TF
SF
ZF
X
NILAI BIT 1
AF
X PF
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
Flag operasi aritmatika dan logika : CF, PF, AF, ZF, SF.
Flag operasi khusus kerja mikroprosesor : IF, DF, OF, TF.
X CF
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
 Mov
 Mov
 Mov
 Mov

AL,BL
BH,AL
CH,CL
AX,BX
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/O

Ada 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
 Contoh







Out
In
:
7FH,AL
AL,8FH
Mov DX,0303H
Mov AL,80H
Out DX,AL
Mov DX,0302H
In
AL,DX
;Out data ke 7FH
;In data dari 8FH
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 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)
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)
Pengarang
by : RIDWAN M