SlideShare a Scribd company logo
1 of 11
LA OSK pert3-Addressing Page 1
LAPORAN AKHIR PRAKTIKUM
Mata Praktikum : OSK
Kelas : 2IA18
Praktikum ke- : 3
Tanggal : 8Januari 2013
Materi : Addressing
NPM : 56411856
Nama : Sonityo Danang Jaya
Ketua Asisten : Soni Sebastian.
Nama Asisten :
Paraf Asisten :
Jumlah Lembar : 11 lembar
LABORATORIUM INFORMATIKA
UNIVERSITAS GUNADARMA
2012
LA OSK pert3-Addressing Page 2
LISTING PROGRAM
.model small
.code
org 100h
mulai:
jmp proses
vkal db 'Masukan Password menggunakan huruf kapital : $'
vkal1 db 'Incorrect!!! $'
vkal2 db 'Welcome, Login Success!! $'
proses:
mov ah, 09h
lea dx, vkal
int 21h
mov ah, 07h
int 21h
cmp al,'S'
JE ya1
JNE ga1
ga1:
mov ah, 09h
lea dx, vkal1
int 21h
jmp proses
ya1:
mov ah, 02h
mov dl, 2Ah
int 21h
mov ah, 07h
int 21h
LA OSK pert3-Addressing Page 3
cmp al,'O'
JE ya2
JNE ga1
ya2:
mov ah, 02h
mov dl, 2Ah
int 21h
mov ah,07h
int 21h
cmp al, 'N'
JE ya3
JNE ga1
ya3:
mov ah, 02h
mov dl, 2Ah
int 21h
mov ah, 07h
int 21H
cmp al,'I'
JE ya4
JNE ga1
ya4:
mov ah, 02h
mov dl, 2Ah
int 21h
mov ah, 07h
int 21H
cmp al,'T'
JE ya5
JNE ga1
LA OSK pert3-Addressing Page 4
ya5:
mov ah, 02h
mov dl, 2Ah
int 21h
mov ah, 07h
int 21H
cmp al,'Y'
JE ya6
JNE ga1
ya6:
mov ah, 02h
mov dl, 2Ah
int 21h
mov ah, 07h
int 21H
cmp al,'O'
JE ya7
JNE ga1
ya7:
mov ah, 02h
mov dl, 2Ah
int 21h
mov dl, 20h
int 21h
mov ah, 09h
lea dx, vkal2
int 21h
int 20h
end mulai
LA OSK pert3-Addressing Page 5
LOGIKA PROGRAM.
.model small
.code
org 100h
Blok pertama pada program ini merupakan bagian pendahuluan dari pada
program dengan bahasa TASM yang akan dibuat. Pertama, terdapat tanda directive
.model small yang digunakan untuk memberitahukan kepada assembler bentuk atau
ukuran memory yang digunakan oleh program. Kedua, terdapat tanda directive
.codeyang digunakan untuk memberitahukan kepada assembler bahwa kita akan mulai
menggunakan Code Segment-nya pada bagian ini. Code segment ini merupakan tempat
disimpannya program yang nantinya akan dijalankan. Dan selanjutnya ada perintah org
100h yang digunakan untuk memberitahukan assembler agar program pada saat
dilakukan load ke memory atau dijalankan, program diletakkan mulai pada offset ke
100h atau senilai 256 byte.
mulai:
jmp proses
vkal db 'Masukan Password menggunakan huruf kapital : $'
vkal1 db 'Incorrect!!! $'
vkal2 db 'Welcome, Login Success!! $'
Masuk ke label pertama pada program ini yaitu dengan nama mulaidimana akan
melakukan lompatan menggunakan statement jmpmenuju label bernama proses ketika
statement-statement di dalam label ini telah selesai dieksekusi. Adapun statement-
statement yang terdapat pada Label ini yakni pertama dilakukan pemberian nilai pada
variabel bernama vkal dengan string ”Masukan Password menggunakan huruf
kapital :”,vkal1 dengan string ”Incorrect!!!” dan vkal2 dengan string “Welcome,
Login Success!!”.
proses:
mov ah, 09h
lea dx, vkal
int 21h
LA OSK pert3-Addressing Page 6
mov ah, 07h
int 21h
cmp al,'S'
JE ya1
JNE ga1
Masuk ke label berikutnya yaitu label dengan nama proses. Pertama-tama
dilakukan pemindahan nilai pada register ah dengan service number 09h. Kemudian
program akan melakukan pengisian register dxdengan alamat offset yaitu data pada
variabel dengan nama vkal dan kemudian nilai data tersebut dicetak menggunakan
statement int 21h[ tercetak kalimat “Masukan Password menggunakan huruf kapital : “
].Berikutnya, dilakukan pemindahan nilai pada register ah dengan service number 07h
dan kemudian dicetak (program meminta sebuah inputan dari user dengan menampilkan
karakter spasi pada layar). Setelah itu, dilakukan sebuah pembandingan nilai data antara
data inputan dengan karakter ”S”. Apabila hasil pembandingan bernilai sama (Equal)
maka program akan melompat menuju label ya1. Namun apabila pembandingan
bernilai tidak sama (not equal) maka program akan melompat menuju label ga1.
ga1:
mov ah, 09h
lea dx, vkal1
int 21h
jmp proses
Label berikutnya yaitu label dengan nama ga1, dimana pertama-tama dilakukan
pemindahan nilai pada register ah dengan service number 09h. Selanjutnya program
akan melakukan pengisian register dxdengan alamat offset yaitu data pada variabel
dengan nama vkal1 dan kemudian nilai data tersebut dicetak menggunakan statement
int 21h[ tercetak kalimat “Incorrect!!!” ]. Setelah itu program kembali lagi menuju
label proses.
ya1:
mov ah, 02h
mov dl, 2Ah
int 21h
mov ah, 07h
LA OSK pert3-Addressing Page 7
int 21h
cmp al,'O'
JE ya2
JNE ga1
Label ya1. Pada label ini mula-mula program melakukan pemindahan nilai pada
register ah dengan service number 02h. Kemudian program melakukan pemindahan
nilai pada register dl dengan service number 2Ah, lalu dicetak menggunakan statement
int 21h yang akan menyebabkan karakter inputan dari user diubah menjadi karakter (*).
Berikutnya, dilakukan pemindahan nilai pada register ah dengan service number 07h
dan kemudian dicetak (program meminta sebuah inputan dari user dengan menampilkan
karakter spasi pada layar). Lalu program melakukan pembandingan nilai data antara
data inputan dengan karakter ”O”. Apabila hasil pembandingan bernilai sama (Equal)
maka program akan melompat menuju label ya2. Namun apabila pembandingan
bernilai tidak sama (not equal) maka program akan melompat menuju label ga1.
ya2:
mov ah, 02h
mov dl, 2Ah
int 21h
mov ah,07h
int 21h
cmp al, 'N'
JE ya3
JNE ga1
Label ya2. Pada label ini mula-mula program melakukan pemindahan nilai pada
register ah dengan service number 02h. Kemudian program melakukan pemindahan
nilai pada register dl dengan service number 2Ah, lalu dicetak menggunakan statement
int 21h yang akan menyebabkan karakter inputan dari user diubah menjadi karakter (*).
Berikutnya, dilakukan pemindahan nilai pada register ah dengan service number 07h
dan kemudian dicetak (program meminta sebuah inputan dari user dengan menampilkan
karakter spasi pada layar). Lalu program melakukan pembandingan nilai data antara
data inputan dengan karakter ”N”. Apabila hasil pembandingan bernilai sama (Equal)
maka program akan melompat menuju label ya3. Namun apabila pembandingan
bernilai tidak sama (not equal) maka program akan melompat menuju label ga1.
LA OSK pert3-Addressing Page 8
ya3:
mov ah, 02h
mov dl, 2Ah
int 21h
mov ah, 07h
int 21H
cmp al,'I'
JE ya4
JNE ga1
Label ya3. Pada label ini mula-mula program melakukan pemindahan nilai pada
register ah dengan service number 02h. Kemudian program melakukan pemindahan
nilai pada register dl dengan service number 2Ah, lalu dicetak menggunakan statement
int 21h yang akan menyebabkan karakter inputan dari user diubah menjadi karakter (*).
Berikutnya, dilakukan pemindahan nilai pada register ah dengan service number 07h
dan kemudian dicetak (program meminta sebuah inputan dari user dengan menampilkan
karakter spasi pada layar). Lalu program melakukan pembandingan nilai data antara
data inputan dengan karakter ”I”. Apabila hasil pembandingan bernilai sama (Equal)
maka program akan melompat menuju label ya4. Namun apabila pembandingan
bernilai tidak sama (not equal) maka program akan melompat menuju label ga1.
ya4:
mov ah, 02h
mov dl, 2Ah
int 21h
mov ah, 07h
int 21H
cmp al,'T'
JE ya5
JNE ga1
Label ya4. Pada label ini mula-mula program melakukan pemindahan nilai pada
register ah dengan service number 02h. Kemudian program melakukan pemindahan
nilai pada register dl dengan service number 2Ah, lalu dicetak menggunakan statement
int 21h yang akan menyebabkan karakter inputan dari user diubah menjadi karakter (*).
Berikutnya, dilakukan pemindahan nilai pada register ah dengan service number 07h
LA OSK pert3-Addressing Page 9
dan kemudian dicetak (program meminta sebuah inputan dari user dengan menampilkan
karakter spasi pada layar). Lalu program melakukan pembandingan nilai data antara
data inputan dengan karakter ”T”. Apabila hasil pembandingan bernilai sama (Equal)
maka program akan melompat menuju label ya5. Namun apabila pembandingan
bernilai tidak sama (not equal) maka program akan melompat menuju label ga1.
ya5:
mov ah, 02h
mov dl, 2Ah
int 21h
mov ah, 07h
int 21H
cmp al,'Y'
JE ya6
JNE ga1
Label ya5. Pada label ini mula-mula program melakukan pemindahan nilai pada
register ah dengan service number 02h. Kemudian program melakukan pemindahan
nilai pada register dl dengan service number 2Ah, lalu dicetak menggunakan statement
int 21h yang akan menyebabkan karakter inputan dari user diubah menjadi karakter (*).
Berikutnya, dilakukan pemindahan nilai pada register ah dengan service number 07h
dan kemudian dicetak (program meminta sebuah inputan dari user dengan menampilkan
karakter spasi pada layar). Lalu program melakukan pembandingan nilai data antara
data inputan dengan karakter ”Y”. Apabila hasil pembandingan bernilai sama (Equal)
maka program akan melompat menuju label ya6. Namun apabila pembandingan
bernilai tidak sama (not equal) maka program akan melompat menuju label ga1.
ya6:
mov ah, 02h
mov dl, 2Ah
int 21h
mov ah, 07h
int 21H
cmp al,'O'
JE ya7
JNE ga1
LA OSK pert3-Addressing Page 10
Label ya6. Pada label ini mula-mula program melakukan pemindahan nilai pada
register ah dengan service number 02h. Kemudian program melakukan pemindahan
nilai pada register dl dengan service number 2Ah, lalu dicetak menggunakan statement
int 21h yang akan menyebabkan karakter inputan dari user diubah menjadi karakter (*).
Berikutnya, dilakukan pemindahan nilai pada register ah dengan service number 07h
dan kemudian dicetak (program meminta sebuah inputan dari user dengan menampilkan
karakter spasi pada layar). Lalu program melakukan pembandingan nilai data antara
data inputan dengan karakter ”O”. Apabila hasil pembandingan bernilai sama (Equal)
maka program akan melompat menuju label ya7. Namun apabila pembandingan
bernilai tidak sama (not equal) maka program akan melompat menuju label ga1.
ya7:
mov ah, 02h
mov dl, 2Ah
int 21h
mov dl, 20h
int 21h
mov ah, 09h
lea dx, vkal2
int 21h
int 20h
end mulai
Label terakhir yaitu label ya7. Pada label ini mula-mula program melakukan
pemindahan nilai pada register ah dengan service number 02h. Kemudian program
melakukan pemindahan nilai pada register dl dengan service number 2Ah, lalu dicetak
menggunakan statement int 21h yang akan menyebabkan karakter inputan dari user
diubah menjadi karakter (*). Berikutnya, dilakukan pemindahan nilai pada register ah
dengan service number 20h dan kemudian dicetak (cetak karakter spasi). Lalu program
melakukan pemindahan nilai pada register ah dengan service number 09h. Berikutnya,
program akan melakukan pengisian register dxdengan alamat offset yaitu data pada
variabel dengan nama vka12dan kemudian nilai data tersebut dicetak menggunakan
statement int 21h [ tercetak kalimat “Welcome, Login Success!!” ]. Dan program
secara keseluruhanpun diakhiri dengan statement int 20h dan end mulai.
LA OSK pert3-Addressing Page 11
OUTPUT PROGRAM.
Setelah dilakukan proses compile dan running serta input data pada file pass.asm, maka
didapat output sebagai berikut :
“Output di atas didapat karena inputan yang dimasukkan adalah sesuai dengan
deretan karakter password berikut : S O N I T Y O”.
“Output di atas didapat karena inputan yang dimasukkan tidak sesuai dengan deretan
karakter password yang disediakan”.
[ output ]
[ output ]

