|  |  |  | 
|  | Allex: список "хотелок"Подробно отвечу вечером, т.к. сейчас на работе.
 А вообще в ветке про Чемберлена правильную мысль высказали - не стоит сейчас зацикливаться на асме. Достаточно иметь общее представление о нём. Современные компиляторы уже достаточно хороши. Девайс по техзаданию № 3 доделаем на асме, а потом можем для сравнения его же на Бейсике или на Си сделать.
 
 | 
 | 
|  | picmaniac: Девайс по техзаданию № 3 доделаем на асме, а потом можем для сравнения его же на Бейсике или на Си сделать.picmaniac, умоляю. Пусть в этой ветке будет асм. Ведь есть же ветка ликбеза №2, там и бейсик и си можно. Хочется все-таки в асме руку набить. Только - только начали чуть-чуть понимать эту тарабарщину, и сразу бейсик.
 Вот для меня, например, чужие программы на асме так и остаются тайной за семью печатями, а хотелось бы уметь разбираться.
 Ведь есть еще такие вещи, как директивы, многие их применяют, а хрен знает как ими пользоваться.
 По поводу задания №3. Программу вчерне я сляпал, в мплабе не запускал еще, боюсь.
  Решил теперь алгоритм нарисовать. Вот здесь трудности. Как-то по дурацки выходит. Казалось бы сначала надо алгоритм, потом программу, а вот не получается. Выложу на суд сегодня попозже, к вечеру. | 
 | 
|  | Хорошо, без проблем, я ничуть не возражаю. Пусть эта ветка будет посвящена только ассемблеру. Захотим - других тем насоздаём.Статью прочитали? Перед рисованием алгоритма полезно сформулировать его подробно на словах. Затем неплохо бы нарисовать граф. Потом - алгоритм. А потом уже программу.
 | 
 | 
|  | Alex: - для чего используется команда SWAPА SWAP в пиках это как и в АВР-ках перестановка тетрад? Тогда это иногда удобно для быстрого сдвига на 4 бита. Вместо 4 команд - одна, но только иногда
  | 
 | 
|  | Да. Ещё эта команда бывает полезна при организации табличной конвертации. См. программу Zandy на стр.26. | 
 | 
|  | picmaniac: Статья на тему составления графов выложена мной в файлообменник на gmail.Научите, как туда попасть.
 
 | 
 | 
|  | Читал я читал статью про графы. Конечно, наверное хорошая штука, но как-то все уж очень формализовано. Ну не умею я мыслить глобально.  Не понял особой связи с конкретикой. Может статья очень краткая. Должны же быть какие-то стандартные приемы, подходы и т. д. Короче, я понял, что этому тоже надо учиться и учиться.  Ну не смог я нормальный граф нарисовать.  Да и блок-схему алгоритма нарисовал по мере написания программы на асме.
 Вот выкладываю первую часть. Это такой укрупненный алгоритм.
 60499.doc | 
 | 
|  | А здесь более детализированный алгоритм. Ну может корявенько, не знаю, не умею рисовать алгоритмы.  Кстати тут не разместил подпрограмму задержки, подумал, что и так ясно, как ее делать. В самой программе она конечно присутствует. 60500.doc | 
 | 
|  | Ну и вот наконец и сама программа. Для ветвления на 4 сценария я воспользовался тем же приемом, что и с таблицами, но тут я применил переходы на подпрограммы.Насчет дребезга контактов я думал. Вроде тут он особо влиять не будет, а может будет, кто его знает.
  Хотелось бы поподробнее с этим разобраться. Да, есть еще вопросы и по мплабу. Я пользуюсь MPLAB IDE v7.43, т. е. последней версией. Как-то мне 7 версия больше по душе, чем 5. Там много нововведений по сравнению с 5 версией, вот только, "с чем их кушать"?
 Ну, жду критики. А программа в симуляторе работает, гонял ее и вдоль и поперек.
  Левон, ваш вариант?
 60502.asm | 
 | 
|  | Я не понял вот что: почему используется такая странная конструкцияmovwf   TRISB^80h
 почему не просто
 movwf   TRISB
 Еще конструкцию видаmovlw   B'00000000'
 movwf   XXX
 можно заменить на
 clrf    XXX
 | 
 | 
|  |  |  |