x86-16

    7熱度

    1回答

    在我的8086彙編程序中執行一個循環時,如果您按下某個按鍵的次數太多,PC揚聲器將開始發出嗶嗶聲,此時會出現一個鍵盤按鍵閾值。這是令人討厭的,它會讓我的程序慢慢變慢,因爲CPU必須跳出我的程序並花半秒鐘驅動揚聲器。 直到幾個月前我開始在實際硬件上測試我的程序時,我甚至不知道這個問題存在。這個問題在DosBox中不是問題,甚至在DosBox內部安裝了Dos 6.22。所以它必須是PC BIOS中內置

    1熱度

    1回答

    我遇到了一個問題,在程序集8086中只有一行顯示4個不同的字符串。輸出應該是「你是」,「名字」,「中間名」和「姓氏」。它與前兩項工作正常,但最後兩個重疊與第一個,意思是,「你」最終被重寫「中間名」,並進一步被「姓氏」重寫。如果在最後兩行之前使用下一行,它會打印出正常,但我想在一行中顯示所有4個字符串,而不是以3行顯示。我試圖搜索網絡,但大多數答案僅限於顯示2個字符串。 ;=====output==

    -2熱度

    1回答

    當8086微處理器能夠尋址高達2^20位(等於1兆位而不是1兆字節)時,8086微處理器如何具有1兆字節內存。

    0熱度

    1回答

    我已閱讀「英特爾軟件開發人員手冊」第3卷第20節,其中介紹了虛擬8086模式的工作原理,包括使用VIF和VIP標誌。不過,我仍然對一些事情感到困惑。 VIF標誌用作IF標誌的替代品,因此即使它仿真的實模式程序不希望8086仿真程序(可能是某些用戶空間程序)可以接收可屏蔽的硬件中斷至。 爲什麼模擬器想要這樣做? VIP被用作標記何時收到中斷的空間。根據手冊,如果處理器接收到一個可屏蔽的中斷,但被仿真

    1熱度

    2回答

    所以我開始寫一個「內核」這樣說,我正在嘗試讀取一個字符串並將其打印回我。問題出現在我執行它時,它只是打印3個相同的字符,而不是我在線上寫的內容。 read_string: call newline mov si, read_attempt call print call newline push bx mov ah, 0x03

    2熱度

    1回答

    如何在DOS中正確設置和重置鍵盤ISR? (x86彙編,實模式,16位,TASM) 我有以下彙編代碼,它爲我的鍵盤設置了ISR。它所要做的就是每次按下一個鍵時打印一個句子,最多五次。那麼它應該退出。 看起來ISR正在安裝正確。每按一次鍵就會打印出一個句子(一次是下一次,一次是上一次)。但是,看起來好像我錯誤地卸載了ISR,因爲我無法在運行該程序後將文本輸入DOS命令行。 (我已經更新下面的代碼保存

    0熱度

    1回答

    我是新來的程序集,我一直在嘗試創建一個程序,每個數字最多需要3位數字([numR],[numG],[numB]),然後執行公式:(65536 * [numR] + 256 * [numG] + [numB]),最後打印出結果。 我已經編寫了大部分程序(我已經能夠從用戶獲得每個數字的輸入並將其存儲在上面顯示的3個變量中),但我似乎無法找到一種方法執行公式,主要是因爲在乘以大數字時,結果會在寄存器dx

    4熱度

    1回答

    我試圖在程序集中創建一個完整的隨機數,但每次啓動程序時,它都會以相同的順序給出相同的數字。 如果數字是12,132,4133或其他東西,它會在我每次啓動代碼時重複它們。 我試圖製作的程序就像猜謎遊戲。 IDEAL MODEL small STACK 100h DATASEG ;vars here RNG_Seed dw ? CODESEG ; Generates a pseudo-

    0熱度

    1回答

    我試圖將一個非常大的.ASM文件拆分爲幾個外部庫,只留下main.asm中的主程序。 這是一個遊戲,所以我希望我的鍵盤輸入的代碼分成input.asm,和我的Adlib聲卡代碼爲music.asm等 不管怎樣,我的具體問題是,我的很多程序有類似這樣的表達式中使用EQU的行。 mov ax, ((scrWidth*YCoord)+XCoord) 當我移動包含這些行到外部庫,並試圖組裝外部庫過程,

    -1熱度

    1回答

    我是新來的彙編,並試圖迭代存儲在內存中的字符串。我可以使用lea(加載有效地址)指令得到字符串的地址,但我現在想使用存儲在寄存器中的那個地址。 有模lw其可以使用如下: lea string, %edx ; Load effective address of string into edx lw %edx, %eax ; Load eax with the value stored wher