SISTEM BILANGAN DAN REGISTER

37
SISTEM BILANGAN SISTEM BILANGAN DAN REGISTER DAN REGISTER Minggu_1 Minggu_1

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

Page 1: SISTEM BILANGAN DAN REGISTER

SISTEM BILANGAN SISTEM BILANGAN DAN REGISTERDAN REGISTER

Minggu_1Minggu_1

Page 2: SISTEM BILANGAN DAN REGISTER

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.

Page 3: SISTEM BILANGAN DAN REGISTER

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.

Page 4: SISTEM BILANGAN DAN REGISTER

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.

Page 5: SISTEM BILANGAN DAN REGISTER

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).

Page 6: SISTEM BILANGAN DAN REGISTER

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.

Page 7: SISTEM BILANGAN DAN REGISTER

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.

Page 8: SISTEM BILANGAN DAN REGISTER

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.

Page 9: SISTEM BILANGAN DAN REGISTER
Page 10: SISTEM BILANGAN DAN REGISTER

Konversi Antar Sistem BilanganKonversi Antar Sistem Bilangan

Biner

Desimal

HexadesimalOktal

Page 11: SISTEM BILANGAN DAN REGISTER

Struktur Register Struktur Register dandan

Metode PengalamatanMetode PengalamatanMemoriMemori

Page 12: SISTEM BILANGAN DAN REGISTER

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).

Page 13: SISTEM BILANGAN DAN REGISTER

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.

Page 14: SISTEM BILANGAN DAN REGISTER

Penggolongan Register Penggolongan Register

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

Page 15: SISTEM BILANGAN DAN 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)

Page 16: SISTEM BILANGAN DAN REGISTER

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

Page 17: SISTEM BILANGAN DAN REGISTER

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.

Page 18: SISTEM BILANGAN DAN REGISTER

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

Page 19: SISTEM BILANGAN DAN REGISTER

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)

Page 20: SISTEM BILANGAN DAN REGISTER

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

Page 21: SISTEM BILANGAN DAN REGISTER

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.

Page 22: SISTEM BILANGAN DAN REGISTER

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

Page 23: SISTEM BILANGAN DAN REGISTER

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.

Page 24: SISTEM BILANGAN DAN REGISTER

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.

Page 25: SISTEM BILANGAN DAN REGISTER

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.

Page 26: SISTEM BILANGAN DAN REGISTER

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.

Page 27: SISTEM BILANGAN DAN REGISTER

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

Page 28: SISTEM BILANGAN DAN REGISTER

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

Page 29: SISTEM BILANGAN DAN REGISTER

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]

Page 30: SISTEM BILANGAN DAN REGISTER

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]]

Page 31: SISTEM BILANGAN DAN REGISTER

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

Page 32: SISTEM BILANGAN DAN REGISTER

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.

Page 33: SISTEM BILANGAN DAN REGISTER

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

Page 34: SISTEM BILANGAN DAN REGISTER

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).

Page 35: SISTEM BILANGAN DAN REGISTER

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

Page 36: SISTEM BILANGAN DAN 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)

Page 37: SISTEM BILANGAN DAN REGISTER

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