Умные вопросы
Войти
Регистрация
Поясните за 8051 мцушки
Ковырялся с прерываниями, и заметил, что он пишет какую-то гадость в 1 банк (не 0) R0-R1. Стал искать что к чему, и мне втирали, что при прерывани мцушка пишет аккумулятор и psw туда на всякий случай. Мол принято у них так.
Потом понял, что наврали, и там просто стоит стэк по-умолчанию, и он пишет туда pc. Лан, ок. Вопрос - так сохраняет он акк и psw при прерывании в итоге или нет? Может, просто не туда? И это что, их тогда нельзя менять в обработке прерывания?
3 дней
назад
от
Mrs Evil
1 ответ
▲
▼
0
голосов
сохраняет адрес возврата (16-битный) в стеке. Указатель стека (SP) по умолчанию на 0x07, то есть в районе второго банка регистров. Можно назначить другое значение указателя. При входе в прерывание или при вызове подпрограммы (CALL) он автоматичестки инкрементируется, при выходе из прерывания (RETI) или из подпрограммы (RET) - декрементируется.
AСС и PSW он не сохраняет, но можно самому поместить их в стек push acc, push psw. Извлекать в обратном порядке - pop psw, pop acc
2 дней
назад
от
ChristalSeri
Связанные вопросы
2
ответов
Где в розетке + и -? Хочу зарядить батарейки.
7 года
назад
от
Саша Маслов
1
ответ
как сфокусировать лампочку накаливания
10 года
назад
от
Тамерлан
1
ответ
За день можно выучить грамматику английского?
4 года
назад
от
ImogeneWekey