att

    1熱度

    1回答

    原代碼產生以下輸出:處理器供應商ID是「GenuineIntel」 赫雷什原來的代碼: 1. .section .data 2. output: 3. .ascii 「The processor Vendor ID is ‘xxxxxxxxxxxx’\n」 4. .section .text 5. .globl _start 6. _start: 7. movl $

    2熱度

    1回答

    leal -0x61(%edx), %eax cmpl $0x19, %eax ja ... ;jump if edx is not between 0x61-0x7a 根據描述,上述代碼片段檢查edx是否在0x61-0x7a之間。如果不是,則跳轉。 據我所知ja檢查ZF和CF標誌,anf跳轉,如果他們是零。 我認爲唯一能理解的是計算edx-0x7a的第二行。如果edx < 0x7

    0熱度

    1回答

    jmp *.L4 (,%rdx,8) 我正在做這項工作,作爲其無條件跳轉之一。 我的問題是: rdx * 8如何影響跳轉? * .L4之前*有什麼不同?

    2熱度

    2回答

    我試圖推入堆棧的值爲one less than %ecx。 所以,我想這個指令是: pushl $(%ecx - 1) 但是我從as得到下面的錯誤。 fact.s: Assembler messages: fact.s:49: Error: register value used as expression 作爲一種變通方法,我做了以下內容: movl %ecx, %edx subl

    1熱度

    1回答

    問題 在GCC編譯器的角度思考,AT & T語法和32位彙編,哪兩個指令將相當於: Push %eax 嘗試: 我認爲這是下面這兩個: Addl $0x4, %esp movl %eax, -0x4(%esp) 有人可以確認嗎?如果有人錯,請指點我正確的方向。謝謝!

    1熱度

    2回答

    在x86 AT & T synatax中,如何將ASCII字符串推入堆棧? (或者C程序如何將ASCII字符串推入堆棧?) 我的初始嘗試是創建數據段,使用.asciz,然後使用LEA和MOV使用位移來推送事物。但這一切都以錯誤結束。

    -1熱度

    1回答

    我使用這個寫入顯存(%ES = 0xb800): movw $0x074b,%es:(0x0) 但是,如果我想要的偏移在%斧? 我試過%es:%ax或%es:(%ax),但沒有任何工作,並且我不斷收到錯誤。 我在做什麼錯?

    -1熱度

    1回答

    我正在爲X86 AT & T程序集編寫一些代碼來進行類分配。單獨測試了所有功能,並且它們完全按照預期工作,但出於某種原因,我在代碼中的每一行的標題中都會收到警告。由於個別函數被放置在它們自己的文件中編譯,並且除了函數之外沒有任何東西,所以在這裏我沒有真正遇到什麼問題。請幫忙。 我在14.04 Ubuntu上寫它。 gcc -m32 -c pstring.s pstring.s: Assemble

    -1熱度

    1回答

    我已經在Google Play商店中創建並部署了一個Android應用程序。在開發應用程序的整個過程中,我從來沒有遇到任何連接到我的在線數據庫的問題。現在我已經在Play商店推出了它,我開始讓一些朋友解決它的問題。幾天後,我的頭撞牆,我發現他們都在T網絡上。如果他們連接到非AT &的網絡,則該應用程序無任何問題。基本上它只是阻止應用程序使用互聯網連接到我的數據庫。有沒有人聽說過這樣的問題?或者有任

    0熱度

    2回答

    使用英特爾的語法或AT & T是獨立於CPU微架構?我的意思是,編譯器的任務是將代碼翻譯成二進制代碼(如果它是獨立的(如果它是AT或英特爾語法),則可以使用任何語法編寫代碼?