Microsoft Macro Assembler Package
The Microsoft Macro Assembler Package v 3.00 is a significantly enhanced
version of Microsoft Macro Assembler Package v 1.27. Version 3.00 contains
updated versions of the utilities plus additional development utilities for
use with Macro assembler and High Level Languages.
* MASM v 3.00 - Macro Assembler
1. 186/286/287 microprocessor support
2. Case sensitivity for symbols may be specified
* SYMDEB/MAPSYM - NEW Interactive Symbolic Debug Utility for Microsoft Languages (Macro Assembler and High Level) which replaces the DEBUG utility.
1. Source line display may be used with Fortran, Pascal and C
2. Breakpoints may be set on line numbers and symbols
3. Single stepping may be used to follow program execution
4. Help command has been added to display the command syntax.
* MAKE - NEW Program Maintenance Utility
- to provide an automatic updating facility after one or more of the source
files specified have been changed.
* CREF - Cross Reference Utility
- To create cross reference listings for use with the Macro Assembler
* LIB - Library Manager
1. The pagesize may be set, the default is 16 bytes, which allows for the
amount of wasted spaced inside libraries to be reduced.
2. A name other than the original name may be specified for a modified library
3. Over 3000 public symbols may be used by the user.
4. The process to replace modules has been simplified to a 1 step process.
* LINK - Object Code Linker
1. Simple overlay linker for use with Microsoft Languages
2. The user can specify from 1 to 1024 segments
The following describes the differences between version 3.00 of the Macro
Macro Assembler Package and portions of the manual.
MASM (Macro Assembler):
- If you do not place LOCAL immediately after MACRO, you
will see the diagnostic message "Extra Characters At End Of Line"
- The recommended method of doing:
DW 5 dup (offset sym)
DW offset sym
SYMDEB/MAPSYM (Symbolic Debug Utility):
- The R command is extended to: R <reg> <val>
so you can type the register replacement value on the same command line
- The /N switch, enables Symdeb NMI trapping on non-IBM machines
- WO, BY and friends assume DS as segment
- BP & SP in expressions assume SS as segment
- hex numbers have precedence over symbols (symbol FAA can't be used)
- DOS Terminate (function 4C) call will kill Symdeb if hand-assembled
without doing exec first (Symdeb execs .EXE file)
- U, A assume CS; D assumes DS
- Since MS-DOS isn't re-entrant, do not try to trace through DOS Calls,
you will crash the system.
- If you do not have an 8087, do not use 8087 instructions. "WAIT", for
example, will cause your system to hang.
- If you are debugging Microsoft Pascal or FORTRAN versions 3.20 or
earlier or IBM Personal Computer FORTRAN or Pascal versions 2.00 or
earlier, you may want to give the following command at your first
breakpoint in your code:
Z DGROUP DS
This changes the segment base for DGROUP to be the current DS. This
will allow symbolic variable names to be used or displayed for public
variables in DGROUP.
- Make sure you have a GROUP declaration for MAPSYM
MAKE (Program Maintenance Utility):
- You need to set up the MAKE file so that the TARGET file and DEPENDENT
file are on the same drive and that drive should be the default drive.
- If a warning or an error message should result from one of the programs
executing during MAKE, MAKE will halt. You should examine the message
and if you decide you need to continue, execute the next in the process
yourself and then continue with MAKE.