Author Topic: Rasm Z80 assembler v0.100 [update 2018.09.03]  (Read 14650 times)

0 Members and 1 Guest are viewing this topic.

Offline roudoudou

  • 6128 Plus
  • ******
  • Posts: 512
  • Country: fr
    • urban exploration
  • Liked: 678
Re: Rasm Z80 assembler v0.86 [update 2018.04.27]
« Reply #125 on: 14:16, 19 June 18 »
The purpose of proximity labels is to offer an entry point everywhere, without having unicity of labels


You can use a label .loop almost everywhere when you need it (but not directly after another .loop label) :)


BUT, if you need to jump to a proximity label out of the scope, just add the global reference -> routine1.loop, routine2.loop, ...


Anyway, that feature is a feature, there is no obligation to use it.



use RASM, the best assembler ever made :p

I will survive

Offline Targhan

  • Supporter
  • 6128 Plus
  • *
  • Posts: 720
  • Country: fr
  • Liked: 647
Re: Rasm Z80 assembler v0.86 [update 2018.04.27]
« Reply #126 on: 15:48, 19 June 18 »
Hmm, I'm note sure I understand, but is the following correct:
MySubCode:
 ld a,5
.loop
 dec a
 jr nz, .loop    --> it will jump one line above.
 ret


MySubCode2:
 ld b,10
.loop
 djnz .loop     --> it will jump one line above, NOT to the MySubCode.loop
 ret


Right?

Offline krusty_benediction

  • CPC664
  • ***
  • Posts: 110
  • Country: fr
  • Liked: 89
Re: Rasm Z80 assembler v0.86 [update 2018.04.27]
« Reply #127 on: 21:26, 19 June 18 »
yes. This is what I'm doing since years with vasm and asjamsplus
I use normal label as function (i.e. similar to a function in C language) name and local labels as branches inside the function (.i.e. similar to a label in C language)

Hmm, I'm note sure I understand, but is the following correct:
MySubCode:
 ld a,5
.loop
 dec a
 jr nz, .loop    --> it will jump one line above.
 ret


MySubCode2:
 ld b,10
.loop
 djnz .loop     --> it will jump one line above, NOT to the MySubCode.loop
 ret


Right?

Offline Targhan

  • Supporter
  • 6128 Plus
  • *
  • Posts: 720
  • Country: fr
  • Liked: 647
Re: Rasm Z80 assembler v0.86 [update 2018.04.27]
« Reply #128 on: 22:46, 19 June 18 »
Not a bad idea indeed!

Offline roudoudou

  • 6128 Plus
  • ******
  • Posts: 512
  • Country: fr
    • urban exploration
  • Liked: 678
Re: Rasm Z80 assembler v0.87 [update 2018.06.24]
« Reply #129 on: 10:37, 24 June 18 »
huge update, documentation is not finished yet (and the english version is still 10 versions late...)
update v0.87
- new proximity labels
- rasm is able to use variables inside label names
- INCBIN directive enhanced for WAV import as a CPC sample or DMA list
- REPEAT directive may export internal counter to a variable
- new directive IFUSED & IFNUSED
- new math operator ! for NOT
- new math function PSGVALUE
- rasm return 1 to shell when there is error(s)
- new options to export dependencies (makefile style)
- new option to define variable(s) from command line
- new option for extended error messages
- bugfix cases during preprocessing
- bugfix tags PAGE & PAGESET
- new autotests embedded in Rasm in order to reduce regressions

use RASM, the best assembler ever made :p

I will survive

Offline GUNHED

  • 6128 Plus
  • ******
  • Posts: 545
  • Country: de
  • Reincarnation of TFM
  • Liked: 245
Re: Rasm Z80 assembler v0.87 [update 2018.06.24]
« Reply #130 on: 21:42, 24 June 18 »
(and the english version is still 10 versions late...)


Please catch up, before you forget everything  ;)   :) :) :)
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: 512
  • Country: fr
    • urban exploration
  • Liked: 678
Re: Rasm Z80 assembler v0.89 [update 2018.06.26]
« Reply #131 on: 14:20, 26 June 18 »
update v0.89, many bugfixes due to recent evolutions
- bugfix dependencies export
- bugfix in preprocessor
- simplify path of dependencies when possible
- enhanced ASSERT may PRINT additional parameters
use RASM, the best assembler ever made :p

I will survive

Offline roudoudou

  • 6128 Plus
  • ******
  • Posts: 512
  • Country: fr
    • urban exploration
  • Liked: 678
Re: Rasm Z80 assembler v0.90 [update 2018.06.27]
« Reply #132 on: 23:21, 27 June 18 »
update v0.90
- PROTECT directive does not increase automatic binary size anymore
- bugfix memory leak with proximity labels
- proximity label properties also for alias EQU
- label declaration may use formula (with tags), but only declaration for the moment

