2014-12-20 7 views
1

문자열 인쇄를위한 매크로를 작성하려고합니다.MASM에서 매크로 defenition에 invoke를 사용할 수 있습니까?

include \masm32\include\masm32rt.inc 

.const 

    enterA db "a: ", 0 

.code 

    main proc 

     invoke crt_printf, addr enterA 

     invoke ExitProcess, NULL 

    main endp 

    end main 

을하지만이에 대한 매크로를 정의하면 ..

include \masm32\include\masm32rt.inc 

.const 

    enterA db "a: ", 0 

.code 

    input macro tip 
     invoke crt_printf, addr tip 
    endm 

    main proc 

     input enterA 

     invoke ExitProcess, NULL 

    main endp 

    end main 

그래서, 나는 매크로 호출 사용할 수 없습니다 생각 :이 코드는 잘 작동합니다. 왜?

답변

1

매크로 내부에서 invoke을 사용하는 것이 완벽하게 괜찮습니다. 문제는 매크로 이름을 input으로 지정했기 때문입니다. 코드에 포함 된 masm32\include\masm32rt.inc에 포함 된 masm32\macros\macros.asm에 해당 이름의 매크로가 이미 있습니다. 매크로에 다른 이름을 지정하십시오.

+0

정말 고마워요! –