DASM (15.09.2004 09:50, просмотров: 1) ответил Алексей Мусин на Ничего, это пройдет после 3-дневного ковыряния в поисках "бага" :)
ну bialix вроде человек зрелый :-) Вспоминаю как я классно попал с макросами, правда в ассемблере 51-го написал для облегчения жизни несколько макросов. А Ассемблер был Keil, он понимает псевдоинструкции JMP и CALL, делая из них по обстоятельствам ACALL LCALL
Там вот макрос был такой
.MACRO CJE
cjne reg, val, $+3
jmp lable
.ENMACRO
Синтаксис и точную величину смещения не помню, давно это было. Все работало очень долго... Пока величина смещения label не стала более 2к и оттранслировалась в LJMP
Пол дня искал глюк :-( Причем он сложно воспроизводился, добавление какого нить NOP по тексту симпотмы снимало напрочь.
Вобщем осторжнее с макросами, и применяйте С++ где только возможно. Не призываю к классам и наворотам. Но строгая типизация, наличие inline, ссылокб модификатора const может существенно повысить надежность и понятность программ