Bagikan melalui


_emit Pseudoinstruction

Khusus Microsoft

pseudoinstruction _emit mendefinisikan satu byte di lokasi saat ini di segmen teks saat ini. Pseudoinstruction _emit menyerupai arahan DB MASM.

Fragmen berikut menempatkan byte 0x4A, 0x43, dan 0x4B ke dalam kode:

#define randasm __asm _emit 0x4A __asm _emit 0x43 __asm _emit 0x4B
.
.
.
__asm {
    randasm
    }

Perhatian

Jika _emit menghasilkan instruksi yang memodifikasi register, dan Anda mengkompilasi aplikasi dengan pengoptimalan, pengkompilasi tidak dapat menentukan register apa yang terpengaruh. Misalnya, jika _emit menghasilkan instruksi yang memodifikasi rax register, pengkompilasi tidak tahu bahwa rax telah berubah. Pengkompilasi kemudian dapat membuat asumsi yang salah tentang nilai dalam register tersebut setelah kode perakit sebaris dijalankan. Akibatnya, aplikasi Anda mungkin menunjukkan perilaku yang tidak dapat diprediksi saat dijalankan.

END Khusus Microsoft

Lihat juga

Menggunakan Bahasa Assembly di Blok __asm