Reputation: 23
I'm trying to compile some given assembler files (.S) for Android using the NDK. Unfortunately I'm getting the same error for each line: Error: bad instruction
Extract of the code:
#define FLAG_C 70(%ebx)
lsr_carry:
cmpb $32, %cl
jae lsr_carry_32
testb %cl, %cl
je lsr_carry_zero
shrl %cl, %eax
setc FLAG_C
lsr_carry_zero:
ret
lsr_carry_32:
jne ls_carry_33
shll $1, %eax
setc FLAG_C
xorl %eax, %eax
ret
ls_carry_33:
xorl %eax, %eax
movb %al, FLAG_C
ret
I think I havent understood the basics of assembler programming. Does anyone can help me?
Upvotes: 2
Views: 1471
Reputation: 77742
It appears like you're trying to plug x86 assembly into Android? Most current Android devices are using the ARM architecture, which is a completely different language with entirely different opcodes.
That aside, I would recommend against using Assembly in the first place (well, unless you have existing code that you're trying to port.)
Upvotes: 2
Reputation: 25278
You're trying to compile x86 code. Most Android devices run on ARM and the public NDK compiles only for ARM.
Upvotes: 6