Запись значения 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.