Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Программирование на встроенном ассемблере в среде Турбо Паскаль 7.0

Сергей Алексеев Профи (843), закрыт 8 лет назад
Здравствуйте. Нужно
2.Написать процедуру на языке Паскаль с ассемблерной вставкой выполняющей над двухбайтовыми переменными X1, X2, X3, X4 следующие действия:
1. Умножение двухбайтовых слов Х1*X2;
3. Сохранение результата в регистровой паре BX:CX;
...
Получить результат для следующих значений переменных: Х1= 300, Х2= 200, Х3=-32000, Х4=8000
Для умножения написал:

{$A+,B-,D+,E+,F-,G+,I-,L+,N+,O-,P+,Q-,R-,S-,T-,V-,X+,Y+}
program P_asm;
var
a,b: INTEGER;

function ALU(X1,X2:INTEGER):longInt;
begin
asm
MOV AX,X1
MOV BX,X2
IMUL BX
mov word ptr @result, ax
mov word ptr @result+2, dx
end;
end;
begin;
readln(a,b);
writeln('pezyltat:',ALU(a,b));
readln;
end.

Как сохранить в регистровой паре BX:CX?
Лучший ответ
Виктор Ворожейкин Гуру (4242) 8 лет назад
можно ЗАПИСАТЬ результат в BX:CX
mov bx,dx
mov cx,ax
но СОХРАНЯТСЯ он не будет
Остальные ответы
anton shahmatov Мастер (1786) 8 лет назад
а зачем, запихни в переменную
Похожие вопросы