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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.05.2010, 06:36   #11
Ulex
Непрофессионал
Участник клуба
 
Аватар для Ulex
 
Регистрация: 01.01.2008
Сообщений: 1,405
По умолчанию

Это самый простой вариант, который у меня на цепочечных получился.
Сюда же вставил простой алгоритм. На мой взгляд, он более красивый получился. Работает за один проход, а не как эта галиматья с movsb.

Код:
model small
.stack 100h
.data
input db "stroka.dla.testa", '$'
output db 32 dup ('$')
output2 db 32 dup ('$')

.code 
start:
assume ds:@data, es:@data
mov ax,@data 
mov ds,ax 
mov es,ax 

;это простой вариант
lea si, input
lea di, output2
mov cx, 16
next:
mov	al, [si]
mov	[di], al
inc	si
inc	di
cmp	al, '.'
jne	next2
mov	word ptr [di], '  '
add	di, 2
next2:
loop	next
mov	word ptr [di], 0d0ah

;а это вариант на цепочках
cld
lea si, input
lea di, output
mov cx,16
rep movsb
cld 
lea di, output
mov cx, 16
lea bx, input
add bx, 16
mov al, '.' 
m1:
repne scasb
jne fin 
mov word ptr [di], '  '
add di, 2
push cx
push di
mov si, bx
sub si, cx
rep movsb
pop di
pop cx
jmp m1
fin:

lea dx, output2
mov ah,09h
int 21h
lea dx, output
mov ah,09h
int 21h

exit:
mov ax, 4c00h
int 21h
end start
Вложения
Тип файла: rar proga41.rar (748 байт, 4 просмотров)
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------
Страничка с моими программками http://ulex-masm.ru
Ulex вне форума Ответить с цитированием
Старый 21.05.2010, 13:54   #12
Nafanja20
Пользователь
 
Регистрация: 26.03.2010
Сообщений: 12
По умолчанию

Я просто не очень умею программировать..
Благодарю за программу, вы мне очень помогли, но я не все понимаю в коде
Можете мне закомментировать основные шаги в кода?
Nafanja20 вне форума Ответить с цитированием
Старый 21.05.2010, 14:00   #13
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,139
По умолчанию

Цитата:
Сообщение от Nafanja20
Я просто не очень умею программировать.. вы мне очень помогли, но я не все понимаю в коде Можете мне закомментировать основные шаги в кода?
Nafanja20
А так никогда и не научишся программированию, если за тебя всё будут делать другие... Хотя... мы согласны выполнять любые причуды за ваши деньги

Последний раз редактировалось Mikl___; 21.05.2010 в 14:04.
Mikl___ вне форума Ответить с цитированием
Старый 21.05.2010, 21:38   #14
Nafanja20
Пользователь
 
Регистрация: 26.03.2010
Сообщений: 12
По умолчанию

Если не пойму, то обращусь...
хотела бы я быть такой умной как Вы
Nafanja20 вне форума Ответить с цитированием
Старый 21.05.2010, 21:42   #15
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
хотела бы я быть такой умной как Вы
берем и изучаем, думаете нам это тоже всем сразу далось?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Строки в Паскале, найти ошибку bingooo Помощь студентам 0 07.04.2010 19:24
Программа про строки в стиле C; помогите найти ошибку... vitaliy1392 Помощь студентам 4 29.12.2009 08:00
Корявое копирование строки. Помогите найти ошибку. GonZaleZ Общие вопросы C/C++ 14 02.12.2009 21:58
Строки. Помогите найти ошибку. 5nizza77 Помощь студентам 1 16.10.2009 16:10