Например TDA7294

Форум РадиоКот • Просмотр темы - Нормальный дизассемблер для i8035 (i8051)
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Чт апр 25, 2024 13:44:43

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 34 ]    , 2
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Нормальный дизассемблер для i8035 (i8051)
СообщениеДобавлено: Пт апр 27, 2018 20:39:05 
Друг Кота

Карма: 14
Рейтинг сообщений: 372
Зарегистрирован: Вс фев 15, 2009 01:04:58
Сообщений: 5069
Откуда: Kaluga
Рейтинг сообщения: 0
Второй банк не используется, да и из первого только аккумулятор и 4 первых РОНа, остальное под ОЗУ.

Изголяжа много, очень, как раз походу - что-б менее понятно было, но мы несдаЁмся :kill:

Просто от вида XOR ов у меня случается переклин в собственной памяти.

Похоже это ограничения на нижнее значение аргумента в 2, то есть не 0 и не 1, а про то что флага Z нет это оригинально - а то я смотрел по результатам операций класса INC @R1 - то есть инкремент ячейки, но думаю... а анализирует если аккумулятор - то это результат совсем другой.

А перенос откуда берется ?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нормальный дизассемблер для i8035 (i8051)
СообщениеДобавлено: Сб апр 28, 2018 10:32:43 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14067
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Собственно флага Z нет и у 51й...
8)
Насчет переноса - так их два...
Собственно Cy - перенос из a.7 и десятичный...
Вспоминать ВЛОМ ибо мне с того НИКАКОГО ИНТЕРЕСУ ни в отношении дизассемблера (мозгоразвитие) ни в отношении материальна интересу...
:cry:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нормальный дизассемблер для i8035 (i8051)
СообщениеДобавлено: Сб апр 28, 2018 10:54:00 
Друг Кота

Карма: 14
Рейтинг сообщений: 372
Зарегистрирован: Вс фев 15, 2009 01:04:58
Сообщений: 5069
Откуда: Kaluga
Рейтинг сообщения: 0
Судя по документации - только один флаг.

Просто есть команды JC/JNC и JZ/JNZ а остальные или по 1 битным входам Т0/Т1 или по битам F0/F1 , которые могут меняться только командами CLR Fx / CPL Fx


ЗЫЖ Лучше-б кто сказал, как правильно выполнять вычитание на 8035


Какая-то противоестественная структура программы - как я понимаю условные переходы за границы 256 байтных блоков невозможно, только JMP и CALL (ну или переход на следующую инструкцию). Из-за этого програмистам того времени приходилось знатно извращаться.


ЗЫЖ - Нашли в схемах блока много ЗНААТНЫХ "очепяток" но на первый взгляд совершенно неочевидных


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Нормальный дизассемблер для i8035 (i8051)
СообщениеДобавлено: Сб апр 28, 2018 11:10:22 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14067
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Изврат касается только MCS48 - в иных случаях размер сегмента больше.
8)
Остальное осуждать без конкретики БЕСПОЛЕЗНО.
:(


Вернуться наверх
 
Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Нормальный дизассемблер для i8035 (i8051)
СообщениеДобавлено: Сб апр 28, 2018 15:30:12 
Друг Кота

Карма: 14
Рейтинг сообщений: 372
Зарегистрирован: Вс фев 15, 2009 01:04:58
Сообщений: 5069
Откуда: Kaluga
Рейтинг сообщения: 0
Так 8035 это тот-же 8048 только без набортного ПЗУ.

А касаемо конкретики - как в ассемблерных командах 8035 вычесть из аккумулятора регистр R1 с получением разности в аккумуляторе и знака любым образом. Оба числа 8 бит оба считаются положительными ?


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Нормальный дизассемблер для i8035 (i8051)
СообщениеДобавлено: Вс апр 29, 2018 05:30:28 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14067
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
:shock:
Это же азы двоичной (и не только) математики - работа с отрицательными числами...
:facepalm:
приводим вычитаемое к "дополнению до 2" и далее сложение
5-3=2 равноценно 5+(-3)=2
если результат положительный оставляем без изменений, если отрицательный - при необходимости приводим к положительному числу (ибо в таком случае у нас действительно отрицательное значение к примеру 4-9=-5)
8)
Вот в сундучке КОТА весьма полное описание и системы команд и аппаратных "мелочей" для MCS48:
https://sunduk.radiokot.ru/loadfile/?load_id=1287668569
:beer:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нормальный дизассемблер для i8035 (i8051)
СообщениеДобавлено: Вс апр 29, 2018 17:09:48 
Друг Кота

