Как работает инструкция "Test" - Assembler
Формулировка задачи:
Исходя из описания, она используется для проверки битов. Т.е, в случае
результат должен быть положительным. Также, для сравнения с нулем, используют нечто вроде test al,al. Выходит, перед сравнением, test инвертирует то ли источник, то ли приемник аналогично XOR, а после сравнивает. Я заблуждаюсь, но в чем?
mov al,11b test al,01b
Решение задачи: «Как работает инструкция "Test"»
textual
Листинг программы
test al,al js label
Объяснение кода листинга программы
Вот что происходит в этом коде:
test al,al- Эта инструкция выполняет сравнение двух регистров. В данном случае, это регистрalиal. Если они равны, то переходит к следующему шагу, иначе возвращается к началу цикла.js label- Эта инструкция переходит к меткеlabel. Если регистрыalравны, то это будет выполнено. Если они не равны, то код просто вернется к началу цикла. Вот как это выглядит в виде списка:test al,aljs label