pertemuan 8 instruksi bahasa rakitan 8088
DESCRIPTION
Pertemuan 8 Instruksi Bahasa Rakitan 8088. Matakuliah: T0483 / Bahasa rakitan Tahun: 2005 Versi: 1.0. Learning Outcomes. Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu : menghasilkan program yang menggunakan instruksi string dan kontrol alur program. Outline Materi. - PowerPoint PPT PresentationTRANSCRIPT
1
Pertemuan 8Instruksi Bahasa Rakitan 8088
Matakuliah : T0483 / Bahasa rakitan
Tahun : 2005
Versi : 1.0
2
Learning Outcomes
Pada akhir pertemuan ini, diharapkan mahasiswa
akan mampu :
• menghasilkan program yang menggunakan instruksi string dan kontrol alur program
3
Outline Materi
• Instruksi String
• Instruksi Kontrol Alur Program
4
<<ISI>>
Instruksi String• Instruksi : movs
– Tipe data byte : movsb– Tipe data word : movsw
• MOVS (Move String) akan melakukan pemindahan data demi data dari memori yang ditunjuk oleh pasangan register DS:[SI] ke memori tujuan yang ditunjuk oleh pasangan register ES:[DI]
• Format : movs
5
<<ISI>>
Tipe data :
• Penambahan nilai index (SI/DI) tergantung dari operasi CLD (+) atau STD (-) sebelum melakukan pemindahan. Sehingga dapat dikatakan CLD akan melakukuan pemindahan data dari kiri ke kanan, sedangkan STD sebaliknya.
6
<<ISI>>
REP• REP digunakan secara bersamaan dengan instruksi
string, bila pekerjaan yang akan dilakukan lebih dari satu kali. Sebagai contoh bila ada 5 buah data yang akan dipindahkan, maka dengan cara biasa adalah :
cldmovsbmovsbmovsbmovsbMovsb
• Cara diatas tidak efektif (boros baris), tetapi dengan menggabungkan instruksi REP dengan instruksi MOVSB maka akan lebih efektif. Contoh :
mov cx, 05 cld rep movsb
7
<<ISI>>
Instruksi Perbandingan Nilai
• CMP– CMP digunakan untuk membandingkan 2 (dua)
operand, dimana operasi yang dilakukan adalah pengurangan, tetapi tidak mempengaruhi ke dua operandnya. Hasil perbandingannya dapat dilihat pada register bendera dan biasanya di ikuti oleh instruksi conditional jump
– Format :
CMP D, S
8
<<ISI>>
• Instruksi kontrol alur program– Unconditional jump : jmp– Conditional jump : j??– Looping : loop
• JMP– JMP merupakan instruksi loncatan, dimana proses saat itu akan
langsung berpindah ke alamat yang ditunjukkan oleh operand-nya
– Format : jmp <operand>– Operand <operand> sbb:
• Short-label• Near-label• Far-label• MemPtr16• RegPtr16• MemPtr16
9
<<ISI>>
• J??– J?? merupakan
instruksi loncatan bersyarat, dimana syarat yang harus dipenuhi terdapat pada flag register (dilambangkan ??), dan tujuan loncatan diambil dari operand-nya
Format :
10
<<ISI>>
Tanda perbandingan • ! (Not)• = (Equal)• > (Grater than)• < (Less than)• Ekivalen suatu tanda
perbandingan adalah sisa tanda dari set tanda tersebut.
Misal :• Ekivalen > adalah ! < =
• Ekivalen < = adalah ! >
Format jump untuk perbandingan nilai :
11
<<ISI>>
• LOOP– Loop merupakan instruksi perulangan yang
sama dengan REP, hanya saja perulangan yang dapat dilakukan sampai dengan beberapa instruksi (REP hanya 1 instruksi)
– Format : loop <operand>– Operand => Short-label – Operasi : looping selama CX > 0
12
<< CLOSING>>
• Tugas– Buat program untuk mencetak angka 0 s/d 9
dilayar monitor dengan menggunakan instruksi loop