- Top Stats

Top Posters Top Topic Starters Top Topics
AMSDOS 1290
arnoldemu 1128
TFM 1124
ervin 746
ronaldo 406
AMSDOS 56
arnoldemu 51
ervin 42
EgoTrip 35
Arnaud 33
FutureOS corner - 71829 Views TFM/FS 07:12, 01 October 10
Example Z80 as... - 67199 Views arnoldemu 10:59, 04 April 10
#CPCtelera 1.4... - 33769 Views ronaldo 13:59, 11 May 15
BASIC programm... - 31800 Views arnoldemu 16:23, 22 May 09
CHAMP Assemble... - 25438 Views Bruce Abbo... 12:59, 16 January 14


Author Topic: Rasm Z80 assembler v0.113 [update 2019.04.26]  (Read 23752 times)

0 Members and 1 Guest are viewing this topic.

Offline roudoudou

  • 6128 Plus
  • ******
  • Posts: 630
  • Country: fr
    • urban exploration
  • Liked: 871
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: 867
  • Country: fr
  • Liked: 820
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?
Targhan/Arkos

Arkos Tracker 2 - alpha 5 now released! - Follow the news on Twitter!
Disark A cross-platform Z80 disassembler/source converter

Imperial Mahjong
Orion Prime

Offline krusty_benediction

  • CPC664
  • ***
  • Posts: 134
  • Country: fr
  • Liked: 100
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: 867
  • Country: fr
  • Liked: 820
Re: Rasm Z80 assembler v0.86 [update 2018.04.27]
« Reply #128 on: 22:46, 19 June 18 »
Not a bad idea indeed!
Targhan/Arkos

Arkos Tracker 2 - alpha 5 now released! - Follow the news on Twitter!
Disark A cross-platform Z80 disassembler/source converter

Imperial Mahjong
Orion Prime

Offline roudoudou

  • 6128 Plus
  • ******
  • Posts: 630
  • Country: fr
    • urban exploration
  • Liked: 871
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: 1.149
  • Country: de
  • Reincarnation of TFM
    • FutureOS - The quickest OS for the CPC and Plus
  • Liked: 624
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: 2019.01.14)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Ver.: 2019.06.02)

Offline roudoudou

  • 6128 Plus
  • ******
  • Posts: 630
  • Country: fr
    • urban exploration
  • Liked: 871
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: 630
  • Country: fr
    • urban exploration
  • Liked: 871
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: 630
  • Country: fr
    • urban exploration
  • Liked: 871
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: 1.149
  • Country: de
  • Reincarnation of TFM
    • FutureOS - The quickest OS for the CPC and Plus
  • Liked: 624
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: 2019.01.14)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Ver.: 2019.06.02)

Offline roudoudou

  • 6128 Plus
  • ******
  • Posts: 630
  • Country: fr
    • urban exploration
  • Liked: 871
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: 479
  • Country: de
    • index.php?action=treasury
  • Liked: 234
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: 630
  • Country: fr
    • urban exploration
  • Liked: 871
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: 479
  • Country: de
    • index.php?action=treasury
  • Liked: 234
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: 630
  • Country: fr
    • urban exploration
  • Liked: 871
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: 954
  • Country: fr
    • Amstrad cpc Website of Ast/iMPACT
  • Liked: 691
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: 630
  • Country: fr
    • urban exploration
  • Liked: 871
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: 1.149
  • Country: de
  • Reincarnation of TFM
    • FutureOS - The quickest OS for the CPC and Plus
  • Liked: 624
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: 2019.01.14)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Ver.: 2019.06.02)

Offline roudoudou

  • 6128 Plus
  • ******
  • Posts: 630
  • Country: fr
    • urban exploration
  • Liked: 871
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: 1.149
  • Country: de
  • Reincarnation of TFM
    • FutureOS - The quickest OS for the CPC and Plus
  • Liked: 624
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: 2019.01.14)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Ver.: 2019.06.02)

Offline roudoudou

  • 6128 Plus
  • ******
  • Posts: 630
  • Country: fr
    • urban exploration
  • Liked: 871
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: 1.149
  • Country: de
  • Reincarnation of TFM
    • FutureOS - The quickest OS for the CPC and Plus
  • Liked: 624
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: 2019.01.14)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Ver.: 2019.06.02)

Offline roudoudou

  • 6128 Plus
  • ******
  • Posts: 630
  • Country: fr
    • urban exploration
  • Liked: 871
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: 630
  • Country: fr
    • urban exploration
  • Liked: 871
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: 630
  • Country: fr
    • urban exploration
  • Liked: 871
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