|
Нарушитель
|
||||||
Не заканчивается цикл20.08.2023, 21:42. Показов 5435. Ответов 50
Метки нет (Все метки)
Пытаюсь перестроить циклы - не выходит с цикла.
Если раскомментирую второй из вне цикл, а цикл с параметром закоментирую - всё работает. Вообще не понимаею в чём дело - всё должно работать. Кликните здесь для просмотра всего текста
вообще не пониаю. Мне кажется я выбрал простейший путь переделки циклов, и даже тут какие-то непонятные совсем трудности. И приложу рабочий проект, если надо.
0
|
||||||
| 20.08.2023, 21:42 | |
|
Ответы с готовыми решениями:
50
Почему не заканчивается цикл? Цикл не заканчивается
|
|
3131 / 1722 / 273
Регистрация: 19.02.2010
Сообщений: 4,513
|
|||||||
| 24.08.2023, 09:27 | |||||||
|
Никаких условных проверок не нужно, ибо проц.команды dec/sub при достижении нуля сами будут взводить zero flag:
Хотя, конечно, тут спор во многом в терминологии (и в степени отрыва ТСа от объективной реальности с устоявшейся терминологией) и в особенностях системы команд нужного CPU.
0
|
|||||||
|
Модератор
4153 / 2362 / 814
Регистрация: 15.11.2015
Сообщений: 9,495
|
|
| 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,495
|
|
| 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
|
||
|
Модератор
10476 / 5771 / 3411
Регистрация: 17.08.2012
Сообщений: 17,528
|
|
| 24.08.2023, 23:26 | |
|
Hretgir, меня тут немного насторожило насчёт быстродействия... Как Вы используете StringGrid1 в программе? Как массив или как компонент?
0
|
|
| 25.08.2023, 00:30 | |
|
0
|
|
|
пофигист широкого профиля
4770 / 3206 / 862
Регистрация: 15.07.2013
Сообщений: 18,613
|
|||
| 25.08.2023, 01:43 | |||
|
Добавлено через 5 минут
0
|
|||
|
Нарушитель
|
|
| 25.08.2023, 06:50 [ТС] | |
|
Стринг грид я использую для отладки алгоритма. Генератор будет работать просто с областью памяти.
Удобство и справедливость - не одно и то же. Кто среагирует на сигнал? Процессор оборвет цикл. Не из вне ведь он обрывается. Ну уж точно не сила мысли, процессор оборвет цикл в случае нуля.
0
|
|
|
Модератор
4153 / 2362 / 814
Регистрация: 15.11.2015
Сообщений: 9,495
|
||
| 25.08.2023, 09:39 | ||
|
Цепь транзисторов отдельно, процессор отдельно. Замечательно.
Не по теме: Надо патентовать эту идею. Так, для общего развития, процессор и состоит из большой цепи, вернее, сети транзисторов. И при выполнении некоторых команд (например, INC, DEC, ADD, SUB) автоматически устанавливаются флаги нуля, переноса и прочие. И при выполнении за ними команд условного перехода эти флаги проверяются.
0
|
||
|
Нарушитель
|
||
| 25.08.2023, 21:07 [ТС] | ||
|
Я тоже умею отвечать на всё, как и все тут присутствующие, не давая при этом никакой информации. Но в отличии от вас - я получу нужную мне информацию, а вот вы - не факт. Хотите перепроектировать процессор, хотя-бы частично? Разумеется речь уже не о технологии, а о вашем к ней отношении. И - да, и первое что попало-бы под раздачу - флаг зеро. Я переделал-бы его в флаг дифферента. Ноль это как-то нулёво. Флаг-бы просто показывал бы отлично или нет. А уже спектр его возможностей я расширил бы даже на такой тупой индикации. Причём он делал-бы у меня всё - аппаратно, просто аппаратами из транзисторных цепей, ну это внутри процессора и вероятно вне пределах кэша. Понятие аппарата я думаю толковать не нужно.
0
|
||
|
пофигист широкого профиля
4770 / 3206 / 862
Регистрация: 15.07.2013
Сообщений: 18,613
|
||
| 26.08.2023, 01:05 | ||
|
Флаг зеро, как и прочие подобные флаги выставляются или снимаются действительно аппаратно, без лишних временных затрат. Вот только что делать бедному (неэффективному) процессору когда такой флаг меняет своё состояние? Он же только умеет выполнять машинные инструкции, которые содержаться в программе, которую он выполняет. Не по теме: P.S. Попкорн не люблю, но продолжу смотреть сей сериал
0
|
||
|
Нарушитель
|
||
| 26.08.2023, 06:03 [ТС] | ||
|
Про аппаратное выставление флага зеро - голословное заявление, я не обязан верить на слово, нужно описание его работы, остальное - неэффективная болтовня. Сериал будете крутить Вы лично, если любите кататься - любите и саночки возить.
Есть средства, а есть аппараты, и то и другое - не одно и то-же. Это фрагмент сериала, начало. А то оно отсутствовало от слова 'совсем'. Наиболее правильное понятие средства, для применения понятия к процессору, нужно заменить в тексте упоминание человека на упоминание процессора:
Не по теме: Визуализировать данное начало можно с фрагментом фильма 'Бриллиантовая рука', когда контробандисты довольно повторяют на ломанном 'щет поберьи'. Сериал начинается.
0
|
||
| 26.08.2023, 15:36 [ТС] | ||
|
Не по теме: Откопал такую информацию
0
|
||
|
Модератор
10476 / 5771 / 3411
Регистрация: 17.08.2012
Сообщений: 17,528
|
|
| 26.08.2023, 21:42 | |
|
Не по теме: Hretgir, эта информация неверная (если точнее, сильно упрощённая, искажённая, и притянутая за уши). Добавлено через 11 минут Да, и Вы не ответили на мой вопрос. Может быть, зря.
0
|
|
|
Нарушитель
|
||||
| 26.08.2023, 21:47 [ТС] | ||||
|
Что-то не указан он в списке аппаратных средств микропроцессора. Там сегментные регистры, регистры флагов к ним не относятся, как я смотрел.
0
|
||||
|
пофигист широкого профиля
4770 / 3206 / 862
Регистрация: 15.07.2013
Сообщений: 18,613
|
||
| 27.08.2023, 02:09 | ||
|
0
|
||
|
Айлурофил
|
|
| 27.08.2023, 04:16 | |
|
0
|
|
| 27.08.2023, 04:16 | |
|
Почему не заканчивается цикл?
Цикл почему-то не заканчивается. Почему цикл не заканчивается? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber.
Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
|
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео:
https:/ / vkvideo. ru/ video-240781534_456239017
YouTube:
eY5-5PyI9NM
Текстовая версия
|
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать
Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
|
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|