MASM宏A2008错误

时间:2017-06-12 20:35:10

标签: assembly macros masm

我需要编写生成Text

的宏
include console.inc
Bytes macro T
 for X,<T>
  forc Y,<X>
      ifdif <Y>,< > 
      Y 
      ELSE 
       db 
      endif 
  endm   
endm
endm 

.data 
Bytes <R 1,E 5>
.code

Start:
  ClrScr

  pause
exit
end Start

我不明白,但我总是得到这个error。我做错了什么?

1 个答案:

答案 0 :(得分:0)

宏分析的每个字段都在单独的行上输出,因此出现错误。你需要构建线条并在它们完全形成时输出它们......例如:

Bytes macro T
 local zz
 for X,<T>
  zz textequ <>
  forc Y,<X>
      ifdif <Y>,< >
;      Y
       zz catstr zz,<Y>
      ELSE 
;      db
       zz catstr zz,< db >
      endif 
 endm   
 zz
endm