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

         

Инструкция GETFIELD


Инструкция GETFIELD извлекает данные из поля записи. Логика ее работы противоположна инструкции SETFIELD. Она имеет следующий синтаксис:

GETFIELD имя_поля регистр_приемник, регистр/память_источник

где "имя_поля" и "регистр_приемник" работают так же, как в опера- ции SETFIELD. "Регистр/память_источник" можно использовать также, как "регистр_источник" в операции SETFIELD, например:

FOO RECORD R0:1,R1:4,R2:3,R3:1 . . . GETFIELD F1 AX,BL ; рабочим регистром является BX GETFIELD F1 AX,BH ; недопустимо!

Примечание: Операция GETFIELD уничтожает все содержи- мое рабочего регистра.

Операция GETFIELD извлекает значение поля, обнаруженное в регистре-источнике или по адресу памяти, и устанавливает в это значение соответствующую часть регистра-приемника. На другие ре- гистры (кроме рабочего) и флаги процессора эта инструкция не вли- яет.

Чтобы выполнить свою функцию, инструкция GETFIELD генерирует эффективную и расширенную последовательность инструкций MOV, XCHG, ROL и ROR.



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