• Tidak ada hasil yang ditemukan

LAPORAN PRAKTIKUM ASSEMBLY Membuat Layou

N/A
N/A
Protected

Academic year: 2018

Membagikan "LAPORAN PRAKTIKUM ASSEMBLY Membuat Layou"

Copied!
22
0
0

Teks penuh

(1)

LAPORAN PRAKTIKUM ASSEMBLY

“Membuat Layout Game Pacman“

Disusun oleh :

Meyla Yan Sari

3.34.13.1.10

IK-2B

PROGRAM STUDI TEKNIK INFORMATIKA

JURUSAN TEKNIK ELEKTRO

POLITEKNIK NEGERI SEMARANG

(2)

JOBSHEET 2

Membuat Layout Game Pacman

I.

Tujuan Intruksional Khusus

Mahasiswa mengerti dan memahami konsep dasar arsitektur sistem komputer dan

mampu melakukan pemrograman dalam bahasa assembly.

II.

Dasar Teori

Untuk mengakses memori kita dapat menggunakan empat register: BX, SI, DI,

BP.

Menggabungkan register ini dalam [ ] simbol, kita bisa mendapatkan

lokasi memori yang berbeda. Kombinasi ini didukung (mode pengalamatan):

d8 - untuk 8 bit perpindahan.

D16 - untuk 16 bit perpindahan.

Pemindahan bisa menjadi nilai langsung atau offset variabel, atau

bahkan keduanya. Terserah compiler untuk menghitung langsung tunggal

nilai.

Pemindahan bisa berada di dalam atau di luar [ ] simbol, compiler

menghasilkan kode mesin yang sama untuk kedua-duanya. Pemindahan adalah nilai

ditandatangani, sehingga dapat menjadi positif atau

negatif. Umumnya compiler mengambil peduli tentang perbedaan antara d8

dan D16, dan menghasilkan kode mesin yang diperlukan.

(3)

Berikut mode pengalamatan: [BX + SI] + 25

dihitung dengan prosesor ke alamat fisik ini: 100 * 16 +

30 + 70 + 25 = 1725.

Secara default DS segmen register digunakan untuk semua mode kecuali

mereka dengan BP mendaftar, untuk ini segmen SS register digunakan.

Ada cara mudah untuk mengingat semua orang mungkin

kombinasi menggunakan tabel ini:

Anda dapat membentuk semua kombinasi yang valid dengan mengambil hanya satu

item dari setiap kolom atau melompat-lompat kolom dengan tidak mengambil apa-apa

dari itu. Seperti yang Anda lihat BX dan BP tidak pernah bersama. SI dan DI juga

tidak bersama. Berikut adalah contoh yang valid menangani

Cara: [BX + 5].

Nilai dalam register segmen (CS, DS, SS, ES) disebut "segmen",

dan nilai dalam register tujuan (BX, SI, DI, BP) disebut "offset".

Ketika DS berisi nilai 1234h dan SI berisi nilai 7890h dapat juga tercatat sebagai

1234:7890. Alamat fisik akan 1234h * 10h + 7890h = 19BD0h.

Untuk mengatakan compiler tentang tipe data, awalan ini harus digunakan:

BYTE PTR - untuk byte.

WORD PTR - demi kata (dua byte).

Sebagai contoh :

BYTE PTR [BX] ; byte access.

or

WORD PTR [BX] ; word access.

Emu8086 mendukung prefiks lebih pendek juga:

b. - Untuk BYTE PTR

(4)

kadang-kadang compiler dapat menghitung tipe data secara otomatis,

tetapi Anda tidak mungkin dan tidak harus bergantung pada bahwa ketika salah satu

operan adalah nilai langsung.

instruksi MOV

-

Salinan operan kedua (source) ke operan pertama (tujuan).

-

Sumber operan bisa menjadi nilai langsung, tujuan umum register atau lokasi

memori.

-

register tujuan dapat menjadi daftar tujuan umum, atau memori lokasi.

-

Kedua operan harus menjadi ukuran yang sama, yang dapat menjadi byte atau

kata.

(5)

Anda dapat copy & paste program di atas untuk Emu8086 code editor, dan tekan

tombol [Compile and Emulate] (atau tekan tombol F5 pada keyboard Anda).

Jendela Emulator harus terbuka dengan program ini dimuat, klik [Single Step]

tombol dan menonton nilai-nilai mendaftar. Bagaimana melakukan copy & paste :

1. Pilih teks di atas menggunakan mouse, klik sebelum teks dan tarik ke bawah

sampai semuanya dipilih

2. Tekan Ctrl + C kombinasi untuk menyalin

3. Ke Emu8086 source editor dan tekan Ctrl + V kombinasi untuk paste

Seperti Anda mungkin bisa menebak, ";" digunakan untuk komentar, apapun

setelah ";" simbol diabaikan oleh kompilator. Anda harus melihat sesuatu seperti

ketika program selesai:

III.

Alat dan Bahan

1. Emulator 8086

2. PC Processor minimal pentium IV

IV.

Langkah Kerja

1. Hidupkan komputer

(6)

4. Akan muncul form seperti berikut, klik COM Template > OK

5. Lembar kerja yang sudah siap untuk digunakan seperti pada gambar berikut

(7)

7. Muncul form seperti berikut. Kemudian klik run.

(8)
(9)

9. Untuk mengetahui RAM saat proses setelah emulate, klik

view

>

memory

10. Setelah muncul form, tuliskan B800:0000 pada text box > klik