More Related Content

More from sonityodj

La pbo pert2 sonityo
La pbo  pert2   sonityoLa pbo  pert2   sonityo
La pbo pert2 sonityosonityodj
 
La pbo pert1 sonityo
La pbo  pert1   sonityoLa pbo  pert1   sonityo
La pbo pert1 sonityosonityodj
 
La pbo pert4 sonityo
La pbo  pert4   sonityoLa pbo  pert4   sonityo
La pbo pert4 sonityosonityodj
 
La struktur data pert6 sonityo
La struktur data pert6   sonityoLa struktur data pert6   sonityo
La struktur data pert6 sonityosonityodj
 
La struktur data pert5 sonityo
La struktur data pert5   sonityoLa struktur data pert5   sonityo
La struktur data pert5 sonityosonityodj
 
La struktur data pert4 sonityo
La struktur data pert4   sonityoLa struktur data pert4   sonityo
La struktur data pert4 sonityosonityodj
 
La struktur data pert3 sonityo
La struktur data pert3   sonityoLa struktur data pert3   sonityo
La struktur data pert3 sonityosonityodj
 
La struktur data pert2 sonityo
La struktur data pert2   sonityoLa struktur data pert2   sonityo
La struktur data pert2 sonityosonityodj
 
La struktur data pert1 sonityo
La struktur data pert1   sonityoLa struktur data pert1   sonityo
La struktur data pert1 sonityosonityodj
 
