为什么它不输出值?

Why doesn't it Outputs the Value?

.model small
.stack 256
.data
Var db 50 ; default is decimal
.code
Start:
mov dl,Var
mov ah,2h
int 21h
mov ax,4c00h
int 21h
end Start

这段代码可以正确编译并正确链接,但是当您 运行 它就像这样。 考虑 Abc.asm C:\TASM>Abc.asm 没有错误 C:\TASM>tlink Abc.obj C:\TASM>Abc

C:\TASM> 它只是不打印任何东西,但如果我以这种方式编写代码,它会工作并显示 8 作为输出。

.model small
.stack 256
.data
Var db 50 ; default is decimal
.code
Start:
mov al,'8'
mov Var,al
mov dl,Var
mov ah,2h
int 21h
mov ax,4c00h
int 21h
end Start

第一个代码片段可能不起作用,因为您没有设置 DS 段寄存器。
第二个代码片段在某种程度上独立于此类初始化。目前,它可以与 DS 中的任何内容一起使用。