Bagikan melalui


Tentang Jendela Daftar di Visual Studio (C#, C++, Visual Basic, F#)

Jendela Daftar hanya tersedia jika penelusuran kesalahan tingkat alamat diaktifkan dalam kotak dialog Opsi, node Penelusuran kesalahan.

Register adalah lokasi khusus dalam prosesor (CPU) yang digunakan untuk menyimpan potongan kecil data yang dikerjakan prosesor secara aktif. Mengompilasi atau menginterpretasikan kode sumber menghasilkan instruksi yang memindahkan data dari memori ke dalam register dan kembali lagi, sesuai kebutuhan. Mengakses data dalam register sangat cepat dibandingkan dengan mengakses data dalam memori, sehingga kode yang memungkinkan prosesor untuk menyimpan data dalam register dan mengaksesnya berulang kali cenderung dijalankan lebih cepat daripada kode yang mengharuskan prosesor terus memuat dan membongkar register. Untuk mempermudah kompilator menyimpan data dalam register, dan melakukan pengoptimalan lainnya, Anda harus menghindari penggunaan variabel global dan mengandalkan variabel lokal sebanyak mungkin. Kode yang ditulis dengan cara ini dikatakan memiliki lokalitas referensi yang baik. Dalam beberapa bahasa, seperti C/C++, programmer dapat mendeklarasikan variabel register, yang memberi tahu kompilator untuk mencoba yang terbaik untuk menyimpan variabel dalam register setiap saat. Untuk mengetahui informasi selengkapnya, lihat Kata Kunci Register.

Register dapat dibagi menjadi dua jenis: tujuan umum dan tujuan khusus. Register tujuan umum menyimpan data untuk operasi umum seperti menambahkan dua angka bersama-sama atau mereferensikan elemen dalam array. Register tujuan khusus memiliki tujuan khusus dan makna khusus. Contoh yang baik adalah register penunjuk tumpukan, yang digunakan prosesor untuk melacak tumpukan panggilan program. Sebagai programmer, Anda mungkin tidak akan memanipulasi penunjuk tumpukan secara langsung. Namun, penting untuk memfungsikan program Anda dengan benar karena tanpa penunjuk tumpukan, prosesor tidak akan tahu ke mana harus kembali di akhir pemanggilan fungsi.

Sebagian besar register tujuan umum hanya menyimpan satu elemen data. Misalnya, bilangan bulat tunggal, angka titik mengambang, atau elemen array. Beberapa prosesor yang lebih baru memiliki register yang lebih besar, yang disebut vektor register, yang dapat menyimpan array kecil data. Karena prosesor menyimpan begitu banyak data, vektor mendaftarkan operasi izin yang melibatkan array untuk dilakukan dengan sangat cepat. Register vektor pertama kali digunakan pada superkomputer berperforma tinggi yang mahal, tetapi sekarang tersedia pada mikroprosemator tempat register digunakan untuk keuntungan besar dalam operasi grafis intensif.

Prosesor biasanya memiliki dua set register tujuan umum, satu dioptimalkan untuk operasi titik mengambang dan yang lainnya untuk operasi bilangan bulat. Tidak mengherankan, ini disebut register titik mengambang dan bilangan bulat.

Kode aman dikompilasi pada waktu proses ke kode asli yang mengakses register fisik mikroprosesor. Jendela Register menampilkan register fisik ini untuk runtime bahasa umum atau kode asli. Jendela Register tidak menampilkan informasi register untuk skrip atau aplikasi SQL, karena skrip dan SQL adalah bahasa yang tidak mendukung konsep register.

Untuk mengetahui informasi selengkapnya tentang menampilkan jendela Register, lihat Menggunakan Jendela Register.

Saat Anda melihat jendela Register, Anda akan melihat entri seperti EAX = 003110D8.

Simbol di sebelah kiri tanda = adalah nama register, EAX, dalam hal ini. Angka di sebelah kanan tanda = mewakili konten register.

Jendela Register memungkinkan Anda melakukan lebih dari sekadar melihat konten register. Saat berada dalam mode jeda dalam kode asli, Anda dapat mengeklik konten register dan mengedit nilai. Ini bukan sesuatu yang harus Anda lakukan secara acak. Kecuali Anda memahami register yang diedit, dan data yang ada di dalamnya, hasil pengeditan yang sembarangan kemungkinan akan menjadi crash program atau konsekuensi lain yang tidak diinginkan. Sayangnya, penjelasan terperinci tentang set register dari berbagai prosesor yang kompatibel dengan Intel dan Intel jauh melampaui cakupan pengenalan singkat ini.

Grup register

Untuk mengurangi kekacauan, jendela Daftar mengatur daftar ke dalam grup. Jika mengeklik kanan jendela Register, Anda akan melihat menu pintasan yang berisi daftar grup, yang dapat Anda tampilkan atau sembunyikan sesuai keinginan Anda.

Bendera register

Untuk prosesor Intel x86, Anda mungkin melihat bendera berikut di jendela Register. Selama sesi penelusuran kesalahan, Anda juga dapat mengedit bendera ini.

Bendera Atur nilai
Luapan OV = 1
Arah UP = 1
Interupsi EI = 1
Menandatangani PL = 1
Nol ZR = 1
Carry tambahan AC = 1
Paritas PE = 1
Carry CY = 1