BELAJAR BAHASA ASSEMBLY DENGAN EMU8086

dokumen-dokumen yang mirip
PERINTAH-PERINTAH DASAR (UMUM)

MODUL 6 INSTRUKSI PERCABANGAN. Tujuan : praktikan dapat menggunakan instruksi percabangan dalam program.

Mata Kuliah : Bahasa Rakitan

Daftar Isi. Daftar Isi Pertemuan 4: Operator Aritmatika, Logika dan Instruksi Banding dan Lompatan P4.1. Teori... 3

a b a AND b a OR b a XOR b a NOT a


7.Lokasi hasil pemrosesan

Tahun Akademik 2015/2016 Semester I DIG1B3 Konfigurasi Perangkat Keras Komputer

Assembly. Pemrograman Bahasa Assembly. Referensi dan Tutorial. Assembly

BAB VII KOMPUTER SEDERHANA SAP-3 (SIMPLE AS POSSIBLE-3)

Kuis : Bahasa Rakitan (UAS)

Pendahuluan (1) D E F

BAHASA PEMOGRAMAN AT89S/Cxx (assembly)

BELAJAR MIKROKONTOLER AT89C51/52/55 (Teori dan aplikasi)

BAB 3 MODE AKSES MEMORI, PENGGUNAAN VARIABEL DAN STACK

Instruksi-Instruksi Pemindahan Data. Sistem Komputer Universitas Gunadarma

MODUL I PENGENALAN ASSEMBLY

BAB III PERANGKAT PENDUKUNG ANALISA

ORGANISASI DAN ARSITEKTUR KOMPUTER. rsp oak informatika

TUGAS KELOMPOK BAHASA RAKITAN PUSTAKA MAKRO

DESKRIPSI SINGKAT INSTRUKSI-INSTRUKSI PADA AT89S51

PERCOBAAN 5 STACK DAN SUBROUTINE. Oleh : Sumarna, Jurdik Fisika, FMIPA, UNY

MODUL III FLOW CONTROL INSTRUTIONS

Tahun Akademik 2015/2016 Semester I DIG1B3 Konfigurasi Perangkat Keras Komputer

INSTRUKSI DAN BAHASA PEMOGRAMAN MIKROKONTROLER

OPERATION SYSTEM. Jenis - Jenis Register Berdasarkan Mikroprosesor 8086/8088

DCH1B3 Konfigurasi Perangkat Keras Komputer SAP-2

Menggunakan Bahasa Pemrograman Assembly

Arsitektur Set Instruksi. Abdul Syukur

MODE PENGALAMATAN PROGRAM MEMORI

MODUL BAHASA RAKITAN PENDIDIKAN INFORMATIKA

MODUL V STACK dan PENGENALAN PROCEDURE

2. Unit Praktikum Perhitungan Aritmatika

LAPORAN PRAKTIKUM SISTEM MIKROPROSESSOR STACK DAN SUBROUTINE

Agus Haryawan - Politama Surakarta

Organisasi & Arsitektur Komputer

Ringkasan Set Instruksi Dan Mode pengalamatan ( Addressing Mode )

PETUNJUK PEMROGRAMAN DAN SET INSTRUKSI

REGISTER Register-register yang terdapat pada mikroprosesor, antara lain :

Set Instruksi. Set Instruksi. Set Instruksi adalah kumpulan

Bahasa Rakitan By Okti Yudhanti Nur K REGISTER

PEMROGRAMAN BAHASA RAKITAN

Simple As Possible (SAP) - 2. Abdul Syukur

Arsitektur dan Organisasi

Daftar Isi. Daftar Isi Pertemuan 6: Perintah Masukkan dari Keyboard P6.1. Teori Masukkan dari Keyboard... 3

0F9C:0000 9A00009E0F CALL 0F9E:0000 0F9C: PUSH BP 0F9C: E5 MOV BP,SP 0F9C: C0 XOR AX,AX 0F9C:000A 9ACD029E0F CALL 0F9E:02CD

LAPORAN PRAKTIKUM ORGANISASI KOMPUTER & BAHASA ASSEMBLY PROGRAM POINTER OPERASI ARITMATIKA

