IPB
ЛогинПароль:

> ПРАВИЛА РАЗДЕЛА!!!

1. Заголовок или название темы должно быть информативным
2. Все тексты программ должны помещаться в теги [CODE=asm] [/CODE]
3. Прежде чем задавать вопрос, см. "FAQ",если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно, такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Ассемблера. Исключение только с согласия модератора.
5. НЕ используйте форум для личного общения! Все, что не относиться к обсуждению темы - на PM!
6. Проверяйте программы перед тем, как выложить их на форум!!

> Оптимизация программы
сообщение
Сообщение #1


Бывалая
***

Группа: Пользователи
Сообщений: 290
Пол: Женский
Реальное имя: Анютка

Репутация: -  7  +


Программа заменяет слово РАК на слово ЩУКА.
Что в ней можно изменить, чтобы выиграть во времени/объёму?

.model small
.stack 100h

locals
.const
replace_with db 'щука$'
.data
string db 'рак, ракрак, рака',0


.code
Begin:
mov ax,@data
mov ds,ax
mov si,offset string
mov ax,0

cld
get_char:
mov bx,ax
lodsb
or al,al
jz eol
cmp al,'A'
jb put_char
cmp bl,'A'
jae put_char

cmp al,'р'
jne put_char
cmp byte ptr [si],'а'
jne put_char
cmp byte ptr [si+1],'к'
jne put_char
cmp byte ptr [si+2],'A'
jae put_char
add si,2

lea dx, replace_with
mov ah,9
int 21h

jmp get_char

put_char:
mov dx,ax
mov ah,2
int 21h
jmp get_char

eol:
mov ax,4C00h
int 21h
end Begin


Сообщение отредактировано: Анна -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 26.04.2024 5:33
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name