cpu-registers

    0熱度

    2回答

    可一個普通的數組(arr)投入CPU寄存器在以下情況: int arr[6] {/*some values*/}; const auto lambda_f = [arr](int input) {/*some manipulations on array elements and input*/}; // further usage of lambda_f 如果不能,我應該如何重寫代碼,使

    1熱度

    2回答

    我寫了這段代碼,但我的教授一直告訴我要保存和恢復我的寄存器。我以爲我是通過向空的寄存器聲明一個值。 program middleFinder; #include("stdlib.hhf"); // imports the input and output library static iDataX : int16 := 0; iDataY : int16 := 0; iDataZ : i

    0熱度

    1回答

    如何從SP寄存器獲取實際值? 我想用一些初始值填滿整個SRAM,但我不想覆蓋堆棧的實際內容。 我的啓動代碼(其也覆蓋堆的實際內容): void RESET_handler() { unsigned *src, *dst; // initialize memory // ..... // fill SRAM dst = &_bss_end;

    2熱度

    1回答

    我剛剛有一個問題,我似乎無法找到一個體面的答案。 我給這個代碼: 0020 mov eax, [ebp+0x0c]; value inside = 0x000000ff 0023 mov cl, [ebp+ox08]; value inside- 0x82 0026 cmp al, cl 0028 jl label ;label is at address 003c, jl is si

    -2熱度

    1回答

    如何實際執行該指令,不被存儲在RAM或僅該指令的ADRESS被存儲在RAM ,然後使用該指令CPU獲取完整的指令數據要執行

    1熱度

    2回答

    它在ATMega32U4 MCU上工作正常,但是.....當電池供電時,它無法檢測到與USB斷開連接。它可以檢測到重新連接(false),並在此之後成爲真實狀態,但不會斷開連接。 例如: bool TEnjoyPad::isUSBConnected() { #if defined(UDADDR) && defined(_BV) && defined(ADDEN) //setDela

    0熱度

    1回答

    我在學習彙編,它在某種程度上是有意義的,但我有一個問題。我有這個源文件hello.sfml: ; nasm -felf64 hello.asml && ld hello.o global _start section .text _start: ; write(1, message, 13) mov rax, 1 ; syscall 1 is w

    2熱度

    1回答

    就此wikipedia article所示,在取指週期中,PC將其內容發送到連接到地址總線的MAR。然後個人計算機會增加(正如這裏,值被複制,所以如果我們直接將PC與地址總線連接,則不需要MAR)。 我的問題是爲什麼PC不直接連接地址總線?它將比以前的版本快得多。 MAR在這裏服務有什麼特別的目的? 同樣適用於MBR和IR,這裏的數據是從MBR→IR複製的。我在這裏錯過了什麼? 任何幫助,將不勝感

    3熱度

    1回答

    索引尋址模式通常用於訪問數組,因爲數組是連續存儲的。我們有一個索引寄存器,它在每次迭代時都會增加,當它被添加到基地址時,會給出數組元素地址。 我不明白這種尋址模式的實際需要。爲什麼我們不能直接尋址?我們有基地址,每次訪問時我們都可以加1。爲什麼我們需要索引尋址模式,它具有索引寄存器的開銷? 我不確定隱含尋址模式的指令格式。假設我們有一個INC AC指令。是指令中指定的AC地址還是有一個特殊的操作碼

    -1熱度

    1回答

    如果緩存未命中發生,數據將被直接從主存儲器移到註冊中,或者數據先移到緩存然後註冊?有直接的方式連接寄存器和主內存嗎?