BAB IV IMPLEMENTASI DAN PENGUJIAN IMPLEMENTASI DAN PENGUJIAN

PERCOBAAN 1 PENGENALAN MIKROPROSESOR MPF-I. Oleh : Sumarna, Jurdik Fisika, FMIPA, UNY

PENGERTIAN REGISTER. Arsitektur Mikroprosesor INTEL 8086 Tinjauan Umum

Simple As Possible (SAP) - 2. Abdul Syukur

Hanif Fakhrurroja, MT

Rencana Program dan Kegiatan Pembelajaran Semester (RPKPS) MIKROPROSESOR

Instruksi logika (1) Memanipulasi isi Accumulator, dibagi menjadi 2. Panjang instruksi : 1 byte. Panjang instruksi : 2 byte

Arsitektur SAP-2 W BUS ACKNOWLEDGE HEXADECIMAL KEYBOARD ENCODER ACCUMULATOR INPUT PORT 1 ALU FLAGS READY INPUT PORT 2 SERIAL IN PROGRAM COUNTER TMP

BAHASA PEMOGRAMAN MIKROPROSESOR Z80. Yoyo somantri Dosen Jurusan Pendidikan Teknik Elektro FPTK Universitas Pendidikan Indonesia

Mode Pengalamatan. Ada dua cara yang biasa digunakan dalam penempatan

ORGANISASI INTERNAL PROSESOR Oleh: Priyanto

Mengenal bahasa assembly

Mode Pengalamatan. Sistem Komputer Universitas Gunadarma

Set Instruksi & Mode Pengalamatan. Team Dosen Telkom University 2016

INTRUKSI-INTRUKSI BAHASA PEMROGRAMAN ASSEMBLY

Diktat Kuliah - Pipeline

Simple As Posible 2 (bag-2)

BAB 4 STACK AREA, SUBROUTINE dan INSTRUKSI BLOK

Perangkat Lunak Untuk Simulasi Penerapan Modus Pengalamatan Dan Operasi Aritmatika Bahasa Rakitan Pada Mikroprosesor 8086/8088

MIKROPROSESOR REGISTER-REGISTER MIKROPROSESOR INTEL

BAB 2 LANDASAN TEORI. Agar kendaraan lebih teratur dan tidak terlalu padat, biasanya tempat perparkiran ini dibagi

MAKALAH MODE DAN FORMAT PENGALAMATAN SET INSTRUKSI. Nama : Annisa Christyanti Kelas : XI TJA 3 NIS :

INSTRUKSI-INSTRUKSI MIKROPROSESOR Z80. Yoyo somantri Dosen Jurusan Pendidikan Teknik Elektro FPTK Universitas Pendidikan Indonesia

Assembly Basic Programming. By. Rita Wiryasaputra,ST., M. Cs Universitas Indo Global Mandiri 2012

William Stallings Computer Organization and Architecture. Chapter 9 Set Instruksi: Karakteristik dan Fungsi

PETA MEMORI MIKROPROSESOR 8088

Arsitektur Dasar Mikroprosesor. Mikroprosesor 80186/80188

MODUL PRAKTIKUM ORGANISASI SISTEM KOMPUTER

Simple As Possible. SAP 1 ( Simple As Possible) Arsitektur 11/18/2011. Referensi :

BAB II LANDASAN TEORI LANDASAN TEORI

Simple As Posible 2 (bag-1)

Arsitektur Dasar µp. Sistem Komputer Universitas Gunadarma

ARSITEKTUR KOMPUTER SET INSTRUKSI

Arsitektur dan Organisasi Komputer. Set instruksi dan Pengalamatan

BAB 2 TINJAUAN TEORITIS

Microcontroller: Bahasa Pemrograman Assembly 8051

ORGANISASI KOMPUTER MOTOROLA MATA KULIAH:

UNIVERSITI SAINS MALAYSIA. Peperiksaan Kursus Semasa Cuti Panjang Sidang Akademik 1998/99. April 1999

Disusun Oleh Kelompok 5 : Abdul Haris Nabu Muh. Eka A.P Paputungan Afner Mengi Deasry Potangkuman Aufry Masugi Adel Mamonto

J. Informatika AMIK-LB Vol.1 No.2 /Mei/2013

