Mata Kuliah : Bahasa Rakitan Materi ke-2
Sistem Bilangan & Dasar Assembler Dadang Mulyana
SISTEM BILANGAN
Sistem Bilangan Desimal Sistem Bilangan Biner Sistem Bilangan Oktal Sistem Bilangan Heksadesimal
dadang mulyana 2012
2
1
Sistem Bilangan Desimal
Basis 10 Bilangan : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
dadang mulyana 2012
3
Sistem Bilangan Biner
Basis 2 Bilangan : 0, 1
dadang mulyana 2012
4
2
Pengelompokan Biner :
BIT (B) = 1 Bilangan Biner Nibble = 4 Bit Byte (B) = 8 Bit Word (W) = 16 Bit Double Word = 32 Bit Paragraf = 128 Bit Page = 256 Byte = 2048 Bit dadang mulyana 2012
5
Pengelompokan Biner :
Word (W) = 16 Bit
MOST SIGNIFICANT BYTE (BIT Ke 8 S/D 15) LEAST SIGNIFICANT BYTE (BIT Ke 0 S/D 7)
x x x x x x x x x x x x x x x x _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 15 …
…9
8 7
6
dadang mulyana 2012
5
4 3 2
1
0
6
3
Sistem Bilangan Oktal
Basis 8 Bilangan : 0, 1, 2, 3, 4, 5, 6, 7
dadang mulyana 2012
7
Sistem Bilangan Heksadesimal
Basis 16 Bilangan : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
dadang mulyana 2012
8
4
Bilangan Bertanda
Sandi Bilangan Bertanda Tanda
Sandi
+
0
-
1
Letak Sandi PENGELOMPOKAN
BILANGAN
LETAK SANDI
NIBBLE
BIT ke 0 s/d 2
BIT ke 3
BYTE
BIT ke 0 s/d 6
BIT ke 7
WORD
BIT ke 0 s/d 14
BIT ke 15
dadang mulyana 2012
9
Komplemen
Ones complement. Untuk menghitung bilangan ones complement dari suatu bilangan maka balikan seluruh nilai bitnya. Contoh, ones complement dari 11110000b adalah 00001111b. Twos complement. Untuk menyimpan nilai negetif maka digunakan bilangan twos complement. Twos complement diperoleh dengan menambah satu pada bilangan ones complement.
dadang mulyana 2012
10
5
Contoh twos komplemen
Contoh twos complement dari +6 (00000110b), balikan nilai bitnya untuk mendapatkan ones compelent menjadi 11111001b, untuk memperoleh twos complementnya ditambah satu menjadi : 11111010b (ini nilai twos complement untuk -6). Untuk mendapatkan kembali nilai +6 sebagai berikut :
dadang mulyana 2012
11
Bilangan Negatif Mencari Bilangan Negatif :
Konversikan bilangan desimal negatif menjadi bilangan biner positif.
Komplemenkan setiap angka 1 dengan 0 dan angka 0 dengan 1.
Tambahkan angka satu pada bilangan hasil komplemen di atas. dadang mulyana 2012
12
6
Sandi ASCII
ASCII = American Standard Code For Information Interchange.
Salah Satu Bentuk Baku / Standarisasi Sandi Dalam Mikro Komputer.
Sandi ASCII Terdiri Dari 128 Sandi.
dadang mulyana 2012
13
Sandi ASCII (cont.)
Kelompok 8 bit (1 byte) → 28 = 256 bilangan Satu Bilangan = 1 sandi ASCII 128 sandi ASCII = 128 bilangan → 00 H s/d 7F H Character set lainnya = 128 bilangan → 80 H s/d FF H
dadang mulyana 2012
14
7
DASAR
ASSEMBLY
dadang mulyana 2012
15
Mnemonic mungkin diikuti oleh operand berikut contohnaya : clc ; hanya sebuah mnemonic inc ax ; operand tunggal mov ax, bx ; dua operand
Setiap instruksi dapat diikuti oleh komentar, yang selalu diawali dengan titik koma (;). Operand bisa berupa register, variabel, lokasi memori atau nilai immediate. Contoh : 10 (nilai immediate) count (variabel) AX (register) [0200] (lokasi memori)
dadang mulyana 2012
16
8
Contoh program 1 mov ax, 5 ; memindahkan 5 ke dalam register ax add ax, 10 ; menambahkan nilai 10h terhadap register ax add ax, 20 ; menambahkan nilai 20h terhadap register ax mov sum, ax ; menyimpan ax dalam variabel sum int 20 ; akhir program Instruksi MOV memerintahkan CPU untuk memindahkan atau menyalin data, dari operand sumber ke operand tujuan. Baris 1 memindahkan 5 ke dalam register AX. Baris 2 memindahkan 10 (hexa) ke dalam AX, membuatnya sama dengan 15. baris 3 menambahkan 20 ke AX, membuatnya sama dengan 35, baris 4 menyalin AX ke dalam variabel dalam memori yang disebut SUM. Baris terakhir menghentikan program.
dadang mulyana 2012
17
Perintah untuk menyusun dalam debug
dadang mulyana 2012
18
9
Eksekusi program Setelah isntruksi yang kedua akan diperoleh tampilan hasil sebagai berikut : 1. mov ax, 5 ax : 05 2. add ax, 10 ax : 10 3. add ax, 20 ax : 35 4. mov sum, ax ax : 35 sum : 35
dadang mulyana 2012
19
Latihan 1 1. 2. 3. 4. 5. 6. 7.
Jalankan contoh program1. Tuliskan langkahnya! Jelaskan maksud program tersebut baris per baris Tuliskan isi data tiap register, jelaskan mengapa nilainya bisa begitu! Sebutkan dan jelaskan jenis-jenis sistem bilangan Jelaskan cara konversi bilangan biner, oktal dan heksa ke desimal. Berikan masing-masing 1 contoh! Jelaskan apa yang anda ketahui dengan komplemen bilangan! Sebutkan dan jelaskan cara mengubah bilangan +78 dan + 102 menjadi -78 dan -102 dengan cara menggunakan komplemen 2! Kirim jawaban anda ke
[email protected] Subjek : stmiktsk_karyawan_s1_namaanda_rakitan_tugas1 dadang mulyana 2012
20
10