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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.01.2010, 00:52   #1
APTEMUC
 
Аватар для APTEMUC
 
Регистрация: 09.12.2008
Сообщений: 4
По умолчанию TASM: Замена символов в строке.

Составить программу, которая модифицирует строку "01.04.05" в строку "1/04/2005" на TASM. Для 16 или 32-разрядных регистров.

Код:
.MODEL small
.STACK 100h
.386
.DATA
str1 DB '01.04.05','$'

.CODE
mov ax,@data
mov ds,ax
lea edi,str1
mov al,'.'

lo:
cld
REPNE SCASB
jnz exit
mov byte ptr[edi-1],'/'
jmp lo

exit:
mov ah,9
mov dx,offset str1
int 21h
mov ah,4ch
int 21h

end
Собственно вот то, что сам наработал, для начала хотел 01.04.05 перевести и вывести на экран в виде 01/04/05, всё откомпилилось, но работать - не робит (на экран выводит, но ничего не изменяет). Если не трудно, то помогите дописать программу, буду очень признателен.
Когда одна паутина плетется поверх другой и вокруг — сплошное притворство, правда лишь то, что сделаешь ты сам...

Последний раз редактировалось APTEMUC; 18.01.2010 в 13:50.
APTEMUC вне форума Ответить с цитированием
Старый 18.01.2010, 01:06   #2
Goodwin98
equ asm
Участник клуба
 
Аватар для Goodwin98
 
Регистрация: 02.05.2009
Сообщений: 1,605
По умолчанию

В начало кода
Код:
mov ax,@data
mov ds,ax
Какой вопрос - такой ответ. Не забываем пользоваться поиском, гуглом.
Помощь в выполнении работ по ассемблеру ICQ:2725322O4
Goodwin98 вне форума Ответить с цитированием
Старый 18.01.2010, 05:48   #3
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,139
По умолчанию

APTEMUC
как-то так
Код:
.model small
.286
.code
start:	mov ax,@data
	mov ds,ax
	mov es,ax; <-- должно быть es=ds
	mov di,offset string
	mov al,'.'
	mov cx,len
lo:	repne scasb
	mov byte ptr[di-1],'/'
	loop lo
	mov ah,9
	mov dx,offset string
	int 21h
	mov ah,0
	int 16h
	mov ah,4ch
	int 21h
.data
string db '01.04.05$'
len =$-string-1
end start
используй теги "код" (#)
Mikl___ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
замена символов в строке euhenia Помощь студентам 3 30.11.2009 20:59
ассемблер, замена символа в строке tiger Помощь студентам 3 05.11.2009 15:25
замена элементов в строке _llllllllll_ Помощь студентам 4 18.10.2009 10:01
Замена символов PAVEL315 Общие вопросы Delphi 1 03.02.2007 21:56