Re: [Freedos-user] Tinyasm vs. NASM

2019-10-26 Thread Rugxulo
Hi,

On Thu, Oct 10, 2019 at 11:08 AM TK Chia  wrote:
>
> > But it's missing "[var+BX]" Effective Address support.
> > Also, "MOV AX,..." (etc.) instructions use the bigger, non-optimal
> > encodings.
>
> Well, perhaps there are ways to fix the support for these things in
> tinyasm...

=
; WACKY.ASM -- tested with Tinyasm (2019-Oct-08)

  mov ax,word[alpha]; 8B 06 1201  mov ax,[0x112]
  mov ax,[alpha];A1 1201  " "

  mov al,byte[beta] ; 8A 06 1301  mov al,[0x113]
  mov al,[beta] ;A0 1301  " "

  mov bx,[bx+zeta]  ; 8B 9F 1401  mov bx,[bx+0x114]
; mov bx,[zeta+bx]  ; *** won't even assemble! ***

alpha: db 'a'
beta:  db 'b'
zeta:  db 'z'

; EOF
=

So it's a bit picky with what syntax it accepts, but it does
(already!) support it correctly. Just FYI.


___
Freedos-user mailing list
Freedos-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-user


Re: [Freedos-user] Tinyasm vs. NASM (was: Re: A neat find on /r/asm)

2019-10-26 Thread C. Masloch
On at 2019-10-26 03:09 -0500, Rugxulo wrote:
>> I also worked some on an 8086tiny fork of mine recently. There are
>> several bugfixes there, as well as implementing all 186 instructions, so
>> it might be worth testing. It's at https://github.com/ecm-pushbx/8086tiny/
> 
> I tested all of this under Linux (Xenial Puppy, 64-bit) jump drive.
> 
> It seems you're missing "lmacros3.mac" (not found) for tinyxms, but I
> just ignored that for now: "make no_graphics -k -i" or whatever. (I
> just used a modified version of my old BARE_DOS floppy image.)

Oh yes, that was not intended. I think the included fd.img does have the
compiled tinyxms.sys already, but to build it from source you need to
load all of lmacros[123].mac from https://hg.ulukai.org/ecm/lmacros and
put them in one of the directories included by the NASM run:

> tinyxms.sys: tinyxms.asm
>   nasm -f bin -I ../lmacros/ -I lmacros/ -l tinyxms.lst -o tinyxms.sys
tinyxms.asm

That is, either copy the three macro files to the same directory as
tinyxms.asm, or to an lmacros subdirectory, or to an lmacros
sibling-directory of the 8086tiny directory.

Regards,
ecm


___
Freedos-user mailing list
Freedos-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-user


Re: [Freedos-user] Tinyasm vs. NASM (was: Re: A neat find on /r/asm)

2019-10-26 Thread Rugxulo
Hi, (sorry for delay in testing)

On Tue, Oct 8, 2019 at 10:17 AM C. Masloch  wrote:
>
> On at 2019-10-05 18:49 -0500, Rugxulo wrote:
> > "Unfortunately, nasm doesn't run over 8086/8088 processors,and I
> > couldn't find a compatible assembler!"
> >
> > Strange. I was lightly playing with 8086tinyplus (on Windows)
> > recently, and I noticed that the (in)famous 16-bit NASM build from
> > 2005 of 0.98.39 didn't seem to run properly. (But that could be an
> > emulator bug. It runs fine under QEMU. I know 8086tinyplus can't
> > handle 186+ ENTER/LEAVE properly.)
>
> If the 16-bit NASM uses 186+ instructions, that's a bug (or possibly
> wrong option?) on the part of the compiler.

The default 2005, 16-bit NASM build seems to work correctly under your
(improved) fork of 8086tiny. So indeed, it must've been compiled for
186.

> I also worked some on an 8086tiny fork of mine recently. There are
> several bugfixes there, as well as implementing all 186 instructions, so
> it might be worth testing. It's at https://github.com/ecm-pushbx/8086tiny/

I tested all of this under Linux (Xenial Puppy, 64-bit) jump drive.

It seems you're missing "lmacros3.mac" (not found) for tinyxms, but I
just ignored that for now: "make no_graphics -k -i" or whatever. (I
just used a modified version of my old BARE_DOS floppy image.)

Yeah, it seems to work better (than 8086tinyplus). I did keep around a
186, Oberon-M build of my Befunge-93 interpreter (bef186om.exe) just
for identifying these kinds of bugs (mostly thinking of Fake86 here).
Even that .EXE works here. So that's cool.


___
Freedos-user mailing list
Freedos-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-user