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 содержит ноль
|
|