LAPORAN PEMOGRAMAN Assembly 5
Transcript of LAPORAN PEMOGRAMAN Assembly 5
LAPORAN
PRAKTIKUM ASSEMBLER
Fungsi Micro Processor
Oleh :
Syarif Hidayatullah
3.34.12.0.21
PROGRAM STUDI TEKNIK INFORMATIKA
JURUSAN TEKNIK ELEKTRO
POLITEKNIK NEGERI SEMARANG
2013
PRAKTIKUM 4
FUNGSI MICRO PROCESSOR
I.TUJUAN INSTRUKSIONAL KHUSUSSetelah melaksanakan praktek ini, mahasiswa diharapkan
dapat :
a. Mengetahui dan memahami tentang penggunaan looping
yang terdapat dalam bahasa Assembly
b. Mengenal fungsi kerja Micro Processor dalam
penerapannya pada bahasa assembly
II. LANDASAN TEORI
FUNGSI KERJA MICRO PROCESSOR
PENGULANGAN DENGAN LOOP
Perintah LOOP digunakan untuk melakukan suatu proses
yang berulang -ulang. Adapun syntax dari perintah ini
adalah :
LOOP Tujuan
Tujuan dapat berupa suatu label yang telah
didefinisikan, contoh:
MOV CX,3 ; Banyaknya pengulangan yang
dilakukan
Teknik Informatika | Politeknik NegeriSemarang
Ulang : INT 10h ; Tempat terjadinya
pengulangan
LOOP Ulang ; Lompat ke label 'Ulang'
ada proses pengulangan dengan perintah LOOP, register
CX memegang suatu peranan yang khusus dimana register
ini dijadikan sebagai counter/penghitung terhadap
banyaknya looping yang boleh terjadi. Setiap ditemui
perintah LOOP , maka register CX akan dikurangi dengan
1 terlebih dahulu, kemudian akan dilihat apakah CX
sudah mencapai 0. Proses looping akan selesai bila
nilai pada register CX mencapai nol. Seperti pada
contoh diatas, maka interupsi 10h akan dihasilkan
sebanyak 3 kali(sesuai dengan nilai CX). Perlu
diperhatikan bahwa ja ngan sampai anda menaruh CX
kedalam proses LOOP karena hal ini akan menyebabkan
nilai CX diSET terus sehingga proses looping tidak bisa
berhenti.
FUNGSI MICRO PROCESSOR
Memindahkan data : MOV
Melakukan operasi aritmatika [ ADD (+), SUB (-), MUL
(x), DIV (:) ] dan logika sederhana [ AND, OR, NOT,
XOR ]
Melakukan keputusan sederhana
ADD
Teknik Informatika | Politeknik NegeriSemarang
OperandADD Reg, RegSUB Reg, MemOR Mem, RE CAND Mem, ImmediateXOR Reg, Immediate
o Contoh syntax operasi ADD dalam Register
ADD AL, BL
AL=AL+BL (harus memiliki besar bit yang
sama)
o Contoh syntax operasi ADD dalam immediate
ADD AL, 10h
10h (merupakan nilai immediate)
Contoh operasi negative (terdapat pada bilangan
Borland)
IMUL dan IDIV
Flags
15 0OV D I T S Z AC P C
o OV : Overflow
o D : Direction
o I : Interupt
o T : Trace
o S : Sign
o Z : Zero
o AC : Auxiliary Carry
o P : Parity
o C : Carry
XOR
Teknik Informatika | Politeknik NegeriSemarang
A : 0 1 0 0 0 0 0 1
20h : 0 0 0 0 0 0 1 0 XOR
43 : 0 1 0 0 0 0 1 1
20h : 0 0 0 0 0 0 1 0 XOR
41h : 0 1 0 0 0 0 0 1
III. ALAT DAN BAHANa. Komputer / Laptop dengan system operasi minimal
Windows XP atau yang diatasnya
b. Software emu8086
IV. LANGKAH KERJA a. Menjalankan program aplikasi emu 8086. Mengklik
tombol start, kemudian mengklik emu8086
b. Selanjutnya akan muncul tampilan awal dari emu8086.
Untuk memulai menuliskan kode program yang baru,
mengklik tombol new
c. Tuliskan kode-kode dari program yang akan dibuat di
dalam halaman kode yang telah disediakan
d. Mengetikkan kode program yang akan dibuat
e. Menyimpan program yang telah dibuat dengan menekan
tombol save
f. Memilih lokasi penyimpanan file, dan mengklik save.
Teknik Informatika | Politeknik NegeriSemarang
g. Menjalankan program dengan mengklik tombol emulate
V.LATIHAN a. Program untuk membuat objek/huruf bergerak pada
layar dengan penerapan prinsip looping dalam
instruksi MOV :
i. Mengetikkan kode program berikut
ORG 100H
JMP Mulai
MOV CX, 80
Mulai:
MOV AX, 0B800hMOV ES, AXMOV BX, 0
Ulang:
MOV DX, 0741hMOV ES: [BX], DX
PUSH CX
MOV CX, 10
Delay:
NOPLOOP Delay
POP CX
MOV DX, 0720hMOV ES: [BX], DXADD BX, 2LOOP Ulang
Teknik Informatika | Politeknik NegeriSemarang
Program tersebut digunakan untuk membuat huruf
bergerak dengan penggunaan perintah looping dan
langsung diproses. Jalannya proses pencetakan
adalah dengan mencetak karakter kemudian
menghapusnya dan mencetaknya lagi pada
Teknik Informatika | Politeknik NegeriSemarang
baris/spasi/tempat yang selanjutnya/berbeda,
sehingga huruf akan terlihat seakan-akan
bergerak.Dan ketika program selesai :
VI. TUGAS Membuat satu blok nama bergerak pada layar menggunakan
prinsip looping dalam instruksi MOV
a. Menuliskan source code nya
ORG 100H
JMP Mulai
Kotak db 021Nama db 'S', 'Y', 'A', 'R', 'I','F'Hapus dw 0720h
Mulai:
;menuliskan nama MOV AX,0B800hMOV SS,AX
Teknik Informatika | Politeknik NegeriSemarang
MOV BP,160/2
Ulang:
MOV BX,OFFSET NamaMOV CX,6Ulang1: MOV AL,[BX] INC BX MOV DL,AL MOV DH,07h MOV [BP],DX ADD BP,2LOOP Ulang1
;membuat tenggang waktu gerakan
PUSH CX
MOV CX, 12
Delay:
NOPLOOP Delay
POP CX
;menghapus nama yang telah ditulis
MOV DX, HapusMOV CX, 7Ulang2: MOV [BP],DX ADD BP, -2LOOP Ulang2
;membuat gerakan dari atas ke bawah
ADD BP, 160LOOP Ulang
Teknik Informatika | Politeknik NegeriSemarang
VII. KESIMPULAN
ada proses pengulangan dengan perintah LOOP,
register CX memegang suatu peranan yang khusus dimana
register ini dijadikan sebagai counter/penghitung
terhadap banyaknya looping yang boleh terjadi. Setiap
ditemui perintah LOOP , maka register CX akan dikurangi
dengan 1 terlebih dahulu, kemudian akan dilihat apakah
CX sudah mencapai 0. Proses looping akan selesai bila
nilai pada register CX mencapai nol. Seperti pada
contoh diatas, maka interupsi 10h akan dihasilkan
sebanyak 3 kali(sesuai dengan nilai CX). Perlu
diperhatikan bahwa ja ngan sampai anda menaruh CX
kedalam proses LOOP karena hal ini akan menyebabkan
Teknik Informatika | Politeknik NegeriSemarang