Releases: cheng-alvin/jas
v0.4.0 - Lots of new stuff 🙌
Hello there, this release of the Jas assembler has brung many new instructions,
bug fixes, optimisations and just little finishing touches as we progress closer
towards a more "completed" and polished assembler.
What's Changed
- Implementation of opcode function by @cheng-alvin in #23
- Added internal docs for
i_common
by @cheng-alvin in #24 - Revised
op_write_opcode
function by @cheng-alvin in #25 - Added support for MOVZX by @cheng-alvin in #26
- Added
has_byte_opcode
member to every table by @cheng-alvin in #28 - Fix readme example that isn't proper C by @aganm in #29
- Added pre-processor function for
ENC_ZO
identities by @cheng-alvin in #30 - Fix encoder clash by @cheng-alvin in #31
- Added support for MOVSX by @cheng-alvin in #32
- Fixed error message by @cheng-alvin in #33
- Added instruction support for
xchg
by @cheng-alvin in #34 - Added case for
NULL
instructions by @cheng-alvin in #35 - Added label member support to
op_construct_operand
by @cheng-alvin in #36 instr_gen()
fixes and improvements by @cheng-alvin in #37- Fixed issue with register not assigning to operand by @cheng-alvin in #38
- Added pointer for tracking offset changes by @cheng-alvin in #39
- Added support for
bswap
instruction by @cheng-alvin in #40 - Refactor and isolate pre processors by @cheng-alvin in #42
- Renamed
INSTR_TERMINATOR
toINSTR_TAB_NULL
by @cheng-alvin in #41 - Fixed incorrect offset values. by @cheng-alvin in #43
- Isolated instruction tables by @cheng-alvin in #44
New Contributors
Full Changelog: v0.3.0...v0.4.0
v0.3.0
What's Changed
- Changed type by @cheng-alvin in #8
- Encoder macro changes/refactor by @cheng-alvin in #9
- Refactoring of includes by @cheng-alvin in #10
- Removed
inline
attribute to the function signature by @cheng-alvin in #12 - Test framework changes by @cheng-alvin in #11
- Unit test -
mov
by @cheng-alvin in #13 - Removal label table global var by @cheng-alvin in #14
- Added
instr_get_tab()
by @cheng-alvin in #15 - Use the
INSTR_DIRECTIVE
macro by @cheng-alvin in #16 - Changes to preprocessor functions by @cheng-alvin in #17
- Contributing guide changes by @cheng-alvin in #18
- Encoder identity refactoring changes by @cheng-alvin in #19
- Fixed label table by invoking funciton by @cheng-alvin in #20
- Instruction table refactor by @cheng-alvin in #21
- Added
op_write_opcode()
function by @cheng-alvin in #22
Full Changelog: v0.2.0...v0.3.0
v0.2.0
What's Changed
- Allowing the generation of a single instruction by @cheng-alvin in #5
- Removed confusing tenary operators by @cheng-alvin in #6
- Added support for varying displacement sizes by @cheng-alvin in #7
Full Changelog: v0.1.1...v0.2.0
v0.1.0 - Initial release 🥳
This is the first official release of the Jas assembler🎉! ... Finally! After Over 1200 commits, over 3300 lines of code and nearly one and a half years of smashing a keyboard in the dark, Jas finally has finally been able to assemble a simple subset of the x64 instruction set into an ELF object file which ld
is willing to chew up and spit out an executable for. (Which I consider as release-worthy, kinda)
Although an effort has been made to ensure the stability of Jas, there's no guarantee that no bugs will occur, code generated using Jas and Jas itself shall not be used in critical production settings. In the coming future, we will do out best to eliminate bugs and boost the stability of the library.
Full Changelog: https://github.com/cheng-alvin/jas/commits/v0.1.0
Please see the README.md file for more information and how to build Jas from source.