SISTEM BILANGAN DAN REGISTER Minggu1 SISTEM BILANGAN DAN
SISTEM BILANGAN DAN REGISTER Minggu_1
SISTEM BILANGAN DAN REGISTER Ø TUJUAN l l 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 2 N. Ø 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 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 (8 BIT) + DL (8 BIT)
Kelompok Register Data: l 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 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 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 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 : l l l 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. l Contoh : Mov AL, 80 H l Mov BL, 72 H l Mov [1234 H], 25 H l Mov AX, 1234 H l Mov DX, 0300 H l
Model Pengalamatan Register Ø Instruksi untuk trasnfer data antar register. l Contoh : Mov l Mov l 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. l Contoh : l Mov [1234 H], 80 H l Mov BL, [3472 H] l Mov [1234 H], AX l Mov AX, [1234 H]
Model Pengalamatan Indirect Ø Instruksi untuk trasnfer data dari atau ke memory dimana alamat memory ditunjukkan oleh isi dari sebuah register. l Contoh : Mov [DI], 80 H l Mov BL, [BP] l Mov [DI+1], AX l Mov AX, [SI+BX] l
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. l Contoh : l 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 00 H s/d FFH. Ø Model Pengalamatan I/O indirect digunakan pada I/O yang mempunyai alamat mulai 0000 H s/d FFFFH. Sebagai tempat untuk menyimpan alamat port adalah register DX.
Ø Contoh : l l l l Out In 7 FH, AL AL, 8 FH Mov Out DX, 0303 H AL, 80 H DX, AL Mov DX, 0302 H In AL, DX ; Out data ke 7 FH ; In data dari 8 FH
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): l l Segment Register Offset Register
Contoh Pengalamatan Relatif Segment Offset A 123 : 009 A H Komposisi Bit : 1010 0001 0010 0011 0000 1001 1010 + 1010 0001 1011 1100 1010 = A 1 BCA H Alamat Mutlak (physical address)
Organisasi Memori Ø Pada arsitektur 8086/88 terdapat peta memori sebagai berikut : Alamat Fisik Keterangan 00000 – 0007 F BIOS INTERUPT VEKTOR 00080 – 003 FF DOS INTERUPT VEKTOR 00400 – 004 FF BIOS DATA AREA 00500 – 005 FF DOS & BASIC DATA AREA 00600 – 9 CFFF RAM WORKING SPACE A 0000 – A 3 FFF CADANGAN A 4000 – AFFFF MONOCHROME ADAPTER B 0000 – B 1000 VIDEO BUFFER B 1001 – B 7 FFF COLOR/GRAPHICS ADAPTER B 8000 – BBFFF BC 000 – BFFFF C 0000 – C 7 FFF EKSPANSI MEMORY C 8000 – F 3 FFF HARDDISK CC 000 – F 3 FFF CADANGAN F 4000 – F 5 FFF USER ROM (8 K) F 6000 – FDFFF ROM BASIC (32 K) FE 000 – FFFFF ROM BIOS (8 K)
Pengarang by : RIDWAN M
- Slides: 38