Skip to content

Releases: dev-er1/rasm

v0.6.0

Choose a tag to compare

@github-actions github-actions released this 09 Jul 07:27
New release 0.6.0!

v0.5.0

Choose a tag to compare

@github-actions github-actions released this 03 Jul 17:25
+ Added generation of Mach-O files.

Added

  • Generating files with Mach-O format.

v0.4.2

Choose a tag to compare

@github-actions github-actions released this 03 Jul 07:31
+ Added a new flag to the `disasm` command.

- Fixed a bug in the disassembler.

Added

  • New flag --offset for the disassembler command.

Fixed

  • Disassembler behavior: it will no longer crash upon encountering the first unknown opcode.

P.S.: Oops, I forgot to change the version to 0.4.2, so the CLI will still show 0.4.1—sorry about that ;(.

v0.4.1

Choose a tag to compare

@github-actions github-actions released this 02 Jul 08:09
- Fixed a bug with the AST analyzer.

Fixed

  • A bug with the AST analyzer; the AST analyzer simply did not check the code.

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 30 Jun 06:30
+ Added imports.
+ Added analyzer.

Added

  • Imports — you can now import functions from kernel32.dll on Windows.
  • Analyzer — the analyzer will analyze your code for dead code and errors.

Fixed

  • Bug with incorrect Rel32 patching.

v0.3.1

Choose a tag to compare

@github-actions github-actions released this 22 Jun 12:16
+ Added JMP rel8 and Jcc rel8 (short jumps) to the encoder and decoder.
+ Added missing Jcc mnemonics: JO, JNO, JS, JNS, JP, JNP.
+ The parser now accepts `db`/`dw`/`dd`/`dq` without a leading dot.

Added

  • Short jumps — JMP rel8 (0xEB) and all 16 Jcc rel8 (0x70–0x7F) are now supported in the decoder and encoder.
  • New mnemonicsjo, jno, js, jns, jp, jnp with aliases (jpe, jpo, jc, jnc, etc.).
  • Missing Jcc rel320x0F 0x80–0x8B for JO, JNO, JS, JNS, JP, JNP (two-byte opcodes).
  • Directives without a dotdb, dw, dd, dq work without a leading . (for example, db 0x90 instead of .byte 0x90).

Fixed

  • The decoder 0xC7 now correctly accepts the register form (mod=11) for MOV r64, imm32.
  • format_memory no longer outputs [rbp + -0x8]; the negative offset shows the - sign.
  • decode_memory returns scale: None if there is no index case.
  • #[derive(Debug)]added to CodegenOutput and DecodedInstruction.

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 21 Jun 15:03
+ Added disassembler.

Added

  • disasm command in the CLI! You can disassemble .bin files into human-readable code.

P.S.: The CLI shows the old version 0.2.1, sorry, I hope this doesn't bother you. If you really need me to rework the release, put a "👀" smiley face, or build rasm.exe from the source.

v0.2.1

Choose a tag to compare

@github-actions github-actions released this 17 Jun 10:03
+ Reworked the release.yml script.
+ Added a new command to the REPL.

Added

  • New ":clear" command in the REPL to clear the terminal.
  • Changed the release system; now all releases will be published as archives containing an executable file.

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 16 Jun 12:07
+ Added RIP-relative addressing support
+ Added REPL mode to the CLI
+ Added binary number support

- Removed old bug in CLI

Added

  • Added support for RIP-relative addressing! Now you can write:

    lea rsi, [rip + msg]
    mov rax, [rip + val]
    
  • Added a REPL mode to the CLI.

  • Added support for binary literals (0b...) in the lexer.


Fixed

  • Bug with the rasm check command in the CLI.

Happy coding!

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 14 Jun 11:03

First version of RASM!