Skip to content

Releases: 0xADE1A1DE/AssemblyLine

v1.4.0

10 Feb 03:31
Compare
Choose a tag to compare

version 1.4.0-release (2025-02-10)

- added support for `mul r/64`, (thanks to sabrinamanickam)
- added support for `rdpru`, (thanks to JasQuirk)

- fixed bug in `shr r/m, 1`, (thanks to JasQuirk)

v1.3.2

15 Nov 23:45
Compare
Choose a tag to compare
- fixed bug which caused `asmline -{c,b} <NUM>` to not display the 
  correct chuks

- asmline {-h,--help} now emits to stdout to be conform with GNU standards
  and with a slightly different indentation.

- provide bash and zsh auto completion helper for asmline cli-tool

v1.3.1

09 Nov 12:33
Compare
Choose a tag to compare
- added support for all shift instructions shr/shl/sar/sal as well as all
  their respective operand encodings

- fixed operand encoding for xchg instruction when using the return register

- fixed xabort instruction missing 8-bit immediate value

- fixed xbegin instruction rel32 offset value
 
- fixed a bug that caused a segmentation fault when writing to a file via the -P switch

- added four encodings for {vmovdqu, vmovupd} xmmN {xmmN,m/128} and two for {vmovdqu, vmovupd} m/128, xmmN

- added encoding for movq mv

- added support for rdpmc

v1.3.1-rc.3

16 Aug 23:55
Compare
Choose a tag to compare
v1.3.1-rc.3 Pre-release
Pre-release
- fixed a bug which caused a segmentation fault when writing to a file via the -P switch

v1.3.1-rc.2

09 Aug 06:05
Compare
Choose a tag to compare
v1.3.1-rc.2 Pre-release
Pre-release
  • added four encodings for {vmovdqu, vmovupd} xmmN {xmmN,m/128}
    and two for {vmovdqu, vmovupd} m/128, xmmN

v1.3.1-rc.1

09 Aug 02:29
Compare
Choose a tag to compare
v1.3.1-rc.1 Pre-release
Pre-release
  • added encoding for movq mv
  • added support for rdpmc

v1.3.0

27 Jul 11:58
8c6beec
Compare
Choose a tag to compare
- added support for multiple keywords ex: "jmp far word [rax]"

- added support for unconditional far jump 

- added support for memory operand without register ex: "[0x7fffffff]"

- added support for push instruction with M and I operand encoding

- implemented thread safe design for global variables

- fixed missing SIB byte for jmp instruction 

- fixed a bug which can lead to SIGSEGV's on certain systems using
  `strtok_r`. (Thanks to @hugsy for pointing that out)

- fixed bug where the wrong return code is returned if the internal buffer
  it too small and assemblyline is compiled for non-Linux systems

- CI: Using GitHub Actions to validate Code Formatting

- CI: Using GitHub Actions to build and run checks

- Repo: Introducing badges to show current stats for the repository

- Tests: run.c now checks for cpu-flags to run the code. (Sometimes it
  fails because of missing CPU capabilities on GHActions)

v1.2.2

29 Mar 06:20
Compare
Choose a tag to compare
- added support for neg: Two's Complement Negation

- fixed a bug where shift and rotate instruction produce the wrong opcode 
  when immediate is zero 

- fixed a bug when using sib addressing with no base and a single operand

- asmline can now count the number of instructions that breaks a chunk boundary

- the number of instructions that break a chunk boundary can be counted when 
  assembling a file. 

- adding `cpuid`-instruction

v1.2.1

23 Feb 04:59
Compare
Choose a tag to compare

version 1.2.1-release (2022-02-23)

- Fixed bugs regarding `-imm/8`

v1.2.0

20 Feb 04:06
Compare
Choose a tag to compare

version 1.2.0-release (2022-02-19)

  • binary file can now be generated from libassemblyline with asm_create_bin_file()

  • reformatted man page for wide screen

  • added support for all operand encodings for and, or, xor, sub, and add instructions

  • added support for all setcc instructions - set byte on condition

  • added a command-line option in asmline for setting assembly mode to NASM $ asmline --nasm-sib-no-base where:
    in SIB addressing if there is no base register present and scale is equal to 2;
    the base register will be set to the index register and the scale will be reduced to 1.
    That is: "lea r15, [2rax]" -> "lea r15, [rax+1rax]" -> 4c 8d 3c 00

  • added a command-line option in asmline for setting assembly mode to STRICT $ asmline --strict-sib-no-base where:
    in SIB addressing when there is no base register present the index and scale would
    not change regardless of scale value.
    That is: "lea r15, [2rax]" -> "lea r15, [2rax]" -> 4c 8d 3c 45 00 00 00 00