flat assembler
Message board for the users of flat assembler.
Index
> Main > flat assembler 1.73.00 |
Author |
|
Tomasz Grysztar 24 Nov 2017, 23:08
This is the first release of a new development line, open for experiments.
This version adds the feature of storing VIRTUAL blocks as auxiliary output files, backported from fasmg. It works more or less the same as there: Code: virtual at 0 as 'tbl' times 256 db %-1 end virtual Note that this is pushing fasm 1 engine into new territories, be wary of possible bugs. |
|||
24 Nov 2017, 23:08 |
|
revolution 25 Nov 2017, 00:20
I am glad to see fasm getting some attention again.
|
|||
25 Nov 2017, 00:20 |
|
revolution 25 Nov 2017, 14:11
This would create a large output file.
Code: virtual at 0 as 'buffers' buffer1 rb 1 shl 26 buffer2 rb 1 shl 26 buffer3 rb 1 shl 26 end virtual |
|||
25 Nov 2017, 14:11 |
|
edfed 26 Nov 2017, 16:54
very very cool feature.
apparentlly, it cannot be used to compile auxilary executable files. Code: virtual at 0 as 'exe' include 'g:/fasmw/source/ide/fasmw/fasmw.asm' end virtual indeed, it's very good to compile bunch of datas to test with the code, in a single source file |
|||
26 Nov 2017, 16:54 |
|
Tomasz Grysztar 26 Nov 2017, 21:48
edfed wrote: apparentlly, it cannot be used to compile auxilary executable files. |
|||
26 Nov 2017, 21:48 |
|
DimonSoft 27 Nov 2017, 15:36
Tomasz Grysztar wrote: There is one known issue - fasm 1 unlike fasmg is not able to track the uninitialized data inside VIRTUAL blocks, so any data declared with "?" is going to be stored in the auxiliary file anyway. But I don't know if fixing this is really worth pursuing. I’ve been thinking about the problem recently. IMHO, it might be useful for sets of macros for generating, say, disk images (my use case) while allowing some pieces like a bootsector being written by hand: such pieces might use uninitialized data at the end of the block (especially beyond the 512 bytes that must be put into the image). I don’t really think the feature is strictly necessary (simply cutting the block to the expected size might work in most cases), just wanted to let you know someone still using fasm 1 has recently thought about it. |
|||
27 Nov 2017, 15:36 |
|
revolution 27 Nov 2017, 22:13
DimonSoft wrote: ... such pieces might use uninitialized data at the end of the block (especially beyond the 512 bytes that must be put into the image). |
|||
27 Nov 2017, 22:13 |
|
DimonSoft 28 Nov 2017, 07:15
revolution wrote:
Maybe I wasn’t clear (not a native speaker). What I meant is something like: Code: Offset 0 Up to 510 bytes of code and initialized data Some padding (optionally) db 0x55, 0xAA Offset 512 Uninitialized data goes here It might be pretty safe to access the memory between 0x0:0x7E00 and 0x0:0x8000 but since BIOS just loads 512 bytes you can only put uninitialized data after them (as a way to define “typed” labels for your temporary storage). I guess, this won’t work if put inside virtual block. Although (1) BIOS is considered out-of-date these days and (2) hundreds of boot sectors already exist that do not require such tricks, tracking the uninitialized data in virtual blocks might be of use in similar cases, not related to osdev. I don’t know if it happens often: the use case I describe was my first one (and the only for now), and even then I didn’t really need it myself, just thought about possible use cases. |
|||
28 Nov 2017, 07:15 |
|
revolution 26 Dec 2017, 04:23
Tomasz Grysztar wrote: This version adds the feature of storing VIRTUAL blocks as auxiliary output files, backported from fasmg. It works more or less the same as there: Edit: I'm using v1.73.01 |
|||
26 Dec 2017, 04:23 |
|
Tomasz Grysztar 26 Dec 2017, 10:15
Could you provide a little more info on the environment, file paths and command line arguments?
Edit: I think I found it. The bug shows up when the "-s" switch is used. |
|||
26 Dec 2017, 10:15 |
|
revolution 26 Dec 2017, 11:28
Tomasz Grysztar wrote: Could you provide a little more info on the environment, file paths and command line arguments? Last edited by revolution on 26 Dec 2017, 15:30; edited 1 time in total |
|||
26 Dec 2017, 11:28 |
|
Tomasz Grysztar 26 Dec 2017, 11:44
Please try 1.73.02.
|
|||
26 Dec 2017, 11:44 |
|
revolution 26 Dec 2017, 12:30
Working fine now.
|
|||
26 Dec 2017, 12:30 |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.