TURBO PASCAL |
Новости
|
Турбо Ассемблер и Borland PascalТурбо Ассемблер (TASM) значительно облегчает разработку программ на языке ассемблера и организации в них интерфейса с программами Borland Pascal. Турбо Ассемблер поддерживает специфи- ческое использование сегментов, схему памяти и языковую поддержку для программистов, работающих на Borland Pascal. Используя ключевое слово PASCAL и директиву .MODEL, можно обеспечить соблюдение соглашений о вызовах с Borland Pascal, оп- ределить имена сегментов, выполнить инструкции PUSH BP и MOV PB,SP, а также обеспечить возврат управления с помощью операторов POP BP и RET N (где N - это число байт параметра). Директива .MODEL имеет следующий синтаксис: .MODEL xxxx, PASCAL где xxxx - это модель памяти (обычно LARGE). Задание в директиве .MODEL языка PASCAL сообщает Турбо Ассемблеру, что параметры были занесены в стек слева-направо - в том порядке, в котором они обнаружены в исходном операторе, вызы- вающем процедуру. B.Pascal 7 & Objects/LR - 439 - Директива PROC позволяет вам задать параметры в том же по- рядке, как они определены в программе Borland Pascal. Если вы оп- ределяете функцию, которая возвращает строку, обратите внимание на то, что директива PROC имеет опцию RETURNS, позволяющую вам получить доступ к временному указателю строки в стеке и не оказы- вающую влияния на число байт параметра, добавляемых в операторе RET. Приведем примеры кода, в которых используются директивы .MODEL и PROC: .MODEL LARGE, PASCAL .CODE MyProc PROC FAR 1:BYTE, j : BYTE RETURNS result : DWORD PUBLIC MyProc les di,result ; получить адрес временной строки mov al,i ; получить первый параметр i mov bl,j ; получить второй параметр j . . . ret Определение функции в Borland Pascal будет выглядеть следую- щим образом: function MyProc(i,j : char) : string; external; |
(с)Все права защищены По всем интересующим вопросам прошу писать на электронный адрес |