Register
Apakah Register? Merupakan memori khusus mikroprosesor yang dapat diakses dengan kecepatan tinggi Sebagai intermediate data carrier Bagian vital bahasa assembly
Tipe Register Berdasar fungsi : Segmen Register Pointer dan Index Register General Purpose Register Index Pointer Register Flag Register
Segmen Register Fungsi : Lebar : 16bit Jenis : Menunjukkan alamat dari suatu segmen Lebar : 16bit Jenis : CS (Code Segment ) : Menunjukkan alamat dari segmen yang sedang aktif DS (Data Segment) : Menunjukkan alamat di mana data-data disimpan ES (Extra Segment) : Register tambahan tanpa fungsi khusus, biasanya untuk menunjukkan alamat di memori SS (Stack Segment) : Untuk menunjukkan alamat dari suatu stack
Pointer dan Index Register Fungsi : Menunjukkan suatu alamat di memori Lebar : 16bit Jenis : SP (Stack Pointer) : Berpasangan dengan SS, menunjukkan alamat dari stack BP (Base Pointer) : Berpasangan dengan SS, mencatat suatu alamat di memory data SI (Source Index) dan DI (Data Index) : Untuk operasi string dengan mengakses langsung alamat memori yang disimpan di SI dan DI
General Purpose Register Fungsi : Dapat dipergunakan untuk keperluan umum Lebar : 16bit (8bit tinggi+8bit rendah), masing-masing byte bisa diakses secara terpisah Jenis : AX (AH+AL) : Operasi aritmatika (pembagian dan pengurangan) BX (BH+BL) : Menunjukkan alamat offset dari suatu segmen CX (CH+CL) : Untuk operasi looping, menentukan banyaknya looping DX (DH+DL) : Menyimpan sisa hasil pembagian 16bit
Index Pointer Register IP+CS : menunjukkan alamat memori tempat instruksi selanjutnya yang harus dieksekusi
Flag Register Fungsi : Jenis : Menunjukkan status dari suatu kondisi OF (Overflow Flag) : bernilai 1 jika terjadi overflow pada suatu operasi aritmatika SF (Sign Flag) : bernilai 1 jika operasinya menggunakan bilangan bertanda ZF (Zero Flag) : bernilai 1 jika operasi menghasilkan 0 CF (Carry Flag) : bernilai 1 jika terjadi borrow atau carry PF (Parity Flag) : bernilai 1 jika hasil operasi berupa bilangan genap DF (Direction Flag) : untuk operasi string, menunjukkan arah eksekusi IF (Interrupt Flag) : bernilai 0, maka komputer akan mengabaikan semua interupsi TF (Trap Flag) : untuk debugging step by step AF (Auxiliary Flag) : untuk operasi BCD NT (Nested Tasked) : untuk menjaga sinkronisasi dengan interupsi yang terjadi berurutan IOPL (I/O Protection Level) : untuk proteksi input output