Пример взаимодействия программ

Возврат данных в вызывающую программу

End main

Asmproc endp

Ret

Mov cx, kol

Xor bh, bh

Mov bl, 07h

Mov al, chr

Mov ah, 09h

Mov dl, byte ptr x

Mov dh, byte ptr y

Public asmproc

Code

Stack 256

Model large pascal

Masm

main:

asmproc proc near chr:byte, x:word, y:word, kol:word

mov ah, 02h

int 10h ;позиционирование курсора в нужное место

int 10h; вывод символа

Программа на ассемблере возвращает результат в регистрах:

· ax – слово

· al – байт

· в паре dx:ax – двойное слово: dx – старшие разряды, ax–младшие

· в паре dx:ax – указатель: dx – адрес сегмента, ax – смещение

 

 

Программа на языке Pascal

 

Program prg;

function addasm : word; external;

{$L <имя>, obj} ; подключение объектного файла