为什么它不输出值?
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 中的任何内容一起使用。
.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 中的任何内容一起使用。