<?xml version="1.0" encoding="UTF-8"?>
<!--Information from "MSP430 Embedded Application Binary Interface Rev A -->
<compiler_spec>
 <data_organization>
     <machine_alignment value="2"/>
     <default_alignment value="1"/>
     <default_pointer_alignment value="2"/>
     <pointer_size value="2"/>
     <short_size value="2"/>
     <integer_size value="2"/>
     <wchar_size value="2"/>
     <long_size value="4"/>
     <long_long_size value="8"/>
     <float_size value="4"/>
     <double_size value="8"/>
     <long_double_size value="8"/> 
     <size_alignment_map>
          <entry size="1" alignment="1"/>
          <entry size="2" alignment="2"/>
          <entry size="4" alignment="2"/>
          <entry size="8" alignment="2"/>
     </size_alignment_map>
  </data_organization>
  <global>
    <range space="RAM"/>
  </global>
  <stackpointer register="SP" space="RAM"/>
   <default_proto>
    <prototype name="__stdcall" extrapop="2" stackshift="2">
	<input>
	   <pentry maxsize="2" minsize="1">
          <register name="R12"/>
       </pentry>
       <pentry maxsize="2" minsize="1">
          <register name="R13"/>
        </pentry>
        <pentry maxsize="2" minsize="1">
          <register name="R14"/>
        </pentry>
        <pentry maxsize="2" minsize="1">
          <register name="R15"/>
        </pentry>
        <pentry maxsize="500" minsize="1" align="1">
          <addr space="stack" offset="2"/>
        </pentry>
        <rule>
          <datatype name="any"/>
          <varargs first="-1"/>
          <goto_stack/>
        </rule>
        <rule>
          <datatype name="struct" minsize="1"/>
          <convert_to_ptr/>
        </rule>
        <rule>
          <datatype name="any" maxsize="4"/>
          <join stackspill="true"/>		
        </rule>
        <rule>
          <datatype name="any" minsize="5" maxsize="8"/>
          <join stackspill="false"/>		
        </rule>
	</input>
	<output>
        <pentry minsize="1" maxsize="2">
          <register name="R12"/>
        </pentry>
        <pentry minsize="1" maxsize="2">
          <register name="R13"/>
        </pentry>
        <pentry minsize="1" maxsize="2">
          <register name="R14"/>
        </pentry>
        <pentry minsize="1" maxsize="2">
          <register name="R15"/>
        </pentry>
        <rule>
          <datatype name="struct"/>
          <hidden_return/>
        </rule>
        <rule>
          <datatype name="any" maxsize="8"/>
          <join/>
        </rule>
	</output>
	<unaffected>
          <register name="SP"/>
          <register name="SR"/>
          <register name="R3"/>
          <register name="R4"/>
          <register name="R5"/>
          <register name="R6"/>
          <register name="R8"/>
          <register name="R9"/>
          <register name="R10"/>
          <register name="R11"/>
 	</unaffected>
      </prototype>
    </default_proto>
</compiler_spec>
