diff options
Diffstat (limited to 'my-common-code')
| -rw-r--r-- | my-common-code/api-asm.S | 19 | ||||
| -rw-r--r-- | my-common-code/api-asm.h | 7 | 
2 files changed, 26 insertions, 0 deletions
| diff --git a/my-common-code/api-asm.S b/my-common-code/api-asm.S new file mode 100644 index 0000000..93419fd --- /dev/null +++ b/my-common-code/api-asm.S @@ -0,0 +1,19 @@ +/*  + * Example of a pure assembly file + * For most people, this is normally unnecessary, you can use inline + * ASM in a C file, if you even need to use ASM at all. + * However, if you reallllly like doing this sort of thing, here's how :) + */ + +.syntax unified +.thumb +.section .text + +#include <libopencm3/stm32/gpio.h> + +.global rev_bytes +.func rev_bytes  /* only used for debugger */ +.type rev_bytes, STT_FUNC +rev_bytes: +    rev r0, r0 +    bx lr diff --git a/my-common-code/api-asm.h b/my-common-code/api-asm.h new file mode 100644 index 0000000..b153620 --- /dev/null +++ b/my-common-code/api-asm.h @@ -0,0 +1,7 @@ +#include <stdint.h> +/** + * Reverse bytes in words + * @param in word in form abcd + * @returns word in form dcba + */ +uint32_t rev_bytes(uint32_t in); | 
