Я там вообще никогда не был и меня не пускает. Нормально Господа, а где в CubeIDE можно дизассемблер глянуть? Хочу понять какая разница между 2мя записями: LCD_SendChar(char_arr[i]); и LCD_SendChar(*char_arr); char_arr++;
Я там вообще никогда не был и меня не пускает. Нормально Господа, а где в CubeIDE можно дизассемблер глянуть? Хочу понять какая разница между 2мя записями: LCD_SendChar(char_arr[i]); и LCD_SendChar(*char_arr); char_arr++;
Просто такая ситуация, авто 2110 не заводилась (до этого моментами заводилась раз в 10 но все 4 работали цилиндра), оказалось... Читать далее
Ваще, я бы не советовал брать аккумуляторные кроны, которые по юсб заряжаются. Они построены на питательных элементах которые... Читать далее
короче нужно есть 8 тенов в мыловареном заводе,там они разделены на две группы,и стоит щит с двумя контакторами(которые врубяают... Читать далее
VSPE еще может чем-нить помочь. virtual serial port emulator оффтоп: Кто-нибудь программит на JAVA? Программирование форм... Читать далее
в первом приближении я должен нажимать кнопочку, чтоб у меня гонялись тесты на симуляторе железки. в о втором приближении... Читать далее
получается по идее если смотреть на лампочки Филипс то плюс справа от надписи на плате есть диоды можно разобрать лампочку... Читать далее
Комментарии: 19
Sanat
в режиме дебагера
Ogurezzz
Спасибо... До туда почему-то не добрался
Sanat
Не за что
Ogurezzz
Оказалось с точки зрения количества инструкций все одинаково. Получается, что в быстродействии разницы никакой? Инструкция может выполняться разное количество тактов же?
Indr1x
Скорее компилятор эти 2 конструкции превращает в одно и тоже Это же ссылки на ячейку памяти фактически
Ogurezzz
Не совсем, он все делает ожидаемо. Т.е. при LCD_SendChar(char_arr[i]); Он сначала загружает адрес массива, делает смещение на i, берет оттуда значение и вызывает функцию. При втором варианте - сразу берет значение, вызывает функцию, потом инкрементирует.
Tiny
компилятор может проворачивать штуки намного сложнее (например расчет частей кода в компайл тайме и подстановка готового результата в код) я например использовал сортировку массива в компайл тайме при помощи шаблонов
Ogurezzz
Это тоже понятно, оптимизация и различные ее уровни тоже не зря существуют. Да и volatile тоже придуманы не зря.
Dmitriy
Инструкция всегда выполняется рассчитанное число тактов и меняться не модет
Indr1x
Не совсем так, еще от входных данных может зависеть, типа умножение целочисленное или с спавающей , и т.д.
Dmitriy
Ну да, просто может не удачно описал. Что касается математики с точкой и тп, ещё тест условных переходов есть, но там 2 варианта. Основная масса инструкций четко регламентирована...
Ogurezzz
Т.е. любая инструкция выполняется всегда одно и то же время? Мне казалось, есть инструкции, которые занимают больше тактов, есть которые меньше...
Indr1x
Не любая. А каждая выполняется за свое определенное число тактов, с небольшими исключениями выше
Ogurezzz
Вот. Так у меня в голове и было. Спасибо. Т.е. одинаковое количество!=одинаковому времени выполнения при определенных условиях.
Dmitriy
Есть, знакомься с системой команд. Но количество тактов регламентируется для каждой
Tiny
компилятор может творить чудеса как правило когда пишешь на высокоуровнем языке можно не обращать внимание на такие моменты
Ogurezzz
Да понятно. Просто стало интересно :)
Dmitriy
Есть машинный такт, машинный цикл. Инструкции могут занимать от одного до нескольких машинных циклов
Tiny
ну илирасчет факториала в компайл тайме)