1
votes

When assembling the following line on raspbian : STMFDGT R0, {R1,R2,R3}

Error: bad instruction `stmfdgt r0,{r1,r2,r3}'

why is this legal mnemonic not recognized ? Without the condition part everything works fine.

AS Version is:

GNU assembler (GNU Binutils for Raspbian) 2.25 Copyright (C) 2014 Free Software Foundation, Inc. This program is free software; you may redistribute it under the terms of the GNU General Public License version 3 or later. This program has absolutely no warranty. This assembler was configured for a target of `arm-linux-gnueabihf'.

1

1 Answers

2
votes

Your assembler is probably configured to use the legacy ARM syntax (where the condition code comes before any other suffixes to the base mnemonic, among other differences) by default, rather than the newer UAL syntax. Add a .syntax unified directive to fix that.