summaryrefslogtreecommitdiff
path: root/py/asmthumb.h
AgeCommit message (Collapse)Author
2017-07-31all: Use the name MicroPython consistently in commentsAlexander Steffen
There were several different spellings of MicroPython present in comments, when there should be only one.
2017-07-18all: Unify header guard usage.Alexander Steffen
The code conventions suggest using header guards, but do not define how those should look like and instead point to existing files. However, not all existing files follow the same scheme, sometimes omitting header guards altogether, sometimes using non-standard names, making it easy to accidentally pick a "wrong" example. This commit ensures that all header files of the MicroPython project (that were not simply copied from somewhere else) follow the same pattern, that was already present in the majority of files, especially in the py folder. The rules are as follows. Naming convention: * start with the words MICROPY_INCLUDED * contain the full path to the file * replace special characters with _ In addition, there are no empty lines before #ifndef, between #ifndef and one empty line before #endif. #endif is followed by a comment containing the name of the guard macro. py/grammar.h cannot use header guards by design, since it has to be included multiple times in a single C file. Several other files also do not need header guards as they are only used internally and guaranteed to be included only once: * MICROPY_MPHALPORT_H * mpconfigboard.h * mpconfigport.h * mpthreadport.h * pin_defs_*.h * qstrdefs*.h
2016-12-09py: Move arch-specific assembler macros from emitnative to asmXXX.h.Damien George
2016-11-28py: Factor out common code from assemblers into asmbase.[ch].Damien George
All assemblers should "derive" from mp_asm_base_t.
2015-10-19py: Add lsl/lsr/asr opcode support to inline Thumb2 assembler.Damien George
2015-04-07py: Implement full func arg passing for native emitter.Damien George
This patch gets full function argument passing working with native emitter. Includes named args, keyword args, default args, var args and var keyword args. Fully Python compliant. It reuses the bytecode mp_setup_code_state function to do all the hard work. This function is slightly adjusted to accommodate native calls, and the native emitter is forced a bit to emit similar prelude and code-info as bytecode.
2015-03-02py: For inline assembler, add bcc_n and bcc_w ops.Damien George
Addresses issue #1143.
2015-02-25py: Make inline assembler raise exception when branch not in range.Damien George
Addresses issue #1132.
2015-02-24py: Make more asmthumb functions inline to reduce code size.Damien George
2015-02-16py: Implement bl/bx instructions for inline Thumb assembler.Damien George
2015-02-16py: Implement "it" instruction for inline Thumb assembler.Damien George
2015-01-01py: Add guarded includes for asm-based headers.Damien George
2014-09-29py: Make macro names in assemblers consistent, and tidy up a bit.Damien George
2014-09-29py: In asmthumb, clean up unit/int types and ite ops.Damien George
2014-09-07py: Clean up x86-64 native assembler; allow use of extended regs.Damien George
Native x86-64 now has 3 locals in registers.
2014-07-03Rename machine_(u)int_t to mp_(u)int_t.Damien George
See discussion in issue #50.
2014-05-07py, compiler: Improve passes; add an extra pass for native emitter.Damien George
2014-05-03Add license header to (almost) all files.Damien George
Blanket wide to all .c and .h files. Some files originating from ST are difficult to deal with (license wise) so it was left out of those. Also merged modpyb.h, modos.h, modstm.h and modtime.h in stmhal/.
2014-04-21py: Add 'align' and 'data' meta-instructions to inline assembler.Damien George
2014-04-18inlinethumb: Add wfi, cpsid and cpsie instructions.Damien George
2014-04-13py: Big improvements to inline assembler.Damien George
Improved the Thumb assembler back end. Added many more Thumb instructions to the inline assembler. Improved parsing of assembler instructions and arguments. Assembler functions can now be passed the address of any object that supports the buffer protocol (to get the address of the buffer). Added an example of how to sum numbers from an array in assembler.
2014-04-12py: Improve inline assembler; improve compiler constant folding.Damien George
2014-04-10py: Make labels unsigned ints (converted from int).Damien George
Labels should never be negative, and this modified type signature reflects that.
2014-04-08py: Improve inline assembler; add a few more opcodes.Damien George
2013-11-03Support for for-loop in native thumb.Damien
2013-11-03Implement more thumb branch instructions.Damien
2013-10-06Add b_n opcode to inline thumb asm.Damien
2013-10-05Add support for inline thumb assembly.Damien
2013-10-05Incorporate emit_thumb into new emit framework.Damien
2013-10-04Initial commit.Damien