Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Система команд мк-51Стр 1 из 7Следующая ⇒
Http: //www.gaw.ru/html.cgi/txt/doc/micros/mcs51/asm/start.htm
СИСТЕМА КОМАНД МК-51 Система команд ОМЭВМ предоставляет большие возможности обработки данных, обеспечивает реализацию логических, арифметических операций, а также управление в режиме реального времени. Реализована побитовая, потетрадная (4 бита), побайтовая (8 бит) и 16-разрядная обработка данных. Команда АСАLL < addr 11> Команда “абсолютный вызов подпрограммы” вызывает безусловно подпрограмму, размещенную по указанному адресу. При этом счетчик команд увеличивается на 2 для получения адреса следующей команды, после чего полученное 16-битное значение РС помещается в стек(сначала следует младший байт), и содержимое указателя стека также увеличивается на 2. Адрес перехода получается с помощью конкатенации старших бит увеличенного содержимого счетчика команд, битов старшего байта команды и младшего байта команды.
Команда ADD A, < байт источник> Эта команда складывает содержимое аккумулятора А с содержимым байта-источника, оставляя результат в аккумуляторе. При появлении переносов из разрядов 7 и3, устанавливаются флаги переноса (С) и дополнительного переноса (АС) соответственно, в противном случае эти флаги сбрасываются. При сложении целых чисел без знака флаг переноса “С” указывает на выполнение переполнения. Флаг переполнения (OV) устанавливается, если есть пернос из бита 6 и нет переноса из бита 7, или есть перенос из бита 7 и нет - из бита 6, в противном случае флаг (OV) сбрасывается. При сложении целых чисел со знаком флаг (OV) указывает на отрицательную величину, полученную при суммировании двух положительных операндов или на положительную сумму для двух отрицательных операндов. Для команды сложения разрешены следующие режимы адресации байта источника: 1) регистровый; 2) косвенно-регистровый; 3) прямой; 4) непосредственный.
Команда ADDC A, < байт-источник> Эта команда (“сложение с переносом”) одновременно складывает содержимое байта-источника, флаг переноса и содержимое аккумулятора А, оставляя результат в аккумуляторе. При этом флаги переноса и дополнительного переноса устанавливаются, если есть перенос из бита 7 или бита 3, и сбрасывается в противном случае. При сложении целых чисел без знака флаг переноса указывает на переполнение. Флаг переполнения (OV) устанавливается если имеется перенос бита 6 и нет переноса из бита 7, или есть перенос из бита 7 и нет -из бита 6, в противном случае (OV) сбрасывается. При сложении целых чисел со знаком (OV) указывает на отрицательную величину, полученную при суммировании двух положительных операндов или на положительную сумму от двух отрицательных операндов. Для этой команды разрешены следующие режимы адресации байта-источника: 1) регистровый; 2) косвенно-регистровый; 3) прямой; 4) непосредственный. 5)
Команда AJMP < addr11> Команда “абсолютный переход.” передает управление по указанному адресу, который получается при конкатенации пяти старших бит счетчика команд PC (после увеличения его на два), 7-5 битов кода операции и второго байта команды. Адрес перехода должен находится внутри одной страницы объемом 2 Кбайт памяти программы, определяемой пятью старшими битами счетчика команд.
Команда ANL < байт назначения>, < байт источник> Команда логическое “И” для переменных-байтов выполняют операцию логическое и над битами указанных переменных и помещает результат в байт назначения. Эта операция не влияет на состояние флагов. Два операнда обеспечивают следующие комбинации шести режимов адресации: · Байтом назначения является аккумулятор (А): 1) Регистровый; 2) Прямой; 3) Косвенно-регистровый; 4) Непосредственный; · Байтом назначения является прямой адрес (Direct): 5) Прямой аккумуляторный; 6) Непосредственный (Байт-источник равен константе).
Примечание. Если команда ANL применяется для изменения содержимого порта, то значение, используемое в качестве данных порта, будет считываться из “Защелки” порта, а не с выводов БИС. Команда ANL C, < бит источника> Команда “логическое “И” для переменных-битов”, выполняет операцию логического “И” над указанными битами. Если бит-источник равен " 0", то происходит сброс флага переноса, в противном случае флаг переноса не изменяет текущего значения. " /" перед операндом в языке ассемблера указывает на то, что в качестве значения используется логическое отрицание адресуемого бита, однако сам бит источника при этом не изменяется. На другие флаги эта команда не влияет. Для операнда-источника разрешена только прямая адресация к битам.
Команда CJNE < байт назначения>, < байт источник>, < смещение> Команда " сравнение и переход, если не равно" сравнивает значения первых двух операндов и выполняет ветвление, если операнды не равны. Адрес перехода (ветвления) вычисляется при помощи сложения значения (со знаком), указанного в последнем байте команды, с содержимым счетчика команд после увеличения его на три. Флаг переноса " С" устанавливается в " 1", если значение целого без знака < байта назначения> меньше, чем значение целого без знака < байта источника>, в противном случае перенос сбрасывается (если значения операндов равны, флаг переноса сбрасывается). Эта команда не оказывает влияния на операнды. Операнды, стоящие в команде, обеспечивают комбинации четырех режимов адресации: — если байтом назначения является аккумулятор: 1) прямой 2) непосредственный, — если байтом назначения является любая ячейка ОЗУ с косвенно-регистровой адресацией: 3) непосредственный к регистровому 4) непосредственный к косвенно-регистровому
|