Top Banner
Pemograman DEBUG Pemograman DEBUG
27

Pemograman Debug smk

Jan 11, 2016

Download

Documents

bku
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Pemograman Debug smk

Pemograman DEBUGPemograman DEBUG

Page 2: Pemograman Debug smk

PengertianPengertian

DeBUG berasal dari kata The BUG yg DeBUG berasal dari kata The BUG yg berarti KUTUberarti KUTUProgram yg digunakan utk pelacakan sistem Program yg digunakan utk pelacakan sistem

KomputerKomputerMenggunakan Bahasa Mesin (Assembler) utk Menggunakan Bahasa Mesin (Assembler) utk

pemogramannyapemogramannyaDitujukan langsung ke sistem Register Ditujukan langsung ke sistem Register

Komputer (Memory Komputer)Komputer (Memory Komputer)

Page 3: Pemograman Debug smk

Sistem Register KomputerSistem Register Komputer

Ada 8 macam registerAda 8 macam registerRegister A (AH dan AL Register A (AH dan AL AX) AX)Register B (BH dan BL Register B (BH dan BL BX) BX)Register C (CH dan CL Register C (CH dan CL CX) CX)Register D (DH dan DL Register D (DH dan DL DX) DX)Register ES dan CSRegister ES dan CSRegister DS (Data Segment)Register DS (Data Segment)Register SP (Stack Pointer)Register SP (Stack Pointer)Register F (Flag)Register F (Flag)

Page 4: Pemograman Debug smk

Register yang paling umum digunakan Register yang paling umum digunakan dan terlibat langsung dalam operasi dan terlibat langsung dalam operasi Prosesor antara lain :Prosesor antara lain :A (Accumulator) : digunakan untuk A (Accumulator) : digunakan untuk

penampungan data umumpenampungan data umumB (Base) : digunakan untuk nilai dasarB (Base) : digunakan untuk nilai dasarC (Counter) : digunakan untuk nilai C (Counter) : digunakan untuk nilai

pengulanganpengulanganD (Data) : digunakan utk penyimpanan data D (Data) : digunakan utk penyimpanan data

pengolahanpengolahan

Page 5: Pemograman Debug smk

Memulai DEBUGMemulai DEBUG

Dapat dimulai dari prompt Windows, Dapat dimulai dari prompt Windows, dengan langkah :dengan langkah :Masuk ke sistem DOS (Command)Masuk ke sistem DOS (Command)

- Klik Star - Klik Star Run Run ketikkan CMD lalu Enter ketikkan CMD lalu Enter

Pindah Directory : CD\ lalu enterPindah Directory : CD\ lalu enterDari C:\> (prompt C) ketikkan DEBUG lalu Dari C:\> (prompt C) ketikkan DEBUG lalu

EnterEnter

Dengan tanda hypenation ( _ ) maka debug Dengan tanda hypenation ( _ ) maka debug siap dioperasikansiap dioperasikan

Page 6: Pemograman Debug smk

Tampilan…Tampilan…

Page 7: Pemograman Debug smk

Perintah-perintah DEBUGPerintah-perintah DEBUG

Secara umum perintah DEBUG dapat Secara umum perintah DEBUG dapat dilihat dengan cara :dilihat dengan cara :

Ketikkan tanda tanya (?) pada hypenation DEBUGKetikkan tanda tanya (?) pada hypenation DEBUG

_? (enter)_? (enter)

Perintah DEBUG dapat dimulai dengan Perintah DEBUG dapat dimulai dengan mengetikkan huruf awal perintah sbb: mengetikkan huruf awal perintah sbb: A C D E F G H I L M N O P Q R S T U WA C D E F G H I L M N O P Q R S T U W

Page 8: Pemograman Debug smk

Perintah DebugPerintah Debug

A (Assembler) A (Assembler) C (Compare) C (Compare) D (Dump) D (Dump) E (enter)E (enter) F (Fill)F (Fill) G (Go) G (Go) H (Hex)H (Hex) I (Input)I (Input) L (Load)L (Load) M (Move)M (Move) N (Name)N (Name) O (Output)O (Output) P (Process)P (Process) Q (Quit)Q (Quit) R (Register)R (Register) S (Search)S (Search) T (Trace)T (Trace) U (UnAssemble)U (UnAssemble) W (Write)W (Write)

Page 9: Pemograman Debug smk

Register KomputerRegister Komputer

AX (AH dan AL)AX (AH dan AL)BX (BH dan BL)BX (BH dan BL)CX (CH dan CL)CX (CH dan CL)DX (DH dan DL)DX (DH dan DL)FlagFlagESES IPIP

Page 10: Pemograman Debug smk

