Если я попытаюсь собрать эту программу:
.text
main:
andseq r1,r3,r2,lsl #13
С помощью команды gcc -c test.s
я получаю следующую ошибку:
Error: bad instruction `andseq r1,r3,r2,lsl#13'
После некоторых попыток я заменил andseq
на andeqs
, и теперь он прекрасно компилируется.
Но если я дам дамп получившегося файла obj с objdump -d test.o
, я получу это:
Disassembly of section .text:
00000000 <main>:
0: 00131682 andseq r1, r3, r2, lsl #13
Обратите внимание, как инструкция расшифрована как andseq
....
Я что-то упустил? Это ошибка?
Моя система - Raspbian GNU / Linux 8, а мой gcc -: gcc (Raspbian 4.9.2-10) 4.9.2. Я также протестировал с gcc-8.1.0 (редактировать, не вижу редактирования), те же результаты.
EDIT:
На самом деле кажется, что я использую те же binutils с gcc8, так что я действительно протестировал только это GNU assembler (GNU Binutils for Raspbian) 2.25
. Я попробую более свежий ассемблер.