Laporan Praktikum 2.docx

36
LAPORAN PRAKTIKUM 2 PEMROGRAMAN ASSEMBLER Disusun oleh: Oktavia Indriani IK – 2B Jurusan Teknik Elektro Program Studi Teknik Informatika Politeknik Negeri Semarang

Transcript of Laporan Praktikum 2.docx

LAPORAN PRAKTIKUM 2PEMROGRAMAN ASSEMBLER

Disusun oleh:

Oktavia IndrianiIK 2B

Jurusan Teknik ElektroProgram Studi Teknik InformatikaPoliteknik Negeri Semarang2013 / 2014PERCOBAAN 1PEMROGRAMAN ASSEMBLER

I. TUJUANSetelah mengerjakan praktek ini mampu : Menjelaskan pemrograman assembler Mempraktikkan pembuatan program menggunakan assembler Membuat karakter game (pacman) menggunakan emu8086 atau program assembler

II. DASAR TEORIA. Bahasa AssemblyBahasa assembly adalah sebuah program yang terdiri dari instruksi-instruksi yang menggantikan kode-kode biner dari bahasa mesin dengan mnemonik yang mudah diingat. Misalnya sebuah instruksi penambahan dalam bahasa mesin dengan kode 10110011 yang dalam bahasa assembly dapat dibuat dalam instruksimnemonikADD, sehingga mudah diingat dibandingkan dengan angka 0 dan 1, dalam setiap instruksi membutuhkan suatu operand baik berupa data langsung maupun suatu lokasi memori yang menyimpan data yang bersangkutan. Bahasa assembly sering juga disebut kode sumber atau kode simbolik yang tidak dapat dijalankan oleh prosesor, sedangkan assembler adalah suatu program yang dapat menerjemahkan program bahasa assembly ke program bahasa mesin. bahasa mesin adalah kumpulan kode biner yang merupakan instruksi yang bisa dijalankan oleh komputer. Program bahasa mesin sering disebut sebagai kode objek.

Baris-baris program yang mengandung instruksi mesin atau pengarah assembler harus mengikuti aturan program assembler ASM51. Masing-masing baris atas beberapafieldyang dipisahkan dengan spasi atau tabulasi adalah bagian label, bagian mnemonic, bagian operand yang bisa lebih dari satu bagian komentar dan diakhiri dengan END.

1. Bagian Bagian Dari Program AssemblerBerikut ini adalah bagian bagian dari rogram assembler yaitu:

1.1. LabelLabelmerupakan suatu simbol yang didefinisikan sendiri oleh pembuat program untuk menandai lokasi memori pada area program. Simbol danlabeladalah dua hal yang berbeda. Simbol tidak menggunakan titik dua, sedangkanlabelharus diakhiri dengan titik dua.

Contoh :PAR EQU 500; PAR Menunjukan suatu simbolMULAI ; dari nilai 500MOV A, #0FFh ; pada label; Mulai nilai 0FFh ; dipindahkan ke Akumulator

Dalam satu baris hanya ada satu label, pada umumnya Assembler membatasi jumlah karakter yang bisa digunakan hingga 31 karakter.

1.2. MnenonikMnemonicinstruksi atau pengarah Assembler dimasukan dalam Mnemonic field yang mengikuti label mnemonic.Mnemonicinstruksi misalnya ADD, MOV, INC dan lain-lain.Sedangkan pengarah Assembler misalnya ORG, EQU, DB dan lain-lain.

1.3. OperandOperandditulis setelahmnemonic, bisa berupa alamat atau data yang digunakan instruksi yang bersangkutan.

Contoh :MOV A, #20h ; A dan #20h adalah operandLAGI:JNBLAGI ; LAGI adalah operand

1.4. KomentarKomentar harus diawali dengan titik koma. Sub rutin dari bagian besar program yang mengerjakan suatu operasi biasanya diawali dengan blok komentar yang menjelaskan fungsi sub rutin atau bagian besar program tersebut.

1.5. EndPetunjukENDmerupakan kode perintah terakhir yang menunjukan batas akhir dari proses Assembly.

