Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.06.2015, 12:24   #1
KirillP123
 
Регистрация: 20.03.2014
Сообщений: 6
По умолчанию Даны 2 числа. Вывести их цифры

Задача на связь Паскаля с Ассемблером. Даны 2 натуральных числа, вывести цифры,входящие в них(без повторений). Т.е. вводим 123 и 135 и должно вывести 1 2 3 5. Попытался реализовать это с помощью массива, заполняемого цифрами, которые еще не встречались. Получилось что-то вроде этого, но турбо паскаль выдает 26 ошибку(я так понял что-то не так с массивом или переприсвоением), возможно есть и другие ошибки. Подскажите пожалуйста что нужно исправить в коде.
Код:
label l,m,m1,j;
var
a,b,i,n,d:integer;
f:boolean;
c:array[1..100] of integer;
begin
readln (a);
readln (b);
n:= 0;
f:=0;
d:=10;

asm
lea bx,c
mov ax,a
mov di,0
l: inc n
mov bx,di
mov dx,0
div d
j: cmp [bx],di
je m

cmp dx,[bx]
jne m1
mov f,0
m1:add bx,2
jmp j
m: cmp f,0
je l
mov [bx],dx
cmp ax,0
jne l
end;
{Для второго числа тоже самое}

for i:=n downto 1 do write (c[i]);
readln;
end.
KirillP123 вне форума Ответить с цитированием
Старый 09.06.2015, 12:29   #2
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Шо? Вот это поворот судьбы!
Переводим в string и вставляем пробелы.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 09.06.2015, 12:55   #3
KirillP123
 
Регистрация: 20.03.2014
Сообщений: 6
По умолчанию

Что переводить в string? Оба числа? Но одинаковые цифры то останутся
KirillP123 вне форума Ответить с цитированием
Старый 12.06.2015, 20:00   #4
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

KirillP123, во-первых вставки оформляются в виде:
Код:
_asm {
....    
}
..во-вторых, выводи первое число "как-оно-есть", а потом ищи символ/число при помощи "scasb"...
Нашедшего выход - затаптывают первым..
R71MT вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Множества: Даны целые числа а1,.....,Аn. Вывести на печать сообщение - имеется ли в последовательности х повторяющиеся числа lialia Паскаль, Turbo Pascal, PascalABC.NET 3 24.12.2012 21:11
Вывести отдельно цифры числа ValentinBuruak Помощь студентам 10 23.04.2012 13:23
простые цифры числа. вывести в столбец Сristina Помощь студентам 6 12.03.2011 14:38
у числа вывести цифры по возрастан Артл Помощь студентам 3 16.12.2010 17:23
даны натуральные трехзначные числа, нужно выбрать такие, запись которых содержит два одинаковые цифры. TuuuZ Помощь студентам 2 28.12.2009 16:18