cpu-registers

    0熱度

    2回答

    我想爲Atmel ATMega32U4實現與Arduino的引腳號類似的東西。我看過Arduino的digitalWrite命令和相關的源文件,看看它們是如何做的,但我認爲這有點複雜,所以我想實現一個更基本的版本。 這個想法是有整數1到n代表AVR芯片上的每個I/O引腳。我開始用指針數組的DDR/PORT寄存器,其中該指數將代表銷地址: volatile uint8_t *pin_port_dir

    0熱度

    1回答

    section .bss length equ 16 number: resb length 這僅適用於64個位: mov qword[number], 43271 這被表示只有8個字節(64位)的。我需要將值存儲在128位內存中,但我不知道如何做到這一點。 感謝

    1熱度

    1回答

    我知道內存中的寄存器是32位。我也明白,磅將從存儲器的內容裝入一個寄存器的低8位,和,如果我 lb $t1, $a3 lb $t1, 4($a3) 第二磅命令將覆蓋在所述第一加載的內容。但是,是否有辦法寫入寄存器的第二個字節(從內存中的不同部分加載,因此不是兩個字節緊挨着),並保留第一個字節的信息?

    1熱度

    2回答

    我正在寫一個x86的彙編程序是需要作爲參數: 在[ESP+4]:32位整數後面的數字。 從[ESP+8]開始:要加起來的32位整數列表。 它返回從[ESP+8]開始傳遞的所有整數的總和。所以,基本上,該函數的C語言是: int addN(int numberofitems, ...); 我有兩種方式寫這x86彙編程序的選項: 第一種方式(乘以項目的大小內地址位移): addN PROC

    0熱度

    1回答

    爲什麼PC在單週期數據通路中不需要顯式寫入信號?爲什麼在多週期數據通路中需要明確的寫入控制信號? 謝謝

    0熱度

    1回答

    我有一個基本的問題efi mm command。 我需要控制SOC內的控制器(MAC),並讓它產生到外部PHY芯片的MDIO流量,以讀取其ID。 指令告訴我,做下EFI外殼下面 殼牌>mm xxxxxxx yyyyyyy -w 4 -MEM -n 殼牌>mm xxxxxxx -w 4 -MEM -n 我不知道發生了什麼mm命令嗎? 看起來像是寫xxxxxx註冊了yyyyyy的數據,然後再「mm」這

    0熱度

    1回答

    你可以在寄存器中存儲除存儲器地址以外的任何內容嗎?我試圖在谷歌上找到答案,但我發現的是,你可以存儲指針。這意味着你也可以存儲其他的東西,但是如何存儲一個64位的值,例如,如果一個寄存器只有32位長,

    1熱度

    2回答

    所以我有一個有5個參數的方法。正如預期的那樣,寄存器版權狀態,它被稱爲前: $rdi: The receiver $rsi: the selector for the method $rdx: first arg $rcx: second arg $r8: third arg $r9: fourth arg $r10 fifth arg 在這個方法中,它做的第一件事是調用另一個Ob

    4熱度

    2回答

    拆卸時,常常看到不考慮方向標誌(DF)的狀態正在使用該字符串操作指令,是這樣的: or ecx, 0FFFFFFFFh xor eax, eax mov edi, ebp repne scasb CLD或STD指令沒有找到,因爲函數開始,既沒有可能影響DF標誌的其他指令。 因爲程序啓動後,編譯器會假定這個標誌的預定義狀態,是否爲加載程序,並在程序運行時保持不變?

    -1熱度

    1回答

    mov (%rax),%eax和mov %rax,%eax有什麼區別?我確信這是一個簡單的問題,但我無法在任何地方找到答案。 這是促使我的問題的原代碼: mov -0x8(%rbp),%rax mov (%rax),%eax lea (%rax,%rax,1),%edx mov -0x8(%rbp),%rax mov %edx,(%rax) mov -0x8(%rbp),%rax mo