Instruksi yang sering digunakan dalam pembuatan program yaitu:a. Instruksi AritmatikInstruksi aritmatik selalu melibatkan akumulator dan ada juga beberapa instruksi yang melibatkan register lain.

Berikut ini contoh instruksiinstruksi arimatika yaitu:

Tabel 2.4 Instruksi-instruksi AritmatikInstruksiKeteranganContoh

ADD A,RnMenambah isi register Rn dengan isi akumulator lalu disimpan di akumulatorADD A,R1

ADD A, directMenambah isidirectdengan akumulator, hasilnya disimpan di akumulatorADD A, 30H

ADD A, #dataMenambahkanimmediatedata ke akumulatorADD A, #20H

ADD A, @RnMenambahkan isi dari alamat yang ditunjuk Rn dengan akumulatorADD A, @R1

ADDC A, #dataMenambahkanimmediatedata ke akumulator dengancarryADDC A, #20H

SUBB A, RnKurangkan isi register Rn dari akumulatorSUBB A, R1

INC ATambah isi akumulator dengan 1INC A

DEC AKurangkan isi akumulator dengan 1DEC A

MUL ABKalikan isi A dengan isi B,low-bytedisimpan pada akumulator, danhighbytepada BMUL AB

DIV AB

Bagi isi A dengan isi B. Akumulator menerima hasil integer pembagian dan B menerima integer sisanya.DIV AB

b. Instruksi LogikaInstruksi Logika ini dipakai untuk melakukan operasi logika, yaitu operasi AND (instruksi ANL), operasi OR (instruksi ORL), operasiExclusive-OR (instruksi XRL), operasiclear(instruksi CLR), instruksi komplemen (instruksi CPL), operasi penggeseran kanan atau kiri (instruksi RR, RRC, RL dan RLC) serta operasi penukaran data (instruksi SWAP). Data yang dipakai dalam operasi ini biasanya berupa data yang berada dalam akumulator atau data yang berada dalam memori data.

c. Instruksi Pemindahan DataInstruksi instruksi pemindahan data adalah :

Tabel 2.5 Instruksi instruksi Perpindahan DataInstuksiKeteranganContoh

MOV A, RnMemindahkan isi register Rn ke akumulatorMOV A, R0

MOV A,directMemindahkan isidirect byteke akumulatorMOV A, 30h

MOV A , #dataMengisi akumulator dengan nilai dataMOV A,#20h

MOV A, @RnMengisi akumulator dengan isi dari alamat yang ditunjuk oleh RnMOV A, @R0

2. Mode Mode Pengalamatan

2.1. ModePengalamatan LangsungDalam pengalamat langsung nilai yang akan disimpan dalam suatu memori diperoleh secara langsung dengan mengambil dari lokasi memori yang lain.Contoh :MOV A,30H; isi akumulator dengan bilangan 30 heksadesimal

2.2. ModePengalamatan Tak LangsungDalam pengalamatan tak langsung, instruksi menentukan suatu register yang digunakan untuk menyimpan alamat operan

Contoh :ADD A,R ; Tambahkan isi RAM yang lokasinya ditunjukan oleh register R1 ke akumulator.

DEC @R1; Kurangi satu isi RAM yang alamatnya ditunjukan oleh register R1.

2.3. ModePengalamatan SegeraCara ini menggunakan konstanta.Contoh :MOV A,#20H ; isi akumulator dengan bilangan 20 heksadesimal

