Bagikan melalui


Ekspresi MASM vs. Ekspresi C++

Perbedaan paling signifikan antara evaluasi ekspresi MASM dan evaluasi ekspresi C++ adalah sebagai berikut:

  • Dalam ekspresi MASM, nilai numerik dari simbol apa pun adalah alamat memorinya. Dalam ekspresi C++, nilai numerik variabel adalah nilai aktualnya, bukan alamatnya. Struktur data tidak memiliki nilai numerik. Sebaliknya, mereka diperlakukan sebagai struktur aktual dan Anda harus menggunakannya dengan sesuai. Nilai nama fungsi atau titik masuk lainnya adalah alamat memori dan diperlakukan sebagai penunjuk fungsi. Jika Anda menggunakan simbol yang tidak sesuai dengan jenis data C++ (seperti nama modul yang tidak dimodifikasi), kesalahan sintaks terjadi.

  • Evaluator ekspresi MASM memperlakukan semua angka sebagai nilai ULONG64. Evaluator ekspresi C++ mentransmisikan angka ke ULONG64 dan mempertahankan informasi jenis semua jenis data.

  • Evaluator ekspresi MASM memungkinkan Anda menggunakan operator apa pun bersama dengan angka apa pun. Evaluator ekspresi C++ menghasilkan kesalahan jika Anda menggunakan operator bersama dengan jenis data yang salah.

  • Dalam evaluator ekspresi MASM, semua aritmatika dilakukan secara harfiah. Dalam evaluator ekspresi C++, aritmatika penunjuk diskalakan dengan benar dan tidak diizinkan jika tidak pantas.

  • Ekspresi MASM dapat menggunakan dua garis bawah ( __ ) atau dua titik dua ( :: ) untuk menunjukkan anggota kelas. Evaluator ekspresi C++ hanya menggunakan sintaks dua titik dua. Output debugger selalu menggunakan dua titik dua.

  • Dalam ekspresi MASM, Anda harus menambahkan tanda (@) sebelum semua kecuali register yang paling umum. Jika Anda menghilangkan ini pada tanda, nama register mungkin ditafsirkan sebagai angka heksadesimal atau sebagai simbol. Dalam ekspresi C++, awalan ini diperlukan untuk semua register.

  • Ekspresi MASM mungkin berisi referensi ke baris sumber. Referensi ini ditunjukkan oleh aksen kuburan ( ` ). Anda tidak dapat mereferensikan nomor baris sumber dalam ekspresi C++.

Lihat juga

Nomor dan Operator MASM

Nomor dan Operator C++

Contoh Ekspresi Campuran

Tanda tangani Ekstensi