Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
1
Flags
2
Flags Register – menentukan keadaan prosesor saat ini
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 Bagaimana cara: Interrupt 16h Service 0
Interrupt 21h Service 0Ah Bagaimana cara: Menerima input bilangan bulat dan menyimpannya ke register Mencetak nilai suatu register sebagai bilangan bulat basis 10
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.