Иллюстрированный самоучитель по Assembler


Циклы - часть 5


or BX,BX            ;Анализ BX

jz zero                 ;Переход, если BX=0

inpt: in  AL,DX   ;Ввод данного из устройства

test AL,80h        ;Анализ бита 7 в данном

je inpt                  ;Ввод до тех пор , пока

                            ;бит 7=0 (ожидание установки бита 7)

test AX,7            ;Анализ битов 0,1,2 в AX

jne found             ;Переход, если хотя бы 1 бит

                             ;из них установлен

test DI,OFh         ;Анализ битов 0...3 в DI

jz reset                ;Переход, если все они сброшены

В гл. 2 отмечалось, что двоичные числа, записываемые в регистры процессора или ячейки памяти, можно рассматривать, либо как числа существенно положительные, т.е. числа без знака, либо как числа со знаком. Например, адреса ячеек, разумеется, не могут быть отрицательными. Поэтому число FFFFh, если по смыслу программы оно является адресом, обозначает 65535. Если, однако, то же число FFFFh получилось в арифметической операции вычитания 2 из 1, то его надо рассматривать, как - 1. Точно так же понятие знака бессмысленно по отношению к кодам символов, которые с равным успехом могут принимать любое значение из диапазона 0...255. С другой стороны, мы можем условно считать, что коды символов первой половины таблицы ASCII положительны, а коды второй половины таблицы (у них установлен старший бит) отрицательны, и использовать для обработки символов команды, чувствительные к знаку.




Начало  Назад  Вперед



Книжный магазин