Записать последовательность ASCII кодов его букв в ячейку памяти минимального размера - Assembler

Узнай цену своей работы

Формулировка задачи:

Ребят нужна помошь есть вот такая задача "Дано слово из трех букв (например ФКН). С помощью битовых операций запишите последовательность ASCII кодов его букв в ячейку памяти минимального размера. Слово может быть и другим, программа должна его запрашивать. Запрашивать можно на языке высокого уровня." Нужно помочь с её решением, уже весь день убил, а продвигу 0, препод ничего тоже не объясняет дал тока срок, знаю точно что писать нужно в ассемблер в C++, учюсь блин 3 день, а уже такое. Помогите кто чем может новичку.

Решение задачи: «Записать последовательность ASCII кодов его букв в ячейку памяти минимального размера»

textual
Листинг программы
  1. cld
  2. mov si,offset Строка
  3. xor dx,dx
  4. mov сx,3
  5. @@1:
  6. push cx
  7. mov cl,5
  8. lodsb  ; al=ds:[si]
  9. @@2:
  10. shr al,1
  11. rcr dx,1
  12. loop @@2
  13. pop cx
  14. loop @@1
  15. shr dx,1  ; 16 бит
  16. ; результат в dx
  17. ; я думаю, вам вряд ли рассказывали про shrd, так что пусть так

Объяснение кода листинга программы

  1. Установка регистра si на смещение строки.
  2. Очистка регистра dx.
  3. Запись значения 3 в регистр cx.
  4. Повторяющийся блок кода, который начинается с 16-й бит ASCII-кода и заканчивается после обработки всех 8 битов.
  5. Вычитание 1 из значения в регистре cx.
  6. Ввод значения 5 в регистр cl.
  7. Чтение байта из памяти по смещению, хранящемуся в регистре si, и сохранение его в регистре al.
  8. Удаление 1-го бита из значения в регистре al (shr al,1).
  9. Сдвиг значения в регистре dx на 1 позицию вправо (rcr dx,1).
  10. Повторение шагов 8 и 9 до тех пор, пока не будет выполнено 16 повторений.
  11. Вывод значения в регистре dx, представляющего собой 16-й бит ASCII-кода.
  12. Возврат значения в регистре dx к его начальному значению (shr dx,1).
  13. Результат сохраняется в регистре dx.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы