Program Assembly dengan CMPSB



1. Tujuan  [Kembali]

- Agar dapat menggunakan beberapa macam perintah-perintah pada program assembler seperti DIV, JUMP, MOV dll.
- Dapat mengerti fungsi CMPSB pada assembler dan cara membuat programnya


2. Dasar Teori [Kembali]

     Pertama harus menyediakan variabel yang berisi password yang akan dibandingkan dengan variabel yang akan di inputkan oleh user, kemudian menyediakan variabel yang akan di isi oleh user. 
    kemudian menyediakan dua buah variabel yaitu 'SALAH' dimana yang berisikan string "SALAH ULANGI PASSWORD ANDA!" dan variabel "BENAR" yang berisi string "BENAR".
 
    Pertama program menampilkan string "PASSWORD ANDA?: " kemudian user diperintahkan untuk menginputkan passwor dimana hasil penginputan akan dimasukkan ke variabel 'PASSWORD1'  kemudian isi dari variabel ini akan dibandingkan dengan isi dari variabel LEI. Jika isi dari kedua variabel ini tidak sebanding maka akan tampil "SALAH ULANGI PASSWORD ANDA" jika kedua variabel ini sebanding maka akan tampil "BENAR".


3. Percobaan [Kembali]

Penjelasan :

START: JMP MULAI = /ketika program jalan, program langsung jump/melompat ke Mulai .

 

KATA DB 'PASSWORD ANDA?: $'   =  mendeklarasikan variabel KATA dalam bentuk DB (Dbyte klo dk salah) yang berisi string 'PASSWORD ANDA?: $' tanda dolar digunakan agar variabel KATA bisa menggunakan Int 21 hexa service 09 hexa.
  
LEI DB 'LEI'  = mendeklarasikan variabel lei yang berisi string lei 
 
PASSWORD1 DB 4,?,4 DUP(?)  = mendeklarasikan 4 DBYTE tidak diketahui isinya dengan nama 
 
PASSWORD1SALAH DB 13,10, 'SALAH ULANGI PASSWORD ANDA!' ,13,10,13,10,'$'    =  mendeklarasikan variabel SALAH dalam bentuk DB yang berisikan string 'SALAH ULANGI PASSWORD ANDA!'Angka 13,10 itu untuk enter(newline) dan meletakkan kursor ke sebelah kolom 0 dari layar

  

BENAR DB 13,10, 'BENAR !',13,10,13,10, '$'   = variabel BENAR dalam bentuk DB yang berisikan string.

MOV DX, OFFSET KATA  = ofsett dari variabel KATA ke register DX

MOV DX, OFFSET KATA  = ofsett dari variabel KATA ke register DX

INT 21H   = memanggil int 21H pada kondisi ini, interupt yg dipakai adalah int 21H , AH 09h. Yang mana berfungsi untuk mencetak dengan ASCII yang ada pada DX ke layar/bios

 

MOV AH, 0AH  = menyalin 0AH(jika di convert ke desimal bernilai 10) ke register AH

MOV DX, OFFSET PASSWORD1  = offset Password1 ke register Dx

INT 21H  = memanggil int 21H. Pada kondisi ini interupt yg dipakai adalah int 21H, AH 0AH. Sama dengan interrupt sebelumnya, tetapi yang ini digunakan untuk mencetak karakter yang tidak di akhiri dengan tanda dolar($)






4. Video [Kembali]






5. Link Download [Kembali]
File HTML - Download
File Program -  Download
File Video - Download
File Program EMU 8086 - Download


No comments:

Post a Comment