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

Assembly 将两个字符串打印到寄存器中,assembly,masm,irvine32,Assembly,Masm,Irvine32,如果我尝试执行以下操作,则会不断出现错误: 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, "Pl

如果我尝试执行以下操作,则会不断出现错误:

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行,我基本上得到了一个错误,即
初始值设定值对于指定的大小来说太大了
。我不知道我做错了什么。第26行是
mov-edx,偏移量名称根据
name
是一个保留字,没有任何功能(被忽略),但仍然不允许使用它。选择不同的标识符。

根据
名称
是一个保留字,它没有任何功能(被忽略),但仍然不允许使用它。请选择其他标识符。

您确定这是第26行吗?你没有展示什么?无论如何,请验证您的汇编器是否允许使用多行常量,就像您在
菜单
@Jester中使用的那样。如果我省略了程序的第二部分,即打印出
名称
,它就会起作用。打印出
菜单
效果很好。也许
名称
是保留字?试着改变一下。也请为所用的汇编程序添加标签。。。我猜是
masm
?根据
的说法,name
是一个被忽略的保留字。@Jester看起来就是这个问题。你能把这个贴出来作为答案吗?这样我就可以相信你了?谢谢添加注释以显示所指示的行。人们不会为你数台词你确定那是第26行吗?你没有展示什么?无论如何,请验证您的汇编器是否允许使用多行常量,就像您在
菜单
@Jester中使用的那样。如果我省略了程序的第二部分,即打印出
名称
,它就会起作用。打印出
菜单
效果很好。也许
名称
是保留字?试着改变一下。也请为所用的汇编程序添加标签。。。我猜是
masm
?根据
的说法,name
是一个被忽略的保留字。@Jester看起来就是这个问题。你能把这个贴出来作为答案吗?这样我就可以相信你了?谢谢添加注释以显示所指示的行。人们不会为你数台词