SISTEM BILANGAN DAN REGISTER

Post on 03-Jan-2016

64 views 1 download

description

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. - PowerPoint PPT Presentation

Transcript of SISTEM BILANGAN DAN REGISTER

SISTEM BILANGAN SISTEM BILANGAN DAN REGISTERDAN REGISTER

Minggu_1Minggu_1

SISTEM BILANGAN DAN SISTEM BILANGAN DAN REGISTERREGISTER

TUJUAN TUJUAN Mahasiswa mengenal sistem bilangan.Mahasiswa mengenal sistem bilangan. Mahasiswa mampu mengkonversikan sistem Mahasiswa mampu mengkonversikan sistem

bilangan.bilangan. Menampilkan dan membaca isi register.Menampilkan dan membaca isi register. Mengetahui fungsi-fungsi register sebagai Mengetahui fungsi-fungsi register sebagai

pengalamat data.pengalamat data.

JENIS BILANGAN JENIS BILANGAN Didalam pemrograman dengan bahasa Didalam pemrograman dengan bahasa

assembler, bisa digunakan berbagai jenis assembler, bisa digunakan berbagai jenis bilangan. bilangan.

Jenis bilangan yang bisa digunakan, yaitu: Jenis bilangan yang bisa digunakan, yaitu: Bilangan biner, oktal, desimal dan Bilangan biner, oktal, desimal dan hexadesimal. hexadesimal.

Pemahaman terhadap jenis-jenis bilangan Pemahaman terhadap jenis-jenis bilangan ini adalah penting, karena akan sangat ini adalah penting, karena akan sangat membantu kita dalam pemrograman yang membantu kita dalam pemrograman yang sesungguhnya. sesungguhnya.

BILANGAN BINERBILANGAN BINER

Bilangan biner adalah bilangan yang Bilangan biner adalah bilangan yang hanya terdiri atas 2 kemungkinan hanya terdiri atas 2 kemungkinan (Berbasis dua), yaitu 0 dan 1.(Berbasis dua), yaitu 0 dan 1.

Karena berbasis 2, maka pengkorversian Karena berbasis 2, maka pengkorversian ke dalam bentuk desimal adalah dengan ke dalam bentuk desimal adalah dengan mengalikan suku ke-N dengan 2N.mengalikan suku ke-N dengan 2N.

Contohnya: bilangan biner 01112 = (0 X Contohnya: bilangan biner 01112 = (0 X 23) + (1 X 22) + (1 X 21) + (1 X 20) = 710. 23) + (1 X 22) + (1 X 21) + (1 X 20) = 710.

BILANGAN DESIMALBILANGAN DESIMAL

Bilangan desimal adalah bilangan yang Bilangan desimal adalah bilangan yang terdiri atas 10 buah angka (Berbasis 10), terdiri atas 10 buah angka (Berbasis 10), yaitu angka 0-9. yaitu angka 0-9.

Dengan basis sepuluh ini maka suatu Dengan basis sepuluh ini maka suatu angka dapat dijabarkan dengan angka dapat dijabarkan dengan perpangkatan sepuluh. perpangkatan sepuluh.

Misalkan pada angka 12310 = (1 X 102) + Misalkan pada angka 12310 = (1 X 102) + (2 X 101) + (1 X 100). (2 X 101) + (1 X 100).

BILANGAN OKTAL BILANGAN OKTAL Bilangan oktal adalah bilangan dengan Bilangan oktal adalah bilangan dengan

basis 8, artinya angka yang dipakai basis 8, artinya angka yang dipakai hanyalah antara 0-7. hanyalah antara 0-7.

Sama halnya dengan jenis bilangan yang Sama halnya dengan jenis bilangan yang lain, suatu bilangan oktal dapat lain, suatu bilangan oktal dapat dikonversikan dalam bentuk desimal dikonversikan dalam bentuk desimal dengan mengalikan suku ke-N dengan 8 dengan mengalikan suku ke-N dengan 8 N. N.

Contohnya bilangan 128 = (1 X 81) + (2 X Contohnya bilangan 128 = (1 X 81) + (2 X 80) = 1010. 80) = 1010.

BILANGAN HEXADESIMALBILANGAN HEXADESIMAL

Bilangan hexadesimal adalah bilangan Bilangan hexadesimal adalah bilangan yang berbasis 16. yang berbasis 16.

Dengan angka yang digunakan berupa : Dengan angka yang digunakan berupa : 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F. 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F.

Bilangan hexadesimal mudah dikonversi Bilangan hexadesimal mudah dikonversi dengan bilangan yang lain, terutama dengan bilangan yang lain, terutama dengan bilangan biner dan desimal.dengan bilangan biner dan desimal.

