MASM as standard, fixmem example (Announce)
> > > NASM was originally strictly two-pass, so some things they did
> without.
> > > (There are even one-pass assemblers with even more restrictions.)
> >
> > NASM has been multi-pass for a long time now.
>
> IIRC, Masm has become a one-pass assembler with version 6+ ( they mentioned
> that to explain why directives IF1 and IF2 have been removed ).
It also became a lot more powerful. When was the last 16-bit version? I'd have to check. Presumably around v5.
> JWasm is "multi-pass", meaning that it continues to reassemble the source
> until there's no change in the segment lengths anymore - that's actually a
> pretty dump strategy...
>
> So one may come to the conclusion that the number of passes is perhaps not
> really a sign of quality.
When massaging PSR Invaders (my favorite testing ground), it's nominally "MASM" syntax already (he used TASM 4.0). But old MASM 1.10 can't handle it unless fixed. Besides the nonsensical "40:' segment overrides that TASM ignores, JWasm can assemble it verbatim. But most other assemblers need brackets around memory references. My point is that adding brackets still requires 5 passes, but further adding explicit size overrides then only needs 2 passes. (OpenWatcom's WASM demands explicit size overrides.)
TASM was originally 1-pass only anyways, only adding /m# later. Usually one-pass is much faster (e.g. A86). MASM was considered quite slow in the old days.
Complete thread:
- MSDOS 4.0 - kerravon, 26.04.2024, 04:43 (Announce)
- MSDOS 4.0 - Guti, 26.04.2024, 14:06
- MSDOS 4.0 - Oso2k, 26.04.2024, 15:38
- MSDOS 4.0 - roytam, 26.04.2024, 17:05
- MSDOS 4.0 - Japheth, 26.04.2024, 17:34
- MSDOS 4.0 - RayeR, 27.04.2024, 03:05
- MSDOS 4.0 - Ringding, 01.05.2024, 13:34
- MSDOS 4.0 - rr, 01.05.2024, 14:37
- MSDOS 4.0 - kerravon, 29.04.2025, 06:34
- MSDOS 4.0 - kerravon, 29.04.2025, 08:14
- MSDOS 4.0 - kerravon, 29.04.2025, 08:47
- MSDOS 4.0 - ecm, 29.04.2025, 09:50
- MSDOS 4.0 - kerravon, 29.04.2025, 10:40
- MSDOS 4.0 - ecm, 29.04.2025, 11:07
- MSDOS 4.0 - kerravon, 29.04.2025, 11:50
- MSDOS 4.0 -- MASM as standard - Rugxulo, 29.04.2025, 20:40
- MSDOS 4.0 -- MASM as standard - kerravon, 29.04.2025, 21:43
- MSDOS 4.0 -- MASM as standard - Rugxulo, 30.04.2025, 10:55
- MSDOS 4.0 -- MASM as standard - kerravon, 30.04.2025, 16:17
- MSDOS 4.0 -- MASM as standard - Rugxulo, 30.04.2025, 10:55
- MASM as standard, fixmem example - ecm, 01.05.2025, 12:24
- MASM as standard, fixmem example - Japheth, 02.05.2025, 16:10
- MASM as standard, fixmem example - bretjohn, 02.05.2025, 17:09
- MASM as standard, fixmem example - Rugxulo, 07.05.2025, 03:23
- MASM as standard, fixmem example - Rugxulo, 07.05.2025, 03:05
- MASM as standard, fixmem example - bretjohn, 02.05.2025, 17:09
- MASM as standard, fixmem example - Japheth, 02.05.2025, 16:10
- MSDOS 4.0 -- MASM as standard - kerravon, 29.04.2025, 21:43
- MSDOS 4.0 -- MASM as standard - Rugxulo, 29.04.2025, 20:40
- MSDOS 4.0 - kerravon, 29.04.2025, 11:50
- MSDOS 4.0 - ecm, 29.04.2025, 11:07
- MSDOS 4.0 - kerravon, 29.04.2025, 10:40
- MSDOS 4.0 - ecm, 29.04.2025, 09:50
- MSDOS 4.0 - kerravon, 29.04.2025, 08:47
- MSDOS 4.0 - kerravon, 29.04.2025, 08:14
- MSDOS 4.0 - kerravon, 29.04.2025, 06:34
- MSDOS 4.0 - rr, 01.05.2024, 14:37
- MSDOS 4.0 - Japheth, 26.04.2024, 17:34
- MSDOS 4.0 - rr, 26.04.2024, 22:00
- MSDOS 4.0 - usotsuki, 30.04.2024, 17:41
- MSDOS 4.0 - boeckmann, 30.04.2024, 21:03