Макросредства ассемблера – это совокупность конструкций языка, заставляющих транслятор генерировать и/или модифицировать исходный текст программы. Само по себе понятие макросредств не является уникальной особенностью ассемблера. В С и С++ существует понятие препроцессора, а без директив #include и #define не обходится практически ни одна программа. Препроцессорные директивы являются аналогами макросредств ассемблера. В ас- семблере набор макросредств получил наибольшее развитие. Строго говоря, элементы макросредств в ассемблере часто используются неявно: директивы proc и local вызывают подстановку в текст программы по- следовательностей команд, образующих коды пролога и эпилога; директива uses вызывает генерацию последовательностей команд push и pop; в TASM в командах сдвигов можно указывать в качестве второго аргумента произвольное число: shl ax,n, хотя процессор позволяет сдвигать либо на один разряд, либо помещать произвольное количество сдвигов в регистр cl. Транслятор в этом случае подставит в текст программы n