Karena berbasis 16, maka 1 angka pada Karena berbasis 16, maka 1 angka pada hexadesimal akan menggunakan 4 bit. hexadesimal akan menggunakan 4 bit.

BILANGAN BERTANDA DAN TIDAKBILANGAN BERTANDA DAN TIDAK

Pada assembler bilangan-bilangan dibedakan Pada assembler bilangan-bilangan dibedakan lagi menjadi 2, yaitu bilangan bertanda dan lagi menjadi 2, yaitu bilangan bertanda dan tidak. tidak.

Bilangan bertanda adalah bilangan yang Bilangan bertanda adalah bilangan yang mempunyai arti plus(+) dan minus(-), misalkan mempunyai arti plus(+) dan minus(-), misalkan angka 17 dan -17. angka 17 dan -17.

Pada bilangan tidak bertanda, angka Pada bilangan tidak bertanda, angka negatif(yang mengandung tanda '-') tidaklah negatif(yang mengandung tanda '-') tidaklah dikenal. dikenal.

Jadi angka -17 tidak akan akan dikenali sebagai Jadi angka -17 tidak akan akan dikenali sebagai angka -17, tetapi sebagai angka lain. angka -17, tetapi sebagai angka lain.

Konversi Antar Sistem BilanganKonversi Antar Sistem Bilangan

Biner

Desimal

HexadesimalOktal

Struktur Register Struktur Register dandan

Metode PengalamatanMetode PengalamatanMemoriMemori

PENGERTIAN REGISTERPENGERTIAN REGISTER Register merupakan sebagian memori dari Register merupakan sebagian memori dari

mikroprosesor yang dapat diakses dengan mikroprosesor yang dapat diakses dengan kecepatan yang sangat tinggi.kecepatan yang sangat tinggi.

Register adalah sebagian kecil memory Register adalah sebagian kecil memory komputer yang dipakai untuk tempat komputer yang dipakai untuk tempat penampungan data. penampungan data.

Data yang terdapat dalam register dapat Data yang terdapat dalam register dapat diproses dalam berbagai operasi dengan diproses dalam berbagai operasi dengan melihat berapa besar kemampuan register melihat berapa besar kemampuan register tersebut (8 atau 16 bit).tersebut (8 atau 16 bit).

PENGERTIAN REGISTER PENGERTIAN REGISTER Dalam melakukan pekerjaannya Dalam melakukan pekerjaannya

mikroprosesor selalu menggunakan mikroprosesor selalu menggunakan register-register sebagai perantaranya.register-register sebagai perantaranya.

Jadi register dapat diibaratkan sebagai Jadi register dapat diibaratkan sebagai kaki dan tangan dari mikroprosesor.kaki dan tangan dari mikroprosesor.

Penggolongan Register Penggolongan Register

General Purpose RegisterGeneral Purpose Register Segment RegisterSegment Register Pointer RegisterPointer Register Index RegisterIndex Register Flag RegisterFlag Register

General Purpose RegisterGeneral Purpose Register

Accumulator Register AX (16 BIT)Accumulator Register AX (16 BIT)AX = AH (8 BIT) + AL (8 BIT)AX = AH (8 BIT) + AL (8 BIT)

Base Register BX (16 BIT)Base Register BX (16 BIT)BX = BH (8 BIT) + BL (8 BIT)BX = BH (8 BIT) + BL (8 BIT)

Counter Register CX (16 BIT)Counter Register CX (16 BIT)CX = CH (8 BIT) + CL (8 BIT)CX = CH (8 BIT) + CL (8 BIT)

Data Register DX (16 BIT)Data Register DX (16 BIT)DX = DH (8BIT) + DL (8 BIT)DX = DH (8BIT) + DL (8 BIT)

Kelompok Register Data:Kelompok Register Data:

Terdiri dari 4 buah register 16 bit yaitu: AX, Terdiri dari 4 buah register 16 bit yaitu: AX, BX, CX dan DX.BX, CX dan DX.

AX AccumulatorAX Accumulator

BX Base RegisterBX Base Register

CX Counter RegisterCX Counter Register

DX DX Data RegisterData Register

AH AL

BH BL

CH CL

DH DL

Register AX merupakan register aritmatik, Register AX merupakan register aritmatik, karena register ini selalu dipakai dalam karena register ini selalu dipakai dalam operasi penambahan, pengurangan, operasi penambahan, pengurangan, perkalian dan pembagian.perkalian dan pembagian.

Register BX adalah salah satu dari dua Register BX adalah salah satu dari dua register base Addressing Mode yang register base Addressing Mode yang dapat mengambil atau menulis langsung dapat mengambil atau menulis langsung dari/ke memori.dari/ke memori.

Register CX merupakan suatu counter Register CX merupakan suatu counter untuk meletakkan jumlah lompatan pada untuk meletakkan jumlah lompatan pada Loop yang anda lakukan.Loop yang anda lakukan.

