Проверьте задачу!(обработка строк данных) - Assembler
Формулировка задачи:
Дана последовательность из 6 символов (байтов), размещённых в сегменте данных, начиная с адреса DS:0000h. Записать строку в обратном порядке по адресу ES:0050h
Правильно ли решил?
Assembler |
Решение задачи: «Проверьте задачу!(обработка строк данных)»
textual
Листинг программы
xor si,si mov ds,si mov di,55h mov cx,6 cld M:lodsb mov es[di],al dec di loop M
Объяснение кода листинга программы
В данном коде происходит обработка строк данных. Вот список действий:
xor si,si
- переменнаяsi
инициализируется как 0.mov ds,si
- сегмент данныхds
копируется вsi
.mov di,55h
- переменнаяdi
инициализируется как 55.mov cx,6
- переменнаяcx
инициализируется как 6.cld
- направление переходов в цикле изменяется на прямого.lodsb
- вal
загружается байт из памяти, на которую указываетdi
, и увеличивается на 1.mov es[di],al
- вes
записывается значениеal
(которое равно последнему байту строки).dec di
- значениеdi
уменьшается на 1.loop M
- происходит переход к меткеM
, еслиdi
больше 0.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д