Conversation
|
Very nice! I am wondering about fasm-specific handling of labels (which is really great in my opnion).
So you can write code like this: func1:
;...
jmp .done
;...
.done:
;...
ret
func2:
;...
jmp .done
;...
.done:
;...
ret
The first .done will actually be evaluated as
macro movstr
{
local move
move:
lodsb
stosb
test al,al
jnz move
}So, in this case the |
That is pretty nice! I'm not sure how well we'll be able to integrate it with asm-lsp, however. The server currently does no semantic analysis; instead it relies on
Kind of a similar issue with point 1. asm-lsp is written to be fairly architecture/assembler agnostic which is nice because it can support a number of different targets, but not nice because of cases like this. I'll see what I can come up with though! :) Outside of these points, is there anything else I fix up? Otherwise, I'm planning on merging this to master this weekend. Happy to work on/fix any issues you run into afterwards too. |
Adds support for FASM.
cc @dsirov, if you'd still like to beta test this, I'd appreciate a second set of eyes :). I may have missed some directives from the manual.