Первое моё знакомство с макросам было случайным. Я обладаю плохим свойством засыпать за чтением учебников. Поэтому учебники я не читаю, и впервые узнал про макросы от преподавателя, который посмотрел что я в сотый раз пишу цикл по 2 переменным и посоветовал мне создать макрос.
Оказалось теперь с помощью
А теперь макросы в ассемблере, они мне невероятно облегчили жизнь.
Как я задолбался с вечной отладкой и выводом символов порчей регистров, и так далее, но вот ВНЕЗАПНО наткнулся на макрос.
И теперь вместо
Я пишу просто
Классно ещё то что макросам можно сообщать параметры. Да, согласен. Процедуры лучше макросов по занимаемому месту, но по скорости работы макросы выигрывают. Макрос - простая замена текста. Теперь мои программы даже на ассемблере гораздо больше человечны.
Оказалось теперь с помощью
#define F for(i=0;i<n;i++)
я могу вместо обыкновенного цикла писать просто буковку F. Любопытно также то что Си вполне поддерживает кирилицу в макросах, так что можно по извращатся и набить что-то типа #define сделать_10_раз for (i=0; i<10;i++)
Вообще можно весёлый исходник составить.А теперь макросы в ассемблере, они мне невероятно облегчили жизнь.
Как я задолбался с вечной отладкой и выводом символов порчей регистров, и так далее, но вот ВНЕЗАПНО наткнулся на макрос.
И теперь вместо
push si
push ax
push dx
tabl db '0123456789'
mov si,A
mov ah,2
mov dl,10
int 21h
mov ah,2
mov dl,tabl[si]
int 21h
mov ah,2
mov dl,10
int 21h
pop dx
pop ax
pop si
push ax
push dx
tabl db '0123456789'
mov si,A
mov ah,2
mov dl,10
int 21h
mov ah,2
mov dl,tabl[si]
int 21h
mov ah,2
mov dl,10
int 21h
pop dx
pop ax
pop si
Я пишу просто
ToVisual A
где A - то число которое мне надо отобразить.Классно ещё то что макросам можно сообщать параметры. Да, согласен. Процедуры лучше макросов по занимаемому месту, но по скорости работы макросы выигрывают. Макрос - простая замена текста. Теперь мои программы даже на ассемблере гораздо больше человечны.
Ты изобрел новый тип программ.
ОтветитьУдалитьЧеловечные..