Anda di halaman 1dari 27

LEMBAR KERJA PRAKTIKAN

EKSP. MIKROKOMPUTER
PERTEMUAN 1 : AKSES MEMORI
Jumat, 11 Oktober 2013
Nama
NIM
Kelas

: Ikhsan Nur Rahman
: 12/334926/ PA/ 15063
:A

TUJUAN
1. Memahami bagaimana suatu program disimpan pada
memori
2. Mengetahui fungsi khusus register-register di
prosessor 8086
3. Memahami penggunaan segmen kode dan segmen
data
Kegiatan 1
1. Ketiklah listing dibawah ini pada emu8086.
LISTING 1
1
ORG 100h
2
3
MOV AL,25
4
ADD AL,15
5
ADD AL,32
6
ADD AL,27
7
ADD AL,48
8
9
RET

2. Amati perubahan register pada saat program dieksekusi

.

.

Amati perubahan isi memori pada segmen kode program disimpan .(Print Screen keadaan akhir dari register) 3.

A=10h.7100 = A. . apa penyebabnya? .4.Apa fungsi program di atas? Jawab: Untuk mengamati pergeseran nilai inputan pada register AL dan pergeseran memory per step serta untuk memasukan dan menambahkan data ke register AL dengan perintah MOV dan ADD.Pada alamat fisik berapa program di atas disimpan? Jawab: 710A. . Jelaskan tentang program diatas .Jika data “48” pada instruksi baris ke 7 diganti dengan “260” akan terjadi error. 2^10 = 1024 bits = 128 bytes .Berapa banyak kapasitas memori yang diperlukan untuk menyimpan program di atas? Jawab: 710A .

48 11 12 ADD AL.[BX+2] 15 ADD AL. Amati perubahan isi register pada saat program dieksekusi .800h 4 MOV DS.00h 6 MOV [BX]. DX 5 MOV BX.Jawab: Karena kapasitas AL tidak cukup untuk menerima data tersebut. Kapasitas register AL adalah 28 = 256 yang berarti kurang dari 260.[BX] 13 ADD AL.32 9 MOV [BX+3].15 8 MOV [BX+2]. Kegiatan 2 1.27 10 MOV [BX+4]. Ketik Listing dibawah ini LISTING 2 1 ORG 100h 2 3 MOV DX.25 7 MOV [BX+1].[BX+3] 16 ADD AL.[BX+1] 14 ADD AL.[BX+4] 17 RET 2.

.

.

.

.

.

.

.

3. .Bagaimana jika instruksi pada baris ke 3 dihilangkan? Jawab: Program akan tetap berjalan karena baris itu tidak menambahkan apapun pada register tujuan.Apa yang terjadi jika penggunaan register BX diganti dengan register lain? Jawab: Akan terjadi error karena BX adalah base addressing register yang berguna menyimpan data sementara. Jelaskan tentang program diatas . .Bagaimana jika penggunaan register AL diganti dengan register AX? . sedangkan register lainya tidak befungsi sebagai base register. Amati perubahan isi memori pada segmen kode program dan segmen data 4.Apa perbedaan Listing 1 dengan listing 2? Jawab: Listing 1 hanya menggunakan mode register addressing sedangkan listing 2 sudah memakai mode displacement addressing dan register relative addressing. .

Ketiklan listing dibawah ini LISTING 3 1 ORG 100h 2 3 MOV SI.019h 6 MOV [SI+2]. sedangkan pada AL.01Bh 12 MOV [SI+8].0 15 16 RET 2.020h 10 MOV [SI+6].00Fh 8 MOV [SI+4].Jawab: Program akan tetap berjalan.004h 9 MOV [SI+5].004h 7 MOV [SI+3].030h 14 MOV AX. perbedaanya terjadi pada register AH yang menjadi terisi data sebesar 7A .004h 11 MOV [SI+7]. Amati perubahan isi register pada saat program dieksekusi .004h 13 MOV [SI+9]. AH akan tetap berisi 00 sedangkan AL terisi 93 Kegiatan 3 1. 012Ah 4 MOV [SI].0B0h 5 MOV [SI+1].

