我想在不使用任何库的情况下显示寄存器al的值,我该怎么办?我应该使用哪个中断?我正在使用汇编语言(masm),我的程序处于实模式。
例如在保护模式下我们使用Irvine32库:
mov bl , al
mov eax , 0
mov al , bl
call WriteInt ; (showing the value of al)
答案 0 :(得分:0)
如果您已经安装了Irvine的文件,则可以使用irvine16.lib
库,同一文件夹中的16位链接器link16.exe
和Visual Studio的MASM汇编程序ml.exe
。
<强> 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;
只需输入build.cmd
,即可在Windows的命令提示符窗口中构建它。要运行它,您最终会更改为DOSBox或类似的DOS模拟器。