machine-instruction

    9熱度

    3回答

    關於什麼機器代碼實際上似乎有很多意見。我聽說有人說它是程序集,二進制或十六進制。 它是正確的說,機器代碼本質上是爲特定的處理器的指令集?如果是這樣,我想這些可以用二進制或十六進制表示法或彙編表示。但是非翻譯的「實際」機器代碼是什麼樣的?它是基於體系結構的字大小嗎?或者是十六進制的所有意圖和目的的默認表示? 坐在硬盤上時它看起來像什麼?坐在登記冊裏的樣子是什麼?如何處理它,它只是一組電壓變化?

    0熱度

    1回答

    在處理器堆棧上push mov和pop等都是單個指令。 編譯源代碼時,編譯器生成單機指令版本,但在運行期間,假設堆棧是...以及常規堆棧容器,在運行時訪問存儲在堆棧中的值需要函數調用翻譯成噸機器碼。 對於動態運行時對象,可以達到相同級別的效率,而不是使用比單個機器指令長的setter和getter成員函數? 我的想法是使用標記指針,但我不知道如何從字面上將其值推入內存位置,或者在運行時從內存位置中

    4熱度

    4回答

    待辦事項操作,如集,閱讀,移動和比較所有采取相同的時間執行? 如果不是:有沒有辦法找出多久。 有一些名字我的意思,執行不同的彙編語言指令的某些特定類型的CPU的速度(移動,閱讀等)

    0熱度

    2回答

    我很困惑將十六進制機器指令轉換爲符號操作碼。我有這個部分的一些審查問題: What machine code is generated for the instruction: sbb al, 10 sbb reg/mem from reg/mem 0001 10dw | mod reg r/m | disp-lo | disp-hi sbb immed from reg/mem 1000

    8熱度

    3回答

    在今天的現代處理器上,分支條件下的大於或大於或等於比較之間是否存在任何性能差異?如果我的情況同樣容易,那麼選擇>超過>=或反之亦然? (這將用於英特爾或AMD硬件上的編譯語言)

    0熱度

    1回答

    如何找出典型的wifi掃描在android設備中執行多少個指令週期?當然,它會因設備而異,但有沒有辦法找到它?我正在使用eclipse。指令是: wifiManager.startScan(); 其中wifiManager是WifiManager類的一個實例。 我也想知道以毫秒爲單位執行掃描的時間,即執行所述指令。我發現它使用 System.currentTimeMillis();

    7熱度

    2回答

    我想檢查在glibc中執行系統調用的代碼。我發現了這樣的事情。 ENTRY (syscall) movq %rdi, %rax /* Syscall number -> rax. */ movq %rsi, %rdi /* shift arg1 - arg5. */ movq %rdx, %rsi movq %rcx, %rdx movq %r

    0熱度

    1回答

    在MIPS的sll指令,就只能採取5位。如果轉移數量超過31,轉換工作將如何進行?我們如何用5位來表示? 謝謝

    2熱度

    1回答

    因此,我正在研究一些代碼(用於x86),我需要獲取指令的源或目標點。爲此,我需要說明ModRM或REG是目標還是源的方向位。此外,我需要能夠處理即時值。到目前爲止,我可以處理指令,它是主操作碼(以及前綴)。我想知道最簡單的方法是什麼,或者任何人都可以指向我確定目標/源代碼的好例子(例如寄存器,內存地址或直接操作數)。我見過很多解碼器,但其中大多數都是專門爲一件事而構建的,而那些包含許多功能的解碼器

    1熱度

    1回答

    我很難理解時鐘週期。問題出在這裏,我得到一個程序,它有兩條指令X和Y,我知道X在20%的時間內運行,需要8個時鐘週期,另一條指令Y在80%的時間內運行,需要2個時鐘週期。如果我的程序有1000萬條指令,我需要找到: A.執行一條指令的最小時鐘週期數是多少? B.使用Amdahl定律,可以通過提高指令X. 這是我huntch,請您幫我在哪裏,我錯了,被發現的最高車速可達。對於一個執行一條指令的最小時