Sabtu, 11 Juni 2011

BAHASA ASSEMBLY

Representasi Data
Oleh karena kita bersentuhan dengan computer pada level mesin , kita perlu untuk memeriksa isi memori dan register. Computer yang ada saat ini adalah computer biner yang system bilangannya terdiri angka 1 dan 0, dan kita kenal dengan istilah logic digital.

A.    SISTEM BILANGAN
            System bilangan (number system) adalah  suatu cara untuk mewakili besaran dari suatu item fisik. Sistem bilanan yang banyak dipergunakan oleh manusia adalah system biilangan desimal, yaitu sisitem bilangan yang menggunakan 10 macam symbol untuk mewakili suatu besaran.Sistem ini banyak digunakan karena manusia mempunyai sepuluh jari untuk dapat membantu perhitungan. Lain halnya dengan komputer, logika di komputer diwakili oleh bentuk elemen dua keadaan yaitu off (tidak ada arus) dan on (ada arus). Konsep inilah yang dipakai dalam sistem bilangan binary yang mempunyai dua macam nilai  untuk mewakili suatu besaran nilai.
            Selain system bilangan biner, komputer juga menggunakan system bilangan octal dan hexadesimal.
 Bilangan biner 
Komputer  menyimpan semua instruksi dan data sebagai rangkaian digit biner, tanpa perbedaan antara keduanya. Contoh, tiga huruf pertama alfabet akan disimpan dalam IBM-PC sebagai:
010000010100001000011 = “ABC”
Pada saat yang sama, instruksi untuk menjumlahkan dua buah bilangan akan disimpan di memori sebagai:
0000010000000101
Setiap digit dalam angka biner disebut bit. Kemudian, 8 buah bit disebut byte, yang merupakan unit terkecil penyimpanan computer  saat ini. Setiap lokasi dalam computer menyimpan 1 byte, atau 8 bit. Tipe penyimpan yang lebih besar adalah word yang panjangnya 16 bit (2 byte)
 Setiap system penulisan angka mempunyai basis, yaitu jumlah maximum nilai pada suatu digit, yang disebut radix atau basis
sistem
Basis/radix
Digit yng mungkin
Biner
oktal
Desimal
heksadesimal
2
8
10
16
01
01234567
0123456789
0123456789ABCDEF

Dalam sistem bilangan heksadesimal, huruf A sampai F mewakili nilai decimal 10 sampai 15.Pada saat mengacu pada bilangan biner, octal atau heksadesimal, sebuah huruf kecil akan ditambahkan pada akhir setiap bilangan pada akhir setiap bilangan untuk menunjukkan basisnya contoh bilangan 45 heksadesimal akan ditulis sebagai 45h, 76 oktal ditulis 76o atau 76q, dan biner 11010011 akan terlihat 11010011b.
Computer pribadi IBM disebut 16-bit karena instruksinya dapat mengoperasikan sejumlah 16-bit bilangan. Integer biasanya disimpan dalam memori sebagai byte, word atau double word. Masing-masing mempunyai batasan bawah dan atas sebagai berikut:
 
Tipe penyimpan
Bit
Range
Byte
Word
Double word
8
16
32
0-225
0-65,535
0-4,294,967,295

Walaupun masing-masing bilangan membutuhkan jumlah bit yang berbeda-beda, pada kenyataannya semua bilangan disimpan di memori sebagai nilai biner karena arsitektur computer adalah biner. Setiap bit memori adalah1 atau 0, tetapi lokasi terkecil memori yang diberi alamat adalah byte.

Bilangan heksadesimal
Bilangan biner yang banyak susah untuk dibaca sehingga biasanya digunakan bilangan heksadesimal untuk menggambarkan memori computer atau instruksi. Setiap digit bilangan heksadesimal mewakili 4 bit bilangan biner, dan 2 digit bilangan heksadesimal mewakili satu byte. Pada contoh berikut terlihat bahwa bilangan biner 000101100000011110010100 digambarkan oleh bilangan heksadesimal 160794:
0001    0110    0000    0111    1001    0100
1          6          0          7          9          4
Sebuah digit heksadesimal mungkin mempunyai nilai sampai 15 sehingga untuk angka 10-15 menggunakan huruf A-F. table  berikut menunjukkan bagaimana setiap 4bit biner diterjemahkan ke dalam decimal dan heksadesimal :
Biner
Decimal
Heksadesimal
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
 Bilangan Desimal
