写作al - assembly的价值 - 真实模式 - masm

时间:2015-11-19 09:38:16

标签: assembly masm real-mode irvine16

我想在不使用任何库的情况下显示寄存器al的值,我该怎么办?我应该使用哪个中断?我正在使用汇编语言(masm),我的程序处于实模式。

例如在保护模式下我们使用Irvine32库:

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

1 个答案:

答案 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模拟器。