* fixed reading of shifter op in mov instructions, fixes bug #4722

git-svn-id: trunk@3528 -
This commit is contained in:
florian 2006-05-14 16:28:16 +00:00
parent 72a8c36bdb
commit d9dfcfa402
3 changed files with 14 additions and 1 deletions

1
.gitattributes vendored
View File

@ -6791,6 +6791,7 @@ tests/webtbs/tw4675.pp svneol=native#text/plain
tests/webtbs/tw4678.pp -text
tests/webtbs/tw4700.pp svneol=native#text/plain
tests/webtbs/tw4704.pp -text
tests/webtbs/tw4722.pp svneol=native#text/plain
tests/webtbs/tw4763.pp svneol=native#text/plain
tests/webtbs/tw4768.pp -text
tests/webtbs/tw4778.pp svneol=native#text/plain

View File

@ -615,7 +615,7 @@ Unit raarmgas;
((operandnum=3) and not(instr.opcode in [A_UMLAL,A_UMULL,A_SMLAL,A_SMULL])) then
begin
Consume(AS_COMMA);
if not(TryBuildShifterOp(instr.Operands[4] as tarmoperand)) then
if not(TryBuildShifterOp(instr.Operands[operandnum+1] as tarmoperand)) then
Message(asmr_e_illegal_shifterop_syntax);
Inc(operandnum);
end

12
tests/webtbs/tw4722.pp Normal file
View File

@ -0,0 +1,12 @@
{ %cpu=arm }
{ Source provided for Free Pascal Bug Report 4722 }
{ Submitted by "Francesco Lombardi" on 2006-01-21 }
{ e-mail: francky74@gmail.com }
procedure SystemCall(n: integer); assembler;
asm
MOV R0, R0, LSL #0x10
SWI R0
end;
begin
end.