Author Topic: Rasm Z80 assembler v0.103 [update 2018.10.17]  (Read 16254 times)

0 Members and 1 Guest are viewing this topic.

Offline roudoudou

  • 6128 Plus
  • ******
  • Posts: 541
  • Country: fr
    • urban exploration
  • Liked: 715
Re: Rasm Z80 assembler v0.71 [update 2018.02.23]
« Reply #75 on: 10:39, 23 February 18 »
update v071
- math functions HI & LO to get high 8 bits or low 8 bits of a pseudo 16 bits value
- @ prefix for octal values
- AS80 assembler compatibility mode* (enough to compile CNG player with the same wrong calculations  :P )








short doc
 
Quote
-ass   AS80 behaviour mimic
  • all calculations are done with 32 bits integer values and wrong rounding
  • macro parameters are not protected with {} anymore
  • multiple declarations with DEFB,DEFW,DEFI got reference adress of the first outputed byte. That's why with AS80, using multiple DEFB produces a different result than using DEFB with multiple values
  • MACRO declaration directive must be used after the macro name
« Last Edit: 11:34, 23 February 18 by roudoudou »
use RASM, the best assembler ever made :p

I will survive

Offline GUNHED

  • 6128 Plus
  • ******
  • Posts: 711
  • Country: de
  • Reincarnation of TFM
  • Liked: 336
Re: Rasm Z80 assembler v0.71 [update 2018.02.23]
« Reply #76 on: 16:35, 23 February 18 »
Cool! Thanks!

http://futureos.de --> Get the revolutionary FutureOS (Recent update: 2018.08.23)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Ver.: 2018.08.15)

Offline roudoudou

  • 6128 Plus
  • ******
  • Posts: 541
  • Country: fr
    • urban exploration
  • Liked: 715
Re: Rasm Z80 assembler v0.72 [update 2018.02.26]
« Reply #77 on: 22:04, 26 February 18 »
update v0.72
- ability to generate snapshot v2 (useful with M4Wifi)

short doc

Code: [Select]
BUILDSNA V2
use RASM, the best assembler ever made :p

I will survive

Offline Bill

  • Supporter
  • Speccy
  • *
  • Posts: 2
  • Country: us
    • index.php?action=treasury
    • Fergusonplus
  • Liked: 0
Re: Rasm Z80 assembler v0.72 [update 2018.02.26]
« Reply #78 on: 05:14, 27 February 18 »
Hi,

Now I feel dumb, I can not get the program to run. I just see the command prompt window to open in a fraction of a second, not able to read what it says, and that's it.


Bill

Offline roudoudou

  • 6128 Plus
  • ******
  • Posts: 541
  • Country: fr
    • urban exploration
  • Liked: 715
Re: Rasm Z80 assembler v0.72 [update 2018.02.26]
« Reply #79 on: 09:01, 27 February 18 »
Hi,

Now I feel dumb, I can not get the program to run. I just see the command prompt window to open in a fraction of a second, not able to read what it says, and that's it.


Bill
It is a command line tool.
Open a terminal and run
use RASM, the best assembler ever made :p

I will survive

Offline roudoudou

  • 6128 Plus
  • ******
  • Posts: 541
  • Country: fr
    • urban exploration
  • Liked: 715
Re: Rasm Z80 assembler v0.73 [update 2018.02.28]
« Reply #80 on: 14:01, 28 February 18 »
update v0.73
- bugfix in snapshot when using distinct banks instead of gathering them with bankset directive
use RASM, the best assembler ever made :p

I will survive

Offline roudoudou

  • 6128 Plus
  • ******
  • Posts: 541
  • Country: fr
    • urban exploration
  • Liked: 715
Re: Rasm Z80 assembler v0.74 [update 2018.03.18]
« Reply #81 on: 10:27, 18 March 18 »
quick update v0.74
- usage of snapshot directives forces snapshot output
- try to load .asm or .Z80 file if filename given is not found and has no extension
- BREAKPOINT directive may have an additional parameter to set break adress anywhere
- declaring two MACRO with the same name will trigger an error
- bugfix regression of -m option handling
- each REPEAT or WHILE loop export a REPEAT_COUNTER or WHILE_COUNTER variable, locally
use RASM, the best assembler ever made :p

