SlideShare a Scribd company logo
1 of 27
Pemograman DEBUGPemograman DEBUG
PengertianPengertian
 DeBUG berasal dari kata The BUG ygDeBUG berasal dari kata The BUG yg
berarti KUTUberarti KUTU
Program yg digunakan utk pelacakan sistemProgram yg digunakan utk pelacakan sistem
KomputerKomputer
Menggunakan Bahasa Mesin (Assembler) utkMenggunakan Bahasa Mesin (Assembler) utk
pemogramannyapemogramannya
Ditujukan langsung ke sistem RegisterDitujukan langsung ke sistem Register
Komputer (Memory Komputer)Komputer (Memory Komputer)
Sistem Register KomputerSistem Register Komputer
 Ada 8 macam registerAda 8 macam register
Register A (AH dan ALRegister A (AH dan AL  AX)AX)
Register B (BH dan BLRegister B (BH dan BL  BX)BX)
Register C (CH dan CLRegister C (CH dan CL  CX)CX)
Register D (DH dan DLRegister D (DH dan DL  DX)DX)
Register ES dan CSRegister ES dan CS
Register DS (Data Segment)Register DS (Data Segment)
Register SP (Stack Pointer)Register SP (Stack Pointer)
Register F (Flag)Register F (Flag)
 Register yang paling umum digunakanRegister yang paling umum digunakan
dan terlibat langsung dalam operasidan terlibat langsung dalam operasi
Prosesor antara lain :Prosesor antara lain :
A (Accumulator) : digunakan untukA (Accumulator) : digunakan untuk
penampungan data umumpenampungan data umum
B (Base) : digunakan untuk nilai dasarB (Base) : digunakan untuk nilai dasar
C (Counter) : digunakan untuk nilaiC (Counter) : digunakan untuk nilai
pengulanganpengulangan
D (Data) : digunakan utk penyimpanan dataD (Data) : digunakan utk penyimpanan data
pengolahanpengolahan
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  RunRun  ketikkan CMD lalu Enterketikkan CMD lalu Enter
Pindah Directory : CD lalu enterPindah Directory : CD lalu enter
Dari C:> (prompt C) ketikkan DEBUG laluDari C:> (prompt C) ketikkan DEBUG lalu
EnterEnter
Dengan tanda hypenation ( _ ) maka debugDengan tanda hypenation ( _ ) maka debug
siap dioperasikansiap dioperasikan
Tampilan…Tampilan…
Perintah-perintah DEBUGPerintah-perintah DEBUG
 Secara umum perintah DEBUG dapatSecara 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 denganPerintah 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
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)
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)
 FlagFlag
 ESES
 IPIP
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 assemblermemori awal tempat program assembler
dibuat)dibuat)
xxxx:0100 _xxxx:0100 _
Perintah-perintah Dasar AssemblerPerintah-perintah Dasar Assembler
 MOV : memindahkan data dari regiterMOV : memindahkan data dari regiter 
register atau Registerregister atau Register  MemoryMemory
Sintaxnya :Sintaxnya :
MOV [register,nilai] Misalnya MOV AX,02 atauMOV [register,nilai] Misalnya MOV AX,02 atau
MOV [register,register] misalnya MOV AX,DXMOV [register,register] misalnya MOV AX,DX
 ADD : menambahkan isi register denganADD : menambahkan isi register dengan
Nilai register lainnyaNilai register lainnya
Sintaxnya : ADD [register] misalnya ADD AXSintaxnya : ADD [register] misalnya ADD AX
 INCINC
 DECDEC
 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
Program AplikasiProgram Aplikasi
dengan DEBUG/Assemblerdengan DEBUG/Assembler
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 denganWarna 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) danmisalnya 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
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
LatihanLatihan
 Tampilkan lah 10 huruf ATampilkan lah 10 huruf A
