我想在不使用任何库的情况下显示寄存器a1的值,我该怎么办?我应该使用哪个中断?我使用的是汇编语言(masm),我的程序是实模式的。
例如,在保护模式下,我们使用Irvine32库:
mov bl , al
mov eax , 0
mov al , bl
call WriteInt ; (showing the value of al)发布于 2015-11-19 18:52:00
如果你已经安装了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 ENDPbuild.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仿真器。
https://stackoverflow.com/questions/33800056
复制相似问题