Запись значения al - assembly - real mode - masm

Я хочу показать значение регистра al без использования какой-либо библиотеки, что мне делать? Какое прерывание я должен использовать? Я использую язык ассемблера (masm), и моя программа работает в реальном режиме.

например, в защищенном режиме мы используем библиотеку Irvine32:

mov bl , al
mov eax , 0
mov al , bl
call WriteInt    ; (showing the value of al)

1 ответ

Если вы уже установили файлы Irvine, вы можете использовать irvine16.lib библиотека, 16 битный компоновщик link16.exe в той же папке и MASM ассемблер ml.exe Visual Studio.

test.asm:

INCLUDE (Full Path to)\Irvine16.inc
INCLUDELIB (Full Path to)\Irvine16.lib

.code
main PROC
    mov ax,@data
    mov ds,ax

    mov al, 123

    mov bl , al
    mov eax , 0
    mov al , bl
    call WriteInt

    mov ax, 4C00h
    int 21h
main ENDP

build.cmd:

@ECHO OFF
SET LIB=
PATH Path\to\VisualStudio\bin;Path\to\Irvine32

ml.exe /c /omf test.asm
link16.exe test.obj, test.exe;

Создайте его в окне командной строки Windows, просто введя build.cmd, Чтобы запустить его, вы должны в конечном итоге перейти на DOSBox или аналогичный эмулятор DOS.

Другие вопросы по тегам