Bagikan melalui


Daftarkan Sintaks

Debugger dapat mengontrol register dan register floating-point.

Saat Anda menggunakan register dalam ekspresi, Anda harus menambahkan tanda @ (@) sebelum register. Tanda ini memberi tahu debugger bahwa teks berikut adalah nama register.

Jika Anda menggunakan sintaks ekspresi MASM, Anda dapat menghilangkan tanda @ untuk register yang sangat umum tertentu. Pada sistem berbasis x86, Anda dapat menghilangkan tanda at untuk register eax, ebx, ecx, edx, esi, edi, ebp, eip, dan efl . Namun, jika Anda menentukan register yang kurang umum tanpa tanda, debugger terlebih dahulu mencoba menginterpretasikan teks sebagai angka heksadesimal. Jika teks berisi karakter non-heksadesimal, debugger selanjutnya menginterpretasikan teks sebagai simbol. Terakhir, jika debugger tidak menemukan kecocokan simbol, debugger menafsirkan teks sebagai register.

Jika Anda menggunakan sintaks ekspresi C++, tanda at selalu diperlukan.

Perintah r (Registers) adalah pengecualian untuk aturan ini. Debugger selalu menginterpretasikan argumen pertamanya sebagai register. (Tanda @ tidak diperlukan atau diizinkan.) Jika ada argumen kedua untuk perintah r, argumen tersebut ditafsirkan sesuai dengan sintaks ekspresi default. Jika sintaks ekspresi default adalah C++, Anda harus menggunakan perintah berikut untuk menyalin register ebx ke register eax .

0:000> r eax = @ebx

Untuk informasi selengkapnya tentang daftar dan instruksi yang khusus untuk setiap prosesor, lihat Arsitektur Prosesor.

Bendera pada Prosesor berbasis x86

Prosesor berbasis x86 juga menggunakan beberapa register 1-bit yang dikenal sebagai bendera. Untuk informasi selengkapnya tentang bendera ini dan sintaks yang dapat Anda gunakan untuk menampilkan atau mengubahnya, lihat Bendera x86.

Daftar dan Utas

Setiap utas memiliki nilai register sendiri. Nilai-nilai ini disimpan di register CPU saat utas berjalan dan dalam memori saat utas lain berjalan.

Dalam mode pengguna, referensi apa pun ke register ditafsirkan sebagai register yang terkait dengan utas saat ini. Untuk informasi lebih lanjut tentang utas saat ini, lihat Mengontrol Proses dan Utas.

Dalam mode kernel, referensi apa pun ke register ditafsirkan sebagai register yang terkait dengan konteks register saat ini. Anda dapat mengatur konteks register agar sesuai dengan utas, rekaman konteks, atau bingkai trap tertentu. Anda hanya dapat menampilkan register terpenting untuk konteks register yang ditentukan, dan Anda tidak dapat mengubah nilainya.