Author Topic: Rasm Z80 assembler v0.117 [update 2019.11.22]  (Read 31303 times)

0 Members and 1 Guest are viewing this topic.

Offline roudoudou

  • 6128 Plus
  • ******
  • Posts: 693
  • Country: fr
    • urban exploration
  • Liked: 968
  • Likes Given: 610
Re: Rasm Z80 assembler [update 2017.04.03]
« Reply #25 on: 17:12, 03 April 17 »
update 2017.04.03 - v0.49
- bugfix multiple LZ48/LZ49 block in the same ORG zone

updated first post with new .zip


EDIT: i forgot to mentionned PRINT enhancement, it's now possible to format numeric ouput



MyVar=5*70


PRINT 'MyVar=',{INT}MyVar,' pouet pouet'

Avalaible tags: HEX, HEX2, HEX4, HEX8, BIN, BIN8, BIN16, BIN32, INT
« Last Edit: 12:03, 05 April 17 by roudoudou »
use RASM, the best assembler ever made :p

I will survive

Offline roudoudou

  • 6128 Plus
  • ******
  • Posts: 693
  • Country: fr
    • urban exploration
  • Liked: 968
  • Likes Given: 610
Re: Rasm Z80 assembler [update 2017.04.11]
« Reply #26 on: 10:39, 11 April 17 »
update 2017.04.11 - v0.50
- bugfix ORG <adress>,$

- you may use unix relative paths using Windows so there is nothing to change when switching between both OS


updated first post with new release





use RASM, the best assembler ever made :p

I will survive

Offline roudoudou

  • 6128 Plus
  • ******
  • Posts: 693
  • Country: fr
    • urban exploration
  • Liked: 968
  • Likes Given: 610
Re: Rasm Z80 assembler [update 2017.04.18]
« Reply #27 on: 10:49, 19 April 17 »

quick update v0.51
- bugfix ORG analysis for cartridge generation
- bugfix LIMIT
- bugfix with local labels not found in imbricated macros


still working on exomizer integrated compression
use RASM, the best assembler ever made :p

I will survive

Offline roudoudou

  • 6128 Plus
  • ******
  • Posts: 693
  • Country: fr
    • urban exploration
  • Liked: 968
  • Likes Given: 610
Re: Rasm Z80 assembler [update 2017.04.18]
« Reply #28 on: 23:08, 24 April 17 »
new version in a few days (i cannot generate a windows version until a few days for various reasons...)

critical bug found: ADD (IY+n), SBC (IY+n) ADC (IY+n) CP (iy+n) are encoded like IX version  >:(

Golem report me that literal values syntax was not checked: LD A,5CCF (if you forget the : separator) won't warn but the CCF will be omit at the assembly. I fix this and add error messages.


There was no check for duplicate name between labels and variables, now it's ok

I was afraid to lose some speed so i add the same tree search for variables to speed up again the assembling (+20% faster)

See you soon

use RASM, the best assembler ever made :p

I will survive

Offline roudoudou

  • 6128 Plus
  • ******
  • Posts: 693
  • Country: fr
    • urban exploration
  • Liked: 968
  • Likes Given: 610
Re: Rasm Z80 assembler [update 2017.04.26]
« Reply #29 on: 08:53, 26 April 17 »
updated first post with executable of v052


documentation need a strong update now! Soon... :)
use RASM, the best assembler ever made :p

I will survive

Offline Sykobee (Briggsy)

  • 6128 Plus
  • ******
  • Posts: 697
  • Country: gb
  • Liked: 238
  • Likes Given: 355
Re: Rasm Z80 assembler v0.52 [update 2017.04.26]
« Reply #30 on: 17:23, 02 May 17 »
I look forward one day (hopefully) to use this and its cartridge features!


One day...

Offline roudoudou

  • 6128 Plus
  • ******
  • Posts: 693
  • Country: fr
    • urban exploration
  • Liked: 968
  • Likes Given: 610
Re: Rasm Z80 assembler v0.52 [update 2017.04.26]
« Reply #31 on: 23:29, 04 May 17 »
v0.53
- bugfix CHARSET <start>,<end>,<index>
- bugfix duplicate name check for alias
- new directives INCLZ4, INCZX7 to include and crunch a file with LZ4 or LZX7
- new directives LZX7, LZ4 to open a code section that will be crunched after assembly


Manuals and executables updated in the first post
« Last Edit: 10:41, 05 May 17 by roudoudou »
use RASM, the best assembler ever made :p

I will survive

Offline roudoudou

  • 6128 Plus
  • ******
  • Posts: 693
  • Country: fr
    • urban exploration
  • Liked: 968
  • Likes Given: 610
Re: Rasm Z80 assembler v0.55 [update 2017.05.21]
« Reply #32 on: 18:21, 21 May 17 »
updated first post 2017.05.21 - v0.55

- bugfix local label internal building