still working on doc. French doc partially updated and onlineEnglish online documentation done at 75%
use RASM, the best assembler ever made :p

I will survive

Offline roudoudou

  • 6128 Plus
  • ******
  • Posts: 512
  • Country: fr
    • urban exploration
  • Liked: 678
Re: Rasm Z80 assembler v0.90 [update 2018.06.27]
« Reply #133 on: 10:46, 28 June 18 »
« Last Edit: 11:51, 28 June 18 by roudoudou »
use RASM, the best assembler ever made :p

I will survive

Offline GUNHED

  • 6128 Plus
  • ******
  • Posts: 545
  • Country: de
  • Reincarnation of TFM
  • Liked: 245
Re: Rasm Z80 assembler v0.90 [update 2018.06.27]
« Reply #134 on: 11:27, 28 June 18 »
Actually for EN this link works:
http://www.roudoudou.com/rasm/rasm_en.html
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: 512
  • Country: fr
    • urban exploration
  • Liked: 678
Re: Rasm Z80 assembler v0.90 [update 2018.06.27]
« Reply #135 on: 11:51, 28 June 18 »
Actually for EN this link works:
http://www.roudoudou.com/rasm/rasm_en.html
Thanks! Again this shitty editor  :'( I fixed my postS

 
use RASM, the best assembler ever made :p

I will survive

Offline HAL 6128

  • 464 Plus
  • *****
  • Posts: 430
  • Country: de
    • index.php?action=treasury
  • Liked: 196
Re: Rasm Z80 assembler v0.90 [update 2018.06.27]
« Reply #136 on: 20:36, 07 July 18 »

@roudoudou :
RASM says during assembling that after e.g.
Code: [Select]
LD BC,#FF63 and an
Code: [Select]
OUT (C),A it is truncating the value #FF63 to #63. Does it really truncate it?
...proudly supported Pentomino and NQ-Music-Disc with GFX

Offline roudoudou

  • 6128 Plus
  • ******
  • Posts: 512
  • Country: fr
    • urban exploration
  • Liked: 678
Re: Rasm Z80 assembler v0.90 [update 2018.06.27]
« Reply #137 on: 20:39, 07 July 18 »
@roudoudou :
RASM says during assembling that after e.g.
Code: [Select]
LD BC,#FF63 and an
Code: [Select]
OUT (C),A it is truncating the value #FF63 to #63. Does it really truncate it?
Quote
sorry i cannot reproduce what you say with ld bc,#FF63 and out (c),a
Quote
must be another line
Quote
have you some DB/DEFB around?

use RASM, the best assembler ever made :p

I will survive

Offline HAL 6128

  • 464 Plus
  • *****
  • Posts: 430
  • Country: de
    • index.php?action=treasury
  • Liked: 196
Re: Rasm Z80 assembler v0.90 [update 2018.06.27]
« Reply #138 on: 21:34, 07 July 18 »

Hmm, sorry. I found the error I made.
I've defined a variable:
Code: [Select]
VALUE EQU #FF63

LD A,0
LD BC,#FF63
OUT (VALUE),A
I had forgot to rewrite the out command.
...proudly supported Pentomino and NQ-Music-Disc with GFX

Offline roudoudou

  • 6128 Plus
  • ******
  • Posts: 512
  • Country: fr
    • urban exploration
  • Liked: 678
Re: Rasm Z80 assembler v0.91 [update 2018.07.10]
« Reply #139 on: 21:08, 10 July 18 »
update v0.91
- bugfix school case with crunched block
- bugfix proximity labels when using loops or macros
- bugfix imbricated IFUSED/IFNUSED
- new directive FAIL will print a message before exiting with an error flag
- label usage may use formula
- escaped codes support in strings (disregarding the current charset)
- PRINT directive may compute formula in strings when using curly brackets
- RUN directive may set the gate array configuration for snapshots
- generated label with negative index will trigger an error
- overriding an alias with a variable will trigger an error
- overriding a variable with an alias will trigger an error
- missing ENDIF at the end of the source will trigger an error
use RASM, the best assembler ever made :p

I will survive

Offline Ast

  • 6128 Plus
  • ******
  • Posts: 904
  • Country: fr
    • Amstrad cpc Website of Ast/iMPACT
  • Liked: 626
Re: Rasm Z80 assembler v0.91 [update 2018.07.10]
« Reply #140 on: 22:00, 10 July 18 »
Rasm forever ! May the french soccer team win tonight !
_____________________

Ast/iMP4CT. "By the power of Grayskull, i've the power"


Amstrad Plus French Forum

All friends are welcomed !

Offline roudoudou

  • 6128 Plus
  • ******
  • Posts: 512
  • Country: fr
    • urban exploration
  • Liked: 678
Re: Rasm Z80 assembler v0.92 [update 2018.07.10]
« Reply #141 on: 22:53, 10 July 18 »
Did not see the match, i was busy fixing PAGE tag -> v0.92 update  ;D
use RASM, the best assembler ever made :p

