语法错误将使用EQU定义的字符串移动到寄存器

时间:2017-12-01 21:24:03

标签: assembly x86 visual-studio-2017 masm masm32

我正在尝试存储一些提示作为EQU常数打印到屏幕上。当我尝试构建时,当我尝试将其移动到edx寄存器时,我得到语法错误。你能帮我理解发生了什么吗?我无法找到有关此事的任何信息。我得到的错误是:

  

LPT_alp2.asm(48):错误A2008:语法错误:“

    include irvine32.inc

.data
;

a1  BYTE 11h, 22h, 33h, 44h, 55h, 66h
a2  WORD 1234h, 2345h, 3456h, 4567h
a3  DWORD 12345h, 23456h, 34567h, 45678h

s1 EQU <"My name is ",10,13,0>
s2 EQU <"Assembly Language Project 2",10,13,0>
s3 EQU <"You have selected option ",10,13,0>
s4 EQU <"Sorry but we are all out of that Main Meal selection.",10,13,0>
s5 EQU <"Select a Main Meal Option",10,13,0>
s6 db "1. Turkey Sandwich",10,13,0
s7 db "2. Hot Ham and Cheese Sandwich",10,13,0
s8 db "3. Garden Salad",10,13,0
s9 db "4. Exit",10,13,0
s10 EQU <"Choice ",0>
s11 EQU <"I’m sorry, I guess we don’t have anything today.",10,13,0>
s12 EQU <"We hope that you will come back again.",10,13,0>

sHelp BYTE 5 DUP("**HELP**")

;

count BYTE 0
sum1 BYTE ?
sum2 BYTE ?

.code
main proc
    ; 

    mov edx, s1
    call WriteString
    call crlf

mov edx, s2
call WriteString
call crlf


;menu:





;LOOP menu

mov eax,0
mov ebx,0
mov ecx,0
mov edx,0


mov al,[a1+3]
mov bx,[a2+6]
mov ecx,[a3+12]
movzx edx,[a2+2]

call DumpRegs


Call CrLf
invoke ExitProcess, 0

main endp
end main

0 个答案:

没有答案