Например TDA7294

Форум РадиоКот • Просмотр темы - Помогите с программированием на ассемблере
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Пт апр 19, 2024 00:20:21

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


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



Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Помогите с программированием на ассемблере
СообщениеДобавлено: Пт июн 09, 2017 17:37:27 
Открыл глаза

Карма: -1
Рейтинг сообщений: -1
Зарегистрирован: Сб ноя 12, 2016 09:41:00
Сообщений: 58
Рейтинг сообщения: 0
1. Написать программу условного перехода по состоянию бита. Если состояние старшего бита ячейки ОЗУ с адресом 21Н равно 0, то старший бит этой ячейки инвертируется. Если состояние младшего бита ячейки равно 1, то инвертируется весь байт ячейки ОЗУ с адресом 21Н.
Я же правильно прогу написал на это задание, почему при симуляции получается какой-то бред
MOV 21H,#80H
JNB 21H.7,J1
J1:CPL 21H.7
JBC 21H.0,J2
J2:XRL 21H, #0FFH


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Помогите с программированием на ассемблере
СообщениеДобавлено: Пт июн 09, 2017 17:59:00 
Сверлит текстолит когтями
Аватар пользователя

Карма: 25
Рейтинг сообщений: 168
Зарегистрирован: Ср янв 29, 2014 08:41:31
Сообщений: 1231
Откуда: Баку
Рейтинг сообщения: 0
Этот асм я не знаю, 51-й очевидно, но как мне кажется ошибка в первой же команде. Зачем в ячейку с данными грузить маску? И инверсия в конце странно выглядит.

_________________
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Помогите с программированием на ассемблере
СообщениеДобавлено: Пт июн 09, 2017 18:25:47 
Открыл глаза

Карма: -1
Рейтинг сообщений: -1
Зарегистрирован: Сб ноя 12, 2016 09:41:00
Сообщений: 58
Рейтинг сообщения: 0
Этот асм я не знаю, 51-й очевидно, но как мне кажется ошибка в первой же команде. Зачем в ячейку с данными грузить маску? И инверсия в конце странно выглядит.

ну типо 80, это 1000 0000, и тогда должен быть переход, и инверсия старшего бита, переход кстати есть, но что-то вообще бред получается


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

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

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Помогите с программированием на ассемблере
СообщениеДобавлено: Пт июн 09, 2017 19:24:33 
Сверлит текстолит когтями
Аватар пользователя

Карма: 25
Рейтинг сообщений: 168
Зарегистрирован: Ср янв 29, 2014 08:41:31
Сообщений: 1231
Откуда: Баку
Рейтинг сообщения: 0
Что означает 0х80 я знаю, но это маска, ее надо применить в виде операции "И" с содержимым ячейки 021h, а не загружать ее туда, тем самым стирая исходное значение. После первой же команды у вас, как я понимаю, в той ячейке окажется число 0х80.

_________________
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.


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

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

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Помогите с программированием на ассемблере
СообщениеДобавлено: Пт июн 09, 2017 21:28:50 
Потрогал лапой паяльник

Карма: 1
Рейтинг сообщений: 13
Зарегистрирован: Чт авг 08, 2013 01:06:54
Сообщений: 359
Рейтинг сообщения: 0
А мне непонятно, зачем переходить по условию на метку, на которую перейдем и при невыполнении условия. И так 2 раза :)))


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

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

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Помогите с программированием на ассемблере
СообщениеДобавлено: Пн июн 12, 2017 13:25:10 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14056
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
narius985 писал(а):
1. Написать программу условного перехода по состоянию бита. Если
, то старший бит этой ячейки инвертируется. Если состояние младшего бита ячейки равно 1, то инвертируется весь байт ячейки ОЗУ с адресом 21Н.
Я же правильно прогу написал на это задание, почему при симуляции получается какой-то бред
MOV 21H,#80H
JNB 21H.7,J1
J1:CPL 21H.7
JBC 21H.0,J2
J2:XRL 21H, #0FFH


