MSP430 - Команда TST
*TST[.W] | Проверка получателя | |
*TST.B | Проверка получателя | |
Синтаксис | TST dst или TST.W dst TST.B dst |
|
Операция | dst + 0FFFFh + 1 dst + 0FFh + 1 |
|
Эмуляция | CMP #0,dst CMP.B #0,dst |
|
Описание | Операнд получателя сравнивается с нулем. Биты статуса устанавливаются в соответствии с результатом сравнения. Получатель не изменяется. | |
Биты статуса | N: | Устанавливается, если результат отрицательный; сбрасывается, если положительный. |
Z: | Устанавливается, если результат содержит «0», в противном случае сбрасывается. | |
C: | Устанавливается | |
V: | Сбрасывается | |
Биты режима | Биты OSCOFF, CPUOFF и GIE не изменяются | |
Пример | Проверяется R7. Если его содержимое отрицательно, программа продолжается с метки R7NEG; если положительно, но не равно нулю, выполняется переход к метке R7POS.TST R7 ; проверка R7 JN R7NEG ; содержимое R7 отрицательно JZ R7ZERO ; R7 содержит ноль R7POS … ; содержимое R7 положительное, но не 0 R7NEG … ; содержимое R7 отрицательное R7ZERO … ; R7 содержит ноль |
|
Пример | Проверяется младший байт регистра R7. Если его содержимое отрицательно, программа продолжается с метки R7NEG; если положительно, но не равно нулю, выполняется переход к метке R7POS.TST.B R7 ; проверка младшего байта R7 JN R7NEG ; младший байт R7 отрицателен JZ R7ZERO ; младший байт R7 содержит ноль R7POS … ; младший байт R7 положителен, но не 0 R7NEG … ; младший байт R7 отрицателен R7ZERO … ; младший байт R7 содержит ноль |