x86-16

    3熱度

    1回答

    我正在編寫我的8086彙編程序。 問題在於彙編程序通過。 在通1你計算相對於片段每個標籤的位置。 我們做到這一點每個指令的大小必須被計算並添加到偏移。 在8086一些指令應更小,如果標籤的位置的範圍內。例如,「jmp _label」會選擇一個短暫的跳躍,如果它不能跳轉的話。 現在問題出現在第1遍標籤尚未到達,因此它不能確定指令的大小,因爲「jmp short _label」小於「jmp near

    3熱度

    2回答

    我正在爲MS-DOS編寫一些小工具。現在我正在編寫一個Shutdown.com,就像Windows XP和更高版本一樣。我已經寫完整個代碼,現在我只需要從DOS傳遞參數。 我需要傳遞參數「-r」重新啓動,「-s」關閉。 我該怎麼辦? 我正在使用TASM(Turbo Assembler 4.1)在Windows 98上進行鏈接和編譯。我正在尋找一個非常簡單的方法來做到這一點,如果可能的話,仍然是一個

    1熱度

    1回答

    我在我的舊書中研究了用於DOS的x86彙編編程,並且在關於中斷的討論中,我看到了13h。這本書說我可以用它來格式化一個驅動器。但不幸的是,我的書中沒有提供關於如何去做的更多信息。 我變得非常好奇,並試圖將它用於自己,但它不工作。如何使用16位x86彙編將驅動器A:中的軟盤格式化?這很簡單嗎?我正在使用TASM編譯和鏈接,並在MS-DOS中運行。 也許除了使用int 13h之外還有其他方法嗎?

    1熱度

    1回答

    我目前正在編譯DosBox中的彙編程序,但我不斷收到一些錯誤。 有人可以幫我修復它們嗎? 我附上了屏幕截圖,其中包含我在MASM和鏈接上收到的錯誤。 這是我的代碼: DATA SEGMENT NUM1 DB ? NUM2 DB ? RESULT DB ? MSG1 DB 10,13,"ENTER FIRST NUMBER TO MULTIPLY : $"

    -6熱度

    1回答

    在該組件中(8086)碼將是什麼每個這些寄存器的值:BL,AH和AL 這是驗證碼: MOV AX, 1900 MOV BL, AH INC AL

    5熱度

    1回答

    配置: MS-DOS 16位(寫在.ASM文件,然後用TASM和TLINK編譯它們) 的Windows 7 64位 我在Assembly中做了一個簡單的程序,它應該只打開一個文件並向它寫入文本。 下面是代碼吧: assume cs:code, ds:data data segment fileName db "input.txt", 0 ; We assure it is an ASC

    -2熱度

    1回答

    我想創建一個函數,獲取一個參數在十六進制和char *,我試圖將該參數轉換爲字符串,然後將其附加到char *。 這是我的代碼: wordToString PROC push bp mov bp,sp xor cx,cx mov bx, 10 loop1: mov dx, 0 mov ax, [bp+6]

    1熱度

    1回答

    我試圖讓代碼更快地繪製該方塊,我想知道是否有可能以某種方式將其放在內存中,而當我需要移動它時,只需從內存中將其與其他初始座標一起取出? (整個程序是如何工作的:當你按下鍵盤上的箭頭方會移動到屏幕的兩側中的一側) mov coords, 20*320+100 ;20 line , 100 column mov ah, 0 ; graphic mode set mov a

    -3熱度

    1回答

    以下代碼包含一個十六進制數字(與ASCII代碼相關,假設它是從鍵盤獲得的),我希望使用DOS中斷將此十六進制數字打印到屏幕上,但是在「二進制」中。 NUMBOCK是45小時。 [org 0x0100] mov AL, 45 ;moving NUMLOCK hexademical(ASCII code) to AX ~~How to display its binary rel

    3熱度

    1回答

    我有一個代碼段位於boot.img文件的扇區37,在我的主引導記錄中,我將這段代碼加載到內存0x5678:0x1234,這是我的彙編代碼: [BITS 16] ;Set code generation to 16 bit mode ORG 0x1234 ;set addressing to begin at 0x5678:0x1234 mov ax, cs mov ds, ax