Forth
http://fforum.winglion.ru/

что же такое стек?
http://fforum.winglion.ru/viewtopic.php?f=36&t=2239
Страница 4 из 4

Автор:  chess [ Чт авг 20, 2009 09:55 ]
Заголовок сообщения: 

Структура данных, которая в форте называется стек данных, имеет свойства стека и одномерного массива одновременно и
не сводится ни к стеку ни к массиву - правильнее ее называть стеко-массив.

Автор:  WingLion [ Чт авг 20, 2009 18:49 ]
Заголовок сообщения: 

Массив он только в программном случае, но не в железном.
В железе есть стек и только стек. Без всяких массивов.

Автор:  mOleg [ Чт авг 20, 2009 19:22 ]
Заголовок сообщения: 

как хотите, стек это некий механизм или устройство - тут я так понимаю вопросов нет
для промежуточного хранения данных - как и в случае с регистром (в любом случае в стеке данные в отличие от массива и канала данные не хранят)
с двумя фундаментальными поддерживаемыми операциями (к чайнику можно и брилианты прикрутить, при этом чайником он останется, а вот в брилиантах без чайника воду не вскипятить!) - извлечение и заталкивание (все остальное лишнее).
Доступ ведется только с одного конца (а вот с какого не важно, то есть стек может расти и вверх и вниз)

все остальное - это уже дополнительные свойства, которых может не быть, а значит они не являются фундаментальными свойствами стека.

Таким образом, если некое устройство позовляет заталкивать данные, извлекать как это происходит в стеке, а так же читать верхнее значение и перезаписывать его без заталкивания, то его надо рассматривать как составное устройство состоящее из регистра и стека под ним в не зависимости от методики реализации (в железе или внутри ФВМ).

Таким образом, как я уже отмечал выше, у Форт-процессора как минимум есть 1 регистр TOS - аккумулятор, который работает с другим регистром данных SUB (например операции ! + - , но, кстати, SWAP не требует, чтобы SUB был регистром!!!) а так же два адресных регистра: IP и RTOS
все.

Страница 4 из 4 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/