I will survive

Offline roudoudou

  • 6128 Plus
  • ******
  • Posts: 541
  • Country: fr
    • urban exploration
  • Liked: 715
Re: Rasm Z80 assembler v0.75 [update 2018.03.29]
« Reply #82 on: 10:10, 29 March 18 »
update v0.75
- newer and faster expression calculator without limitations of comparisons
- % may be used as modulo (still used for binary values)
- Intel hexa & binary style support
- Binary prefix 0b fixed
- does not export IX and IY anymore in symbol files
- better error messages when calculating expressions
- boolean operators && and ||
- PUSH & POP may have more than one register in parameters
- NOP may be multiplied specifying a number of repetition in parameter
- alias <> for != comparison operator
- filenames are forced to upper case when saved to EDSK
- Infinite loop detection won't go to infinite loop anymore ^_^

As the solver is very different from the previous version, i keep the 0.74 version available, in case of regression

Now i have to work on the documentation, again  ;D
use RASM, the best assembler ever made :p

I will survive

Offline GUNHED

  • 6128 Plus
  • ******
  • Posts: 711
  • Country: de
  • Reincarnation of TFM
  • Liked: 336
Re: Rasm Z80 assembler v0.75 [update 2018.03.29]
« Reply #83 on: 14:27, 29 March 18 »
Another big update! Thank you!


It's great to have a French manual (mother tongue is always the best). But please also update the English manual if needed (still shows 0.72, not 0.75, but maybe it need no update - I have to find out :-))


Keep the great work going!!!  :) :) :)
http://futureos.de --> Get the revolutionary FutureOS (Recent update: 2018.08.23)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Ver.: 2018.08.15)

Offline roudoudou

  • 6128 Plus
  • ******
  • Posts: 541
  • Country: fr
    • urban exploration
  • Liked: 715
Re: Rasm Z80 assembler v0.75 [update 2018.03.29]
« Reply #84 on: 14:39, 29 March 18 »
I have to work on english version too before updating here ;)
use RASM, the best assembler ever made :p

I will survive

Offline GUNHED

  • 6128 Plus
  • ******
  • Posts: 711
  • Country: de
  • Reincarnation of TFM
  • Liked: 336
Re: Rasm Z80 assembler v0.75 [update 2018.03.29]
« Reply #85 on: 17:13, 29 March 18 »
Yeah, I know, and making docs and manuals is just no fun.  :P  But if you come to an end (or close to an end) I would like to make a translation to German language for you.  :)  Just let me know when "final" stage is in sight  :)
http://futureos.de --> Get the revolutionary FutureOS (Recent update: 2018.08.23)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Ver.: 2018.08.15)

Offline roudoudou

  • 6128 Plus
  • ******
  • Posts: 541
  • Country: fr
    • urban exploration
  • Liked: 715
Re: Rasm Z80 assembler v0.76 [update 2018.03.29]
« Reply #86 on: 22:22, 29 March 18 »
update v0.76
- fix solver when using % prefixed binary values close to comparison operator or parenthesis

Both FR & EN doc updated  8)
use RASM, the best assembler ever made :p

I will survive

Offline roudoudou

  • 6128 Plus
  • ******
  • Posts: 541
  • Country: fr
    • urban exploration
  • Liked: 715
Re: Rasm Z80 assembler v0.77 [update 2018.03.30]
« Reply #87 on: 22:59, 30 March 18 »
quick update for maxam compatibility mode users
update v0.77

- even faster expression calculation
- maxam & AS80 comparison operators are back
use RASM, the best assembler ever made :p

I will survive

Offline roudoudou

  • 6128 Plus
  • ******
  • Posts: 541
  • Country: fr
    • urban exploration
  • Liked: 715
