x86

    21熱度

    5回答

    例如,累加器被命名爲EAX,而指令指針被稱爲IP。我也知道有字節CL和DH。我知道所有名字必須有一個約定,但它是什麼?

    2熱度

    1回答

    我想使用相同的Visual Studio 2008部署項目構建一個x86 msi包和一個x64包。 我在項目屬性對話框中看到一個TargetPlatform,我知道我可以用它來選擇x86或x64(或Itanium)。 的問題是,我似乎不能將此屬性與項目配置相關聯(?) 理想情況下,我想能夠做的就是通過執行devenv的建立單獨的x86和x64 msi安裝。從構建腳本(批處理文件)中執行兩次,每次調

    4熱度

    5回答

    有沒有人遇到過用於Delphi的框架或庫來簡化x86代碼的生成?我不是在尋找一個彙編程序,而是一個將代碼生成過程抽象爲低級別位和字節的框架。理想情況下,我想建立在現有庫或框架之上,而不是根據具體情況對邏輯進行硬編碼。 最初的用法是在運行時生成小代碼存根,類似於Delphi分派SOAP請求的方式。如果我找不到自己想要的東西,但我不願意重新發明。如果許可證允許在商業和開源項目中進行翻譯和使用,「C」中

    6熱度

    4回答

    我看到這樣的代碼:因爲它的使用累加寄存器 mov ds, cs mov es, cs 是第一種方式速度快: mov ax, cs mov ds, ax mov es, ax 爲什麼我不能只是壓縮這?但這似乎並不直觀,因爲cs和ds是段寄存器。還是有一些我不知道的限制? 我正在使用nasm。

    2熱度

    8回答

    我有顯示字母「Z」,然後退出以下彙編程序: mov dl, 'z' mov ah, 2h int 21h mov ah, 4Ch int 21h 我與NASM組裝它和產生的文件只包含那些指令。 (10個字節)我把1000調用該程序在一個批處理文件,然後1000調用 echo z 和回聲運行約快10倍。有誰知道什麼會導致這個程序運行如此緩慢?提前致謝。

    28熱度

    4回答

    我有幾個關於在多核CPU或多處理器系統中使用的高速緩存存儲器的問題。 (雖然不直接相關的節目,它有很多的反響,同時一個針對多核處理器/多處理器系統編寫軟件,因此要求在這裏!) 在多處理器系統或多核處理器(英特爾四核處理器,內核兩條Duo等)。每個CPU核心/處理器都有自己的緩存(數據和程序緩存)? 一個處理器/內核是否可以訪問對方的緩存內存,因爲如果他們被允許訪問對方的緩存,那麼我認爲可能會有較少

    10熱度

    2回答

    我已經用C++編寫了一個「危險的」程序,它從一個棧幀來回跳轉到另一個棧幀。目標是從呼叫堆棧的最低級別跳轉到呼叫者,做一些事情,然後再次跳回,每次跳過所有呼叫。 我通過手動改變堆棧基地址(設定%ebp)和跳躍到一個標籤地址做到這一點。它完全有效,與gcc和icc都沒有任何堆棧腐敗。這一天的工作是一個很酷的一天。 現在,我採取同樣的程序,並用C重寫它,這是行不通的。具體來說,它不適用於gcc v4.0

    6熱度

    4回答

    假設我有一個需要在x86和x64平臺上運行的.Net Framework 3.5 SP1/CLR 2.0應用程序。假設無論什麼原因,我需要創建單獨的x86和x64安裝程序。 因爲無論如何,我有一個特定於x64的安裝程序,將應用程序本身重新編譯爲x64而不是定位「AnyCPU」會有什麼好處嗎? 除了生成的程序集的頭信息之外,是否將目標設置爲x64還會改變任何內容?

    9熱度

    1回答

    我最近需要在彙編級調試程序。我沒有很多彙編程序經驗,所以我想我會編寫一些簡單的C程序並單步執行,以便在開始調試其他人員代碼之前瞭解該語言。不過,我真的不明白是什麼GCC由這兩條線(編譯-ggdb -O0): items[tail] = i; tail = (tail+1) % MAX_SIZE; 其中MAX_SIZE已經#defined是5,i是一個局部變量(存儲在0x8中( %ebp),我

    8熱度

    4回答

    在i386 linux上使用軟件浮點(很容易)是否可能,而不會導致在每次調用時陷入內核的開銷?我試過-msoft浮動,但它似乎正常(Ubuntu的)C庫沒有FP庫包括: $ gcc -m32 -msoft-float -lm -o test test.c /tmp/cc8RXn8F.o: In function `main': test.c:(.text+0x39): undefined re