BAB II TINJAUAN PUSTAKA

PERTEMUAN : 4 EKSPLORASI DEBUG

ARSITEKTUR DAN ORGANISASI KOMPUTER

BAB 2 LANDASAN TEORI. Mikrokontroler AT89S52 termasuk kedalam keluarga MCS-51 merupakan suatu. dua macam memori yang sifatnya berbeda yaitu:

Bahasa Pemrograman Assembler 8051

SATUAN ACARA PERKULIAHAN (SAP)

PERCOBAAN 3 INSTRUKSI ARITMATIK DAN LOGIK. Oleh : Sumarna, Jurdik Fisika, FMIPA, UNY

Pertemuan ke 7 Mode Pengalamatan. Computer Organization Eko Budi Setiawan

Arsitektur dan Organisasi Komputer Set Intruksi

BAB 2 LANDASAN TEORI

Diktat Kuliah Instruksi dan Segmentasi

MODUL PRAKTIKUM SISTEM OPERASI PRAKTIKUM I MODEL PEMROGRAMAN 1

SOAL UAS SISTEM KOMPUTER Kelas XI RPL & TKJ

Transkripsi:

BELAJAR BAHASA ASSEMBLY DENGAN EMU8086 oleh Agfianto Eko Putra (c) 2005 KATA PENGANTAR Terima kasih saya ucapkan pertama ke hadirat Alloh Aza wa Jalla yang telah memberikan begitu banyak kesempatan dan ketrampilan kepada penulis melalui berbagai macam pendidikan dan pengalaman, tanpa campur tangan Dia tidak mungkin saya bisa mewujudkan buku ini dan buku-buku sebelumnya. Juga kepada segenap pihak yang telah ikut andil dalam penyelesaian buku ini, terutama fasilitas kantor dengan akses Internet yang telah banyak membantu penulis mendapatkan perangkat lunak maupun informasi selama pemuatan buku ini. Buku ini sengaja ditulis untuk memenuhi kebutuhan akan buku-buku Assembly yang saat ini (tahun 2004) mulai langka adanya. Diawali dengan pembicaraan dengan pihak penerbit maupun keluhan-keluhan mahasiswa yang kesulitan mencari bukubuku pembelajaran Bahasa Assembly, maka kemudian penulis mulai menulis buku ini. Penggunaan program Emu8086 menurut pengalaman penulis sangat cocok digunakan untuk belajar Bahasa Assembly. Program ini bisa didownload secara gratis (versi evaluasi) di http://www.emu8086.com. Buku ini ditulis di sela-sela waktu selama penulis mengajar di perguruan tinggi sebagai dosen tetap juga di sela-sela penulis berusaha merampungkan studi lanjut pendidikan. Alhamdulillah bisa terselesaikan juga. Yang begitu menyedihkan selama penulisan buku ini adalah terjadinya musibah yang menimpa Bangsa Indonesia di penghujung tahun 2004, saat dimana bangsa kita telah terpuruk cukup dalam ke lembah kenistaan dan mencoba untuk bangkit kembali. Jazakalloh saya ucapkan secara pribadi kepada Aa Gym yang telah mengilhami penulis, dari berbagai ceramah atau artikel di berbagai media massa, bahwa hidup ini sebenarnya sederhana, cobalah untuk selalu jangan terbuai dengan kehidupan dunia yang fana ini. Semoga dengan kejadian ini membuat kita semakin sadar bahwa hidup ini sepenuhnya ada di tangan-nya. Sesungguhnya hanya kepada Alloh-lah sholatku, karya-karyaku, hidup dan matiku! Yogyakarta, Januari 2005 Agfianto Eko Putra Email : agfi@ugm.ac.id Website : http://agfi.staff.ugm.ac.id i