Data konstanta merupakan data yang menyatu dengan instruksi, contoh intruksi diatas mempunyai arti bahwa data konstantanya, yaitu 20H, (sebagai data konstanta harus diawali dengan # dan tanda H untuk menyatakn format bilangan heksadesimal) disalin ke Akumulator (A).

2.4. ModePengalamatan DataPengalamatan data terjadi pada sebuah perintah ketika nilai operasi merupakan alamat data yang akan diisi atau yang akan dipindahkan. Contoh :MOV P1,A ; isi P1 dari nilai akumulator.

2.5. ModePengalamatan BitPengalamatan bit adalah penunjukkan menggunakan simbol titik (.) yang menunjuk alamat lokasi bit, baik dalam RAM internal atau perangkat keras.

Contoh :SETB P1.7 ; set bit port 1.7 high (pot 1.7 diberi nilai logika1)

III. ALAT DAN BAHAN 1 buah PC / Laptop Master software emu8086 Buku dan alat tulis

IV. LANGKAH KERJA1. Nyalakan PC atau laptop2. Instal program emu80863. Kerjakan praktikum seperti yang tertera pada jobsheet4. Buat laporan berdasarkan praktikum yang telah dilaksanakan5. Jelaskan kesimpulan yang dapat diambil berdasarkan hasil praktikum

V. ANALISA DAN PEMBAHASAN1. ANALISA

MOV AX, 0B800H MOV DS, AX MOV BX, 0 MOV AL, 064 MOV AH, 00100100b MOV SI, 2*5 MOV [SI]160*4, AX MOV AX, 0B800H MOV DS, AX MOV BX, 0 MOV AL,178 MOV AH, 00100100b MOV SI, 2*5 MOV [SI]160*5, AX MOV [SI]160*6, AX MOV [SI]160*7, AX MOV [SI]160*8, AX MOV [SI]160*9, AX MOV (2*10)+(160*9), AX MOV (2*11)+(160*9), AX MOV (2*12)+(160*9), AX MOV (2*13)+(160*9), AX MOV (2*14)+(160*9), AX MOV (2*15)+(160*9), AX MOV (2*16)+(160*9), AX MOV (2*10)+(160*9), AX MOV (2*10)+(160*10), AX MOV (2*10)+(160*11), AX MOV (2*10)+(160*12), AX ret

MOV AH, 00100100b MOV SI, 2*5 MOV [SI]160*5, AX MOV [SI]160*6, AX MOV [SI]160*7, AX MOV [SI]160*8, AX MOV [SI]160*9, AX MOV (2*10)+(160*9), AX MOV (2*11)+(160*9), AX MOV (2*12)+(160*9), AX MOV (2*13)+(160*9), AX MOV (2*14)+(160*9), AX MOV (2*15)+(160*9), AX MOV (2*16)+(160*9), AX MOV (2*10)+(160*9), AX MOV (2*10)+(160*10), AX MOV (2*10)+(160*11), AX MOV (2*10)+(160*12), AX ret

2. PEMBAHASANPada pembahasan di bawah ini akan dijelaskan beberapa menu pokok pada pengkodingan pembuatan lintasan untuk game Pacman ini, yaitu : JMP Mulai, adalah syntax untuk memulai yang menunjukkan instruksi bahwa program assembler dijalankan. Mulai: MOV AX, 0B800H, adalah pada label; Mulai nilai 0B800H dipindahkan ke Akumulator. AX dan OB800H merupakan operand. MOV DS, AX , juga merupakan operand MOV AH, 00100100b, intruksi tersebut mempunyai arti bahwa data konstantanya, yaitu 200100100b disalin ke Akumulator (AH).

org 100h; add your code here JMP Mulai Mulai: MOV AX, 0B800H MOV DS, AX MOV BX, 0 MOV AL,178 MOV AH, 00100100b

MOV SI, 2*6, yaitu digunakan untuk tabel untuk mengarsir bagian pixel baris ke bawah 6 titik/pixel baris ke kanan 4 titik/pixel. Pada pengkodingan-pengkodingan selanjutnya, sama seperti yang telah dijabarkan di atas. Yang membedakan adalah letak titik-titik yakni disesuaikan dengan kebutuhan pembuatan lintasan game pacman, misalnya:

MOV [SI]160*5, AX MOV [SI]160*6, AX MOV [SI]160*7, AX MOV [SI]160*8, AX MOV [SI]160*9, AX

MOV [SI],160*5, yaitu digunakan untuk tabel untuk mengarsir bagian pixel baris ke kanan 160 dan titik baris ke bawah 5 titik/pixel. Untuk penugasan-penugasan yang lain konsepnya sama seperti yang telah dijabarkan di atas, hanya berbeda besar titik bawah dan kanannya.

VI. TUGAS1. Buatlah lintsan untuk game Pacman pada rangkaian.Jawab :Langkah-langkah membuat lajur lintasan untuk game Pacman dapat dijabarkan seperti berikut ini:

1. Tulis masukkan syntax seperti di bawah ini :

org 100h; add your code here JMP Mulai Mulai: MOV AX, 0B800H MOV DS, AX MOV BX, 0 MOV AL,178 MOV AH, 00100100b MOV SI, 2*6 MOV [SI]160*4, AX MOV SI, 2*7 MOV [SI]160*4, AX MOV SI, 2*8 MOV [SI]160*4, AX MOV SI, 2*9 MOV [SI]160*4, AX MOV SI, 2*10 MOV [SI]160*4, AX MOV AX, 0B800H MOV DS, AX MOV BX, 0 MOV AL, 064 MOV AH, 00100100b MOV SI, 2*5 MOV [SI]160*4, AX MOV AX, 0B800H MOV DS, AX MOV BX, 0 MOV AL,178 MOV AH, 00100100b MOV SI, 2*5 MOV [SI]160*5, AX MOV [SI]160*6, AX MOV [SI]160*7, AX MOV [SI]160*8, AX MOV [SI]160*9, AX MOV (2*10)+(160*9), AX MOV (2*11)+(160*9), AX MOV (2*12)+(160*9), AX MOV (2*13)+(160*9), AX MOV (2*14)+(160*9), AX MOV (2*15)+(160*9), AX MOV (2*16)+(160*9), AX MOV (2*10)+(160*9), AX MOV (2*10)+(160*10), AX MOV (2*10)+(160*11), AX MOV (2*10)+(160*12), AX ret

MOV AX, 0B800H MOV DS, AX MOV BX, 0 MOV AL, 064 MOV AH, 00100100b MOV SI, 2*5 MOV [SI]160*4, AX MOV AX, 0B800H MOV DS, AX MOV BX, 0 MOV AL,178 MOV AH, 00100100b MOV SI, 2*5 MOV [SI]160*5, AX MOV [SI]160*6, AX MOV [SI]160*7, AX MOV [SI]160*8, AX MOV [SI]160*9, AX MOV (2*10)+(160*9), AX MOV (2*11)+(160*9), AX MOV (2*12)+(160*9), AX MOV (2*13)+(160*9), AX MOV (2*14)+(160*9), AX MOV (2*15)+(160*9), AX MOV (2*16)+(160*9), AX MOV (2*10)+(160*9), AX MOV (2*10)+(160*10), AX MOV (2*10)+(160*11), AX MOV (2*10)+(160*12), AX ret

MOV (2*14)+(160*9), AX MOV (2*15)+(160*9), AX MOV (2*16)+(160*9), AX MOV (2*10)+(160*9), AX MOV (2*10)+(160*10), AX MOV (2*10)+(160*11), AX MOV (2*10)+(160*12), AX ret

2. Klik emulate untuk mengemulasi program, output yang keluar adalah:

3. Untuk menambah panjang lintasan kita masukkan syntax-syntax berikut :

MOV (2*21)+(160*9), AX MOV (2*22)+(160*9), AX MOV (2*23)+(160*9), AX MOV (2*24)+(160*9), AX MOV (2*25)+(160*9), AX MOV (2*26)+(160*9), AX MOV (2*27)+(160*9), AX MOV (2*21)+(160*5), AX MOV (2*21)+(160*6), AX MOV (2*21)+(160*7), AX MOV (2*21)+(160*8), AX

MOV (2*21)+(160*5), AX MOV (2*21)+(160*6), AX MOV (2*21)+(160*7), AX MOV (2*21)+(160*8), AX

4. Ketika diemulasikan outputnya adalah sebagai berikut :

5. Tambahkan syntax lagi seperti berikut :

MOV (2*21)+(160*4), AX MOV (2*22)+(160*4), AX MOV (2*23)+(160*4), AX MOV (2*24)+(160*4), AX MOV (2*25)+(160*4), AX MOV (2*26)+(160*4), AX

6. Output yang keluar saat diemulasikan adalah sebagai berikut :

7. Masukkan lagi syntax seperti berikut :

MOV (2*32)+(160*0), AX MOV (2*32)+(160*1), AX MOV (2*32)+(160*2), AX MOV (2*32)+(160*3), AX MOV (2*32)+(160*4), AX MOV (2*32)+(160*5), AX MOV (2*32)+(160*6), AX MOV (2*32)+(160*7), AX MOV (2*32)+(160*8), AX MOV (2*32)+(160*9), AX MOV (2*32)+(160*10), AX MOV (2*32)+(160*11), AX MOV (2*32)+(160*12), AX MOV (2*32)+(160*13), AX MOV (2*32)+(160*14), AX MOV (2*32)+(160*15), AX MOV (2*32)+(160*16), AX MOV (2*31)+(160*16), AX MOV (2*30)+(160*16), AX MOV (2*29)+(160*16), AX MOV (2*28)+(160*16), AX MOV (2*27)+(160*16), AX MOV (2*26)+(160*16), AX

8. Ketika dijalankan hasilnya adalah sebagai berikut :

9. Masukkan lagi syntax untuk menambah lintasan game Pacman seperti di bawah ini

MOV (2*31)+(160*16), AX MOV (2*30)+(160*16), AX MOV (2*29)+(160*16), AX MOV (2*28)+(160*16), AX MOV (2*27)+(160*16), AX MOV (2*26)+(160*16), AX MOV (2*0)+(160*16), AX MOV (2*1)+(160*16), AX MOV (2*2)+(160*16), AX MOV (2*3)+(160*16), AX MOV (2*4)+(160*16), AX MOV (2*5)+(160*16), AX

10. Ketika diemulasi hasilnya adalah seperti berikut :

11. Ketikkan lagi syntax seperti di bawah ini :

MOV (2*0)+(160*20), AX MOV (2*1)+(160*20), AX MOV (2*2)+(160*20), AX MOV (2*3)+(160*20), AX MOV (2*4)+(160*20), AX MOV (2*5)+(160*20), AX

12. Maka ketika di emulasi hasilnya adalah sebagai berikut :

13. Untuk menambah lintasannya masukkan syntax di bawah ini :

MOV (2*37)+(160*0), AX MOV (2*37)+(160*1), AX MOV (2*37)+(160*2), AX MOV (2*37)+(160*3), AX MOV (2*37)+(160*4), AX MOV (2*37)+(160*5), AX MOV (2*37)+(160*6), AX MOV (2*37)+(160*7), AX MOV (2*37)+(160*8), AX MOV (2*37)+(160*9), AX MOV (2*37)+(160*10), AX MOV (2*37)+(160*11), AX MOV (2*37)+(160*12), AX MOV (2*37)+(160*13), AX MOV (2*37)+(160*14), AX MOV (2*37)+(160*15), AX MOV (2*37)+(160*16), AX

MOV (2*37)+(160*10), AX MOV (2*37)+(160*11), AX MOV (2*37)+(160*12), AX MOV (2*37)+(160*13), AX MOV (2*37)+(160*14), AX MOV (2*37)+(160*15), AX MOV (2*37)+(160*16), AX

14. Ketika dijalankan output yang keluar ialah :

15. Untuk membuat lintasan menjadi lebih variatif masukkan syntax di bawah ini: MOV (2*0)+(160*24),AX MOV (2*1)+(160*24),AX MOV (2*2)+(160*24),AX MOV (2*3)+(160*24),AX MOV (2*4)+(160*24),AX MOV (2*5)+(160*24),AX MOV (2*6)+(160*24),AX MOV (2*7)+(160*24),AX MOV (2*8)+(160*24),AX MOV (2*9)+(160*24),AX MOV (2*10)+(160*24),AX MOV (2*11)+(160*24),AX MOV (2*12)+(160*24),AX MOV (2*13)+(160*24),AX MOV (2*14)+(160*24),AX MOV (2*15)+(160*24),AX MOV (2*16)+(160*24),AX MOV (2*17)+(160*24),AX MOV (2*18)+(160*24),AX MOV (2*19)+(160*24),AX MOV (2*20)+(160*24),AX MOV (2*21)+(160*24),AX MOV (2*22)+(160*24),AX MOV (2*23)+(160*24),AX MOV (2*24)+(160*24),AX MOV (2*25)+(160*24),AX MOV (2*26)+(160*24),AX MOV (2*27)+(160*24),AX MOV (2*28)+(160*24),AX MOV (2*29)+(160*24),AX MOV (2*30)+(160*24),AX MOV (2*31)+(160*24),AX MOV (2*32)+(160*24),AX MOV (2*33)+(160*24),AX MOV (2*34)+(160*24),AX MOV (2*35)+(160*24),AX MOV (2*36)+(160*24),AX MOV (2*37)+(160*24),AX MOV (2*38)+(160*24),AX MOV (2*39)+(160*24),AX MOV (2*40)+(160*24),AX MOV (2*41)+(160*24),AX MOV (2*42)+(160*24),AX MOV (2*43)+(160*24),AX MOV (2*44)+(160*24),AX MOV (2*45)+(160*24),AX MOV (2*46)+(160*24),AX MOV (2*47)+(160*24),AX MOV (2*48)+(160*24),AX MOV (2*49)+(160*24),AX MOV (2*50)+(160*24),AX MOV (2*51)+(160*24),AX MOV (2*52)+(160*24),AX MOV (2*53)+(160*24),AX MOV (2*54)+(160*24),AX MOV (2*55)+(160*24),AX MOV (2*56)+(160*24),AX MOV (2*57)+(160*24),AX MOV (2*58)+(160*24),AX MOV (2*59)+(160*24),AX MOV (2*60)+(160*24),AX MOV (2*61)+(160*24),AX MOV (2*62)+(160*24),AX MOV (2*63)+(160*24),AX MOV (2*64)+(160*24),AX MOV (2*65)+(160*24),AX MOV (2*66)+(160*24),AX MOV (2*67)+(160*24),AX MOV (2*68)+(160*24),AX MOV (2*69)+(160*24),AX MOV (2*70)+(160*24),AX MOV (2*71)+(160*24),AX MOV (2*72)+(160*24),AX MOV (2*73)+(160*24),AX MOV (2*74)+(160*24),AX MOV (2*75)+(160*24),AX MOV (2*76)+(160*24),AX MOV (2*77)+(160*24),AX MOV (2*78)+(160*24),AX MOV (2*79)+(160*24),AX

MOV BX,2 * 0

MOV [BX] 160 * 4,AX MOV [BX] 160 * 5,AX MOV [BX] 160 * 6,AX MOV [BX] 160 * 7,AX MOV [BX] 160 * 8,AX MOV [BX] 160 * 9,AX MOV [BX] 160 * 10,AX MOV [BX] 160 * 11,AX MOV [BX] 160 * 12,AX MOV [BX] 160 * 13,AX MOV [BX] 160 * 14,AX MOV [BX] 160 * 15,AX MOV [BX] 160 * 16,AX MOV [BX] 160 * 17,AX MOV [BX] 160 * 18,AX MOV [BX] 160 * 19,AX MOV [BX] 160 * 20,AX MOV [BX] 160 * 21,AX MOV [BX] 160 * 22,AX MOV [BX] 160 * 23,AX MOV [BX] 160 * 24,AX

MOV BX,2 * 40

MOV [BX] 160 * 10,AX MOV [BX] 160 * 11,AX MOV [BX] 160 * 17,AX MOV [BX] 160 * 18,AX MOV [BX] 160 * 19,AX MOV [BX] 160 * 20,AX MOV [BX] 160 * 21,AX MOV [BX] 160 * 22,AX MOV [BX] 160 * 23,AX MOV [BX] 160 * 24,AX

MOV BX,2 * 50 MOV [BX] 160 * 4,AX MOV [BX] 160 * 5,AX MOV [BX] 160 * 6,AX MOV [BX] 160 * 17,AX MOV [BX] 160 * 18,AX MOV [BX] 160 * 19,AX MOV BX,2 * 79

MOV [BX] 160 * 4,AX MOV [BX] 160 * 5,AX MOV [BX] 160 * 6,AX MOV [BX] 160 * 7,AX MOV [BX] 160 * 8,AX MOV [BX] 160 * 9,AX MOV [BX] 160 * 10,AX MOV [BX] 160 * 11,AX MOV [BX] 160 * 12,AX MOV [BX] 160 * 13,AX MOV [BX] 160 * 14,AX MOV [BX] 160 * 15,AX MOV [BX] 160 * 16,AX MOV [BX] 160 * 17,AX MOV [BX] 160 * 18,AX MOV [BX] 160 * 19,AX MOV [BX] 160 * 20,AX MOV [BX] 160 * 21,AX MOV [BX] 160 * 22,AX MOV [BX] 160 * 23,AX MOV [BX] 160 * 24,AX

MOV (2*17)+(160*11),AX MOV (2*18)+(160*11),AX MOV (2*19)+(160*11),AX MOV (2*20)+(160*11),AX MOV (2*21)+(160*11),AX MOV (2*22)+(160*11),AX

MOV (2*38)+(160*12),AX MOV (2*39)+(160*12),AX MOV (2*40)+(160*12),AX MOV (2*41)+(160*12),AX MOV (2*42)+(160*12),AX MOV (2*43)+(160*12),AX MOV (2*44)+(160*12),AX

MOV (2*53)+(160*12),AX MOV (2*54)+(160*12),AX MOV (2*55)+(160*12),AX MOV (2*56)+(160*12),AX MOV (2*57)+(160*12),AX MOV (2*58)+(160*12),AX MOV (2*59)+(160*12),AX

MOV (2*8)+(160*17),AX MOV (2*9)+(160*17),AX MOV (2*10)+(160*17),AX MOV (2*11)+(160*17),AX MOV (2*12)+(160*17),AX

MOV (2*29)+(160*17),AX MOV (2*30)+(160*17),AX MOV (2*31)+(160*17),AX MOV (2*32)+(160*17),AX MOV (2*33)+(160*17),AX

MOV AL, 068 MOV (2*45)+(160*12),AX MOV AL, 085 MOV (2*46)+(160*12),AX MOV AL, 082 MOV (2*47)+(160*12),AX MOV (2*48)+(160*12),AX MOV AL, 079 MOV (2*49)+(160*12),AX MOV AL, 084 MOV (2*50)+(160*12),AX MOV AL, 085 MOV (2*51)+(160*12),AX MOV AL, 078 MOV (2*52)+(160*12),AXret

VII. KESIMPULAN

1. Bahasa Assembly adalah bahasa pemrograman berorientasi mesin yang mengacu pada processor 8086, 8088, 80186, 80286, 80386, 80486, dan Pentium Processor.2. Assembler adalah program sistem yang mentranslasikan kode sumber dalam bahasa rakitan ke dalam bahasa mesin.3. Game Pacman merupakan salah satu penerapan program berbasis assembler, berupa node-node yang tersambung membentuk karakter sehingga nantinya dapat dimainkan.4. Untuk membuat lintasan Pacman dibutuhkan banyak syntax sehingga wajar jika line yang dihasilkan dari satu karakter tersebut sangat banyak.5. Ketika membuat lintasan Pacman yang harus diperhatikan adalah node atau titik-titik batas yang dibuat yakni jangan terlalu kecil sebab akan menyulitkan dalam pemrogramnnya nanti.6. Pada saat membuat lintasan Pacman juga diperlukan imajinasi yang kuat sehingga karakter yang dihasilkan bentuknya beragam.

VIII. DAFTAR PUSTAKA http://kuliahku-kampusku.blogspot.com/2010/02/assembler-pemrograman-rakitan.html http://madetaufikakbar.blogspot.com/2011/02/bahasa-assembly.html http://zaifbio.wordpress.com/2013/01/02/pemrograman-bahasa-assembly-assembler/28