Program Bahasa Rakitan dengan DEBUG.COM

Slides:



Advertisements
Presentasi serupa
JWASM Input Keyboard.
Advertisements

Flags.
Pemograman DEBUG.
PERTEMUAN KE 5 OPERASI LOMPAT/JUMP.
OPERASI ARITMATIKA OPERASI PENAMBAHAN 1. ADD
ASSEMBLER PERTEMUAN KE-1
Turbo Assembly Operasi Aritmatika.
BAB IV MODE PENGALAMATAN
Tipe-Tipe Instruksi MCS-51 (Arithmatika)
Bhakti Yudho Suprapto, MT
Turbo Assembly Stack.
Turbo Assembly Compare and Jump.
REGISTER Oleh : Oman Somantri, S.Kom
Register di dalam 8088/8086 Nama Register Bit Katagori AX,BX,CX,DX 16
DEBUG.
Dasar pemrograman Mikroprosesor 8086
PENGAMBILAN KEPUTUSAN
Mode Pengalamatan Mengatasi keterbatasan format instruksi
PERTEMUAN KE-2 PERKULIAHAN SISTEM OPERASI
JWASM Mencetak angka.
BAHASA RAKITAN BAGIAN 3.
Johannes Simatupang, MKom, Cobit5-F NIDN :
REGISTER.
Bahasa RakitanABM 1 Kuliah 3: 3.1. Debugging dan TASM 3.2. Interrupt Kuliah 3: 3.1. Debugging dan TASM 3.2. Interrupt.
Mode Pengalamatan.
EE-2623 Mikroprosesor & Antarmuka
SISTEM BILANGAN DAN REGISTER
EE-2623 Mikroprosesor & Antarmuka
OPERASI ARITMATIKA.
Arsitektur Perangkat Lunak 8086
Dasar-Dasar Pemrograman Assembler
lnstruksi Aritmetika dan Logika
Praktikum 6.
Arsitektur Mikroprosessor 8086
Register.
Pertemuan 8 Instruksi Bahasa Rakitan 8088
1 Pertemuan 3 Komponen Sistem Komputer dan Register pada prosesor 8088 Matakuliah: T0483 / Bahasa Rakitan Tahun: 2005 Versi: versi 1.0 / revisi 1.0.
Pengenalan Assembler.
Dasar pemrograman Mikroprosesor 8086
Program Bahasa Rakitan dengan DEBUG.COM
BIOS, DOS, dan String.
Dasar-Dasar Pemrograman Assembler
Mode Pengalamatan Mengatasi keterbatasan format instruksi
EE-2623 Mikroprosesor & Antarmuka
ARSITEKTUR INTERNAL MIKROPROSESOR 8086
ARSITEKTUR INTERNAL MIKROPROSESOR 8086
SAP-3.
INSTRUKSI PENGAMBIL KEPUTUSAN DAN STACK
Struktur Register dan Metode Pengalamatan
REGISTER.
Mikroprosesor 8086 dan 8088.
ORGANISASI & ARSITEKTUR KOMPUTER 2 SET INSTRUKSI IBP WIDJA, MT
Sistem Bilangan & REGISTER
Mata Kuliah : Bahasa Rakitan
Pengenalan Assembler.
Instruksi-instruksi pada 8086
FLOW CONTROL INSTRUTIONS
OPERASI ARITMATIKA.
BAB III REGISTER 8088 Mikroprosesor 8088 berorientasi pada register
Pertemuan 6 Instruksi Bahasa Rakitan 8088
Model Hipotesis SAP-2 Abdillah, S.Si, MIT.
STACK.
Mode Pengalamatan Mulyono.
INSTRUKSI PENGAMBIL KEPUTUSAN DAN STACK
Operasi Aritmatika.
Pertemuan 4 Central Processing Unit
Struktur Register dan Metode Pengalamatan Memori
ARSITEKTUR INTERNAL MIKROPROSESOR 8086
INSTRUKSI PENGAMBIL KEPUTUSAN DAN STACK
CHAP 6 SET INSTRUKSI MEMORI
Transcript presentasi:

