Не могу найти ошибку (BoRLANDC+Assembler)

Узнай цену своей работы

Формулировка задачи:

Здравствуйте. Подскажите, что не так?
#include <iostream.h>
int p1,p2;
int extern cdecl addint (int,int);
void main()
{
cout<<"\n p1=";
cin>>p1;
cout<<"\n p2=";
cin>>p2;
cout<<"\n Summa="<<addint(p1,p2);
}
.MODEL SMALL
.CODE
PUBLIC _addint
_addint proc far
push bp
mov bp,sp
mov ax,[bp+6]
add ax,[bp+8]
pop bp
ret
_addint endp
end
Есть такое примечание:
Чтобы получить .exe-файл, нужно войти в среду TC++ или BC и создать там файл проекта, например, ca.prj, состоящий из двух файлов : c_asm.c (компиляция с моделью памяти LARGE) asm_c.obj (предварительно транслируется с помощью TASM)
Но я что-то не смог сделать.* 0(

Решение задачи: «Не могу найти ошибку (BoRLANDC+Assembler)»

textual
Листинг программы
.MODEL SMALL
.CODE
PUBLIC _addint

Объяснение кода листинга программы

  1. В начале кода указывается модель памяти, в данном случае SMALL - это означает, что используется модель памяти с небольшим объемом, где каждый сегмент имеет размер 16 байт.
  2. Далее идет раздел кода, который начинается с метки PUBLIC. Эта метка указывает на то, что следующий код является процедурой или функцией и может быть вызван из другого места программы.
  3. Следующий элемент - это имя процедуры или функции _addint. Это имя используется для вызова этой процедуры из другого места программы.
  4. Далее идет блок кода, который состоит из инструкций ассемблера. Однако, в данном случае этот блок кода пуст, так как код не был предоставлен.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.111 из 5