Jim Mussared
8b27482692
top: Update Python formatting to black "2023 stable style".
...
See https://black.readthedocs.io/en/stable/the_black_code_style/index.html
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2023-02-02 12:51:03 +11:00
Damien George
c0fa903d6b
py/compile: Support large integers in inline-asm data directive.
...
Fixes issue #8956 .
Signed-off-by: Damien George <damien@micropython.org>
2022-07-26 12:24:50 +10:00
Christian Zietz
d6c59c9d72
tests/inlineasm: Add test for PUSH LR and POP PC.
2022-04-11 15:35:42 +10:00
David Lechner
3dc324d3f1
tests: Format all Python code with black, except tests in basics subdir.
...
This adds the Python files in the tests/ directory to be formatted with
./tools/codeformat.py. The basics/ subdirectory is excluded for now so we
aren't changing too much at once.
In a few places `# fmt: off`/`# fmt: on` was used where the code had
special formatting for readability or where the test was actually testing
the specific formatting.
2020-03-30 13:21:58 +11:00
Damien George
30e25174bb
tests: Rename "array" module to "uarray".
2019-10-22 19:16:54 +11:00
Damien George
cd35dd9d9a
py: Allow to pass in read-only buffers to viper and inline-asm funcs.
...
Fixes #4936 .
2019-08-06 15:58:23 +10:00
Damien George
664f03f466
tests: Add a test for argument passing to inline-asm functions.
2016-03-16 08:24:07 +00:00
Damien George
8f54c08691
py/inlineasm: Add ability to specify return type of asm_thumb funcs.
...
Supported return types are: object, bool, int, uint.
For example:
@micropython.asm_thumb
def foo(r0, r1) -> uint:
add(r0, r0, r1)
2016-01-27 14:27:10 +00:00
Damien George
ea8be373a9
py/inlinethumb: Remove 30-bit restriction on movwt instruction.
...
movwt can now move a full 32-bit constant into a register.
2016-01-07 16:34:11 +00:00
Henrik Sölver
e242b1785f
py/emitinlinethumb: Add support for MRS instruction.
...
Only IPSR and BASEPRI special registers supported at the moment, but easy
to extend in the future.
2015-12-10 17:32:54 +00:00
adminpete
d6201fc4b7
py: In inline asm, vldr and vstr offsets now in bytes not words.
...
As per ARM convention.
2015-10-31 10:50:45 +00:00
Damien George
096d1e4512
py: Add lsl/lsr/asr opcode support to inline Thumb2 assembler.
2015-10-19 14:26:19 +01:00
=
5008972fef
py/inlinethumb: Support for core floating point instructions.
...
Adds support for the following Thumb2 VFP instructions, via the option
MICROPY_EMIT_INLINE_THUMB_FLOAT:
vcmp
vsqrt
vneg
vcvt_f32_to_s32
vcvt_s32_to_f32
vmrs
vmov
vldr
vstr
vadd
vsub
vmul
vdiv
2015-04-19 15:47:05 +01:00
Damien George
96e37d3bb8
tests: Add tests for inline assembler beq_n and beq_w ops.
2015-03-02 14:31:00 +00:00
Damien George
eff10f66a6
py: Implement bl/bx instructions for inline Thumb assembler.
2015-02-16 18:17:07 +00:00
Damien George
192d536fe4
py: Implement clz and rbit for inline Thumb assembler.
2015-02-13 11:06:23 +00:00
Damien George
32f0b7942c
py: Implement sdiv/udiv for inline Thumb assembler.
2015-02-13 10:43:05 +00:00
Damien George
0d967b8ae4
py: Implement push/pop for inline Thumb assembler.
2015-02-13 02:30:35 +00:00
Damien George
c4ccb078a5
tests: Add inline assembler test for pyboard.
2014-05-07 18:31:14 +01:00