x86-16

    -1熱度

    1回答

    我正在做一個代碼,用匯編語言(英特爾8086)添加2個4位數的數字。在代碼中的某一點,我想通過BX寄存器(使用div BX)來分割AX,例如AX = 2AB3(十進制爲10931)和BX = 2710(十進制爲10000)。 正常情況下,結果我應該有AX = 1(商)和DX = 3A3(餘數),問題是模擬器顯示溢出消息。 下面是代碼: DATA SEGMENT MSG1 DB 0DH,

    0熱度

    1回答

    對於彙編器我很新,我只需要完成我的學校任務,但是我有一個小問題。程序應該讀取輸入的兩位數字,並計算所有大於第一個數字的數字。問題是寄存器EDX(用於計數更大的數字)增加到1,但不超過它。你能提出一些不太複雜的東西嗎? %include "asm_io.inc" segment .data char_prompt db "Insert numbers: ",0 comma db ", ",

    -1熱度

    1回答

    使用「ADD CX,0F830H」的從系統獲取日期,我們使用 mov ah,2ah int 21h ADD CX,0F830H用於代碼年份部分。 十六進制數字0F830h與年份有什麼關係? add cx,0f830h是什麼意思? 來源的代碼 - https://github.com/kingspp/8086-MicroProcessor/blob/master/Date-Program.as

    0熱度

    2回答

    我是新來的彙編語言。每當我初始化一個內存段時,例如:一段代碼段或一段數據段,據說操作系統會爲此分配一部分內存。然而,我的書對「記憶部分」意味着什麼,我感到非常困惑。 RAM中的代碼段是否具體?

    0熱度

    2回答

    我正在學習彙編器,我需要一些幫助來理解調試器中的代碼,特別是標記的部分。我知道指令如何工作,但在調試器中我有「2EA10301」和「BB0400」。 這是什麼意思? 第一條指令將變量a從數據段移動到ax寄存器,但在調試器中我有cs:[0103]。 這些括號和這些數字是什麼意思? 感謝您的幫助。

    0熱度

    1回答

    xor ax,ax xor dx,dx mov ax,prima mov dl,al mov ah,2 int 21h 變量'prima'已經存儲了33h,它應該打印「3」,但它不打印,如果我正常運行程序打印「0」。有什麼錯誤的是,我正在使用DOSBox進行調試,並且如果按下它看起來應該顯示「3」的輸出(並且註冊面板顯示AL爲33h)。 有沒有人遇到過這個問題?該代碼計算pi。 da

    -1熱度

    1回答

    ;------------------------------------------------------ Pila Segment db 0FFFFh Dup (?) ;declracion del segmento de pila Pila EndS ;------------------------------------------------------ ;-

    0熱度

    1回答

    這是將8位十進制數轉換爲十六進制數的8086彙編程序。 在第14行,爲什麼我會得到下一個錯誤? improper operand type .model small .data d1 DB 81d d1 DB 16d res DB ? .code mov ax,@data mov ds,ax xor ax,ax xor bx,bx mov al,d1 mov bl,d2 d

    2熱度

    1回答

    這是代碼: IDEAL MODEL small STACK 100h DATASEG ; -------------------------- key db 0 locH dw 0 ;location horizontal locV dw 0 ;location vertical ; -------------------------- CODESEG UP_ON equ 4

    2熱度

    1回答

    這是我寫的代碼完美的代碼,除了我無法弄清楚如何刪除控制檯的東西(d: \)。 代碼在屏幕中間打印出你好。 IDEAL MODEL small STACK 100h DATASEG ; -------------------------- msg db 'hello' ; -------------------------- CODESEG start: mov ax, @