Penyelsaian :Penyelsaian :
MOV AH,9MOV AH,9 //mengisikan nilai service int10//mengisikan nilai service int10
MOV AL,41MOV AL,41 //mengisikan karakter ASCII A//mengisikan karakter ASCII A
MOV BH,0MOV BH,0 //mengatur mode halaman layar//mengatur mode halaman layar
MOV BL,17MOV BL,17 //mengatur warna tampilan//mengatur warna tampilan
MOV CX,AMOV CX,A //mengatur nilai pengulangan//mengatur nilai pengulangan
INT 10INT 10 //interupsi berhbgn layar//interupsi berhbgn layar
INT 20INT 20 //mengakhiri program//mengakhiri program
Mengatur Posisi KursorMengatur Posisi Kursor
 Interupsi 10 service 2Interupsi 10 service 2
 Data service diisikan pada register AHData service diisikan pada register AH
 Posisi Baris kursor diisikan pada registerPosisi Baris kursor diisikan pada register
DHDH
 Posisi Kolom Kursor diisikan pada registerPosisi Kolom Kursor diisikan pada register
DLDL
 Posisi halaman layar dibuat 0 dan diisikanPosisi halaman layar dibuat 0 dan diisikan
pada register BHpada register BH
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
LatihanLatihan
 Tampilkanlah satu huruf A berwarnaTampilkanlah satu huruf A berwarna
merah berlatar putih ditengah layarmerah berlatar putih ditengah layar
Asumsi : layar komputer mode textAsumsi : layar komputer mode text
berukuran resolusi 80x25 (kolomxbaris)berukuran resolusi 80x25 (kolomxbaris)
MOV AH,2MOV AH,2
MOV DH,CMOV DH,C //nilai C = 12//nilai C = 12  barisbaris
MOV DL,24MOV DL,24 //nilai 24= 36//nilai 24= 36  kolomkolom
MOV BH,0MOV BH,0
INT 10INT 10
MOV AH,9MOV AH,9 //mengisikan nilai service int10//mengisikan nilai service int10
MOV AL,41MOV AL,41 //mengisikan karakter ASCII A//mengisikan karakter ASCII A
MOV BH,0MOV BH,0 //mengatur mode halaman layar//mengatur mode halaman layar
MOV BL,47MOV BL,47 //mengatur warna tampilan//mengatur warna tampilan
MOV CX,1MOV CX,1 //mengatur nilai pengulangan//mengatur nilai pengulangan
INT 10INT 10 //interupsi berhbgn layar//interupsi berhbgn layar
INT 20INT 20 //mengakhiri program//mengakhiri program
Tugas dan LatihanTugas dan Latihan
 Buatlah tampilan Bendera Merah Putih diBuatlah tampilan Bendera Merah Putih di
Sudut Kanan Atas, panjang bendera 10Sudut Kanan Atas, panjang bendera 10
karakter. (ASCII karakter kosong/spasikarakter. (ASCII karakter kosong/spasi
adalah 20)adalah 20)
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  kolomkolom
 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
Fungsi / ProsedureFungsi / Prosedure
 Adalah suatu rutin program yg dilakukanAdalah suatu rutin program yg dilakukan
utk mengerjakan suatu modul tertentuutk mengerjakan suatu modul tertentu
yang merupakan bagian dari programyang merupakan bagian dari program
induk.induk.
Program Induk
…..
……. Fungsi
Implementasi Fungsi dalamImplementasi Fungsi dalam
DEBUGDEBUG
 Perintah CALL … RETPerintah CALL … RET
Digunakan utk menjalankan suatu fungsiDigunakan utk menjalankan suatu fungsi
 Perintah PUSH … POPPerintah PUSH … POP
