interrupt_routine:
enter r0, r1, r2, r15, r23, XL, XH
; далее сама процедура, использующая вышеперечисленные регистры
leave XH, XL, r23, r15, r2, r1, r0
reti
если ошибиться по запарке и скопипастить строку из первого макроса во второй, то получим ужасную ошибку. поэтоу мне хотелось бы добиться такого стиля:
interrupt_routine:
enter r0, r1, r2, r15, r23, XL, XH
; далее сама процедура, использующая вышеперечисленные регистры
leave
reti
то есть дуфму автоматически восстанавливает в нужном порядке нужные регистры.
по-моему, красиво и удобно, а главное - безошибочно.
ваш метод все равно заставляет писать кучу "заталкиваний" в стек а потом ПОМНИТЬ порядок их извлечения оттуда - я же хочу добиться полной автоматики :)