Pages

Sabtu, 13 Maret 2010

FLAGS REGISTER


Sesuai dengan namanya Flags (bendera), register ini menunjukkan kondisi dari suatu keadaan (YA atau TIDAK). Setiap keadaan hanya dapat digunakan 1 bit saja, sehingga berdasarkan jumlah bitnya Flags Register ini mampu mencatat sampai 16 keadaan. Bit-bit pada flag register akan mengalami perubahan tergantung pada proses yang baru saja berlangsung. Bit-bit tersebut adalah sebagai berikut :

1.Carry (C)
Mengindikasikan ada tidaknya bawaan (carry) setelah operasi pengurangan. C=1 (CY) berarti ada bawaan, sebaliknya C=0 (CN) berarti tidak ada bawaan. Bit C juga berfungsi untuk mengindikasikan kesalahan (error) pada beberapa program dan prosedur.

2.P (Parity)
Mengindikasikan jumlah bit 1 dalam suatu data. Bila P=0 (PO) berarti paritasnya ganjil, dan bila P=1 (PE) berarti paritasnya genap. Sebagai contoh, bila dalam suatu dataada 3bit “1” berarti P=0 (paritas ganjil). Dalam komunikasi data antar komputer, paritas dapat digunakan untuk pengecekan kesalahan pengiriman data.

3.A (Auxiliary Carry)
Mengindikasikan ada atau tidaknya bawaan (carry) pada bit ke-3 dan ke-4 setelah operasi pengurangan. A=1 berarti ada bawaan, sebaliknya A=0 berarti tidak ada bawaan. Bit A ini relatif jarang digunakan dalam program.

4.Z (Zero)
Mengindikasikan apalah hasil suatu operasi aritmatika atau logika bernilai 0 atau bukan. Bila Z=1 berarti hasilnya 0, dan Z=0 berarti hasilnya bukan 0. Seperti bit C, bit Z juga berfungsi untuk mengidentifikasikan kesalaha dalam suatu programatau prosedur.

5.S (Sign)
Mengindikasikan apakah hasil suatu operasi aritmatika atau logika positif atau negatif. Bila S=1 berarti hasilnya negatif, dan S=0 berarti hasilnya positif.

6.T (Trap)
Bit ini bila diset 1 maka dimungkinkan melakukan debugging (penelusuran kesalahan).

7.I (Interrupt)
Mengendalikan operasi interupsi perangkat keras. Bila I=1 berarti pin INTR enable (bisa digunakan), bila I=0 berarti pin INTR disable (tidak bisa digunakan). Untuk mengendalikan bit I ini dapat dilakukan dengan instruksi STI (mengeset I=1) dan CLI (mereset I=0).

8.D (Direction)
Mengendalikan arah pencacahan (increment atau decrement) DI dan SI pada operasi string. Bila D=1 arah pencacahan adalah turun (decrement), bila D=0 maka arah penccahan adalah naik (increment). Untuk mengendalikan bit D ini dapat dilakukan dengan instruksi STD (mengeset D=1) dan CLD (mereset D=0).

9.O (Overflow)
Mengindikasikan apakah hasil operasi penjumlahan atau pengurangan melampaui kapasitas mesin atau tidak. Sebagai contoh, bila sebuah bilangan 7Fh (127d) dijumlahkan dengan 01h (01d) akan menghasilkan 80h. Bila kedua bilangan dijumlahkan dengan menggunakan register 8 bit, 80h akan diartikan sebagai -128d, padahal seharusnya 128d (positif). Pada kasusu ini, bit 0 akan diset = 1 untuk mengindikasikan bahwa operasi penjumlahan 8bit tidak mampu menjumlahkan kedua bilangan tersebut. Sebagai pemecahannya, dapat dilakukan dengan operasi penjumlahan 16bit.

10.IOPL (Input-Output Privilege Level)
Digunakan untuk operasi protected mode untuk memilih tingkat keistimewaan (privilege level) piranti masukan-keluaran.

11.NT (Nested Task)
Mengindikasikan apakah operasi yang sedang dilakuakan digandeng (nested) dengan operasi lain pada operasi protected mode.

12.RF (Resume)
Digunakan pada saat debugging untuk mengendalikan kelanjutan eksekusi.

13.VF (Virtual Mode)
Memilih operasi virtual mode pada operasi protected mode.

14.AC (Alignment Check)
Untuk mengecek apakah suatu data word atau doubleword dialamati ke memori yang bukan data word atau bukan doubleword.

1 komentar:

ELAM DAN WENDA mengatakan...

mantap lanjutkan

Posting Komentar

 

UM Bloggers


Universitas Negeri Malang

Sample Text

Starting Point...

Bila aku harus mengulangi hidup ini, aku akan membuat kesalahan-kesalahan yang sama, tetapi aku pastikan bahwa aku menemukan kesalahan-kesalahan itu jauh lebih awal. Sehingga keberhasilan akan datang lebih awal menjemput dan meng'elukanku.
Aku tidak tahu takdirku, tetapi aku tahu hakku untuk berhasil.