update.

Sehingga

muncul seperti berikut.

V.

Analisis

org 100h

JMP Mulai:

;add your code here

mulai:

MOV AX,0B800H

MOV DS,AX

MOV AL,’A’

MOV AH,0FH

MOV BX,0

MOV [BX],AX

Ret

(10)

0B800H adalah merupakan alamat fisik, dimana karakter A itu akan ditempatkan

dalam layar. Kita bisa mengaturnya sesuai yang kita inginkan.

Jenis intruksi yang digunakan adalah MOV. Jenis intruksi ini digunakan untuk

mengopy nilai atau angka menuju suatu register, variabel atau memori.

Alamat yang digunakan adalah :

a. Register AX

b. Register DS

c. Register AL

d. Register AH

e. Register BX

Penjelasan program

o

Org 100h berfungsi sebagai pemberitahu bahwa pada saat program

dijalankan diletakkan mulai pada offset ke 100h.

o

MOV AX,0B800H berfungsi menampilkan karakter pada layar.

o

MOV AL ,’A’ maksudnya adalah kita meletakkan karakter “A” pada

regidter AL

MOV AX,0B800H

Operand A dari perintah diatas adalah register AX

Operand B dari perintah diatas adalah bilangan 0B800H

Hal yang dilakukan dari perintah diatas adalah memasukkan 0B800H ke register AX

MOV DS, AX

Operand A dari perintah diatas adalah register DS

Operand B dari perintah diatas adalah register AX

Hal yang dilakukan dari perintah diatas adalah menduplikatkan isi register AX ke

register DS

0FH adalah warna dari karakter yang kita tampilkan, kita bisa mengubahnya sesuai

yang kita inginkan.

VI.

Tugas

Membuat layout game pacman dengan assembler :

(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19)
(20)

mov (2*76)+(160*14),ax mov (2*76)+(160*15),ax mov (2*76)+(160*16),ax mov (2*77)+(160*14),ax mov (2*78)+(160*14),ax

mov (2*36)+(160*9),ax mov (2*36)+(160*10),ax mov (2*36)+(160*11),ax mov (2*36)+(160*12),ax mov (2*36)+(160*13),ax mov (2*36)+(160*14),ax mov (2*36)+(160*15),ax mov (2*37)+(160*9),ax mov (2*38)+(160*9),ax mov (2*39)+(160*9),ax mov (2*40)+(160*9),ax mov (2*41)+(160*9),ax mov (2*42)+(160*8),ax mov (2*43)+(160*8),ax mov (2*44)+(160*8),ax mov (2*45)+(160*8),ax mov (2*46)+(160*9),ax mov (2*46)+(160*10),ax mov (2*47)+(160*10),ax

(21)

Program yang telah diketikkan

klik emulate > run :

Analisis Program

org 100h = direktif diperlukan untuk program COM.

JMP Mulai

(22)

MOV AX, 0B800H = merupakan kumpulan AX untuk nilai hexadesimal 0B800H.

MOV DS, AX = merupakan nilai salinan dari AX ke DS (alamat).

MOV AL, 178 = menunjukkan karakter yang akan dimunculkan. Merupakan code

ascii dari karakter yang akan ditampilkan.

MOV AH, 02H = menunjukkan attribute warna yang akan digunakan.

MOV (2*0) + (160*0), AX = menunjukkan karakter muncul pada kolom 0 dan baris

0.

ret = kembali ke sistem operasi.

VII.

Kesimpulan

Untuk mengakses memori kita dapat menggunakan empat register: BX, SI, DI,

BP.

Menggabungkan register ini dalam [ ] simbol, kita bisa mendapatkan lokasi memori

yang berbeda.

Pemindahan bisa menjadi nilai langsung atau offset variabel, atau

bahkan keduanya. Terserah compiler untuk menghitung langsung tunggal

nilai.

Pemindahan bisa berada di dalam atau di luar [ ] simbol, compiler

menghasilkan kode mesin yang sama untuk kedua-duanya. Pemindahan adalah nilai

ditandatangani, sehingga dapat menjadi positif atau

Referensi

Dokumen terkait

Kias adalah merupakan salah satu sumber hukum yang menjadikan hukum Islam tidak sempit dan tidak kaku, sebab segala persoalan yang baru muncul dalam kehidupan

Unsur Sr biasanya akan terdistribusi ke batas butir dalam paduan dengan bahan magnesium membentuk presipitat sehingga terjadi penghalusan butir yang berdampak pada

\Pendapat yang sama juga diungkapkan oleh Daryanto (2011: 67) pembinaan dan pengembangan siswa seperti : olahraga, kesenian, kegiatan-kegiatan sosial dan

( salesman ) serta biaya iklan dan promosi dapat membantu perusahaan khususnya yang bergerak dalam bidang distribusi motor ataupun distribusi lainnya yang memiliki biaya marketing

Pengaruh current ratio terhadap perubahan laba adalah semakin tinggi nilai current ratio maka laba bersih yang dihasilkan perusahaan semakin sedikit, karena rasio

Oleh karena itu, berdasarkan latar belakang KALBIS Institute yang terbentuk karena hasil kerjasama antara perusahaan farmasi terbesar di Asia Tenggara “Kalbe

Sistem Stilistik; warna biru sebagai ciri khas Tegal, adopsi teras (emperan) rumah tradisional tegal, susunan kayu pada jendela lebih khas dan mengadopsi pintu warung