Sistem ini menggunakan 10 macam symbol yaitu 0,1,2,3,4,5,6,7,8,dan 9. system ini menggunakan basis 10. Bentuk nilai ini dapat berupa integer desimal atau pecahan.
Integer desimal :
adalah nilai desimal yang bulat, misalnya 8598 dapat diartikan :
         Absolue value merupakan nilai untuk masing-masing digit bilangan, sedangkan  position value adalah merupakan penimbang atau bobot dari masing-masing digit tergantung dari letak posisinya, yaitu nernilai basis dipangkatkan dengan urutan posisinya.

Pecahan desimal :
Adalah nilai desimal yang mengandung nilai pecahan dibelakang koma, misalnya nilai 183,75 adalah pecahan desimal yang dapat diartikan :

Bilangan Oktal
            Sistem bilangan Oktal menggunakan 8 macam symbol bilangan berbasis 8 digit angka, yaitu 0 ,1,2,3,4,5,6,7.
Position value system bilangan octal adalah perpangkatan dari nilai 8.
Contoh :
 
Konversi Bilangan
             Konversi bilangan adalah suatu proses dimana satu system bilangan dengan basis  tertentu akan dijadikan  bilangan dengan basis yang alian. Dalam konversi bilangan terdapat istilah Most Significant Bit (MSB) atau bit yang  paling berarti atau paling besar, dan Least Significant Bit (LSB) atau bit yang paling tidak berarti atau yang terkecil
 Konversi dari bilangan Desimal
1.      Konversi dari bilangan  Desimal ke biner
Yaitu dengan cara membagi bilangan desimal dengan dua kemudian diambil sisa pembagiannya.
Contoh :
 
2.      Konversi bilangan Desimal ke Oktal
Yaitu dengan cara membagi bilangan desimal dengan 8 kemudian diambil sisa pembagiannya
         

        
 3.      Konversi bilangan Desimal ke Hexadesimal
Yaitu dengan cara membagi bilangan desimal dengan 16 kemudian diambil sisa pembagiannya
           
Konversi dari system bilangan Biner
1.      Konversi ke desimal
Yaitu dengan cara mengalikan masing-masing bit dalam bilangan dengan position valuenya.
 2.       Konversi ke Oktal
Dapat dilakukan dengan mengkonversikan tiap-tiap tiga buah digit biner yang dimulai dari bagian belakang. 
Begitu seterusnya untuk yang lain.
 3.      Konversi ke Hexademial
Dapat dilakukan dengan mengkonversikan tiap-tiap empat buah digit biner yang dimulai dari bagian belakang.

  Konversi dari system bilangan Oktal
1.      Konversi ke Desimal
Yaitu dengan cara mengalikan masing-masing bit dalam bilangan dengan position valuenya.
 2.      Konversi ke Biner
Dilakukan dengan mengkonversikan masing-masing digit octal ke tiga digit biner.
Contoh :
6502 (8) ….. = (2)
 2 = 010
0 = 000
5 = 101
6 = 110
jadi 110101000010

3.      Konversi ke Hexadesimal
Dilakukan dengan cara merubah dari bilangan octal menjadi bilangan biner kemudian dikonversikan ke hexadesimal.
Contoh :
2537 (8) = …..(16)
2537 (8) = 010101011111
010101010000(2)  = 55F (16)
Konversi dari bilangan Hexadesimal
 1.      Konversi ke Desimal
Yaitu dengan cara mengalikan masing-masing bit dalam bilangan dengan position valuenya.
  2.      Konversi ke Oktal
Dilakukan dengan cara merubah dari bilangan hexadesimal menjadi biner terlebih dahulu  kemudian dikonversikan ke octal.
Contoh :
55F (16) = …..(8)
55F(16) = 010101011111(2)
010101011111 (2) = 2537 (8)
Bilangan Bertanda
Bilangan biner mungkin bertanda atau tidak bertanda. Byte bertanda menggunakan 8 bit seluruhnya untuk nilai angkanya. Contoh, 11111111= 255. Oleh karena itu, 255 adalah nilai tertinggi yang dapat disimpan dalam byte tidak bertanda. Nilai terbesar yang dapat disimpan dalam word tidak bertanda adalah 65,535.
Byte bertanda hanya menggunakan 7 bit untuk nilai, sedangkan bit paling kiri digunakan sebagai tanda. Bilangan mungkin positif atau negative. Jika tanda sama dengan satu maka bilangan negative. Sebaliknya, jika tanda bernilai 0 maka bilangan positif.:
 