Полный бред...
:facepalm:
Несчастные преподы...
:cry:
А логически мыслить, или хотя-бы расписать в строчку программу на обычном языке???

Есть ячейка в ОЗУ по адресу 21Н (неизвестно с чем внутри)

есть два условия с соответствующим решением:
1.
Если состояние старшего бита ячейки ОЗУ с адресом 21Н равно 0
ТО
старший бит ячейки ОЗУ с адресом 21Н инвертируется
2.
Если состояние младшего бита ячейки ОЗУ с адресом 21Н равно 1
ТО
инвертируется весь байт ячейки ОЗУ с адресом 21Н

можно добавить, что у ячеек с адресами 0х20-0х2F каждый бит имеет собственный адрес (поле прямоадресуемых бит)...
ИТОГ...
а-ну-ка СТУДЕНЬ, поразмышляй!
:wink:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Помогите с программированием на ассемблере
СообщениеДобавлено: Вс июн 25, 2017 13:27:14 
Открыл глаза

Карма: -1
Рейтинг сообщений: -1
Зарегистрирован: Сб ноя 12, 2016 09:41:00
Сообщений: 58
Рейтинг сообщения: 0
narius985 писал(а):
1. Написать программу условного перехода по состоянию бита. Если
, то старший бит этой ячейки инвертируется. Если состояние младшего бита ячейки равно 1, то инвертируется весь байт ячейки ОЗУ с адресом 21Н.
Я же правильно прогу написал на это задание, почему при симуляции получается какой-то бред
MOV 21H,#80H
JNB 21H.7,J1
J1:CPL 21H.7
JBC 21H.0,J2
J2:XRL 21H, #0FFH


Полный бред...
:facepalm:
Несчастные преподы...
:cry:
А логически мыслить, или хотя-бы расписать в строчку программу на обычном языке???

Есть ячейка в ОЗУ по адресу 21Н (неизвестно с чем внутри)

есть два условия с соответствующим решением:
1.
Если состояние старшего бита ячейки ОЗУ с адресом 21Н равно 0
ТО
старший бит ячейки ОЗУ с адресом 21Н инвертируется
2.
Если состояние младшего бита ячейки ОЗУ с адресом 21Н равно 1
ТО
инвертируется весь байт ячейки ОЗУ с адресом 21Н

можно добавить, что у ячеек с адресами 0х20-0х2F каждый бит имеет собственный адрес (поле прямоадресуемых бит)...
ИТОГ...
а-ну-ка СТУДЕНЬ, поразмышляй!
:wink:

ну сомтр, команда JNb, это переход, если бит раверн нулю, но я сделал переход на метку, но он не переходит если бит равен нул. можешь просто ответить, нормально, твои выпендрёже мне пользы не приносят


Последний раз редактировалось aen Вс июн 25, 2017 17:19:04, всего редактировалось 1 раз.
Нарушение Правил форума п. 2.7


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Помогите с программированием на ассемблере
СообщениеДобавлено: Пн июн 26, 2017 03:32:02 
Друг Кота
Аватар пользователя

Карма: 49
Рейтинг сообщений: 390
Зарегистрирован: Вс июл 12, 2009 19:15:29
Сообщений: 7010
Откуда: Ижевск
Рейтинг сообщения: 0
Могу написать программу и объяснить её работу. Без выпендрежа.

_________________
Docendo discimus


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Помогите с программированием на ассемблере
СообщениеДобавлено: Пн июн 26, 2017 06:54:47 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14056
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
"Напишите за меня"
и
"помогите понять, как самому написать"
ВЕЩИ РАЗНЫЕ.
Можно конечно и написать, да толку с того не будет - разве что "конкурента убрать с дороги"... Только предпочитаю, чтоб человек сначала сам максимум вопрос продумал - и удовольствие от СОБСТВЕННОГО решения получил (а не облом в будущем).
Ежли взялся за работу с ассемблером (или иным предметом для изучения) то он должен сам понять, что и как и для чего делается, а не "драть копии не глядя".
Тем более на таких примитивах, которые во многих учебниках давно рассмотрены.
:beer:


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

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


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

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


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

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


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