• Tidak ada hasil yang ditemukan

LAPORAN PRAKTIKUM ARSITEKTUR and ORGANIS

N/A
N/A
Protected

Academic year: 2018

Membagikan "LAPORAN PRAKTIKUM ARSITEKTUR and ORGANIS"

Copied!
7
0
0

Teks penuh

(1)

LAPORAN PRAKTIKUM

ARSITEKTUR & ORGANISASI KOMPUTER

BANDINGKAN dan LOMPAT

&

STACK

Muhammad Agan Afta Binata J3C115029

INF A P1

PROGRAM KEAHLIAN MANAJEMEN

INFORMATIKA

PROGRAM DIPLOMA

INSTITUT PERTANIAN BOGOR

(2)

I. Tujuan

1.1Mengetahui maupun memahami syntax dalam pembuatan program bandingkan dan lompat. 1.2Memahami penggunaan operasi-operasi yang digunakan dalam bandingkan dan

lompat.

1.3Dapat membedakan antara JMP dengan CMP.

1.4Memahami syntax dalam pembuatan program implementasi perintah PUSH and POP.

II. Pendahuluan

2.1Bandingkan dan Lompat (CMP & JMP)

a. Lompat Tanpa Syarat

Perintah pada lompat tanpa syarat ini merupakan perintah yang sering digunakan pada pembuatan program dalam assembler, perintah tersebut yaitu perintah JMP. Perintah JMP ini digunakan untuk melompati daerah data program. JMP digunakan dengan syntax:

JMP Tujuan

Perintah JMP ini dikategorikan sebagai unconditional jump. Perintah JMP ini selalu dieksekusi untuk melompati daerah data dan langsung mengeksekusi isi label yang menjadi tujuan perintah JMP. Baris program yang ada dibawah program JMP akan dilompat dan tidak dieksekusi sampai label tujuan perintah.

b. Membandingkan dengan CMP

Perintah CMP ini digunakan untuk membandingkan 2 buah operand, dengan syntax:

CMP Operand1,Operand2

Perintah CMP ini akan membandingkan operand1 dengan operand2 dengan cara mengurangkan operand1 dengan operand2. Perintah CMP ini tidak akan memperngaruhi nilai yang ada pada setiap operand, melainkan akan mempengaruhi flags register yang menjadi hasil perbandingan dari kedua operand tersebut. Adapun flag-flag register yang akan terpengaruh oleh perintah ini adalah:

1) OF akan bernilai 1 jika operand1 lebih kecil dari operand2 pada operasi bilangan bertanda.

2) SF akan bernilai 1 jika operand1 lebih kecil dari operand2 pada operasi bilangan bertanda.

3) ZF akan bernilai 1 jika operand1 nilainya sama denga operand2.

(3)

bilangan bertanda.

c. Lompat yang mengikuti CMP

Perintah CMP yang mempengaruhi nilai pada flag register biasanya diikuti dengan perintah JMP sebagai perintah yang akan melompati kondisi- kondisi yang tidak sesuai ke kondisi yang seharusnya setelah dibandingkan.

Perintah Lompat Kondisi

JA (Jump If Above) Lompat jika operand1 > operand2 untuk bilangan bertanda.

JE (Jump If Equal) Lompat jika operand1 = operand2

JG (Jump If Greater) Lompat jika operand1 > operand2 untuk bilangan bertanda.

JNE (Jump If Not Equal) Lompat jika operand1 tidak sama dengan operand2

JB (Jump If Below) Lompat jika operand1 < operand2 untuk bilangan bertanda.

JL (Jump If Less) Lompat jika operand1 < operand2 untuk bilangan bertanda.

JBE (Jump If Below or Equal) Lompat jika operand1 <= operand2 untuk bilangan bertanda.

JLE (Jump If Less or Equal) Lompat jika operand1 <= operand2 untuk bilangan bertanda.

JAE (Jump If Above or Equal) Lompat jika operand1 >= operand2 untuk bilangan bertanda.

JGE (Jump If Greater or Equal) Lompat jika operand1 >= operand2 untuk bilangan bertanda.

Tabel 1 Perintah Lompat

2.2 PUSH dan POP

PUSH merupakan operasi yang digunakan ketika kita hendak memasukkan ada yang ada

pada general purpose register ke lokasi stack, dan perintah POP merupakan perintah yang digunakan untuk mengeluarkan data yang ada pada stack ke general purpose register untuk

dieksekusi. Syntax PUSH and POP

(4)

Pada perintah PUSH diatas berarti bahwa isi yang ada pada general purpose register akan dimasukkan ke dalam stack.

b. POP general purpose register

Perintah POP diatas berarti akan mengeluarkan isi yang ada di stack dimulai dari data yang teratas ke general purpose register.

c. PUSHF and POPF

PUSHF merupakan perintah yang digunakan untuk memasukkan atau menyimpan nilai dari flags register pada stack. Sedangkan POPF digunakan untuk mengambil nilai pada stack dan disimpan pada flags register. Syntax dari penggunaan perintah PUSHF dan POPF:

