I'm trying to issue a DMB instruction in a Go program, and I'm using asm function defined in a .s file. I'm compiling with Go 1.7.3 on an ARMv7 device.
DMB isn't a supported instruction in Go, but I see documentation here on how to use unsupported opcodes.
Using some ARM gcc binutils, I found the opcode for DMB is f57ff05f. The issue_dmb.s
file I have is below.
TEXT ·issue_dmb(SB),$0
// DMB: opcode f57ff05f
BYTE $0xF5; BYTE $0x7F; BYTE $0xF0; BYTE $0x5F
RET
When I build, I get an error: unrecognized instruction "BYTE"
(Possibly related: I got the same error about NOSPLIT
when I used this in the first line of the .s file as I see in many examples, so I removed it).
Am I missing something to get the assembler to recognise these keywords?