Мой вопрос будет о том, как изменить мой f1.asm
(и, возможно, main1.cpp
).
В вводе целочисленных значений main1.cpp
I, которые я посылаю функционировать в f1.asm
, добавить их, и отправить обратно и отображать результат в main1.cpp
.
main1.cpp:
#include <iostream.h>
#include <stdlib.h>
#include <math.h>
extern "C" int f1(int, int, int);
int main()
{
int a,b,c;
cout<<"W = a+b+c" << endl ;
cout<<"a = " ;
cin>> a;
cout<<"b = " ;
cin>>b;
cout<<"c = " ;
cin>>c;
cout<<"\nW = "<< f1(a,b,c) ;
return 0;
}
f1.asm:
.model SMALL, C
.data
.code
PUBLIC f1
f1 PROC
push BP
mov BP, SP
mov ax,[bp+4]
add ax,[bp+6]
add ax,[bp+8]
pop BP
ret
f1 ENDP
.stack
db 100(?)
END
Я хочу сделать такую функцию для произвольного числа переменных, посылая указатель на массив элементов к f1.asm
.
ВОПРОС: Если я делаю int f1(int, int, int)
функцию в main1.cpp
в int f1(int*)
, и поместить в него указатель на массив, содержащий чтобы быть добавлены значения, то, как следует мой .asm
код смотреть, чтобы получить доступ к первому (и последующие) элементы массива?
Как хранится указатель? Потому что я пробовал рассматривать его как offeset и смещение смещения, и я пробовал несколько других вещей, но я все еще не мог получить доступ к элементам массива.
(Если я могу только получить доступ к первым мало, я могу позаботиться об остальном проблемы.)
... Или я, в данном конкретном случае, использовать что-то другое из стороны .cpp
«s чем указатель?
В маленькой модели, я думаю, это действительно смещение. Я предлагаю, если вы не будете вынуждены, быстро забыть об этих древних инструментах и использовать что-то более недавнее ... – Jester
Да, вынужден. : P Интересно, почему так много университетов не обновили. ... Наверное, потому что старшее поколение программистов отвечает за создание нашего учебного материала, и они не любят новизну? – dziadek1990
@Jester Какой отладчик вы рекомендуете отлаживать дорожку, которую данные гибридной программы проходят через регистры во время выполнения программы? (В частности, отладчик, который будет работать со старым гибридом, подобным этому.) – dziadek1990