Microsoft Macro Assembler Package
Version 5.00
Text files on the Macro Assembler disks are tabbed to save
disk space. If your printer does not automatically handle
tabs during printing, you must use a print program that
expands tabs. For example, use the DOS PRINT program to print
this and other document or source files on the disk.
Note to DOS 3.0 Users
Because of an incompatibility between DOS 3.0 and the batch
file enhancer on this disk, you cannot run the setup batch
files under DOS 3.0. Instead, follow the setup instructions in
Chapter 1 of the Programmer's Guide. You can run the CodeView
demo on Disk 2. Type DEMO to run DEMO.BAT.
==( MASM.EXE )==
New Feature
The /LA option has been added to specify a complete listing
of all symbols, macros, and false conditionals. It is
equivalent to using the .LIST, .LFCOND, .LALL, and .CREF
directives throughout the source file. The option overrides
any conflicting directives in the source file.
Clarification
The PTR operator can be used to specify the size of a
register indirect operand for a CALL or JMP instruction.
However, the size cannot be specified with NEAR or FAR. Use
WORD or DWORD instead. (In 80386 32-bit segments, use DWORD
or FWORD.) Examples are shown below:
; 8086, 80826, or 80386 16-bit mode
jmp WORD PTR [bx] ; Legal near jump
call NEAR PTR [bx] ; Illegal near call
call DWORD PTR [bx] ; Legal far call
jmp FAR PTR [bx] ; Illegal far jump
; 80386 32-bit mode only
jmp DWORD PTR [bx] ; Legal near jump
call NEAR PTR [bx] ; Illegal near call
call FWORD PTR [bx] ; Legal far call
jmp FAR PTR [bx] ; Illegal far jump
This limitation only applies to register indirect operands.
NEAR or FAR can be applied to operands associated with
labels. Examples are shown below:
jmp NEAR PTR pointer[bx] ; Legal