1 / 15

DEBUG

DEBUG. DEBUG. Pembuatan program dengan menggunakan bahasa Assembly : Debug Macro Assembler (TASM) Semua bilangan dalam DEBUG menggunakan heksadesimal Hanya untuk program singkat (1 segment = 64 KB) dengan extension .COM Komentar  ; C: > DEBUG <enter>. Operand.

saburo
Télécharger la présentation

DEBUG

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. DEBUG

  2. DEBUG • Pembuatan program dengan menggunakan bahasa Assembly : • Debug • Macro Assembler (TASM) • Semua bilangan dalam DEBUG menggunakanheksadesimal • Hanya untuk program singkat (1 segment = 64 KB) dengan extension .COM • Komentar  ; • C:>DEBUG <enter>

  3. Operand • Operand bisa berupa register, variabel, memory location atau immediate value 10 (immediate value) count (variable/label) [tidak didukung di DEBUG] ax (register) [0200] (memory location) • Assembly language terdiri dari instruction dan operand clc ; hanya mnemonic inc ax ; single operand mov ax,bx ; double operand

  4. A (Assemble) • Format : A address Address = alamat untuk memulai membuat program • Tujuan : untuk membuat program langsung ke memori • Contoh – A 100 CS : 100 • Catatan : tombol ENTER akan meneruskan ke baris berikutnya dari program, jika selesai membuat program, tekan ENTER pada baris yang kosong berikutnya untuk kembali ke prompt DEBUG

  5. E (Enter) • Format : E address [data] Address = alamat untuk menampung data • Tujuan : untuk mengisikan data langsung ke memori • Contoh: • - E200 • - E 250 12 34 56 • Catatan : data dimasukkan sebagai kode heksadesimal. Jika data tidak disediakan dari awal, isikan per byte dan gunakan tombol SPASI untuk pindah ke byte berikutnya. Akhiri pemasukan data dengan ENTER.

  6. G (Go) • Format : G = address1 [address2] Jika [address1] dan [address2] didefinisikan maka program akan dijalankan mulai dari address1 sampai addres 2 • Tujuan : untuk menjalankan program yang ada dalam memori • Contoh : - G = 200 240 (menjalankan program mulai CS : 200 dan berakhir pada alamat CS : 240) - G A Program terminated normally

  7. R (Register) • Format : R [nama register] • Tujuan : menampilkan dan mengubah isi register • Contoh - R untuk mengetahui isi dari masing-masing register - R CX menampilkan dan memperbaiki isi dari register CX

  8. T (Trace) • Format : T = [address] [value] [address] adl alamat awal tempat dilakukan trace; [value] banyaknya instruksi yang akan dijalankan • Tujuan : menjalankan program sambil menampilkan register yang dipakai • Contoh - T hanya untuk memproses satu baris program - T 102 3 akan memeriksa tiga instruksi pertama, mulai alamat CS : 102

  9. Q (Quit) • Format : Q • Tujuan : keluar dari DEBUG tanpa melakukan perekaman • Contoh : - Q

  10. Contoh program #1 Perhatikan alamat memori masing-masing. Apakah sama dengan contoh di samping? Bagaimana dengan selisih offset tiap baris? - a100 0B0A:0100 mov ax,5 0B0A:0103 add ax,10 0B0A:0106 add ax,20 0B0A:0109 mov [0200],ax 0B0A:010C int 20 0B0A:010E - R ; menampilkan register - T ; trace satu instruksi - T - T - P ; eksekusi program - Q ; kembali ke DOS

  11. D (Dump) • Menampilkan isi memori sebagai data

  12. U (UnAssemble) • Menampilkan isi memori sebagai kode assembly

  13. INT 21 (Fungsi 2) • Format : INT 21 • Input: • AH: 02 (nomor fungsi) • DL: kode karakter (dalam heksadesimal di DEBUG) • Tujuan : menulis karakter ke layar komputer

  14. INT 20 • Format : INT 20 • Tujuan : menghentikan program

  15. Contoh Program #2 Apakah yang dilakukan program di samping? - a 100 136F:0100 mov dl,48 136F:0102 mov ah,02 136F:0104 int 21 136F:0106 mov dl,45 136F:0108 mov ah,02 136F:010A int 21 136F:010C mov dl,4c 136F:010E mov ah,02 136F:0110 int 21 136F:0112 mov dl,4c 136F:0114 mov ah,02 136F:0116 int 21 136F:0118 mov dl,4f 136F:011A mov ah,02 136F:011C int 21 136F:011E int 20

More Related