LAPORAN PEMOGRAMAN Assembly 5

13
LAPORAN PRAKTIKUM ASSEMBLER Fungsi Micro Processor Oleh : Syarif Hidayatullah 3.34.12.0.21 PROGRAM STUDI TEKNIK INFORMATIKA JURUSAN TEKNIK ELEKTRO

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

RET

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

RET

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

nilai CX diSET terus sehingga proses looping tidak bisa

berhenti.

Teknik Informatika | Politeknik NegeriSemarang