MSP430 система команд - Команда CMP

CMP[.W] Сравнение источника и получателя
CMP.B Сравнение источника и получателя
Синтаксис CMP src,dst или CMP.W src,dst
CMP.B src,dst
Операция dst + .NOT.src + 1
или
(dst – src)
Описание Операнд источника вычитается из операнда получателя. Это выполняется прибавлением дополнения до единицы операнда источника плюс 1. Оба операнда не изменяются, а результат не сохраняется, изменяются только биты статуса.
Биты статуса N: Устанавливается, если результат отрицательный; сбрасывается, если положительный (src >= dst)
Z: Устанавливается, если результат «0», в противном случае сбрасывается (src = dst)
C: Устанавливается, если произошел перенос из MSB результата, в противном случае сбрасывается
V: Устанавливается, если произошло арифметическое переполнение, в противном случае сбрасывается
Биты режима Биты OSCOFF, CPUOFF и GIE не изменяются
Пример Сравнивается содержимое R5 и R6. Если оно одинаково, выполнение программы продолжается с метки EQUAL.
CMP   R5,R6  ; R5=R6?
JEQ   EQUAL  ; Да, переход к метке EQUAL
Пример Сравниваются два блока в ОЗУ. Если они не эквивалентны, программа переходит к метке ERROR.
     MOV #NUM,R5            ; количество слов, которые будут
                            ; сравниваться
L$1  CMP &BLOCK1,&BLOCK2    ; слова одинаковы?
     JNZ ERROR              ; нет, переход к метке ERROR
     DEC R5                 ; все слова подверглись сравнению?
     JNZ L$1                ; нет, сравнение продолжается
Пример Сравниваются байты в ОЗУ, адресованные метками EDE и TONI. Если они одинаковы, выполнение программы продолжается с метки EQUAL.
CMP.B EDE,TONI      ; MEM(EDE)=MEM(TONI)?
JEQ   EQUAL         ; Да,переход к метке EQUAL






© 2008 Электроника для начинающих | Programming V.Lasto | Povered by Nano-CMS | Designer S.Gordi