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

Занесение в стек константа (процессор 8086)


Хотя процессоры 80186б 80286 и 80386 среди основного набора инструкций содержат инструкцию PUSH, которая заносит в стек не- посредственное значение, в процессоре 8086 такой инструкции нет.

Однако Турбо Ассемблер позволяет использовать в инструкции PUSH константы и в процессоре 8086. При этом генерируется после- довательность инструкций, имеющая тот же результат, что и инс- трукция PUSH c операндом-константой для процессора 80186 и выше.

Примечание: Это средство вы можете использовать толь- ко при разрешении генерации эффективного кода.

Последовательность инструкций, которую Турбо Ассемблер ис- пользуется для выполнения операции PUSH с константой, имеет длину около 10 байт. Они короче и выполняются быстрее, чем выполнение той же функции, но их выполнение связано с потерей содержимого регистра, например:

MOV ax, constant PUSH ax

Данная последовательность имеет длину только 6 байт, но в процессе этого теряется содержимое регистра AX.



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