Kuliah 3: 3.1. Debugging dan TASM 3.2. Interrupt

dokumen-dokumen yang mirip
MEMULAI MEMPROGRAM DI DOS. Struktur Assambler. Menggunakan Debug dari DOS

INTERRUPT. Cara penggunaan int [no int]

PROGRAM STUDI TEKNIK KOMPUTER JURUSAN TEKNIK KOMPUTER POLITEKNIK NEGERI SRIWIJAYA PALEMBANG TK Praktikum Bahasa Rakitan Hand On Lab 4

Pemrograman Assembler dengan Debug

PERTEMUAN : 4 EKSPLORASI DEBUG

Daftar Isi. Daftar Isi Pertemuan 2: Pengenalan Debug dan Interrupt P2.1. Teori Pengenalan DEBUG... 3

Mata Kuliah : Bahasa Rakitan

Bahasa rakitan/assembly Language

Diktat Kuliah intel 8088

Bab 1. Pemrograman dan Bahasa Rakitan. 1.1 Pendahuluan

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

Eksplorasi Prosesor 8086 Dengan Program DEBUG

MODUL V STACK dan PENGENALAN PROCEDURE

Kuis : Bahasa Rakitan (UAS)

Diktat Kuliah Instruksi dan Segmentasi

MICROPROSESSOR ASEMBLY (REGISTER)

Materi 3. Komponen Mikrokomputer SYSTEM HARDWARE DAN SOFTWARE DADANG MULYANA

MODUL I PENGENALAN ASSEMBLY

BAB V MEMULAI DENGAN ASSEMBLY

BAB VIII OPERASI ARITMATIKA

Modul Kuliah Bahasa Rakitan. Harry Witriyono, M.Kom. I. Bahasa Rakitan, Microprocessor dan Bilangan

Diktat Kuliah Organisasi dan Interaksi

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

LAPORAN PRAKTIKUM ORGANISASI KOMPUTER & BAHASA ASSEMBLY PROGRAM OPERASI ARITMATIKA. Kelas : INF 2B Praktikum 1 Nama : Fernalia NIM : J3C212210

BAB 3 MODE AKSES MEMORI, PENGGUNAAN VARIABEL DAN STACK

BAHASA RAKITAN. Kuliah I : Pengenalan. Universitas Gunadarma. Bahasa Rakitan

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

Memory. Klasifikasi. Hirarki Memory

IMPLEMENTASI PENGISIAN REGISITER DATA DAN OPERASI ARITMATIKA MENGGUNAKAN PROGRAM COMMAND PROMPT, BAHASA ASSEMBLER

Dosen : Team (no cheating, no book, no note, no additional paper, no calculator)

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

Komputer memiliki dua komponen utama. Yang pertama adalah hardware (perangkat keras) yang tersusun atas komponen elektronik dan mekanik.

SATUAN ACARA PERKULIAHAN Mata Kuliah: BAHASA RAKITAN Jurusan / Jenjang / Kode / SKS : SI / D3 / KK /2

LAB SHEET 1 PENGENALAN Z80 SIMULATOR IDE OSHONSOFT

Bahasa Rakitan PENGERTIAN REGISTER

Bahasa Rakitan By Okti Yudhanti Nur K REGISTER

LAPORAN PRAKTIKUM ORGANISASI KOMPUTER & BAHASA ASSEMBLY PROGRAM POINTER OPERASI ARITMATIKA

R E G I S T E R. = Code Segment Register = Data Segment Register = Stack Segment Register = Extra Segment Register. 3.

Modul ke: APLIKASI KOMPUTER. Pengoperasian Dasar Windows. Fakultas FASILKOM. Ramayanti, S.Kom, MT. Program Studi Teknik Informatika

Instruksi-Instruksi Pemindahan Data. Sistem Komputer Universitas Gunadarma

MODUL PRAKTIKUM SISTEM OPERASI PRAKTIKUM I MODEL PEMROGRAMAN 1

ORGANISASI DAN ARSITEKTUR KOMPUTER. rsp oak informatika

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

KALKULATOR ASSEMBLY Lutfi Budi Ilmawan

Mikroprosesor. Pertemuan 8. By: Augury

PETA MEMORI MIKROPROSESOR 8088

Sistem Operasi AGUS PAMUJI. Teknik Informatika

Karakteristik Instruksi Mesin

intruksi kepada CPU untuk mengakses sistem operasi. BIOS tersimpan pada Read Only

MODUL III FLOW CONTROL INSTRUTIONS

PENDAHULUAN PEMROGRAMAN KOMPUTER. Mengapa Belajar Pemrograman Komputer?

