pertemuan 8 instruksi bahasa rakitan 8088

12
1 Pertemuan 8 Instruksi Bahasa Rakitan 8088 Matakuliah : T0483 / Bahasa rakitan Tahun : 2005 Versi : 1.0

Upload: walter

Post on 15-Jan-2016

104 views

Category:

Documents


1 download

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 Presentation

TRANSCRIPT

Page 1: Pertemuan 8 Instruksi Bahasa Rakitan 8088

1

Pertemuan 8Instruksi Bahasa Rakitan 8088

Matakuliah : T0483 / Bahasa rakitan

Tahun : 2005

Versi : 1.0

Page 2: Pertemuan 8 Instruksi Bahasa Rakitan 8088

2

Learning Outcomes

Pada akhir pertemuan ini, diharapkan mahasiswa

akan mampu :

• menghasilkan program yang menggunakan instruksi string dan kontrol alur program

Page 3: Pertemuan 8 Instruksi Bahasa Rakitan 8088

3

Outline Materi

• Instruksi String

• Instruksi Kontrol Alur Program

Page 4: Pertemuan 8 Instruksi Bahasa Rakitan 8088

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

Page 5: Pertemuan 8 Instruksi Bahasa Rakitan 8088

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.

Page 6: Pertemuan 8 Instruksi Bahasa Rakitan 8088

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

Page 7: Pertemuan 8 Instruksi Bahasa Rakitan 8088

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

Page 8: Pertemuan 8 Instruksi Bahasa Rakitan 8088

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

Page 9: Pertemuan 8 Instruksi Bahasa Rakitan 8088

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 :

Page 10: Pertemuan 8 Instruksi Bahasa Rakitan 8088

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 :

Page 11: Pertemuan 8 Instruksi Bahasa Rakitan 8088

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

Page 12: Pertemuan 8 Instruksi Bahasa Rakitan 8088

12

<< CLOSING>>

• Tugas– Buat program untuk mencetak angka 0 s/d 9

dilayar monitor dengan menggunakan instruksi loop