instructions

    2熱度

    1回答

    我想更深入地瞭解llvm中的指令選擇過程,並且我正在逐步調試CodeGenAndEmitDAG函數。在組合步驟之前,我已經打印了一個小功能(見下文) - 上述功能的第一步。在圖中,我看到藍線,看起來它們總是指向「ch」,我認爲這意味着「其他」機器值類型。我不明白的是藍線的含義......這種依賴性是什麼?而且,我對「ch」的含義是否正確?是「其他」嗎?

    2熱度

    1回答

    我明白,下面的指令是指一個方法調用已經發生: invokestatic:indexbyte1=00 indexbyte2=02 我的理解是,找到了該方法的常量池索引被調用時,移位操作執行: 00 << 8 + 02 這等於零,這不是常量池索引中的有效條目。我誤解了所需的計算? 我想了解這是如何手動完成的,所以反編譯器將無濟於事。

    0熱度

    1回答

    下面是使用快捷操作碼的英特爾的x64手冊1159頁彈出說明: 58+ rw POP r16 Pop top of stack into r16; increment stack pointer. 58+ rd POP r64 Pop top of stack into r64; increment stack pointer. 做這些指令使用Rex.R或Rex.B編碼寄存器9-16還是

    0熱度

    1回答

    這裏有一個非常基本的問題。 一個寄存器可以同時具有一個值和一個地址。正如假設我想值之間進行切換:存儲在T0 5並存儲在T1 7做此代碼的工作: sw $t0, 0($t0) sw $t1, 0($t1) lw $t1, 0 ($t0) lw $t0, 0 ($t1) 對不起這聽起來愚蠢

    4熱度

    3回答

    我目前正在嘗試使用程序集加速Cortex-M0(Freescale KL25Z)上的一些C函數。我得到這個最小的測試程序有問題: @.syntax unified .cpu cortex-m0 .text .global test .code 16 test: mov r0, #0 adds r0, r0, #1 bx lr 當我嘗試組裝

    -4熱度

    1回答

    現在,我面臨着我的應用程序出現問題。 我想在我的應用上製作一個動畫手,以這種方式幫助用戶如何使用它。 我給了一個圖片樣本。請幫忙。 http://i.stack.imgur.com/IgAMU.png

    2熱度

    1回答

    可以在x86 CPU上的本機OCaml中生成指令popcnt,bsf,bsr和lzcnt指令嗎?

    -2熱度

    1回答

    這組指令有什麼作用? 7ffff7a97759 mov 0x33b780(%rip),%rax # 0x7ffff7dd2ee0 7ffff7a97760 mov (%rax),%rax 7ffff7a97763 test %rax,%rax 7ffff7a97766 jne 0x7ffff7a9787a 我不明白這些說明會做什麼,有人可以解釋嗎?

    0熱度

    1回答

    考慮一個具有主存儲器M的容量爲2n-1個n位字的假想計算機。 CPU包含一個n位累加器AC和一個(n-1)位程序計數器PC.It具有兩個n位指令的庫,其中最左邊的位是操作碼,其餘的位形成M中的地址。第一條指令稱爲SUBS(Subract and store)。 SUBS X導致以下微指令發生: AC←AC - M(X) M(X)←AC PC←PC + 1 第二指令爲這導致下面的操作無條件分支JUM

    1熱度

    1回答

    我需要檢查指令BNDSTX(英特爾MPX擴展添加的新指令)是否可以在ring3中運行,或者它是否專門用於ring0。我認爲Intel ISA extension manual應該包含我需要的所有信息,但我沒有在那裏找到特權信息。 我看錯了地方,還是我忽略了它?