Intermediate Code Form

MIKROPROSESOR REGISTER-REGISTER MIKROPROSESOR INTEL

Diktat Kuliah Instruksi Mesin

Mode Pengalamatan. Sistem Komputer Universitas Gunadarma

Pengantar Bahasa Rakitan

Arsitektur dan Organisasi Komputer. Set instruksi dan Pengalamatan

MODUL PRAKTIKUM ORGANISASI SISTEM KOMPUTER

Pada pembahasan kali ini, digunakan instruksi MOV untuk menjelaskan mode pengalamatan data. Format penulisannya adalah :

DIKTAT BAHASA RAKITAN

Daftar Isi. Daftar Isi Pertemuan 3: Pengenalan TASM P3.1. Teori Pengenalan Turbo Assembler Struktur Program...

Sistem Operasi. Teknologi Informasi

Mata Kuliah : Bahasa Rakitan Materi ke-3

Operasi Transfer Data

BAB XXVII TURBO DEBUGGER

Sistem Bilangan & Dasar Assembler Dadang Mulyana

Pendahuluan. Kuliah online : Tekkom [2013/VI]

DASAR KOMPUTER. Assembly Language

KONFIGURASI PIN-PIN MIKROPROSESOR Z 80. Yoyo somantri Dosen Jurusan Pendidikan Teknik Elektro FPTK Universitas Pendidikan Indonesia

Mikroprosesor. Bab 3: Arsitektur Mikroprosesor. INTEL 8086 Generasi Awal Prosesor PENTIUM. Arsitektur Mikroprosesor 1

STRUKTUR CPU. Arsitektur Komputer

Arsitektur Set Instruksi. Abdul Syukur

BAB I TUGAS MATA KULIAH SISTEM MIKROPROSESOR DOSEN PEMBERI TUGAS : FATAH YASIN, ST, MT.

Input : Memasukkan data dari luar kedalam mikroprosesor Contoh: Keyboard, mouse

SISTEM KERJA MIKROPROSESOR

Rangkuman Materi Presentasi AOK. Input/Output Terprogram, Intterupt Driven dan DMA. (Direct Memory Access)

Struktur Sistem Komputer. Abdullah Sistem Informasi Universitas Binadarma

Pipeline pada x86. Sebagai contoh : Instruksi 1 : ADD AX,AX Instruksi 2 : ADD BX,CX

Pertemuan 2. Struktur Sistem Operasi

Bab 2: Struktur Sistem Operasi. Komponen Sistem Secara Umum

Implementasi OOP Pada Perangkat Lunak Pemrograman

SET INSTRUKSI. Organisasi dan Arsitektur Komputer

Organisasi & Arsitektur Komputer

Input : Memasukkan data dari luar kedalam mikroprosesor Contoh: Keyboard, mouse

BAB 2 LANDASAN TEORI. Istilah komputer ( computer ) berasal dari bahasa latin computere yang berarti

Bab 1 : Pengenalan dan Pengantar Algoritma

ORGANISASI KOMPUTER. Pertemuan II KONSEP DASAR KOMPUTER - SOFTWARE -

Komponen sistem operasi modern : 1. Managemen Proses. 2. Managemen Memori Utama. 3.Managemen

Microcontroller: Bahasa Pemrograman Assembly 8051

Hanif Fakhrurroja, MT

PERTEMUAN : 3. Jurusan Teknik Informatika STT PLN. Riki Ruli S -

Mengapa Belajar Pemrograman Komputer?

Pertemuan ke - 12 Unit Masukan dan Keluaran Riyanto Sigit, ST. Nur Rosyid, S.kom Setiawardhana, ST Hero Yudo M, ST

ORGANISASI SISTEM KOMPUTER & ORGANISASI CPU Oleh: Priyanto

Algoritma dan Struktur Data

BAB III PERANGKAT PENDUKUNG ANALISA

Mode Pengalamatan (Addressing Mode) Keluarga Prosesor 8086

Chapter 6 Input/Output

APLIKASI KOMPUTER (APLIKOM)

Set Instruksi & Mode Pengalamatan. Team Dosen Telkom University 2016

Transkripsi:

Kuliah 3: 3.1. Debugging dan TASM 3.2. Interrupt Bahasa Rakitan 1

