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

В первом случае 8 и 9 в результате напрочь отсутствуют.

У Вас отсутствуют? странно!

У меня компилятор грязно ругается. И слава богу ведь еслиб он промолчал то я наверное поседел бы пока габли искал :biggrin:

 

для экономии времени добавлю: проблема в том, что лидирующий ноль - это восьмеричная цифра.

Оказалось все гораздо проще :biggrin:

Теперь хоть спать спокойно можно.

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


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

ЗЫ для экономии времени добавлю: проблема в том, что лидирующий ноль - это восьмеричная цифра.

Это замечательно, но зачем же молча выкидывать не соответствующие нотации значения? Впрочем, 3.56 старенький, а в новых вот пофиксили - ругается теперь.

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


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

О, как опасно оказалось форматировать таблицы незначащими нулями. Надо блин отвыкать.

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


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

Вот я вспоминаю - в начале 90-х один знакомый за неделю вечеров неспешно написал асм для 51-х, вставил туда REPT/IRP/IRPC -в общем, все как надо. Бага была стратегическая - все в *.BIN выдавал, другие форматы какбы не надо было - оно ж для себя :laughing:

Так вот - релиза было два - во втором ни одной баги типа "тихой сапой" что-нить проигнорировать. Неужели асм51 настолько проще аврасма? :biggrin:

Изменено пользователем _Pasha

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


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

Гость @Ark
Это нелюбовь к пробелам боком выходит, я так считаю :)

Нет. Это у писателей компилятора кривые руки. Я так считаю. :)

Интересно, сколько народу уже наступило на эти грабли. И еще наступит...

 

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


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

Нет. Это у писателей компилятора кривые руки. Я так считаю. :)

Интересно, сколько народу уже наступило на эти грабли. И еще наступит...

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

Можно-ж было что-то другое придумать.

Интересно,а как часто в программах вы используете восьмеричную систему?

Мне,например, ни разу в жизни не понадобилось.

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


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

Гость @Ark
Как им вообще пришла идея использовать лидирующий ноль как идентификатор восмеричного числа?

Можно-ж было что-то другое придумать.

Конечно! Любой спецсимвол до или после числа.

Числа без указания системы счисления всегда естественным образом воспринимаются как десятичные.

Нарушать это - значит закладывать геморрой на ровном месте. Числа 08 и 09 вам хотя бы компилятор "обругает",

а такие как 010, 055, 077 - пропустит даже не предупредив ни о чем... Самое печальное, что исправить это уже

нельзя в следующих версиях - совместимости не будет...

Интересно,а как часто в программах вы используете восьмеричную систему?

Мне,например, ни разу в жизни не понадобилось.

Последний раз видел в PDP-11. Лет 20 назад...

 

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


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

Мне,например, ни разу в жизни не понадобилось.

Если писать на "C", то иногда нужна. На AVR'овском ассемблере не использовал никогда (да и на других, кажется, тоже).

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


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

Если писать на "C", то иногда нужна.

Аааа.... так вот откуда это все !!!

Ядро и система команд МК AVR с самого начала создавались в сотрудничестве с фирмой IAR Systems — производителем компиляторов для языков программирования C/C++.

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


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

Нет. Суть темы - явно в кривых руках топикстартера. А это локальный оффтопик про якобы "говносистему команд".

..Мои руки ничуть не кривей ваших.. Или, кто палку взял, тот и капрал?

А вот, что у атмег "говносистема команд", да и не только, совершенно верно замечено.. :rolleyes:

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


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

..Мои руки ничуть не кривей ваших..

 

"Не льсти себе, подойди ближе" (ЦЭ)

 

А вот, что у атмег "говносистема команд", да и не только, совершенно верно замечено..

 

Ололо, начнем холиварчег :08: Давно не было :)

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


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

"Не льсти себе, подойди ближе" (ЦЭ)

Я про чьи-то кривые руки, ничего здесь не сказал.

Это ты не льсти себе.. :rolleyes:

Ну и подходи по одному.. :rolleyes:

 

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


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

О, как опасно оказалось форматировать таблицы незначащими нулями. Надо блин отвыкать.

оформляйте как 0x01 и т.д. всегда будет моноширно и всегда правильно.

 

 

 

Насчет PC+X, на фоне всего гонива (не огнива), что здесь лилось из лагеря партии aaarrr + rx3apf. Реальный и единственный аргумент в пользу конструкции PC+X сказал только @Ark (наудивление - не сторонник этой конструкции) - это прыжек в середину команды. Применение - повышение криптостойкости к взлому. Но так ли она нужна на МК?

 

(aaarrr, ну кончайте жечь про наглядность и безопасность конструкций PC+2, ибо не верю, что человек который осознает философию "пробела", не может не видеть что такая конструкция только ухудшает наглядность, сопровождаемость и безопасность кода). Очень хорошо было сказано - занимаетесь хакерней.

 

 

PS: во времена DOS применял конструкцию $+X для обмана эвристических анализаторов типа DrWeb, но для достижения желаемого результата пришлось x86 освоить до уровня "дизассеблера на глаз":

 

mov  ax, 0x3e2d;   db 0xb8, 0x2d, 0x3e
sjmp $-4;   db 0xeb, 0xfc

 

в результате выполнения этих четырех команд в AH получалось 0x52 - после чего int 21h и в кармане список списков ОС, дальше делай с системой что хочешь. Ну а про наглядность - даже дизассемблер не покажет какие еще две команды здесь спрятаны, только трассировщик и то не каждый.

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


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

Я требую продолжения темы!

 

..А вообще, атмега - редкое фуфло..

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

Пусть им (атмеговцам) будет стыдно.. :rolleyes:

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


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

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