. Macro Assembler Version 5.1

• For the MS® OS/2 or MS-DOS®

Microsoft Macro Asset bier version 5.1 puts all the speed and power of assembly-lar uage programming within easy reach. Make your programs run faster by linking assembly-language subroutines to your Microsoft QuickBASIC, BASIC , C, FORTRAN, and Pascal programs. Technical Highlights

If you're accustomed to programming beyond the level of documentation the correct model for your subroutine, in a high-level language like Microsoft supplied with previous versions of just use the MODEL directive and choose QuickBASIC, BASIC compiler, QuickC, Microsoft Macro Assembler. This totally the model you need. To start your data C, FORTRAN, or Pascal, Microsoft revised guide provides a complete and segment, just add a DATA directive; Macro Assembler version 5.1 is the bridge well-organized explanation of Microsoft to create a stack, add a STACK directive; you've been looking for to the assembly- Macro Assembler and the instruction and to begin writing instructions, use language environment. You can, for sets it supports. the CODE directive. example, use the powerful graphics func- What's more, the Mixed-Language High-level language interface tions of Microsoft QuickBASIC or the Programming Guide included with Micro- macros help you declare your subroutines, efficient math functions of Microsoft soft Macro Assembler version 5.1 con- set up stack parameters, and create local FORTRAN and then add time-critical tains complete, easy-to-follow instructions variables. In addition, version 5.1 offers routines in Microsoft Macro Assembler. on how to call assembly-language sub- MS-DOS interface macros that make it Easier to learn and use. routines from Microsoft QuickBASIC, easy to call system routines. BASIC compiler, QuickC, C, FORTRAN, A broad range of examples in the re- High-speed assembler with 80386 or Pascal programs. Loaded with exam- vised and expanded documentation puts and MS 0S12 support. ples, this guide will rapidly bring both assembly-language programming within Version 5.1 of the Microsoft Macro newcomers and seasoned professionals the grasp of any programmer experi- Assembler assembles 25 to 40 percent up to speed. enced in a Microsoft language. And an faster than version 4.0 and links twice The Macro Assembler Reference pro- on-line tutorial and comprehensive help as fast, with an assembly rate of 25,000 vides a wealth of information on the file assist newcomers in debugging their lines per minute,* maintaining the repu- instruction set, with sections on the pro- Macro Assembler programs. tation of Microsoft Macro Assembler cessors and coprocessors supported and We also give you the foundation for as the fastest macro assembler available on directives and related programs. writing assembly-language subroutines for the MS-DOS environment. Processor instructions are arranged alpha- by providing sample template programs Microsoft Macro Assembler version betically, and each entry includes syntax, on disk that you can customize with 5.1 supports the Intel® 80386 instruction timing data, and examples. your own code. set and 80386 segmentation, including Finally, the Microsoft code View and And in case an error creeps into automatic generation of the correct code Utilities manual is a comprehensive guide your code, you can locate it rapidly with for both 16-bit and 32-bit segments and to the capabilities and operation of Microsoft CodeView®, the powerful new real- and protected-mode instructions. Microsoft CodeView and the many utili- window-oriented source-level debugger You can write MS OS/2 applications ties included in the Microsoft Macro included with Microsoft Macro Assembler. that break the 640K barrier, with full Assembler package. MS OS/2 support, including dynamic Clear, complete documentation. Simplified assembly-language linking and threads. Microsoft Macro Assembler version 5.1 programming. And by creating "bound" executable comes with four manuals, including the New simplified segment directives allow programs, you can be sure they'll run Programmer's Guidde which goes well easy program and subroutine setup. For under both MS-DOS and MS OS/2. example, just four directives ensure that segments are set up correctly. To declare

1111111111111111111mmirmilmin Technical Highlights (Writ)