Re: Rasm Z80 assembler v0.78 [update 2018.04.04]
« Reply #88 on: 14:08, 04 April 18 »
ultra-light but requested update v0.78
- DEFS can handle multiple repetition schemas
- alias DM & DEFM for DEFB

use RASM, the best assembler ever made :p

I will survive

Offline roudoudou

  • 6128 Plus
  • ******
  • Posts: 541
  • Country: fr
    • urban exploration
  • Liked: 715
Re: Rasm Z80 assembler v0.79 [update 2018.04.04]
« Reply #89 on: 00:09, 05 April 18 »
update v0.79
- != operator is back with new solver  :doh:
use RASM, the best assembler ever made :p

I will survive

Offline roudoudou

  • 6128 Plus
  • ******
  • Posts: 541
  • Country: fr
    • urban exploration
  • Liked: 715
Re: Rasm Z80 assembler v0.80 [update 2018.04.05]
« Reply #90 on: 10:28, 05 April 18 »
update v0.80

- bugfix operator > and >=
- bugfix Maxam priorities

use RASM, the best assembler ever made :p

I will survive

Offline roudoudou

  • 6128 Plus
  • ******
  • Posts: 541
  • Country: fr
    • urban exploration
  • Liked: 715
Re: Rasm Z80 assembler v0.80 [update 2018.04.05]
« Reply #91 on: 14:53, 05 April 18 »

update v0.81
- added special maxam priorities for parenthesis and boolean operators




The priority management in maxam compatibility mode is less trivial than it seems to be  >:(
use RASM, the best assembler ever made :p

I will survive

Offline Golem13

  • CPC464
  • **
  • Posts: 25
  • Country: fr
  • Liked: 66
Re: Rasm Z80 assembler v0.80 [update 2018.04.05]
« Reply #92 on: 21:56, 05 April 18 »
Fixes are validated coz 0.81 is working fine for me. 8)
Thanks Roudoudou  :-*

Offline GUNHED

  • 6128 Plus
  • ******
  • Posts: 711
  • Country: de
  • Reincarnation of TFM
  • Liked: 336
Re: Rasm Z80 assembler v0.81 [update 2018.04.05]
« Reply #93 on: 15:32, 06 April 18 »
Yes, 81 seems to be a good number. Everything stable and well here too.  :)
http://futureos.de --> Get the revolutionary FutureOS (Recent update: 2018.08.23)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Ver.: 2018.08.15)

Offline roudoudou

  • 6128 Plus
  • ******
  • Posts: 541
  • Country: fr
    • urban exploration
  • Liked: 715
Re: Rasm Z80 assembler v0.81 [update 2018.04.05]
« Reply #94 on: 17:48, 06 April 18 »
Yes, 81 seems to be a good number. Everything stable and well here too.  :)
I have another version pending  ;D
With 'while 0 bugfix' but nothing really important
use RASM, the best assembler ever made :p

I will survive

Offline roudoudou

  • 6128 Plus
  • ******
  • Posts: 541
  • Country: fr
    • urban exploration
  • Liked: 715
Re: Rasm Z80 assembler v0.82 [update 2018.04.09]
« Reply #95 on: 15:38, 09 April 18 »
Due to my system upgrade (a 6 years old ubuntu LTS to the new Lubuntu beta LTS) i remove many compilation warnings. CLang compilation takes ages but the performance of the executable is noticable (30% faster)

- I added also SL1 alias for SLL
- better infinite loop detection (i mean, safer)
- bugfix while 0 loop (check and disable block)
- repeat until internal counter harmonisation (now they are all starting from value 1)
use RASM, the best assembler ever made :p

I will survive

Offline roudoudou

  • 6128 Plus
  • ******
  • Posts: 541
  • Country: fr
    • urban exploration
  • Liked: 715
Re: Rasm Z80 assembler v0.83 [update 2018.04.11]
« Reply #96 on: 21:28, 11 April 18 »
update v0.83
- NOCODE output must increment current adress in all cases
- new directives DR & DEFR to define REAL values (Amstrad firmware compatible)