La struktur data pert7 sonityo
La struktur data pert7   sonityoLa struktur data pert7   sonityo
La struktur data pert7 sonityosonityodj
 
La siak pert4 sonityo
La siak pert4   sonityoLa siak pert4   sonityo
La siak pert4 sonityosonityodj
 
La siak pert3 sonityo
La siak pert3   sonityoLa siak pert3   sonityo
La siak pert3 sonityosonityodj
 
La siak pert2 sonityo
La siak pert2   sonityoLa siak pert2   sonityo
La siak pert2 sonityosonityodj
 
La siak pert1 sonityo
La siak pert1   sonityoLa siak pert1   sonityo
La siak pert1 sonityosonityodj
 
La osk pert4 sonityo
La osk pert4   sonityoLa osk pert4   sonityo
La osk pert4 sonityosonityodj
 
La osk pert2 sonityo
La osk pert2   sonityoLa osk pert2   sonityo
La osk pert2 sonityosonityodj
 
La osk pert1 sonityo
La osk pert1   sonityoLa osk pert1   sonityo
La osk pert1 sonityosonityodj
 
La ap3 pert7 sonityo
La ap3 pert7   sonityoLa ap3 pert7   sonityo
La ap3 pert7 sonityosonityodj
 
La ap3 pert6 sonityo
La ap3 pert6   sonityoLa ap3 pert6   sonityo
La ap3 pert6 sonityosonityodj
 
