x86

    0熱度

    1回答

    處理頁面目錄(頁表)中的內核區域地址轉換是否必須是全局轉換?

    3熱度

    1回答

    我正在使用Visual Studio 2017,並且想要測試$符號。使用下面的代碼,我期望var1和var2的值是不同的,但它們是相同的。 .data var1 DWORD $ var3 BYTE 16 dup (0FFh) var2 DWORD $ 這是一個什麼樣VS顯示內存 的圖像VAR1值對我來說很有意義,但是如果$應該顯示下一個內存地址,爲什麼VAR2顯示與var1相同的?它不應

    0熱度

    1回答

    我看到這種情況下,從一個網站: cmpl $0x0,-0x20(%ebp) jne xxx (program terminated so -0x20(%ebp) == 0) cmpl $0x1,-0x1c(%ebp) jne xxx (program terminated so -0x1c(%ebp) == $1) 則: lea -0x18(%ebp),%ebx mov -0x

    0熱度

    2回答

    PCI卡可以有一些與其關聯的內存(映射到內存空間或映射到IO空間)。 現在說我們有一個PCI以太網卡(並且它使用內存映射IO),以太網卡將有一些內存作爲緩衝區來放置數據以發送線路,並且每當以太網驅動程序想要通過電線發送數據,它可以要求以太網卡這樣做。 現在我假定以太網卡映射內存的一部分是一個「命令寄存器」,並且當您向該命令寄存器寫入例如字符串"send it"時,以太網卡將向緩衝區發送緩衝區。 現

    0熱度

    1回答

    正如我們在x2APIC中所知,我們使用MSR而不是由xAPIC使用的MMIO。 但根據我的測試,我發現MSR訪問的速度比MMIO慢得多。 例如,在我的環境我寫了下面一個簡單的測試用例: static __inline__ void __loApicWrite ( UINT32 * addr, UINT32 value ) { __asm__ volatile ( "m

    0熱度

    1回答

    我想解決一個問題,要求用戶輸入用戶名。如果該用戶名是迴文(即字符串的反轉與原始字符串相同),則應打印「重新輸入用戶名」並再次輸入。如果沒有,它應該打印'OK'並終止。我寫了下面的代碼,並且一直無法找到它的謬誤。如果有人能指出我的錯誤,這將是很大的幫助。提前致謝。 data segment str0 db 'Enter username: $' str db '$' str1 db 'OK$'

    3熱度

    1回答

    假設我的計算機中有一個並行端口,現在並行端口會有一些與CPU相關的內存(不確定並行端口是否使用內存映射IO或端口映射IO)。 現在,如果我想發送信號到並行端口或從並行端口接收信號,我將不得不寫入或讀取與並行端口關聯的內存。 現在說我有一臺打印機連接到並行端口,打印機也將有一些內存(例如:它可能有一個緩衝區,它用來存儲它應該打印的數據)。 我的問題是,CPU可以直接訪問打印機的內存,例如,CPU可以

    -2熱度

    1回答

    所以我有2個寄存器,eax其中容納0xDEADC0DE和ebx其中持有0x1337CA5E。 第一個數字大於第二個數字。但是,在cmp指令:cmp eax, ebx之後SF(符號標誌)已設置。爲什麼? 爲什麼如果結果是肯定的(eax - ebx)?

    2熱度

    1回答

    這是我第一次問,所以我要在這裏盡我所能,但是我在彙編任務中遇到了麻煩,在這個彙編任務中我給了一個.cpp文件(下面),並且必須創建一個包含乘法,方形和除法函數的.asm文件。我遇到的問題是Square和Multiply函數完成後,我必須調用PrintResult來顯示答案。對於分區,成功的分隔返回1,不成功的分隔返回0並調用PrintResult顯示失敗消息。我不允許編輯他的.cpp文件,但我不知

    0熱度

    1回答

    你們能告訴我我在哪裏弄錯了嗎? 我需要在inline-assembly -2xy-3z中計算它。 int solution(int x, int y, int z) { x=4; y=5; z=2; int result; __asm { mov eax, -2 imul [x] imul [y]