Example:
Code: [Select]
org #8000
call #BBBA ; GRA initialize

ld a,1
call #BC0E ; mode 1
ld a,1
call #BD97 ; deg

ld de,320
ld hl,200
call #BBC9 ; origin 320,200

ld de,180
ld hl,0
call #BBC0 ; move 180,0



ld b,0

circle_trace
    push bc
    ld hl,angle
    ld de,incre
    call #BD7C ; angle=angle+incre

    ld de,angle
    ld hl,tmp
    call #BD61 ; tmp=angle
    call #BDAF ; tmp=cosinus(tmp)
    ld de,rayon
    call #BD85 ; tmp=tmp*rayon
    call #BD6A ; HL=int(tmp)
    call m,fixsign
    push hl

    ld de,angle
    ld hl,tmp
    call #BD61 ; tmp=angle
    call #BDAC ; tmp=sinus(tmp)
    ld de,rayon
    call #BD85 ; tmp=tmp*rayon
    call #BD6A ; HL=int(tmp)
    call m,fixsign
    pop de

    call #BBF6 ; LINE DE,HL

    pop bc
    djnz circle_trace
ret

fixsign
    ld de,0
    ex hl,de
    or a
    sbc hl,de
    ret
   

rayon   defr     180
angle   defr       0
incre   defr 360/256
tmp        defr       0

use RASM, the best assembler ever made :p

I will survive

Offline Targhan

  • Supporter
  • 6128 Plus
  • *
  • Posts: 780
  • Country: fr
  • Liked: 707
Re: Rasm Z80 assembler v0.83 [update 2018.04.11]
« Reply #97 on: 10:48, 12 April 18 »
I just learned (at the Revision, from Offset) that Basic has an integer division, with the symbol \ (or ç on French keyboard). I already reported you that the "accurate" division was a bit problematic in some cases. Do you think something similar could be implemented?

Offline roudoudou

  • 6128 Plus
  • ******
  • Posts: 541
  • Country: fr
    • urban exploration
  • Liked: 715
Re: Rasm Z80 assembler v0.83 [update 2018.04.11]
« Reply #98 on: 12:56, 12 April 18 »
I just learned (at the Revision, from Offset) that Basic has an integer division, with the symbol \ (or ç on French keyboard). I already reported you that the "accurate" division was a bit problematic in some cases. Do you think something similar could be implemented?
Using INT() must solve the case
use RASM, the best assembler ever made :p

I will survive

Offline roudoudou

  • 6128 Plus
  • ******
  • Posts: 541
  • Country: fr
    • urban exploration
  • Liked: 715
Re: Rasm Z80 assembler v0.83 [update 2018.04.11]
« Reply #99 on: 14:04, 12 April 18 »
You may be interrested also by the floor() function, the result is again different in another way


Example:



Code: [Select]

a=10
b=2
repeat 10
print a,"/",b," normal=",a/b," int()=",int(a/b)," floor()=",floor(a/b)
b=b+1
rend


Will produce


Code: [Select]
10.00 / 2.00  normal= 5.00  int()= 5.00  floor()= 5.00
10.00 / 3.00  normal= 3.33  int()= 3.00  floor()= 3.00
10.00 / 4.00  normal= 2.50  int()= 3.00  floor()= 2.00
10.00 / 5.00  normal= 2.00  int()= 2.00  floor()= 2.00
10.00 / 6.00  normal= 1.67  int()= 2.00  floor()= 1.00
10.00 / 7.00  normal= 1.43  int()= 1.00  floor()= 1.00
10.00 / 8.00  normal= 1.25  int()= 1.00  floor()= 1.00
10.00 / 9.00  normal= 1.11  int()= 1.00  floor()= 1.00
10.00 / 10.00  normal= 1.00  int()= 1.00  floor()= 1.00
10.00 / 11.00  normal= 0.91  int()= 1.00  floor()= 0.00

use RASM, the best assembler ever made :p

I will survive