La ap3 pert5 sonityo
La ap3 pert5   sonityoLa ap3 pert5   sonityo
La ap3 pert5 sonityosonityodj
 

More from sonityodj (20)

La pbo pert2 sonityo
La pbo  pert2   sonityoLa pbo  pert2   sonityo
La pbo pert2 sonityo
 
La pbo pert1 sonityo
La pbo  pert1   sonityoLa pbo  pert1   sonityo
La pbo pert1 sonityo
 
La pbo pert4 sonityo
La pbo  pert4   sonityoLa pbo  pert4   sonityo
La pbo pert4 sonityo
 
La struktur data pert6 sonityo
La struktur data pert6   sonityoLa struktur data pert6   sonityo
La struktur data pert6 sonityo
 
La struktur data pert5 sonityo
La struktur data pert5   sonityoLa struktur data pert5   sonityo
La struktur data pert5 sonityo
 
La struktur data pert4 sonityo
La struktur data pert4   sonityoLa struktur data pert4   sonityo
La struktur data pert4 sonityo
 
La struktur data pert3 sonityo
La struktur data pert3   sonityoLa struktur data pert3   sonityo
La struktur data pert3 sonityo
 
La struktur data pert2 sonityo
La struktur data pert2   sonityoLa struktur data pert2   sonityo
La struktur data pert2 sonityo
 
