Кластерный компьютер Приемы повышения производительности Двоичная арифметика Программирование на языке ассемблера

Необходимость перевода числа из одной системы счисления в другую обусловлена тем, что пользователю удобнее иметь дело с десятичными или шестнадцатеричными кодами, а ЭВМ работают с двоичными кодами.

Команды перехода и вызова

В последней группе табл. В.2. представлены команды условного и безусловного переходов, вызова подпрограмм и возврата. Простейшей из них является команда JMP.

Метка в ней может указывать на целевой адрес или на содержимое любого действительного адреса. Следует учитывать различие между ближним и дальним переходами. Объектом ближнего перехода является текущий кодовый сегмент, неизменный в период выполнения операции. В процессе дальнего перехода значение регистра CS, напротив, меняется. В случае непосредственной адресации с применением метки новое значение регистра кодового сегмента устанавливается при вызове после метки; в случае с действительным адресом из памяти выбирается длинное слово, в результате младшее слово оказывается соответствующим целевой метке, а старшее слово — новому значению регистра кодового сегмента.

Ничего удивительного в таком различии нет. Чтобы выполнить переход к произвольному адресу в 20-разрядном адресном пространстве, необходим механизм определения адреса длиной более 16 бит. Этот механизм существует, и заключается он в присвоении регистрам CS и PC новых значений.

Условные переходы

В процессоре 8088 предусмотрены 15 разновидностей условных переходов, причем у некоторых из них сразу несколько имен (например, команды JUMP GREATER OR EQUAL и JUMP NOT LESS THAN эквивалентны). Все они перечислены в табл. В.З. Максимальное расстояние перехода составляет 128 байт от текущей команды. Если объект перехода находится вне допустимого диапазона, приходится реали- зовывать составной переход (jump over jump). В этом случае для перехода через следующую команду применяется второй переход с противоположным условием. Если в следующей команде определен безусловный переход по целевому адресу, то сочетание этих двух команд приводит лишь к удлинению перехода указанного типа. К примеру: Если компьютер сообщает о невозможности прочесть сектор на диске, для восстановления данных лучше использовать не RECOVER, a программу Disk Doctor из пакета Norton Utilities или ей подобную. После запуска DEBUG переходит в режим своей командной строки, подсказка-"приглашение" в которой выглядит как дефис ("-").

JВ FARLABEL

Эту команду следует заменить следующей конструкцией:

JNA If

JMP FARLABEL

Основание позиционной системы счисления - в узком смысле - количество знаков, используемых для записи чисел в той или иной позиционной системе счисления. Основание показывает, во сколько раз вес каждой цифры в записи числа меньше веса цифры, стоящей в старшем соседнем разряде.
Кластерные вычисления Процессор 8088 Программирование на языке ассемблера