Digunakan utk menyimpan nilai RegisterDigunakan utk menyimpan nilai Register
ke StackPointer dengan tujuan agar Nilaike StackPointer dengan tujuan agar Nilai
ini dapat di pakai kembali jika prosesini 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)
Implementasi Call Ret padaImplementasi Call Ret pada
Aplikasi BenderaAplikasi Bendera
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 kananbergerak dari pinggir kiri layar ke kanan
layar di posisi tengah layarlayar di posisi tengah layar
TugasTugas

More Related Content

What's hot

Awal dasar belajar c++
Awal dasar belajar c++Awal dasar belajar c++
Awal dasar belajar c++farizky berian
 
05 pengenalan c++
05   pengenalan c++05   pengenalan c++
05 pengenalan c++Budi Yono
 
D3 modul algol_&_pemrog_i_c++
D3 modul algol_&_pemrog_i_c++D3 modul algol_&_pemrog_i_c++
D3 modul algol_&_pemrog_i_c++Paulino Guterres
 
Algoritma
Algoritma Algoritma
Algoritma Mr. FM
 
Langkah Dasar Pemrograman pada Aplikasi Dev C++
Langkah Dasar Pemrograman pada Aplikasi Dev C++Langkah Dasar Pemrograman pada Aplikasi Dev C++
Langkah Dasar Pemrograman pada Aplikasi Dev C++Ishardi Nassogi
 
Intermediate code kode antara
Intermediate code   kode antaraIntermediate code   kode antara
Intermediate code kode antaraGunawan Manalu
 
Logika algoritma
Logika algoritmaLogika algoritma
Logika algoritmairwanhs
 
Tugas praktikum algoritma modul 1 faisal al zamar
Tugas praktikum algoritma modul 1 faisal al zamarTugas praktikum algoritma modul 1 faisal al zamar
Tugas praktikum algoritma modul 1 faisal al zamarFaisal Zamar
 
6. analisis semantik
6. analisis semantik6. analisis semantik
6. analisis semantikyuster92
 
Materi kuliah 18 fungsi part 1
Materi kuliah 18   fungsi part 1Materi kuliah 18   fungsi part 1
Materi kuliah 18 fungsi part 1Budi Yono
 
Modul tentang aritmatika dengan pascal
Modul tentang aritmatika dengan pascalModul tentang aritmatika dengan pascal
Modul tentang aritmatika dengan pascalqwerty127
 
Mp 4 mode-pengalamatan
Mp 4 mode-pengalamatanMp 4 mode-pengalamatan
Mp 4 mode-pengalamatanOlbers Letfaar
 
Tugas so2 fitriana bakar044
Tugas so2 fitriana bakar044Tugas so2 fitriana bakar044
Tugas so2 fitriana bakar044charis_fit
 
C programming language notes (5)
C programming language notes (5)C programming language notes (5)
C programming language notes (5)nakomuri
 
Pengenalan c++
Pengenalan c++Pengenalan c++
Pengenalan c++melmaila
 

What's hot (19)

Awal dasar belajar c++
Awal dasar belajar c++Awal dasar belajar c++
Awal dasar belajar c++
 
05 pengenalan c++
05   pengenalan c++05   pengenalan c++
05 pengenalan c++
 
D3 modul algol_&_pemrog_i_c++
D3 modul algol_&_pemrog_i_c++D3 modul algol_&_pemrog_i_c++
D3 modul algol_&_pemrog_i_c++
 
Algoritma
Algoritma Algoritma
Algoritma
 
Langkah Dasar Pemrograman pada Aplikasi Dev C++
Langkah Dasar Pemrograman pada Aplikasi Dev C++Langkah Dasar Pemrograman pada Aplikasi Dev C++
Langkah Dasar Pemrograman pada Aplikasi Dev C++
 
Intermediate code kode antara
Intermediate code   kode antaraIntermediate code   kode antara
Intermediate code kode antara
 
Logika algoritma
Logika algoritmaLogika algoritma
Logika algoritma
 
Tugas sp algo
Tugas sp algoTugas sp algo
Tugas sp algo
 
