x86

    0熱度

    2回答

    如何在只使用新行代碼的情況下打印新行3次儘管輸入了相同的代碼3次 include emu8086.inc ORG 100h PRINT 'ENTER THREE INITIALS: ' MOV AH,1 INT 21H MOV BL,AL INT 21H MOV CL,AL INT 21H MOV BH,AL

    -1熱度

    1回答

    我遇到了一個錯誤,而調試我的程序,甚至閱讀彙編代碼 下面是從GDB的圖像後,我解決不了,0x4070a1之前,%RDX是0x61b130,並且這個數字應該移到-0x18(%rbp)。但是,在這個指令之後,我發現-0x18(%rbp)變成了0x61b7d0,這讓我感到困惑。 由於這個問題,我的程序無法正常運行,誰能告訴我原因?謝謝! 的C代碼: E_enventry t = E_FunEntry(l

    10熱度

    3回答

    英特爾PMU可以用於測量每核心讀/寫內存帶寬使用情況嗎?這裏「存儲器」意味着DRAM(即,不擊中任何高速緩存級別)。

    3熱度

    2回答

    在Visual C++中,當針對Windows 32位時_umul128未定義。 針對Win32時,兩個無符號64位整數如何相乘? 該解決方案只需在針對Windows 32位的Visual C++ 2017上工作。

    1熱度

    1回答

    下面的代碼假設有顯示如果哪個數字更大或者它們是否相等和總和,但我得到的只是總和,如果我刪除了總和部的第一部分,其中顯示的數字是否等於 section .rodata prompt1 db "Enter an integer: ",0 ; 0 is null character pro

    -2熱度

    1回答

    一個示例代碼,我看到類似下面代碼: section .data db 'hello' db 'h', 'e', 'l','l','o' data_segment_size equ $-$$ 爲什麼data_segment_size等於25?我知道$和$$表示什麼,但根據我的書我無法弄清楚爲什麼這個變量是25。也許這是該書的錯誤。

    0熱度

    1回答

    我想寫使用內聯彙編用C離開操作的旋轉,像這樣: byte rotate_left(byte a) { __asm__("rol %0, $1": "=a" (a) : "a" (a)); return a; } (凡字節通過typedef unsigned char型)。 這就提出了一個錯誤 /tmp/ccKYcEHR.s:363: Error: operand size

    0熱度

    1回答

    首先,這是一項家庭作業。 我有一個循環獲得兩個數字的值單獨,並加入他們的第一個數字乘以10,並加上第二個數字來獲得一個整數。 我正在做這一切,並保存在我的AL寄存器中,現在我想將該整數插入到一個數組中,然後掃描該數組並顯示這些數字。 如何插入矢量並從矢量讀取? 我的數組: section .bss array resb 200 我的數字轉換: sub byte[digit_une],

    0熱度

    1回答

    我目前堅持從組合問題得到了答案。我的basecase工作得很好。我認爲問題在於評估組合(n-1,k),然後評估組合(n-1,k-1)。 這裏是我的代碼:n和k是從用戶輸入。 sub esp, 2 push word[n] push word[k] call combi pop word[ans] ;store yung combi value sa ans ;convert to as

    1熱度

    1回答

    我有這樣的代碼,是應該打印一個字符串的第一個字母: mov bx, message ; Move the address of the message to bx add bx, 0x7c00 ; Adding the padding of bootsector to bx mov al, [bx] ; Move the value at the address in bx to al