2011-02-04 23 views
1

我不確定16位或32位應用程序的含義。 16位應用程序是不需要超過2^16字節內存空間的應用程序嗎?這個16位是指應用程序的最大大小嗎?32位應用程序的含義是什麼?

+0

這已經被徹底的超級用戶回答:http://superuser.com/questions/56540/32-bit-vs-64-bit-systems – 2011-02-04 11:57:42

回答

2

A 32-bit application is software that runs in a 32-bit flat address space.

常見問題的答案

將一個64位的CPU上運行的OS的64位版本的標準(32位)程序? 是的。 64位系統向後兼容32位對應。

64位操作系統會在64位處理器上運行標準應用程序嗎? 再次,它會。這是因爲向後兼容。

我可以在64位CPU上運行W2K和WXP,並使用舊軟件嗎? 是的,32位操作系統(W2K和WXP)將在64位處理器上運行。另外,您應該能夠在64位操作系統上運行「舊軟件」。

2

這意味着應用程序已編譯爲具有16位內存尋址或32位內存尋址的處理器。 64位應用程序也是如此。

該數字是指應用程序可以處理的最大內存量。

請參閱維基百科 - 16-bit,32-bit,64-bit(以及更多)。

+0

再加上有不同的指令設置在16位和32位之間 – 2011-02-04 11:53:28

0

地址模式(例如「[use16]」和「[use32]」))的編號指令的編號(32或16)是而不是指的是應用程序可以處理的最大內存量!

因爲使用80386 +,還可以將operandsize和addressressize前綴與16位PM結合使用,以處理高達4 GB的RAM。

(最大的存儲器,我們的應用程序可以是使用量指的所述segmentsize的段條目的GDT/LDT選擇器的內部,或通過的64 kb的片段的默認大小。)

32位和16位地址模式之間唯一的區別在於這些操作數大小和地址大小前綴的含義和用法。

[USE16]

因此,如果我們想在16位addressmode 32位的操作數/地址的使用,那麼我們對那些前綴添加到我們的操作碼。沒有這些前綴我們只能使用16位。

[USE32]

在32位addressmode我們發現了一個直徑相反的情況,所以如果我們要使用32位的操作數/地址,那麼我們必須從我們的操作碼離開了那些前綴,只如果我們想要使用16個操作數/地址,那麼我們必須將這些前綴添加到我們的操作碼中。

如果我們仔細使用這些尺寸指令(或類似的符號),那麼我們的彙編程序將完成這項工作。

Operand size prefix in 16-bit mode

德克

相關問題