laporan bahasa assembly

Upload: habdi-rizki

Post on 17-Oct-2015

300 views

Category:

Documents


1 download

DESCRIPTION

cetak huruf / karakter dalam assembly

TRANSCRIPT

I. Mencetak Huruf / Karakter Dengan DEBUG

1. Tujuan Praktikuma. Membuat output huruf A dan B dalam program debugb. Memberi nama suatu program(file)

2. Dasar TeoriDebug adalah suatu program yang berguna untuk menguji suatu program dengan cara melacak instruksi demi instruksi dari awal hingga akhir program. Setiap eksekusi satu instruksi dapat dilihat perubahan yang terjadi pada isi suatu memori atau register yang ada hubungannnya dengan instruksi yang telah dilaksanakan tersebut.Perintah-perintah yang ada dalam program debug antara lain adalah:

1.D (Dump): menampilkan isi memori.2.R (Register) : menampilkan atau mengganti isi register.3.E (Enter) : menulis atau mengganti isi memori.,4.F (Fill) : menulis satu blok memori dengan data yang sama.5.N (Name) : memberi nama file.6.L (Load) : memindahkan suatu file yang ada disket ke memori untuk di debug.7.T ( Trace) : eksekusi program per intruksi.8.G (Go) : eksekusi program keseluruhan.9.A (Asamble) : memasukan atau menulis mnemonic ke memori.10.U(unasemble) :menterjemahkan dari mnemonic ke kode mesinnya yang sesuai.

3. Langkah Percobaan 1, Mencetak Karakter A & B

1. Untuk memulai program debug, dapat dijalankan melalui tombol Windows + R, kemudian ketikkan cmd, lalu ketik debug untuk memulainya, seperti pada gambar dibawah ini

2. Setelah mengetikkan debug, maka akan muncul garis ( - ) yang berarti debug siap dijalankan.3. Selanjutnya, untuk menjalankan perintah dan menampilkan karakter / huruf A, ketik perintah seperti berikut -a100 ;Untuk memulai program di alamat offset 100mov ah,02 ;Memasukkan nilai 02h ke register AH sebagai nilai Servicemov dl,41 ;Memasukkan nilai 41 ( "A" ) ke register DLint 21 ;Eksekusiint 20 ;Program dihentikanrcx8ncoba.comwq

setelah selesai,untuk membuktikannya silahkan mengetikkan nama file .com yang telah dibuat tadi.

C:\coba.comAC:\Atau seperti dalam gambar berikut ini

4. Kemudian ketikkan U100 yang berfungsi untuk menampilkan listing program bahasa mesin yang telah dibuat.

5. Karena mov dl,41 yang merupakan kode ASCII dari A dibuat pada offset 102, maka kita dapat melihat offset 102 yang sudah terisi mov dl,41 seperti pada gambar diatas.6. Untuk menampilkan huruf B, kode ASCII dari huruf B adalah mov dl,42, maka kita dapat mengulangi langkah ke-3 dengan mengubah angka pada mov dl,41 menjadi mov dl,42.

7. Setelah selesai, tekan q untuk keluar dari debug, kemudian ketik nama file ncoba.com, sehingga akan menampilkan karakter B.

Penjelasan program perbarisnya adalah:- MOV AH, 02Hasil pelaksanaan perintah adalah berubahnya isi register AX, khususnya pada high byte nya. Dapat dilihat di utility Debug yang memproses setiap barisnya dengan menggunakan perintah T (trace) sebagai berikut:-TAX=0200 BX=0000 CX=0008 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000DS=0B2E ES=0B2E SS=0B2E CS=0B2E IP=0102 NV UP DI PL NZ NA PO NC0B2E:0102 B242 MOV DL, 42- MOV DL, 42Setelah mengubah isi register AH kemudian mengisikan register DL dengan kode ASCII 42 hexa yaitu huruf A besar.AX=0200 BX=0000 CX=0008 DX=0042 SP=CE2E BP=0000 SI=0000 DI=0000DS=0B2E ES=0B2E SS=0B2E CS=0B2E IP=0102 NV UP DI PL NZ NA PO NC0B2E:0104 CD21 INT 21Kemudian hasilnya akan dicetak yaitu berupa huruf A menggunakan perintah interrupt 21 dengan service 02h-TAAX=0241 BX=0000 CX=0008 DX=0041 SP=CE2E BP=0000 SI=0000 DI=0000DS=0FD8 ES=0FD8 SS=0FD8 CS=0FD8 IP=0102 NV UP DI PL NZ NA PO NC0FD8:0106 CD20 INT 20

Mengakhiri program dengan perintah int 20h dan akan memberikan pesan Program terminated normally yang menandakan bahwa program berhenti semestinya.

Langkah Percobaan 2, Mencetak Karakter Beserta Atribut

Sebuah karakter disertai dengan warna tentunya akan lebih menarik. Untukitu anda bisa menggunakan interupsi ke 10h dengan aturan pemakaiannya : INPUT AH = 09h AL = Kode ASCII dari karakter yang akan dicetak BH = Nomor halaman(0 untuk halaman 1) BL = Atribut atau warna dari karakter yang akan dicetak CX = Banyaknya karakter tersebut akan dicetak Setelah semua register dimasukkan nilainya maka lakukanlah interupsi 10h. Perlu kita perhatikan bahwa interupsi ini mencetak karakter tanpa menggerakkan kursor.

