x86

    64熱度

    8回答

    我想在Windows下編寫一些基本的東西,我正在使用NASM,但是我什麼都不能工作。 如何編寫和編譯的Hello World無C函數在Windows的幫助?

    7熱度

    3回答

    我正在安裝100%託管代碼的.NET(C#)應用程序。安裝程序(InnoSetup)總是希望將應用程序安裝到Vista x64中的「Program Files(x86)」文件夾中,我假設這是因爲安裝程序本身只有32位。 (請糾正我,如果我錯了)下面是我的問題: 是否在x86文件夾影響我的應用程序在所有我不知道的幕後方式? 我假設我的應用程序仍將作爲真正的x64應用程序運行,儘管它位於x86文件夾中

    11熱度

    5回答

    英特爾的32位處理器(例如Pentium)具有64位寬的數據總線,因此每次訪問可獲取8個字節。基於此,我假設這些處理器在地址總線上發出的物理地址始終爲8的整數倍。 首先,這個結論是否正確?其次,如果它是正確的,那麼應該在8字節邊界上對齊數據結構成員。但我已經看到人們在這些處理器上使用4字節對齊方式。 他們怎麼能這樣做是正當的?

    40熱度

    6回答

    我一直在試圖深入理解編譯器如何生成機器代碼,更具體地說,GCC如何處理堆棧。在這樣做的過程中,我一直在編寫簡單的C程序,將它們編譯成彙編語言,並盡我所能瞭解結果。這裏有一個簡單的程序,並輸出它產生: asmtest.c: void main() { char buffer[5]; } asmtest.s: pushl %ebp movl %esp, %ebp subl $24,

    13熱度

    1回答

    我拆卸位的代碼,我碰到: mov eax, cr3 mov cr3, eax 什麼是這些線路的功能? 這是x86低級別(bios/firmware /引導加載程序之前)的初始化代碼。我們甚至還沒有建立緩存。

    3熱度

    2回答

    如何檢測另一個進程在Windows中是否以32/64位運行?我知道如何爲我自己的過程做到這一點,但不適用於不同的過程。任何語言的提示或解決方案都可以。謝謝!

    12熱度

    8回答

    什麼是彙編語法來確定哪兩個數字更大? 它的底層(機器碼)是什麼?我們能走得更低嗎?一旦我們達到了比特級別,會發生什麼?它是如何表示0和1的?

    25熱度

    6回答

    十年或兩年前,寫數字代碼是值得的,以避免使用乘法和除法,而是使用加法和減法。一個很好的例子是使用forward differences來評估多項式曲線,而不是直接計算多項式。 這仍然是這種情況,或者現代計算機體系結構先進到*,/不再比+慢多少倍, - ?具體而言,我對在現代典型x86芯片上運行的編譯C/C++代碼感興趣,這些代碼具有廣泛的板載浮點硬件,而不是試圖在軟件中執行FP的小型微代碼。我意識

    15熱度

    3回答

    您好我有拆解一些程序(Linux)的我寫的更好的理解它是如何工作的,我注意到,主要功能總是開頭: lea ecx,[esp+0x4] ; I assume this is for getting the adress of the first argument of the main...why ? and esp,0xfffffff0 ; ??? is the compiler trying

    8熱度

    6回答

    我正在尋找相當於LWARX和STWCX(在PowerPC處理器上找到的)或在x86平臺上實現類似功能的方法。此外,哪裏可以找到關於這些事情的最佳地點(例如,好的文章/網站/鎖定/免等待編程的論壇)。 編輯 我想我可能需要提供更多的細節被假定它是我只是尋找一個CAS(比較和交換)操作。我想要做的是實現一個無鎖定引用計數系統,智能指針可以被多個線程訪問和更改。我基本上需要一種方法來在x86處理器上實現