x86

    0熱度

    1回答

    表達的意思是: times 512-($-$$) db 0 我知道什麼是美元符號的手段,但我不知道這意味着什麼時,它的兩倍。 雙美元符號是什麼意思?

    0熱度

    1回答

    我已經創建了一個包含不同功能的程序,具體取決於按鍵的操作。我的程序在該文件夾內創建一個文件夾,然後創建一個.txt文件。我想顯示文件夾中的.txt文件的更新列表,因爲我添加了更多並檢查它。 但是,當我運行我的程序時,它只顯示創建的最新.txt文件。我該如何解決這個問題並顯示所有.txt文件的列表? 聲明的變量: file_spec db "*.*", 0 DTA db 128h dup(0)

    0熱度

    1回答

    0x0 0x6 0x0 0x1 BIG - 00000000 00000110 00000000 00000001 LIT - 00000001 00000000 00000110 00000000 所以我期待0xcfb01420 + 2是爲0x6,但事實並非如此。我錯過了什麼嗎? (gdb) p &tx_q_sem->mlock.u.mtxa_owner $41 = (volatil

    5熱度

    1回答

    讓我們假設一個32位值被寫入跨越2頁的內存位置。爲了說明起見,我們假設2個字節在第一個頁面中結束,另外2個字節在第二個頁面中結束。第一頁是可寫的,但第二頁是未映射的。整體執行指令會觸發頁面錯誤,這很好。 我的問題是:將頁面錯誤觸發前或後的值的前2個字節寫入內存?換句話說,在故障後(例如,故障處理程序)能夠觀察到部分寫入的代碼運行? 讓我們假設一個X86環境,因爲我懷疑這個行爲可能是體系結構,甚至可

    2熱度

    1回答

    我正在與AT & T語法,但認爲我會嘗試英特爾。我有這樣的代碼: .text .global _start _start: mov ebx, 0 mov eax, 1 int 80h 應該返回0,對不對?它在轉換之前做了AT & T. as out.s -msyntax=intel --32 -o out.o ,但我得到: 我使用組裝

    6熱度

    1回答

    我有一個工具生成的x86_64體系一些GNU彙編代碼,並有以下說明: movq %rsp, %rbp leaq str(%rip), %rdi callq puts movl $0, %eax 我無法找到關於「callq」指令實際的文件。 我看過http://support.amd.com/TechDocs/24594.pdf這是「AMD64體系結構程序員手冊第3卷:通用和系統指令」,但

    0熱度

    1回答

    可以說,%eax有內容0x123和0x123有內容0x987.和地址0xabc有內容0x100。 然後,與movl (%eax), 0xabc, 將不會0x987作爲內容0xabc?爲什麼我們需要另一個註冊表來執行此操作?即 movl (%eax), %eax movl %eax, 0xabc 同樣,movl 0xabc, (%eax)不會將其移動到0x100的%eax i.e. 0x12

    1熱度

    2回答

    Hopper反彙編器如何理解函數名稱是什麼? 例如,我有一個簡單的名爲function()的Swift函數,並在使用該函數對可執行文件進行反彙編之後,Hopper告訴我它的名稱爲__T04file8functionyy。我可以在可執行文件中找到這些符號的位置,但是我找不到它如何將函數的地址與其名稱進行映射。

    0熱度

    1回答

    我期望SSE比不使用SSE更快。我是否需要添加一些額外的編譯器標誌?難道我沒有看到加速,因爲這是整數代碼而不是浮點數? 調用/輸出 $ make sum2 clang -O3 -msse -msse2 -msse3 -msse4.1 sum2.c ; ./a.out 123 n: 123 SSE Time taken: 0 seconds 124 milliseconds vect

    -1熱度

    1回答

    你好,我正在努力解決大學中的一個問題。 我們正在學習x86 asm,到目前爲止,我花了很多時間來正確理解代碼。 我試圖以簽名的方式添加+ b -c + d並返回一個64位值(long long) 問題是,代碼實際上起作用,我不明白它爲什麼會這樣做。 以下變量聲明main.c中作爲全局 char op8 = 0; short op16 = 0; int op32a=0,op32b=0; in