Помогите разобраться с написанием лабораторно ? GNU asm Linux /(TASM)
Добавлено: 04 мар 2013, 19:52
Добавить новый элемент массива, если его значение не равно значениям элементов заданного массива А(I). I = 1,2,..,5. Максимальная размерность массива А(I)=10. Добавляемые числа находятся в массиве B(J). J = 1,2,...,5.
код на C++:
#include <iostream>
using namespace std;
int main()
{
int A[10] = {1,2,3,4,5};
int B[5] = {1,3,2,5,7};
int n = 0;
bool flag = false;
for(int i=0; i<5; i++)
{
for(int j=0; j<5;j++)
{
if(A[j] == B)
flag = true;
}
if(flag==false)
A[5+n]=B,n+=1;
flag = false;
}
for(int i=0; i<5+n; i++)
{
cout<<A<<" ";
}
cout<<endl;
return 0;
}
Затем попробовал написать на ассемблере и вот что получилось (GAS Linux): просьба помидорами не закидывать, это моя первая программа
Код ASM:

код на C++:
#include <iostream>
using namespace std;
int main()
{
int A[10] = {1,2,3,4,5};
int B[5] = {1,3,2,5,7};
int n = 0;
bool flag = false;
for(int i=0; i<5; i++)
{
for(int j=0; j<5;j++)
{
if(A[j] == B)
flag = true;
}
if(flag==false)
A[5+n]=B,n+=1;
flag = false;
}
for(int i=0; i<5+n; i++)
{
cout<<A<<" ";
}
cout<<endl;
return 0;
}
Затем попробовал написать на ассемблере и вот что получилось (GAS Linux): просьба помидорами не закидывать, это моя первая программа
Код ASM:
