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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.03.2011, 17:21   #1
KatruKot
Пользователь
 
Регистрация: 19.05.2010
Сообщений: 31
По умолчанию Работа со строками

Дана строка S и число N. Преобразовать строку S в строку длины N следующим образом: если длина строки S больше N, то отбросить первые символы, если длина строки S меньше N, то в ее начало добавить символы "." (точка).

Вначале реализовал программу в паскале, помогите пожалуйста исправить что не так.

Код:
var
s:string;
n,d,i:integer;
begin
cls;
writeln('Введите строку');
readln(s);
writeln('Введите число');
readln(n);
d:=length(s);
if d>n then s:=copy(s,d-n+1,n)
else if d<n then
repeat
s:='.'+s;
until length(s)=n;
writeln(s);
end.
Вот в ассемблере пытался...

Код:
program lab3_var9;
uses windows;
var
s:string;
d, n,i,k:byte;
procedure InitString;
asm
        mov al,0
        mov ecx,255

        lea edi, s
        mov byte ptr [edi],255
        rep stosb
end;
begin
writeln(s);
asm
call InitString;
end;

write('Введите строку ');
readln(s);

write('Введите число = ');
readln(n);

asm


mov bl,byte ptr n
mov ax,word ptr s
scasw
jb @label1
ja @label2

        @label1:
        end;
        d:=length(s);
        s:=copy(s,d-n+1,n);

        @label2:
        s:='.'+s;
        n:=length(s);
        writeln(s);


end.
end;

Последний раз редактировалось KatruKot; 26.03.2011 в 17:24.
KatruKot вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
работа со строками... dem1993 Помощь студентам 3 17.12.2010 00:37
Работа с матрицами (норма матрицы, работа со строками) Neitrosha Помощь студентам 1 26.11.2010 20:19
работа со строками в с++ Ferghost Помощь студентам 0 05.06.2009 01:40
Работа со строками pant Помощь студентам 2 30.12.2008 17:12