News:

Masm32 SDK description, downloads and other helpful links
Message to All Guests

Main Menu

WASM can't do this..

Started by HSE, May 16, 2017, 11:15:28 PM

Previous topic - Next topic

HSE

Hi!
Just yesterday I discover ML can to deal with this notation:

    mov eax, [[ecx].NDX_PAGE.Entries[eax]].NDX_ENTRY.dLEPage

where
NDX_ENTRY struc
  dLEPage       DWORD    0    ;00-03: Page containing previous keys
  dRecNo        DWORD    0    ;04-07: Record number matching key
  bKey          BYTE     INDEXKEYMAXSIZE dup (0)
NDX_ENTRY ends
NDX_PAGE struc                ;512 bytes
  wNumEntries   WORD    0     ;00-01: #active entries in this page
  wD0           WORD    0     ;Reserved
  Entries       BYTE    (512 - 2 * sizeof WORD) dup (0)
NDX_PAGE ends
Asmc (2.23) and HJWASM(2.14) don't understand this.
The line is from OA32's dBase 2009 project.

In 2012 Biterider change that, I think because JWASM enter in the scene:mov eax, [ecx + eax].NDX_PAGE.Entries.NDX_ENTRY.dLEPage
Interesting because the expression "full compatible" became false. For sure the practical implications are irrelevant.

Regards. HSE.
Equations in Assembly: SmplMath

jj2007

Quote from: HSE on May 16, 2017, 11:15:28 PMInteresting because the expression "full compatible" became false. For sure the practical implications are irrelevant.

There have been numerous little inconsistencies in the past, and workarounds. Overall, compatibility of the AsmC+HJWasm family is extremely good now.

newrobert

what's abbreviation of wasm, are there some different between wasm and masm?

jj2007

Wasm=Watcom Asm (old and obsolete)
JWasm=Japheth's improved Wasm (good but a bit obsolete)
HJWasm=Habran & Johnsa's improved JWasm
Hasm=?? (imho it should be HJAsm, or simply HJWasm to reflect its origins including the Watcom coders...)

From JWasm onwards, they are getting more and more powerful, and more and more compatible with the 32-bit version of Microsoft MASM. All my major sources build just fine with ML 6.15 ... 10.0 and HJWasm.

newrobert

thank your explain, let me know more about asm language;