我正在组装 8086 处理器中做一个程序,但我有一个疑问。我想将一个单词移到我创建的字符串中,但汇编器显示错误:error A2004: constant value too large
.
宣言:
Fich db 'menu.txt',0
这样做:
mov Fich,'menu.txt'
在 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