Добрый день всем.
Долго конечно отсутствовал, но ведь лето оно и есть лето, отдыхал.

К тому же дома ремонт, теперь когда с ремонтом затишье, а вернее попросту деньги закончились на это, решил вновь заняться игрой от безделия, ведь осталось вроде всего 2кб кода перелопатить из 32кб, а я насколько помню когда перестал ей заниматься так и не смог понять почему код перестал работать после того как переписал обработку действий персонажа в игре, перепроверял код неоднократно, всё без ошибок, но программа всё равно останавливается.
В результате сейчас вновь дважды перепроверил весь код подпрограммы, ошибок так и не нашол, но нашол предположительную причину краха всей работы, после разрисовывания на листке бумаге оказалось что обработка действий требует больше уровней стека вызовами подпрограмм, и jmp'ами с записью адреса возврата в стек. Видимо это и стало моей проблемой ведь особо не задумываясь над уровнями стека из-за неопытности пренебрегал вниманием к нему и лепил jsr везде где необходимо было дабы реже писать один и тот же код.
Но на ошибках учатся как говориться, прийдётся видимо вновь перелопатить всё.
Но прежде хотелось бы поподробней разузнать по поводу стека.
По части принципа работы стека можно уже не объяснять, больше интересует информация относительно его вместимости. На сколько я уже вкурсе:
JSR тратит 1 уровень стека записывает 2 байта адреса возврата.
JMP уровни стека не расходует, адрес возврата так же не пишет?
NMI тратит 1 уровень стека записывает 3 байта адрес возврата и состояние флагов
PHA и PLA использует 1 байт для записи аккумулятора в стек, уровни стека не расходует?
Интересует сколько байт можно записать в 1 уровень стека, и влияние PHA на уровни стека?