Rocksolid Light

Welcome to Rocksolid Light

mail  files  register  newsreader  groups  login

Message-ID:  

Help me, I'm a prisoner in a Fortune cookie file!


devel / comp.lang.asm.x86 / Re: public domain as86

SubjectAuthor
* public domain as86Paul Edwards
+* public domain as86Alexei A. Frounze
|`- public domain as86Paul Edwards
`* public domain as86Pavel_vitsoft_Šrubař
 `- public domain as86Paul Edwards

1
public domain as86

<f4c3fce0-18d1-4d45-9d29-06b614660498n@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=811&group=comp.lang.asm.x86#811

  copy link   Newsgroups: comp.lang.asm.x86
Path: i2pn2.org!i2pn.org!eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail
From: mutazilah@nospicedham.gmail.com (Paul Edwards)
Newsgroups: comp.lang.asm.x86
Subject: public domain as86
Date: Sat, 5 Nov 2022 21:14:55 -0700 (PDT)
Organization: A noiseless patient Spider
Lines: 92
Approved: fbkotler@myfairpoint.net - comp.lang.asm.x86 moderation team.
Message-ID: <f4c3fce0-18d1-4d45-9d29-06b614660498n@googlegroups.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Injection-Date: Sun, 06 Nov 2022 04:14:56 +0000
Injection-Info: reader01.eternal-september.org; posting-host="df99560b5337f28f7e43f38bd83b8202";
logging-data="3089392"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+0lIT7ebhSGMshy31JVrEgjdziZlErudo="
User-Agent: G2/1.0
Cancel-Lock: sha1:xL5WQGixbnIm+SEGUgbHlY2dNwk=
 by: Paul Edwards - Sun, 6 Nov 2022 04:14 UTC

Hi.

This has just been released:

https://github.com/robertapengelly/as86

along with a corresponding:

https://github.com/robertapengelly/ld86

Previously the only public domain 8086 assembler
I had access to is the one that came with SubC.

This new assembler produces 16-bit a.out, which is a
format I am happy to standardize on.

What I'm more hazy about is the assembly language.

Basically what I'm looking for is the lowest common
denominator of the latest versions of DOS-supporting
masm, wasm, and as86.

Unfortunately multiple memory models interest me -
tiny, small, large and huge, so I can't easily just pick one.

It is unclear to me how much effort would be required to
change SubC to generate large memory model instead of
small memory model, which would eliminate my interest
in small.

Tiny I am interested in due to boot sector code, but since
that is hand-written anyway, it could probably be considered
large anyway.

Also during booting (of PDOS/86) I have an IO.SYS which is
tiny memory model, but since it will always be loaded at a
fixed address, I may be able to get ld86 to generate an
appropriate binary image and I can switch to large.

I don't use huge at the moment - that is a future plan - so that
can be deferred.

The author of as86, Robert, is willing to make enhancements,
but I don't want to ask for too much.

I'm happy to rewrite my assembler source - there's not that
much.

I'm not interested in other dialects like nasm - in the long term
I am looking for 100% masm-compatibility, but in the short
term I'm willing to use conditional assembly as required.

Sophisticated things like "proc" which gives you variables
and saves registers, like this:

int86 proc uses ax bx cx dx si di ds es, \
intnum:word, regsin:ptr, regsout:ptr

are probably a bridge too far at the moment, so I will
define those manually, e.g. intnum [bp+6] for large
memory model.

Maybe he can easily add @DataSize - I assume there is
a corresponding @CodeSize - which may help.

I noticed one divergence from masm.

Masm doesn't like this:

..data
L2:
db 'h'

And instead requires:
L2 db 'h'

(for the beginning of a hello world string generated by SubC)

as86 doesn't like the other way around.

Is there a way of coding acceptable to both?

Otherwise I need to see if I can get Robert to accept
both (as wasm does).

Any suggestions on where I stand?

In the short term I'm willing to accept hacks in order
to move onto the public domain tools.

Thanks. Paul.

Re: public domain as86

<d2d99066-f908-49ae-bc0a-dfeec67d08cdn@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=812&group=comp.lang.asm.x86#812

  copy link   Newsgroups: comp.lang.asm.x86
Path: i2pn2.org!i2pn.org!eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail
From: alexfrunews@nospicedham.gmail.com (Alexei A. Frounze)
Newsgroups: comp.lang.asm.x86
Subject: Re: public domain as86
Date: Sat, 5 Nov 2022 22:22:30 -0700 (PDT)
Organization: A noiseless patient Spider
Lines: 15
Approved: fbkotler@myfairpoint.net - comp.lang.asm.x86 moderation team.
Message-ID: <d2d99066-f908-49ae-bc0a-dfeec67d08cdn@googlegroups.com>
References: <f4c3fce0-18d1-4d45-9d29-06b614660498n@googlegroups.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Injection-Date: Sun, 06 Nov 2022 05:22:30 +0000
Injection-Info: reader01.eternal-september.org; posting-host="df99560b5337f28f7e43f38bd83b8202";
logging-data="3113984"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18ZKb+GYJPYWfkW7q4EhVbsWjkNuDvsd6I="
User-Agent: G2/1.0
Cancel-Lock: sha1:Bp4Sif3L9tW6+m4IgemD5Pcdy2s=
 by: Alexei A. Frounze - Sun, 6 Nov 2022 05:22 UTC

On Saturday, November 5, 2022 at 9:22:38 PM UTC-7, Paul Edwards wrote:
....
> Masm doesn't like this:
>
> .data
> L2:
> db 'h'

If it helps, you could probably do:

L2 label byte
db 'h'

Alex

Re: public domain as86

<953eb535-bea0-43e3-852f-7a4a0c14253en@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=813&group=comp.lang.asm.x86#813

  copy link   Newsgroups: comp.lang.asm.x86
Path: i2pn2.org!i2pn.org!eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail
From: mutazilah@nospicedham.gmail.com (Paul Edwards)
Newsgroups: comp.lang.asm.x86
Subject: Re: public domain as86
Date: Sat, 5 Nov 2022 22:52:25 -0700 (PDT)
Organization: A noiseless patient Spider
Lines: 14
Approved: fbkotler@myfairpoint.net - comp.lang.asm.x86 moderation team.
Message-ID: <953eb535-bea0-43e3-852f-7a4a0c14253en@googlegroups.com>
References: <f4c3fce0-18d1-4d45-9d29-06b614660498n@googlegroups.com> <d2d99066-f908-49ae-bc0a-dfeec67d08cdn@googlegroups.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Injection-Date: Sun, 06 Nov 2022 05:52:25 +0000
Injection-Info: reader01.eternal-september.org; posting-host="df99560b5337f28f7e43f38bd83b8202";
logging-data="3125697"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19PQf4XU7VCdN0ddsfBpujcyJB13y84l98="
User-Agent: G2/1.0
Cancel-Lock: sha1:cxJhovMQR6T0bQTvx6DPtFKoWY4=
 by: Paul Edwards - Sun, 6 Nov 2022 05:52 UTC

On Sunday, November 6, 2022 at 1:24:15 PM UTC+8, Alexei A. Frounze wrote:

> If it helps, you could probably do:
>
> L2 label byte
> db 'h'

Thanks!

That should be relatively simple to at least hack to be the
equivalent of "L2:", so I'll ask for that.

BFN. Paul.

Re: public domain as86

<87d7e08d-ab6c-4dd4-9a32-3992e25044een@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=814&group=comp.lang.asm.x86#814

  copy link   Newsgroups: comp.lang.asm.x86
Path: i2pn2.org!i2pn.org!eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail
From: pavel.srubar@nospicedham.gmail.com (Pavel vitsoft Šrubař)
Newsgroups: comp.lang.asm.x86
Subject: Re: public domain as86
Date: Wed, 9 Nov 2022 12:20:22 -0800 (PST)
Organization: A noiseless patient Spider
Lines: 12
Approved: fbkotler@myfairpoint.net - comp.lang.asm.x86 moderation team.
Message-ID: <87d7e08d-ab6c-4dd4-9a32-3992e25044een@googlegroups.com>
References: <f4c3fce0-18d1-4d45-9d29-06b614660498n@googlegroups.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Injection-Date: Wed, 09 Nov 2022 20:20:22 +0000
Injection-Info: reader01.eternal-september.org; posting-host="922ce3fab2d937cd98cac44c53fdc91a";
logging-data="349364"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+2Gf2laDJYKF1iF+deH/1ZkxT3pNZ1Uds="
User-Agent: G2/1.0
Cancel-Lock: sha1:r1EV9Sqp6I8Qaz6TOw3Jr7rgNyg=
 by: Pavel vitsoft Šruba - Wed, 9 Nov 2022 20:20 UTC

On Sunday, November 6, 2022 at 5:22:38 AM UTC+1, Paul Edwards wrote:
> tiny, small, large and huge, so I can't easily just pick one.

Perhaps you could look at EuroAssembler, it is free, supports PROC, STRUC, %MACRO etc. and of course it assembles both
L2:
db 'h'
and
L2 db 'h' .

Example of 16bit MZ program for DOS in large memory model:
https://euroassembler.eu/eatests/t7933.htm

Re: public domain as86

<0e14d46e-acab-4bff-b286-b6fe6bf26e26n@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=815&group=comp.lang.asm.x86#815

  copy link   Newsgroups: comp.lang.asm.x86
Path: i2pn2.org!i2pn.org!eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail
From: mutazilah@nospicedham.gmail.com (Paul Edwards)
Newsgroups: comp.lang.asm.x86
Subject: Re: public domain as86
Date: Wed, 9 Nov 2022 19:50:45 -0800 (PST)
Organization: A noiseless patient Spider
Lines: 39
Approved: fbkotler@myfairpoint.net - comp.lang.asm.x86 moderation team.
Message-ID: <0e14d46e-acab-4bff-b286-b6fe6bf26e26n@googlegroups.com>
References: <f4c3fce0-18d1-4d45-9d29-06b614660498n@googlegroups.com> <87d7e08d-ab6c-4dd4-9a32-3992e25044een@googlegroups.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Injection-Date: Thu, 10 Nov 2022 03:50:45 +0000
Injection-Info: reader01.eternal-september.org; posting-host="f24be334eb552422db15de9896080752";
logging-data="517633"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+KWzekRMQ+FtnCbQFY1ys6eG//ictRBh4="
User-Agent: G2/1.0
Cancel-Lock: sha1:A5sz6kJanepTNpUEAQIvhD4p8r4=
 by: Paul Edwards - Thu, 10 Nov 2022 03:50 UTC

On Thursday, November 10, 2022 at 4:57:28 AM UTC+8, Pavel vitsoft Šrubař wrote:
> On Sunday, November 6, 2022 at 5:22:38 AM UTC+1, Paul Edwards wrote:
> > tiny, small, large and huge, so I can't easily just pick one.
> Perhaps you could look at EuroAssembler, it is free, supports PROC, STRUC, %MACRO etc. and of course it assembles both
> L2:
> db 'h'
> and
> L2 db 'h' .
>
> Example of 16bit MZ program for DOS in large memory model:
> https://euroassembler.eu/eatests/t7933.htm

It took a while to find the copyright notice:

https://euroassembler.eu/eadoc/#Licence

I already have a copyrighted assembler that is suitable for my
purposes - wasm, although I guess one thing that is missing
is that it isn't C90-compliant and even if it was, it hasn't been
recompiled so that it runs under PDOS/386.

If Euroassembler was C90-compliant already and could handle
my code, and was compiled into a Windows executable that
was only dependent on msvcrt.dll and could be shipped as
part of PDOS/386, I would have a use for it in the short term
perhaps.

But long term I'm trying to move to a public domain one, even
if it is bare bones. I'm happy for my assembler source to be
made neater as the PD assembler improves over time, like
over the next 500 years.

The PD one is being actively worked on now (like, minutes ago),
as I try to find out what is possible.

BFN. Paul.

1
server_pubkey.txt

rocksolid light 0.9.81
clearnet tor