Dasar Pemograman AssemblerDasar Pemograman Assembler

Memulai Assembler dengan DebugMemulai Assembler dengan Debug

_ A100 (A= Assembler, 100=lokasi _ A100 (A= Assembler, 100=lokasi memori awal tempat program assembler memori awal tempat program assembler dibuat)dibuat)

xxxx:0100 _xxxx:0100 _

Page 11: Pemograman Debug smk

Perintah-perintah Dasar AssemblerPerintah-perintah Dasar Assembler

MOV : memindahkan data dari regiter MOV : memindahkan data dari regiter register atau Register register atau Register Memory MemorySintaxnya : Sintaxnya :

MOV [register,nilai] Misalnya MOV [register,nilai] Misalnya MOV AX,02 atau MOV AX,02 atau

MOV [register,register] MOV [register,register] misalnya MOV AX,DXmisalnya MOV AX,DX

ADD : menambahkan isi register dengan ADD : menambahkan isi register dengan Nilai register lainnyaNilai register lainnya

Sintaxnya : ADD [register] misalnya ADD AXSintaxnya : ADD [register] misalnya ADD AX

Page 12: Pemograman Debug smk

INCINCDECDEC INTINT

Interupsi 10 (service 02 dan service 09)Interupsi 10 (service 02 dan service 09)Service untuk pengaturan tampilan ke layarService untuk pengaturan tampilan ke layar

Interupsi 20 ; mengakhiri programInterupsi 20 ; mengakhiri program Interupsi 21 ; layanan Sistem OperasiInterupsi 21 ; layanan Sistem Operasi

LOOPLOOP

Page 13: Pemograman Debug smk

Program AplikasiProgram Aplikasidengan DEBUG/Assemblerdengan DEBUG/Assembler

Page 14: Pemograman Debug smk

Menampilkan Informasi ke LayarMenampilkan Informasi ke Layar

Interupsi 10 Service 9Interupsi 10 Service 9Menampilkan karakter ke layarMenampilkan karakter ke layar

Data Service diisikan pada register AHData Service diisikan pada register AH Data huruf diisikan pada register ALData huruf diisikan pada register AL Halaman Layar dibuat 0 pada Register BHHalaman Layar dibuat 0 pada Register BH Warna pada layar diisikan pada register BL dengan Warna pada layar diisikan pada register BL dengan

ketentuan bit MSB background dan LSB foreground, ketentuan bit MSB background dan LSB foreground, misalnya 17 berarti warna Background 1 (blue) dan misalnya 17 berarti warna Background 1 (blue) dan foreground 7 (putih) nilai dikategorika pada warna RGBforeground 7 (putih) nilai dikategorika pada warna RGB

Banyak karakter yang ditampilkan diatur dengan nilai CXBanyak karakter yang ditampilkan diatur dengan nilai CX

Page 15: Pemograman Debug smk

MisalnyaMisalnya

MOV AH,9MOV AH,9

MOV AL,43MOV AL,43

MOV BH,0MOV BH,0

MOV BL,17MOV BL,17

MOV CX,1MOV CX,1

INT 10INT 10

INT 20INT 20

Page 16: Pemograman Debug smk

LatihanLatihan

Tampilkan lah 10 huruf ATampilkan lah 10 huruf APenyelsaian :Penyelsaian :MOV AH,9MOV AH,9 //mengisikan nilai service int10//mengisikan nilai service int10MOV AL,41MOV AL,41 //mengisikan karakter ASCII A//mengisikan karakter ASCII AMOV BH,0MOV BH,0 //mengatur mode halaman //mengatur mode halaman

layarlayarMOV BL,17MOV BL,17 //mengatur warna tampilan//mengatur warna tampilanMOV CX,AMOV CX,A //mengatur nilai pengulangan//mengatur nilai pengulanganINT 10INT 10 //interupsi berhbgn layar//interupsi berhbgn layarINT 20INT 20 //mengakhiri program//mengakhiri program

Page 17: Pemograman Debug smk

Mengatur Posisi KursorMengatur Posisi Kursor

Interupsi 10 service 2Interupsi 10 service 2Data service diisikan pada register AHData service diisikan pada register AHPosisi Baris kursor diisikan pada register Posisi Baris kursor diisikan pada register

DHDHPosisi Kolom Kursor diisikan pada register Posisi Kolom Kursor diisikan pada register

DLDLPosisi halaman layar dibuat 0 dan diisikan Posisi halaman layar dibuat 0 dan diisikan

pada register BHpada register BH

Page 18: Pemograman Debug smk

MisalnyaMisalnya

MOV AH,2MOV AH,2

MOV DH,C //nilai C = 12MOV DH,C //nilai C = 12

MOV DL,24MOV DL,24

