att

    0熱度

    2回答

    這個任務是解釋一些彙編代碼,找到一個沒有調用「爆炸炸彈」即可運行的短語。我使用gdb來反彙編當前階段。我被卡住了,關於我是否正朝着正確的方向前進的建議將非常感激。 0x0000000000400fb5 <+0>: sub $0x18,%rsp 0x0000000000400fb9 <+4>: lea 0x8(%rsp),%r8 0x0000000000400fbe <+9>: lea 0x

    0熱度

    2回答

    我是Assembly(x86 ATT語法)的初學者。我正在做一個任務,我必須通過二維數組的每個索引並找出1的數目。該方法接受2d int數組,int w,int h。我如何實現循環從0到W,並用循環指令反彈出來。我知道如何用jmp指令來做到這一點,但循環只是給我錯誤/ segFaults。這是我嘗試使用跳躍聲明並且工作正常。我將如何使用循環指令轉換內部循環? pushl %ebp movl %e

    -1熱度

    2回答

    我已經練習了很久以前的彙編程序,我想了解一個簡單的程序(我從C代碼生成彙編代碼),它添加了2個向量(實際上是2個數組)並將結果存儲在另一個向量中一個輸出數組)。我的目標是研究矢量化。爲此,我在i7內核處理器上使用Debian Wheezy下的gcc-4.9。 這裏C代碼片段(未矢量版本): #include <stdio.h> #define SIZE 10000 void test(do

    0熱度

    2回答

    我已經寫了下面的彙編代碼來將字符串從小寫字母轉換爲大寫字母,它並不完全工作,因爲我無法訪問字符串的地址, m轉換。這段代碼不工作爲什麼? #include<stdio.h> int convert(char *str) { char *ptr; __asm__ __volatile__ ("movl (%1),%%ebx;" "subl

    0熱度

    1回答

    我有一個複雜的變量,實際上是一個wav文件,我從AT & T的請求中接收回來。變量存儲爲ATT_MSSDK.TextToSpeechv1.TextToSpeechResponse(var )。我希望Unity能夠將它作爲一個audioclip播放,但我不能爲了我的生活而弄清楚如何做到這一點。你有什麼建議嗎?如果我可以怎麼解析這個變量到一個字節[]我可以將它轉換成音頻剪輯​​,但我不知道如何解析一個

    0熱度

    2回答

    32bit,AT & T/GAS語法 有時我會對存儲到寄存器的內容有些困惑。這是價值還是地址? 假設我們的函數的開頭在代碼中有這個。 movl 12(%ebp), %eax //Get i leal (%eax,%eax,2), %eax //Compute 3*i 所以12(%ebp)不是我自己的價值。它具有我的值實際位於內存中的地址。這意味着&我正在發送到寄存器eax。 下一行 Leal

    -7熱度

    2回答

    工作學習彙編和我有下面的代碼,我必須轉化爲C: pushl %ebp movl %esp, %ebp movl 12(%ebp), %eax imull $886836204, %eax, %edx movl 8(%ebp), %eax addl %edx, %eax addl $629084528, %eax popl %ebp ret 我知道,它需要兩個參數,格式爲int

    1熱度

    1回答

    誤差`在數類型不匹配是: INB %% EAX,%% EDX 我嘗試這樣做: inb %% eax,$ 0x00000064 和 inb %% eax,$ 0x64 沒有改變輸出。我也嘗試過'in'而不是'inb',但我現在在黑暗中拍攝。 任何想法?

    0熱度

    1回答

    我目前正在嘗試爲我的學習學習彙編語言。我想我只是嘗試試驗和錯誤,但我不瞭解足夠的裝配對我來說能夠做到這一點。我想寫一個簡單的程序,允許我輸入2個數字,然後將這兩個數字打印在一起,所以只需簡單地加上即可。 我試着開始只是想輸入兩個數字,比打印這兩個,但我得到了分段錯誤,當我進入第二個數字。 我想知道的另一件事就是爲什麼我有當我放入「%d \ n」而不是「%d」時,連續兩次輸入一個數字。我想打印分開的

    0熱度

    1回答

    我是X86彙編語言的初學者。我知道如何從標準輸入讀取並使用內置函數寫入標準輸出,但我不知道如何用普通的彙編代碼(即操作寄存器和利用系統調用)來完成這項工作。 #include <stdio.h> #include <unistd.h> int main(){ /* copy input to output */ char buf[BUFSIZ]; int n;