СОВРЕМЕННАЯ ЭЛЕКТРОНИКА №4/2012

ПРОГРАММИРОВАНИЕ между собой. Кроме того, порядок сле дования байт кодов операций в фай ле листинге и в файле в *.com форма те в каждом из режимов также отлича ется. Значит, коды файла листинга для вставки использовать нельзя. Если последовательно загрузить в cx сна чала старший байт – ch (нулевым зна чением), затем младший байт – cl (числом 20) – как в первом примере при загрузке регистра dx, – это не ре шит проблему. Дело в том, что в 32 разрядном режиме работы оператор loop работает с 32 разрядным регист ром ecx. Если загрузить числом 20 только его младшее слово (регистр cx), без изменения старшего слова, то после 20 циклов работы в регистр cx загрузится число 65535 (ffffh), из стар шего слова вычтется единица, и цикл будет продолжаться до обнуления ре гистра ecx, что приведёт к сбою. С дру гой стороны, в старшее слово загру зить нулевое значение невозможно, т.к. старшее слово ecx недоступно для загрузки. Однако решить задачу загрузки ecx числом 20, при которой сгенериру ются двухбайтные коды, достаточно просто, если вначале обнулить весь ре гистр ecx, а потом загрузить в самый младший его регистр cl число 20. Для обнуления регистра ecx можно при менить 2 байтную операцию исклю чающего ИЛИ (xor) над этим регист ром: .386 33 C9 xor ecx,ecx B1 14 mov cl,20 – в файле листин ге 33 C9 B1 14 – в файле *.com – формата ;.386 33 C9 xor cx,cx B1 14 mov cl,20 – в файле листин ге 33 C9 B1 14 – в файле *.com – формата Как можно убедиться, такой вариант загрузки даёт одинаковые коды в 16 и 32 разрядном режиме, и кроме то го, коды файла листинга полностью совпадают с кодами файла в *.com формате. Второй вывод, который следует из вышеприведенного примера, – загруз ку регистра ecx необходимо произво дить в соответствии с вышеприведён ным вариантом (или придумать свой, дающий 2 байтные коды операций). В противном случае следует использо вать объектные коды из файла в *.com формате. З АКЛЮЧЕНИЕ Использование низкоуровневых команд процессора компьютера поз воляет обеспечить более быструю и точную обработку сигналов интер фейса RS 232 из языка высокого уров ня. В результате повышается надёж ность обмена информацией между компьютером и микроконтроллером на максимальной скорости интер фейса. Л ИТЕРАТУРА 1. Кузьминов А. Современные программ ные средства связи микроконтроллера с компьютером по интерфейсу RS 232. Компоненты и технологии. 2006. №№ 6–11. 2. Кузьминов А. Современные аппаратные средства связи микроконтроллера с ком пьютером по интерфейсу RS 232. Компо ненты и технологии. 2006. № 3–5. 3. www.microcompsys.narod.ru. 73 WWW.SOEL.RU СОВРЕМЕННАЯ ЭЛЕКТРОНИКА ◆ № 4 2012 Реклама Тел.: (495) 234 0636 • Факс: (495) 234 0640 • E mail: info@prosoft.ru • Web: www.prosoft.ru © СТА-ПРЕСС

RkJQdWJsaXNoZXIy MTQ4NjUy