Kompilasi13 ka p (1)
Kompilasi13 ka p (1)Kompilasi13 ka p (1)
Kompilasi13 ka p (1)
 
Tugas praktikum algoritma modul 1 faisal al zamar
Tugas praktikum algoritma modul 1 faisal al zamarTugas praktikum algoritma modul 1 faisal al zamar
Tugas praktikum algoritma modul 1 faisal al zamar
 
What's about Dev-C++
What's about Dev-C++What's about Dev-C++
What's about Dev-C++
 
Kompilasi13 ka p (2)
Kompilasi13 ka p (2)Kompilasi13 ka p (2)
Kompilasi13 ka p (2)
 
6. analisis semantik
6. analisis semantik6. analisis semantik
6. analisis semantik
 
Materi kuliah 18 fungsi part 1
Materi kuliah 18   fungsi part 1Materi kuliah 18   fungsi part 1
Materi kuliah 18 fungsi part 1
 
Modul tentang aritmatika dengan pascal
Modul tentang aritmatika dengan pascalModul tentang aritmatika dengan pascal
Modul tentang aritmatika dengan pascal
 
Mp 4 mode-pengalamatan
Mp 4 mode-pengalamatanMp 4 mode-pengalamatan
Mp 4 mode-pengalamatan
 
Tugas so2 fitriana bakar044
Tugas so2 fitriana bakar044Tugas so2 fitriana bakar044
Tugas so2 fitriana bakar044
 
C programming language notes (5)
C programming language notes (5)C programming language notes (5)
C programming language notes (5)
 
Pengenalan c++
Pengenalan c++Pengenalan c++
Pengenalan c++
 

Viewers also liked

Principles of a Good CALL (resources)
Principles of a Good CALL (resources)Principles of a Good CALL (resources)
Principles of a Good CALL (resources)AngelMassEscobedo
 
Media studies evaluation 2
Media studies evaluation 2Media studies evaluation 2
Media studies evaluation 2James Hadley
 
Bourgeois_LeLinda_Multimedia_updated_June_2016
Bourgeois_LeLinda_Multimedia_updated_June_2016Bourgeois_LeLinda_Multimedia_updated_June_2016
Bourgeois_LeLinda_Multimedia_updated_June_2016BourgeoisPhotography
 
Tasty alphabet mod
Tasty  alphabet modTasty  alphabet mod
Tasty alphabet modlupecole
 
Aarseth -non-linearity and literary theory
Aarseth -non-linearity and literary theoryAarseth -non-linearity and literary theory
Aarseth -non-linearity and literary theoryShiva Irooni
 
Timeline greek art
Timeline greek artTimeline greek art
Timeline greek artximefgh
 
Linked In Marketing Solutions Overview
Linked In Marketing Solutions OverviewLinked In Marketing Solutions Overview
Linked In Marketing Solutions OverviewRaul Pellerano
 
Timeline greek art
Timeline greek artTimeline greek art
Timeline greek artximefgh
 

Viewers also liked (11)

Principles of a Good CALL (resources)
Principles of a Good CALL (resources)Principles of a Good CALL (resources)
Principles of a Good CALL (resources)
 
Media studies evaluation 2
Media studies evaluation 2Media studies evaluation 2
Media studies evaluation 2
 
Bourgeois_LeLinda_Multimedia_updated_June_2016
Bourgeois_LeLinda_Multimedia_updated_June_2016Bourgeois_LeLinda_Multimedia_updated_June_2016
Bourgeois_LeLinda_Multimedia_updated_June_2016
 
Tasty alphabet mod
Tasty  alphabet modTasty  alphabet mod
Tasty alphabet mod
 
Principles of a Good CALL
Principles of a Good CALLPrinciples of a Good CALL
Principles of a Good CALL
 
2
22
2
 
Aarseth -non-linearity and literary theory
Aarseth -non-linearity and literary theoryAarseth -non-linearity and literary theory
Aarseth -non-linearity and literary theory
 
