Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи на заказ _ Портирование для TurboPascal

Автор: AVPro 18.05.2009 19:42

Есть две функции из юнита для TMT. Надо переделать, чтоб компильнулось в Turbo Pascal.
А то инструкции 32-разрядного ассемблера не пролезают.
1.
function SafeShr(value:longint; cnt:word):longint;assembler;
asm
mov eax,value
mov bx,ax
shr eax,16
mov dx,ax
mov ax,bx
mov cx,cnt
shrd ax,dx,cl
shr dx,cl
mov bx,ax
mov ax,dx
shl eax,16
mov ax,bx
end;
2.
function SafeShl(value:longint; cnt:word):longint;assembler;
asm
mov eax,value
mov bx,ax
shr eax,16
mov dx,ax
mov ax,bx
mov cx,cnt
shld dx,ax,cl
shl ax,cl
mov bx,ax
mov ax,dx
shl eax,16
mov ax,bx
end;
Вроде всё.

Автор: О_Джей_Симпсон 18.05.2009 22:28

что они делать должны.