Memori 26 Desember 2004 Duka Aceh Bangsa Indonesia mendapatkan musibah gempa dan Gelombang Tsunami melanda sumatera utara (aceh) dan beberapa negara lain... Semoga membawa hikmah... Bagi kita yang telah banyak terlena dengan kemegahan hidup di dunia, sementara hidup di akherat kekal adanya... Bagi kita yang telah banyak melupakan-nya dengan tanpa mempedulikan mana halal dan mana haram... Bagi kita yang telah memimpin negeri ini tanpa mempedulikan ridlo dari-nya, padahal hidup ini sesungguhnya hanyalah mencari ridlo-nya semata... Semoga mereka yang terkena musibah diberi kesabaran dan ketabahan, serta diberi kemudahan untuk membangun hidupnya kembali baik secara fisik maupun mental... Amin yaa Robbal alamin. (aep, 2004) ii

DAFTAR ISI KATA PENGANTAR... I MEMORI...II DAFTAR ISI... III PENGANTAR BUKU BELAJAR BAHASA ASSEMBLY DENGAN EMU8086...1 BAB 1 SISTEM BILANGAN... 4 1.1. SISTEM BILANGAN DESIMAL... 6 1.2. SISTEM BILANGAN BINER (BINARY)... 7 1.3. SISTEM BILANGAN HEKSADESIMAL... 8 1.4. SISTEM BILANGAN BERTANDA... 10 1.5. TENTANG NUMBER CONVERTOR DAN EXPRESSION EVALUATOR...11 BAB 2 BAHASA ASSEMBLY DAN EMU8086... 14 2.1. TENTANG CPU INTEL 80X86... 14 2.1.1. PERKEMBANGAN PROSESOR INTEL... 15 2.2. REGISTER-REGISTER DALAM PROSESOR 80X86... 16 2.2.1. REGISTER-REGISTER DATA... 16 2.2.2. REGISTER-REGISTER SEGMEN... 17 2.2.3. REGISTER-REGISTER PENUNJUK (POINTER) DAN INDEKS... 18 2.2.4. PENUNJUK INSTRUKSI (INSTRUCTION POINTER)... 18 2.2.5. BENDERA STATUS (STATUS FLAGS)... 18 2.3. PENGGUNAAN EMU8086... 20 2.3.1. MEMBUAT PROGRAM BARU... 23 2.3.2. KOMPILASI DAN PEMROSESAN KESALAHAN...26 2.3.3. PENGGUNAAN EMULATOR... 28 2.3.4. CONTOH PENGGUNAAN EMULATOR... 33 2.3.5. TENTANG DRIVE SEMU (VIRTUAL DRIVE)... 36 2.3.6. CONTOH PENGGUNAAN VIRTUAL DRIVE... 37 BAB 3 MODE AKSES MEMORI, PENGGUNAAN VARIABEL DAN STACK...40 3.1. MODE PENGALAMATAN ATAU PENGAKSESAN... 40 3.1.1. MODE PENGALAMATAN REGISTER DAN SEGERA... 41 3.1.2. MODE PENGALAMATAN LANGSUNG... 41 3.1.3. MODE PENGALAMATAN TAK-LANGSUNG REGISTER... 42 3.1.4. MODE PENGALAMATAN RELATIF DASAR... 43 3.1.5. MODE PENGALAMATAN LANGSUNG TERINDEKS... 44 3.1.6. MODE PENGALAMATAN DASAR TERINDEKS... 45 3.2. VARIABEL DAN PENGGUNAANNYA... 46 3.3. LARIK DAN PENGGUNAANNYA... 48 3.4. MEMPEROLEH ALAMAT SUATU VARIABEL... 51 3.5. KONSTANTA... 54 3.6. TENTANG STACK... 55 BAB 4 INSTRUKSI 80X86... 59 4.1. INSTRUKSI TRANSFER DATA... 60 MOV... 61 PUSH dan POP... 62 PUSHA dan POPA...62 XCHG... 63 XLATB... 64 IN dan OUT... 65 LEA... 65 LDS dan LES... 66 SAHF dan LAHF... 66 PUSHF dan POPF... 68 iii

