0

我正在组装 8086 处理器中做一个程序,但我有一个疑问。我想将一个单词移到我创建的字符串中,但汇编器显示错误:error A2004: constant value too large.

宣言:

Fich db 'menu.txt',0

这样做:

mov Fich,'menu.txt'

4

1 回答 1

2

在 8086 汇编器中,不能使用mov语句将字节串移动到内存位置。

您可以使用该语句移动字符串,方法movsb是加载寄存器中的源地址、SI寄存器中的目标地址以及DI寄存器中字符串的长度CX,然后最后调用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
于 2013-06-08T23:14:58.167 回答