(5)

III. Pembahasan

1. Buatlah suatu program untuk menghasilkan output berupa nilai string atau numerik gunakan ES, dan DS untuk menyimpan dengan mengambil nilai/data pada register umum (Ax, Bx, Cx, dan Dx).

Gambar 1 Input & Output Program Soal No.1

MOV ES, AX: untuk menyamakan register pada ES. Nilai AX akan dipindahkan ke ES.

MOV ES, BX: untuk menyamakan register pada ES. Nilai BX akan dipindahkan ke ES.

MOV ES, CX: untuk menyamakan register pada ES. Nilai CX akan dipindahkan ke ES.

MOV ES, DX: untuk menyamakan register pada ES. Nilai DX akan dipindahkan ke ES.

PUSH AX: untuk Simpan nilai AX pada stack. PUSH BX: untuk Simpan nilai BX pada stack. PUSH CX: untuk Simpan nilai CX pada stack. PUSH DX: untuk Simpan nilai DX pada stack.

POP AX: untuk ambil nilai pada puncak stack, masukkan ke AX POP BX: untuk ambil nilai pada puncak stack, masukkan ke BX POP CX: untuk ambil nilai pada puncak stack, masukkan ke CX POP DX: untuk ambil nilai pada puncak stack, masukkan ke DX

2. Buatlah suatu analisa untuk mengetahui posisi data pada register yang dimasukkan/disimpan pada stack.

(6)

3. Membuat program agar menghasilkan suara beep.

Gambar 2 Input & Output dari Program Soal No. 2

XOR BX,BX: adalah itu untuk membuat nilai BX menjadi nol. MOV AH,02h: sintak servis cetak karakter.

MOV DL, Kal[BX]: memasukkan karakter ke BX menuju DL.

JMP: digunakan untuk melompat keperintah yang ditentukan oleh register JMP.

IV. Kesimpulan

Program PUSH dan POP ini digunakan untuk mengakses data yang ada pada stack dan mengeluarkannya sesuai dengan urutan terakhir yang dimasukkan. Stack ini berguna untuk program-program yang memiliki data yang banyak dan dilakukan pengaksesan data tersebut secara berurutan sesuai dengan data terakhir yang dimasukkan. Pada stack ini berlaku fungsi last in first out. Maka, jika data yang terakhir dimasukkan maka dalam pengaksesannya data itu akan pertama kali keluar. Sementara, Program BANDINGKAN dan LOMPAT ini merupakan program yang menghitung nilai total uang Yanto yang masing-masingnya dimasukkan ke bank yang berbeda dengan nilai yang berbeda. Setiap uang yang dimasukkan oleh Yanto akan bertambah setiap tahunnya sesuai bunga bank masing-masing. Program ini menggunakan perintah- perintah dasar bandingkan dan lompat yaitu perintah JMP dan CMP. Selain menggunakan perintah-perintah dasar bandingkan dan lompat, program ini menggunakan perintah Addressing Modes dan perintah operasi aritmatika.

V. Daftar Pustaka

(7)

Gambar

Tabel 1 Perintah Lompat
Gambar 1 Input & Output Program Soal No.1
Gambar 2 Input & Output dari Program Soal No. 2

Referensi

Dokumen terkait

Sepuri NIM 505730048: Hubungan Kompetensi Guru Pendidikan Agama Islam dalam Mengimplementasikan Kurikulum Tingkat Satuan Pendidikan (KTSP) dan Pelaksanaan Evaluasi

Berdasarkan tabel di atas, responden yang memilih sangat tidak setuju prosentase terbesar adalah 54,2% untuk item pernyataan “Tidak mampu menghargai pendapat orang lain

Duvall dan Miller (1985), menambahkan bahwa salah satu faktor yang mendasari pemilihan pasangan adalah faktor homogamy , yakni kesesuaian dengan pasangan baik secara

Tepung pupa dapat menggantikan 75% dari tepung ikan yang digunakan (8%) dalam ransum petelur tanpa mempengaruhi konsumsi pakan, produksi telur, konversi pakan, dan berat telur..

Dengan melihat Gambar 4.8, suhu tertinggi terjadi di Bulan Agustus yaitu sebesar 31,88°C pada bulan ini sedang terjadi musim timur, suhu menurun sampai menjelang

Seorang Muslim shalaat witir setelah shalat tahajjud, jika hawatir tidak bangun, maka shalat witir sebelum tidur, berdasarkan sabda nabi : "Barangsiapa yang hawatir tidak bangun

1. Kesan:- Memberikan Tambahan ilmu yang lebih banyak serta mampu menyupai wawasan untuk mata kuliah teori Mineralogi dan

Ia bisa melayani masyarakat dengan semaksimal mungkin, karena ikhlas maka ia akan menikmati dan bahagia dalam tupoksinya sebagai pelindung dan pelayan masyarakat,” jelas