diff --git a/compiler/cg386cal.pas b/compiler/cg386cal.pas index d0a4d97312..fe7b571e41 100644 --- a/compiler/cg386cal.pas +++ b/compiler/cg386cal.pas @@ -1085,28 +1085,9 @@ implementation ungetpersistanttemp(p^.procdefinition^.parast^.call_offset, p^.procdefinition^.parast^.datasize); end; - if (not inlined) and ((p^.procdefinition^.options and poclearstack)<>0) then - begin - { consider the alignment with the rest (PM) } - pushedparasize:=pushedparasize+pop_size; - must_pop:=false; - if pushedparasize=4 then - { better than an add on all processors } - exprasmlist^.concat(new(pai386,op_reg(A_POP,S_L,R_EDI))) - { the pentium has two pipes and pop reg is pairable } - { but the registers must be different! } - else if (pushedparasize=8) and - not(cs_littlesize in aktswitches) and - (aktoptprocessor=pentium) and - (procinfo._class=nil) then - begin - exprasmlist^.concat(new(pai386,op_reg(A_POP,S_L,R_EDI))); - exprasmlist^.concat(new(pai386,op_reg(A_POP,S_L,R_ESI))); - end - else exprasmlist^.concat(new(pai386,op_const_reg(A_ADD,S_L,pushedparasize,R_ESP))); - end; end else + { now procedure variable case } begin if (pushedparasize mod 4)<>0 then begin @@ -1143,6 +1124,29 @@ implementation end; + end; + { this was only for normal functions + displaced here so we also get + it to work for procvars PM } + if (not inlined) and ((p^.procdefinition^.options and poclearstack)<>0) then + begin + { consider the alignment with the rest (PM) } + pushedparasize:=pushedparasize+pop_size; + must_pop:=false; + if pushedparasize=4 then + { better than an add on all processors } + exprasmlist^.concat(new(pai386,op_reg(A_POP,S_L,R_EDI))) + { the pentium has two pipes and pop reg is pairable } + { but the registers must be different! } + else if (pushedparasize=8) and + not(cs_littlesize in aktswitches) and + (aktoptprocessor=pentium) and + (procinfo._class=nil) then + begin + exprasmlist^.concat(new(pai386,op_reg(A_POP,S_L,R_EDI))); + exprasmlist^.concat(new(pai386,op_reg(A_POP,S_L,R_ESI))); + end + else exprasmlist^.concat(new(pai386,op_const_reg(A_ADD,S_L,pushedparasize,R_ESP))); end; dont_call: pushedparasize:=oldpushedparasize; @@ -1281,7 +1285,6 @@ implementation emitcall(p^.procdefinition^.mangledname);} emitcall('IOCHECK',true); end; - { this should be optimized (PM) } if must_pop then exprasmlist^.concat(new(pai386,op_const_reg(A_ADD,S_L,pop_size,R_ESP))); { restore registers } @@ -2190,7 +2193,16 @@ implementation end. { $Log$ - Revision 1.2 1998-06-08 13:13:29 pierre + Revision 1.3 1998-06-09 16:01:33 pierre + + added procedure directive parsing for procvars + (accepted are popstack cdecl and pascal) + + added C vars with the following syntax + var C calias 'true_c_name';(can be followed by external) + reason is that you must add the Cprefix + + which is target dependent + + Revision 1.2 1998/06/08 13:13:29 pierre + temporary variables now in temp_gen.pas unit because it is processor independent * mppc68k.bat modified to undefine i386 and support_mmx diff --git a/compiler/cg386ld.pas b/compiler/cg386ld.pas index c1876e7da1..3f3ffc9d27 100644 --- a/compiler/cg386ld.pas +++ b/compiler/cg386ld.pas @@ -81,129 +81,139 @@ implementation varsym : begin hregister:=R_NO; - symtabletype:=p^.symtable^.symtabletype; - { in case it is a register variable: } - if pvarsym(p^.symtableentry)^.reg<>R_NO then + if (pvarsym(p^.symtableentry)^.var_options and vo_is_C_var)<>0 then begin - p^.location.loc:=LOC_CREGISTER; - p^.location.register:=pvarsym(p^.symtableentry)^.reg; - unused:=unused-[pvarsym(p^.symtableentry)^.reg]; + stringdispose(p^.location.reference.symbol); + p^.location.reference.symbol:=stringdup(p^.symtableentry^.mangledname); + if (pvarsym(p^.symtableentry)^.var_options and vo_is_external)<>0 then + maybe_concat_external(p^.symtableentry^.owner,p^.symtableentry^.mangledname); end else begin - { first handle local and temporary variables } - if (symtabletype in [parasymtable,inlinelocalsymtable, - inlineparasymtable,localsymtable]) then + symtabletype:=p^.symtable^.symtabletype; + { in case it is a register variable: } + if pvarsym(p^.symtableentry)^.reg<>R_NO then begin - p^.location.reference.base:=procinfo.framepointer; - p^.location.reference.offset:=pvarsym(p^.symtableentry)^.address; - if (symtabletype=localsymtable) or (symtabletype=inlinelocalsymtable) then - p^.location.reference.offset:=-p^.location.reference.offset; - if (symtabletype=parasymtable) or (symtabletype=inlineparasymtable) then - inc(p^.location.reference.offset,p^.symtable^.call_offset); - if (lexlevel>(p^.symtable^.symtablelevel)) then - begin - hregister:=getregister32; - - { make a reference } - hp:=new_reference(procinfo.framepointer, - procinfo.framepointer_offset); - - - exprasmlist^.concat(new(pai386,op_ref_reg(A_MOV,S_L,hp,hregister))); - - simple_loadn:=false; - i:=lexlevel-1; - while i>(p^.symtable^.symtablelevel) do - begin - { make a reference } - hp:=new_reference(hregister,8); - exprasmlist^.concat(new(pai386,op_ref_reg(A_MOV,S_L,hp,hregister))); - dec(i); - end; - p^.location.reference.base:=hregister; - end; + p^.location.loc:=LOC_CREGISTER; + p^.location.register:=pvarsym(p^.symtableentry)^.reg; + unused:=unused-[pvarsym(p^.symtableentry)^.reg]; end else - case symtabletype of - unitsymtable,globalsymtable, - staticsymtable : begin - stringdispose(p^.location.reference.symbol); - p^.location.reference.symbol:=stringdup(p^.symtableentry^.mangledname); - if symtabletype=unitsymtable then - concat_external(p^.symtableentry^.mangledname,EXT_NEAR); - end; - objectsymtable : begin - if (pvarsym(p^.symtableentry)^.properties and sp_static)<>0 then - begin - stringdispose(p^.location.reference.symbol); - p^.location.reference.symbol:=stringdup(p^.symtableentry^.mangledname); - if p^.symtable^.defowner^.owner^.symtabletype=unitsymtable then - concat_external(p^.symtableentry^.mangledname,EXT_NEAR); - end - else - begin - p^.location.reference.base:=R_ESI; - p^.location.reference.offset:=pvarsym(p^.symtableentry)^.address; - end; - end; - withsymtable: - begin - hregister:=getregister32; - p^.location.reference.base:=hregister; - { make a reference } - { symtable datasize field - contains the offset of the temp - stored } - hp:=new_reference(procinfo.framepointer, - p^.symtable^.datasize); - - exprasmlist^.concat(new(pai386,op_ref_reg(A_MOV,S_L,hp,hregister))); - - p^.location.reference.offset:= - pvarsym(p^.symtableentry)^.address; - end; - end; - { in case call by reference, then calculate: } - if (pvarsym(p^.symtableentry)^.varspez=vs_var) or - ((pvarsym(p^.symtableentry)^.varspez=vs_const) and - dont_copy_const_param(pvarsym(p^.symtableentry)^.definition)) or - { call by value open arrays are also indirect addressed } - is_open_array(pvarsym(p^.symtableentry)^.definition) then begin - simple_loadn:=false; - if hregister=R_NO then - hregister:=getregister32; - if (p^.location.reference.base=procinfo.framepointer) then + { first handle local and temporary variables } + if (symtabletype in [parasymtable,inlinelocalsymtable, + inlineparasymtable,localsymtable]) then begin - highframepointer:=p^.location.reference.base; - highoffset:=p^.location.reference.offset; + p^.location.reference.base:=procinfo.framepointer; + p^.location.reference.offset:=pvarsym(p^.symtableentry)^.address; + if (symtabletype=localsymtable) or (symtabletype=inlinelocalsymtable) then + p^.location.reference.offset:=-p^.location.reference.offset; + if (symtabletype=parasymtable) or (symtabletype=inlineparasymtable) then + inc(p^.location.reference.offset,p^.symtable^.call_offset); + if (lexlevel>(p^.symtable^.symtablelevel)) then + begin + hregister:=getregister32; + + { make a reference } + hp:=new_reference(procinfo.framepointer, + procinfo.framepointer_offset); + + + exprasmlist^.concat(new(pai386,op_ref_reg(A_MOV,S_L,hp,hregister))); + + simple_loadn:=false; + i:=lexlevel-1; + while i>(p^.symtable^.symtablelevel) do + begin + { make a reference } + hp:=new_reference(hregister,8); + exprasmlist^.concat(new(pai386,op_ref_reg(A_MOV,S_L,hp,hregister))); + dec(i); + end; + p^.location.reference.base:=hregister; + end; end else - begin - highframepointer:=R_EDI; - highoffset:=p^.location.reference.offset; - exprasmlist^.concat(new(pai386,op_reg_reg(A_MOV,S_L, - p^.location.reference.base,R_EDI))); + case symtabletype of + unitsymtable,globalsymtable, + staticsymtable : begin + stringdispose(p^.location.reference.symbol); + p^.location.reference.symbol:=stringdup(p^.symtableentry^.mangledname); + if symtabletype=unitsymtable then + concat_external(p^.symtableentry^.mangledname,EXT_NEAR); + end; + objectsymtable : begin + if (pvarsym(p^.symtableentry)^.properties and sp_static)<>0 then + begin + stringdispose(p^.location.reference.symbol); + p^.location.reference.symbol:=stringdup(p^.symtableentry^.mangledname); + if p^.symtable^.defowner^.owner^.symtabletype=unitsymtable then + concat_external(p^.symtableentry^.mangledname,EXT_NEAR); + end + else + begin + p^.location.reference.base:=R_ESI; + p^.location.reference.offset:=pvarsym(p^.symtableentry)^.address; + end; + end; + withsymtable: + begin + hregister:=getregister32; + p^.location.reference.base:=hregister; + { make a reference } + { symtable datasize field + contains the offset of the temp + stored } + hp:=new_reference(procinfo.framepointer, + p^.symtable^.datasize); + + exprasmlist^.concat(new(pai386,op_ref_reg(A_MOV,S_L,hp,hregister))); + + p^.location.reference.offset:= + pvarsym(p^.symtableentry)^.address; + end; end; - exprasmlist^.concat(new(pai386,op_ref_reg(A_MOV,S_L,newreference(p^.location.reference), - hregister))); - clear_reference(p^.location.reference); - p^.location.reference.base:=hregister; - end; - { - if (pvarsym(p^.symtableentry)^.definition^.deftype=objectdef) and - ((pobjectdef(pvarsym(p^.symtableentry)^.definition)^.options and oois_class)<>0) then - begin - simple_loadn:=false; - if hregister=R_NO then - hregister:=getregister32; - exprasmlist^.concat(new(pai386,op_ref_reg(A_MOV,S_L,newreference(p^.location.reference), - hregister))); - clear_reference(p^.location.reference); - p^.location.reference.base:=hregister; + { in case call by reference, then calculate: } + if (pvarsym(p^.symtableentry)^.varspez=vs_var) or + ((pvarsym(p^.symtableentry)^.varspez=vs_const) and + dont_copy_const_param(pvarsym(p^.symtableentry)^.definition)) or + { call by value open arrays are also indirect addressed } + is_open_array(pvarsym(p^.symtableentry)^.definition) then + begin + simple_loadn:=false; + if hregister=R_NO then + hregister:=getregister32; + if (p^.location.reference.base=procinfo.framepointer) then + begin + highframepointer:=p^.location.reference.base; + highoffset:=p^.location.reference.offset; + end + else + begin + highframepointer:=R_EDI; + highoffset:=p^.location.reference.offset; + exprasmlist^.concat(new(pai386,op_reg_reg(A_MOV,S_L, + p^.location.reference.base,R_EDI))); + end; + exprasmlist^.concat(new(pai386,op_ref_reg(A_MOV,S_L,newreference(p^.location.reference), + hregister))); + clear_reference(p^.location.reference); + p^.location.reference.base:=hregister; + end; + { + if (pvarsym(p^.symtableentry)^.definition^.deftype=objectdef) and + ((pobjectdef(pvarsym(p^.symtableentry)^.definition)^.options and oois_class)<>0) then + begin + simple_loadn:=false; + if hregister=R_NO then + hregister:=getregister32; + exprasmlist^.concat(new(pai386,op_ref_reg(A_MOV,S_L,newreference(p^.location.reference), + hregister))); + clear_reference(p^.location.reference); + p^.location.reference.base:=hregister; + end; + } end; - } end; end; procsym: @@ -510,7 +520,16 @@ implementation end. { $Log$ - Revision 1.2 1998-06-08 13:13:34 pierre + Revision 1.3 1998-06-09 16:01:35 pierre + + added procedure directive parsing for procvars + (accepted are popstack cdecl and pascal) + + added C vars with the following syntax + var C calias 'true_c_name';(can be followed by external) + reason is that you must add the Cprefix + + which is target dependent + + Revision 1.2 1998/06/08 13:13:34 pierre + temporary variables now in temp_gen.pas unit because it is processor independent * mppc68k.bat modified to undefine i386 and support_mmx diff --git a/compiler/cg68k.pas b/compiler/cg68k.pas index 089e25f2d7..0d01c3a971 100644 --- a/compiler/cg68k.pas +++ b/compiler/cg68k.pas @@ -4909,7 +4909,7 @@ end; i,j,k : longint; begin - if (p^.typ=varsym) and (pvarsym(p)^.regable) then + if (p^.typ=varsym) and ((pvarsym(p)^.var_options and vo_regable)<>0) then begin { walk through all momentary register variables } for i:=1 to maxvarregs do @@ -5137,7 +5137,16 @@ end. { $Log$ - Revision 1.6 1998-06-08 13:13:36 pierre + Revision 1.7 1998-06-09 16:01:36 pierre + + added procedure directive parsing for procvars + (accepted are popstack cdecl and pascal) + + added C vars with the following syntax + var C calias 'true_c_name';(can be followed by external) + reason is that you must add the Cprefix + + which is target dependent + + Revision 1.6 1998/06/08 13:13:36 pierre + temporary variables now in temp_gen.pas unit because it is processor independent * mppc68k.bat modified to undefine i386 and support_mmx diff --git a/compiler/cgi386.pas b/compiler/cgi386.pas index 380bfaf0e2..ac287c60e7 100644 --- a/compiler/cgi386.pas +++ b/compiler/cgi386.pas @@ -280,7 +280,7 @@ implementation i,j,k : longint; begin - if (p^.typ=varsym) and (pvarsym(p)^.regable) then + if (p^.typ=varsym) and ((pvarsym(p)^.var_options and vo_regable)<>0) then begin { walk through all momentary register variables } for i:=1 to maxvarregs do @@ -516,7 +516,16 @@ implementation end. { $Log$ - Revision 1.37 1998-06-08 13:13:41 pierre + Revision 1.38 1998-06-09 16:01:37 pierre + + added procedure directive parsing for procvars + (accepted are popstack cdecl and pascal) + + added C vars with the following syntax + var C calias 'true_c_name';(can be followed by external) + reason is that you must add the Cprefix + + which is target dependent + + Revision 1.37 1998/06/08 13:13:41 pierre + temporary variables now in temp_gen.pas unit because it is processor independent * mppc68k.bat modified to undefine i386 and support_mmx diff --git a/compiler/files.pas b/compiler/files.pas index 9246cbd8e8..3dc5574973 100644 --- a/compiler/files.pas +++ b/compiler/files.pas @@ -204,6 +204,7 @@ unit files; ibunitname = 34; ibwidestringdef = 35; ibstaticlibs = 36; + ibvarsym_C = 37; ibend = 255; { unit flags } @@ -937,7 +938,16 @@ unit files; end. { $Log$ - Revision 1.16 1998-06-04 10:42:19 pierre + Revision 1.17 1998-06-09 16:01:40 pierre + + added procedure directive parsing for procvars + (accepted are popstack cdecl and pascal) + + added C vars with the following syntax + var C calias 'true_c_name';(can be followed by external) + reason is that you must add the Cprefix + + which is target dependent + + Revision 1.16 1998/06/04 10:42:19 pierre * small bug fix in load_ppu or openppu Revision 1.15 1998/05/28 14:37:53 peter diff --git a/compiler/msgtxt.inc b/compiler/msgtxt.inc index ba7ab522a3..2d8ad6fc9a 100644 --- a/compiler/msgtxt.inc +++ b/compiler/msgtxt.inc @@ -1,4 +1,4 @@ -const msgtxt : array[1..14129] of char=( +const msgtxt : array[1..14132] of char=( 'I','_','C','o','m','p','i','l','e','r',':',' ','$','1',#000, 'I','_','U','n','i','t','s',' ','a','r','e',' ','s','e','a', 'r','c','h','e','d',' ','i','n',':',' ','$','1',#000,'D','_', @@ -391,7 +391,7 @@ const msgtxt : array[1..14129] of char=( ' ','b','e',' ','r','e','s','o','l','v','e','d',' ','h','e', 'r','e',' ','t','o',' ','u','s','e',' ','t','h','e',' ','c', 'l','a','s','s',' ','a','s',' ','a','n','c','h','e','s','t', - 'o','r',#000,'N','_','L','o','c','a','l',' ','v','a','r','i', + 'o','r',#000,'W','_','L','o','c','a','l',' ','v','a','r','i', 'a','b','l','e',' ','$','1',' ','d','o','e','s','n',#039,'t', ' ','s','e','e','m',' ','t','o',' ','b','e',' ','i','n','i', 't','i','a','l','i','z','e','d',' ','y','e','t',' ','!',#000, @@ -461,483 +461,484 @@ const msgtxt : array[1..14129] of char=( ' ','n','o','t',' ','s','e','e','m',' ','t','o',' ','b','e', ' ','s','e','t',#000,'E','_','U','n','k','n','o','w','n',' ', 'f','i','e','l','d',' ','i','d','e','n','t','i','f','i','e', - 'r',#000,'N','_','L','o','c','a','l',' ','v','a','r','i','a', + 'r',#000,'W','_','L','o','c','a','l',' ','v','a','r','i','a', 'b','l','e',' ','$','1',' ','d','o','e','s',' ','n','o','t', ' ','s','e','e','m',' ','t','o',' ','b','e',' ','i','n','i', 't','i','a','l','i','z','e','d',#000,'E','_','i','d','e','n', 't','i','f','i','e','r',' ','i','d','e','n','t','s',' ','n', - 'o',' ','m','e','m','b','e','r',#000,'E','_','B','R','E','A', - 'K',' ','n','o','t',' ','a','l','l','o','w','e','d',#000,'E', - '_','C','O','N','T','I','N','U','E',' ','n','o','t',' ','a', - 'l','l','o','w','e','d',#000,'E','_','E','x','p','r','e','s', - 's','i','o','n',' ','t','o','o',' ','c','o','m','p','l','i', - 'c','a','t','e','d',' ','-',' ','F','P','U',' ','s','t','a', - 'c','k',' ','o','v','e','r','f','l','o','w',#000,'E','_','I', - 'l','l','e','g','a','l',' ','e','x','p','r','e','s','s','i', - 'o','n',#000,'E','_','I','n','v','a','l','i','d',' ','i','n', - 't','e','g','e','r',#000,'E','_','I','l','l','e','g','a','l', - ' ','q','u','a','l','i','f','i','e','r',#000,'E','_','H','i', - 'g','h',' ','r','a','n','g','e',' ','l','i','m','i','t',' ', - '<',' ','l','o','w',' ','r','a','n','g','e',' ','l','i','m', - 'i','t',#000,'E','_','I','l','l','e','g','a','l',' ','c','o', - 'u','n','t','e','r',' ','v','a','r','i','a','b','l','e',#000, - 'E','_','C','a','n',#039,'t',' ','d','e','t','e','r','m','i', - 'n','e',' ','w','h','i','c','h',' ','o','v','e','r','l','o', - 'a','d','e','d',' ','f','u','n','c','t','i','o','n',' ','t', - 'o',' ','c','a','l','l',#000,'E','_','P','a','r','a','m','e', - 't','e','r',' ','l','i','s','t',' ','s','i','z','e',' ','e', - 'x','c','e','e','d','s',' ','6','5','5','3','5',' ','b','y', - 't','e','s',#000,'E','_','I','l','l','e','g','a','l',' ','t', - 'y','p','e',' ','c','o','n','v','e','r','s','i','o','n',#000, - 'E','_','F','i','l','e',' ','t','y','p','e','s',' ','m','u', - 's','t',' ','b','e',' ','v','a','r',' ','p','a','r','a','m', - 'e','t','e','r','s',#000,'E','_','T','h','e',' ','u','s','e', - ' ','o','f',' ','a',' ','f','a','r',' ','p','o','i','n','t', - 'e','r',' ','i','s','n',#039,'t',' ','a','l','l','o','w','e', - 'd',' ','t','h','e','r','e',#000,'E','_','i','l','l','e','g', - 'a','l',' ','c','a','l','l',' ','b','y',' ','r','e','f','e', - 'r','e','n','c','e',' ','p','a','r','a','m','e','t','e','r', - 's',#000,'E','_','E','X','P','O','R','T',' ','d','e','c','l', - 'a','r','e','d',' ','f','u','n','c','t','i','o','n','s',' ', - 'c','a','n',#039,'t',' ','b','e',' ','c','a','l','l','e','d', - #000,'W','_','P','o','s','s','i','b','l','e',' ','i','l','l', - 'e','g','a','l',' ','c','a','l','l',' ','o','f',' ','c','o', - 'n','s','t','r','u','c','t','o','r',' ','o','r',' ','d','e', - 's','t','r','u','c','t','o','r',' ','(','d','o','e','s','n', - #039,'t',' ','m','a','t','c','h',' ','t','o',' ','t','h','i', - 's',' ','c','o','n','t','e','x','t',')',#000,'N','_','I','n', - 'e','f','f','i','c','i','e','n','t',' ','c','o','d','e',#000, - 'W','_','u','n','r','e','a','c','h','a','b','l','e',' ','c', - 'o','d','e',#000,'E','_','p','r','o','c','e','d','u','r','e', - ' ','c','a','l','l',' ','w','i','t','h',' ','s','t','a','c', - 'k','f','r','a','m','e',' ','E','S','P','/','S','P',#000,'E', - '_','A','b','s','t','r','a','c','t',' ','m','e','t','h','o', - 'd','s',' ','c','a','n',#039,'t',' ','b','e',' ','c','a','l', - 'l','e','d',' ','d','i','r','e','c','t','l','y',#000,'F','_', - 'I','n','t','e','r','n','a','l',' ','E','r','r','o','r',' ', - 'i','n',' ','g','e','t','f','l','o','a','t','r','e','g','(', - ')',',',' ','a','l','l','o','c','a','t','i','o','n',' ','f', - 'a','i','l','u','r','e',#000,'F','_','U','n','k','n','o','w', - 'n',' ','f','l','o','a','t',' ','t','y','p','e',#000,'F','_', - 'S','e','c','o','n','d','V','e','c','n','(',')',' ','b','a', - 's','e',' ','d','e','f','i','n','e','d',' ','t','w','i','c', - 'e',#000,'F','_','E','x','t','e','n','d','e','d',' ','c','g', - '6','8','k',' ','n','o','t',' ','s','u','p','p','o','r','t', - 'e','d',#000,'F','_','3','2','-','b','i','t',' ','u','n','s', - 'i','g','n','e','d',' ','n','o','t',' ','s','u','p','p','o', - 'r','t','e','d',' ','i','n',' ','M','C','6','8','0','0','0', - ' ','m','o','d','e',#000,'F','_','I','n','t','e','r','n','a', - 'l',' ','E','r','r','o','r',' ','i','n',' ','s','e','c','o', - 'n','d','i','n','l','i','n','e','(',')',#000,'D','_','R','e', - 'g','i','s','t','e','r',' ','$','1',' ','w','e','i','g','h', - 't',' ','$','2',' ','$','3',#000,'E','_','S','t','a','c','k', - ' ','l','i','m','i','t',' ','e','x','c','e','d','e','e','d', - ' ','i','n',' ','l','o','c','a','l',' ','r','o','u','t','i', - 'n','e',#000,'D','_','S','t','a','c','k',' ','f','r','a','m', - 'e',' ','i','s',' ','o','m','i','t','e','d',#000,'F','_','D', - 'i','v','i','d','e',' ','b','y',' ','z','e','r','o',' ','i', - 'n',' ','a','s','m',' ','e','v','a','l','u','a','t','o','r', + 'o',' ','m','e','m','b','e','r',' ','$','1',#000,'E','_','B', + 'R','E','A','K',' ','n','o','t',' ','a','l','l','o','w','e', + 'd',#000,'E','_','C','O','N','T','I','N','U','E',' ','n','o', + 't',' ','a','l','l','o','w','e','d',#000,'E','_','E','x','p', + 'r','e','s','s','i','o','n',' ','t','o','o',' ','c','o','m', + 'p','l','i','c','a','t','e','d',' ','-',' ','F','P','U',' ', + 's','t','a','c','k',' ','o','v','e','r','f','l','o','w',#000, + 'E','_','I','l','l','e','g','a','l',' ','e','x','p','r','e', + 's','s','i','o','n',#000,'E','_','I','n','v','a','l','i','d', + ' ','i','n','t','e','g','e','r',#000,'E','_','I','l','l','e', + 'g','a','l',' ','q','u','a','l','i','f','i','e','r',#000,'E', + '_','H','i','g','h',' ','r','a','n','g','e',' ','l','i','m', + 'i','t',' ','<',' ','l','o','w',' ','r','a','n','g','e',' ', + 'l','i','m','i','t',#000,'E','_','I','l','l','e','g','a','l', + ' ','c','o','u','n','t','e','r',' ','v','a','r','i','a','b', + 'l','e',#000,'E','_','C','a','n',#039,'t',' ','d','e','t','e', + 'r','m','i','n','e',' ','w','h','i','c','h',' ','o','v','e', + 'r','l','o','a','d','e','d',' ','f','u','n','c','t','i','o', + 'n',' ','t','o',' ','c','a','l','l',#000,'E','_','P','a','r', + 'a','m','e','t','e','r',' ','l','i','s','t',' ','s','i','z', + 'e',' ','e','x','c','e','e','d','s',' ','6','5','5','3','5', + ' ','b','y','t','e','s',#000,'E','_','I','l','l','e','g','a', + 'l',' ','t','y','p','e',' ','c','o','n','v','e','r','s','i', + 'o','n',#000,'E','_','F','i','l','e',' ','t','y','p','e','s', + ' ','m','u','s','t',' ','b','e',' ','v','a','r',' ','p','a', + 'r','a','m','e','t','e','r','s',#000,'E','_','T','h','e',' ', + 'u','s','e',' ','o','f',' ','a',' ','f','a','r',' ','p','o', + 'i','n','t','e','r',' ','i','s','n',#039,'t',' ','a','l','l', + 'o','w','e','d',' ','t','h','e','r','e',#000,'E','_','i','l', + 'l','e','g','a','l',' ','c','a','l','l',' ','b','y',' ','r', + 'e','f','e','r','e','n','c','e',' ','p','a','r','a','m','e', + 't','e','r','s',#000,'E','_','E','X','P','O','R','T',' ','d', + 'e','c','l','a','r','e','d',' ','f','u','n','c','t','i','o', + 'n','s',' ','c','a','n',#039,'t',' ','b','e',' ','c','a','l', + 'l','e','d',#000,'W','_','P','o','s','s','i','b','l','e',' ', + 'i','l','l','e','g','a','l',' ','c','a','l','l',' ','o','f', + ' ','c','o','n','s','t','r','u','c','t','o','r',' ','o','r', + ' ','d','e','s','t','r','u','c','t','o','r',' ','(','d','o', + 'e','s','n',#039,'t',' ','m','a','t','c','h',' ','t','o',' ', + 't','h','i','s',' ','c','o','n','t','e','x','t',')',#000,'N', + '_','I','n','e','f','f','i','c','i','e','n','t',' ','c','o', + 'd','e',#000,'W','_','u','n','r','e','a','c','h','a','b','l', + 'e',' ','c','o','d','e',#000,'E','_','p','r','o','c','e','d', + 'u','r','e',' ','c','a','l','l',' ','w','i','t','h',' ','s', + 't','a','c','k','f','r','a','m','e',' ','E','S','P','/','S', + 'P',#000,'E','_','A','b','s','t','r','a','c','t',' ','m','e', + 't','h','o','d','s',' ','c','a','n',#039,'t',' ','b','e',' ', + 'c','a','l','l','e','d',' ','d','i','r','e','c','t','l','y', + #000,'F','_','I','n','t','e','r','n','a','l',' ','E','r','r', + 'o','r',' ','i','n',' ','g','e','t','f','l','o','a','t','r', + 'e','g','(',')',',',' ','a','l','l','o','c','a','t','i','o', + 'n',' ','f','a','i','l','u','r','e',#000,'F','_','U','n','k', + 'n','o','w','n',' ','f','l','o','a','t',' ','t','y','p','e', + #000,'F','_','S','e','c','o','n','d','V','e','c','n','(',')', + ' ','b','a','s','e',' ','d','e','f','i','n','e','d',' ','t', + 'w','i','c','e',#000,'F','_','E','x','t','e','n','d','e','d', + ' ','c','g','6','8','k',' ','n','o','t',' ','s','u','p','p', + 'o','r','t','e','d',#000,'F','_','3','2','-','b','i','t',' ', + 'u','n','s','i','g','n','e','d',' ','n','o','t',' ','s','u', + 'p','p','o','r','t','e','d',' ','i','n',' ','M','C','6','8', + '0','0','0',' ','m','o','d','e',#000,'F','_','I','n','t','e', + 'r','n','a','l',' ','E','r','r','o','r',' ','i','n',' ','s', + 'e','c','o','n','d','i','n','l','i','n','e','(',')',#000,'D', + '_','R','e','g','i','s','t','e','r',' ','$','1',' ','w','e', + 'i','g','h','t',' ','$','2',' ','$','3',#000,'E','_','S','t', + 'a','c','k',' ','l','i','m','i','t',' ','e','x','c','e','d', + 'e','e','d',' ','i','n',' ','l','o','c','a','l',' ','r','o', + 'u','t','i','n','e',#000,'D','_','S','t','a','c','k',' ','f', + 'r','a','m','e',' ','i','s',' ','o','m','i','t','e','d',#000, + 'F','_','D','i','v','i','d','e',' ','b','y',' ','z','e','r', + 'o',' ','i','n',' ','a','s','m',' ','e','v','a','l','u','a', + 't','o','r',#000,'F','_','E','v','a','l','u','a','t','o','r', + ' ','s','t','a','c','k',' ','o','v','e','r','f','l','o','w', #000,'F','_','E','v','a','l','u','a','t','o','r',' ','s','t', - 'a','c','k',' ','o','v','e','r','f','l','o','w',#000,'F','_', - 'E','v','a','l','u','a','t','o','r',' ','s','t','a','c','k', - ' ','u','n','d','e','r','f','l','o','w',#000,'F','_','I','n', - 'v','a','l','i','d',' ','n','u','m','e','r','i','c',' ','f', - 'o','r','m','a','t',' ','i','n',' ','a','s','m',' ','e','v', - 'a','l','u','a','t','o','r',#000,'F','_','I','n','v','a','l', - 'i','d',' ','O','p','e','r','a','t','o','r',' ','i','n',' ', - 'a','s','m',' ','e','v','a','l','u','a','t','o','r',#000,'F', - '_','U','n','k','n','o','w','n',' ','e','r','r','o','r',' ', + 'a','c','k',' ','u','n','d','e','r','f','l','o','w',#000,'F', + '_','I','n','v','a','l','i','d',' ','n','u','m','e','r','i', + 'c',' ','f','o','r','m','a','t',' ','i','n',' ','a','s','m', + ' ','e','v','a','l','u','a','t','o','r',#000,'F','_','I','n', + 'v','a','l','i','d',' ','O','p','e','r','a','t','o','r',' ', 'i','n',' ','a','s','m',' ','e','v','a','l','u','a','t','o', - 'r',#000,'W','_','I','n','v','a','l','i','d',' ','n','u','m', - 'e','r','i','c',' ','v','a','l','u','e',#000,'E','_','e','s', - 'c','a','p','e',' ','s','e','q','u','e','n','c','e',' ','i', - 'g','n','o','r','e','d',':',' ','$','1',#000,'E','_','A','s', - 'm',' ','s','y','n','t','a','x',' ','e','r','r','o','r',' ', - '-',' ','P','r','e','f','i','x',' ','n','o','t',' ','f','o', - 'u','n','d',#000,'E','_','A','s','m',' ','s','y','n','t','a', - 'x',' ','e','r','r','o','r',' ','-',' ','T','r','y','i','n', - 'g',' ','t','o',' ','a','d','d',' ','m','o','r','e',' ','t', - 'h','a','n',' ','o','n','e',' ','p','r','e','f','i','x',#000, - 'E','_','A','s','m',' ','s','y','n','t','a','x',' ','e','r', - 'r','o','r',' ','-',' ','O','p','c','o','d','e',' ','n','o', - 't',' ','f','o','u','n','d',#000,'E','_','I','n','v','a','l', - 'i','d',' ','s','y','m','b','o','l',' ','r','e','f','e','r', - 'e','n','c','e',#000,'W','_','C','a','l','l','i','n','g',' ', - 'a','n',' ','o','v','e','r','l','o','a','d',' ','f','u','n', - 'c','t','i','o','n',' ','i','n',' ','a','n',' ','a','s','m', - #000,'E','_','C','o','n','s','t','a','n','t',' ','v','a','l', - 'u','e',' ','o','u','t',' ','o','f',' ','b','o','u','n','d', - 's',#000,'E','_','N','o','n','-','l','a','b','e','l',' ','p', - 'a','t','t','e','r','n',' ','c','o','n','t','a','i','n','s', - ' ','@',#000,'E','_','I','n','v','a','l','i','d',' ','O','p', - 'e','r','a','n','d',':',' ','$','1',#000,'W','_','O','v','e', - 'r','r','i','d','e',' ','o','p','e','r','a','t','o','r',' ', - 'n','o','t',' ','s','u','p','p','o','r','t','e','d',#000,'E', - '_','E','r','r','o','r',' ','i','n',' ','b','i','n','a','r', - 'y',' ','c','o','n','s','t','a','n','t',':',' ','$','1',#000, - 'E','_','E','r','r','o','r',' ','i','n',' ','o','c','t','a', - 'l',' ','c','o','n','s','t','a','n','t',':',' ','$','1',#000, - 'E','_','E','r','r','o','r',' ','i','n',' ','h','e','x','a', - 'd','e','c','i','m','a','l',' ','c','o','n','s','t','a','n', - 't',':',' ','$','1',#000,'E','_','E','r','r','o','r',' ','i', - 'n',' ','i','n','t','e','g','e','r',' ','c','o','n','s','t', - 'a','n','t',':',' ','$','1',#000,'E','_','I','n','v','a','l', - 'i','d',' ','l','a','b','e','l','e','d',' ','o','p','c','o', - 'd','e',#000,'F','_','I','n','t','e','r','n','a','l',' ','e', - 'r','r','o','r',' ','i','n',' ','F','i','n','d','t','y','p', - 'e','(',')',#000,'E','_','I','n','v','a','l','i','d',' ','s', - 'i','z','e',' ','f','o','r',' ','M','O','V','S','X','/','M', - 'O','V','Z','X',#000,'E','_','1','6','-','b','i','t',' ','b', - 'a','s','e',' ','i','n',' ','3','2','-','b','i','t',' ','s', - 'e','g','m','e','n','t',#000,'E','_','1','6','-','b','i','t', - ' ','i','n','d','e','x',' ','i','n',' ','3','2','-','b','i', - 't',' ','s','e','g','m','e','n','t',#000,'E','_','I','n','v', - 'a','l','i','d',' ','O','p','c','o','d','e',#000,'E','_','C', - 'o','n','s','t','a','n','t',' ','r','e','f','e','r','e','n', - 'c','e',' ','n','o','t',' ','a','l','l','o','w','e','d',#000, - 'W','_','F','w','a','i','t',' ','c','a','n',' ','c','a','u', - 's','e',' ','e','m','u','l','a','t','i','o','n',' ','p','r', - 'o','b','l','e','m','s',' ','w','i','t','h',' ','e','m','u', - '3','8','7',#000,'E','_','I','n','v','a','l','i','d',' ','c', - 'o','m','b','i','n','a','t','i','o','n',' ','o','f',' ','o', - 'p','c','o','d','e',' ','a','n','d',' ','o','p','e','r','a', - 'n','d','s',#000,'W','_','O','p','c','o','d','e',' ','$','1', - ' ','n','o','t',' ','i','n',' ','t','a','b','l','e',',',' ', - 'o','p','e','r','a','n','d','s',' ','n','o','t',' ','c','h', - 'e','c','k','e','d',#000,'F','_','I','n','t','e','r','n','a', - 'l',' ','E','r','r','o','r',' ','i','n',' ','C','o','n','c', - 'a','t','O','p','c','o','d','e','(',')',#000,'E','_','I','n', - 'v','a','l','i','d',' ','s','i','z','e',' ','i','n',' ','r', - 'e','f','e','r','e','n','c','e',#000,'E','_','I','n','v','a', - 'l','i','d',' ','m','i','d','d','l','e',' ','s','i','z','e', - 'd',' ','o','p','e','r','a','n','d',#000,'E','_','I','n','v', - 'a','l','i','d',' ','t','h','r','e','e',' ','o','p','e','r', - 'a','n','d',' ','o','p','c','o','d','e',#000,'E','_','A','s', - 's','e','m','b','l','e','r',' ','s','y','n','t','a','x',' ', - 'e','r','r','o','r',#000,'E','_','I','n','v','a','l','i','d', - ' ','o','p','e','r','a','n','d',' ','t','y','p','e',#000,'E', - '_','S','e','g','m','e','n','t',' ','o','v','e','r','r','i', - 'd','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t', - 'e','d',#000,'E','_','I','n','v','a','l','i','d',' ','c','o', - 'n','s','t','a','n','t',' ','s','y','m','b','o','l',' ','$', - '1',#000,'F','_','I','n','t','e','r','n','a','l',' ','E','r', - 'r','r','o','r',' ','c','o','n','v','e','r','t','i','n','g', - ' ','b','i','n','a','r','y',#000,'F','_','I','n','t','e','r', - 'n','a','l',' ','E','r','r','r','o','r',' ','c','o','n','v', - 'e','r','t','i','n','g',' ','h','e','x','a','d','e','c','i', - 'm','a','l',#000,'F','_','I','n','t','e','r','n','a','l',' ', - 'E','r','r','r','o','r',' ','c','o','n','v','e','r','t','i', - 'n','g',' ','o','c','t','a','l',#000,'E','_','I','n','v','a', - 'l','i','d',' ','c','o','n','s','t','a','n','t',' ','e','x', - 'p','r','e','s','s','i','o','n',#000,'E','_','U','n','k','n', - 'o','w','n',' ','i','d','e','n','t','i','f','i','e','r',':', - ' ','$','1',#000,'E','_','T','r','y','i','n','g',' ','t','o', - ' ','d','e','f','i','n','e',' ','a','n',' ','i','n','d','e', - 'x',' ','r','e','g','i','s','t','e','r',' ','m','o','r','e', - ' ','t','h','a','n',' ','o','n','c','e',#000,'E','_','I','n', - 'v','a','l','i','d',' ','f','i','e','l','d',' ','s','p','e', - 'c','i','f','i','e','r',#000,'F','_','I','n','t','e','r','n', - 'a','l',' ','E','r','r','o','r',' ','i','n',' ','B','u','i', - 'l','d','S','c','a','l','i','n','g','(',')',#000,'E','_','I', - 'n','v','a','l','i','d',' ','s','c','a','l','i','n','g',' ', - 'f','a','c','t','o','r',#000,'E','_','I','n','v','a','l','i', - 'd',' ','s','c','a','l','i','n','g',' ','v','a','l','u','e', - #000,'E','_','S','c','a','l','i','n','g',' ','v','a','l','u', - 'e',' ','o','n','l','y',' ','a','l','l','o','w','e','d',' ', - 'w','i','t','h',' ','i','n','d','e','x',#000,'E','_','I','n', - 'v','a','l','i','d',' ','a','s','s','e','m','b','l','e','r', - ' ','s','y','n','t','a','x','.',' ','N','o',' ','r','e','f', - ' ','w','i','t','h',' ','b','r','a','c','k','e','t','s',')', - #000,'E','_','E','x','p','r','e','s','s','i','o','n','s',' ', - 'o','f',' ','t','h','e',' ','f','o','r','m',' ','[','s','r', - 'e','g',':','r','e','g','.','.','.',']',' ','a','r','e',' ', - 'c','u','r','r','e','n','t','l','y',' ','n','o','t',' ','s', - 'u','p','p','o','r','t','e','d',#000,'E','_','T','r','y','i', - 'n','g',' ','t','o',' ','d','e','f','i','n','e',' ','a',' ', - 's','e','g','m','e','n','t',' ','r','e','g','i','s','t','e', - 'r',' ','t','w','i','c','e',#000,'E','_','T','r','y','i','n', - 'g',' ','t','o',' ','d','e','f','i','n','e',' ','a',' ','b', - 'a','s','e',' ','r','e','g','i','s','t','e','r',' ','t','w', - 'i','c','e',#000,'E','_','T','r','y','i','n','g',' ','t','o', - ' ','u','s','e',' ','a',' ','n','e','g','a','t','i','v','e', - ' ','i','n','d','e','x',' ','r','e','g','i','s','t','e','r', - #000,'E','_','A','s','m',' ','s','y','n','t','a','x',' ','e', - 'r','r','o','r',' ','-',' ','e','r','r','o','r',' ','i','n', - ' ','r','e','f','e','r','e','n','c','e',#000,'E','_','L','o', - 'c','a','l',' ','s','y','m','b','o','l','s',' ','n','o','t', - ' ','a','l','l','o','w','e','d',' ','a','s',' ','r','e','f', - 'e','r','e','n','c','e','s',#000,'E','_','I','n','v','a','l', - 'i','d',' ','o','p','e','r','a','n','d',' ','i','n',' ','b', - 'r','a','c','k','e','t',' ','e','x','p','r','e','s','s','i', - 'o','n',#000,'E','_','I','n','v','a','l','i','d',' ','s','y', - 'm','b','o','l',' ','n','a','m','e',':',' ','$','1',#000,'E', - '_','I','n','v','a','l','i','d',' ','R','e','f','e','r','e', - 'n','c','e',' ','s','y','n','t','a','x',#000,'E','_','I','n', - 'v','a','l','i','d',' ','s','t','r','i','n','g',' ','a','s', - ' ','o','p','c','o','d','e',' ','o','p','e','r','a','n','d', - ':',' ','$','1',#000,'W','_','@','C','O','D','E',' ','a','n', - 'd',' ','@','D','A','T','A',' ','n','o','t',' ','s','u','p', - 'p','o','r','t','e','d',#000,'E','_','N','u','l','l',' ','l', - 'a','b','e','l',' ','r','e','f','e','r','e','n','c','e','s', - ' ','a','r','e',' ','n','o','t',' ','a','l','l','o','w','e', - 'd',#000,'E','_','C','a','n','n','o','t',' ','u','s','e',' ', - 'S','E','L','F',' ','o','u','t','s','i','d','e',' ','a',' ', - 'm','e','t','h','o','d',#000,'E','_','A','s','m',' ','s','y', - 'n','t','a','x',' ','e','r','r','o','r',' ','-',' ','S','h', - 'o','u','l','d',' ','s','t','a','r','t',' ','w','i','t','h', - ' ','b','r','a','c','k','e','t',#000,'E','_','A','s','m',' ', - 's','y','n','t','a','x',' ','e','r','r','o','r',' ','-',' ', - 'r','e','g','i','s','t','e','r',':',' ','$','1',#000,'E','_', - 'S','E','G',' ','a','n','d',' ','O','F','F','S','E','T',' ', - 'n','o','t',' ','s','u','p','p','o','r','t','e','d',#000,'E', + 'r',#000,'F','_','U','n','k','n','o','w','n',' ','e','r','r', + 'o','r',' ','i','n',' ','a','s','m',' ','e','v','a','l','u', + 'a','t','o','r',#000,'W','_','I','n','v','a','l','i','d',' ', + 'n','u','m','e','r','i','c',' ','v','a','l','u','e',#000,'E', + '_','e','s','c','a','p','e',' ','s','e','q','u','e','n','c', + 'e',' ','i','g','n','o','r','e','d',':',' ','$','1',#000,'E', '_','A','s','m',' ','s','y','n','t','a','x',' ','e','r','r', - 'o','r',' ','-',' ','i','n',' ','o','p','c','o','d','e',' ', - 'o','p','e','r','a','n','d',#000,'E','_','I','n','v','a','l', - 'i','d',' ','S','t','r','i','n','g',' ','e','x','p','r','e', - 's','s','i','o','n',#000,'E','_','C','o','n','s','t','a','n', - 't',' ','e','x','p','r','e','s','s','i','o','n',' ','o','u', - 't',' ','o','f',' ','b','o','u','n','d','s',#000,'F','_','I', - 'n','t','e','r','n','a','l',' ','E','r','r','o','r',' ','i', - 'n',' ','B','u','i','l','d','C','o','n','s','t','a','n','t', - '(',')',#000,'W','_','A',' ','r','e','p','e','a','t',' ','p', - 'r','e','f','i','x',' ','a','n','d',' ','a',' ','s','e','g', - 'm','e','n','t',' ','o','v','e','r','r','i','d','e',' ','o', - 'n',' ','<','=',' ','i','3','8','6',' ','m','a','y',' ','r', - 'e','s','u','l','t',' ','i','n',' ','e','r','r','o','r','s', - ' ','i','f',' ','a','n',' ','i','n','t','e','r','r','u','p', - 't',' ','o','c','c','u','r','s',#000,'E','_','I','n','v','a', - 'l','i','d',' ','o','r',' ','m','i','s','s','i','n','g',' ', - 'o','p','c','o','d','e',#000,'E','_','I','n','v','a','l','i', + 'o','r',' ','-',' ','P','r','e','f','i','x',' ','n','o','t', + ' ','f','o','u','n','d',#000,'E','_','A','s','m',' ','s','y', + 'n','t','a','x',' ','e','r','r','o','r',' ','-',' ','T','r', + 'y','i','n','g',' ','t','o',' ','a','d','d',' ','m','o','r', + 'e',' ','t','h','a','n',' ','o','n','e',' ','p','r','e','f', + 'i','x',#000,'E','_','A','s','m',' ','s','y','n','t','a','x', + ' ','e','r','r','o','r',' ','-',' ','O','p','c','o','d','e', + ' ','n','o','t',' ','f','o','u','n','d',#000,'E','_','I','n', + 'v','a','l','i','d',' ','s','y','m','b','o','l',' ','r','e', + 'f','e','r','e','n','c','e',#000,'W','_','C','a','l','l','i', + 'n','g',' ','a','n',' ','o','v','e','r','l','o','a','d',' ', + 'f','u','n','c','t','i','o','n',' ','i','n',' ','a','n',' ', + 'a','s','m',#000,'E','_','C','o','n','s','t','a','n','t',' ', + 'v','a','l','u','e',' ','o','u','t',' ','o','f',' ','b','o', + 'u','n','d','s',#000,'E','_','N','o','n','-','l','a','b','e', + 'l',' ','p','a','t','t','e','r','n',' ','c','o','n','t','a', + 'i','n','s',' ','@',#000,'E','_','I','n','v','a','l','i','d', + ' ','O','p','e','r','a','n','d',':',' ','$','1',#000,'W','_', + 'O','v','e','r','r','i','d','e',' ','o','p','e','r','a','t', + 'o','r',' ','n','o','t',' ','s','u','p','p','o','r','t','e', + 'd',#000,'E','_','E','r','r','o','r',' ','i','n',' ','b','i', + 'n','a','r','y',' ','c','o','n','s','t','a','n','t',':',' ', + '$','1',#000,'E','_','E','r','r','o','r',' ','i','n',' ','o', + 'c','t','a','l',' ','c','o','n','s','t','a','n','t',':',' ', + '$','1',#000,'E','_','E','r','r','o','r',' ','i','n',' ','h', + 'e','x','a','d','e','c','i','m','a','l',' ','c','o','n','s', + 't','a','n','t',':',' ','$','1',#000,'E','_','E','r','r','o', + 'r',' ','i','n',' ','i','n','t','e','g','e','r',' ','c','o', + 'n','s','t','a','n','t',':',' ','$','1',#000,'E','_','I','n', + 'v','a','l','i','d',' ','l','a','b','e','l','e','d',' ','o', + 'p','c','o','d','e',#000,'F','_','I','n','t','e','r','n','a', + 'l',' ','e','r','r','o','r',' ','i','n',' ','F','i','n','d', + 't','y','p','e','(',')',#000,'E','_','I','n','v','a','l','i', + 'd',' ','s','i','z','e',' ','f','o','r',' ','M','O','V','S', + 'X','/','M','O','V','Z','X',#000,'E','_','1','6','-','b','i', + 't',' ','b','a','s','e',' ','i','n',' ','3','2','-','b','i', + 't',' ','s','e','g','m','e','n','t',#000,'E','_','1','6','-', + 'b','i','t',' ','i','n','d','e','x',' ','i','n',' ','3','2', + '-','b','i','t',' ','s','e','g','m','e','n','t',#000,'E','_', + 'I','n','v','a','l','i','d',' ','O','p','c','o','d','e',#000, + 'E','_','C','o','n','s','t','a','n','t',' ','r','e','f','e', + 'r','e','n','c','e',' ','n','o','t',' ','a','l','l','o','w', + 'e','d',#000,'W','_','F','w','a','i','t',' ','c','a','n',' ', + 'c','a','u','s','e',' ','e','m','u','l','a','t','i','o','n', + ' ','p','r','o','b','l','e','m','s',' ','w','i','t','h',' ', + 'e','m','u','3','8','7',#000,'E','_','I','n','v','a','l','i', 'd',' ','c','o','m','b','i','n','a','t','i','o','n',' ','o', - 'f',' ','p','r','e','f','i','x',' ','a','n','d',' ','o','p', - 'c','o','d','e',':',' ','$','1',#000,'E','_','I','n','v','a', - 'l','i','d',' ','c','o','m','b','i','n','a','t','i','o','n', - ' ','o','f',' ','o','v','e','r','r','i','d','e',' ','a','n', - 'd',' ','o','p','c','o','d','e',':',' ','$','1',#000,'E','_', - 'T','o','o',' ','m','a','n','y',' ','o','p','e','r','a','n', - 'd','s',' ','o','n',' ','l','i','n','e',#000,'E','_','D','u', - 'p','l','i','c','a','t','e',' ','l','o','c','a','l',' ','s', - 'y','m','b','o','l',':',' ','$','1',#000,'E','_','U','n','k', - 'n','o','w','n',' ','l','a','b','e','l',' ','i','d','e','n', - 't','i','f','e','r',':',' ','$','1',#000,'E','_','A','s','s', - 'e','m','b','l','e',' ','n','o','d','e',' ','s','y','n','t', - 'a','x',' ','e','r','r','o','r',#000,'E','_','U','n','d','e', - 'f','i','n','e','d',' ','l','o','c','a','l',' ','s','y','m', - 'b','o','l',':',' ','$','1',#000,'D','_','S','t','a','r','t', - 'i','n','g',' ','i','n','t','e','l',' ','s','t','y','l','e', - 'd',' ','a','s','s','e','m','b','l','e','r',' ','p','a','r', - 's','i','n','g','.','.','.',#000,'D','_','F','i','n','i','s', - 'h','e','d',' ','i','n','t','e','l',' ','s','t','y','l','e', - 'd',' ','a','s','s','e','m','b','l','e','r',' ','p','a','r', - 's','i','n','g','.','.','.',#000,'E','_','N','o','t',' ','a', - ' ','d','i','r','e','c','t','i','v','e',' ','o','r',' ','l', - 'o','c','a','l',' ','s','y','m','b','o','l',':',' ','$','1', - #000,'E','_','/',' ','a','t',' ','b','e','g','i','n','n','i', - 'n','g',' ','o','f',' ','l','i','n','e',' ','n','o','t',' ', - 'a','l','l','o','w','e','d',#000,'E','_','N','O','R',' ','n', - 'o','t',' ','s','u','p','p','o','r','t','e','d',#000,'E','_', - 'I','n','v','a','l','i','d',' ','f','l','o','a','t','i','n', - 'g',' ','p','o','i','n','t',' ','r','e','g','i','s','t','e', - 'r',' ','n','a','m','e',#000,'W','_','M','o','d','u','l','o', - ' ','n','o','t',' ','s','u','p','p','o','r','t','e','d',#000, - 'E','_','I','n','v','a','l','i','d',' ','f','l','o','a','t', - 'i','n','g',' ','p','o','i','n','t',' ','c','o','n','s','t', - 'a','n','t',':',' ','$','1',#000,'E','_','S','i','z','e',' ', - 's','u','f','f','i','x',' ','a','n','d',' ','d','e','s','t', - 'i','n','a','t','i','o','n',' ','r','e','g','i','s','t','e', - 'r',' ','d','o',' ','n','o','t',' ','m','a','t','c','h',#000, - 'E','_','I','n','t','e','r','n','a','l',' ','e','r','r','o', - 'r',' ','i','n',' ','C','o','n','c','a','t','L','a','b','e', - 'l','e','d','I','n','s','t','r','(',')',#000,'W','_','F','l', - 'o','a','t','i','n','g',' ','p','o','i','n','t',' ','b','i', - 'n','a','r','y',' ','r','e','p','r','e','s','e','n','t','a', - 't','i','o','n',' ','i','g','n','o','r','e','d',#000,'W','_', - 'F','l','o','a','t','i','n','g',' ','p','o','i','n','t',' ', - 'h','e','x','a','d','e','c','i','m','a','l',' ','r','e','p', - 'r','e','s','e','n','t','a','t','i','o','n',' ','i','g','n', - 'o','r','e','d',#000,'W','_','F','l','o','a','t','i','n','g', - ' ','p','o','i','n','t',' ','o','c','t','a','l',' ','r','e', - 'p','r','e','s','e','n','t','a','t','i','o','n',' ','i','g', - 'n','o','r','e','d',#000,'E','_','I','n','v','a','l','i','d', - ' ','r','e','a','l',' ','c','o','n','s','t','a','n','t',' ', - 'e','x','p','r','e','s','s','i','o','n',#000,'E','_','P','a', - 'r','e','n','t','h','e','s','i','s',' ','a','r','e',' ','n', - 'o','t',' ','a','l','l','o','w','e','d',#000,'E','_','I','n', - 'v','a','l','i','d',' ','R','e','f','e','r','e','n','c','e', - #000,'E','_','C','a','n','n','o','t',' ','u','s','e',' ','_', - '_','S','E','L','F',' ','o','u','t','s','i','d','e',' ','a', - ' ','m','e','t','h','o','d',#000,'E','_','C','a','n','n','o', - 't',' ','u','s','e',' ','_','_','O','L','D','E','B','P',' ', - 'o','u','t','s','i','d','e',' ','a',' ','n','e','s','t','e', - 'd',' ','p','r','o','c','e','d','u','r','e',#000,'W','_','I', - 'd','e','n','t','i','f','i','e','r',' ','$','1',' ','s','u', - 'p','p','o','s','e','d',' ','e','x','t','e','r','n','a','l', - #000,'E','_','I','n','v','a','l','i','d',' ','s','e','g','m', - 'e','n','t',' ','o','v','e','r','r','i','d','e',' ','e','x', - 'p','r','e','s','s','i','o','n',#000,'E','_','S','t','r','i', - 'n','g','s',' ','n','o','t',' ','a','l','l','o','w','e','d', - ' ','a','s',' ','c','o','n','s','t','a','n','t','s',#000,'D', - '_','S','t','a','r','t','i','n','g',' ','A','T','&','T',' ', - 's','t','y','l','e','d',' ','a','s','s','e','m','b','l','e', - 'r',' ','p','a','r','s','i','n','g','.','.','.',#000,'D','_', - 'F','i','n','i','s','h','e','d',' ','A','T','&','T',' ','s', - 't','y','l','e','d',' ','a','s','s','e','m','b','l','e','r', - ' ','p','a','r','s','i','n','g','.','.','.',#000,'E','_','S', - 'w','i','t','c','h','i','n','g',' ','s','e','c','t','i','o', - 'n','s',' ','i','s',' ','n','o','t',' ','a','l','l','o','w', - 'e','d',' ','i','n',' ','a','n',' ','a','s','s','e','m','b', - 'l','e','r',' ','b','l','o','c','k',#000,'E','_','I','n','v', - 'a','l','i','d',' ','g','l','o','b','a','l',' ','d','e','f', - 'i','n','i','t','i','o','n',#000,'E','_','L','i','n','e',' ', - 's','e','p','a','r','a','t','o','r',' ','e','x','p','e','c', - 't','e','d',#000,'W','_','g','l','o','b','l',' ','n','o','t', - ' ','s','u','p','p','o','r','t','e','d',#000,'W','_','a','l', - 'i','g','n',' ','n','o','t',' ','s','u','p','p','o','r','t', - 'e','d',#000,'W','_','l','c','o','m','m',' ','n','o','t',' ', - 's','u','p','p','o','r','t','e','d',#000,'W','_','c','o','m', - 'm',' ','n','o','t',' ','s','u','p','p','o','r','t','e','d', - #000,'E','_','I','n','v','a','l','i','d',' ','l','o','c','a', - 'l',' ','c','o','m','m','o','n',' ','d','e','f','i','n','i', - 't','i','o','n',#000,'E','_','I','n','v','a','l','i','d',' ', - 'g','l','o','b','a','l',' ','c','o','m','m','o','n',' ','d', - 'e','f','i','n','i','t','i','o','n',#000,'E','_','l','o','c', - 'a','l',' ','s','y','m','b','o','l',':',' ','$','1',' ','n', - 'o','t',' ','f','o','u','n','d',' ','i','n','s','i','d','e', - ' ','a','s','m',' ','s','t','a','t','e','m','e','n','t',#000, - 'E','_','a','s','s','e','m','b','l','e','r',' ','c','o','d', - 'e',' ','n','o','t',' ','r','e','t','u','r','n','e','d',' ', - 't','o',' ','t','e','x','t',#000,'F','_','i','n','t','e','r', - 'n','a','l',' ','e','r','r','o','r',' ','i','n',' ','B','u', - 'i','l','d','R','e','f','e','r','e','n','c','e','(',')',#000, - 'E','_','i','n','v','a','l','i','d',' ','o','p','c','o','d', - 'e',' ','s','i','z','e',#000,'W','_','N','E','A','R',' ','i', - 'g','n','o','r','e','d',#000,'W','_','F','A','R',' ','i','g', - 'n','o','r','e','d',#000,'D','_','C','r','e','a','t','i','n', - 'g',' ','i','n','l','i','n','e',' ','a','s','m',' ','l','o', - 'o','k','u','p',' ','t','a','b','l','e','s',#000,'W','_','U', - 's','i','n','g',' ','a',' ','d','e','f','i','n','e','d',' ', - 'n','a','m','e',' ','a','s',' ','a',' ','l','o','c','a','l', - ' ','l','a','b','e','l',#000,'F','_','i','n','t','e','r','n', - 'a','l',' ','e','r','r','o','r',' ','i','n',' ','H','a','n', - 'd','l','e','E','x','t','e','n','d','(',')',#000,'E','_','I', - 'n','v','a','l','i','d',' ','c','h','a','r','a','c','t','e', - 'r',':',' ','<',#000,'E','_','I','n','v','a','l','i','d',' ', - 'c','h','a','r','a','c','t','e','r',':',' ','>',#000,'E','_', - 'U','n','s','u','p','p','o','r','t','e','d',' ','o','p','c', - 'o','d','e',#000,'E','_','I','n','c','r','e','m','e','n','t', - ' ','a','n','d',' ','D','e','c','r','e','m','e','n','t',' ', - 'm','o','d','e',' ','n','o','t',' ','a','l','l','o','w','e', - 'd',' ','t','o','g','e','t','h','e','r',#000,'E','_','I','n', - 'v','a','l','i','d',' ','R','e','g','i','s','t','e','r',' ', - 'l','i','s','t',' ','i','n',' ','m','o','v','e','m','/','f', - 'm','o','v','e','m',#000,'E','_','I','n','v','a','l','i','d', - ' ','R','e','g','i','s','t','e','r',' ','l','i','s','t',' ', - 'f','o','r',' ','o','p','c','o','d','e',#000,'E','_','6','8', - '0','2','0','+',' ','m','o','d','e',' ','r','e','q','u','i', - 'r','e','d',' ','t','o',' ','a','s','s','e','m','b','l','e', - #000,'D','_','S','t','a','r','t','i','n','g',' ','M','o','t', - 'o','r','o','l','a',' ','s','t','y','l','e','d',' ','a','s', - 's','e','m','b','l','e','r',' ','p','a','r','s','i','n','g', - '.','.','.',#000,'D','_','F','i','n','i','s','h','e','d',' ', + 'f',' ','o','p','c','o','d','e',' ','a','n','d',' ','o','p', + 'e','r','a','n','d','s',#000,'W','_','O','p','c','o','d','e', + ' ','$','1',' ','n','o','t',' ','i','n',' ','t','a','b','l', + 'e',',',' ','o','p','e','r','a','n','d','s',' ','n','o','t', + ' ','c','h','e','c','k','e','d',#000,'F','_','I','n','t','e', + 'r','n','a','l',' ','E','r','r','o','r',' ','i','n',' ','C', + 'o','n','c','a','t','O','p','c','o','d','e','(',')',#000,'E', + '_','I','n','v','a','l','i','d',' ','s','i','z','e',' ','i', + 'n',' ','r','e','f','e','r','e','n','c','e',#000,'E','_','I', + 'n','v','a','l','i','d',' ','m','i','d','d','l','e',' ','s', + 'i','z','e','d',' ','o','p','e','r','a','n','d',#000,'E','_', + 'I','n','v','a','l','i','d',' ','t','h','r','e','e',' ','o', + 'p','e','r','a','n','d',' ','o','p','c','o','d','e',#000,'E', + '_','A','s','s','e','m','b','l','e','r',' ','s','y','n','t', + 'a','x',' ','e','r','r','o','r',#000,'E','_','I','n','v','a', + 'l','i','d',' ','o','p','e','r','a','n','d',' ','t','y','p', + 'e',#000,'E','_','S','e','g','m','e','n','t',' ','o','v','e', + 'r','r','i','d','e','s',' ','n','o','t',' ','s','u','p','p', + 'o','r','t','e','d',#000,'E','_','I','n','v','a','l','i','d', + ' ','c','o','n','s','t','a','n','t',' ','s','y','m','b','o', + 'l',' ','$','1',#000,'F','_','I','n','t','e','r','n','a','l', + ' ','E','r','r','r','o','r',' ','c','o','n','v','e','r','t', + 'i','n','g',' ','b','i','n','a','r','y',#000,'F','_','I','n', + 't','e','r','n','a','l',' ','E','r','r','r','o','r',' ','c', + 'o','n','v','e','r','t','i','n','g',' ','h','e','x','a','d', + 'e','c','i','m','a','l',#000,'F','_','I','n','t','e','r','n', + 'a','l',' ','E','r','r','r','o','r',' ','c','o','n','v','e', + 'r','t','i','n','g',' ','o','c','t','a','l',#000,'E','_','I', + 'n','v','a','l','i','d',' ','c','o','n','s','t','a','n','t', + ' ','e','x','p','r','e','s','s','i','o','n',#000,'E','_','U', + 'n','k','n','o','w','n',' ','i','d','e','n','t','i','f','i', + 'e','r',':',' ','$','1',#000,'E','_','T','r','y','i','n','g', + ' ','t','o',' ','d','e','f','i','n','e',' ','a','n',' ','i', + 'n','d','e','x',' ','r','e','g','i','s','t','e','r',' ','m', + 'o','r','e',' ','t','h','a','n',' ','o','n','c','e',#000,'E', + '_','I','n','v','a','l','i','d',' ','f','i','e','l','d',' ', + 's','p','e','c','i','f','i','e','r',#000,'F','_','I','n','t', + 'e','r','n','a','l',' ','E','r','r','o','r',' ','i','n',' ', + 'B','u','i','l','d','S','c','a','l','i','n','g','(',')',#000, + 'E','_','I','n','v','a','l','i','d',' ','s','c','a','l','i', + 'n','g',' ','f','a','c','t','o','r',#000,'E','_','I','n','v', + 'a','l','i','d',' ','s','c','a','l','i','n','g',' ','v','a', + 'l','u','e',#000,'E','_','S','c','a','l','i','n','g',' ','v', + 'a','l','u','e',' ','o','n','l','y',' ','a','l','l','o','w', + 'e','d',' ','w','i','t','h',' ','i','n','d','e','x',#000,'E', + '_','I','n','v','a','l','i','d',' ','a','s','s','e','m','b', + 'l','e','r',' ','s','y','n','t','a','x','.',' ','N','o',' ', + 'r','e','f',' ','w','i','t','h',' ','b','r','a','c','k','e', + 't','s',')',#000,'E','_','E','x','p','r','e','s','s','i','o', + 'n','s',' ','o','f',' ','t','h','e',' ','f','o','r','m',' ', + '[','s','r','e','g',':','r','e','g','.','.','.',']',' ','a', + 'r','e',' ','c','u','r','r','e','n','t','l','y',' ','n','o', + 't',' ','s','u','p','p','o','r','t','e','d',#000,'E','_','T', + 'r','y','i','n','g',' ','t','o',' ','d','e','f','i','n','e', + ' ','a',' ','s','e','g','m','e','n','t',' ','r','e','g','i', + 's','t','e','r',' ','t','w','i','c','e',#000,'E','_','T','r', + 'y','i','n','g',' ','t','o',' ','d','e','f','i','n','e',' ', + 'a',' ','b','a','s','e',' ','r','e','g','i','s','t','e','r', + ' ','t','w','i','c','e',#000,'E','_','T','r','y','i','n','g', + ' ','t','o',' ','u','s','e',' ','a',' ','n','e','g','a','t', + 'i','v','e',' ','i','n','d','e','x',' ','r','e','g','i','s', + 't','e','r',#000,'E','_','A','s','m',' ','s','y','n','t','a', + 'x',' ','e','r','r','o','r',' ','-',' ','e','r','r','o','r', + ' ','i','n',' ','r','e','f','e','r','e','n','c','e',#000,'E', + '_','L','o','c','a','l',' ','s','y','m','b','o','l','s',' ', + 'n','o','t',' ','a','l','l','o','w','e','d',' ','a','s',' ', + 'r','e','f','e','r','e','n','c','e','s',#000,'E','_','I','n', + 'v','a','l','i','d',' ','o','p','e','r','a','n','d',' ','i', + 'n',' ','b','r','a','c','k','e','t',' ','e','x','p','r','e', + 's','s','i','o','n',#000,'E','_','I','n','v','a','l','i','d', + ' ','s','y','m','b','o','l',' ','n','a','m','e',':',' ','$', + '1',#000,'E','_','I','n','v','a','l','i','d',' ','R','e','f', + 'e','r','e','n','c','e',' ','s','y','n','t','a','x',#000,'E', + '_','I','n','v','a','l','i','d',' ','s','t','r','i','n','g', + ' ','a','s',' ','o','p','c','o','d','e',' ','o','p','e','r', + 'a','n','d',':',' ','$','1',#000,'W','_','@','C','O','D','E', + ' ','a','n','d',' ','@','D','A','T','A',' ','n','o','t',' ', + 's','u','p','p','o','r','t','e','d',#000,'E','_','N','u','l', + 'l',' ','l','a','b','e','l',' ','r','e','f','e','r','e','n', + 'c','e','s',' ','a','r','e',' ','n','o','t',' ','a','l','l', + 'o','w','e','d',#000,'E','_','C','a','n','n','o','t',' ','u', + 's','e',' ','S','E','L','F',' ','o','u','t','s','i','d','e', + ' ','a',' ','m','e','t','h','o','d',#000,'E','_','A','s','m', + ' ','s','y','n','t','a','x',' ','e','r','r','o','r',' ','-', + ' ','S','h','o','u','l','d',' ','s','t','a','r','t',' ','w', + 'i','t','h',' ','b','r','a','c','k','e','t',#000,'E','_','A', + 's','m',' ','s','y','n','t','a','x',' ','e','r','r','o','r', + ' ','-',' ','r','e','g','i','s','t','e','r',':',' ','$','1', + #000,'E','_','S','E','G',' ','a','n','d',' ','O','F','F','S', + 'E','T',' ','n','o','t',' ','s','u','p','p','o','r','t','e', + 'd',#000,'E','_','A','s','m',' ','s','y','n','t','a','x',' ', + 'e','r','r','o','r',' ','-',' ','i','n',' ','o','p','c','o', + 'd','e',' ','o','p','e','r','a','n','d',#000,'E','_','I','n', + 'v','a','l','i','d',' ','S','t','r','i','n','g',' ','e','x', + 'p','r','e','s','s','i','o','n',#000,'E','_','C','o','n','s', + 't','a','n','t',' ','e','x','p','r','e','s','s','i','o','n', + ' ','o','u','t',' ','o','f',' ','b','o','u','n','d','s',#000, + 'F','_','I','n','t','e','r','n','a','l',' ','E','r','r','o', + 'r',' ','i','n',' ','B','u','i','l','d','C','o','n','s','t', + 'a','n','t','(',')',#000,'W','_','A',' ','r','e','p','e','a', + 't',' ','p','r','e','f','i','x',' ','a','n','d',' ','a',' ', + 's','e','g','m','e','n','t',' ','o','v','e','r','r','i','d', + 'e',' ','o','n',' ','<','=',' ','i','3','8','6',' ','m','a', + 'y',' ','r','e','s','u','l','t',' ','i','n',' ','e','r','r', + 'o','r','s',' ','i','f',' ','a','n',' ','i','n','t','e','r', + 'r','u','p','t',' ','o','c','c','u','r','s',#000,'E','_','I', + 'n','v','a','l','i','d',' ','o','r',' ','m','i','s','s','i', + 'n','g',' ','o','p','c','o','d','e',#000,'E','_','I','n','v', + 'a','l','i','d',' ','c','o','m','b','i','n','a','t','i','o', + 'n',' ','o','f',' ','p','r','e','f','i','x',' ','a','n','d', + ' ','o','p','c','o','d','e',':',' ','$','1',#000,'E','_','I', + 'n','v','a','l','i','d',' ','c','o','m','b','i','n','a','t', + 'i','o','n',' ','o','f',' ','o','v','e','r','r','i','d','e', + ' ','a','n','d',' ','o','p','c','o','d','e',':',' ','$','1', + #000,'E','_','T','o','o',' ','m','a','n','y',' ','o','p','e', + 'r','a','n','d','s',' ','o','n',' ','l','i','n','e',#000,'E', + '_','D','u','p','l','i','c','a','t','e',' ','l','o','c','a', + 'l',' ','s','y','m','b','o','l',':',' ','$','1',#000,'E','_', + 'U','n','k','n','o','w','n',' ','l','a','b','e','l',' ','i', + 'd','e','n','t','i','f','e','r',':',' ','$','1',#000,'E','_', + 'A','s','s','e','m','b','l','e',' ','n','o','d','e',' ','s', + 'y','n','t','a','x',' ','e','r','r','o','r',#000,'E','_','U', + 'n','d','e','f','i','n','e','d',' ','l','o','c','a','l',' ', + 's','y','m','b','o','l',':',' ','$','1',#000,'D','_','S','t', + 'a','r','t','i','n','g',' ','i','n','t','e','l',' ','s','t', + 'y','l','e','d',' ','a','s','s','e','m','b','l','e','r',' ', + 'p','a','r','s','i','n','g','.','.','.',#000,'D','_','F','i', + 'n','i','s','h','e','d',' ','i','n','t','e','l',' ','s','t', + 'y','l','e','d',' ','a','s','s','e','m','b','l','e','r',' ', + 'p','a','r','s','i','n','g','.','.','.',#000,'E','_','N','o', + 't',' ','a',' ','d','i','r','e','c','t','i','v','e',' ','o', + 'r',' ','l','o','c','a','l',' ','s','y','m','b','o','l',':', + ' ','$','1',#000,'E','_','/',' ','a','t',' ','b','e','g','i', + 'n','n','i','n','g',' ','o','f',' ','l','i','n','e',' ','n', + 'o','t',' ','a','l','l','o','w','e','d',#000,'E','_','N','O', + 'R',' ','n','o','t',' ','s','u','p','p','o','r','t','e','d', + #000,'E','_','I','n','v','a','l','i','d',' ','f','l','o','a', + 't','i','n','g',' ','p','o','i','n','t',' ','r','e','g','i', + 's','t','e','r',' ','n','a','m','e',#000,'W','_','M','o','d', + 'u','l','o',' ','n','o','t',' ','s','u','p','p','o','r','t', + 'e','d',#000,'E','_','I','n','v','a','l','i','d',' ','f','l', + 'o','a','t','i','n','g',' ','p','o','i','n','t',' ','c','o', + 'n','s','t','a','n','t',':',' ','$','1',#000,'E','_','S','i', + 'z','e',' ','s','u','f','f','i','x',' ','a','n','d',' ','d', + 'e','s','t','i','n','a','t','i','o','n',' ','r','e','g','i', + 's','t','e','r',' ','d','o',' ','n','o','t',' ','m','a','t', + 'c','h',#000,'E','_','I','n','t','e','r','n','a','l',' ','e', + 'r','r','o','r',' ','i','n',' ','C','o','n','c','a','t','L', + 'a','b','e','l','e','d','I','n','s','t','r','(',')',#000,'W', + '_','F','l','o','a','t','i','n','g',' ','p','o','i','n','t', + ' ','b','i','n','a','r','y',' ','r','e','p','r','e','s','e', + 'n','t','a','t','i','o','n',' ','i','g','n','o','r','e','d', + #000,'W','_','F','l','o','a','t','i','n','g',' ','p','o','i', + 'n','t',' ','h','e','x','a','d','e','c','i','m','a','l',' ', + 'r','e','p','r','e','s','e','n','t','a','t','i','o','n',' ', + 'i','g','n','o','r','e','d',#000,'W','_','F','l','o','a','t', + 'i','n','g',' ','p','o','i','n','t',' ','o','c','t','a','l', + ' ','r','e','p','r','e','s','e','n','t','a','t','i','o','n', + ' ','i','g','n','o','r','e','d',#000,'E','_','I','n','v','a', + 'l','i','d',' ','r','e','a','l',' ','c','o','n','s','t','a', + 'n','t',' ','e','x','p','r','e','s','s','i','o','n',#000,'E', + '_','P','a','r','e','n','t','h','e','s','i','s',' ','a','r', + 'e',' ','n','o','t',' ','a','l','l','o','w','e','d',#000,'E', + '_','I','n','v','a','l','i','d',' ','R','e','f','e','r','e', + 'n','c','e',#000,'E','_','C','a','n','n','o','t',' ','u','s', + 'e',' ','_','_','S','E','L','F',' ','o','u','t','s','i','d', + 'e',' ','a',' ','m','e','t','h','o','d',#000,'E','_','C','a', + 'n','n','o','t',' ','u','s','e',' ','_','_','O','L','D','E', + 'B','P',' ','o','u','t','s','i','d','e',' ','a',' ','n','e', + 's','t','e','d',' ','p','r','o','c','e','d','u','r','e',#000, + 'W','_','I','d','e','n','t','i','f','i','e','r',' ','$','1', + ' ','s','u','p','p','o','s','e','d',' ','e','x','t','e','r', + 'n','a','l',#000,'E','_','I','n','v','a','l','i','d',' ','s', + 'e','g','m','e','n','t',' ','o','v','e','r','r','i','d','e', + ' ','e','x','p','r','e','s','s','i','o','n',#000,'E','_','S', + 't','r','i','n','g','s',' ','n','o','t',' ','a','l','l','o', + 'w','e','d',' ','a','s',' ','c','o','n','s','t','a','n','t', + 's',#000,'D','_','S','t','a','r','t','i','n','g',' ','A','T', + '&','T',' ','s','t','y','l','e','d',' ','a','s','s','e','m', + 'b','l','e','r',' ','p','a','r','s','i','n','g','.','.','.', + #000,'D','_','F','i','n','i','s','h','e','d',' ','A','T','&', + 'T',' ','s','t','y','l','e','d',' ','a','s','s','e','m','b', + 'l','e','r',' ','p','a','r','s','i','n','g','.','.','.',#000, + 'E','_','S','w','i','t','c','h','i','n','g',' ','s','e','c', + 't','i','o','n','s',' ','i','s',' ','n','o','t',' ','a','l', + 'l','o','w','e','d',' ','i','n',' ','a','n',' ','a','s','s', + 'e','m','b','l','e','r',' ','b','l','o','c','k',#000,'E','_', + 'I','n','v','a','l','i','d',' ','g','l','o','b','a','l',' ', + 'd','e','f','i','n','i','t','i','o','n',#000,'E','_','L','i', + 'n','e',' ','s','e','p','a','r','a','t','o','r',' ','e','x', + 'p','e','c','t','e','d',#000,'W','_','g','l','o','b','l',' ', + 'n','o','t',' ','s','u','p','p','o','r','t','e','d',#000,'W', + '_','a','l','i','g','n',' ','n','o','t',' ','s','u','p','p', + 'o','r','t','e','d',#000,'W','_','l','c','o','m','m',' ','n', + 'o','t',' ','s','u','p','p','o','r','t','e','d',#000,'W','_', + 'c','o','m','m',' ','n','o','t',' ','s','u','p','p','o','r', + 't','e','d',#000,'E','_','I','n','v','a','l','i','d',' ','l', + 'o','c','a','l',' ','c','o','m','m','o','n',' ','d','e','f', + 'i','n','i','t','i','o','n',#000,'E','_','I','n','v','a','l', + 'i','d',' ','g','l','o','b','a','l',' ','c','o','m','m','o', + 'n',' ','d','e','f','i','n','i','t','i','o','n',#000,'E','_', + 'l','o','c','a','l',' ','s','y','m','b','o','l',':',' ','$', + '1',' ','n','o','t',' ','f','o','u','n','d',' ','i','n','s', + 'i','d','e',' ','a','s','m',' ','s','t','a','t','e','m','e', + 'n','t',#000,'E','_','a','s','s','e','m','b','l','e','r',' ', + 'c','o','d','e',' ','n','o','t',' ','r','e','t','u','r','n', + 'e','d',' ','t','o',' ','t','e','x','t',#000,'F','_','i','n', + 't','e','r','n','a','l',' ','e','r','r','o','r',' ','i','n', + ' ','B','u','i','l','d','R','e','f','e','r','e','n','c','e', + '(',')',#000,'E','_','i','n','v','a','l','i','d',' ','o','p', + 'c','o','d','e',' ','s','i','z','e',#000,'W','_','N','E','A', + 'R',' ','i','g','n','o','r','e','d',#000,'W','_','F','A','R', + ' ','i','g','n','o','r','e','d',#000,'D','_','C','r','e','a', + 't','i','n','g',' ','i','n','l','i','n','e',' ','a','s','m', + ' ','l','o','o','k','u','p',' ','t','a','b','l','e','s',#000, + 'W','_','U','s','i','n','g',' ','a',' ','d','e','f','i','n', + 'e','d',' ','n','a','m','e',' ','a','s',' ','a',' ','l','o', + 'c','a','l',' ','l','a','b','e','l',#000,'F','_','i','n','t', + 'e','r','n','a','l',' ','e','r','r','o','r',' ','i','n',' ', + 'H','a','n','d','l','e','E','x','t','e','n','d','(',')',#000, + 'E','_','I','n','v','a','l','i','d',' ','c','h','a','r','a', + 'c','t','e','r',':',' ','<',#000,'E','_','I','n','v','a','l', + 'i','d',' ','c','h','a','r','a','c','t','e','r',':',' ','>', + #000,'E','_','U','n','s','u','p','p','o','r','t','e','d',' ', + 'o','p','c','o','d','e',#000,'E','_','I','n','c','r','e','m', + 'e','n','t',' ','a','n','d',' ','D','e','c','r','e','m','e', + 'n','t',' ','m','o','d','e',' ','n','o','t',' ','a','l','l', + 'o','w','e','d',' ','t','o','g','e','t','h','e','r',#000,'E', + '_','I','n','v','a','l','i','d',' ','R','e','g','i','s','t', + 'e','r',' ','l','i','s','t',' ','i','n',' ','m','o','v','e', + 'm','/','f','m','o','v','e','m',#000,'E','_','I','n','v','a', + 'l','i','d',' ','R','e','g','i','s','t','e','r',' ','l','i', + 's','t',' ','f','o','r',' ','o','p','c','o','d','e',#000,'E', + '_','6','8','0','2','0','+',' ','m','o','d','e',' ','r','e', + 'q','u','i','r','e','d',' ','t','o',' ','a','s','s','e','m', + 'b','l','e',#000,'D','_','S','t','a','r','t','i','n','g',' ', 'M','o','t','o','r','o','l','a',' ','s','t','y','l','e','d', ' ','a','s','s','e','m','b','l','e','r',' ','p','a','r','s', - 'i','n','g','.','.','.',#000,'W','_','X','D','E','F',' ','n', - 'o','t',' ','s','u','p','p','o','r','t','e','d',#000,'W','_', - 'F','u','n','c','t','i','o','n','s',' ','w','i','t','h',' ', - 'v','o','i','d',' ','r','e','t','u','r','n',' ','v','a','l', - 'u','e',' ','c','a','n',#039,'t',' ','r','e','t','u','r','n', - ' ','a','n','y',' ','v','a','l','u','e',' ','i','n',' ','a', - 's','m',' ','c','o','d','e',#000,'E','_','I','n','v','a','l', - 'i','d',' ','s','u','f','f','i','x',' ','f','o','r',' ','i', - 'n','t','e','l',' ','a','s','s','e','m','b','l','e','r',#000, - 'E','_','E','x','t','e','n','d','e','d',' ','n','o','t',' ', - 's','u','p','p','o','r','t','e','d',' ','i','n',' ','t','h', - 'i','s',' ','m','o','d','e',#000,'E','_','C','o','m','p',' ', - 'n','o','t',' ','s','u','p','p','o','r','t','e','d',' ','i', - 'n',' ','t','h','i','s',' ','m','o','d','e',#000,'W','_','Y', - 'o','u',' ','n','e','e','d',' ','G','N','U',' ','a','s',' ', - 'v','e','r','s','i','o','n',' ','>','=',' ','2','.','8','1', - ' ','t','o',' ','c','o','m','p','i','l','e',' ','t','h','i', - 's',' ','M','M','X',' ','c','o','d','e',#000,'I','_','A','s', - 's','e','m','b','l','i','n','g',' ','(','p','i','p','e',')', - ' ','$','1',#000,'E','_','C','a','n',#039,'t',' ','c','r','e', - 'a','t','e',' ','a','s','s','e','m','b','e','r',' ','f','i', - 'l','e',' ','$','1',#000,'W','_','A','s','s','e','m','b','l', - 'e','r',' ','$','1',' ','n','o','t',' ','f','o','u','n','d', - ',',' ','s','w','i','t','c','h','i','n','g',' ','t','o',' ', - 'e','x','t','e','r','n','a','l',' ','a','s','s','e','m','b', - 'l','i','n','g',#000,'U','_','U','s','i','n','g',' ','a','s', - 's','e','m','b','l','e','r',':',' ','$','1',#000,'W','_','E', - 'r','r','o','r',' ','w','h','i','l','e',' ','a','s','s','e', - 'm','b','l','i','n','g',#000,'W','_','C','a','n',#039,'t',' ', - 'c','a','l','l',' ','t','h','e',' ','a','s','s','e','m','b', - 'l','e','r',',',' ','s','w','i','t','c','h','i','n','g',' ', + 'i','n','g','.','.','.',#000,'D','_','F','i','n','i','s','h', + 'e','d',' ','M','o','t','o','r','o','l','a',' ','s','t','y', + 'l','e','d',' ','a','s','s','e','m','b','l','e','r',' ','p', + 'a','r','s','i','n','g','.','.','.',#000,'W','_','X','D','E', + 'F',' ','n','o','t',' ','s','u','p','p','o','r','t','e','d', + #000,'W','_','F','u','n','c','t','i','o','n','s',' ','w','i', + 't','h',' ','v','o','i','d',' ','r','e','t','u','r','n',' ', + 'v','a','l','u','e',' ','c','a','n',#039,'t',' ','r','e','t', + 'u','r','n',' ','a','n','y',' ','v','a','l','u','e',' ','i', + 'n',' ','a','s','m',' ','c','o','d','e',#000,'E','_','I','n', + 'v','a','l','i','d',' ','s','u','f','f','i','x',' ','f','o', + 'r',' ','i','n','t','e','l',' ','a','s','s','e','m','b','l', + 'e','r',#000,'E','_','E','x','t','e','n','d','e','d',' ','n', + 'o','t',' ','s','u','p','p','o','r','t','e','d',' ','i','n', + ' ','t','h','i','s',' ','m','o','d','e',#000,'E','_','C','o', + 'm','p',' ','n','o','t',' ','s','u','p','p','o','r','t','e', + 'd',' ','i','n',' ','t','h','i','s',' ','m','o','d','e',#000, + 'W','_','Y','o','u',' ','n','e','e','d',' ','G','N','U',' ', + 'a','s',' ','v','e','r','s','i','o','n',' ','>','=',' ','2', + '.','8','1',' ','t','o',' ','c','o','m','p','i','l','e',' ', + 't','h','i','s',' ','M','M','X',' ','c','o','d','e',#000,'I', + '_','A','s','s','e','m','b','l','i','n','g',' ','(','p','i', + 'p','e',')',' ','$','1',#000,'E','_','C','a','n',#039,'t',' ', + 'c','r','e','a','t','e',' ','a','s','s','e','m','b','e','r', + ' ','f','i','l','e',' ','$','1',#000,'W','_','A','s','s','e', + 'm','b','l','e','r',' ','$','1',' ','n','o','t',' ','f','o', + 'u','n','d',',',' ','s','w','i','t','c','h','i','n','g',' ', 't','o',' ','e','x','t','e','r','n','a','l',' ','a','s','s', - 'e','m','b','l','i','n','g',#000,'I','_','A','s','s','e','m', - 'b','l','i','n','g',' ','$','1',#000,'W','_','L','i','n','k', - 'e','r',' ','$','1',' ','n','o','t',' ','f','o','u','n','d', - ',',' ','s','w','i','t','c','h','i','n','g',' ','t','o',' ', - 'e','x','t','e','r','n','a','l',' ','l','i','n','k','i','n', - 'g',#000,'U','_','U','s','i','n','g',' ','l','i','n','k','e', - 'r',':',' ','$','1',#000,'W','_','O','b','j','e','c','t',' ', - '$','1',' ','n','o','t',' ','f','o','u','n','d',',',' ','L', - 'i','n','k','i','n','g',' ','m','a','y',' ','f','a','i','l', - ' ','!',#000,'W','_','L','i','b','r','a','r','y',' ','$','1', - ' ','n','o','t',' ','f','o','u','n','d',',',' ','L','i','n', - 'k','i','n','g',' ','m','a','y',' ','f','a','i','l',' ','!', - #000,'W','_','E','r','r','o','r',' ','w','h','i','l','e',' ', - 'l','i','n','k','i','n','g',#000,'W','_','C','a','n',#039,'t', - ' ','c','a','l','l',' ','t','h','e',' ','l','i','n','k','e', - 'r',',',' ','s','w','i','t','c','h','i','n','g',' ','t','o', - ' ','e','x','t','e','r','n','a','l',' ','l','i','n','k','i', - 'n','g',#000,'I','_','L','i','n','k','i','n','g',' ','$','1', - #000,'W','_','b','i','n','d','e','r',' ','n','o','t',' ','f', - 'o','u','n','d',',',' ','s','w','i','t','c','h','i','n','g', - ' ','t','o',' ','e','x','t','e','r','n','a','l',' ','b','i', - 'n','d','i','n','g',#000,'W','_','a','r',' ','n','o','t',' ', - 'f','o','u','n','d',',',' ','s','w','i','t','c','h','i','n', - 'g',' ','t','o',' ','e','x','t','e','r','n','a','l',' ','a', - 'r',#000,'E','_','D','y','n','a','m','i','c',' ','L','i','b', - 'r','a','r','i','e','s',' ','n','o','t',' ','s','u','p','p', - 'o','r','t','e','d',#000,'I','_','C','l','o','s','i','n','g', - ' ','s','c','r','i','p','t',' ','$','1',#000,'U','_','P','P', - 'U',' ','L','o','a','d','i','n','g',' ','$','1',#000,'D','_', - 'P','P','U',' ','T','i','m','e',':',' ','$','1',#000,'D','_', - 'P','P','U',' ','F','i','l','e',' ','t','o','o',' ','s','h', - 'o','r','t',#000,'D','_','P','P','U',' ','I','n','v','a','l', - 'i','d',' ','H','e','a','d','e','r',' ','(','n','o',' ','P', - 'P','U',' ','a','t',' ','t','h','e',' ','b','e','g','i','n', - ')',#000,'D','_','P','P','U',' ','I','n','v','a','l','i','d', - ' ','V','e','r','s','i','o','n',' ','$','1',#000,'D','_','P', - 'P','U',' ','F','l','a','g','s',':',' ','$','1',#000,'D','_', - 'P','P','U',' ','C','r','c',':',' ','$','1',#000,'T','_','P', - 'P','U',' ','S','o','u','r','c','e',':',' ','$','1',#000,'D', - '_','o','b','j','e','c','t','f','i','l','e',' ','a','n','d', - ' ','a','s','s','e','m','b','l','e','r','f','i','l','e',' ', - 'a','r','e',' ','o','l','d','e','r',' ','t','h','a','n',' ', - 'p','p','u','f','i','l','e',#000,'D','_','o','b','j','e','c', - 't','f','i','l','e',' ','i','s',' ','o','l','d','e','r',' ', - 't','h','a','n',' ','a','s','s','e','m','b','l','e','r','f', - 'i','l','e',#000,'T','_','U','n','i','t','s','e','a','r','c', - 'h',':',' ','$','1',#000,'U','_','W','r','i','t','i','n','g', - ' ','$','1',#000,'F','_','C','a','n',#039,'t',' ','W','r','i', - 't','e',' ','P','P','U','-','F','i','l','e',#000,'F','_','r', - 'e','a','d','i','n','g',' ','P','P','U','-','F','i','l','e', - #000,'F','_','I','n','v','a','l','i','d',' ','P','P','U','-', - 'F','i','l','e',' ','e','n','t','r','y',':',' ','$','1',#000, - 'F','_','P','P','U',' ','D','b','x',' ','c','o','u','n','t', - ' ','p','r','o','b','l','e','m',#000,'E','_','I','l','l','e', - 'g','a','l',' ','u','n','i','t',' ','n','a','m','e',':',' ', - '$','1',#000,'F','_','T','o','o',' ','m','u','c','h',' ','u', - 'n','i','t','s',#000,'F','_','C','i','r','c','u','l','a','r', - ' ','u','n','i','t',' ','r','e','f','e','r','e','n','c','e', - #000,'F','_','C','a','n',#039,'t',' ','c','o','m','p','i','l', - 'e',' ','u','n','i','t',' ','$','1',',',' ','n','o',' ','s', - 'o','u','r','c','e','s',' ','a','v','a','i','l','a','b','l', - 'e',#000,'W','_','C','o','m','p','i','l','i','n','g',' ','t', - 'h','e',' ','s','y','s','t','e','m',' ','u','n','i','t',' ', - 'r','e','q','u','i','r','e','s',' ','t','h','e',' ','-','U', - 's',' ','s','w','i','t','c','h',#000,'F','_','T','h','e','r', - 'e',' ','w','e','r','e',' ','$','1',' ','e','r','r','o','r', - 's',' ','c','o','m','p','i','l','i','n','g',' ','m','o','d', - 'u','l','e',',',' ','s','t','o','p','p','i','n','g',#000); + 'e','m','b','l','i','n','g',#000,'U','_','U','s','i','n','g', + ' ','a','s','s','e','m','b','l','e','r',':',' ','$','1',#000, + 'W','_','E','r','r','o','r',' ','w','h','i','l','e',' ','a', + 's','s','e','m','b','l','i','n','g',#000,'W','_','C','a','n', + #039,'t',' ','c','a','l','l',' ','t','h','e',' ','a','s','s', + 'e','m','b','l','e','r',',',' ','s','w','i','t','c','h','i', + 'n','g',' ','t','o',' ','e','x','t','e','r','n','a','l',' ', + 'a','s','s','e','m','b','l','i','n','g',#000,'I','_','A','s', + 's','e','m','b','l','i','n','g',' ','$','1',#000,'W','_','L', + 'i','n','k','e','r',' ','$','1',' ','n','o','t',' ','f','o', + 'u','n','d',',',' ','s','w','i','t','c','h','i','n','g',' ', + 't','o',' ','e','x','t','e','r','n','a','l',' ','l','i','n', + 'k','i','n','g',#000,'U','_','U','s','i','n','g',' ','l','i', + 'n','k','e','r',':',' ','$','1',#000,'W','_','O','b','j','e', + 'c','t',' ','$','1',' ','n','o','t',' ','f','o','u','n','d', + ',',' ','L','i','n','k','i','n','g',' ','m','a','y',' ','f', + 'a','i','l',' ','!',#000,'W','_','L','i','b','r','a','r','y', + ' ','$','1',' ','n','o','t',' ','f','o','u','n','d',',',' ', + 'L','i','n','k','i','n','g',' ','m','a','y',' ','f','a','i', + 'l',' ','!',#000,'W','_','E','r','r','o','r',' ','w','h','i', + 'l','e',' ','l','i','n','k','i','n','g',#000,'W','_','C','a', + 'n',#039,'t',' ','c','a','l','l',' ','t','h','e',' ','l','i', + 'n','k','e','r',',',' ','s','w','i','t','c','h','i','n','g', + ' ','t','o',' ','e','x','t','e','r','n','a','l',' ','l','i', + 'n','k','i','n','g',#000,'I','_','L','i','n','k','i','n','g', + ' ','$','1',#000,'W','_','b','i','n','d','e','r',' ','n','o', + 't',' ','f','o','u','n','d',',',' ','s','w','i','t','c','h', + 'i','n','g',' ','t','o',' ','e','x','t','e','r','n','a','l', + ' ','b','i','n','d','i','n','g',#000,'W','_','a','r',' ','n', + 'o','t',' ','f','o','u','n','d',',',' ','s','w','i','t','c', + 'h','i','n','g',' ','t','o',' ','e','x','t','e','r','n','a', + 'l',' ','a','r',#000,'E','_','D','y','n','a','m','i','c',' ', + 'L','i','b','r','a','r','i','e','s',' ','n','o','t',' ','s', + 'u','p','p','o','r','t','e','d',#000,'I','_','C','l','o','s', + 'i','n','g',' ','s','c','r','i','p','t',' ','$','1',#000,'U', + '_','P','P','U',' ','L','o','a','d','i','n','g',' ','$','1', + #000,'D','_','P','P','U',' ','T','i','m','e',':',' ','$','1', + #000,'D','_','P','P','U',' ','F','i','l','e',' ','t','o','o', + ' ','s','h','o','r','t',#000,'D','_','P','P','U',' ','I','n', + 'v','a','l','i','d',' ','H','e','a','d','e','r',' ','(','n', + 'o',' ','P','P','U',' ','a','t',' ','t','h','e',' ','b','e', + 'g','i','n',')',#000,'D','_','P','P','U',' ','I','n','v','a', + 'l','i','d',' ','V','e','r','s','i','o','n',' ','$','1',#000, + 'D','_','P','P','U',' ','F','l','a','g','s',':',' ','$','1', + #000,'D','_','P','P','U',' ','C','r','c',':',' ','$','1',#000, + 'T','_','P','P','U',' ','S','o','u','r','c','e',':',' ','$', + '1',#000,'D','_','o','b','j','e','c','t','f','i','l','e',' ', + 'a','n','d',' ','a','s','s','e','m','b','l','e','r','f','i', + 'l','e',' ','a','r','e',' ','o','l','d','e','r',' ','t','h', + 'a','n',' ','p','p','u','f','i','l','e',#000,'D','_','o','b', + 'j','e','c','t','f','i','l','e',' ','i','s',' ','o','l','d', + 'e','r',' ','t','h','a','n',' ','a','s','s','e','m','b','l', + 'e','r','f','i','l','e',#000,'T','_','U','n','i','t','s','e', + 'a','r','c','h',':',' ','$','1',#000,'U','_','W','r','i','t', + 'i','n','g',' ','$','1',#000,'F','_','C','a','n',#039,'t',' ', + 'W','r','i','t','e',' ','P','P','U','-','F','i','l','e',#000, + 'F','_','r','e','a','d','i','n','g',' ','P','P','U','-','F', + 'i','l','e',#000,'F','_','I','n','v','a','l','i','d',' ','P', + 'P','U','-','F','i','l','e',' ','e','n','t','r','y',':',' ', + '$','1',#000,'F','_','P','P','U',' ','D','b','x',' ','c','o', + 'u','n','t',' ','p','r','o','b','l','e','m',#000,'E','_','I', + 'l','l','e','g','a','l',' ','u','n','i','t',' ','n','a','m', + 'e',':',' ','$','1',#000,'F','_','T','o','o',' ','m','u','c', + 'h',' ','u','n','i','t','s',#000,'F','_','C','i','r','c','u', + 'l','a','r',' ','u','n','i','t',' ','r','e','f','e','r','e', + 'n','c','e',#000,'F','_','C','a','n',#039,'t',' ','c','o','m', + 'p','i','l','e',' ','u','n','i','t',' ','$','1',',',' ','n', + 'o',' ','s','o','u','r','c','e','s',' ','a','v','a','i','l', + 'a','b','l','e',#000,'W','_','C','o','m','p','i','l','i','n', + 'g',' ','t','h','e',' ','s','y','s','t','e','m',' ','u','n', + 'i','t',' ','r','e','q','u','i','r','e','s',' ','t','h','e', + ' ','-','U','s',' ','s','w','i','t','c','h',#000,'F','_','T', + 'h','e','r','e',' ','w','e','r','e',' ','$','1',' ','e','r', + 'r','o','r','s',' ','c','o','m','p','i','l','i','n','g',' ', + 'm','o','d','u','l','e',',',' ','s','t','o','p','p','i','n', + 'g',#000); diff --git a/compiler/pass_1.pas b/compiler/pass_1.pas index 53ba6b9c8b..23e266f2bb 100644 --- a/compiler/pass_1.pas +++ b/compiler/pass_1.pas @@ -118,9 +118,12 @@ unit pass_1; begin case p^.treetype of - typeconvn : make_not_regable(p^.left); - loadn : if p^.symtableentry^.typ=varsym then - pvarsym(p^.symtableentry)^.regable:=false; + typeconvn : + make_not_regable(p^.left); + loadn : + if p^.symtableentry^.typ=varsym then + pvarsym(p^.symtableentry)^.var_options := + pvarsym(p^.symtableentry)^.var_options and not vo_regable; end; end; @@ -517,7 +520,7 @@ unit pass_1; p^.symtableentry:=pabsolutesym(p^.symtableentry)^.ref; p^.symtable:=p^.symtableentry^.owner; p^.is_absolute:=true; - end; + end; case p^.symtableentry^.typ of absolutesym :; varsym : @@ -535,7 +538,8 @@ unit pass_1; p^.registers32:=1; { auáerdem kann sie nicht mehr in ein Register geladen werden } - pvarsym(p^.symtableentry)^.regable:=false; + pvarsym(p^.symtableentry)^.var_options := + pvarsym(p^.symtableentry)^.var_options and not vo_regable; end; end; if (pvarsym(p^.symtableentry)^.varspez=vs_const) then @@ -5013,7 +5017,16 @@ unit pass_1; end. { $Log$ - Revision 1.28 1998-06-05 14:37:29 pierre + Revision 1.29 1998-06-09 16:01:44 pierre + + added procedure directive parsing for procvars + (accepted are popstack cdecl and pascal) + + added C vars with the following syntax + var C calias 'true_c_name';(can be followed by external) + reason is that you must add the Cprefix + + which is target dependent + + Revision 1.28 1998/06/05 14:37:29 pierre * fixes for inline for operators * inline procedure more correctly restricted diff --git a/compiler/pdecl.pas b/compiler/pdecl.pas index 3280ff813b..286bbb5468 100644 --- a/compiler/pdecl.pas +++ b/compiler/pdecl.pas @@ -1467,6 +1467,7 @@ unit pdecl; var typename : stringid; + newtype : ptypesym; {$ifdef dummy} olddef,newdef : pdef; s : string; @@ -1495,7 +1496,8 @@ unit pdecl; { is that ok ??? } getmem(newdef,SizeOf(olddef)); move(olddef^,newdef^,SizeOf(olddef)); - symtablestack^.insert(new(ptypesym,init(typename,newdef))); + newtype:=new(ptypesym,init(typename,newdef)); + symtablestack^.insert(newtype); end else {$endif testequaltype} @@ -1511,11 +1513,17 @@ unit pdecl; { we can ignore the result } { the definition is modified } object_dec(typename,pobjectdef(ptypesym(srsym)^.definition)); + newtype:=ptypesym(srsym); end else - symtablestack^.insert(new(ptypesym,init(typename,read_type(typename)))); + begin + newtype:=new(ptypesym,init(typename,read_type(typename))); + symtablestack^.insert(newtype); + end; end; consume(SEMICOLON); + if assigned(newtype^.definition) and (newtype^.definition^.deftype=procvardef) then + parse_var_proc_directives(newtype); until token<>ID; typecanbeforward:=false; {$ifdef tp} @@ -1566,6 +1574,7 @@ unit pdecl; abssym : pabsolutesym; filepos : tfileposinfo; + Csym : pvarsym; begin hs:=''; @@ -1584,7 +1593,29 @@ unit pdecl; sc:=idlist; consume(COLON); p:=read_type(''); - if do_absolute and (token=ID) and (pattern='ABSOLUTE') then + if do_absolute and (token=ID) and (pattern='CALIAS') then + begin + s:=sc^.get_with_tokeninfo(filepos); + if sc^.get<>'' then + Message(parser_e_absolute_only_one_var); + dispose(sc,done); + consume(ID); + if (token<>CCHAR) and (token<>CSTRING) then + consume(CSTRING) + else + begin + Csym:=new(pvarsym,init_C(s,pattern,p)); + consume(token); + consume(SEMICOLON); + if (token=ID) and (pattern='EXTERNAL') then + begin + Csym^.var_options:=Csym^.var_options or vo_is_external; + Consume(ID); + end; + symtablestack^.insert(Csym); + end; + end + else if do_absolute and (token=ID) and (pattern='ABSOLUTE') then begin s:=sc^.get_with_tokeninfo(filepos); if sc^.get<>'' then @@ -1829,7 +1860,16 @@ unit pdecl; end. { $Log$ - Revision 1.24 1998-06-05 14:37:32 pierre + Revision 1.25 1998-06-09 16:01:45 pierre + + added procedure directive parsing for procvars + (accepted are popstack cdecl and pascal) + + added C vars with the following syntax + var C calias 'true_c_name';(can be followed by external) + reason is that you must add the Cprefix + + which is target dependent + + Revision 1.24 1998/06/05 14:37:32 pierre * fixes for inline for operators * inline procedure more correctly restricted diff --git a/compiler/pexpr.pas b/compiler/pexpr.pas index 1648a37f09..d1af117407 100644 --- a/compiler/pexpr.pas +++ b/compiler/pexpr.pas @@ -585,7 +585,9 @@ unit pexpr; begin if sym=nil then begin - Message(sym_e_id_no_member); + { pattern is still valid unless + there is another ID just after the ID of sym } + Message1(sym_e_id_no_member,pattern); disposetree(p1); p1:=genzeronode(errorn); { try to clean up } @@ -1784,7 +1786,16 @@ unit pexpr; end. { $Log$ - Revision 1.25 1998-06-05 14:37:33 pierre + Revision 1.26 1998-06-09 16:01:46 pierre + + added procedure directive parsing for procvars + (accepted are popstack cdecl and pascal) + + added C vars with the following syntax + var C calias 'true_c_name';(can be followed by external) + reason is that you must add the Cprefix + + which is target dependent + + Revision 1.25 1998/06/05 14:37:33 pierre * fixes for inline for operators * inline procedure more correctly restricted diff --git a/compiler/pmodules.pas b/compiler/pmodules.pas index 04fc0b9e5f..7e547da098 100644 --- a/compiler/pmodules.pas +++ b/compiler/pmodules.pas @@ -22,7 +22,7 @@ } unit pmodules; -{$define TEST_IMPL} +{define TEST_IMPL does not work well } interface @@ -993,7 +993,16 @@ unit pmodules; end. { $Log$ - Revision 1.25 1998-06-08 22:59:49 peter + Revision 1.26 1998-06-09 16:01:47 pierre + + added procedure directive parsing for procvars + (accepted are popstack cdecl and pascal) + + added C vars with the following syntax + var C calias 'true_c_name';(can be followed by external) + reason is that you must add the Cprefix + + which is target dependent + + Revision 1.25 1998/06/08 22:59:49 peter * smartlinking works for win32 * some defines to exclude some compiler parts diff --git a/compiler/ppu.pas b/compiler/ppu.pas index 887d1053b4..85deb171b9 100644 --- a/compiler/ppu.pas +++ b/compiler/ppu.pas @@ -64,6 +64,8 @@ const ibtypedconstsym = 25; ibabsolutesym = 26; ibpropertysym = 27; + ibvarsym_C = 28; + {defenitions} iborddef = 40; ibpointerdef = 41; @@ -742,7 +744,16 @@ end; end. { $Log$ - Revision 1.3 1998-05-28 14:40:26 peter + Revision 1.4 1998-06-09 16:01:48 pierre + + added procedure directive parsing for procvars + (accepted are popstack cdecl and pascal) + + added C vars with the following syntax + var C calias 'true_c_name';(can be followed by external) + reason is that you must add the Cprefix + + which is target dependent + + Revision 1.3 1998/05/28 14:40:26 peter * fixes for newppu, remake3 works now with it Revision 1.2 1998/05/27 19:45:08 peter diff --git a/compiler/symsym.inc b/compiler/symsym.inc index 8841f787b7..4df1313b7c 100644 --- a/compiler/symsym.inc +++ b/compiler/symsym.inc @@ -872,6 +872,7 @@ tsym.init(n); typ:=varsym; definition:=p; + _mangledname:=nil; varspez:=vs_value; address:=0; refs:=0; @@ -880,17 +881,18 @@ case p^.deftype of pointerdef, enumdef, - procvardef : regable:=true; + procvardef : + var_options:=var_options or vo_regable; orddef : case porddef(p)^.typ of - u8bit,s32bit, - bool8bit,uchar, - s8bit,s16bit, - u16bit,u32bit : regable:=true; + u8bit,u16bit,u32bit, + bool8bit,bool16bit,bool32bit, + s8bit,s16bit,s32bit : + var_options:=var_options or vo_regable; else - regable:=false; + var_options:=var_options and not vo_regable; end; else - regable:=false; + var_options:=var_options and not vo_regable; end; reg:=R_NO; end; @@ -900,6 +902,7 @@ begin tsym.load; typ:=varsym; + _mangledname:=nil; varspez:=tvarspez(readbyte); if read_member then address:=readlong @@ -908,10 +911,28 @@ refs := 0; is_valid := 1; { symbols which are load are never candidates for a register } - regable:=false; + var_options:=0; + { was regable:=false; } reg:=R_NO; end; + constructor tvarsym.init_C(const n,mangled : string;p : pdef); + + begin + init(n,p); + var_options:=var_options or vo_is_C_var; + _mangledname:=strpnew(target_os.Cprefix+mangled); + end; + + constructor tvarsym.load_C; + + begin + load; + typ:=varsym; + var_options:=readbyte; + _mangledname:=strpnew(readstring); + end; + procedure tvarsym.deref; begin @@ -922,7 +943,10 @@ begin {$ifndef NEWPPU} - writebyte(ibvarsym); + if (var_options and vo_is_C_var)<>0 then + writebyte(ibvarsym_C) + else + writebyte(ibvarsym); {$endif} tsym.write; writebyte(byte(varspez)); @@ -931,7 +955,15 @@ writelong(address); writedefref(definition); + if (var_options and vo_is_C_var)<>0 then + begin + writebyte(var_options); + writestring(mangledname); + end; {$ifdef NEWPPU} + if (var_options and vo_is_C_var)<>0 then + ppufile^.writeentry(ibvarsym_C) + else ppufile^.writeentry(ibvarsym); {$endif} end; @@ -940,6 +972,11 @@ var prefix : string; begin + if assigned(_mangledname) then + begin + mangledname:=strpas(_mangledname); + exit; + end; case owner^.symtabletype of staticsymtable : if (cs_smartlink in aktswitches) then prefix:='_'+owner^.name^+'$$$_' @@ -981,6 +1018,8 @@ var l,modulo : longint; begin + if (var_options and vo_is_external)<>0 then + exit; { handle static variables of objects especially } if read_member and (owner^.symtabletype=objectsymtable) and ((properties and sp_static)<>0) then @@ -988,7 +1027,7 @@ { the data filed is generated in parser.pas with a tobject_FIELDNAME variable } { this symbol can't be loaded to a register } - regable:=false; + var_options:=var_options or vo_regable; end else if not(read_member) then begin @@ -1039,7 +1078,7 @@ inc(owner^.datasize,l); { this symbol can't be loaded to a register } - regable:=false; + var_options:=var_options and not vo_regable; end else if owner^.symtabletype=globalsymtable then begin @@ -1059,7 +1098,7 @@ inc(owner^.datasize,l); { this symbol can't be loaded to a register } - regable:=false; + var_options:=var_options and not vo_regable; end else if owner^.symtabletype in [recordsymtable,objectsymtable] then begin @@ -1084,7 +1123,7 @@ inc(owner^.datasize,l); { this symbol can't be loaded to a register } - regable:=false; + var_options:=var_options and not vo_regable; end else if owner^.symtabletype=parasymtable then begin @@ -1202,6 +1241,14 @@ end; {$endif GDB} + destructor tvarsym.done; + + begin + strdispose(_mangledname); + inherited done; + end; + + {**************************************************************************** TTYPEDCONSTSYM *****************************************************************************} @@ -1694,7 +1741,16 @@ { $Log$ - Revision 1.6 1998-06-08 22:59:53 peter + Revision 1.7 1998-06-09 16:01:51 pierre + + added procedure directive parsing for procvars + (accepted are popstack cdecl and pascal) + + added C vars with the following syntax + var C calias 'true_c_name';(can be followed by external) + reason is that you must add the Cprefix + + which is target dependent + + Revision 1.6 1998/06/08 22:59:53 peter * smartlinking works for win32 * some defines to exclude some compiler parts