Обновил пост с процедурой. Работа под SDCC протестирована.
Код был заточен под интерфейс Hitech C.
обменивает содержимое HL и ячейки по указателю в SP. На 2 такта быстрее (19), чем брать значение через POP, а потом восстанавливать указатель стэка через PUSH (10+11).
привычка. AF неудобен для снятия и хранения аргументов. Поэтому в него лучше всего сохранять адрес возврата, а аргументы снимать в "нормальные" регистровые пары.
Нам это значение здесь не нужно, тем более, что оно случайно. - нам нужен был аргумент со стэка, - мы его получили.
Приходя, прерывание сохранит адрес возврата в следующей ячейке а не в этой. Сначала уменьшается значение SP, а только потом записывается содержимое PC. LD -(SP),PC





Ответить с цитированием