Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Flags. • Flags Register – menentukan keadaan prosesor saat ini. Nilainya berubah secara otomatis oleh CPU setelah operasi tertentu, untuk menentukan jenis.

Presentasi serupa


Presentasi berjudul: "Flags. • Flags Register – menentukan keadaan prosesor saat ini. Nilainya berubah secara otomatis oleh CPU setelah operasi tertentu, untuk menentukan jenis."— Transcript presentasi:

1 Flags

2 • Flags Register – menentukan keadaan prosesor saat ini. Nilainya berubah secara otomatis oleh CPU setelah operasi tertentu, untuk menentukan jenis hasil, dan untuk menentukan kondisi untuk peralihan kontrol (mis. conditional jump).

3 • Hanya menggunakan 9 dari 16 bit • EMU8086 dan DEBUG hanya menampilkan 8 bit – Yang tidak ditampilkan TRACE

4 Layout • Layout 12 bit pertama (11 - 0) untuk register FLAGS:

5 Layout (2)

6 CF, PF, AF • Carry Flag (CF) - diset 1 ketika terjadi unsigned overflow. Mis. penjumlahan byte (hasilnya di luar ). Jika tidak, diset 0. • Parity Flag (PF) - diset 1 ketika bit 1 pada byte terakhir berjumlah genap, dan 0 jika ganjil. • Auxiliary Flag (AF) - diset ke 1 jika terjadi unsigned overflow pada low nibble (4 bit).

7 ZF, SF, TF • Zero Flag (ZF) - diset ke 1 jika hasil nol. Jika hasil bukan nol, diset ke 0. • Sign Flag (SF) - diset ke 1 jika hasil negatif. Jika hasil positif diset ke 0. Flag ini mengambil nilai MSB. • Trap Flag (TF) – digunakan untuk on-chip debugging. Tidak ditampilkan di EMU8086 dan DEBUG.

8 IF, DF, OF • Interrupt enable Flag (IF) – jika flag ini diset ke 1, CPU bereaksi terhadap interrupt dari external device. • Direction Flag (DF) - flag ini digunakan beberapa instruksi untuk mengolah rangkaian data. Jika diset 0, SI & DI di-auto-increment; Jika tidak, auto-decrement. • Overflow Flag (OF) - diset ke 1 jika terjadi signed overflow. Mis. jika dijumlahkan byte (hasil di luar rentang ).

9 Cara Mengubah Register Flag • Berubah sebagai pengaruh hasil instruksi assembly

10 AF • MOV AX, 0002Fh • MOV BX, 01001h • ADD AX, BX  Aux carry!  AF is set

11 CF • MOV AX, 0F000h • MOV BX, 01000h • ADD AX, BX  carry!  CF is set

12 ZF • MOV AX, 0ABCDh • MOV BX, 0ABCDh • SUB AX, BX  Zero result!  ZF is set

13 Latihan 1 • Buat suatu program assembly yang menghitung … + n. Nilai n tersimpan di BX. Hasil perhitungan disimpan di AX.

14 Latihan 2 • Buat suatu program assembly yang menghitung: – … + n (jika n genap), atau – … + n – 1 (jika n ganjil) Nilai n tersimpan di BX. Hasil perhitungan disimpan di AX.

15 Mencetak Karakter • Diketahui pencetakan sebuah karakter dapat dilakukan menggunakan Interrupt 21h service 02h dengan kode karakter disimpan di DL. Service tersebut akan menyimpan kode karakter yang dicetak ke AL. • Contoh: MOV CX, 4 MOV DL, 41 MOV AH, 02 ULANG: INT 21 INC DL LOOP ULANG • Setelah dijalankan: AL = 43 • Output: ABC

16 Latihan 3 • Buat suatu program assembly menggunakan LOOP untuk mencetak: AaBbCcDdEe

17 Tugas • Baca – Interrupt 16h Service 0 – Interrupt 16h Service 1 – Interrupt 21h Service 0Ah • Bagaimana cara: – Menerima input bilangan bulat dan menyimpannya ke register – Mencetak nilai suatu register sebagai bilangan bulat basis 10


Download ppt "Flags. • Flags Register – menentukan keadaan prosesor saat ini. Nilainya berubah secara otomatis oleh CPU setelah operasi tertentu, untuk menentukan jenis."

Presentasi serupa


Iklan oleh Google