pemograman debug

27
Pemograman DEBUG Pemograman DEBUG

Upload: emelda

Post on 19-Mar-2016

98 views

Category:

Documents


0 download

DESCRIPTION

Pemograman DEBUG. Pengertian. DeBUG berasal dari kata The BUG yg berarti KUTU Program yg digunakan utk pelacakan sistem Komputer Menggunakan Bahasa Mesin (Assembler) utk pemogramannya Ditujukan langsung ke sistem Register Komputer (Memory Komputer). Sistem Register Komputer. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Pemograman DEBUG

Pemograman DEBUGPemograman DEBUG

Page 2: Pemograman DEBUG

PengertianPengertianDeBUG 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

Sistem Register KomputerSistem Register KomputerAda 8 macam registerAda 8 macam register

Register 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

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

Memulai DEBUGMemulai DEBUGDapat 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 EnterPindah Directory : CD\ lalu enterPindah Directory : CD\ lalu enterDari C:\> (prompt C) ketikkan DEBUG lalu Dari C:\> (prompt C) ketikkan DEBUG lalu

EnterEnterDengan tanda hypenation ( _ ) maka debug Dengan tanda hypenation ( _ ) maka debug

siap dioperasikansiap dioperasikan

Page 6: Pemograman DEBUG

Tampilan…Tampilan…

Page 7: Pemograman DEBUG

Perintah-perintah DEBUGPerintah-perintah DEBUGSecara 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

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

Register KomputerRegister KomputerAX (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

Dasar Pemograman AssemblerDasar Pemograman AssemblerMemulai 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

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 AX,02 atau MOV [register,nilai] Misalnya 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 lainnyaSintaxnya : ADD [register] misalnya ADD AXSintaxnya : ADD [register] misalnya ADD AX

Page 12: Pemograman DEBUG

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

Program AplikasiProgram Aplikasidengan DEBUG/Assemblerdengan DEBUG/Assembler

Page 14: Pemograman DEBUG

Menampilkan Informasi ke LayarMenampilkan Informasi ke Layar Interupsi 10 Service 9Interupsi 10 Service 9

Menampilkan 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

MisalnyaMisalnya

MOV AH,9MOV AH,9MOV AL,43MOV AL,43MOV BH,0MOV BH,0MOV BL,17MOV BL,17MOV CX,1MOV CX,1INT 10INT 10INT 20INT 20

Page 16: Pemograman DEBUG

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 layar//mengatur mode halaman layarMOV 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

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

MisalnyaMisalnya

MOV AH,2MOV AH,2MOV DH,C //nilai C = 12MOV DH,C //nilai C = 12MOV DL,24MOV DL,24MOV BH,0MOV BH,0INT 10INT 10INT 20INT 20

Page 19: Pemograman DEBUG

LatihanLatihanTampilkanlah 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

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

Tugas dan LatihanTugas dan LatihanBuatlah 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

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

Fungsi / ProsedureFungsi / ProsedureAdalah 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

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

Implementasi Call Ret pada Implementasi Call Ret pada Aplikasi BenderaAplikasi Bendera

Page 26: Pemograman DEBUG

Aplikasi Animasi dengan DebugAplikasi Animasi dengan DebugMembuat 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

TugasTugas