Microsoft CodeView takes the forth between your source code and the 11221NINEEEMilliillBEIBESIBE 2 .386 d Plipidwar ; enable 386 ins E8X.001.md. guesswork out of debugging. 3 data . Bytes Coded EBX.000009C; program's output, and trace your calls videoSe3 did .0138009 Cu, :ense ides, awry s E38.00000019 .code 5> 386 EDX:00000080 Microsoft CodeView, a remarkable 6 ESP:000009C4 on the stack. EBP:000009D2 8 i 11-1411tle (asChtrIC?.eFit%?W tgOtiin)W.CI'ell gVo v' ES1.00000098 window-oriented source-level debugger, Microsoft CodeView lets you 9 _show PROC 18?°.9EK gives you precise control over your pro- especially large programs—up to 128 MB public _show GS.-- 0 gram's execution. CodeView is ideal for under MS OS/2. There's support for the 14 15 MOW% eax,LORD PTR lesp#4); 16 dec ens 1 P.88488094 debugging the assembly-language sub- Expanded Memory Specification (EMS), 17 eax,160 ; (row-D.160 . 18 routines called from your Microsoft and you can debug overlay programs /9 soy 41,(esp.21 ; Load character LI Nt 4DB2: CD 20 BC 51 80 9A Fe FE-1D FO 53 07 BC IF 82 08 . . A. PE CY QuickBASIC,t BASIC compiler, QuickC, BC IF C7 OA BC 1F 84 17-01'01 91 Ra 02 FF FF FF under MS-DOS. Debug multiple-thread PAM FF FF FF FR FF FF FT FF-F1 FT FF FF A6 4D CE 09 C, FORTRAN, and Pascalt programs. PC 4F 14 2935 00 02 43-FF FT FF FF oe ee 00 ee 1 programs and dynamic-link modules With Micmsoft Macro Assembler version 5.1, you Microsoft CodeView features a under MS OS/2, and debug library mod- can now debug assembly-language programs written visual interface, drop-down menus, plain- ules under either operating system. for the 80386, disassemble 80386 instructions, and language commands, and on-line help What's more, you can debug Macro display the extended 80386 register set so you can debug any program quickly Assembler programs written for 80386- than a full link. You can link several files and easily at the source level. With your based computers, disassemble 80386 together into defined memory areas, source code on the screen, you see all instructions, and display the extended link and overlay any number of programs your comments, variable names, and 80386 register set. with one command, and automatically data declarations just as you wrote them. Powerful LINK utility is the key to resolve external references between Multiple windows let you simulta- combining executable files. modules. neously view source code, variables, and Microsoft Macro Assembler's LINK Other advanced utilities complete registers, so that as you debug your pro- utility allows you to combine assembly gram, you can see the values automatically the package. language subroutines with main pro- • Microsoft Editor for MS-DOS and updated on the screen. You can see and grams written in Microsoft QuickBASIC, MS OS/2: manipulate all your local and global BASIC compiler, QuickC, C, FORTRAN, variables. Display data structures and - Supports multitasking in protected and Pascal (including programs written mode under MS OS/2. interactively follow linked lists and nested for the 80386 CPU) into a single exe- structures. Set watchpoints and trace- - Allows you to run programs from cutable file containing up to 1 MB of code within itself, with compilation errors points to stop your program's execution and data (MS-DOS) or up to 128 MB when a variable or expression changes from multiple sources returned. (MS OS/2). And it does its job twice as - Is easy to customize. value. Set conditional breakpoints on fast as the version 4.0 linker. variables, expressions, or memory. You • Library manager (LIB) The new incremental linker for • Program maintenance utility (MAKE) can even trace, animate, or single-step MS OS/2, ILINK, is even faster, perform- • Cross-reference utility (CREF) through your program, switch back and ing partial links up to 20 times faster Specifications

System requirements Shipping media • 320K available user memory • 5V4" disks in standard MS-DOS and • MS OS/2 1.0 or MS-DOS 2.1 or higher MS OS/2 format • Two double-sided disk drives • 31/2" disks in standard MS-DOS and MS OS/2 format

*Benchmarks run on an 8-MHz IBM® PC/AT® . tMicrosoft CodeView is compatible with Microsoft QuickBASIC and versions 4.0 and higher. This data sheet is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY. Microsoft, the Microsoft logo, MS-DOS, MS, and CodeView are registered trademarks and QuickC is a trademark of Microsoft Corporation. IBM and PC/AT are registered trademarks of International Business Machines Corporation. Intel is a registered trademark of Intel Corporation. 0 Copyright 1988. Microsoft Corporation. All rights reserved. Printed in USA.

Microsoft Corporation • 16011 NE 36th Way • Box 97017 • Redmond, WA 98073-9717 1287 Part No. 098-016-208 4msoft