ПредишенСледващото

Във всички предишни уроци, аз говорих за съставител TASM, тъй като тя е стандартна и nenavorochenny. Но по-популярни компилаторът е MASM, той е създаден специално за писане на програми на асемблер за Win32. В него има макроси и специални директиви за опростяване на програмирането.

Основното предимство на този MASM макро Invoke, тя позволява да се обадите на API функции по обичайния проверка за броя и вида на параметри. Това е почти една и съща разговор, в TASM, но този макро проверки на броя на параметрите и техните видове. Ето как функцията се нарича:

За да използвате със събитията да се обадя на процедура, трябва да се определи неговата прототип:

Тази директива декларира процедура, наречена testproc, която отнема 3 параметри с размерите на DWORD.

Сега, ако направите това.

MASM ще ви даде грешка, тъй като процедурата отнема 3 testproc параметри, а не 4. MASM също въведете проверка, т.е. Тя проверява дали параметрите са правилния тип (размер).

Това създава процедура, наречена testproc, с три параметъра. Прототипът се използва, да се позове. Всички параметри могат да бъдат използвани в кода на процедура, те автоматично ще извлече от тестето. Също така, локални променливи могат да бъдат използвани при процедури.

Не можете да използвате тези променливи извън процедурата. Те се съхраняват в стека и се премахват, когато се завръщат от участие в процедурата.

сравнение Проектиране и повторете.

Ако - За този проект са ми казвали 10 урок. Той има същия синтаксис като в TASM.

Повторете - Тази структура изпълнява блок, докато състоянието не е вярно:

Този дизайн следва кода между повторение и докато, докато EAX е равно на 1.

Докато - докато строителството е инверсия повторение дизайн. Тя изпълнява блок, докато условието е вярно:

Можете да използвате директива .BREAK за прекъсване на цикъла и да се махаме.

Ако EAX = 7, докато цикълът се прекъсва.

Директива продължи скокове на кода проверява състоянието на линия в дизайна повтаря и време.

Сега, нашата първа програма се променя както следва:

Когато се съберат в TASM начин да статични библиотеки, които използвахме при съставянето, в MASM начин да статични библиотеки посочваме в текста на програмата по същия начин, както и пътя за включване на файлове чрез директива includelib.

Прототипи всяка библиотека имат едно и също име в включват файлове в пътищата за включване. Не е необходимо да се напише функциите на прототипи, те вече имат:

Те включват файлове, определени функции, без буквите А или W в края. Не е необходимо да се уточни тези писма в края.

Компилация.

събере без свързване

По принцип, вие използвате тази опция, тъй като ще бъде с помощта на външна свързваща (напр link.exe), за да се свържете с вашите файлове.

генериране на COFF обект файлов формат

Това създава файлов формат за свръзката на Microsoft.

името на файла обект

Може да се използва, ако искате на изходния файл с различно име, а не като на оригиналния файл.

Употреба призовава Pascal, C, или Stdcall

Изберете типа на разговори с процедури.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!