You are here: Home > BASM for beginners > index
BASM for Beginners
Introduction to BASM for Beginners
The series of articles named “BASM for beginners” currently consists of 4 articles and more are in progress. Common for the articles, and coming articles, is that they explain some BASM issues by use of an example function. Most often this function is first implemented in Pascal and then the compiler generated assembler code is copied from the CPU view in Delphi and then analyzed and optimized. Sometimes optimization involves the usage of MMX, SSE or SSE2 instructions.By taking the code made by the compiler from a Pascal function the most commonly used instructions from the big 32 bit Intel Architecture instruction set are introduced to the beginner first. Seeing which code the compiler generates is leading to a valuable insight in the effectiveness of compiler generated code in general and into the Delphi compiler specifically.
As specific assembly code optimizations are introduced generalizations will be introduced when suitable. These general optimizations are suitable for implementation in compilers and most compilers including Delphi have them. At some point in the future a tool that automatically optimizes assembler code will be developed.
Knowledge about the target processor is often needed when optimizing code and therefore are a lot of CPU details, such as pipelines are explained in the series too.
As far as I know there is only little literature available that explains all these issues on a level where beginners can follow it. I hope this series will help fill this void.
Best regards
Dennis Kjaer Christensen.
If you like these articles you can support the author with a payment of your own choice. The account number is: 9280 456 37 05170. Swift number: SPNO DK 22.
I am going to buy some more computers to make coming articles even better. Opteron, Prescott and Centrino processors are very interesting and I look forward to writing about optimizations targeting them.
BASM for Beginners 1, HTML Version
BASM for Beginners 1, Word Version
BASM for Beginners 1B, HTML Version
BASM for Beginners 1B, Word Version
BASM for Beginners 1C, HTML Version
BASM for Beginners 1C, Word Version
BASM for Beginners 2, HTML Version
BASM for Beginners 2, Word Version
BASM for Beginners 3, HTML Version
BASM for Beginners 3, Word Version
BASM for Beginners 4, HTML Version
BASM for Beginners 4, Word Version
BASM for Beginners 5, HTML Version
BASM for Beginners 5, Word Version
BASM for Beginners 6, HTML Version
BASM for Beginners 6, Word Version
BASM for Beginners 7, HTML Version
BASM for Beginners 7, Word Version