I will survive

Offline GUNHED

  • 6128 Plus
  • ******
  • Posts: 545
  • Country: de
  • Reincarnation of TFM
  • Liked: 245
Re: Rasm Z80 assembler v0.92 [update 2018.07.10]
« Reply #142 on: 00:23, 11 July 18 »
Hi!

In RASM there is this code example:

ld (iy+1),PDATE
ld (iy+2),PDATE>>8

PDATE equ 1234

How would this be written in Maxam (I need this for quick testing)
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: 512
  • Country: fr
    • urban exploration
  • Liked: 678
Re: Rasm Z80 assembler v0.92 [update 2018.07.10]
« Reply #143 on: 00:31, 11 July 18 »
replace >>8 by /256

Note: In rasm mode /256 will round upper, in maxam mode this will truncate and may lead to another result
use RASM, the best assembler ever made :p

I will survive

Offline GUNHED

  • 6128 Plus
  • ******
  • Posts: 545
  • Country: de
  • Reincarnation of TFM
  • Liked: 245
Re: Rasm Z80 assembler v0.92 [update 2018.07.10]
« Reply #144 on: 02:27, 11 July 18 »
Thanks, I thought about /256. Maxam does it like RASM. But...

ld (iy),variable_of_16_bit

What does it do in RASM? Does it only write the lower 8 bits? Maxam produces an error.

Sorry for bugging, but in the example before, it would write the hi-byte first, and then the low-byte. Shouldn't it the other way around?

RASM is really full of new features, lot's of stuff to learn ;-)
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: 512
  • Country: fr
    • urban exploration
  • Liked: 678
Re: Rasm Z80 assembler v0.92 [update 2018.07.10]
« Reply #145 on: 08:30, 11 July 18 »
Thanks, I thought about /256. Maxam does it like RASM. But...

ld (iy),variable_of_16_bit

What does it do in RASM? Does it only write the lower 8 bits? Maxam produces an error.

Sorry for bugging, but in the example before, it would write the hi-byte first, and then the low-byte. Shouldn't it the other way around?

RASM is really full of new features, lot's of stuff to learn ;-)
with rasm you can do
Code: [Select]
ld (iy+0),lo(variable_of_16_bit)
ld (iy+1),hi(variable_of_16_bit)
or
Code: [Select]
ld (iy+0),variable_of_16_bit&#FF
ld (iy+1),variable_of_16_bit>>8
there is no other shortcut but you can also do a macro :)
Code: [Select]
macro LDIY16 valuetoput
ld (iy+0),lo({valuetoput})
ld (iy+1),hi({valuetoput})
endm
use RASM, the best assembler ever made :p

I will survive

Offline GUNHED

  • 6128 Plus
  • ******
  • Posts: 545
  • Country: de
  • Reincarnation of TFM
  • Liked: 245
Re: Rasm Z80 assembler v0.92 [update 2018.07.10]
« Reply #146 on: 14:47, 11 July 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: 512
  • Country: fr
    • urban exploration
  • Liked: 678
Re: Rasm Z80 assembler v0.93 [update 2018.07.14]
« Reply #147 on: 17:01, 14 July 18 »
update v0.93
- bugfix RUN gate array configuration
- overriding an alias with a label will trigger an error
- PRINT directive may use escaped chars in strings
- tags BANK,PAGE,PAGESET may be used with current adress $

A bug may still occur with proximity labels mixing macro, generated names (but i cannot reproduce it)
use RASM, the best assembler ever made :p

I will survive

Offline roudoudou

  • 6128 Plus
  • ******
  • Posts: 512
  • Country: fr
    • urban exploration
  • Liked: 678
Re: Rasm Z80 assembler v0.94 [update 2018.07.20]
« Reply #148 on: 21:47, 20 July 18 »
update v0.94
- bugfix using macro parameter inside print quote
- bugfix multiple memory leak with tag replacement
- bugfix command line side effect with wrong option
- better hack in expression calculator for expression beginning with negative value
- better equality processing in expression calculator
exewin32 does not have all the fix, will be available monday since i need a 32 bits compiler i do not have at home
use RASM, the best assembler ever made :p

I will survive

Offline roudoudou

  • 6128 Plus
  • ******
  • Posts: 512
  • Country: fr
    • urban exploration
  • Liked: 678
Re: Rasm Z80 assembler v0.95 [update 2018.07.22]
« Reply #149 on: 18:16, 22 July 18 »
update v0.95
- allow spaces in tags inside strings with PRINT directive
- display warning if you try to export symbols or breakpoints with snapshot version 2
- proximity label beginning with BRK will generate an exportable breakpoint
- new enhanced LD instructions documented here http://www.roudoudou.com/rasm/rasm_en.html#Instructions
use RASM, the best assembler ever made :p

I will survive