* fixed parsing of register names with lowercase

This commit is contained in:
peter 2002-09-02 18:40:52 +00:00
parent b5e2c87b87
commit 8a75d59544

View File

@ -712,6 +712,7 @@ implementation
Marker : tai; Marker : tai;
r,r2 : tregister; r,r2 : tregister;
found : boolean; found : boolean;
hs : string;
begin begin
Inside_asm_statement:=true; Inside_asm_statement:=true;
case aktasmmode of case aktasmmode of
@ -754,28 +755,29 @@ implementation
if try_to_consume(_LECKKLAMMER) then if try_to_consume(_LECKKLAMMER) then
begin begin
if token<>_RECKKLAMMER then if token<>_RECKKLAMMER then
begin
repeat repeat
{ it's possible to specify the modified registers } { it's possible to specify the modified registers }
include(asmstat.flags,nf_object_preserved); include(asmstat.flags,nf_object_preserved);
hs:=upper(pattern);
found:=false; found:=false;
for r:=low(tregister) to high(tregister) do for r:=low(tregister) to high(tregister) do
if pattern=upper(std_reg2str[r]) then if hs=upper(std_reg2str[r]) then
begin begin
if r = SELF_POINTER_REG then if r = SELF_POINTER_REG then
begin
exclude(asmstat.flags,nf_object_preserved); exclude(asmstat.flags,nf_object_preserved);
end;
include(rg.usedinproc,r); include(rg.usedinproc,r);
include(rg.usedbyproc,r); include(rg.usedbyproc,r);
found:=true; found:=true;
break; break;
end; end;
if not(found) then if not(found) then
consume(_RECKKLAMMER); Message(asmr_e_invalid_register);
consume(_CSTRING); consume(_CSTRING);
if not try_to_consume(_COMMA) then if not try_to_consume(_COMMA) then
break; break;
until false; until false;
end;
consume(_RECKKLAMMER); consume(_RECKKLAMMER);
end end
else else
@ -1144,7 +1146,10 @@ implementation
end. end.
{ {
$Log$ $Log$
Revision 1.74 2002-09-01 14:43:12 peter Revision 1.75 2002-09-02 18:40:52 peter
* fixed parsing of register names with lowercase
Revision 1.74 2002/09/01 14:43:12 peter
* fixed direct assembler for i386 * fixed direct assembler for i386
Revision 1.73 2002/08/25 19:25:20 peter Revision 1.73 2002/08/25 19:25:20 peter