Перейти к содержанию
    

Ну , что прощаемся с Atmel ?

Интересно как программу написанную на асме и занимающую 256KB переписать на СИ и впихнуть в 8KB?

Как как? Взять камень с 512кБ на борту и не парить мозг.

Интересно узнать, как вы превратили 256кБ программного кода в 8кБ программного кода?

PS. Говорят, среди ассемблерщиков популярен nop, но 248кБ nop-ов явный перебор.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как как? Взять камень с 512кБ на борту и не парить мозг.

256KB было в 1998 году.

Сейчас код 128MB.

Посоветуйте камень со 128MB программной памяти.

Интересно узнать, как вы превратили 256кБ программного кода в 8кБ программного кода?

Я ничего не впихивал. Это Вы пишете что если б на СИ писал то всё бы влезло :biggrin:

Я просто поставил внешнюю память и использую ее как память программ.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как как? Взять камень с 512кБ на борту и не парить мозг.

Типичный коэффициент уменьшения объема монстральных ассемблерных программ, после переписывания их функционала на Си равен двум.

Так-то 128 вместо 256 будет достаточно. Думаю, что для такого 256K монстра, коэфициент будет вообще и более 4x.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

256KB было в 1998 году.

Сейчас код 128MB.

Посоветуйте камень со 128MB программной памяти.

 

Я ничего не впихивал. Это Вы пишете что если б на СИ писал то всё бы влезло :biggrin:

Я просто поставил внешнюю память и использую ее как память программ.

Вы не путаете код и данные? Если картинки или звук попадают в прошивку - это не дает права называть их кодом на ассемблере.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вы не путаете код и данные? Если картинки или звук попадают в прошивку - это не дает права называть их кодом на ассемблере.

Да, Вы правы.

Кода всего то около 4MB.

Остальное данные.

Что это меняет?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кода всего то около 4MB.

Не верю. Я на Си пишу и у меня проши меньше 128кБ, а функционал ого-го.

Дадите ссылку на функции устройства, чтоб понять накой там 4МБ кода?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не верю. Я на Си пишу и у меня проши меньше 128кБ, а функционал ого-го.

тю... всего то

Дадите ссылку на функции устройства, чтоб понять накой там 4МБ кода?

А свой функционал дадите?

 

Ничего. Ложь осталась ложью.

Ну да, про сферического коня уже писали

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

> DDR = 0x10

вперёд, используйте это в кортекс или иксмеге.

------

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

 

Как как? Взять камень с 512кБ на борту и не парить мозг.

вот так писаки ширпотреба и делают.

 

какой-то унылый разговор с фанатиками, надо сваливать. ато ещё заражусь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Типичный коэффициент уменьшения объема монстральных ассемблерных программ, после переписывания их функционала на Си равен двум.

Так-то 128 вместо 256 будет достаточно. Думаю, что для такого 256K монстра, коэфициент будет вообще и более 4x.

 

ну это еще от прокладки зависит, этот коэффициент может быть и 4 и 10 и 20 :rolleyes:

 

 

 

> DDR = 0x10

вперёд, используйте это в кортекс или иксмеге.

------

 

а в чем проблема?

 

еще раз повторяю, что больше зависит от прокладки чем от языка, можно и на си написать так что замена одного пина будет большой проблемой

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

> DDR = 0x10

вперёд, используйте это в кортекс или иксмеге.

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

Я же говорил про библиотеки. Парсинг строки и вычисление окрестности географической точки не зависят от платформы.

И, поверьте, таких решений очень много.

Насчет "DDR = 0x10": кто ж так ужасно пишет (magic number detected)!

Махнуть ногой можно так

set_pin(PWM_PIN, 1);

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да, Вы правы.

Кода всего то около 4MB.

 

4 МБ кода на ассемблере?! АААААААААААААААААААА!!!!

 

Видимо это действительно оповеститель о конце света, другой функционал занимающий столько памяти сложно придумать.

 

Разумеется часть кода, которая касается работы с периферией должна отличаться.(magic number detected)!

 

Вы так дойдете до того что программу нужно разделять на алгоритм и портируемую часть, а это недопустимо!

 

Насчет "DDR = 0x10": кто ж так ужасно пишет (magic number detected)!

 

Писаки неширпотреба, очевидно же!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вы так дойдете до того что программу нужно разделять на алгоритм и портируемую часть, а это недопустимо!

Очень тонко иронизируете - не все смогут понять...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость
Эта тема закрыта для публикации ответов.
×
×
  • Создать...