Адресация информации - Assembler

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

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

Добрый вечер! Подскажите, пожалуйста... >>есть строка "qwerty uiopasdfgh jklzxcvbnm" >>Учитывая содержимое ВХ, загрузить в CL 12-й символ данных; >>Необходимо непосредственно загрузить в регистр SI порядковый номер первого пробела из цепочки данных. Есть код
Листинг программы
  1. .MODEL small
  2. .STACK 100h
  3. .DATA
  4. label1 DB 'qwerty uiopasdfgh jklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM'
  5. .CODE
  6. ds записывем адрес начала сегмента данных, т.е. значение сегмента dataseg
  7. mov ax,@data
  8. mov ds,ax
  9. ;получение смещения адреса относительно начала сегмента, т.е количества байтов от начала сегмента до идентификатора адреса
  10. mov bx,OFFSET label1
  11. ;базовая адресация
  12. mov cl, [bx+12] ; 12 символ
  13. ;непосредственная адресация
  14. mov si, 7
Правильный ли он? Или я запуталась с нумерацией?

Решение задачи: «Адресация информации»

textual
Листинг программы
  1.     mov bx,OFFSET label1
  2.     mov si, 0
  3.     mov ax, [bx+si]

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

  1. Загрузка адреса метки label1 в регистр bx с помощью инструкции mov bx, OFFSET label1.
  2. Установка значения 0 в регистр si с помощью инструкции mov si, 0.
  3. Загрузка значения из памяти, адрес которой равен сумме значений в регистрах bx и si, в регистр ax с помощью инструкции mov ax, [bx+si].

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


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

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

11   голосов , оценка 4.091 из 5

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

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

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