La struktur data pert1 sonityo
La struktur data pert1   sonityoLa struktur data pert1   sonityo
La struktur data pert1 sonityo
 
La struktur data pert7 sonityo
La struktur data pert7   sonityoLa struktur data pert7   sonityo
La struktur data pert7 sonityo
 
La siak pert4 sonityo
La siak pert4   sonityoLa siak pert4   sonityo
La siak pert4 sonityo
 
La siak pert3 sonityo
La siak pert3   sonityoLa siak pert3   sonityo
La siak pert3 sonityo
 
La siak pert2 sonityo
La siak pert2   sonityoLa siak pert2   sonityo
La siak pert2 sonityo
 
La siak pert1 sonityo
La siak pert1   sonityoLa siak pert1   sonityo
La siak pert1 sonityo
 
La osk pert4 sonityo
La osk pert4   sonityoLa osk pert4   sonityo
La osk pert4 sonityo
 
La osk pert2 sonityo
La osk pert2   sonityoLa osk pert2   sonityo
La osk pert2 sonityo
 
La osk pert1 sonityo
La osk pert1   sonityoLa osk pert1   sonityo
La osk pert1 sonityo
 
La ap3 pert7 sonityo
La ap3 pert7   sonityoLa ap3 pert7   sonityo
La ap3 pert7 sonityo
 
La ap3 pert6 sonityo
La ap3 pert6   sonityoLa ap3 pert6   sonityo
La ap3 pert6 sonityo
 
La ap3 pert5 sonityo
La ap3 pert5   sonityoLa ap3 pert5   sonityo
La ap3 pert5 sonityo
 