1. Langkah pertama adalah menjalankan debug, sama seperti langkah sebelumnya.2. Kemudian masukkan set instruksi :

-a1000B2E:0100 mov ah,090B2E:0102 mov al,410B2E:0104 mov bh,000B2E:0106 mov bl,930B2E:0108 mov cl,30B2E:010A int 100B2E:010C int 200B2E:010E-rcxCX 0000:8-ncoba.com-RIPIP 0100:100-wWriting 00008 bytes-GAAAProgram terminated normally-q

3. Setelah memasukkan instruksi seperti diatas, maka akan menghasilkan output cetakan huruf A sebanya 3 kali dengan latar belakang biru dan dengan warna atribut cyan.4. Instruksi mov al,41 artinya mengisikan kode ASCII A5. Mov bh,00 artinya adalah mengatur mode halaman6. Mov bl,93 artinya adalah mengatur warna tampilan yang akan dicetak7. Mov cl,3 artinya berapa banyak nilai pengulangan yang akan dicetak.8. Int 10, adalah perintah untuk mengeksekusi perintah.9. Int 20 berarti program siap dijalankan dan kembali ke DOS.10. Kemudian periksa panjang program dengan perintah RCX, dan akan terlihat sebagai berikut:-RCXCX 0000: 811. Isi kursor dengan angka 8 kemudian Enter. Beri nama program dengan perintah N (Name) yang bernama coba.com, seperti berikut:-ncoba.com.12. Lihat kembali awal program dengan perintah RIP, apakah berisi 0100, jika tidak maka isilah dengan angka tersebut:-RIPIP 0102:10013. Gunakan perintah W (Write) untuk menulis ke disk computer, seperti dibawah ini:- WWriting 0008 bytes14. Untuk memproses program (compile) gunakan perintah G (Go)- GAAAProgram terminated normallyOutput program tersebut adalah huruf A. Dijelaskan pula, bahwa program berhenti secara normal.

Langkah Percobaan 3, Mencetak beberapa karakter dengan Loop

Untuk mencetak beberapa karakter, bisa kita gunakan proses looping atau pengulangan. Contoh :;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; ; PROGRAM : ABC0.ASM ; ; FUNGSI : MENCETAK 16 BUAH ; ; KARAKTER DENGAN ; ; INT 21h SERVIS 02 ; ;==========================Sto=; .MODEL SMALL .CODE ORG 100h Proses : MOV AH,02h ; Nilai servis MOV DL,'A' ; DL=karakter 'A' atau DL=41h MOV CX,10h ; Banyaknya pengulangan yang akan Ulang : INT 21h ; Cetak karakter !! INC DL ; Tambah DL dengan 1 LOOP Ulang ; Lompat ke Ulang INT 20h END Proses

Bila program dijalankan maka akan ditampilkan ABCDEFGHIJKLMNOP, Perintah INC DLakan menambah register DL dengan 1, seperti intruksi ,DL:=DL+1 dalam Pascal. Contoh diatas adalah menggunakan asm yang dicompile sehingga menjadi .obj,.com dan .exe, untuk menjalankan program diatas dengan debug, langkah-langkahnya adalah sebagai berikut :1. Menjalankan debug melalui Windows + Run / command prompt2. Kemudian ketikkan perintah debug untuk memulai program debug3. Selanjutnya masukkan perintah :

C:\Users\habdi_rizki>debug-a1000B38:0100 mov ah,02; mengisikan nilai 02 ke register AH0B38:0102 mov dl,41; memasukkan kode ASCII huruf A0B38:0104 mov cl,a; mengatur banyaknya pengulangan0B38:0106 int 21; untuk mencetak karakter0B38:0108 inc dl; tambah nilai dl dengan 10B38:010A loop 0106; ulangi offset 01060B38:010C int 20; menghentikan program .com0B38:010EKemudian periksa panjang program dengan perintah RCX, dan akan terlihat sebagai berikut:-RCXCX 0000: 8Isi kursor dengan angka 8 kemudian Enter. Beri nama program dengan perintah N (Name) yang bernama coba.com, seperti berikut:-ncoba.comLihat kembali awal program dengan perintah RIP, apakah berisi 0100, jika tidak maka isilah dengan angka tersebut:-RIPIP 0108:100Gunakan perintah W (Write) untuk menulis ke disk computer, seperti contoh dibawah ini:- wWriting 0008 bytesUntuk memproses program (compile) gunakan perintah G (Go).-g, maka langsung akan ditampilkanABCDEFGHIJProgram terminated normally

Output program tersebut adalah huruf A J,sesuai dengan loop yang telah diatur,karena pengulangan diisi dengan nilai A, artinya pengulangan hanya berlaku 10 kali, jika diisi dengan nilai F, maka pengulangan akan dilakukan sebanyak 15 kali (operasi dilakukan dalam bilangan heksa). Program terminated normally, artinya bahwa program berhenti secara normal.

Untuk mencetak perulangan loop sebanyak 15 kali, hanya mengganti nilai mov cl,a menjadi mov cl,f yang berarti perulangan a=10 kali, sedangkan f=15 kali, karena didalam debug mengenal angka-angka bilangan heksa.

4. Analisa........................................................................................................................................................................................................................................................................ ........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................ ........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................ ................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................ ................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................Menampilkan karakter dalam DEBUGBahasa AssemblyInstrumentasi & Otomasi Industri