Автор |
Сообщение |
|
|
Заголовок сообщения: |
Re: Quark 64: выбор модели жизненного цикла и ее адаптация |
|
|
Mihail писал(а): Что касается Форта, программу на сентябрь я выполнил. http://fpauk.narod.ru/FAsmForth64.tar.bz2Это примерно как если бы на тренировке по бегу вместо 10 кругов по стадиону приехать на такси к финишу...
[quote="Mihail"]Что касается Форта, программу на сентябрь я выполнил. http://fpauk.narod.ru/FAsmForth64.tar.bz2[/quote] Это примерно как если бы на тренировке по бегу вместо 10 кругов по стадиону приехать на такси к финишу... :?
|
|
|
|
Добавлено: Чт сен 12, 2013 15:47 |
|
|
|
|
|
Заголовок сообщения: |
Re: Quark 64: выбор модели жизненного цикла и ее адаптация |
|
|
Mihail, таки поставь в настройках профиля на форуме всплывающее окошко при получении ЛС
[b]Mihail[/b], таки поставь в настройках профиля на форуме всплывающее окошко при получении ЛС ;)
|
|
|
|
Добавлено: Вс сен 08, 2013 20:52 |
|
|
|
|
|
Заголовок сообщения: |
Re: Quark 64: выбор модели жизненного цикла и ее адаптация |
|
|
Хищник писал(а): Нужно fasm 1.70. ОС - главное, чтобы 64-разрядная. Можно проверить пример с OpenGL из папки 64-разрядных примеров. Под Ubuntu64 не нашел примеров для OpenGL. Что касается Форта, программу на сентябрь я выполнил. http://fpauk.narod.ru/FAsmForth64.tar.bz2 Загрузка файлов не работает (не перетащил FILE-POSITION REPOSITION-FILE требующиеся для READ-LINE). Не знаю как реализовать опрос клавиатуры без gcc.
[quote="Хищник"]Нужно fasm 1.70. ОС - главное, чтобы 64-разрядная. Можно проверить пример с OpenGL из папки 64-разрядных примеров.[/quote] Под Ubuntu64 не нашел примеров для OpenGL. Что касается Форта, программу на сентябрь я выполнил. [url]http://fpauk.narod.ru/FAsmForth64.tar.bz2[/url] Загрузка файлов не работает (не перетащил FILE-POSITION REPOSITION-FILE требующиеся для READ-LINE).
Не знаю как реализовать опрос клавиатуры без gcc.
|
|
|
|
Добавлено: Сб сен 07, 2013 23:08 |
|
|
|
|
|
Заголовок сообщения: |
Re: Quark 64: выбор модели жизненного цикла и ее адаптация |
|
|
Mihail писал(а): О каком примере идет речь? Там написано. Mihail писал(а): Т.е. полуфабрикат на ассемблере таки нужен? Таки не нужен, это не полуфабрикат.
[quote="Mihail"]О каком примере идет речь? [/quote] Там написано. [quote="Mihail"]Т.е. полуфабрикат на ассемблере таки нужен?[/quote] Таки не нужен, это не полуфабрикат.
|
|
|
|
Добавлено: Вт сен 03, 2013 00:20 |
|
|
|
|
|
Заголовок сообщения: |
Re: Quark 64: выбор модели жизненного цикла и ее адаптация |
|
|
Хищник писал(а): 1. Проверить, что пример OpenGL64 компилируется. 2. Найти место для работы и скопировать туда файл ..../WIN64/OPENGL/opengl.asm , переименовав его так, как нравится. О каком примере идет речь? Т.е. полуфабрикат на ассемблере таки нужен?
[quote="Хищник"]1. Проверить, что пример OpenGL64 компилируется. 2. Найти место для работы и скопировать туда файл ..../WIN64/OPENGL/opengl.asm , переименовав его так, как нравится. [/quote] О каком примере идет речь? Т.е. полуфабрикат на ассемблере таки нужен?
|
|
|
|
Добавлено: Пн сен 02, 2013 13:35 |
|
|
|
|
|
Заголовок сообщения: |
Re: Quark 64: выбор модели жизненного цикла и ее адаптация |
|
|
Битые ссылки? http://msyst.ru/downloads/quarkexe.zip - 312 байт http://msyst.ru/downloads/proton.zip - 406 байт Оба файла повреждены.
|
|
|
|
Добавлено: Вс сен 01, 2013 14:08 |
|
|
|
|
|
Заголовок сообщения: |
Re: Quark 64: выбор модели жизненного цикла и ее адаптация |
|
|
Да, и собственно, рекомендации в стиле "что конкретно сделать". 1. Проверить, что пример OpenGL64 компилируется. 2. Найти место для работы и скопировать туда файл ..../WIN64/OPENGL/opengl.asm , переименовав его так, как нравится. Возможно, положить туда же opengl.inc и win64a.inc. 3. Завести журнал разработок. Записи должны быть "метрическими" - например, вместо "сделаны слова для работы со стеком" привести перечень этих слов. 4. Описать здесь свои пожелания (они же планы) по реализации интерфейса. У меня это будет графическая консоль на поверхности OpenGL, как было и в кварке32.
Да, и собственно, рекомендации в стиле "что конкретно сделать". 1. Проверить, что пример OpenGL64 компилируется. 2. Найти место для работы и скопировать туда файл ..../WIN64/OPENGL/opengl.asm , переименовав его так, как нравится. Возможно, положить туда же opengl.inc и win64a.inc. 3. Завести журнал разработок. Записи должны быть "метрическими" - например, вместо "сделаны слова для работы со стеком" привести перечень этих слов. 4. Описать здесь свои пожелания (они же планы) по реализации интерфейса. У меня это будет графическая консоль на поверхности OpenGL, как было и в кварке32.
|
|
|
|
Добавлено: Вс сен 01, 2013 02:21 |
|
|
|
|
|
Заголовок сообщения: |
Re: Quark 64: выбор модели жизненного цикла и ее адаптация |
|
|
Итак, начинаем. С учетом всех мнений получается, что нам наиболее удобна инкрементная модель. Вкратце она состоит в разработке программы с тремя итерациями ("инкрементами"). При проработке итераций возможности постепенно нарастают, что удобно в случаях, когда коллектив разработчиков не вполне знаком с тем, что предстоит сделать. Итерации будут следующие:
1. Сентябрь 2013. Получение базового варианта приложения. Оно должно содержать: - реализацию базового движка программы (консоль или ее эквивалент в виде запросов к dll); - операции со стеком, памятью и арифметико-логические операции; - базовые операции со словарем (возможно, единственным): поиск, исполнение, компиляция нового слова, CREATE DOES>; - базовые структуры управления (IF-ELSE-THEN, BEGIN-UNTIL, BEGIN-WHILE-REPEAT, DO-LOOP);
Результатом должна стать программа, которая обеспечит выполнение примеров в виде математических расчетов.
На этом этапе НЕ СТАВИТСЯ ЗАДАЧА: - реализации проблемных/рискованных алгоритмов, которые способны существенно задержать разработку из-за сложности отладки; - достижения максимальной производительности; - обеспечения высокой надежности; - достижение высокой компактности кода, эргономических показателей и т.п. Вместо этого все наблюдения записываются в качестве задач для следующих этапов.
2. Октябрь 2013. Наращивание функциональности. Задача этапа - реализация спецификации транслятора. Это может быть набор слов Quark, или тот набор, который поставит себе в качестве задачи каждый из участников. Тем не менее, спецификация должна быть разработана ДО начала работ над итерацией.
3. Ноябрь 2013. Финальная итерация. На протяжении второй итерации неоднократно может казаться, что она и является финальной. Тем не менее, практически обязательно появится список обнаруженных проблем и пожеланий, а также замечания к производительности, надежности, стилю кода и т.п. Доработка программы в соответствии с этими требованиями, а также реализация того, что будет освоено в процессе обсуждения, общения и изучения fasm, и будет составлять суть работ по этому этапу.
4. Декабрь 2013. Тестирование, доработка документации.
На что стоит обращать внимание в качестве возможных проблем, характерных для выбранной модели (список далеко не полон, но это то, что, на мой взгляд, способно в наибольшей степени повлиять): - общий объем работ не уменьшится, несмотря на то, что уже после первой итерации вроде бы что-то будет; - возможна тенденция к чрезмерному перебрасыванию проблемных мест на последующие итерации.
За основу программы можно взять пример OpenGL из примеров fasm 1.70 (64-разрядная версия).
Итак, начинаем. С учетом всех мнений получается, что нам наиболее удобна инкрементная модель. Вкратце она состоит в разработке программы с тремя итерациями ("инкрементами"). При проработке итераций возможности постепенно нарастают, что удобно в случаях, когда коллектив разработчиков не вполне знаком с тем, что предстоит сделать. Итерации будут следующие:
1. Сентябрь 2013. Получение базового варианта приложения. Оно должно содержать: - реализацию базового движка программы (консоль или ее эквивалент в виде запросов к dll); - операции со стеком, памятью и арифметико-логические операции; - базовые операции со словарем (возможно, единственным): поиск, исполнение, компиляция нового слова, CREATE DOES>; - базовые структуры управления (IF-ELSE-THEN, BEGIN-UNTIL, BEGIN-WHILE-REPEAT, DO-LOOP);
Результатом должна стать программа, которая обеспечит выполнение примеров в виде математических расчетов.
На этом этапе НЕ СТАВИТСЯ ЗАДАЧА: - реализации проблемных/рискованных алгоритмов, которые способны существенно задержать разработку из-за сложности отладки; - достижения максимальной производительности; - обеспечения высокой надежности; - достижение высокой компактности кода, эргономических показателей и т.п. Вместо этого все наблюдения записываются в качестве задач для следующих этапов.
2. Октябрь 2013. Наращивание функциональности. Задача этапа - реализация спецификации транслятора. Это может быть набор слов Quark, или тот набор, который поставит себе в качестве задачи каждый из участников. Тем не менее, спецификация должна быть разработана ДО начала работ над итерацией.
3. Ноябрь 2013. Финальная итерация. На протяжении второй итерации неоднократно может казаться, что она и является финальной. Тем не менее, практически обязательно появится список обнаруженных проблем и пожеланий, а также замечания к производительности, надежности, стилю кода и т.п. Доработка программы в соответствии с этими требованиями, а также реализация того, что будет освоено в процессе обсуждения, общения и изучения fasm, и будет составлять суть работ по этому этапу.
4. Декабрь 2013. Тестирование, доработка документации.
На что стоит обращать внимание в качестве возможных проблем, характерных для выбранной модели (список далеко не полон, но это то, что, на мой взгляд, способно в наибольшей степени повлиять): - общий объем работ не уменьшится, несмотря на то, что уже после первой итерации вроде бы что-то будет; - возможна тенденция к чрезмерному перебрасыванию проблемных мест на последующие итерации.
За основу программы можно взять пример OpenGL из примеров fasm 1.70 (64-разрядная версия).
|
|
|
|
Добавлено: Вс сен 01, 2013 01:59 |
|
|
|
|
|
Заголовок сообщения: |
Re: Quark 64: выбор модели жизненного цикла и ее адаптация |
|
|
KPG писал(а): На Fasm пишется операционная система Колибри ОС и её KolibriOS форум можно на её коде учится использовать Fasm. Это, возможно, и хороший путь, но несколько посторонний. Fasm - инструмент. Если правильно сформулировать частную задачу, то достаточно будет изучить ровно то, что требуется для ее решения. Просто так "накачивать" навыки работы с Fasm менее эффективно из-за размытости требований к тому, что же реально следует изучить. "Смотреть на код" - это не изучение. Написать программу, находящую сумму элементов массива - это получение конкретного, проверяемого (сравнили с эталонной суммой) и воспроизводимого (написали еще раз, с другим типом данных и на другой платформе) навыка. Форт - это неплохой набор таких частных задач.
[quote="KPG"]На Fasm пишется операционная система Колибри ОС и её KolibriOS форум можно на её коде учится использовать Fasm. [/quote] Это, возможно, и хороший путь, но несколько посторонний. Fasm - инструмент. Если правильно сформулировать частную задачу, то достаточно будет изучить ровно то, что требуется для ее решения. Просто так "накачивать" навыки работы с Fasm менее эффективно из-за размытости требований к тому, что же реально следует изучить. "Смотреть на код" - это не изучение. Написать программу, находящую сумму элементов массива - это получение конкретного, проверяемого (сравнили с эталонной суммой) и воспроизводимого (написали еще раз, с другим типом данных и на другой платформе) навыка. Форт - это неплохой набор таких частных задач.
|
|
|
|
Добавлено: Ср авг 28, 2013 21:06 |
|
|
|
|
|
Заголовок сообщения: |
Re: Quark 64: выбор модели жизненного цикла и ее адаптация |
|
|
Sunforth писал(а): Не это имел в виду. Допустим поставил fasm потом 1. написал ассемблерный код бесконечного цикла 2. в цикле жду пока пользователь введет слово например dup. 3. делаю поиск того что ввел пользователь 4. нахожу у себя в словаре слово dup, вот дальше что делать незнаю. На Fasm пишется операционная система Колибри ОС и её KolibriOS форум можно на её коде учится использовать Fasm. P.S. На Fasm есть сделанные Форт системы (часть названий было в посте выше) их реализации можно посмотреть для "первичного" знакомства.
[quote="Sunforth"] Не это имел в виду. Допустим поставил fasm потом 1. написал ассемблерный код бесконечного цикла 2. в цикле жду пока пользователь введет слово например dup. 3. делаю поиск того что ввел пользователь 4. нахожу у себя в словаре слово dup, вот дальше что делать незнаю.[/quote]
На Fasm пишется операционная система Колибри ОС [url=http://board.kolibrios.org]и её KolibriOS форум[/url] можно на её коде учится использовать Fasm.
P.S. На Fasm есть сделанные Форт системы (часть названий было в посте выше) их реализации можно посмотреть для "первичного" знакомства.
|
|
|
|
Добавлено: Ср авг 28, 2013 00:06 |
|
|
|
|
|
Заголовок сообщения: |
Re: Quark 64: выбор модели жизненного цикла и ее адаптация |
|
|
Нужно fasm 1.70. ОС - главное, чтобы 64-разрядная. Можно проверить пример с OpenGL из папки 64-разрядных примеров.
Как будем писать - все поясню. В четверг вернусь и начнем.
Нужно fasm 1.70. ОС - главное, чтобы 64-разрядная. Можно проверить пример с OpenGL из папки 64-разрядных примеров.
Как будем писать - все поясню. В четверг вернусь и начнем.
|
|
|
|
Добавлено: Вт авг 27, 2013 23:10 |
|
|
|
|
|
Заголовок сообщения: |
Re: Quark 64: выбор модели жизненного цикла и ее адаптация |
|
|
Скачал отсюда http://flatassembler.net/download.php вот этот файл http://flatassembler.net/fasmw17003.zipПохоже fasm 1.71 еще не тестировался, качать его смысла нет. Потом скачал http://msyst.ru/downloads/quarkexe.zip еще это http://msyst.ru/downloads/proton.zip дополнительно вот это http://msyst.ru/downloads/quark.pdf Что еще нужно? Windows 7 или Windows XP? Цитата: А дальше этим можно будет пользоваться В том числе и в зависимости от текущих потребностей. Кстати, в вузе в определенной степени проще внедрить Форт в исследовательскую деятельность, чем внедрить его в конструкторскую практику на предприятии. Не это имел в виду. Допустим поставил fasm потом 1. написал ассемблерный код бесконечного цикла 2. в цикле жду пока пользователь введет слово например dup. 3. делаю поиск того что ввел пользователь 4. нахожу у себя в словаре слово dup, вот дальше что делать незнаю.
Скачал отсюда http://flatassembler.net/download.php вот этот файл http://flatassembler.net/fasmw17003.zip Похоже fasm 1.71 еще не тестировался, качать его смысла нет. Потом скачал http://msyst.ru/downloads/quarkexe.zip еще это http://msyst.ru/downloads/proton.zip дополнительно вот это http://msyst.ru/downloads/quark.pdf Что еще нужно? Windows 7 или Windows XP? [quote]А дальше этим можно будет пользоваться :) В том числе и в зависимости от текущих потребностей. Кстати, в вузе в определенной степени проще внедрить Форт в исследовательскую деятельность, чем внедрить его в конструкторскую практику на предприятии.[/quote] Не это имел в виду. Допустим поставил fasm потом 1. написал ассемблерный код бесконечного цикла 2. в цикле жду пока пользователь введет слово например dup. 3. делаю поиск того что ввел пользователь 4. нахожу у себя в словаре слово dup, вот дальше что делать незнаю.
|
|
|
|
Добавлено: Вт авг 27, 2013 22:28 |
|
|
|
|
|
Заголовок сообщения: |
Re: Quark 64: выбор модели жизненного цикла и ее адаптация |
|
|
Sunforth писал(а): Если выбрать каскадную модель, то у нас исходные данные должны быть одинаковы (операционная система, процессор и т.д). В принципе, инструментальные средства должны быть схожими в любом случае. Что касается ОС, то это в любом случае 64 бита, и весьма и весьма вероятно, что Windows, а не Windows/Linux. На первом этапе не стоит сразу решать много задач. Одинаковый процессор иметь совершенно необязательно, 64-битная ОС на нем все равно должна запускаться, а разные процессоры поспособствуют более широкому охвату тестов. Sunforth писал(а): Я например должен подтянуть знания по fasm и quark. Я полагаю, что все далеко не так страшно. Ассемблер не обязательно знать досконально и во всех тонкостях, чтобы написать просто качественную программу. Даже наоборот, чрезмерное углубление в детали будет создавать иллюзию, что разработчик с трудом пробивается к какому-то замечательному результату, а на деле он просто барахтается в залежах разрозненного кода. Чтобы написать Форт, совсем необязательно охватить его сразу. Достаточно проводить детализацию вплоть до задач вида "давайте теперь напишем кусок кода, который будет заполнять нулями область памяти длиной rcx, адрес которой передан в rax". По конкретным задачам и знание ассемблера углубится. Sunforth писал(а): Сделали бесконечный цикл, ждем какую команду введет пользователь. Что дальше? А дальше этим можно будет пользоваться В том числе и в зависимости от текущих потребностей. Кстати, в вузе в определенной степени проще внедрить Форт в исследовательскую деятельность, чем внедрить его в конструкторскую практику на предприятии.
[quote="Sunforth"]Если выбрать каскадную модель, то у нас исходные данные должны быть одинаковы (операционная система, процессор и т.д). [/quote] В принципе, инструментальные средства должны быть схожими в любом случае. Что касается ОС, то это в любом случае 64 бита, и весьма и весьма вероятно, что Windows, а не Windows/Linux. На первом этапе не стоит сразу решать много задач. Одинаковый процессор иметь совершенно необязательно, 64-битная ОС на нем все равно должна запускаться, а разные процессоры поспособствуют более широкому охвату тестов.
[quote="Sunforth"]Я например должен подтянуть знания по fasm и quark.[/quote] Я полагаю, что все далеко не так страшно. Ассемблер не обязательно знать досконально и во всех тонкостях, чтобы написать просто качественную программу. Даже наоборот, чрезмерное углубление в детали будет создавать иллюзию, что разработчик с трудом пробивается к какому-то замечательному результату, а на деле он просто барахтается в залежах разрозненного кода. Чтобы написать Форт, совсем необязательно охватить его сразу. Достаточно проводить детализацию вплоть до задач вида "давайте теперь напишем кусок кода, который будет заполнять нулями область памяти длиной rcx, адрес которой передан в rax". По конкретным задачам и знание ассемблера углубится.
[quote="Sunforth"]Сделали бесконечный цикл, ждем какую команду введет пользователь. Что дальше?[/quote] А дальше этим можно будет пользоваться :) В том числе и в зависимости от текущих потребностей. Кстати, в вузе в определенной степени проще внедрить Форт в исследовательскую деятельность, чем внедрить его в конструкторскую практику на предприятии.
|
|
|
|
Добавлено: Вт авг 27, 2013 21:34 |
|
|
|
|
|
Заголовок сообщения: |
Re: Quark 64: выбор модели жизненного цикла и ее адаптация |
|
|
Цитата: Принципиальный вопрос, требующий принятия согласованного решения - что делаем? Или все экспериментируют с итерациями, или я помогаю с раскладкой работ по каскадной модели. Если выбрать каскадную модель, то у нас исходные данные должны быть одинаковы (операционная система, процессор и т.д). И к тому же у каждого разный уровень знаний. Я например должен подтянуть знания по fasm и quark. Вообще важно следующее научиться Цитата: писать новый Форт с максимально возможным соблюдением принципов профессиональной разработки - с планами, тестами, инспекциями кода и документацией Цитата: за 4 месяца ассемблерный Форт Сделали бесконечный цикл, ждем какую команду введет пользователь. Что дальше?
[quote] Принципиальный вопрос, требующий принятия согласованного решения - что делаем? Или все экспериментируют с итерациями, или я помогаю с раскладкой работ по каскадной модели.[/quote] Если выбрать каскадную модель, то у нас исходные данные должны быть одинаковы (операционная система, процессор и т.д). И к тому же у каждого разный уровень знаний. Я например должен подтянуть знания по fasm и quark. Вообще важно следующее научиться [quote]писать новый Форт с максимально возможным соблюдением принципов профессиональной разработки - с планами, тестами, инспекциями кода и документацией[/quote] [quote]за 4 месяца ассемблерный Форт[/quote] Сделали бесконечный цикл, ждем какую команду введет пользователь. Что дальше?
|
|
|
|
Добавлено: Вт авг 27, 2013 20:13 |
|
|
|
|
|
Заголовок сообщения: |
Re: Quark 64: выбор модели жизненного цикла и ее адаптация |
|
|
Я тут день буду в Новгороде, поэтому предлагаю потратить время на выбор модели с учетом мнений всех заинтересованных сторон.
Я тут день буду в Новгороде, поэтому предлагаю потратить время на выбор модели с учетом мнений всех заинтересованных сторон.
|
|
|
|
Добавлено: Вт авг 27, 2013 20:08 |
|
|
|
|