title: Passing a string to macro assembler MASM
body: <p>Ok so I have got this working to a degree but when I try to pass the variable name to the macro it says this:</p>
  
  <p>error A2071: initializer magnitude too large for specified size</p>
  
  <p>I don't see what I am doing wrong here. I am following the examples I have on how to pass parameters but that is what it gives me. So here is what I have so far.</p>
  
  <pre><code>TITLE MASM TestTExt                     (TestTExt.asm)
  
     ; Description:
     ;  
     ; Revision date:
  
     INCLUDE Irvine32.inc
  
     ;macro stuff
  
      mWriteString MACRO text
     LOCAL string
     .data
     string db text
     .code
      push edx
      mov  edx,OFFSET string
      call WriteString
      pop edx
  
      ENDM
  
      .data
      myStr db "Test1",0
  
      .code
     main PROC
     call Clrscr  
    mWriteString myStr
    call Crlf
  
    exit
     main ENDP
  
  END main
  </code></pre>
  
  <p>Now this does not work, but if is put in a string like this "Some Thing" when I call the macro in the .code section, the macro works and go on its merry way. Why is that? Am I not passing the right string or did I not terminate the string right in my <code>.data</code> section?
  The example I am using is like this</p>
  
  <pre><code> .data
    myString   db   "abcefg",0
    .code
    mWriteString  myString
  </code></pre>