Register DX mempunyai tiga tugas, yaitu:Register DX mempunyai tiga tugas, yaitu:• Membantu AX dalam proses perkalian dan Membantu AX dalam proses perkalian dan

pembagian, terutama perkalian dan pembagian, terutama perkalian dan pembagian 16 bit.pembagian 16 bit.

• DX merupakan register offset dari DSDX merupakan register offset dari DS• DX bertugas menunjukkan nomor port DX bertugas menunjukkan nomor port

pada operasi portpada operasi port

Segment RegisterSegment Register

Code Segment Register CS (16 bit)Code Segment Register CS (16 bit) Data Segment Register DS (16 bit)Data Segment Register DS (16 bit) Stack Segment Register SS (16 bit)Stack Segment Register SS (16 bit) Extra Segment Register ES (16 bit)Extra Segment Register ES (16 bit)

Kelompok Register SegmentKelompok Register Segment

Terdiri dari 4 buah register 16 bit, Terdiri dari 4 buah register 16 bit, yaitu : ES,CS,DS dan SS.yaitu : ES,CS,DS dan SS.

ExtraExtra Segment Segment

CodeCode Segment Segment

DataData Segment Segment

StackStack Segment Segment

ES

CS

DS

SS

Tugas register CS yang penting adalah Tugas register CS yang penting adalah menunjukkan segment program berada. menunjukkan segment program berada. Pasangan register ini adalah Pasangan register ini adalah register IPregister IP..

Tugas register DS dan SS adalah Tugas register DS dan SS adalah menunjukkan segmen dari segment data menunjukkan segmen dari segment data dan segment stack. Pasangan dari dan segment stack. Pasangan dari register DS adalah register DS adalah DXDX dan register SS dan register SS adalahadalah SP.SP.

Register Register ESES tidak mempunyai tugas, tidak mempunyai tugas, namun berguna untuk pemrograman pada namun berguna untuk pemrograman pada saat melakukan operasi ke segment lain.saat melakukan operasi ke segment lain.

Kelompok Register Index dan Kelompok Register Index dan PointerPointer

Terdiri dari 2 buah register index dan Terdiri dari 2 buah register index dan 3 buah register pointer.3 buah register pointer.

Stack PointerStack Pointer

Base PointerBase Pointer

Source IndexSource Index

Destination IndexDestination Index

Instruction Pointer Instruction Pointer

SP

BP

SI

DI

IP

Pasangan register IP adalah Pasangan register IP adalah register CSregister CS yang merupakan register terpenting untuk yang merupakan register terpenting untuk menunjukkan baris perintah programmenunjukkan baris perintah program..

Pasangan register SP adalah Pasangan register SP adalah register SSregister SS yang digunakan untuk yang digunakan untuk operasi stackoperasi stack. . Pada saat program pertama dijalankan Pada saat program pertama dijalankan register ini akan menunjuk pada byte register ini akan menunjuk pada byte terakhir stack.terakhir stack.

Register BP mempunyai fungsi yang sama Register BP mempunyai fungsi yang sama dengan register BX yaitu dapat menulis dengan register BX yaitu dapat menulis dan membaca ke atau dari memori secara dan membaca ke atau dari memori secara langsung. langsung.

Index Register terdiri dari dua register Index Register terdiri dari dua register yaitu register DI dan SI, dimana kedua yaitu register DI dan SI, dimana kedua register ini merupakan register yang register ini merupakan register yang dipakai untuk melakukan Operasi String. dipakai untuk melakukan Operasi String. Kedua register ini sering digunakan untuk Kedua register ini sering digunakan untuk menulis dan membaca ke atau dari menulis dan membaca ke atau dari memori seperti BX dan BP.memori seperti BX dan BP.

Flag RegisterFlag Register Register 16 bit dengan komposisi sbRegister 16 bit dengan komposisi sbbb : :

X X X X OF DF IF TF SF ZF X AF X PF X CF

FLAG NILAI BIT 1 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.

Model PengalamatanModel Pengalamatan

Model pengalamatan adalah cara Model pengalamatan adalah cara penulisan instruksi untuk transfer data, penulisan instruksi untuk transfer data, dari atau kedalam mikroprosessor.dari atau kedalam mikroprosessor.

Ada beberapa model pengalamatan :Ada beberapa model pengalamatan : Model Pengalamatan Immediate.Model Pengalamatan Immediate. Model Pengalamatan Register.Model Pengalamatan Register. Model Pengalamatan Direct.Model Pengalamatan Direct. Model Pengalamatan Indirect.Model Pengalamatan Indirect. Model Pengalamatan String.Model Pengalamatan String. Model Pengalamatan I/O.Model Pengalamatan I/O.

