| $hwstack, $swstack, $framesize | 
| 
				
			 | 
| 
| space | Дата: Понедельник, 14.01.2013, 00:36 | Сообщение # 1 |  | Группа: Проверенные Сообщений: 42 
 Статус: Offline | Что это такое? Для чего? На основе чего ставятся те или иные цифры? 
 Код $hwstack = 8 $swstack = 16
 $framesize = 16
 
 |  
 |  |  |  | 
| 
| exersizze | Дата: Понедельник, 14.01.2013, 01:32 | Сообщение # 2 |  |   Группа: Администраторы Сообщений: 720 
 Статус: Offline | Это распределение пространства статической памяти (SRAM) под нужды программы в байтах, так называемый стэк. hwstack - аппаратный стек, он необходим контроллеру чтобы записывать в него адреса того места, откуда прыгнула программа на подпрограмму или функцию. Если проще то так, камень выполняет программу и тут ему нужно уйти на выполнение какой-то подпрограммы (например прерывание), вот чтобы знать куда возвращаться после того как подпрограмма отработана, необходимо место чтобы сохранить этот адрес. При использовании в программе одного Gosub необходимо место в 2 байта.
 swstack - программный стэк. Практически тоже самое, но хранит переменные (вернее их адреса) чтобы не потерять их после ухода на подпрограмму. Для хранения каждого адреса переменной тоже нужно резервировать по 2 байта.
 framesize - это размер выделяемой памяти для преобразований строк, их форматирования, подготовку вывода на дисплей по команде LCD или PRINT/INPUT. В общем та область памяти куда буферизируются переменные для последующей обработки.
 
 Как то так, вот хорошая ссылка по этой теме http://www.mcselec.com/index.p....emid=57 с картинками и примерами. Только там все на вражеском языке, неплохо бы если кто-то занялся переводом.
 
 
 |  
 |  |  |  | 
| 
| space | Дата: Вторник, 15.01.2013, 02:11 | Сообщение # 3 |  | Группа: Проверенные Сообщений: 42 
 Статус: Offline | exersizze, спасибо если бы знал английский перевел бы) и не спрашивал об этом
 
 И еще вопросик, если в программе не вписывать стэки вообще, то как может повлиять на работу программы при наличие всяких переменных, переходов и т.д.?
 
 
 |  
 |  |  |  | 
| 
| kip96 | Дата: Вторник, 15.01.2013, 12:16 | Сообщение # 4 |  | Группа: Свой человек Сообщений: 170 
 Статус: Offline | Они автоматически пропишутся, те которые стоят в настройках компилятора. 
 
 |  
 |  |  |  | 
| 
| exersizze | Дата: Среда, 16.01.2013, 03:00 | Сообщение # 5 |  |   Группа: Администраторы Сообщений: 720 
 Статус: Offline | Если стэка не хватает, то программа будет работать неккоректно. Лично сталкавался с тем что переменные  обнулялись после того как проделывал сложные операции в подпрограммах. 
 
 |  
 |  |  |  | 
| 
| KoSS_89 | Дата: Среда, 16.01.2013, 22:43 | Сообщение # 6 |  |   Группа: Проверенные Сообщений: 53 
 Статус: Offline | Спасибо за разъяснение, давно хотел разобратся. 
 
 |  
 |  |  |  | 
| 
| Sandor | Дата: Четверг, 15.08.2013, 01:50 | Сообщение # 7 |  | Группа: Пользователи Сообщений: 11 
 Статус: Offline | Спасибо. 
 
 |  
 |  |  |  | 
| 
| KoSS_89 | Дата: Четверг, 15.08.2013, 17:29 | Сообщение # 8 |  |   Группа: Проверенные Сообщений: 53 
 Статус: Offline | А вобще здесь http://bascom.at.ua/load....-1-0-46 целая статья на русском про эти стеки, только нужно зарегестрироваться! 
 
 |  
 |  |  |  | 
| 
| exersizze | Дата: Пятница, 05.09.2014, 17:51 | Сообщение # 9 |  |   Группа: Администраторы Сообщений: 720 
 Статус: Offline | Комментарий к этому "переведу" улыбнул) 
   
 
 |  
 |  |  |  | 
| 
| RD3AVJ | Дата: Суббота, 06.09.2014, 20:22 | Сообщение # 10 |  |   Группа: Свой человек Сообщений: 175 
 Статус: Offline |   
 
 |  
 |  |  |  |