|
Заблокирован
|
||||||
Не заканчивается цикл20.08.2023, 21:42. Показов 5471. Ответов 50
Метки нет (Все метки)
Пытаюсь перестроить циклы - не выходит с цикла.
Если раскомментирую второй из вне цикл, а цикл с параметром закоментирую - всё работает. Вообще не понимаею в чём дело - всё должно работать. Кликните здесь для просмотра всего текста
вообще не пониаю. Мне кажется я выбрал простейший путь переделки циклов, и даже тут какие-то непонятные совсем трудности. И приложу рабочий проект, если надо.
0
|
||||||
| 20.08.2023, 21:42 | |
|
Ответы с готовыми решениями:
50
Почему не заканчивается цикл? Цикл не заканчивается
|
|
3136 / 1735 / 273
Регистрация: 19.02.2010
Сообщений: 4,535
|
|||||||
| 24.08.2023, 09:27 | |||||||
|
Никаких условных проверок не нужно, ибо проц.команды dec/sub при достижении нуля сами будут взводить zero flag:
Хотя, конечно, тут спор во многом в терминологии (и в степени отрыва ТСа от объективной реальности с устоявшейся терминологией) и в особенностях системы команд нужного CPU.
0
|
|||||||
|
Модератор
4153 / 2362 / 814
Регистрация: 15.11.2015
Сообщений: 9,496
|
|
| 24.08.2023, 10:34 | |
|
VTsaregorodtsev, но ведь, они все условные (jg, loop, rep). Разве что, проверка условия скрыта у последних. Безусловный, вроде, только бесконечный цикл с jmp. Ну да ладно.
0
|
|
| 24.08.2023, 15:37 | ||
|
Не по теме:
Ещё вариант - производимый компилятором unrolling циклов с малым числом итераций, когда цикл в итоге из двоичного кода пропадает вообще. Но это уже не про борландо-ембракоделовские компиляторы, которые в оптимизацию не умели и не умеют. Ну и забавно затем будет смотреть на совместимость очередных идей ТСа со "мнением" компилятора. В прошлонедельной теме компилятор чётко сказал, что с одной идеей ТСа совсем не дружит.
0
|
||
|
Модератор
4153 / 2362 / 814
Регистрация: 15.11.2015
Сообщений: 9,496
|
|
| 24.08.2023, 16:21 | |
|
Ещё интересно, что быстрее - по условию перейти на заранее известный адрес, или записать в память нужный адрес, и затем, безусловно перейти по этому адресу из памяти? ТСу этот момент тоже надо проверить.
0
|
|
|
Заблокирован
|
||||||||||||
| 24.08.2023, 20:59 [ТС] | ||||||||||||
|
Добавлено через 19 минут Не думаю, что это
Добавлено через 8 минут Безусловный цикл в моём понимании, когда проверка счётчика на ноль производится аппаратными средствами - цепь транзисторов без каких либо проверок сама даст нужный сигнал, если в ведомом ей регистре вдруг окажется записан 0. Возможно так и работает флаг зеро, я не знаю - в эти тонкости я не вникал. Но если бы я заказывал себе проц под свою архитектуру - я так и сделал бы, транзисторами проверял бы флаг зеро без каких-либо операций. И кстати сделал-бы ещё так, чтобы это можно было сделать с любым адресом памяти, без загрузки его содержимого в регистр процессора. Потому как полагаю что загрузить - это одна операция, а проверить последовательность сигналов - уже вторая, и первая нужна не всегда. Единственное - разница скорости памяти кэша и ОЗУ, этот момент конечно затрудняет реализацию такой идеи, если не сводит её профит к нулю.
0
|
||||||||||||
| 24.08.2023, 21:03 | |
|
Не по теме: Ну да, ну да. Свой компилятор, своя архитектура, свои процессоры... Так можно дойти до своих транзисторов, своего закона Ома, своих уравнений Максвелла. )))
0
|
|
| 24.08.2023, 21:07 [ТС] | ||
|
Не по теме:
. "Панацеи" не существует. То-есть Ваши фантазии уже заведомо обречены и расходятся с действительностью, но тем не менее продолжают плодиться и множиться, по известному только Вам закону, который Вам не запрещает плодить и множить Ваши законы, в корне расходящиеся с действительностью.
0
|
||
|
Модератор
10477 / 5772 / 3412
Регистрация: 17.08.2012
Сообщений: 17,532
|
|
| 24.08.2023, 23:26 | |
|
Hretgir, меня тут немного насторожило насчёт быстродействия... Как Вы используете StringGrid1 в программе? Как массив или как компонент?
0
|
|
| 25.08.2023, 00:30 | |
|
0
|
|
|
пофигист широкого профиля
4770 / 3207 / 862
Регистрация: 15.07.2013
Сообщений: 18,615
|
|||
| 25.08.2023, 01:43 | |||
|
Добавлено через 5 минут
0
|
|||
|
Заблокирован
|
|
| 25.08.2023, 06:50 [ТС] | |
|
Стринг грид я использую для отладки алгоритма. Генератор будет работать просто с областью памяти.
Удобство и справедливость - не одно и то же. Кто среагирует на сигнал? Процессор оборвет цикл. Не из вне ведь он обрывается. Ну уж точно не сила мысли, процессор оборвет цикл в случае нуля.
0
|
|
|
Модератор
4153 / 2362 / 814
Регистрация: 15.11.2015
Сообщений: 9,496
|
||
| 25.08.2023, 09:39 | ||
|
Цепь транзисторов отдельно, процессор отдельно. Замечательно.
Не по теме: Надо патентовать эту идею. Так, для общего развития, процессор и состоит из большой цепи, вернее, сети транзисторов. И при выполнении некоторых команд (например, INC, DEC, ADD, SUB) автоматически устанавливаются флаги нуля, переноса и прочие. И при выполнении за ними команд условного перехода эти флаги проверяются.
0
|
||
|
Заблокирован
|
||
| 25.08.2023, 21:07 [ТС] | ||
|
Я тоже умею отвечать на всё, как и все тут присутствующие, не давая при этом никакой информации. Но в отличии от вас - я получу нужную мне информацию, а вот вы - не факт. Хотите перепроектировать процессор, хотя-бы частично? Разумеется речь уже не о технологии, а о вашем к ней отношении. И - да, и первое что попало-бы под раздачу - флаг зеро. Я переделал-бы его в флаг дифферента. Ноль это как-то нулёво. Флаг-бы просто показывал бы отлично или нет. А уже спектр его возможностей я расширил бы даже на такой тупой индикации. Причём он делал-бы у меня всё - аппаратно, просто аппаратами из транзисторных цепей, ну это внутри процессора и вероятно вне пределах кэша. Понятие аппарата я думаю толковать не нужно.
0
|
||
|
пофигист широкого профиля
4770 / 3207 / 862
Регистрация: 15.07.2013
Сообщений: 18,615
|
||
| 26.08.2023, 01:05 | ||
|
Флаг зеро, как и прочие подобные флаги выставляются или снимаются действительно аппаратно, без лишних временных затрат. Вот только что делать бедному (неэффективному) процессору когда такой флаг меняет своё состояние? Он же только умеет выполнять машинные инструкции, которые содержаться в программе, которую он выполняет. Не по теме: P.S. Попкорн не люблю, но продолжу смотреть сей сериал
0
|
||
|
Заблокирован
|
||
| 26.08.2023, 06:03 [ТС] | ||
|
Про аппаратное выставление флага зеро - голословное заявление, я не обязан верить на слово, нужно описание его работы, остальное - неэффективная болтовня. Сериал будете крутить Вы лично, если любите кататься - любите и саночки возить.
Есть средства, а есть аппараты, и то и другое - не одно и то-же. Это фрагмент сериала, начало. А то оно отсутствовало от слова 'совсем'. Наиболее правильное понятие средства, для применения понятия к процессору, нужно заменить в тексте упоминание человека на упоминание процессора:
Не по теме: Визуализировать данное начало можно с фрагментом фильма 'Бриллиантовая рука', когда контробандисты довольно повторяют на ломанном 'щет поберьи'. Сериал начинается.
0
|
||
| 26.08.2023, 15:36 [ТС] | ||
|
Не по теме: Откопал такую информацию
0
|
||
|
Модератор
10477 / 5772 / 3412
Регистрация: 17.08.2012
Сообщений: 17,532
|
|
| 26.08.2023, 21:42 | |
|
Не по теме: Hretgir, эта информация неверная (если точнее, сильно упрощённая, искажённая, и притянутая за уши). Добавлено через 11 минут Да, и Вы не ответили на мой вопрос. Может быть, зря.
0
|
|
|
Заблокирован
|
||||
| 26.08.2023, 21:47 [ТС] | ||||
|
Что-то не указан он в списке аппаратных средств микропроцессора. Там сегментные регистры, регистры флагов к ним не относятся, как я смотрел.
0
|
||||
|
пофигист широкого профиля
4770 / 3207 / 862
Регистрация: 15.07.2013
Сообщений: 18,615
|
||
| 27.08.2023, 02:09 | ||
|
0
|
||
|
Айлурофил
|
|
| 27.08.2023, 04:16 | |
|
0
|
|
| 27.08.2023, 04:16 | |
|
Почему не заканчивается цикл?
Цикл почему-то не заканчивается. Почему цикл не заканчивается? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|
|
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
|
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
|
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ
Основная суть и тезисы по измерениям:
0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема.
Объект не может перемещаться в 0D.
1D (Первое измерение):. . .
|
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek
ВВЕДЕНИЕ
Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
|