#1
|
|||
|
|||
Стек в AVR
Dmitry E. Oboukhov написал(а) к All в Nov 17 22:28:51 по местному времени:
А вот кто помнит? вот есть регистр SP, допустим его значение 123. 123 - это адрес ячейки куда будет помещен байт по команде push? или это адрес ячейки откуда он будет извлечен по команде pop? В первом случае push/pop условно такие: void push(byte value) { *SP = value; SP--; } byte pop() { SP++; return *SP; } а во втором такие: void push(byte value) { SP--; *SP = value; } byte pop() { byte res = *SP; SP++; return res; } А CALL что сперва на стек кладет, младший байт адреса или старший? ... Каждый либерал должен иметь неотъемлемое право быть повешенным. --- NeoMutt/20170113 (1.7.2) |