-
- Думаю, вы так и не поняли о чем я спрашивал изначально, а как устанавливать/сбрасывать флаги по одному или скопом я знаю. И я не пойму смысла ваших макросов - зачем они нужны? tvi(118 знак., 15.10.2012 23:57)
- Я не раз делал ошибку со стрелками. Один раз даже отправил заказчику программу с одной такой ошибкой. Извращался с определением констант. Запарился. Наткнулся на эти макросы, с тех пор использую и не парюсь. mazur(283 знак., 16.10.2012 14:12)
- Ваш макрос работает только с одним битом. А sbr FLAGS,(1<<FLG1)|(1<<FLG2)|(1<<FLG3)? Или например sbr R16,(3<<WGM12)|(5<<CS10) - maik-vs(16.10.2012 15:57)
- Тут да, согласен. Предложите варианты. - mazur(16.10.2012 16:15)
- Ваш макрос работает только с одним битом. А sbr FLAGS,(1<<FLG1)|(1<<FLG2)|(1<<FLG3)? Или например sbr R16,(3<<WGM12)|(5<<CS10) - maik-vs(16.10.2012 15:57)
- Нет, sbr FLAGS,FLG1 это фактически OR с константой. В отличие от sbi port,bit. :0 C битами работаем так: maik-vs(403 знак., 16.10.2012 10:24)
- sbr Rd,K - это ORI Rd,K. А про defы я не понял, к чему это вы? В программе trablset2.asm я допустил ошибку - поставил две метки с одинаковыми именами lDelay, а поскольку одна из них стоит в макросе, ассемблер промолчал, как и предупреждал mazur. tvi(45 знак., 16.10.2012 11:14)
- Про .def-ы это совет. Неприятно видеть программы с бесконечными R16 R17 R23 и держать в мозге кто для чего. - maik-vs(16.10.2012 11:38)
- sbr Rd,K - это ORI Rd,K. А про defы я не понял, к чему это вы? В программе trablset2.asm я допустил ошибку - поставил две метки с одинаковыми именами lDelay, а поскольку одна из них стоит в макросе, ассемблер промолчал, как и предупреждал mazur. tvi(45 знак., 16.10.2012 11:14)
- А я у вас спрашивал, что делает ваша программа. Что вы хотите получить. Вы не ответили, а передача параметров и ваш код это не ответ. Очень возможно, что все можно сделать по другому. - mazur(16.10.2012 06:43)
- Посылаю вам упрощенную версию (для облегчения восприятия) моей работающей программы с 3-мя однотипными блоками, которую я для облегчения отладки решил переписать, используя подпрограмму. Но наткнулся на проблему с использовавшимися в старой версии tvi(650 знак., 16.10.2012 16:02 - 16:06)
- Вы тоже снова меня не поняли. Я посмотрю примеры. Мне нужно знать, что вы хотите реализовать. Не программным кодом, а что-то вроде ТЗ. Типа: вот такой-то девас. Он должен делать то-то и то-то. И когда то-то и то-то, должно происходить вот это и mazur(137 знак., 16.10.2012 16:21)
- Сколько программистов и столько же решений любого ТЗ, не так ли? Программа уже 3 года нормально работает, а этот блок программы самый сложный, в смысле алгоритма и трогать что то в ней опасно, поскольку я уже сам не все помню. Лучшее, враг tvi(745 знак., 16.10.2012 18:33)
- Вы тоже снова меня не поняли. Я посмотрю примеры. Мне нужно знать, что вы хотите реализовать. Не программным кодом, а что-то вроде ТЗ. Типа: вот такой-то девас. Он должен делать то-то и то-то. И когда то-то и то-то, должно происходить вот это и mazur(137 знак., 16.10.2012 16:21)
- Посылаю вам упрощенную версию (для облегчения восприятия) моей работающей программы с 3-мя однотипными блоками, которую я для облегчения отладки решил переписать, используя подпрограмму. Но наткнулся на проблему с использовавшимися в старой версии tvi(650 знак., 16.10.2012 16:02 - 16:06)
- Я не раз делал ошибку со стрелками. Один раз даже отправил заказчику программу с одной такой ошибкой. Извращался с определением констант. Запарился. Наткнулся на эти макросы, с тех пор использую и не парюсь. mazur(283 знак., 16.10.2012 14:12)
- Вариант с + тяжелее чем с | отлаживать, если случайно одинаковые FLG1 и FLG2 сделал. Особенно, когда флагов много. - Andreas(15.10.2012 16:28)
- Думаю, вы так и не поняли о чем я спрашивал изначально, а как устанавливать/сбрасывать флаги по одному или скопом я знаю. И я не пойму смысла ваших макросов - зачем они нужны? tvi(118 знак., 15.10.2012 23:57)