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看起来就是这个问题。你能把这个贴出来作为答案吗?这样我就可以相信你了?谢谢添加注释以显示所指示的行。人们不会为你数台词