2010-04-02 21 views
6

this question üzerinden okuyordum ve kabul edilen yanıtın mimariyi belirlemenin bir yolu olup olmadığını merak ettim. Mesela, asm'da bir WORD'u yığının üzerine itip SP'yi kontrol edebilirim. Eski SP'ye yeni SP karşılaştırın: 4Montajda 32/64 bit mimariyi belirle

Diff 8 32 bit
Diff Bit

64 Bu düşüncenin içinde haklı mıyım anlamına gelir?

+2

32-bit ve 64-bit derleme yönergeleri farklı olduğu izlenimi altındaydım. En azından x86 ile x86-64 arasında. – Powerlord

+2

Bilmiyorum, ancak 64 bit desteği bulmak istiyorsanız, CPUID komutunu kullanabilirsiniz. –

+1

Normalde, hedefin 64 bit veya 32 bit olup olmadığı derleme zamanında bilinir. Bu hilenin faydalı olabileceği nadir bir durum olurdu. Ayrıca, tahminimce, ilgili bayrağın böyle bir hile yapmadan doğrudan incelemenin bir yolu var. –

cevap

6

Hayır, yığınının boyutu, hangi modda çalıştığınıza bağlı olduğundan (gerçek, korumalı, uzun/64, vm86, smm vb.), Mimaride değil. Derlemeniz korumalı modda çalışıyorsa, işlemciniz x86-64 olsa bile, yığınız 32 bit (veya işlenenler 16 bit ise 16) olacaktır.

Belirtilen yorumlarda biri gibi, CPUID mimarinizin ne olduğunu söylemenin tek güvenilir yoludur.

+0

Tamam ... bu mantıklı. – IAbstract