japheth - 2013-03-25

The following code is accepted by Masm:

    .386
    .model flat
S1 STRUCT
     DD ?
s1f1 DD ?
S1 ENDS
S2 STRUCT
     DW ?
s2f1 DD ?
S2 ENDS
    .CODE
    MOV EAX,[EDI].s1f1
    assume edi:ptr S2
    MOV EAX,[EDI].s2f1
    ASSUME EDI:ptr S1   ;makes masm accept first "mov"
END

If the assume is a scalar type, it doesn't work:

    .386
    .model flat, stdcall
    option casemap:none
    .code
    mov [eax],1
    assume eax:ptr WORD
    mov [eax],1234h
END

I regard this as a bug and most likely won't copy it for jwasm.