anrikun
Repos
5
Followers
1

Events

issue comment
Any new release soon?

What's even strange is that it triggers this false positive only on 1 of my two computers, both (old) Win7s. Too bad the computer that wipes out RASM.exe is precisely the one I use to write and compile my code! :laughing:

Created at 6 days ago
issue comment
Any new release soon?

Windows Defender (Win7) detects this trojan when I download the new RASM.exe: https://www.microsoft.com/en-us/wdsi/threats/malware-encyclopedia-description?name=Trojan%3aWin32%2fWacatac.B!ml&threatid=2147735505&enterprise=0

Created at 6 days ago
issue comment
Any new release soon?

:clap:

Created at 1 week ago
opened issue
Any new release soon?

Hello Edouard, Are you planning on making a new release soon? I can't get the files necessary to compile RASM without installing Visual Studio entirely and I'm low on disk space.

Created at 1 week ago
issue comment
Recommended way to give a proximity label to a placeholder

Actually there are downsides to all solutions so far: Placeholder does not get a real label so it doesn't show up as a symbol when debugging with Winape. I end up with ld (#08AD),a instead of ld (.myval),a

I've found another workaround:

org $+1 : .myval : org $-1
ld a,0

Not very easy to read but it works...

Created at 2 weeks ago
closed issue
Recommended way to give a proximity label to a placeholder

Currently this is how I give a label to a placeholder (self-modifying code):

subroutine1
  ;
  ; Some code
  ;
myval = $+1 : ld a,0
  ;
  ; Some code
  ;
  ld hl,myval 
  inc (hl)
  ;
  ; Some code
  ;
  ret 

The problem is that myval here is not a proximity label but a global variable. I would like to give a proximity label to my placeholder.

Obviously I could do something like:

.myval ld a,0
;
ld hl,.myval+1

or

defb 0x3E ; Opcode for LD A,n
.myval defb 0
;
ld hl,.myval

But none of these solutions satisfies me.

Maybe there's a way to do what I want but I couldn't figure it out. Any idea?

Created at 3 weeks ago
issue comment
Recommended way to give a proximity label to a placeholder

Wow, great solution! Thank you for your help as always, Edouard.

Created at 3 weeks ago
opened issue
Recommended way to give a proximity label to a placeholder

Currently this is how I give a label to a placeholder (self-modifying code):

subroutine1
  ;
  ; Some code
  ;
myval = $+1 : ld a,0
  ;
  ; Some code
  ;
  ld hl,myval 
  inc (hl)
  ;
  ; Some code
  ;
  ret 

The problem is that myval is not a label but a global variable here. I would like to give a proximity label to my placeholder.

Obviously I could do something like:

.myval ld a,0
;
ld hl,.myval+1

or

defb 0x3E ; Opcode for LD A,n
.myval defb 0
;
ld hl,.myval

But none of these solutions satisfies me.

Maybe there's a way to do what I want but I couldn't figure it out. Any idea?

Created at 3 weeks ago
Add support for region folding

This can be achieved by adding this to language.configuration.json:

  "folding": {
    "markers": {
      "start": "^\\s*;\\s*#?region\\b",
      "end": "^\\s*;\\s*#?endregion\\b"
    }
  }
Created at 3 weeks ago
issue comment
How to check whether the value passed to a macro is a register?

Take your time, Edouard and good luck.

Created at 3 weeks ago
issue comment
Not adding a final new line at the end of an included file may prevent compilation

Sorry for the late answer. For some reason I wasn't notified of your update. macro1.txt macro2.txt main2.txt Try these 3 files (change .txt to .asm) and compile main2.asm

Created at 3 weeks ago
Format on-type incorrectly trims expressions.

Type: ld a,0xC0+2 Then type Space. Result: +2 gets deleted. ld a,0xC0

Created at 3 weeks ago
issue comment
How to check whether the value passed to a macro is a register?

Great! Thanks a lot! :smile:

Created at 1 month ago
issue comment
How to check whether the value passed to a macro is a register?

Can I add such a function myself or does it have to be built in RASM itself?

Created at 1 month ago
issue comment
Not adding a final new line at the end of an included file may prevent compilation

I'm using Windows.

Created at 1 month ago
issue comment
How to check whether the value passed to a macro is a register?

Precisely I wanted to avoid an extra LD A,{value} when not needed.

Basically I wanted to do: If {value} is a byte, writeLD A,{value} : OUT (C),A But if {value} is a register, write OUT (C),{value} directly

I guess I'll write two separate macros then.

Created at 1 month ago
opened issue
Not adding a final new line at the end of an included file may prevent compilation

In my main file main.asm, I include a file: include "macros.asm"

The macros.asm file itself includes other files:

include "macros/video.asm"
include "macros/sound.asm"

If I don't add a new line at the end of the macros.asm file, compilation fails:

Pre-processing [./src/main.asm]
Error: [.\src\macros.asm:2] invalid char ';' (59) char 1
Created at 1 month ago
opened issue
How to check wether the value passed to a macro is a register?

I'm trying to write a macro that would work no matter passed value is a byte or a register. I've tried this:

macro my_macro value
  switch {value}
    case 'a'
    case 'd'
    case 'e'
    case 'h'
    case 'l'
      ; Do something with the register.
      break
    default
      ; Do something with the byte.
  endswitch
endm

But when I do my_macro a, I get "cannot use register A in this context". Is what I'm trying to achieve supported? Is there a way to check whether a passed value is a register?

Created at 1 month ago
issue comment
White rectangles in VSCode

Same here.

Created at 1 month ago