3.1.1. Debugging Proses Pembuatan Program Terdapat 5 langkah: 1. Desain Algoritma: Penetapan masalah Pengusulan solusi yang terbaik Pembuatan diagram skematik yang digunakan agar usulan solusi lebih baik flowchart 2. Pengkodean algoritma Penulisan program dalam bahasa pemrograman tertentu 3. Penerjemaahan ke bahasa mesin Pembuatan program obyek, atau dgn kata lain, program ditulis dalam suatu deret/urutan 0 dan 1 yang dapat diinterpretasi oleh prosessor 4. Test program Eksekusi program pada mesin komputer 5. Mengeliminasi kesalahan yang terdeteksi Koreksi kesalahan umumnya memerlukan pengulangan seluruh langkah-2 dari langkah 1 atau 2 Untuk membuat program dlm bahasa rakitan tersedia dua option: 1. Mengunakan Turbo Assembler (TASM, Borland) 2. Debugger Bahasa Rakitan 2

3.1.1. Debugging (cont d) Debug: Hanya dapat membuat program dgn extension *.COM karena karakteristik sifat program ini 1. program tidak lebih besar 64 K dan 2. Program harus dimulai dgn displacment, offset, atau 0100H memory direction didalam segment tertentu (spesific) Kumpulanperintahdebug: A: merakit intruksi simbolik kode mesin D: menampilkan isi suatu daerah memori E: memasukan data ke memori, dimulai pada lokasi tertentu G: run executable program ke memori N: menamai program P: ekskusi sekumpulan instruksi yang terkait Q: quit R: menampilkan isi satu atau lebih registers T: trace isi sebuah instruksi U: unassembled kode mesin ke kode simbolik W: menulis program ke disk Dengan debug visualisasi nilai registers internal dari CPU Memulai debug: C:/>debug[enter] Bahasa Rakitan 3

