r (Daftar)

Perintah r menampilkan atau memodifikasi register, register floating-point, bendera, pseudo-registers, dan alias nama tetap.

User-Mode

[~Thread] r[M Mask|F|X|?] [ Register[:[Num]Type] [= [Value]] ] 
r.

Kernel-Mode

[Processor] r[M Mask|F|X|Y|YI|?] [ Register[:[Num]Type] [= [Value]] ] 
r.

Parameter

Prosesor
Menentukan prosesor tempat pendaftaran dibaca. Nilai defaultnya adalah nol. Jika Anda menentukan Prosesor, Anda tidak dapat menyertakan parameter Daftar --semua register ditampilkan. Untuk informasi selengkapnya tentang sintaks, lihat Sintaks Multiproscessor. Anda hanya dapat menentukan prosesor dalam mode kernel.

Thread
Menentukan utas tempat register dibaca. Jika Anda tidak menentukan utas, utas saat ini akan digunakan. Untuk informasi selengkapnya tentang sintaks, lihat Sintaks utas. Anda hanya dapat menentukan utas dalam mode pengguna.

Masker M
Menentukan masker yang akan digunakan saat debugger menampilkan register. Huruf "M" harus huruf besar. Masker adalah jumlah bit yang menunjukkan sesuatu tentang tampilan register. Arti bit tergantung pada prosesor dan mode (lihat tabel di bagian Keterangan berikut untuk informasi selengkapnya). Jika Anda menghilangkan M, masker default akan digunakan. Anda dapat mengatur atau menampilkan masker default dengan menggunakan perintah Rm (Register Mask).

F
Menampilkan register floating-point. Huruf "F" harus huruf besar. Opsi ini setara dengan M 0x4.

X
Menampilkan register SSE XMM. Opsi ini setara dengan M 0x40.

Y
Menampilkan register AVX YMM. Opsi ini setara dengan M 0x200.

YI
Menampilkan register bilangan bulat AVX YMM. Opsi ini setara dengan M 0x400.

Z
Menampilkan register YMM AVX-512 (zmm0-zmm31) dalam format floating point.

ZI
Menampilkan register AVX-512 YMM (zmm0-zmm31) dalam format bilangan bulat.

K
Tampilkan register predikat AVX-512 Opmask (K0-K7).

?
(Hanya penetapan Pseudo-register) Menyebabkan pseudo-register memperoleh informasi yang ditik. Jenis apa pun diizinkan. Untuk informasi selengkapnya tentang sintaks r? , lihat Contoh Program Perintah Debugger.

Daftar
Menentukan register, flag, pseudo-register, atau fixed-name alias untuk ditampilkan atau diubah. Anda tidak boleh mendahului parameter ini dengan tanda (@). Untuk informasi selengkapnya tentang sintaks, lihat Mendaftarkan Sintaks.

Bilangan
Menentukan jumlah elemen yang akan ditampilkan. Jika Anda menghilangkan parameter ini tetapi Anda menyertakan Jenis, panjang pendaftaran penuh ditampilkan.

Jenis
Menentukan format data untuk menampilkan setiap elemen register. Anda dapat menggunakan Jenis hanya dengan register vektor 64-bit dan 128-bit. Anda dapat menentukan beberapa jenis.

Anda bisa menentukan satu atau beberapa nilai berikut ini.

Jenis Format tampilan

Ib

Byte yang ditandatangani

Ub

Byte tidak ditandatangani

Iw

Kata yang ditandatangani

uw

Kata tidak ditandatangani

id

DWORD yang Ditandatangani

Ud

DWORD tidak ditandatangani

Iq

Quad-word yang ditandatangani

Uq

Quad-word tidak ditandatangani

f

Floating-point 32-bit

-d

Floating-point 64-bit

Nilai
Menentukan nilai yang akan ditetapkan ke register. Untuk informasi selengkapnya tentang sintaks, lihat Sintaks Ekspresi Numerik.

.
Menampilkan register yang digunakan dalam instruksi saat ini. Jika tidak ada register yang digunakan, tidak ada output yang ditampilkan.

Lingkungan

Item Deskripsi
Mode Mode pengguna, mode kernel
Target Live, crash dump
Platform Semua

Informasi Tambahan

Untuk informasi selengkapnya tentang konteks pendaftaran dan pengaturan konteks lainnya, lihat Mengubah Konteks.

Keterangan

Jika Anda tidak menentukan Daftar, perintah r menampilkan semua register non-floating-point, dan perintah rF menampilkan semua register floating-point. Anda dapat mengubah perilaku ini dengan menggunakan perintah rm (Register Mask).