One complement. Untuk menghitung bilangan one complement dari suatu bilangan maka balikkan seluruh nilai bitnya. Contoh, ones complement dari 11110000b adalah 00001111b.
Twos complement. Untuk menyimpan nilai negative maka digunakan bilangan twos complement. Twos complement diperoleh dengan menambahkan satu pada bilangan ones complement.
Contoh twos complement dari +6 (00000110b), balikkan nilai bitnya untuk mendapatkan ones complement menjadi 11111001b, untuk memperoleh twos complementnya ditambah satu menjadi 11111010b (ini nilai twos complement untuk -6). Untuk mendapatkan kembali nilai +6 sebagai berikut:
11111010        -6
00000101        ones complement
+          1          tambah 1
00000110        +6
Nilai maksimum dan minimum. Oleh karena nilai paling kiri pada bilangan bertanda digunakan untuk tanda bilangan, maka ukuran bilangan akan berkurang; yang digunakan hanya 7 bit sehingga nilai paling besar yang bisa dicapai adalah +127. Table berikut menunjukkan nilai maksimum dan minimum untuk byte, word dan double word bertanda:
 
Tipe penyimpan
Nilai terendah
Nilai tertinggi
Byte
Word
Double word
-127
-32,767
-2,147,483,647
+127
+32,767
+2,147,483,647

Penyimpan karakter
komputer hanya dapat menyimpan bilangan biner, jadi bagaimana menyimpan karakter seperti: “A” dan “$”? Telah dibuat suatu system menerjemahkan karakter ke dalam bilangan biner, yaitu American Standart Code for Information Interchange (ASCII). sistem lainnya, Extended Binery Code for Decimal Interchange (EBCDIC), digunakan oleh mini dan mainframe computer IBM.
 
kode
ascii
ctrl
mnemonic
penjelasan
00
01
02
03
04
05
06
07
08
09
0A
0B
0C
0D
0E
0F
10
11
12
13
14
15
16
17
18
19
1A
1B
1C
1D
1E
1F

ctrl-a
ctrl-b
ctrl-c
ctrl-d
ctrl-e
ctrl-f
ctrl-g
ctrl-h
ctrl-i
ctrl-j
ctrl-k
ctrl-l
ctrl-m
ctrl-n
ctrl-o
ctrl-p
ctrl-q
ctrl-r
ctrl-s
ctrl-t
ctrl-u
ctrl-v
ctrl-w
ctrl-x
ctrl-y
ctrl-z
ctrl-[
ctrl-\
ctrl-]
ctrl-^
ctrl- -
nul
soh
stx
etx
eot
enq
ack
bel
bs
ht
lf
vt
ff
cr
so
si
dle
dc1
dc2
dc3
dc4
nak
syn
etb
can
em
sub
esc
fs
gs
rs
us

Karakter kosong
Awal header
Awal teks
Akhir teks
Akhir transmisi
Pertanyaan(enquiry)
Pemberitahuan
Bel
Backspace
Tab horison
Line feed
Tab vertical
Form feed
Carriage return
Shift out
Shift in
Data link escape
Device control 1
Device control 2
Device control 3
 Device control 4
Pemberitahuan negative
Synchronous idle
Akhir transmisi blok
Batal
Akhir medium
Pengurangan(substitusi)
Escape
Pemisah file
Pemisah grup
Pemisah record
Pemisah unit
  
standart kode ASCII hanya menggunakan 7- bit kode, sedangkan nilai selebihnya yang mungkin 7Fh. 8-bit lainnya adalah pilihan, digunakan oleh IBM-PC untuk memperluas kumpulan karakter. Nilai 80h-FFh menggambarkan symbol grafik dan karakter yunani. Nilai 0-1Fh adalah kode kendali untuk printer, komunikasi dan keluaran layar.
Semua karakter, termasuk bilangan dan huruf, dibuat unik pada kode ASCII. Contoh kode untuk karakter string “ABC123” adalah:
Karakter          A         B         C         1          2          3
Kode ASCII   41h      42h      43h      30h      31h      32h

Lalu bagaiman halnya dengan penyimpanan bilangan? Setiap huruf atau digit memerlukan I byte memori. Namun, ketika menyimpan bilangan, kita bias lebih efisien. Contohnya, bilangan 123 dapat disimpan dalam memorisebagai satu byte, yaitu 01111011b.


Tidak ada komentar:

Posting Komentar