Годно слился наш гиперболоидный крам, а ведь как красиво начинал блееть в унисон с хейтерами опираясь лишь на кусок кода со скриншота, не ознакомившись с обработчиком команд. Всячески пытался внушить, что нет обработки Jxx переходов а также нет обработки вызовов Call в том числе RET и RETI, пока не получил часть кода обработчика. Годная дурь от крама, посмеялся от души....КРАМ писал(а): Пн май 04, 2026 18:10:55 Тяжелый клинический случай...
![]()
Трансформер, иди нах. Твои тупые речи не заслуживают комментов.
Твое место исключительно в МЯУ.
Обтекай.
Котятам-шестиклассникам
- Transformer-V
- Друг Кота
- Сообщения: 4091
- Зарегистрирован: Пн окт 03, 2016 22:50:22
- Контактная информация:
Re: Котятам-шестиклассникам
Re: Котятам-шестиклассникам
Самый хороший способ эмуляции - это таблицы.
Для 580 процессора, например это всего 256 элементов.
Каждый элемент таблицы содержит указатель на обработчик команды с данным опкодом.
Для z80 это 3 таблицы по 256 элементов.
Тогда основной цикл сводится к выборке опкода из памяти и вызову обработчика из таблицы. Всё.
Для 580 процессора, например это всего 256 элементов.
Каждый элемент таблицы содержит указатель на обработчик команды с данным опкодом.
Для z80 это 3 таблицы по 256 элементов.
Тогда основной цикл сводится к выборке опкода из памяти и вызову обработчика из таблицы. Всё.
Re: Котятам-шестиклассникам
Куча if это страшный код. Как и огромный switch case.
Re: Котятам-шестиклассникам
switch/case - более внятная тема, if да без else - относительно читаемая херня, а if/then/else на 255 выборок - херня вообще не читаемая. А ещё и с goto неизвестно откуда - лютая дичь.
Но, Трансыч пытается доказать, что он сможет. Пусть пытается. Пусть постит сюда свои " исторжения мысли ". Тем больше повода для посмеяться и улучшить настроение!
Трансыч, не обижайся. Я тебя просто потроллил. Ты можешь в своей ADC необязательно операнды с переполнением складывать, что б понять что оно кривое. Можешь со взведённым CF просто два нуля сложить. Должно быть 1 - а будет 0.
Трансыч, ты можешь хоть в чём-нибудь (хрен с ней, постройкой велосипеда, там руки ещё нужны, а тут-то - только мозг) не облажаться?
Но, Трансыч пытается доказать, что он сможет. Пусть пытается. Пусть постит сюда свои " исторжения мысли ". Тем больше повода для посмеяться и улучшить настроение!
Трансыч, не обижайся. Я тебя просто потроллил. Ты можешь в своей ADC необязательно операнды с переполнением складывать, что б понять что оно кривое. Можешь со взведённым CF просто два нуля сложить. Должно быть 1 - а будет 0.
Трансыч, ты можешь хоть в чём-нибудь (хрен с ней, постройкой велосипеда, там руки ещё нужны, а тут-то - только мозг) не облажаться?
- HariusHek
- Друг Кота
- Сообщения: 79439
- Зарегистрирован: Пт фев 14, 2014 02:32:21
- Откуда: Урал, терраКОТА
Re: Котятам-шестиклассникам
Трансгендеру после детонации ДВС и поездки на сконструированном... изобретённом..., не, бери выше, ОТКРЫТОМ ИМ!!! ливосопеде без седла, но с ящиком для мудей, уже терять нечего.
"Кроме высшего образования надо иметь хотя бы среднее соображение" (С)
"Умные люди на то и умны, чтоб разбираться в запутанных вещах." (М.Булгаков)
"Умные люди на то и умны, чтоб разбираться в запутанных вещах." (М.Булгаков)
- Transformer-V
- Друг Кота
- Сообщения: 4091
- Зарегистрирован: Пн окт 03, 2016 22:50:22
- Контактная информация:
Re: Котятам-шестиклассникам
Феерический бред фунтика. Который так и не допер, что case принимает только константу, в отличии от if где при условии ((i>XxXX)&&(i<XxXX)) можно обработать куеву тучу одинаковых комманд с разными регистрами читая лишь биты i.Фунтик писал(а): Пн май 04, 2026 20:34:53 switch/case - более внятная тема, if да без else - относительно читаемая херня, а if/then/else на 255 выборок - херня вообще не читаемая. А ещё и с goto неизвестно откуда - лютая дичь.
Фунтик твой уровень это Visual Basic или Net.Dot, так что не лезь в языки, где ты аутентичный развесистый дуб.
Кому и что доказать? Окстись! Запости цитату, где кому и что я доказываю, пока что ты судорожно возбудился от кусочка кода в обработчике команд и выдумал феерический бред напару с престарелым клованом, при этом феерически обосравшись у всех на виду.Фунтик писал(а): Пн май 04, 2026 20:34:53 Но, Трансыч пытается доказать, что он сможет. Пусть пытается. Пусть постит сюда свои " исторжения мысли ". Тем больше повода для посмеяться и улучшить настроение!
Расслабься дурень, я тебя воспринимаю за обычного сетевого клована, который при этом аутентично пуст и бесполезен. Обсуждать с тобою что либо серьезное или по теме, это все равно что заднеприводного-двурыбого учить высшей математике.
- КРАМ
- Друг Кота
- Сообщения: 25162
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: Котятам-шестиклассникам
Для оценки остального этого куска кода более чем достаточно. Более тупого кода я еще не встречал.Transformer-V писал(а): Пн май 04, 2026 18:15:26 опираясь лишь на кусок кода со скриншота, не ознакомившись с обработчиком команд.
Чем больше ты треплешь языком, тем более всем понятно, что ты просто педальный балабол, который никакого понятия о языке Си не имеет от слова совсем.Transformer-V писал(а): Пн май 04, 2026 18:15:26Всячески пытался внушить, что нет обработки Jxx переходов а также нет обработки вызовов Call в том числе RET и RETI, пока не получил часть кода обработчика.
В Си нет ни "Jxx переходов", ни "вызовов Call", ни "RET и RETI"...
Учи, наконец, матчасть, недоумок...
- Transformer-V
- Друг Кота
- Сообщения: 4091
- Зарегистрирован: Пн окт 03, 2016 22:50:22
- Контактная информация:
Re: Котятам-шестиклассникам
Гондый вой гиперболоидного клована.КРАМ писал(а): Пн май 04, 2026 21:17:07 Для оценки остального этого куска кода более чем достаточно. Более тупого кода я еще не встречал.![]()
Песцец.... Чем дальше в лес тем смешнее.... "Jxx", "CALL", "RET" и "RETI" это команды 4 битного процессора которые будем эмулировать. Ты даже этого непонял, о чем с тобою можно беседовать по текущей теме?! Клован, положа руку на сердце, тебе не надоело позориться?КРАМ писал(а): Пн май 04, 2026 21:17:07 Чем больше ты треплешь языком, тем более всем понятно, что ты просто педальный балабол, который никакого понятия о языке Си не имеет от слова совсем.
В Си нет ни "Jxx переходов", ни "вызовов Call", ни "RET и RETI"...
Учи, наконец, матчасть, недоумок...![]()
- КРАМ
- Друг Кота
- Сообщения: 25162
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: Котятам-шестиклассникам
Ты еще к тому же ничего не понимаешь в архитектурах процессоров...Transformer-V писал(а): Пн май 04, 2026 21:12:00 case принимает только константу, в отличии от if где при условии ((i>XxXX)&&(i<XxXX)) можно обработать куеву тучу одинаковых комманд с разными регистрами читая лишь биты i.
Выбор эмулируемой инструкции требует лишь маску на код операции и переход на обработку этой операции. И нет никакой нужды иметь "куеву тучу команд" с разными регистрами. Выбор РОНов происходит внутри обработчика инструкции. Это совершенно другой уровень. Там, кстати, if тоже ни пришей, ни пристегни...
Впрочем, делать глупости и смешить людей у нас никому не запрещено - продолжай. А мы посмеемся над самодовольным глупцом...
- КРАМ
- Друг Кота
- Сообщения: 25162
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: Котятам-шестиклассникам
Насрать что ты будешь эмулировать. У тебя нет АРХИТЕКТУРЫ целевого процессора. А значит не будет и эмулятора.Transformer-V писал(а): Пн май 04, 2026 21:22:41 "Jxx", "CALL", "RET" и "RETI" это команды 4 битного процессора которые будем эмулировать.
Ты наивно пытаешься рассказать нам о частностях, которые примитивны и не интересны. При этом не понимаешь общего. Вообще не понимаешь.
- Transformer-V
- Друг Кота
- Сообщения: 4091
- Зарегистрирован: Пн окт 03, 2016 22:50:22
- Контактная информация:
Re: Котятам-шестиклассникам
Нет, маски не прокатят. Слишком много одинаковых инструкции, поэтому в начале логическое сравнение в указанных пределах и только потом извлечение РОН при помощи маски из текущий команды.КРАМ писал(а): Пн май 04, 2026 21:24:48 Ты еще к тому же ничего не понимаешь в архитектурах процессоров...![]()
Выбор эмулируемой инструкции требует лишь маску на код операции и переход на обработку этой операции.
Годно кривляешься КРАМ, пока что смешишь не более в надежде наковырять этакое и победить очередной бессмысленный батл(Шапито шоу с участием КРАМ-а) в инете. Увы КРАМ пока что у тебя это не получается... Вообщем "ищи розовых слоников"(С)КРАМ писал(а): Пн май 04, 2026 21:24:48 И нет никакой нужды иметь "куеву тучу команд" с разными регистрами. Выбор РОНов происходит внутри обработчика инструкции. Это совершенно другой уровень. Там, кстати, if тоже ни пришей, ни пристегни...![]()
Впрочем, делать глупости и смешить людей у нас никому не запрещено - продолжай. А мы посмеемся над самодовольным глупцом...
Последний раз редактировалось Transformer-V Пн май 04, 2026 21:39:51, всего редактировалось 3 раза.
- Transformer-V
- Друг Кота
- Сообщения: 4091
- Зарегистрирован: Пн окт 03, 2016 22:50:22
- Контактная информация:
Re: Котятам-шестиклассникам
Смеюсь, продолжай дальше....КРАМ писал(а): Пн май 04, 2026 21:27:38 Насрать что ты будешь эмулировать. У тебя нет АРХИТЕКТУРЫ целевого процессора. А значит не будет и эмулятора.
Ты наивно пытаешься рассказать нам о частностях, которые примитивны и не интересны. При этом не понимаешь общего. Вообще не понимаешь.![]()
- КРАМ
- Друг Кота
- Сообщения: 25162
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: Котятам-шестиклассникам
Где ты увидел "одинаковые инструкции"?Transformer-V писал(а): Пн май 04, 2026 21:36:37 Нет, маски не прокатят. Слишком много одинаковых инструкции
Ты вообще соображаешь как пишется код самого процессора?
Система команд любого процессора содержит код операции, тип адресации и адреса операндов. Никто не создает трудно обрабатываемую в АЛУ кашу в инструкциях.
Это только ты полагаешь, что разработчик архитектуры вольный фантазер...
- Transformer-V
- Друг Кота
- Сообщения: 4091
- Зарегистрирован: Пн окт 03, 2016 22:50:22
- Контактная информация:
Re: Котятам-шестиклассникам
БГГГ..... при использовании масок к примеру if((Instr&0x80)==0x80) (в данном случае проверяем старший бит) нетрудно догадаться сколько раз "ложно" сработает данное условие, при этом неправильно идентифицируется инструкция.
КРАМ, ты как всегда смешОн.....
Причем тут код процессора, не ищи розовых слоников....
- КРАМ
- Друг Кота
- Сообщения: 25162
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: Котятам-шестиклассникам
Дебил, ты и маску не в состоянии создать...Transformer-V писал(а): Пн май 04, 2026 21:48:07 при использовании масок к примеру if((Instr&0x80)==0x80)
Ты умеешь выделить, например, 6 бит и сдвинуть их в младшие разряды, чтобы создать адрес таблицы указателей?
А при том, что при эмуляции надо понимать КАК пишут код процессора, чтобы не изобретать деревянный велосипед, дуя щеки, и не выглядеть глупым клованом.
- Transformer-V
- Друг Кота
- Сообщения: 4091
- Зарегистрирован: Пн окт 03, 2016 22:50:22
- Контактная информация:
Re: Котятам-шестиклассникам
Феерический Длб, если для тебя выше указанная запись не является маской то, это лишь говорит о том что ты обосрался жидко и люто, признав очередную свою ошибку.КРАМ писал(а): Пн май 04, 2026 21:57:27 Дебил, ты и маску не в состоянии создать...![]()
Ты умеешь выделить, например, 6 бит и сдвинуть их в младшие разряды, чтобы создать адрес таблицы указателей?
Никто не говорил о битовых сдвигах и вращениях. Задача максимально быстро идентифицировать и обработать команды, а не заниматься херней - таблицами, switch case, хранением адресов, сдвигать биты и прочий бред. Ранее описанное условие в полной мере справляется с набором одинаковых команд(!где нельзя применить маску, так как старшие 4 бита имеются у совершенно других инструкций), которые невозможно корректно идентифицировать при помощи маски.
Клован, тебя опять заносит не в ту сторону, тут не обсуждают велосипеды. Поэтому можешь стравить воздух из рта.КРАМ писал(а): Пн май 04, 2026 21:57:27 А при том, что при эмуляции надо понимать КАК пишут код процессора, чтобы не изобретать деревянный велосипед, дуя щеки, и не выглядеть глупым клованом.
Последний раз редактировалось Transformer-V Пн май 04, 2026 22:18:57, всего редактировалось 1 раз.
- КРАМ
- Друг Кота
- Сообщения: 25162
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: Котятам-шестиклассникам
Расскажи нам как произвольная инструкция будет "максимально быстро" выделена с помощью if? Возьмем, к примеру, систему команд с 256 инструкциями. То есть статистически, при равной вероятности употребления в коде любой инструкции, переход на обработчик займет 128 проходов if.Transformer-V писал(а): Пн май 04, 2026 22:04:53 Никто не говорил о битовых сдвигах и вращениях. Задача максимально быстро идентифицировать и обработать команды, а не заниматься херней - таблицами,
Ты считаешь это "максимально быстрым"?
Переход через таблицу указателей в архитектуре х86 займет примерно 4...5 инструкций кода ДЛЯ ЛЮБОЙ эмулируемой инструкции целевого контроллера.
И дело не только в скорости, но и в читабельности кода, легкости его поддержки и модификации. Код с таблицей будет САМОДОКУМЕНТИРУЕМЫМ. Это даже важнее скорости.
- КРАМ
- Друг Кота
- Сообщения: 25162
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: Котятам-шестиклассникам
Маски бывают разные. Твоя - ни к селу, ни к городу. Поэтому ты не умеешь в маски.Transformer-V писал(а): Пн май 04, 2026 22:04:53 если для тебя выше указанная запись не является маской
Впрочем, маска - это общий случай. Ты сам обозначил подход с обработчиками ЧАСТНЫХ инструкций. То есть тупо каждая версия инструкции обрабатывается отдельно.
Учитывая простоту эмулируемого процессора, размер таблицы не превысит 256.
Последний раз редактировалось КРАМ Пн май 04, 2026 22:34:44, всего редактировалось 2 раза.
- Transformer-V
- Друг Кота
- Сообщения: 4091
- Зарегистрирован: Пн окт 03, 2016 22:50:22
- Контактная информация:
Re: Котятам-шестиклассникам
Шо за бред! Хотя я догадываюсь что ты просишь, ты просишь, что бы тебе выложили исходный код. Нет КРАМ, ты его не получишь, потому что бесплатное обучение программированию конкретно для тебя не предусмотрено.КРАМ писал(а): Пн май 04, 2026 22:17:43 Расскажи нам как произвольная инструкция будет "максимально быстро" выделена с помощью if? Возьмем, к примеру, систему команд с 256 инструкциями. То есть статистически, при равной вероятности употребления в коде любой инструкции, переход на обработчик займет 128 проходов if.
Ты считаешь это "максимально быстрым"?
![]()
Допустим по нулевому адресу в Program ROM у нас сохранена 8 битная инструкция 0x10
Будет выделена за один проход до 0x10 if условия - обработана и переход(счетчик программ + инкремент адреса условного буфера Program ROM ) на следующий адрес в ROM и вновь по циклу до окончания инструкций(loop, переходы, halt и т.д.) либо самого размера буфера условного ROM.
Максимально быстро, предложить иное ты не сможешь, всего лишь потому, что иного программного способа нет.
- КРАМ
- Друг Кота
- Сообщения: 25162
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: Котятам-шестиклассникам
Так ты его уже выложил...Transformer-V писал(а): Пн май 04, 2026 22:34:13 Шо за бред! Хотя я догадываюсь что ты просишь, ты просишь, что бы тебе выложили исходный код.
Это как? 0х10 - это 16-ая инструкция в системе команд. Значит этот if будет 16-м при парсинге команды. Никакого "одного прохода" не будет.Transformer-V писал(а): Пн май 04, 2026 22:34:13 Допустим по нулевому адресу в Program ROM у нас сохранена 8 битная инструкция 0x10
Будет выделена за один проход до 0x10 if
Ты можешь начать парсинг с любого кода инструкции, но нет гарантии, что текущий код не будет 256-м по отношению к первому if.
И это при том, что любой if в системе команд х86 сам по себе - 3...4 инструкции при самой супер-пупер оптимизации...
Последний раз редактировалось КРАМ Пн май 04, 2026 22:42:09, всего редактировалось 1 раз.