• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Помогите написать код Ассемблера

  • Автор темы Автор темы lezg1n
  • Дата начала Дата начала

lezg1n

Ученик
Регистрация
9 Мар 2011
Сообщения
6
Реакции
0
Баллы
0
Помогите написать код Ассемблера

Добрый день. Помогите написать код ассемблера на паскале для решения задачки на тему масивы.
суть такова:
есть масив А=[1..10] надо вывести масив В=А^2
А так же, не могли бы вы проверить правильно ли я написал паскалевский код?
Код:
Program lab;
uses crt;
var i,n:integer;
b,a:array[1..10] of integer;
begin
clrscr;
Writeln('Vvedite razmernist massiva:');
readln(n);
randomize;
writeln('Poluchen massiv:');
for i:=1 to n do
begin a[i]:=random(100)-50;
end;
Writeln('Poluchen massiv B:');
for i:=1 to n do
begin
b[i]:=a[i]*a[i];
Wroteln(b[i],' ');
end;
asm
P.S. Мне это надо сдать завтра утром, так что прошу не писать про учебники.
Заранее благодарен.
 
Не совсем. Вот листинг с исправленными ошибками и "шероховатостями":
Код:
Program lab;
uses crt;
var 
 i,n:integer;
 b,a:array[1..10] of integer;
begin
 clrscr;
 Write('Vvedite razmernost massiva (<11): ');
 readln(n);
 randomize;
 writeln('Poluchen massiv:');
 for i:=1 to n do
  begin 
   a[i]:=random(100)-50;
   Write(a[i]:5);
  end;
 Writeln;
 Writeln('Poluchen massiv B:');
 for i:=1 to n do
  begin
   b[i]:=a[i]*a[i];
   Write(b[i]:5);
  end;
 Writeln;
asm
 
если
Помогите написать код ассемблера на паскале для решения задачки
я что-то не понял. вам надо писать просто на паскале или на паскале со вставкой асма?
 
Vladimir_S
спасибо за исправления
kreol
Мне нужно со вставкой асм
там надо написать код для массива В. То есть что бы было решение на паскале и решение на асм
 
Так кто нибудь знает что надо писать что бы решить задачку?
Просто очень надо, а то до пересдачи не допустят(
 
вам показывали как с массивами паскаля работать во вставках ассемблера? если да то напишите, а то я нигде не найду...
 
Вот варианты заданий. Там есть, про массивы но я не фига не понимаю как их использовать в моем случае(
Яндекс.Народ
 
наверное смогу сделать только завтра. а то мне у самому задачки решать надо, чтоб их ... :tehnari_ru_020::tehnari_ru_744:
 
Код:
Program lab;
uses crt;
var 
 i,n:integer;
 b,a:array[1..10] of integer;
 label m;
begin
 clrscr;
 Write('Vvedite razmernost massiva (<11): ');
 readln(n);
 randomize;
 writeln('Poluchen massiv:');
 for i:=1 to n do
  begin 
   a[i]:=random(100)-50;
   Write(a[i]:5);
  end;
 Writeln;
 Writeln('Poluchen massiv B:');
 for i:=1 to n do
  begin
   b[i]:=a[i]*a[i];
   Write(b[i]:5);
  end;
 Writeln;
asm
nov cx,n
mov si,0
m:
mov ax, word ptr a+si
mul ax
mov word ptr b+si,ax
add si,2
loop m
end;
writeln('Poluchen massiv b na Assrm');
for i:=1 to n do
write(b[i]:5);
Readln;
End.
Проверьте код пожалуйста.
 
ну она нормально компилится?
 
Да уже не надо. Пошел сдал, раз приняла значит правильно)
Спасибо что помогли хоть чем то.
Модеры можете закрывать тему.
 
Назад
Сверху