Program Bahasa Rakitan dengan DEBUG.COM Mata Kuliah : Bahasa Rakitan Materi ke-4 Program Bahasa Rakitan dengan DEBUG.COM

Perintah dan Fungsi dalam DEBUG.COM DEBUG, menjalankan program DEBUG : A> DEBUG nama file . COM Q (Quit), keluar dari program DEBUG : - Q H (Hexa), menjumlahkan dan mengurangkan dua bilangan Heksadesimal - H 2204 02012 4216 01F2 Hasil pengurangan Hasil penjumlahan

Perintah dan Fungsi dalam DEBUG.COM (cont.) R (Register), mengetahui isi masing-masing register -R AX=0000 BX=0000 CX=0000 DX=0000 … DS=0FD8 ES=0FD8 SS=0FD8 CS=0FD8… A (Assembler), perintah untuk masuk ke tempat penulisan program assembler. -A -A100 0AB4:0100 0AB4:0100

Perintah dan Fungsi dalam DEBUG.COM (cont.) N (Name), perintah untuk membuat nama program yang telah dibuat. Format : N [drive]:[nama program] -N B:COBA.COM RCX (Register CX), perintah untuk mengetahui dan memperbaiki isi register cx sebagai tempat penampungan panjang program yang sedang aktif. -RCX CX 0000 :0008

Perintah dan Fungsi dalam DEBUG.COM (cont.) RIP (Register IP), perintah yang memberi-tahukan komputer untuk mulai memroses program dari titik tertentu. Pada program debug selalu dimulai dari 0100 h. - RIP IP 0100 : 0100 W (Write), perintah yang digunakan untuk menulis program ke media penyimpanan. -W Writing 0008 bytes

Perintah dan Fungsi dalam DEBUG.COM (cont.) G (GO), perintah yang digunakan untuk menjalan-kan program. -G A Program terminated normally U (Unassemble), perintah untuk menampilkan deretan program yang sedang aktif sepanjang 21 H. Format : U [tempat awal unassemble] L [panjang program] -U 100 L 0D Ctrl+Print Screen, cetak ke printer

Perintah dan Fungsi dalam DEBUG.COM (cont.) T (Trace), perintah untuk memroses sebaris program saja. -A100 0AD2 : 0100 MOV DL,41 0AD2 : 0102 MOV AH,02 0AD2 : 0104 INT 21 0AD2 : 0106 INT 20 0AD2 : 0108 -RCX CX 0000 :08 -RIP IP 0100 : -G A Program terminated normally -T AX=0000 BX=0000 CX=0006 DX=0041 SP=FFEE BP=0000 SI=0000 DI=0000 DS=0AD2 ES=0AD2 SS=0AD2 CS=0AD2 IP=0102 NV UP EI PL NZ NA PO NC 0AD2 : 0102 CD21 INT 21

SET INSTRUKSI Intstruksi Transfer Data Instruksi Aritmetika Instruksi Looping Instruksi Jump Operasi Stack Operasi Logika

INSTRUKSI TRANSFER DATA MOV Format : MOV [operarand-1],[operand-2] Operand 1 : Register, Variabel, Lokasi Memory Operand 2 : Register, Variabel, Lokasi Memory, Bilangan MOV AH,AL ; menduplikatkan isi register AL ke register AH. Operand 1 : Register AH Operand 2 : Register AL

Instruksi Transfer Data (Cont.) MOV AH,02 ; memasukkan bilangan 02 ke register AH Operand 1 : Register AH Operand 2 : Bilangan 02

INSTRUKSI ARITMATIKA INC (Increment), operasi pertambahan dengan satu Format : INC [Register/Variabel] A = A + 1 DEC (Decrement), operasi pengurangan dengan satu Format : DEC [Variabel/Register] A = A – 1

Instruksi Aritmetika (Cont.) Operasi Pertambahan Selain Satu Format : ADD [operand-1, operand-2] ; menjumlahkan isi operand 1 dengan operand 2 dan hasil disimpan di operand 1 Operand 1 : Register, Variabel Operand 2 : Register, Variabel, Bilangan AH ………….. 10 AL ………….. 5 + AH …………. 15