Jika Anda menentukan Daftar tetapi Anda menghilangkan tanda sama dengan (=) dan parameter Nilai , perintah menampilkan nilai register saat ini.

Jika Anda menentukan Daftar dan tanda sama dengan (=) tetapi Anda menghilangkan Nilai, perintah menampilkan nilai register saat ini dan meminta nilai baru.

Jika Anda menentukan Daftar, tanda sama dengan (=), dan Nilai, perintah mengubah register menjadi berisi nilai . (Jika mode diam aktif, Anda dapat menghilangkan tanda sama dengan. Anda dapat mengaktifkan mode diam dengan menggunakan perintah sq (Atur Mode Diam). Dalam mode kernel, Anda juga dapat mengaktifkan mode diam dengan menggunakan variabel lingkungan KDQUIET.)

Anda dapat menentukan beberapa register, dipisahkan dengan koma.

Dalam mode pengguna, perintah r menampilkan register yang terkait dengan utas saat ini. Untuk informasi selengkapnya tentang utas, lihat Mengontrol Proses dan Utas.

Dalam mode kernel, perintah r menampilkan register yang terkait dengan konteks register saat ini. Anda dapat mengatur konteks register agar sesuai dengan utas, rekaman konteks, atau bingkai trap tertentu. Hanya register terpenting untuk konteks register yang ditentukan yang benar-benar ditampilkan, dan Anda tidak dapat mengubah nilainya. Untuk informasi selengkapnya tentang konteks pendaftaran, lihat Mendaftarkan Konteks.

Saat Anda menentukan register floating-point berdasarkan nama, opsi F tidak diperlukan. Saat Anda menentukan satu register floating-point, nilai heksadesimal mentah ditampilkan selain nilai desimal.

Bit Mask berikut didukung untuk prosesor berbasis x86 atau prosesor berbasis x64.

Bit Nilai Deskripsi

0 1

0x1 0x2

Menampilkan register bilangan bulat dasar. (Mengatur satu atau kedua bit ini memiliki efek yang sama.)

2

0x4

Menampilkan register titik mengambang.

3

0x8

Menampilkan register segmen.

4

0x10

Menampilkan register MMX.

5

0x20

Menampilkan register debug. Dalam mode kernel, mengatur bit ini juga menampilkan register CR4.

6

0x40

Menampilkan register SSE XMM.

7

0x80

(Hanya mode kernel) Menampilkan register kontrol, misalnya CR0, CR2, CR3 dan CR8.

8

0x100

(Hanya mode kernel) Menampilkan deskriptor dan daftar status tugas.

9

0x200

Menampilkan register AVX YMM di floating point.

10

0x400

Menampilkan register AVX YMM dalam bilangan bulat desimal.

11

0x800

Menampilkan register AVX XMM dalam bilangan bulat desimal.

Contoh kode berikut menunjukkan perintah r untuk prosesor berbasis x86.

Dalam mode kernel, perintah berikut menunjukkan register untuk prosesor 2.

1: kd> 2r 

Dalam mode pengguna, perintah berikut menunjukkan register untuk utas 2.

0:000> ~2 r 

Dalam mode pengguna, perintah berikut menampilkan semua register eax yang terkait dengan semua utas (dalam urutan indeks utas).

0:000> ~* r eax

Perintah berikut mengatur register eax untuk utas saat ini ke 0x000000FF.

0:000> r eax=0x000000FF

Perintah berikut mengatur register st0 ke 1.234e+10 ( F bersifat opsional).

0:000> rF st0=1.234e+10

Perintah berikut menampilkan bendera nol.

0:000> r zf 

Perintah berikut menampilkan register xmm0 sebagai 16 byte yang tidak ditandatangani lalu menampilkan konten lengkap register xmm1 dalam format floating-point presisi ganda.

0:000> r xmm0:16ub, xmm1:d 

Jika sintaks saat ini adalah C++, Anda harus mendahului register dengan tanda (@). Oleh karena itu, Anda dapat menggunakan perintah berikut untuk menyalin register ebx ke register eax .

0:000> r eax = @ebx

Perintah berikut menampilkan pseudo-registers dengan cara yang sama seperti perintah r menampilkan register.

0:000> r $teb

Anda juga dapat menggunakan perintah r untuk membuat alias nama tetap. Alias ini bukan register atau pseudo-register, meskipun dikaitkan dengan perintah r . Untuk informasi selengkapnya tentang alias ini, lihat Menggunakan Alias.

Berikut adalah contoh perintah r. pada prosesor berbasis x86. Entri terakhir dari tumpukan panggilan mendahului perintah itu sendiri.

01004af3 8bec            mov     ebp,esp
0:000> r.
ebp=0006ffc0  esp=0006ff7c