|
В тази глава ще се върнем отново на първата програма, която написахме и ще видим как можем да я напишем буквално само на няколко реда. В края на краищата това е наистина една много малка програмка и защо трябва да правим нещата трудно, когато можем да ги правим лесно.
1. Макроси - съвсем малко теория... Макросите са един изключително мощен инструмент при писане на асемблер. За да разберем как работи цялата работа, още отначало трябва да възприемем правилен подход към макросите. И той е: "Макросите са просто начин да вмъкваме автоматично текст, в сорса на програмата." Нищо повече, просто там където трябва да напишем много еднообразни редове текст, макросите го правят само с един ред. По време на компилацията, първата работа на асемблера е да замести името на макроса със текста, който макроса генерира. След това се компилира именно сорса със вече заместените макроси. Ето и един елементарен пример, за да ви стане ясно: CODE
Този сорс ще се компилира на две стъпки - първо компилаторът ще замести навсякъде макросът "myname" със текста от дефиницията на този макрос. Забележете, че е възможно предаването на параметри към макроса, които се заместват в текста който трябва да се генерира. Резултатът след заместването ще бъде следният сорс: CODE
След това се компилира именно този текст. Разбира се,с използването на макроси може да се правят много по-сложни неща, отколкото даденият пример, но винаги става въпрос за генериране на текст, който иначе ще е досадно да се пише на ръка. Използването на макроси, ако се прави с мярка и разум, може да увеличи четимостта на сорса, както и да освободи програмиста от писането на повтарящ се еднообразен код, както и да автоматизира дейности, които са стандартни и не представляват интерес за решаването на проблема. И като повечето мощни инструменти, ако не се използват както трябва, макросите могат да направят от сорса на програмата една голяма, неразбираема каша... Всичко е въпрос на баланс и точна преценка, която постепенно ще научим ако искаме да пишем висококачествен код. Засега ще отложим писането на макроси и запознаването с по-сложните страни на техният синтаксис за след няколко глави. Предназначението на тази глава е да покаже как с използването на стандартната макро библиотека на FASM може да се улесни писането на програми за Windows.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||









