ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
11 июля
361746 Топик полностью
tvi (14.10.2012 20:16, просмотров: 177) ответил Hobo на Если всего для 3-х входов - проще сделать три ветки где в каждой в R16 будет заноситься 1,2 или 3.
В реальности то у меня так и есть - написано три блока однотипных, которые проходят последовательно по кольцу. Код то в них одинаковый, только каждый блок работает со своими флагами (их три в каждом блоке). Все бы хорошо, но программа еще не отлажена и при доработке приходится делать в каждом блоке однотипные изменения - нудно, да и ошибки бывают - где то что то пропустишь. Поэтому я и решил написать процедуру в которую передаю соответствующие параметры p1, p2 и p3, в которых прописываю индексы битов регистров флагов (всего 2 регистра флагов). Значения индексов у меня объявлены через EQU. Все работает при непосредственной подстановке констант. А в процедуру я хотел с помощью директивы .SET передавать соответствующие конкретному каналу индексы флагов, пример я указал в демопроге. Теперь буду думать как с помощью регистров передавать параметры этой процедуре. Просто я заблуждался, полагая, что SET создает переменные, как они понимаются в СИ, например. Вы предлагаете создать переменные: Вручную выделяется ячейка памяти .EQU VAR1 = $60 // в ячейке памяти 60h будет храниться переменная .EQU VAR2 = VAR1+1 // следующая переменная У меня вопрос по этому предложению - как компилятор определит, что это ячейка памяти с адресом $60, а не константа с именем VAR1 со значением $60?