Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

6502:brk-00 [2013/10/28 15:38] (текущий)
org создано
Строка 1: Строка 1:
 +==== BRK ====
  
 +BRK - это инструкция программного прерывания.
 +
 +Обычно BRK используется в качестве "​паддинга",​ чтобы забить нулями области программы,​ где исполнение нежелательно.
 +
 +Как и все прерывания,​ инструкция BRK обрабатывается так называемой "​BRK-последовательностью",​ которая одинаковая для всех прерываний,​ за исключением некоторых моментов,​ ключевых для каждого типа прерываний.
 +
 +Выполняется BRK за 7 тактов. Тайминги с выходов декодера следующие :
 +
 +<​code>​
 +T0 010000000000000000000 T0 ANY
 +T0 010100010101010100000 BRK RTI
 +T2 000000000000000001000 T2 ANY
 +T2 000000000100000001000 LEFT ALL
 +T2 000000010001010101000 BRK JSR RTI RTS Push/pull - stack operations on T2
 +T2 000000010001010101000 BRK JSR RTI RTS Push/pull
 +T2 000101010101010101000 BRK
 +T3 000000000000000000100 T3 ANY
 +T3 000000000001010100100 BRK JSR RTI RTS Push/pull + BIT JMP
 +T4 000001010101010100010 BRK JSR
 +T4 000000000000000000010 T4 ANY
 +T4 000101010101010100010 BRK
 +T5 000101010101010100001 BRK
 +TX 000100010101010100000 BRK RTI
 +</​code>​
 +
 +Как видно обработка BRK частично совмещена с инструкциями RTS, RTI и JSR.
  • Показать страницу