3.1.1. Debugging (cont d) -r[enter] AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=0D62 ES=0D62 SS=0D62 CS=0D62 IP=0100 NV EI PL NZ NA PO NC 0D62:0100 2E CS:0D62:0101 803ED3DF00 CMP BYTE PTR [DFD3],00 CS:DFD3=03 Seluruh isi registers internal ditampilkan Atau dgn menggunakan parameter nama register,mis: -rbx BX 0000 : akan ditampikan isi register BX dan indikator debug berubah dari - : (ini berarti kita dapat mengisi nilai baru dari register BX (masukan nilai + enter), atau kita tetap mempertahankan nilai lama (tekan langsung enter tanpa mengetik nilai) Pembuatan program assembler dasar 1. Menginisialisai Debug, yaitu mengetik debug[enter] pada prompt OS 2. Assemble suatu program dgn perintah a yaitu a parameter[enter] Parameter alamat awal proses perakitan Jika tanpa parameter diinisialisasi pada posisi (locality) yang dispesifikasikan oleh CS:IP (biasanya 100h yaitu locality dimana sebuah program dgn extension *.CON diinisialisasi ) Bahasa Rakitan 4

3.1.1. Debugging (cont d) Rekomendasi: lebih baik alamat awal ditulis u/ menghindari masalah-2 yang terjadi segera setelah register CS:IP digunakan dgn demikian kita ketikan: a 100[enter] mov ax,0002[enter] mov bx,0004[enter] add ax,bx[enter] nop[enter][enter] Keterangan: move nilai 0002 ke AX, move nilai 0004 ke BX, tambahkan nilai bx ke ax, Intruksi nop finish the program Kemudian: C:\>debug -a 100 0D62:0100 mov ax,0002 0D62:0103 mov bx,0004 0D62:0106 add ax,bx 0D62:0108 nop 0D62:0109 -t (execute setiap instruksi dari program) AX=0002 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=0D62 ES=0D62 SS=0D62 CS=0D62 IP=0103 NV EI PL NZ NA PO NC 0D62:0103 BB0400 MOV BX,0004 Bahasa Rakitan 5

3.1.1. Debugging (cont d) -t AX=0002 BX=0004 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=0D62 ES=0D62 SS=0D62 CS=0D62 IP=0106 NV EI PL NZ NA PO NC 0D62:0106 01D8 ADD AX,BX -t AX=0006 BX=0004 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=0D62 ES=0D62 SS=0D62 CS=0D62 IP=0108 NV EI PL NZ NA PE NC 0D62:0108 90 NOP Menyimpan program 1. Cek panjang prorgram dgn perintah h -h 10a 100 (alamat akhir 10a) 020a 000a 2. Menamai prorgram -n test.com 3. Gunakan perintah rcx untuk mengubah nilai registes CX dgn nilai yg diperoleh dari ukuran file 000a -rcx CX 0000 :000a 4. Terakhir, gunakan perintah w u/ menyimpan -w Writing 000A bytes Bahasa Rakitan 6

3.1.1. Debugging (cont d) Meload program 1. Berikan nama file yang akan diload 2. Load dgnperintah l -n test.com -l -u 100 109 0C3D:0100 B80200 MOV AX,0002 0C3D:0103 BB0400 MOV BX,0004 0C3D:0106 01D8 ADD AX,BX 0C3D:0108 CD20 INT 20 Perintah u digunakan u/ memverifikasikan bhw program telah diloaded ke memori. Ini berarti dgn perintah ini: kode di unassemble, kemudian meanmpilakn hasil unassemble Parameter mengindikasi Debug dari mana dan disassamble ke mana. Debug selalu meload program ke memori pada alamat 100h, kecuali digunakan paramater lain. Bahasa Rakitan 7

3.1.2. TASM Membangun Program Assembler Software yang diperlukan 1. Editor pembuatan source program 2. Compiler menerjemahkan source program ke program obyek ( TASM) 3. Linker menggenerasi executable program dari program obyek ( TLINK) Pemrograman dgn TASM Directives berikut penting untuk dimasukan 1..Model SMALL mendefinisikan model memori yg digunakan dlm prog. 2..CODE mendefinisikan instruksi prog. 3..STACK reserves suatu ruang memori bagi instruksi-2 prog. ke stack 4. END finishes prog. Langkah-langkah 1. Gunakan prog. Editor u/ membuat source prog. Contoh:.MODEL SMALL.STACK.CODE ;memory model ;memory space for program ;instructions in the stack ;the following lines are ;program instructions Bahasa Rakitan 8

3.1.2. TASM (cont d) mov ah,1h ;moves the value 1h to ;register ah mov cx,07h ;moves the value 07h to ;register cx int 10h ;10h interruption mov ah,4ch ;moves the value 4 ch to ;register ah int 21h ;21h interruption END ;finishes the program code 2. Save program, misal contoh1.asm (disave dalam ASCII format!!) 3. Gunakan TASM u/ membuat prog. Obyek C:\>tasm contoh1.asm 4. Gunakan TLINK u/ membangun excutable prog. C:\>tlink contoh1.obj 5. Eksekusi executable prog. C:\>contoh1[enter] Proses assembly manajemen segmen dan perbandingan dgn tabel simbol (dalam hal tokentoken dari instruksi) Bahasa Rakitan 9

3.1.2. TASM (cont d) Contoh lain: (contoh2.asm).model small.stack.code mov ah,2h ;moves the value 2h to register ah mov dl,2ah ;moves de value 2ah to register ;dl ;(Its the asterisk value in ;ASCII ;format) int 21h ;21h interruption mov ah,4ch ;4ch function, goes to operating ;system int 21h ;21h interruption end ;finishes the program code Dengan proses yang sama seperti contoh sebelumnya, program akan menghasilkan karakter asterik * pada layar monitor Bahasa Rakitan 10

3.2 Interrupts Jenis-Jenis Interrupts 1. Internal HW interruptions Ditimbulkan/digenerasi oleh peristiwa tertentu yang terjadi pada waktu/selama eksekusi program Diatur oleh HW dan tidak mungkin diubah Contoh: tipe interrupt u/ counter clock internal; HW call interrupt ini u/ memaintance time to date 2. External HW interupstions Ditimbulkan/digenerasi oleh devais peripheral, mis keyboard, printers, dsb. Biasa juga ditimbulkan/digenerasi oleh Coprosessor Tidak mungkin mendeaktivekan Tidak dikirim langsung ke CPU, melainkan ke IC yang memiliki fungsi u/ menghandle secara eksklusive interrupts ini. (IC PIC8259A, yg dikontrol oleh CPU dgn menggunakan urutan komunikasi PATH Control 3. Software interruptions Diaktifkan langsung oleh assembler melalui sejumlah interuosi yg diharapkan dgn instruksi INT Bahasa Rakitan 11

3.2 Interrupts (cont d) Terdapat dua jenis: 1. DOS interruptions 2. BIOS interupstions Perbedaannya: DOS int. lebih mudah digunakan, namun lebih lambat, karena int. jenis ini menggunakan BIOS BIOS int. lebih cepat, namun banyak kerugiannay karena BIOS bagian HW dan HWspecific Pemilihan interupts tergantung pada karakteristik yang akan kita berikan pada program: SPEED BIOS int; PORTABILITY DOS int. Interrupts yang sering digunakan Int 21H (DOS interruption) Multiple class to DIS functions Int 10H (BIOS) Video I/O. Int 16H (BIOS) Keyboard I/O Int 17H (BIOS) Printer I/O Bahasa Rakitan 12