Daftar Isi:
- Definisi - Apa yang dimaksud dengan Non-Volatile Register?
- Techopedia menjelaskan Daftar Non-Volatile
Definisi - Apa yang dimaksud dengan Non-Volatile Register?
Register non-volatile adalah jenis register dengan konten yang harus dipertahankan lebih dari panggilan subrutin. Setiap kali nilai register nonvolatile diubah oleh rutin, nilai lama harus disimpan di stack sebelum mengubah register dan nilai itu harus dikembalikan sebelum kembali. Register mirip dengan variabel, kecuali bahwa ada jumlah register tetap. Setiap register adalah lokasi unik di CPU di mana nilai tunggal disimpan. Register adalah satu-satunya tempat di mana fungsi matematika, seperti penambahan, perkalian, pengurangan, dll., Dapat dilakukan. Register sering memegang pointer yang merujuk ke memori. Memindahkan nilai antara memori dan register adalah fenomena umum.
Techopedia menjelaskan Daftar Non-Volatile
Berikut ini adalah beberapa contoh register non-volatile:
- ebx : Daftar non-volatile yang digunakan untuk tujuan umum. Biasanya diatur ke nilai umum semua melalui fungsi untuk mempercepat perhitungan.
- esi : Daftar non-volatile yang digunakan untuk tujuan umum. Ini biasanya digunakan sebagai pointer, terutama untuk instruksi kelas "rep-" yang membutuhkan sumber dan tujuan untuk data. Di sini, esi menunjuk ke sumber. Esi umumnya menyimpan data yang digunakan sepanjang fungsi karena tidak rentan terhadap perubahan.
- edi : Register non-volatile lain yang digunakan untuk tujuan umum. Ini biasanya digunakan sebagai pointer. Sebuah edi identik dengan esi, dengan pengecualian yang biasanya menunjuk ke tujuan.
- ebp : Register non-volatile lain yang digunakan sebagai register tujuan umum. Ini memiliki dua kegunaan berbeda berdasarkan pengaturan kompilasi. Ini bisa berupa register tujuan umum atau penunjuk bingkai. Jika kompilasi belum dioptimalkan atau jika kodenya ditulis tangan, ebp memonitor lokasi stack ketika suatu fungsi dimulai. Karena stack diubah semua melalui fungsi, ketika ebp diatur pada nilai asli, variabel yang disimpan di stack diizinkan untuk direferensikan dengan mudah. Jika kompilasi telah dioptimalkan, ebp akan digunakan sebagai register tujuan umum untuk menyimpan semua jenis data, sementara perhitungan untuk penunjuk tumpukan dilakukan tergantung pada pergerakannya.