Michael Abrash

From Wikipedia, the free encyclopedia

Michael Abrash is a highly regarded technical writer, and one of the top optimization and 80x86 assembly language programmers, a reputation cemented by his 1990 book Zen of Assembly Language Volume 1: Knowledge. Unfortunately, the original 8086 processor, the focus of the book, was several generations behind the state of the art by the time the book was published. The much anticipated second volume was never published, but the planned topics were eventually covered in Zen of Graphics Programming.

In his 1994 book, "Zen of Code Optimization: The Ultimate Guide to Writing Software That Pushes PCs to the Limit", Abrash presents principles and theory applicable to today's programmers. Abrash's systematic presentation of step-wise program refinement empirically demonstrated how algorithm re-design could improve performance up to a factor of 100. Assembly language re-coding, on the other hand, may only improve performance by a factor of 10. Abrash also showed how elusive performance improvement can be. Simply improving performance in one sub-routine would only expose bottlenecks in other routines and so on. Finally, he demonstrated processor-dependent assembly-based performance improvements by comparing assembly language optimizations across X86 family members.

He frequently begins a technical discussion with an anecdote that draws parallels between a real-life experience he has had, and the article's subject matter. Aside from adding personality and wit to what would otherwise be a dry, technical whitepaper, his prose encourages readers to think out-of-the-box and to approach solving technical problems in an innovative way.

His prolific writings have made their way to numerous publications such as a Dr. Dobb's Journal column on graphics programming and code optimization, The Zen and Art of Code Optimization, and his Graphics Programming Black Book, all of which were influential during their time. His most famous series of articles for Dr. Dobb's Journal, circa 1991, described an undocumented graphics mode for the IBM PC which he called Mode X.

Before getting into technical writing, Abrash was a game programmer, having written his first commercial game in 1982, Space Strike (unrelated to the massively multiplayer game of the same name) for the IBM PC (under DOS). Other games he wrote were Cosmic Crusader (1982) and Big Top (1983) for the same system. After working at Microsoft on graphics and assembly code for Windows NT 3.1, he returned to the game industry in the mid-1990s to work on Quake for id Software. Some of the technology behind Quake is documented in Abrash's Graphics Programming Black Book. After Quake was released, Abrash returned to Microsoft to work on natural language research, then moved to the Xbox team, until 2001. In 2002, Abrash went to work for RAD Game Tools, where he co-wrote the advanced Pixomatic software renderer, which emulates the functionality of a DirectX 7-level graphics card and is used as the software renderer in such games as Unreal Tournament 2004.


Advanced Search
Included Web Search Engines


Safe Search

close

Top Matching Results

Occasionally Search.com will highlight specialized results that are based on the context of your query. Examples of specialized results include specific links to news, images, or video.

Top Matching Results may highlight information from other Search.com pages, content from the CNET Network of sites, or third party content. The listings are based purely on relevance. Search.com does not receive payment for listings in this section but our partners that provide this data may get paid for listing these products.

Sponsored Links

This section contains paid listings which have been purchased by companies that want to have their sites appear for specific search terms and related content. These listings are administered, sorted and maintained by a third party and are not endorsed by Search.com.

Search Results

Search.com sends your search query to several search engines at one time and integrates the results into one list which has been sorted by relevance using Search.com's proprietary algorithm. You can customize the list of search engines included in your metasearch from the preferences.

The search engines that are used in your metasearch may allow companies to pay to have their Web sites included within the results. To view the Paid Inclusion policy for a specific search engine, please visit their Web site. Search.com does not accept payment or share revenue with any search engine partner for listings in this section.