.

.

.

.

.

.

.

3. Amati perubahan isi memori pada segmen kode program .

o Perhatikan isi register DS dan CS. Tugas Pembahasan Program pertama ini menunjukan operasi singkat pemindahan dan penambahan pada suatu register dan mengamati pergeseran nilai inputan pada register AL dan pergeseran memory per step. sehingga pada empat baris terakhir bisa diamati bahwa AL mendapatkan masukan data hingga totalnya 93h. namun pada mode Index Relative Addressing digunakan pula default base yang digunakan sebagai yang dijumlah untuk mencari physical address. pada program ini register yang . Misalnya pada perintah baris ke-6. Jelaskan pengaruhnya terhadap program di atas? Jawab: Register DS dan CS bergungsi sebagai default base untuk operasi program di atas. Jelaskan tentang apa program diatas o Apakah fungsi dari program di atas? Jawab: Program di atas berfungsi untuk mengisikan data ke register AL. o Setelah listing 3 dieksekusi nilai pada register AL = 093h. Program di atas menggunakan mode Index Relative Addressing. artinya penunjukan physical address tidak semata-mata CS + IP. DS 700 ditambahkan IP 10A dan ditambahkan lagi dengan 1. kenapa demikian? Jawab: Karena hasil dari seluruh operasi disimpan dahulu dala register lain sebelum dipindahkan ke register AL.4. Dengan cara tersebut bisa didapat physical address.

. Letak dimana data disimpan ditunjukan dengan physical address. 48 berarti menambahkan data sebesar 48 atau 30h ke AL. jika register AL diganti dengan register AX program ini akan tetap berjalan karena register AX tersusun dari register AH dan AL. Program dari listing dua adalah program yang tidak hanya menggunakan register addressing mode sebagaimana program dari listing satu. pada saat ini terdapat data sebesar 28 di AL. perintah terakhir ADD AL. Misalnya pada perintah baris ke-6. 15 berarti menambahkan data sebesar 15 atau F ke AL. Perintah pertama MOV AL. Perbedaanya adalah register AX mempunyai kapasitas yang lebih besar dari pada register AL. berbeda dengan program pada listing satu dengan listing dua.dipakai adalah AL. Karena menggunakan base addressing register mode maka register yang dipakaipun juga harus memakai base register. Program kedua sudah menggunakan displacement addressing mode yaitu pada baris program ke -6 dan sudah pula menggunakan base addressing mode sebagaimana baris ke-7. yaitu BX. Artinya penunjukan physical address tidak sematamata CS + IP. Dengan cara tersebut bisa diperoleh physical address. Program di atas menggunakan mode Index Relative Addressing. Register AL berkapasitas 8 bit sedangkan register AX berkapasitas dua kali lebih besar daripada register AL. Program ini disimpan pada alamat fisik 710A hasil penjumlahan dari CS = 700 dan IP = 10 A. DS 700 ditambahkan IP 10A dan ditambahkan lagi dengan 1. namun pada mode Index Relative Addressing digunakan pula default base yang digunakan sebagai yang dijumlah untuk mencari physical address. sedangkan pada AL. yaitu bagian dari register AX. physical address dihitung dengan menambahkan CS (digeser kekiri satu digit) ditambah IP. AH akan tetap berisi 00 sedangkan AL terisi 93. 25 berarti mengisikan data sebesar 25 atau 19h ke AL. Apabila BX diganti dengan register lain maka program tidak akan berjalan karena tidak ada register lain yang fungsinya seperti base register (BX). Perintah kedua ADD AL. Hal tersebut berpengaruh pada register AH yang menjadi terisi data sebesar 7A . Kesimpulan 1. Namun. AL ini besarnya 8 bit. Setelah terakhir perintah terakhir AL berisi 93.

Register pada prosessor 8086 bermacam-macam dan mempunyai fungsi yang berbeda. Macam dan ukuranya bisa dilihat pada tabel berikut 3. Segmen data dipakai untuk mengalamatkan memori pada mode index relative addressing. . Segmen kode dipakai untuk mencari physical address dengan ditambahkan dengan IP.beda.2.