Не могу найти ошибку (BoRLANDC+Assembler)
Формулировка задачи:
Здравствуйте. Подскажите, что не так?
Есть такое примечание:
Но я что-то не смог сделать.* 0(
#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)
Решение задачи: «Не могу найти ошибку (BoRLANDC+Assembler)»
textual
Листинг программы
.MODEL SMALL .CODE PUBLIC _addint
Объяснение кода листинга программы
- В начале кода указывается модель памяти, в данном случае
SMALL
- это означает, что используется модель памяти с небольшим объемом, где каждый сегмент имеет размер 16 байт. - Далее идет раздел кода, который начинается с метки PUBLIC. Эта метка указывает на то, что следующий код является процедурой или функцией и может быть вызван из другого места программы.
- Следующий элемент - это имя процедуры или функции
_addint
. Это имя используется для вызова этой процедуры из другого места программы. - Далее идет блок кода, который состоит из инструкций ассемблера. Однако, в данном случае этот блок кода пуст, так как код не был предоставлен.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д