Instruksi Aritmatika (Cont.) Operasi Pengurangan Selain Satu Format : SUB [OPERAND 1, OPERAND 2] mengurangkan isi operand 1 dengan operand 2 dan hasil disimpan di operand 1 Operand 1 : Register, Variabel Operand 2 : Register, Variabel, Bilangan AH …….. 15 AL …….. 10 - AH 5

Instruksi Aritmatika (Cont.) Operasi Perkalian 8 Bit Format : MUL [Register] mengalikan isi register BL dengan isi register AL dan hasil disimpan di register AX MUL BL BL ……… 04 AL ……… 08 x AX ……... 32

Instruksi Aritmatika (Cont.) Operasi Perkalian 16 Bit Format : MUL [REGISTER] ; mengalikan isi register BX dengan isi register AX, hasil disimpan di register AX dan DX MUL BX BX …………… 12900 AX …………… 10000 x DX AX … 129000000 = 7B0 6240 DX AX

Instruksi Aritmatika (Cont.) Operasi Pembagian 8 Bit Format : DIV [Register] membagi isi register AX dengan isi register BL dan hasil disimpan di register AL dan sisa di register AH DIV BL hasil sisa AL AH BL AX

Instruksi Aritmatika (Cont.) Operasi Pembagian 16 Bit Format : DIV [Register] membagi isi register DX :AX dengan isi register BX dan hasil pembagian dimasukkan dalam register DX sedangkan sisa hasil pembagian dimasukkan dalam register AX DIV BX hasil sisa DX AX BX DX:AX

INSTRUKSI LOOPING LOOP, instruksi Looping Format : LOOP [lokasi memori] Mengulang instrksi alamat memory * sebanyak 5 kali. Setiap kali pengulangan processor akan mengurangi isi register CX sampai 0. Kemudian proses akan berlanjut ke instruksi di bawah loop. CX = 5 …… LOOP * ……..

Instruksi Looping (Cont.) JMP, instruksi lompatan tak bersyarat Format : JMP[lokasi memori] Melakukan lompatan tanpa syarat ke lokasi memori segment : 0103 JMP 0103 CMP, instruksi lompatan bersyarat Format : CMP [operand-1],[operand-2] Operand-1 : variabel, register Operand-2 : variabel, register, lokasi memori, bilangan

Instruksi Looping (Cont.) Jenis-jenis Lompatan Bersyarat : JNS (Jump On Not Sign) JC (Jump On Carry) JNC (Jump On Not Carry) JCXZ (Jump If CX=0) JB (Jump If Below) JBE (Jump If Below or Equal) JNBE (Jump If Not Below or Equal) JZ (Jump On Zero) JNZ (Jump On Not Zero JS (Jump On Sign) JE (Jump If Equal) JNE (Jump If Not Equal) JG (Jump If Greater Than) JNG (Jump If Not Greater Than) JNGE (Jump If Not Greater or Equal) JE (Jump If Less Than) JLE (Jump If Less or Equal) JNL (Jump If Not Less Than) JNLE (Jump If Not Less or Equal) JA (Jump if Above) JNA (Jump If Not Above or Equal) JNAE (Jump If Not Above or Equal)

OPERASI STACK PUSH [register 16 bit] POP [register 16 bit] PUSHF POPF Operasi yang digunakan untuk menyimpan sementara suatu nilai pada alamat offset terakhir pada suatu segment Stack bersifat LIFO (Last In First Out) Beberapa contoh perintah yang digunakan dalam operasi stack : PUSH [register 16 bit] Digunakan untuk menyimnpan nilai di register 16 bit ke dalam stack POP [register 16 bit] Digunakan untuk mengambil kembali stack,kemudian disimpan di register 16 bit PUSHF Digunakan untuk menyimpan nilai flag register ke dalam stack POPF Digunakan untuk mengambil isi stack, kemudian disimpan di dalam flag register F.

OPERASI LOGIKA Beberapa Operasi Logika yang digunakan : AND OR XOR AND 1