Turbo Assembler 3.0. Руководство пользователя

         

Использование другого базового или индексного регистра


Второй способ доступа к параметрам состоит в использовании для получения этих параметров другого базового или индексного ре- гистра (BX, SI или DI). Нужно однако помнить, что по умолчанию сегментным регистром для них является регистр DS, а не SS. Поэ- тому для их использования вам придется применять префикс переоп- ределения сегмента.

Приведем пример использования для получения параметров ре- гистра BX:

CODE SEGMENT ASSUME CS:CODE MyProc PROC FAR ; procedure MyProc(i,j : integer); PUBLIC MyProc j EQU WORD PTR SS:[BX+4] ; j находится над сохраненным ; BP и адресом возврата i EQU WORD PTR SS:[bp+8] ; i располагается над j mov bx,sp ; BX теперь указывает на вершину ; стека mov ax,i ; адресуемся к i через BX . . .

В тех программах, где нет большого числа ссылок на парамет- ры, такой метод позволяет сэкономить время и место. Почему? Пото- му, что в отличие от BP, регистр BX не требуется восстанавливать в конце программы.



Содержание раздела