download

Matakuliah
Tahun
Versi
: T0483 / Bahasa Rakitan
: 2005
: 1.0
Pertemuan 9
Strukturisasi Control Flow pada
Bahasa rakitan 8088
1
Learning Outcomes
Pada akhir pertemuan ini, diharapkan mahasiswa
akan mampu :
• Mahasiswa akan dapat menghasilkan
program yang sudah menggunakan
konsep strukturisasi seperti halnya pada
bahasa tingkat tinggi
2
Outline Materi
•
•
•
•
•
•
Struktur IF-THEN
Struktur IF-THEN-ELSE
Struktur CASE-ELSE
Struktur WHILE-DO
Struktur Repeat-Until
Struktur FOR-TO
3
<<ISI>>
• Contoh Struktur IF-THEN-ELSE pada Bhs
Pascal:
If a > 3 then
------------then part
------else
------------else part
------next statement
4
<<ISI>>
Contoh Struktur IF-THEN-ELSE pada Bhs Pascal
(lanjutan)
– Bagian then akan dilaksanakan jika kondisi a > 3 terpenuhi
(true).
– Pada Assembly, instruksi conditional jump akan dilaksanakan
(jump ke suatu label) saat kondisi perbandingan sebelumnya
(dengan CMP atau TEST) terpenuhi.
– Kedua kondisi ini berlawanan, sehingga strukturisasi dalam
Assembly akan terwujud jika kondisi dalam Pascal di - Not - kan.
– Dengan asumsi bahwa variabel a (pada contoh IF - THEN ELSE ini ) bertipe unsigned, maka kondisi yang dibuat dalam
Assembly adalah jump jika not > 3 :
CMP a, 3
atau
CMP a, 3
JNA ELSEIF
JBE ELSEIF
5
<<ISI>>
Contoh lengkapnya :
CMP a, 3
JNA ELSEIF
------- then part
---JMP ENDIF
ELSEIF:
------- else part
---ENDIF:
next statement
ATAU :
CMP a, 3
JLE ELSEIF
------- then part
---JMP ENDIF
ELSEIF:
------- else part
---ENDIF:
next statement
6
<<ISI>>
Kerangka CASE - ELSE
Pascal:
case a of
3 : inc (a);
4 : dec (a);
5 : inc (b);
else dec (b);
end;
Next statement;
Assembly :
CMP a, 3
JNE Cmp2
INC a
JMP ENDCASE
Cmp2: CMP a, 4
JNE Cmp3
DEC a
JMP ENDCASE
Cmp3: CMP a, 5
JNE ENDCASE
INC B
JMP ENDCASE
ELSECASE: DEC B
ENDCASE :
next statement
7
<<ISI>>
8
<<ISI>>
9
<<ISI>>
10
<<ISI>>
11
<< CLOSING>>
• Control Flow pada Bahasa Rakitan pada
dasarnya sama dengan bahasa tingkat
tinggi seperti Pascal, C dll.
12