为什么不输出价值?

时间:2015-03-21 10:37:06

标签: assembly x86

.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>美国广播公司

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

1 个答案:

答案 0 :(得分:1)

第一个代码段可能无效,因为您没有设置DS段寄存器 第二个代码片段在某种程度上与这种初始化无关。它可以与DS中的任何内容一起使用。