4.2. INSTRUKSI ARITMETIKA... 69 ADD dan ADC... 70 AAA dan DAA... 71 INC... 72 SUB dan SBB... 72 AAS dan DAS... 73 DEC... 73 NEG... 74 CMP... 74 MUL... 74 IMUL... 75 AAM... 75 DIV... 75 IDIV... 76 AAD... 76 CBW dan CWD... 76 4.3. INSTRUKSI MANIPULASI BIT... 77 AND... 78 OR... 79 XOR... 79 NOT... 79 TEST... 80 SAL dan SHL... 80 SAR dan SHR... 80 ROL dan RCL... 81 ROR dan RCR... 81 4.4. INSTRUKSI KONTROL ALIRAN PROGRAM... 82 CALL dan RET... 83 JMP... 84 JA atau JNBE... 85 JAE atau JNB... 86 JB, JNAE atau JC... 86 JBE atau JNA... 88 JCXZ... 88 JE atau JZ... 89 JG atau JNLE... 90 JGE atau JNL... 90 JL atau JNGE... 91 JLE atau JNG... 91 JNC... 92 JNE atau JNZ... 93 JNO... 93 JNP atau JPO... 94 JNS... 95 JO... 95 JP atau JPE... 96 JS... 97 LOOP... 97 LOOPE atau LOOPZ... 98 LOOPNE atau LOOPNZ... 98 4.5. INSTRUKSI STRING... 99 CLD... 100 STD... 100 REP... 100 REPE atau REPZ... 101 REPNE atau REPNZ... 101 MOVSB dan MOVSW... 101 CMPSB dan CMPSW... 103 SCASB dan SCASW... 106 LODSB dan LODSW... 106 iv

STOSB dan STOSW... 108 4.6. INSTRUKSI INTERUPSI... 109 4.7. INSTRUKSI KONTROL PROSESOR... 109 CLC dan STC... 110 CMC... 110 CLD dan STD... 110 CLI dan STI... 110 HLT... 110 NOP... 111 BAB 5 INTERUPSI... 112 5.1. PENDAHULUAN... 112 5.2. DAFTAR INTERUPSI YANG DIDUKUNG EMU8086... 113 INT 10h fungsi 00h... 113 INT 10h fungsi 01h... 114 INT 10h fungsi 02h... 115 INT 10h fungsi 03h... 116 INT 10h fungsi 05h... 117 INT 10h fungsi 06h... 117 INT 10h fungsi 08h... 117 INT 10h fungsi 09h... 118 INT 10h fungsi 0Ah... 118 INT 10h fungsi 0Eh... 118 INT 10h fungsi 13h... 119 INT 10h fungsi 1003h... 119 INT 11h... 119 INT 12h... 120 INT 13h fungsi 00h... 120 INT 13h fungsi 02h... 120 INT 13h fungsi 03h... 120 INT 15h fungsi 86h... 120 INT 16h fungsi 00h... 121 INT 16h fungsi 01h... 121 INT 19h... 121 INT 1Ah fungsi 00h... 121 INT 20h... 122 INT 21h fungsi AH=09h... 122 INT 21h fungsi AH=0Ah... 122 INT 21h fungsi AH=4Ch... 122 INT 21h fungsi AH=01h... 122 INT 21h fungsi AH=02h... 122 5.3. CONTOH-CONTOH PROGRAM MENGGUNAKAN INTERUPSI... 122 Contoh program 01... 122 Contoh program 02... 123 Contoh program 03... 125 Contoh program 04... 126 Contoh program 05... 127 BAB 6 PROSEDUR DAN MAKRO... 130 6.1. PROSEDUR... 130 6.2. MAKRO... 133 6.3. PUSTAKA FUNGSI DALAM BERKAS EMU8086.INC... 136 6.3.1. MAKRO DALAM emu8086.inc... 137 6.3.2. PROSEDUR DALAM emu8086.inc... 138 BAB 7 KONTROL PERANGKAT KERAS EKSTERNAL (ANTARMUKA PC)... 140 7.1. PENDAHULUAN... 140 7.2. LAMPU LALU-LINTAS (TRAFFIC LIGHTS)... 140 7.3. MOTOR LANGKAH (STEPPER MOTOR)... 142 7.4. ROBOT... 145 v

7.5. PIRANTI I/O KUSTOM... 152 DAFTAR PUSTAKA... 153 LAMPIRAN A: LISTING BERKAS EMU8086.INC... 154 LAMPIRAN B: PENGGUNAAN EDITOR EMU8086... 166 LAMPIRAN C: KOMPATIBILITAS DENGAN MASM/TASM... 169 vi