• Tidak ada hasil yang ditemukan

LAPORAN PRAKTIKUM ASSEMBLY Membuat Varia (1)

N/A
N/A
Protected

Academic year: 2018

Membagikan "LAPORAN PRAKTIKUM ASSEMBLY Membuat Varia (1)"

Copied!
20
0
0

Teks penuh

(1)

LAPORAN PRAKTIKUM ASSEMBLY

“Membuat Variabel dengan Assembler“

Disusun oleh :

Meyla Yan Sari

3.34.13.1.10

IK-2B

PROGRAM STUDI TEKNIK INFORMATIKA

JURUSAN TEKNIK ELEKTRO

POLITEKNIK NEGERI SEMARANG

(2)

JOBSHEET 3

“Membuat Variabel dengan Assembler“

I.

Tujuan Intruksional Khusus

Mahasiswa mengerti dan memahami konsep dasar arsitektur sistem komputer dan

mampu melakukan pemrograman dalam bahasa assembly.

II.

Dasar Teori

Variabel adalah lokasi memori. Untuk seorang programmer ini jauh lebih mudah

telah beberapa nilai disimpan dalam variabel bernama "var1" maka pada

alamat 5A73: 235B, terutama bila Anda memiliki 10 atau lebih variabel.

Compiler kami mendukung dua jenis variabel: BYTE dan WORD.

Seperti Anda mungkin tahu dari bagian 2 dari tutorial ini, instruksi MOV adalah

digunakan untuk menyalin nilai dari sumber ke tujuan.

Mari kita lihat contoh lain dengan instruksi MOV:

Salin kode di atas untuk sumber Editor Emu8086, dan tekan tombol F5

(3)

seperti:

Seperti yang Anda lihat ini sangat mirip contoh kita terlihat, kecuali bahwa variabel

diganti dengan lokasi memori yang sebenarnya. Ketika compiler membuat kode

mesin, secara otomatis menggantikan semua nama variabel dengan mereka offset.

Secara default segmen dimuat di DS register (ketika COM file dimuat nilai DS

register diatur ke nilai yang sama dengan CS mendaftar - segmen kode).

Dalam daftar memori baris pertama adalah offset, baris kedua adalah heksadesimal

sebuah nilai, baris ketiga adalah nilai desimal, dan baris terakhir adalah ASCII

nilai karakter. Compiler tidak sensitif huruf, sehingga "var1" dan "var1" mengacu

pada

variabel yang sama.

Offset var1 adalah 0108h, dan alamat lengkap adalah 0B56: 0108.

Offset var2 adalah 0109h, dan alamat lengkap adalah 0B56: 0109,

ini variabel KATA sehingga menempati 2 BYTES. Hal ini diasumsikan bahwa rendah

byte disimpan di alamat yang lebih rendah, sehingga 34h terletak sebelum 12h. Anda

dapat melihat bahwa ada beberapa petunjuk lain setelah RET instruksi, hal ini terjadi

karena disassembler tidak memiliki gagasan tentang dimana data dimulai, itu hanya

memproses nilai-nilai dalam memori dan memahami mereka sebagai valid 8086

instruksi (kita akan belajar mereka kemudian).

(4)

III.

Alat dan Bahan

1. Emulator 8086

2. PC Processor minimal pentium IV

IV.

Langkah Kerja

1. Hidupkan komputer

2. Buka emulator 8086 yang telah dinstal pada laptop anda

3. Setelah terbuka, klik new untuk lembar kerja baru

(5)
(6)

6. Mulai ketikan code berikut untuk membuat string ‘PACMAN’ > klik emulate

(7)

8. String ‘PACMAN’ berhasil anda buat

V.

Analisis

asjfas

ARTGame EQU 00100100b

org 100h

JMP Mulai

wallGame DB 178

Nama DB 'PACMAN',0

Mulai:

MOV AX,0B800H

MOV ES,AX

MOV AL,wallGame

MOV AH,ARTGame

MOV ES:(2*3)+(160*3),ax

MOV ES:(2*4)+(160*3),ax

