Читать «Assembler. Программирование на языке ассемблера IBM PC» онлайн - страница 33

Unknown Author

Итак, оператор PTR используется в следующих ситуациях: когда типы операндов команд неизвестны и потому надо указать явно тип одного из операндов, и когда нас не устраивает тип, приписанный имени при его описании, и потому мы должны указать нужный нам тип.

3.2.3. Команда XCHG

В машинных программах приходится довольно часто переставлять местами какие-то Две величины, и хотя такую перестановку можно реализовать только с помощью команды MOV, в ПК введена специальная команда для этого:

Перестановка (exchange): XCHG opl,op2

Пересылки. Арифметические команды    47

&

Эта команда меняет местами значения своих операндов (они должны быть либо байтами, либо словами): opl <=> ор2. Флаги при этом не меняются.

Пример:

MOV АХ,62    ;АХ=62

MOV SI,135    ;SI=135

XCHG AX,SI    ;AX=135,    SI=62

Допустимые типы операндов команды XCHG:

r8

ш8

г16

ш16

г8, ш8 г8

г16, ш16 г16

перестановка байтов

перестановка слов

Как видно, не допускается перестановка содержимого двух ячеек памяти. Если все-таки надо сделать такую перестановку, то это реализуется через какой-нибудь регистр. Например, поменять местами значения байтовых переменных X и Y можно так:

MOV AL,X XCHG AL,Y MOV X,AL

3.3.

; AL=X

;AL=Y, Y=X

;X=Y (исходное значение)

1

   в квадратных скобках будем указывать конструкции, которые можно опускать; например, запись А[В]С означает либо текст АВС, либо текст АС;

•    в фигурные скобки будем заключать конструкции, которые могут быть повторены любое число раз, в том числе и ни разу; например, запись А {ВС) означает любой из следующих текстов: А, АВС, АВСВС, АВСВСВС и т. д.

2

   в качестве символов можно использовать русские буквы;

•    в строках одноименные большие и малые буквы не отождествляются ('А+В' и ’а+Ъ' - разные строки);

•    если в качестве символа или внутри строки надо указать кавычку, то делается это так: если символ или строка заключена в одинарные кавычки, то одинарную кавычку надо удваивать, а вот двойную кавычку не надо удваивать, и наоборот, если внешние кавычки двойные, то двойная кавычка должна удваиваться, а одинарная не удваивается:

'don''t' 'don"t' "don't" "don""t"

Собственно ради того, чтобы не удваивать внутренние кавычки, в язык и введены два вида кавычек, ограничивающих символы и строки.

3

ДИАЛОГ-МИФИ"

Команды сложения и вычитания

Прежде чем перечислить имеющиеся в ПК команды сложения и вычитания, рассмотрим особенности выполнения этих операций.

3.3.1. Особенности сложения и вычитания целых чисел в ПК

Беззнаковые числа складываются как обычно, только в двоичной системе счисления. Однако здесь есть одна проблема: что делать, если сумма получится очень большой - такой, что она не умещается в ячейке? Например, если при ячейке размером в 8 битов мы складываем 250 и 10, то получим число 260 (100000100b), которое не "влезает" в ячейку.