如何在变量中添加单词

时间:2013-06-08 23:04:54

标签: assembly

我正在组装8086处理器的程序,但我有一个疑问。我想将一个单词移动到我创建的字符串,但编译器显示错误:错误A2004:常量值太大。

声明:

Fich db 'menu.txt',0

这样做:

mov Fich,'menu.txt'

有人能帮助我吗?

此致 马可

1 个答案:

答案 0 :(得分:2)

在8086汇编程序中,您无法使用mov语句将一串字节移动到内存位置。

您可以使用movsb语句移动字符串,方法是加载SI寄存器中的源地址,DI寄存器中的目标地址以及CX中字符串的长度。 {1}}注册,然后最后调用MOVSB

这是一个简单的例子:

TARGET db 80 dup(0)
SOURCE db 'Hello', 0

mov si, offset SOURCE  ; address of SOURCE
mov di, offset TARGET  ; address of TARGET
mov cx, 6              ; number of bytes to move (size of SOURCE)
rep movsb              ; move cx number of bytes from SOURCE to TARGET