在emu8086中错误存储字符串

时间:2016-10-24 22:09:39

标签: string assembly

在emu8086 4.08中,我使用此语法声明我的代码段并初始化程序:

Code SEGMENT
ASSUME CS:Code, DS:Data, SS:Stack

MOV AX, Data
MOV DS, AX
MOV ES, AX

这些是数据段中字符串的声明:

Str1 DB 50,0,50 Str2 DB 50,0,50

假设这两个指令声明了两个带有50个字符空格的字符串。我使用这种语法从输入用户读取两个字符串:

LEA DX, Str1 MOV AH, 0Ah INT 21h

现在,如果我同时放置Hello World,模拟器将以这种方式存储:

Store the second string in positions of the first string

为什么会这样?是因为我在字符串的语法中做错了吗?是否有必要将MOV ES, AX放入程序中?

0 个答案:

没有答案