Timeline greek art
Timeline greek artTimeline greek art
Timeline greek art
 
Linked In Marketing Solutions Overview
Linked In Marketing Solutions OverviewLinked In Marketing Solutions Overview
Linked In Marketing Solutions Overview
 
2
22
2
 
Timeline greek art
Timeline greek artTimeline greek art
Timeline greek art
 

Similar to DEBUG

Similar to DEBUG (20)

Mp 4 mode-pengalamatan
Mp 4 mode-pengalamatanMp 4 mode-pengalamatan
Mp 4 mode-pengalamatan
 
So anita putri
So anita putriSo anita putri
So anita putri
 
ARMAN RIDWANSYAH
ARMAN RIDWANSYAH ARMAN RIDWANSYAH
ARMAN RIDWANSYAH
 
Modul praktikum Bahasa assembly
Modul praktikum Bahasa assemblyModul praktikum Bahasa assembly
Modul praktikum Bahasa assembly
 
Tutor Tasm2
Tutor Tasm2Tutor Tasm2
Tutor Tasm2
 
pendahuluanv2.ppt
pendahuluanv2.pptpendahuluanv2.ppt
pendahuluanv2.ppt
 
Bab 1 Asas Pengaturcaraan (MALAYSIA) G-Vecom
Bab 1 Asas Pengaturcaraan (MALAYSIA) G-VecomBab 1 Asas Pengaturcaraan (MALAYSIA) G-Vecom
Bab 1 Asas Pengaturcaraan (MALAYSIA) G-Vecom
 
4. bahasa-rakitan[3]
4. bahasa-rakitan[3]4. bahasa-rakitan[3]
4. bahasa-rakitan[3]
 
Pengenalan Bahasa C
Pengenalan Bahasa CPengenalan Bahasa C
Pengenalan Bahasa C
 
KIKI ANDRESTA PUTRI
KIKI ANDRESTA PUTRIKIKI ANDRESTA PUTRI
KIKI ANDRESTA PUTRI
 
E1 e117049 nurfadhila fahmi_tugas3
E1 e117049 nurfadhila fahmi_tugas3E1 e117049 nurfadhila fahmi_tugas3
E1 e117049 nurfadhila fahmi_tugas3
 
Operasi aritmatika
Operasi aritmatikaOperasi aritmatika
Operasi aritmatika
 
Bahasa Pemprograman c
Bahasa Pemprograman cBahasa Pemprograman c
Bahasa Pemprograman c
 
Modul praktikum instruksi dasar
Modul praktikum instruksi dasarModul praktikum instruksi dasar
Modul praktikum instruksi dasar
 
Pengenalan konsep pemrograman
Pengenalan konsep pemrogramanPengenalan konsep pemrograman
Pengenalan konsep pemrograman
 
Program residen dan non residen(rev.1)
Program residen dan non residen(rev.1)Program residen dan non residen(rev.1)
Program residen dan non residen(rev.1)
 
Program residen dan non residen
Program residen dan non residenProgram residen dan non residen
Program residen dan non residen
 
Membangun Aplikasi Database Oracle Menggunakan Visual Basic
Membangun Aplikasi Database Oracle Menggunakan Visual BasicMembangun Aplikasi Database Oracle Menggunakan Visual Basic
Membangun Aplikasi Database Oracle Menggunakan Visual Basic
 
Algoritma dan Pemrograman
Algoritma dan PemrogramanAlgoritma dan Pemrograman
Algoritma dan Pemrograman
 
Bahasa Pemrograman dan Script
Bahasa Pemrograman dan ScriptBahasa Pemrograman dan Script
Bahasa Pemrograman dan Script
 