Карма: 14
Рейтинг сообщений: 372
Зарегистрирован: Вс фев 15, 2009 01:04:58
Сообщений: 5069
Откуда: Kaluga
Рейтинг сообщения: 0
" вы рукой покажите..." (с) не моё

Можно в ассемблерной мнемонике. А то ну не понимать моя. ГлЮпый аднакЪ :(

Ознакомился с книгой - неплохо, но с нее начинать для вспоминания надо было. Уже успел с её англоязычным прототипом ознакомиться (кроме системы управления лампочками в авто, это видимо авторское достижение).

К сожалению реальных примеров математики там можно сказать и нет, а тут актуально именно математика на столь невеликой системе команд. Особенно математики быстрой с использованием таблиц. Потому-как там именно тем программа и занимается - как быстро вычисляет некие мат функции.

В принципе разбирается потихоньку - откровенных косяков почти нет, тоесть переходы со смешением на 1 можно списать на ошибку переноса таблицы программирования на документ. Только пока вопрос про одну из частей программы гле в завистмости от значения регистра (его младших 4 бит) нужно выбрать 1 из 16 переходов. Моло того что адреса указывают на пустой участой памяти в 32 байтах от искомого, так еще и идут с шагом 1, а умножить значение на 2 и использовать другую маску (и все вроде работает) как-то нету... И вставить эту команду на получится - некуда. Значит что-то не то и мне непонятно.


ЗЫЖ - не богат-ли кто хорошим качественным описанием 588ВГ6 (а то нетуть в конторской библиотеке а гугль(тьфу...прощай родимый :cry: )...яндекс ничего путного не кажет) ?
ЗЫЖ2 - Эмулятор ПЗУ (8192х8 не менее, будет актуален) - если кто где видел ?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нормальный дизассемблер для i8035 (i8051)
СообщениеДобавлено: Вс апр 29, 2018 17:55:46 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14067
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Вы ж писали, что с ассемблером для АВР знакомы?
:dont_know:
Дык.. там подобная проблема только наоборот - нет команд прямого вычитания константы.
И решение зеркально.
Насчет того как в ассемблерных командах представить - зависит от фантазии и настроения - вариантов есть множество и у инверсии и у сложения с 1.
А мне , как уже было выше сказано вспоминать систему команд 48го ВЛООММ!!! (и так по склерозной памяти отвечаю).
:sleep:
Другое дело mcs51, ПИКушки или АВР...
:roll:
Эмулятор ПЗУ можно и на SST39SF010 соорудить или по полной схеме самому... однако там загрузчик нужно в старой конструкции менять.
Прототип под старый вариант загрузки с компа (можно схемотехнику взять за основу, а прожку адаптировать от КОТУИНКО)
http://img.radiokot.ru/files/20529/1kke51kkpv.GIF
http://img.radiokot.ru/files/20529/1kke54yfix.GIF
Возьмите КОТУИНКО из "винной" (https://radiokot.ru/forum/viewtopic.php ... 7#p3167597) и доработайте... Загрузчик там современный, а периферия зависит от того, кто ее и сопровождающее ПО сам напишет/соберет.
:write:
Литературу/справочники ищемс в СУНДУКЕ КОТА и в этих хранилищах:
http://elektromehanika.org
http://publ.lib.ru/publib.html
:beer:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нормальный дизассемблер для i8035 (i8051)
СообщениеДобавлено: Вс апр 29, 2018 19:41:16 
Друг Кота

Карма: 14
Рейтинг сообщений: 372
Зарегистрирован: Вс фев 15, 2009 01:04:58
Сообщений: 5069
Откуда: Kaluga
Рейтинг сообщения: 0
В AVR есть вычитание регистров и флаг отрицательного результата. И Умножение 8х8 в серии MEGA

Что-то мне подсказывает, что есть типовое решение для данной операции. Давным давно - лет так 20 назад - была хорошая книжка у меня в руках, правда по 8051 ядру. Вот там было множество примеров именно математики, причем включая возведение в нецелую степень и тригонометрию. Именно на примерах разобранного ассемблера. Вот как звалась....

Увы не у одного вас склероз.... просто я про него уже начал забывать :lol:


Касаемо эмуляторов - сложные решения, хотя конечно не лишенные своих плюсов.

Осоновная задача проверить работу алгоритмов для переноса их в более современный кристалл. Но без реального процессора это сложно. Будет верно делаться макет с урезанной ПО для проверки отдельных блоков.

Наверно с чем-то вроде этого https://www.qrz.ru/schemes/contribute/c ... /pzu.shtml

А уж параллельных программаторов в конторе кучи.

Ну или ОЗУ, как внешняя память более знакомой AVR с переключением коммутаторами в секцию с 8035. Буду после праздников думать.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нормальный дизассемблер для i8035 (i8051)
СообщениеДобавлено: Вс апр 29, 2018 19:47:38 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14067
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
У 8035/48 флаг Су ИМЕЕТСЯ!
Чего зря "бочка катить?
8)
И самое главное -
алгоритм вылизанный для одного типа/семейства МК (и для одной конкретной схемотехнической реализации) может быть абсолютно не оптимален на другом семействе из-за различий ядра и системы команд.
Важен САМ АЛГОРИТМ а не его конкретная реализация.
Так что НЕ НАДЕЙТЕСЬ НА ПРИМИТИВ-ПЕРЕНОС
ВСЕ РАВНО ПРИДЕТСЯ ПРОГРАММУ С НУЛЯ ПИСАТЬ!

:twisted:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нормальный дизассемблер для i8035 (i8051)
СообщениеДобавлено: Вс апр 29, 2018 22:13:14 
Друг Кота

Карма: 14
Рейтинг сообщений: 372
Зарегистрирован: Вс фев 15, 2009 01:04:58
Сообщений: 5069
Откуда: Kaluga
Рейтинг сообщения: 0
Это флаг переполнения при любой операции, а не флаг отрицательного результата, коего ни одна штатная команда не может дать. (DEC не в счет).

Перенести 1:1 на другой процессор естественно не выйдет - архитектура другая, хотя если на 8051 ядро - может и выгорело-бы, а вот поднять сам алгоритм - это и есть основная задача.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нормальный дизассемблер для i8035 (i8051)
СообщениеДобавлено: Вт май 01, 2018 07:57:27 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14067
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
"Флаг отрицательного результата"...
:shock:
Есть признак отрицательного содержимого байта, слова (и прочей размерности) - единица в старшем ЗНАКОВОМ разряде.
Но в общем-то это условность, оговоренная принятыми к применению стандартами и правилами двоичной математики.
Обычно используется ВСЕГДА в комплекте с флагом Су. (А иногда и с дополнительным анализом других флагов PSW).
У Z80 вроде еще был флаг N - признак того, что была выполнена операция вычитания (и то для работы с DAA).
Ну и НЕ ИСКЛЮЧЕНИЕ использование самим программистом всяческих собственных приемов для конкретного случая (флаги, неявные подстановки и корректирующие операции).
:dont_know:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нормальный дизассемблер для i8035 (i8051)
СообщениеДобавлено: Ср авг 25, 2021 23:02:42 
Родился

Зарегистрирован: Ср авг 25, 2021 22:46:53
Сообщений: 4
Рейтинг сообщения: 0
:dont_know:

Здравствуйте.
Так как ЛС закрыты для всех пользователей напишу Вам тут.
Можете ли Вы дзасемблировать код на intel 8051, не бесплатно. Или переделать прошивку под заказ?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нормальный дизассемблер для i8035 (i8051)
СообщениеДобавлено: Чт авг 26, 2021 11:25:21 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14067
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
"под заказ" обычно тут размещают:
https://radiokot.ru/forum/viewforum.php?f=53
кто свободен/заинтересован там быстрее откликнутся.
Я практическую помощ могу только в Донецке (ДНР) оказать,
"за пределами" исключительно консультации в рамках сайта.
8)
Личка вполне себе работает, ежли активирована.
:dont_know:


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 34 ]    , 2

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 14


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y