将两个字符串打印到寄存器中

Printing two strings into register

如果我尝试执行以下操作,我会不断收到错误消息:

TITLE            (Filename.asm)

INCLUDE Irvine32.inc

.data
    name BYTE "Jdoe", 0
    menu BYTE "Hello user of this computer!", 0dh, 0ah,
        "I am a robot AI designed to help you with you programs", 0dh, 0ah,
        "Please allow me to assist you as you work on your program", 0dh, 0ah,
        "Name Please> ", 0

.code
main PROC
    ; instructions are added here, in the main procedure
    ; which is in the code segment

    mov EDX, OFFSET menu
    call WriteString

    mov EDX, OFFSET name
    call WriteString

    call Crlf

    exit
main ENDP

END main

在第 26 行,我基本上得到一个错误 initializer magnitude too large for specified size。我不知道我在这里做错了什么。第 26 行是 mov edx, OFFSET name

根据msdn name 是一个保留字,它没有任何作用(它被忽略)但你仍然不允许使用它。选择一个不同的标识符。