DEBUG

  • 2. PengertianPengertian  DeBUG berasal dari kata The BUG ygDeBUG berasal dari kata The BUG yg berarti KUTUberarti KUTU Program yg digunakan utk pelacakan sistemProgram yg digunakan utk pelacakan sistem KomputerKomputer Menggunakan Bahasa Mesin (Assembler) utkMenggunakan Bahasa Mesin (Assembler) utk pemogramannyapemogramannya Ditujukan langsung ke sistem RegisterDitujukan langsung ke sistem Register Komputer (Memory Komputer)Komputer (Memory Komputer)
  • 3. Sistem Register KomputerSistem Register Komputer  Ada 8 macam registerAda 8 macam register Register A (AH dan ALRegister A (AH dan AL  AX)AX) Register B (BH dan BLRegister B (BH dan BL  BX)BX) Register C (CH dan CLRegister C (CH dan CL  CX)CX) Register D (DH dan DLRegister D (DH dan DL  DX)DX) Register ES dan CSRegister ES dan CS Register DS (Data Segment)Register DS (Data Segment) Register SP (Stack Pointer)Register SP (Stack Pointer) Register F (Flag)Register F (Flag)
  • 4.  Register yang paling umum digunakanRegister yang paling umum digunakan dan terlibat langsung dalam operasidan terlibat langsung dalam operasi Prosesor antara lain :Prosesor antara lain : A (Accumulator) : digunakan untukA (Accumulator) : digunakan untuk penampungan data umumpenampungan data umum B (Base) : digunakan untuk nilai dasarB (Base) : digunakan untuk nilai dasar C (Counter) : digunakan untuk nilaiC (Counter) : digunakan untuk nilai pengulanganpengulangan D (Data) : digunakan utk penyimpanan dataD (Data) : digunakan utk penyimpanan data pengolahanpengolahan
  • 5. 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  RunRun  ketikkan CMD lalu Enterketikkan CMD lalu Enter Pindah Directory : CD lalu enterPindah Directory : CD lalu enter Dari C:> (prompt C) ketikkan DEBUG laluDari C:> (prompt C) ketikkan DEBUG lalu EnterEnter Dengan tanda hypenation ( _ ) maka debugDengan tanda hypenation ( _ ) maka debug siap dioperasikansiap dioperasikan
  • 7. Perintah-perintah DEBUGPerintah-perintah DEBUG  Secara umum perintah DEBUG dapatSecara 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 denganPerintah 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
  • 8. 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)
  • 9. 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)  FlagFlag  ESES  IPIP
  • 10. 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 assemblermemori awal tempat program assembler dibuat)dibuat) xxxx:0100 _xxxx:0100 _
  • 11. Perintah-perintah Dasar AssemblerPerintah-perintah Dasar Assembler  MOV : memindahkan data dari regiterMOV : memindahkan data dari regiter  register atau Registerregister atau Register  MemoryMemory Sintaxnya :Sintaxnya : MOV [register,nilai] Misalnya MOV AX,02 atauMOV [register,nilai] Misalnya MOV AX,02 atau MOV [register,register] misalnya MOV AX,DXMOV [register,register] misalnya MOV AX,DX  ADD : menambahkan isi register denganADD : menambahkan isi register dengan Nilai register lainnyaNilai register lainnya Sintaxnya : ADD [register] misalnya ADD AXSintaxnya : ADD [register] misalnya ADD AX
  • 12.  INCINC  DECDEC  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
  • 13. Program AplikasiProgram Aplikasi dengan DEBUG/Assemblerdengan DEBUG/Assembler
  • 14. 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 denganWarna 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) danmisalnya 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
  • 15. 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
  • 16. LatihanLatihan  Tampilkan lah 10 huruf ATampilkan lah 10 huruf A Penyelsaian :Penyelsaian : MOV AH,9MOV AH,9 //mengisikan nilai service int10//mengisikan nilai service int10 MOV AL,41MOV AL,41 //mengisikan karakter ASCII A//mengisikan karakter ASCII A MOV BH,0MOV BH,0 //mengatur mode halaman layar//mengatur mode halaman layar MOV BL,17MOV BL,17 //mengatur warna tampilan//mengatur warna tampilan MOV CX,AMOV CX,A //mengatur nilai pengulangan//mengatur nilai pengulangan INT 10INT 10 //interupsi berhbgn layar//interupsi berhbgn layar INT 20INT 20 //mengakhiri program//mengakhiri program
  • 17. Mengatur Posisi KursorMengatur Posisi Kursor  Interupsi 10 service 2Interupsi 10 service 2  Data service diisikan pada register AHData service diisikan pada register AH  Posisi Baris kursor diisikan pada registerPosisi Baris kursor diisikan pada register DHDH  Posisi Kolom Kursor diisikan pada registerPosisi Kolom Kursor diisikan pada register DLDL  Posisi halaman layar dibuat 0 dan diisikanPosisi halaman layar dibuat 0 dan diisikan pada register BHpada register BH
  • 18. 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
  • 19. LatihanLatihan  Tampilkanlah satu huruf A berwarnaTampilkanlah satu huruf A berwarna merah berlatar putih ditengah layarmerah berlatar putih ditengah layar Asumsi : layar komputer mode textAsumsi : layar komputer mode text berukuran resolusi 80x25 (kolomxbaris)berukuran resolusi 80x25 (kolomxbaris)
  • 20. MOV AH,2MOV AH,2 MOV DH,CMOV DH,C //nilai C = 12//nilai C = 12  barisbaris MOV DL,24MOV DL,24 //nilai 24= 36//nilai 24= 36  kolomkolom MOV BH,0MOV BH,0 INT 10INT 10 MOV AH,9MOV AH,9 //mengisikan nilai service int10//mengisikan nilai service int10 MOV AL,41MOV AL,41 //mengisikan karakter ASCII A//mengisikan karakter ASCII A MOV BH,0MOV BH,0 //mengatur mode halaman layar//mengatur mode halaman layar MOV BL,47MOV BL,47 //mengatur warna tampilan//mengatur warna tampilan MOV CX,1MOV CX,1 //mengatur nilai pengulangan//mengatur nilai pengulangan INT 10INT 10 //interupsi berhbgn layar//interupsi berhbgn layar INT 20INT 20 //mengakhiri program//mengakhiri program
  • 21. Tugas dan LatihanTugas dan Latihan  Buatlah tampilan Bendera Merah Putih diBuatlah tampilan Bendera Merah Putih di Sudut Kanan Atas, panjang bendera 10Sudut Kanan Atas, panjang bendera 10 karakter. (ASCII karakter kosong/spasikarakter. (ASCII karakter kosong/spasi adalah 20)adalah 20)
  • 22. 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  kolomkolom  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
  • 23. Fungsi / ProsedureFungsi / Prosedure  Adalah suatu rutin program yg dilakukanAdalah suatu rutin program yg dilakukan utk mengerjakan suatu modul tertentuutk mengerjakan suatu modul tertentu yang merupakan bagian dari programyang merupakan bagian dari program induk.induk. Program Induk ….. ……. Fungsi
  • 24. Implementasi Fungsi dalamImplementasi Fungsi dalam DEBUGDEBUG  Perintah CALL … RETPerintah CALL … RET Digunakan utk menjalankan suatu fungsiDigunakan utk menjalankan suatu fungsi  Perintah PUSH … POPPerintah PUSH … POP Digunakan utk menyimpan nilai RegisterDigunakan utk menyimpan nilai Register ke StackPointer dengan tujuan agar Nilaike StackPointer dengan tujuan agar Nilai ini dapat di pakai kembali jika prosesini 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)
  • 25. Implementasi Call Ret padaImplementasi Call Ret pada Aplikasi BenderaAplikasi Bendera
  • 26. 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 kananbergerak dari pinggir kiri layar ke kanan layar di posisi tengah layarlayar di posisi tengah layar