Model Pengalamatan Model Pengalamatan ImmediateImmediate

Instruksi untuk trasnfer data ke memory Instruksi untuk trasnfer data ke memory atau register.atau register. Contoh :Contoh :

MovMov AL,80HAL,80H MovMov BL,72HBL,72H MovMov [1234H],25H[1234H],25H MovMov AX,1234HAX,1234H MovMov DX,0300HDX,0300H

Model Pengalamatan Model Pengalamatan RegisterRegister

Instruksi untuk trasnfer data antar Instruksi untuk trasnfer data antar register.register. Contoh :Contoh :

MovMov AL,BLAL,BL MovMov BH,ALBH,AL MovMov CH,CLCH,CL MovMov AX,BXAX,BX MovMov DX,CXDX,CX

Model Pengalamatan DirectModel Pengalamatan Direct

Instruksi untuk trasnfer data dari atau Instruksi untuk trasnfer data dari atau ke memory dimana alamat memory ke memory dimana alamat memory dituliskan langsung.dituliskan langsung. Contoh :Contoh :

MovMov [1234H],80H[1234H],80H MovMov BL,[3472H]BL,[3472H] MovMov [1234H],AX[1234H],AX MovMov AX,[1234H]AX,[1234H]

Model Pengalamatan IndirectModel Pengalamatan Indirect

Instruksi untuk trasnfer data dari atau Instruksi untuk trasnfer data dari atau ke memory dimana alamat memory ke memory dimana alamat memory ditunjukkan oleh isi dari sebuah ditunjukkan oleh isi dari sebuah register.register. Contoh :Contoh :

MovMov [[DIDI],80H],80H MovMov BL,[BL,[BPBP]] MovMov [[DI+1DI+1],AX],AX MovMov AX,[AX,[SI+BXSI+BX]]

Model Pengalamatan StringModel Pengalamatan String

Dalam sistem komputer string adalah Dalam sistem komputer string adalah sebuah urutan penyimpanan dari byte sebuah urutan penyimpanan dari byte atau word dalam memory.atau word dalam memory.

Prosessor menyimpan text sepanjang Prosessor menyimpan text sepanjang string dari karakter ASCII.string dari karakter ASCII. Contoh :Contoh :

MOVSBMOVSB

Model Pengalamatan I/OModel Pengalamatan I/O

Ada 2 model pengalamatan I/O, yaitu model Ada 2 model pengalamatan I/O, yaitu model pengalamatan I/O direct dan indirect.pengalamatan I/O direct dan indirect.

Model Pengalamatan I/O direct digunakan Model Pengalamatan I/O direct digunakan pada I/O yang mempunyai alamat mulai pada I/O yang mempunyai alamat mulai 00H s/d FFH.00H s/d FFH.

Model Pengalamatan I/O indirect digunakan Model Pengalamatan I/O indirect digunakan pada I/O yang mempunyai alamat mulai pada I/O yang mempunyai alamat mulai 0000H s/d FFFFH. Sebagai tempat untuk 0000H s/d FFFFH. Sebagai tempat untuk menyimpan alamat port adalah register DX.menyimpan alamat port adalah register DX.

Contoh :Contoh : OutOut 7FH,AL7FH,AL ;Out data ke 7FH;Out data ke 7FH InIn AL,8FHAL,8FH ;In data dari 8FH;In data dari 8FH

MovMov DX,0303HDX,0303H MovMov AL,80HAL,80H Out Out DX,ALDX,AL

MovMov DX,0302HDX,0302H In In AL,DXAL,DX

Arsitektur Processor 8086/8088Arsitektur Processor 8086/8088

Kapasitas memori = 1 MB.Kapasitas memori = 1 MB.Terdapat 1 MB (2Terdapat 1 MB (22020) = 1024 sel memori 8 bit, dengan ) = 1024 sel memori 8 bit, dengan

alamat 0 s/d 2alamat 0 s/d 22020- 1 atau 00000 H s/d FFFFF H- 1 atau 00000 H s/d FFFFF H

Register-register 16 bit hanya mampu Register-register 16 bit hanya mampu mengalamati memori dari 0 s/d (2mengalamati memori dari 0 s/d (21616 – 1). – 1).

Metode Pengalamatan MemoriMetode Pengalamatan Memori

Metode Pengalamatan dengan Dua Register Metode Pengalamatan dengan Dua Register / Pengalamatan Relatif (untuk mendapatkan / Pengalamatan Relatif (untuk mendapatkan pengalamatan 2pengalamatan 22020):):

Segment RegisterSegment Register Offset RegisterOffset Register

Contoh Pengalamatan RelatifContoh 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)

Pada arsitektur 8086/88 terdapat peta memori sebagai berikut :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)

Organisasi MemoriOrganisasi Memori