La osk pert3 sonityo

  • 1. LA OSK pert3-Addressing Page 1 LAPORAN AKHIR PRAKTIKUM Mata Praktikum : OSK Kelas : 2IA18 Praktikum ke- : 3 Tanggal : 8Januari 2013 Materi : Addressing NPM : 56411856 Nama : Sonityo Danang Jaya Ketua Asisten : Soni Sebastian. Nama Asisten : Paraf Asisten : Jumlah Lembar : 11 lembar LABORATORIUM INFORMATIKA UNIVERSITAS GUNADARMA 2012
  • 2. LA OSK pert3-Addressing Page 2 LISTING PROGRAM .model small .code org 100h mulai: jmp proses vkal db 'Masukan Password menggunakan huruf kapital : $' vkal1 db 'Incorrect!!! $' vkal2 db 'Welcome, Login Success!! $' proses: mov ah, 09h lea dx, vkal int 21h mov ah, 07h int 21h cmp al,'S' JE ya1 JNE ga1 ga1: mov ah, 09h lea dx, vkal1 int 21h jmp proses ya1: mov ah, 02h mov dl, 2Ah int 21h mov ah, 07h int 21h
  • 3. LA OSK pert3-Addressing Page 3 cmp al,'O' JE ya2 JNE ga1 ya2: mov ah, 02h mov dl, 2Ah int 21h mov ah,07h int 21h cmp al, 'N' JE ya3 JNE ga1 ya3: mov ah, 02h mov dl, 2Ah int 21h mov ah, 07h int 21H cmp al,'I' JE ya4 JNE ga1 ya4: mov ah, 02h mov dl, 2Ah int 21h mov ah, 07h int 21H cmp al,'T' JE ya5 JNE ga1
  • 4. LA OSK pert3-Addressing Page 4 ya5: mov ah, 02h mov dl, 2Ah int 21h mov ah, 07h int 21H cmp al,'Y' JE ya6 JNE ga1 ya6: mov ah, 02h mov dl, 2Ah int 21h mov ah, 07h int 21H cmp al,'O' JE ya7 JNE ga1 ya7: mov ah, 02h mov dl, 2Ah int 21h mov dl, 20h int 21h mov ah, 09h lea dx, vkal2 int 21h int 20h end mulai
  • 5. LA OSK pert3-Addressing Page 5 LOGIKA PROGRAM. .model small .code org 100h Blok pertama pada program ini merupakan bagian pendahuluan dari pada program dengan bahasa TASM yang akan dibuat. Pertama, terdapat tanda directive .model small yang digunakan untuk memberitahukan kepada assembler bentuk atau ukuran memory yang digunakan oleh program. Kedua, terdapat tanda directive .codeyang digunakan untuk memberitahukan kepada assembler bahwa kita akan mulai menggunakan Code Segment-nya pada bagian ini. Code segment ini merupakan tempat disimpannya program yang nantinya akan dijalankan. Dan selanjutnya ada perintah org 100h yang digunakan untuk memberitahukan assembler agar program pada saat dilakukan load ke memory atau dijalankan, program diletakkan mulai pada offset ke 100h atau senilai 256 byte. mulai: jmp proses vkal db 'Masukan Password menggunakan huruf kapital : $' vkal1 db 'Incorrect!!! $' vkal2 db 'Welcome, Login Success!! $' Masuk ke label pertama pada program ini yaitu dengan nama mulaidimana akan melakukan lompatan menggunakan statement jmpmenuju label bernama proses ketika statement-statement di dalam label ini telah selesai dieksekusi. Adapun statement- statement yang terdapat pada Label ini yakni pertama dilakukan pemberian nilai pada variabel bernama vkal dengan string ”Masukan Password menggunakan huruf kapital :”,vkal1 dengan string ”Incorrect!!!” dan vkal2 dengan string “Welcome, Login Success!!”. proses: mov ah, 09h lea dx, vkal int 21h
  • 6. LA OSK pert3-Addressing Page 6 mov ah, 07h int 21h cmp al,'S' JE ya1 JNE ga1 Masuk ke label berikutnya yaitu label dengan nama proses. Pertama-tama dilakukan pemindahan nilai pada register ah dengan service number 09h. Kemudian program akan melakukan pengisian register dxdengan alamat offset yaitu data pada variabel dengan nama vkal dan kemudian nilai data tersebut dicetak menggunakan statement int 21h[ tercetak kalimat “Masukan Password menggunakan huruf kapital : “ ].Berikutnya, dilakukan pemindahan nilai pada register ah dengan service number 07h dan kemudian dicetak (program meminta sebuah inputan dari user dengan menampilkan karakter spasi pada layar). Setelah itu, dilakukan sebuah pembandingan nilai data antara data inputan dengan karakter ”S”. Apabila hasil pembandingan bernilai sama (Equal) maka program akan melompat menuju label ya1. Namun apabila pembandingan bernilai tidak sama (not equal) maka program akan melompat menuju label ga1. ga1: mov ah, 09h lea dx, vkal1 int 21h jmp proses Label berikutnya yaitu label dengan nama ga1, dimana pertama-tama dilakukan pemindahan nilai pada register ah dengan service number 09h. Selanjutnya program akan melakukan pengisian register dxdengan alamat offset yaitu data pada variabel dengan nama vkal1 dan kemudian nilai data tersebut dicetak menggunakan statement int 21h[ tercetak kalimat “Incorrect!!!” ]. Setelah itu program kembali lagi menuju label proses. ya1: mov ah, 02h mov dl, 2Ah int 21h mov ah, 07h
  • 7. LA OSK pert3-Addressing Page 7 int 21h cmp al,'O' JE ya2 JNE ga1 Label ya1. Pada label ini mula-mula program melakukan pemindahan nilai pada register ah dengan service number 02h. Kemudian program melakukan pemindahan nilai pada register dl dengan service number 2Ah, lalu dicetak menggunakan statement int 21h yang akan menyebabkan karakter inputan dari user diubah menjadi karakter (*). Berikutnya, dilakukan pemindahan nilai pada register ah dengan service number 07h dan kemudian dicetak (program meminta sebuah inputan dari user dengan menampilkan karakter spasi pada layar). Lalu program melakukan pembandingan nilai data antara data inputan dengan karakter ”O”. Apabila hasil pembandingan bernilai sama (Equal) maka program akan melompat menuju label ya2. Namun apabila pembandingan bernilai tidak sama (not equal) maka program akan melompat menuju label ga1. ya2: mov ah, 02h mov dl, 2Ah int 21h mov ah,07h int 21h cmp al, 'N' JE ya3 JNE ga1 Label ya2. Pada label ini mula-mula program melakukan pemindahan nilai pada register ah dengan service number 02h. Kemudian program melakukan pemindahan nilai pada register dl dengan service number 2Ah, lalu dicetak menggunakan statement int 21h yang akan menyebabkan karakter inputan dari user diubah menjadi karakter (*). Berikutnya, dilakukan pemindahan nilai pada register ah dengan service number 07h dan kemudian dicetak (program meminta sebuah inputan dari user dengan menampilkan karakter spasi pada layar). Lalu program melakukan pembandingan nilai data antara data inputan dengan karakter ”N”. Apabila hasil pembandingan bernilai sama (Equal) maka program akan melompat menuju label ya3. Namun apabila pembandingan bernilai tidak sama (not equal) maka program akan melompat menuju label ga1.
  • 8. LA OSK pert3-Addressing Page 8 ya3: mov ah, 02h mov dl, 2Ah int 21h mov ah, 07h int 21H cmp al,'I' JE ya4 JNE ga1 Label ya3. Pada label ini mula-mula program melakukan pemindahan nilai pada register ah dengan service number 02h. Kemudian program melakukan pemindahan nilai pada register dl dengan service number 2Ah, lalu dicetak menggunakan statement int 21h yang akan menyebabkan karakter inputan dari user diubah menjadi karakter (*). Berikutnya, dilakukan pemindahan nilai pada register ah dengan service number 07h dan kemudian dicetak (program meminta sebuah inputan dari user dengan menampilkan karakter spasi pada layar). Lalu program melakukan pembandingan nilai data antara data inputan dengan karakter ”I”. Apabila hasil pembandingan bernilai sama (Equal) maka program akan melompat menuju label ya4. Namun apabila pembandingan bernilai tidak sama (not equal) maka program akan melompat menuju label ga1. ya4: mov ah, 02h mov dl, 2Ah int 21h mov ah, 07h int 21H cmp al,'T' JE ya5 JNE ga1 Label ya4. Pada label ini mula-mula program melakukan pemindahan nilai pada register ah dengan service number 02h. Kemudian program melakukan pemindahan nilai pada register dl dengan service number 2Ah, lalu dicetak menggunakan statement int 21h yang akan menyebabkan karakter inputan dari user diubah menjadi karakter (*). Berikutnya, dilakukan pemindahan nilai pada register ah dengan service number 07h
  • 9. LA OSK pert3-Addressing Page 9 dan kemudian dicetak (program meminta sebuah inputan dari user dengan menampilkan karakter spasi pada layar). Lalu program melakukan pembandingan nilai data antara data inputan dengan karakter ”T”. Apabila hasil pembandingan bernilai sama (Equal) maka program akan melompat menuju label ya5. Namun apabila pembandingan bernilai tidak sama (not equal) maka program akan melompat menuju label ga1. ya5: mov ah, 02h mov dl, 2Ah int 21h mov ah, 07h int 21H cmp al,'Y' JE ya6 JNE ga1 Label ya5. Pada label ini mula-mula program melakukan pemindahan nilai pada register ah dengan service number 02h. Kemudian program melakukan pemindahan nilai pada register dl dengan service number 2Ah, lalu dicetak menggunakan statement int 21h yang akan menyebabkan karakter inputan dari user diubah menjadi karakter (*). Berikutnya, dilakukan pemindahan nilai pada register ah dengan service number 07h dan kemudian dicetak (program meminta sebuah inputan dari user dengan menampilkan karakter spasi pada layar). Lalu program melakukan pembandingan nilai data antara data inputan dengan karakter ”Y”. Apabila hasil pembandingan bernilai sama (Equal) maka program akan melompat menuju label ya6. Namun apabila pembandingan bernilai tidak sama (not equal) maka program akan melompat menuju label ga1. ya6: mov ah, 02h mov dl, 2Ah int 21h mov ah, 07h int 21H cmp al,'O' JE ya7 JNE ga1
  • 10. LA OSK pert3-Addressing Page 10 Label ya6. Pada label ini mula-mula program melakukan pemindahan nilai pada register ah dengan service number 02h. Kemudian program melakukan pemindahan nilai pada register dl dengan service number 2Ah, lalu dicetak menggunakan statement int 21h yang akan menyebabkan karakter inputan dari user diubah menjadi karakter (*). Berikutnya, dilakukan pemindahan nilai pada register ah dengan service number 07h dan kemudian dicetak (program meminta sebuah inputan dari user dengan menampilkan karakter spasi pada layar). Lalu program melakukan pembandingan nilai data antara data inputan dengan karakter ”O”. Apabila hasil pembandingan bernilai sama (Equal) maka program akan melompat menuju label ya7. Namun apabila pembandingan bernilai tidak sama (not equal) maka program akan melompat menuju label ga1. ya7: mov ah, 02h mov dl, 2Ah int 21h mov dl, 20h int 21h mov ah, 09h lea dx, vkal2 int 21h int 20h end mulai Label terakhir yaitu label ya7. Pada label ini mula-mula program melakukan pemindahan nilai pada register ah dengan service number 02h. Kemudian program melakukan pemindahan nilai pada register dl dengan service number 2Ah, lalu dicetak menggunakan statement int 21h yang akan menyebabkan karakter inputan dari user diubah menjadi karakter (*). Berikutnya, dilakukan pemindahan nilai pada register ah dengan service number 20h dan kemudian dicetak (cetak karakter spasi). Lalu program melakukan pemindahan nilai pada register ah dengan service number 09h. Berikutnya, program akan melakukan pengisian register dxdengan alamat offset yaitu data pada variabel dengan nama vka12dan kemudian nilai data tersebut dicetak menggunakan statement int 21h [ tercetak kalimat “Welcome, Login Success!!” ]. Dan program secara keseluruhanpun diakhiri dengan statement int 20h dan end mulai.
  • 11. LA OSK pert3-Addressing Page 11 OUTPUT PROGRAM. Setelah dilakukan proses compile dan running serta input data pada file pass.asm, maka didapat output sebagai berikut : “Output di atas didapat karena inputan yang dimasukkan adalah sesuai dengan deretan karakter password berikut : S O N I T Y O”. “Output di atas didapat karena inputan yang dimasukkan tidak sesuai dengan deretan karakter password yang disediakan”. [ output ] [ output ]