Ли
Лилия

Помогите решить задачу на ассемблере. Закодировать заданную строку путем сдвига кодов символов на 2. Срочно

АГ
Андрей Голубятов

А какой сдвиг делать и в какую сторону?
Об ассемблере и ОС я уже и не спрашиваю.

Циклический сдвиг влево:

.model small
.386

.data
Prompt db 'Введите строку: ',13,10,36
Result db 13,10,'Результат: ',13,10,36
String db 80, ?,80 dup (?)

.code
N84629433:
mov di,@data
mov ds,di
mov es,di
lea dx,Prompt
mov ah,9
int 21h
lea dx,String
inc ah
int 21h

lea si,String + 2
movzx cx,[si - 1]
mov di,si
push di
Repeat:
lodsb
rol al,2
stosb
loop Repeat
mov byte ptr [di],24h

lea dx,Result
mov ah,9
int 21h
pop dx
int 21h

mov ah,8
int 21h
mov ax,4C00h
int 21h
end N84629433

Как и положено, получилась нечитаемая каша из символов:

ДА
Дима Андреев

у данной задачи решения нет

Похожие вопросы
Помогите решить задачу на С++ суть задачи Мне нужно вести строку с символами!
помогите написать код в С++. Задать строку из произвольных символов и переписать строку в обратном порядке
Помогите решить задачу по ассемблеру
Пожалуйста решите задачу на Ассемблере
задача на ассемблере: ввести предложение и заменить в нем символ "а" на символ "о" и наоборот Напишите код пожалуйста
Ассемблер. Что делает каждая строка в коде?
Ассемблер. Что делает каждая строка в коде?
ассемблер, длина строки (код в описании)
Нужна помощь помогите с++ строки Удалить все вхождения заданного символа в заданной строке КАк организовать?
Помогите решить задачу на битовый сдвиг для С++