- new directive INCEXO to include and crunch a file with Exomizer 2 (it's not faster than the original cruncher...)
- new directive LZEXO to open a code section that will be crunched after assembly
- documentation updated (now with quick access in the summary)
- licenses of third parties softwares are included in the windows executable and their respective source files
« Last Edit: 11:11, 23 May 17 by roudoudou »
use RASM, the best assembler ever made :p

I will survive

Offline roudoudou

  • 6128 Plus
  • ******
  • Posts: 693
  • Country: fr
    • urban exploration
  • Liked: 968
  • Likes Given: 610
Re: Rasm Z80 assembler v0.56 [update 2017.05.28]
« Reply #33 on: 10:22, 28 May 17 »

updated first post 2017.05.28 - v0.56


- bugfix contiguous ORG check
- bugfix when a macro is opened for declaration and never closed
- added while/wend check in pre-processing
- now you can call a macro with a local value using prefix tag {eval} (will be documented)
use RASM, the best assembler ever made :p

I will survive

Offline roudoudou

  • 6128 Plus
  • ******
  • Posts: 693
  • Country: fr
    • urban exploration
  • Liked: 968
  • Likes Given: 610
Re: Rasm Z80 assembler v0.57 [update 2017.07.20]
« Reply #34 on: 10:58, 20 July 17 »
updated first post 2017.07.20 - v0.57

- more flexible preprocessor with macro parameters
- new label prefix tag {BANK} to get the bank where is located a label

documentation update in a few days
« Last Edit: 11:13, 20 July 17 by roudoudou »
use RASM, the best assembler ever made :p

I will survive

Offline roudoudou

  • 6128 Plus
  • ******
  • Posts: 693
  • Country: fr
    • urban exploration
  • Liked: 968
  • Likes Given: 610
Re: Rasm Z80 assembler v0.57 [update 2017.07.20]
« Reply #35 on: 22:24, 20 July 17 »
doc updated  8)
use RASM, the best assembler ever made :p

I will survive

Offline roudoudou

  • 6128 Plus
  • ******
  • Posts: 693
  • Country: fr
    • urban exploration
  • Liked: 968
  • Likes Given: 610
Re: Rasm Z80 assembler v0.52 [update 2017.04.26]
« Reply #36 on: 15:15, 22 July 17 »
I look forward one day (hopefully) to use this and its cartridge features!

One day...


1 minute test  ;D



use RASM, the best assembler ever made :p

I will survive

Offline roudoudou

  • 6128 Plus
  • ******
  • Posts: 693
  • Country: fr
    • urban exploration
  • Liked: 968
  • Likes Given: 610
Re: Rasm Z80 assembler v0.58 [update 2017.08.02]
« Reply #37 on: 10:22, 02 August 17 »
update 2017.08.02 - v0.58

- fixed INC SP encoding (was DEC SP opcode :picard:  )



:doh: :doh: :doh:
use RASM, the best assembler ever made :p

I will survive

Offline roudoudou

  • 6128 Plus
  • ******
  • Posts: 693
  • Country: fr
    • urban exploration
  • Liked: 968
  • Likes Given: 610
Re: Rasm Z80 assembler v0.60 [update 2017.09.15]
« Reply #38 on: 09:00, 15 September 17 »
minor update 2017.09.15


some improvements in the documentation (that nobody reads anyway since everyone asks me obvious and documented questions.  :P :P :P [size=78%] [/size][/size][size=78%])[/size]



use RASM, the best assembler ever made :p

I will survive

Offline roudoudou

  • 6128 Plus
  • ******
  • Posts: 693
  • Country: fr
    • urban exploration
  • Liked: 968
  • Likes Given: 610
Re: Rasm Z80 assembler v0.61 [update 2017.10.10]
« Reply #39 on: 10:19, 10 October 17 »
updated first post 2017.10.10 - v0.61

- bugfix var memory leak with data flow
- bugfix preprocessing with data flow not using string endchar
- bugfix var export

- new directive ASSERT
use RASM, the best assembler ever made :p

I will survive

Offline roudoudou

  • 6128 Plus
  • ******
  • Posts: 693
  • Country: fr
    • urban exploration
  • Liked: 968
  • Likes Given: 610
Re: Rasm Z80 assembler v0.61 [update 2017.10.10]
« Reply #40 on: 11:47, 24 November 17 »



Hey, some news!


Originally Rasm was designed for the release of CRTC³ (cartridge mode, banking, ...)


As i plan to release a few things on CPC i will extend Rasm banking management to make snapshots (up to 576K)


Will it be usefull to allow user to set (a few) snapshot settings? (CRTC, registers?)


Not in my opinion as i'm used to do all initialisations with cartridge but...


Let me know :)

use RASM, the best assembler ever made :p

I will survive

Offline GUNHED

  • 6128 Plus
  • ******
  • Posts: 1.397
  • Country: de
  • Reincarnation of TFM
    • FutureOS - The quickest OS for the CPC and Plus
  • Liked: 793
  • Likes Given: 1671
Re: Rasm Z80 assembler v0.61 [update 2017.10.10]
« Reply #41 on: 14:55, 25 November 17 »
First of all: Thanks for the great work (both prods). It's good to see that this nice ASM project goes on.
Second, personally I don't care about Snapshot stuff and so on, as long as it runs on the native CPC / Plus machines.  :)  But maybe it can help some guys during development of their stuff.
http://futureos.de --> Get the revolutionary FutureOS (Recent update: 2019.08.07)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2019.08.14)

