Мне сложно понять разницу между этими двумя инструкциями в ARM. Из того, что я понимаю,
CMP R1, R2
Выполнит действие R1-R2, но не сохранит результат. Затем он установит флаги в регистре состояния, такие как N (отрицательный, если R1
То, что я не понимаю, это то, что TST делает по-другому. В моих заметках говорится, что TST не меняет значения своих операндов ... но я думал, что CMP тоже не изменился. Чем отличаются две инструкции?
Как это
CMP R1, R2
отличается от
TST R1, R2
? Заранее спасибо за любую помощь!