MOV BH,0MOV BH,0

INT 10INT 10

INT 20INT 20

Page 19: Pemograman Debug smk

LatihanLatihan

Tampilkanlah satu huruf A berwarna Tampilkanlah satu huruf A berwarna merah berlatar putih ditengah layarmerah berlatar putih ditengah layar

Asumsi : layar komputer mode text Asumsi : layar komputer mode text berukuran resolusi 80x25 (kolomxbaris)berukuran resolusi 80x25 (kolomxbaris)

Page 20: Pemograman Debug smk

MOV AH,2MOV AH,2MOV DH,CMOV DH,C //nilai C = 12 //nilai C = 12 baris barisMOV DL,24MOV DL,24 //nilai 24= 36 //nilai 24= 36 kolom kolomMOV BH,0MOV BH,0INT 10INT 10MOV AH,9MOV AH,9 //mengisikan nilai service int10//mengisikan nilai service int10MOV AL,41MOV AL,41 //mengisikan karakter ASCII A//mengisikan karakter ASCII AMOV BH,0MOV BH,0 //mengatur mode halaman layar//mengatur mode halaman layarMOV BL,47MOV BL,47 //mengatur warna tampilan//mengatur warna tampilanMOV CX,1MOV CX,1 //mengatur nilai pengulangan//mengatur nilai pengulanganINT 10INT 10 //interupsi berhbgn layar//interupsi berhbgn layarINT 20INT 20 //mengakhiri program//mengakhiri program

Page 21: Pemograman Debug smk

Tugas dan LatihanTugas dan Latihan

Buatlah tampilan Bendera Merah Putih di Buatlah tampilan Bendera Merah Putih di Sudut Kanan Atas, panjang bendera 10 Sudut Kanan Atas, panjang bendera 10 karakter. (ASCII karakter kosong/spasi karakter. (ASCII karakter kosong/spasi adalah 20)adalah 20)

Page 22: Pemograman Debug smk

Analisa Logika ProgramAnalisa Logika Program MOV AH,2MOV AH,2 MOV DH,1MOV DH,1 // 1=baris 2=baris 2// 1=baris 2=baris 2 MOV DL,46MOV DL,46 //nilai 46= 70 //nilai 46= 70 kolom kolom MOV BH,0MOV BH,0 INT 10INT 10 MOV AH,9MOV AH,9 //mengisikan nilai service int10//mengisikan nilai service int10 MOV AL,20MOV AL,20 //mengisikan karakter ASCII Spasi//mengisikan karakter ASCII Spasi MOV BH,0MOV BH,0 //mengatur mode halaman layar//mengatur mode halaman layar MOV BL,44MOV BL,44 //44=merah 77=putih//44=merah 77=putih MOV CX,AMOV CX,A //panjang karakter bendera//panjang karakter bendera INT 10INT 10 //interupsi berhbgn layar//interupsi berhbgn layar INT 20INT 20 //mengakhiri program//mengakhiri program

Page 23: Pemograman Debug smk

Fungsi / ProsedureFungsi / Prosedure

Adalah suatu rutin program yg dilakukan Adalah suatu rutin program yg dilakukan utk mengerjakan suatu modul tertentu utk mengerjakan suatu modul tertentu yang merupakan bagian dari program yang merupakan bagian dari program induk.induk.

Program Induk…..

……. Fungsi

Page 24: Pemograman Debug smk

Implementasi Fungsi dalam Implementasi Fungsi dalam DEBUGDEBUG

Perintah CALL … RETPerintah CALL … RETDigunakan utk menjalankan suatu fungsiDigunakan utk menjalankan suatu fungsi

Perintah PUSH … POPPerintah PUSH … POPDigunakan utk menyimpan nilai Register Digunakan utk menyimpan nilai Register ke StackPointer dengan tujuan agar Nilai ke StackPointer dengan tujuan agar Nilai ini dapat di pakai kembali jika proses ini dapat di pakai kembali jika proses selesai.selesai.Push…Pop menganut sistem FILOPush…Pop menganut sistem FILO(First IN Last OUT)(First IN Last OUT)

Page 25: Pemograman Debug smk

Implementasi Call Ret pada Implementasi Call Ret pada Aplikasi BenderaAplikasi Bendera

Page 26: Pemograman Debug smk

Aplikasi Animasi dengan DebugAplikasi Animasi dengan Debug

Membuat Suatu karakter (huruf O=4F) Membuat Suatu karakter (huruf O=4F) bergerak dari pinggir kiri layar ke kanan bergerak dari pinggir kiri layar ke kanan layar di posisi tengah layarlayar di posisi tengah layar

Page 27: Pemograman Debug smk

TugasTugas