MASM 5.10 MIXED.DOC: Macros Supported in MIXED.INC

ID Number: Q30785

5.10 | 5.10

MS-DOS | OS/2

Summary:

The following information is from the Microsoft Macro Assembler

Version 5.10 MIXED.DOC file.

More Information:

Converting Mixed-Language Source Files

The version of MIXED.INC provided with MASM 5.10 is smaller than the

MASM 5.00 version because most of the functionality has now been built

into MASM and the macros are no longer needed. The following macros

are still supported in MIXED.INC:

Macro Purpose

ifFP Assembles statement if the memory model uses far data

FP Provides ES override if the memory model uses far data

pLes Loads data (through ES for far data)

pLds Loads data (through DS for far data)

To use these macros with MASM 5.10, you should include MIXED.INC

after using .MODEL. The macro syntax is shown below:

ifFP statement

Assembles the statement if the memory model uses far data. This

macro can be used to push segment registers or take other action that

is only required for far data. For example,

ifFP push ds

pushes the DS register in compact, large, and huge memory models, but

has no effect in small and medium models.

FPoperand

Gives an ES override if the memory model uses far data. In models

that use near data, FP is null. For example,

mov ax,FP[bx]

assembles as

mov ax,es:[bx]

in compact, large, and huge memory models, but as

mov ax,[bx]

in small and medium models.

pLes register,address

pLds register,address

Loads a pointer from the specified address to the specified

register. If the memory model uses far data, the segment portion of

the address will be moved into ES or DS, depending on the macro used.

For example,

pLes bx,arg1

is assembled as

les bx,arg1

in compact, large, and huge memory models, but as

mov bx,arg1

in small and medium models.