Quantasm Corporation

Quantasm Corp. was founded in 1988 with the purpose of providing high performance programming tools, with an emphasis on the art of code optimization. The tools and CPU's have evolved, but the purpose has remained the same (whether you are trying to fit a DOS TSR in 4K or you are trying to eke out higher performance in a Windows 95 multimedia program).

Mike Schmit, President of photo of Mike

Optimization is a word that means different things to many people. Using assembly language as one tool in your optimization tool box is the idea of the ASM in Quantasm (since asm is a common abbreviation for assembly). We do not believe that everything should be coded in assembly language, nor does optimization always mean a lot of cycle counting in assembly. Rather, optimization should start with an analysis of the problem domain, proper algorithm selection, etc. However, once all these things have been properly performed and you are still looking for more performance, smaller code (or maybe both), there ought to be a company with the tools for these kind of jobs. That's us!

Our first, (and still most popular) tool is ASMFLOW. ASMFLOW generates flow charts, tree diagrams and other reports and documentation from assembly language source files. The idea being that optimization comes from a better understanding of the code. An unexpected side-effect was the simple idea of just understanding the code! We now have versions of ASMFLOW for about a dozen different CPU's, from the 8051 and Z-80 to the 68HC11. Click here for a complete list of supported CPU's.

Our most recent product, PentOpt, helps you optimize code for the Intel 486 and Pentium processors. It does this by annotating flow charts with warnings about stalls (such as AGI's, click for glossary, and mixed 16/32-bit code) as well as Pentium pairing information.

What are the future directions for those interested in top x86 performance levels? Two things: MMX and memory/cache optimization. Keep checking this site -- we'll have more to say about MMX later. (Officially MMXTM Technology is an Intel trademark that means nothing, certainly not MultiMedia eXtensions.)

Memory and cache performance is becoming more and more important for all processors. We see higher processor speeds attained almost every quarter. However, memory bus speeds stay the same for years. For example the first Pentium announcements in 1993 included 66 MHz processors with a 66 MHz bus. And in the middle of 1996 we have 166 MHz Pentiums with the same 66 MHz bus and Pentium Pro's (P6) at 200 MHz with a 66 MHz bus. In other words, the processors are more powerful, but only if they can efficiently use the data that is already in the cache. Again, stay tuned for some good information on memory and caches.