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

(Print Screen keadaan akhir dari register)

3. Amati perubahan isi memori pada segmen kode program


disimpan

4. Jelaskan tentang program diatas


- 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.
- Berapa banyak kapasitas memori yang diperlukan untuk
menyimpan program di atas?
Jawab: 710A - 7100 = A; A=10h; 2^10 = 1024 bits = 128
bytes
- Pada alamat fisik berapa program di atas disimpan?
Jawab: 710A.
- Jika data 48 pada instruksi baris ke 7 diganti dengan
260 akan terjadi error, apa penyebabnya?

Jawab: Karena kapasitas AL tidak cukup untuk menerima


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

3. Amati perubahan isi memori pada segmen kode program dan


segmen data

4. Jelaskan tentang program diatas


- 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.
- 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,
sedangkan register lainya tidak befungsi sebagai base
register.
- Bagaimana jika instruksi pada baris ke 3 dihilangkan?
Jawab: Program akan tetap berjalan karena baris itu tidak
menambahkan apapun pada register tujuan.
- Bagaimana jika penggunaan register AL diganti dengan
register AX?

Jawab: Program akan tetap berjalan, perbedaanya terjadi


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

3. Amati perubahan isi memori pada segmen kode program

4. 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, kenapa demikian?
Jawab: Karena hasil dari seluruh operasi disimpan
dahulu dala register lain sebelum dipindahkan ke
register AL, sehingga pada empat baris terakhir bisa
diamati bahwa AL mendapatkan masukan data hingga
totalnya 93h.
o Perhatikan isi register DS dan CS. Jelaskan pengaruhnya
terhadap program di atas?
Jawab: Register DS dan CS bergungsi sebagai default
base untuk operasi program di atas. Program di atas
menggunakan mode Index Relative Addressing, artinya
penunjukan physical address tidak semata-mata CS +
IP, namun pada mode Index Relative Addressing
digunakan pula default base yang digunakan sebagai
yang dijumlah untuk mencari physical address. Misalnya
pada perintah baris ke-6, DS 700 ditambahkan IP 10A
dan ditambahkan lagi dengan 1. Dengan cara tersebut
bisa didapat physical address.
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, pada program ini register yang

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

2. Register pada prosessor 8086 bermacam-macam dan


mempunyai fungsi yang berbeda- beda. Macam dan ukuranya
bisa dilihat pada tabel berikut

3. Segmen kode dipakai untuk mencari physical address dengan


ditambahkan
dengan
IP.
Segmen
data
dipakai
untuk
mengalamatkan memori pada mode index relative addressing.

Anda mungkin juga menyukai