MOV ES:(2*5)+(160*3),ax

MOV ES:(2*6)+(160*3),ax

MOV ES:(2*3)+(160*3),ax

MOV ES:(2*3)+(160*4),ax

MOV ES:(2*3)+(160*5),ax

MOV ES:(2*3)+(160*6),ax

MOV ES:(2*3)+(160*7),ax

MOV AL, Nama[0]

MOV ES:(2*38)+(160*18),ax

MOV AL, Nama[1]

MOV ES:(2*39)+(160*18),ax

MOV AL, Nama[2]

(8)

MOV ES:(2*41)+(160*18),ax

MOV AL, Nama[4]

MOV ES:(2*42)+(160*18),ax

MOV AL, Nama[5]

MOV ES:(2*43)+(160*18),ax

ret

a. EQU Directive ini digunakan untuk mendefinisikan sebuah konstanta tanpa

menuntut disediakannya sebuah lokasi memori. Jadi ATRGame EQU

00100100b berarti konstanta ATRGame sama dengan 00100100b

b.

Org 100h berfungsi sebagai pemberitahu bahwa pada saat program dijalankan

diletakkan mulai pada offset ke 100h.

c. Perintah JMP(JUMP) ini digunakan untuk melompat menuju tempat yang

ditunjukkan oleh perintah JUMP. Adapun syntaxnya adalah:

JUMP Tujuan .

Dimana tujuannya dapat berupa label seperti yang digunakan pada bagan diatas.

Mengenai perintah JUMP ini akan kita bahas lebih lanjut nantinya. Perintah

JUMP yang digunakan pada bagan diatas dimaksudkan agar melewati tempat

data program, karena jika tidak ada perintah JUMP ini maka data program akan

ikut dieksekusi sehingga kemungkinan besar akan menyebabkan program anda

menjadi Hang.

d.

Nama DB 'PACMAN', 0 Directive ini digunakan untuk mendefinisikan data

8-bit pada memori program berupa karakter-karakter ASCII yakni

PACMAN-DWIWURI

e.

MOV AX,0B800H berfungsi menampilkan karakter pada layar.

VI.

Tugas

Membuat layout game pacman dengan assembler :

(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19)

mov (2*44)+(160*16),ax mov (2*45)+(160*16),ax mov (2*46)+(160*15),ax mov (2*46)+(160*14),ax mov (2*47)+(160*14),ax ret

Program yang telah diketikkan

(20)

VII.

Kesimpulan

Variabel adalah lokasi memori. Untuk seorang programmer ini jauh lebih mudah

telah beberapa nilai disimpan dalam variabel bernama "var1" maka pada

Referensi

Dokumen terkait

Ketikkan perintah history beberapa kali, maka perintah ini akan disimpan pada BASH history meskipun yang diketikkan perintahnya sama.. Anda dapat melakukan konfigurasi

Keuntungan sentral ini adalah mampu melayani untuk semua pelanggan yang jauh, penambahan perlengkapan sentral untuk operasi mobil dan mudah diperbesar kapasitasnya tanpa

Bila ditemukan tanda-tanda khas MBD, seperti riwayat tumor primer (karsinoma ), umur dewasa atau tua (lebih dari 50 tahun), lesi tulang multiple, diagnosis dapat mudah

Bila pada suatu kondisi PLTS 100 kWp dengan irradiasi 1000 W/m2 dan temperature 25 oC namun daya listrik yang dihasilkan jauh lebih kecil dari 100 kW, sebagai contoh 50 kW, bisa

Setiap orang (terutama pembelajar visual) lebih mudah belajar jika dapat melihat apa yang sedang dibicarakan seorang penceramah atau sebuah buku atau program

Hasil penelitian ini diharapkan dapat dijadikan sebagai sumber informasi yang dapat bermanfaat bagi pihak lain terutama untuk mengetahui lebih jauh tentang

Hasil penelitian ini berupa aplikasi bernama Simondaring yang diharapkan dapat membantu pembelajaran jarak jauh siswa serta membuat pembelajaran Basis Data lebih