Offline roudoudou

  • 6128 Plus
  • ******
  • Posts: 693
  • Country: fr
    • urban exploration
  • Liked: 968
  • Likes Given: 610
Re: Rasm Z80 assembler v0.61 [update 2017.10.10]
« Reply #42 on: 17:16, 30 November 17 »
As suggested to me by a few people:


- incbin will handle negative size (to include size-value binary file)
- nocode behaviour will change
- snapshot will include SYMB chunk (supported by ACE emulator) on demand


SYMB chunk in snapshot:
1 byte : symbol name size

n byte(s) : symbol name (without 0 terminator as we know the size)
6 bytes : reserved
2 bytes : with a shitty big endian adress for the symbol

this struct repeated until the chunk size is reached
use RASM, the best assembler ever made :p

I will survive

Offline CloudStrife

  • CPC464
  • **
  • Posts: 31
  • Country: fr
    • Shinra Team Website
  • Liked: 16
  • Likes Given: 1
Re: Rasm Z80 assembler v0.61 [update 2017.10.10]
« Reply #43 on: 02:29, 02 December 17 »
2 bytes : with a shitty big endianusing the only logical endianness adress for the symbol

:)

Offline pelrun

  • Supporter
  • 6128 Plus
  • *
  • Posts: 580
  • Country: au
    • index.php?action=treasury
  • Liked: 296
  • Likes Given: 167
Re: Rasm Z80 assembler v0.61 [update 2017.10.10]
« Reply #44 on: 09:29, 02 December 17 »
Everything looks awesome, except... instead of '&','$' or '0x', it only supports '#' for hex values!? What?  :picard2:


Offline roudoudou

  • 6128 Plus
  • ******
  • Posts: 693
  • Country: fr
    • urban exploration
  • Liked: 968
  • Likes Given: 610
Re: Rasm Z80 assembler v0.61 [update 2017.10.10]
« Reply #45 on: 11:35, 02 December 17 »
Everything looks awesome, except... instead of '&','$' or '0x', it only supports '#' for hex values!? What?  :picard2:


$ is used since 30 years by (almost?) all Z80 assemblers for current assembling adress.


What assembler do you use?  :o


I may support 0x for hexa but if you want C style hex value you may admit the & stand for AND a nothing else. Be coherent  ;D
use RASM, the best assembler ever made :p

I will survive

Offline pelrun

  • Supporter
  • 6128 Plus
  • *
  • Posts: 580
  • Country: au
    • index.php?action=treasury
  • Liked: 296
  • Likes Given: 167
Re: Rasm Z80 assembler v0.61 [update 2017.10.10]
« Reply #46 on: 14:17, 02 December 17 »
Yes, $ *by itself* is the current address. And & *by itself* is 'AND'. As prefixes for numbers they are distinct, and can be readily parsed as such.


But I see you've rolled your own lexer and parser, so I suppose you can be given a little slack for not being able to support everything. But it's still a sour note for me.

Offline roudoudou

  • 6128 Plus
  • ******
  • Posts: 693
  • Country: fr
    • urban exploration
  • Liked: 968
  • Likes Given: 610
Re: Rasm Z80 assembler v0.61 [update 2017.10.10]
« Reply #47 on: 15:00, 02 December 17 »
Yes, $ *by itself* is the current address. And & *by itself* is 'AND'. As prefixes for numbers they are distinct, and can be readily parsed as such.


But I see you've rolled your own lexer and parser, so I suppose you can be given a little slack for not being able to support everything. But it's still a sour note for me.


'0x' prefix for hex value will be available in the next release, so the syntax will be completely consistent. that was not a big deal to add this but i wont add '&' prefix for the same reason.





use RASM, the best assembler ever made :p

I will survive

Offline pelrun

  • Supporter
  • 6128 Plus
  • *
  • Posts: 580
  • Country: au
    • index.php?action=treasury
  • Liked: 296
  • Likes Given: 167
Re: Rasm Z80 assembler v0.61 [update 2017.10.10]
« Reply #48 on: 15:44, 02 December 17 »
I don't actually care about '0x', I just included it for completeness. I don't like # at all, it's weird and rasm specific, but then it's not my assembler or my choice to make.

Offline roudoudou

  • 6128 Plus
  • ******
  • Posts: 693
  • Country: fr
    • urban exploration
  • Liked: 968
  • Likes Given: 610
Re: Rasm Z80 assembler v0.61 [update 2017.10.10]
« Reply #49 on: 16:26, 02 December 17 »

That's absolutely not specific to Rasm

# is prefix for hexa in MAXAM and DAMS syntax since 1985  ;D

Those who do not integrate this syntax are curious

Both MAXAM and DAMS are Amstrad CPC assemblers

Rasm was designed as a cool transition from old assemblers. That's why there is also a maxam compatibility flags for very old sources with wrong operator priority everywhere

use RASM, the best assembler ever made :p

I will survive