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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.12.2011, 02:50   #1
munthrekosh
Пользователь
 
Аватар для munthrekosh
 
Регистрация: 12.11.2011
Сообщений: 80
Сообщение Как работает данный кусок кода?

Код:
q2: ; цикл по сдвигу хвоста строки
mov dl, [si]
mov [si+1], dl
dec si
loop q2
Ш.Р.Ю.-программист! йопта!!!
munthrekosh вне форума Ответить с цитированием
Старый 14.12.2011, 06:17   #2
Felian
Пользователь
 
Регистрация: 13.11.2011
Сообщений: 24
По умолчанию

Код:
; используемые регистры - dl, si, cx
; входные данные 
; cx - длина строки (количество итераций)
; si - адрес последнего байта в строке

q2: ; цикл по сдвигу хвоста строки
mov dl, [si]                 ; байт памяти по адресу в si помещаем в dl
mov [si+1], dl          ; байт из dl помещает по адресу в si + 1
dec si                      ; si = si - 1
loop q2                   ; cx = cx - 1; если cx == 0, переходим дальше, иначе на q2

; в результате, последовательность байтов сдвинется на 1 байт вправо

Последний раз редактировалось Felian; 14.12.2011 в 06:22.
Felian вне форума Ответить с цитированием
Старый 14.12.2011, 13:33   #3
munthrekosh
Пользователь
 
Аватар для munthrekosh
 
Регистрация: 12.11.2011
Сообщений: 80
По умолчанию

А что с тем байтом который стоял в начале?
Ш.Р.Ю.-программист! йопта!!!
munthrekosh вне форума Ответить с цитированием
Старый 14.12.2011, 13:47   #4
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,139
По умолчанию

Цитата:
Сообщение от munthrekosh Посмотреть сообщение
А что с тем байтом который стоял в начале?
Он останется на своем месте: abcdef -> aabcdef
Mikl___ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не хочу что бы кусок кода на страницы менялся. Как сделать? Drek PHP 4 10.01.2010 20:29
при работе с Excel не работает кусок кода Tirendus Общие вопросы Delphi 4 23.07.2009 13:13
Как откомпилировать С++ код (несколько файлов) просто в один кусок бинарного кода sopot Общие вопросы C/C++ 2 17.05.2009 04:44
Нужен ли данный кусок кода? iankov PHP 4 23.04.2009 20:49
Есть кусок кода komarevsky Общие вопросы Delphi 7 19.07.2007 17:43