- 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".
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($)
No comments:
Post a Comment