Адресация информации - Assembler
Формулировка задачи:
Добрый вечер! Подскажите, пожалуйста...
>>есть строка "qwerty uiopasdfgh jklzxcvbnm"
>>Учитывая содержимое ВХ, загрузить в CL 12-й символ данных;
>>Необходимо непосредственно загрузить в регистр SI порядковый номер первого пробела из цепочки данных.
Есть код
Правильный ли он? Или я запуталась с нумерацией?
.MODEL small .STACK 100h .DATA label1 DB 'qwerty uiopasdfgh jklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM' .CODE ;в ds записывем адрес начала сегмента данных, т.е. значение сегмента dataseg mov ax,@data mov ds,ax ;получение смещения адреса относительно начала сегмента, т.е количества байтов от начала сегмента до идентификатора адреса mov bx,OFFSET label1 ;базовая адресация mov cl, [bx+12] ; 12-й символ ;непосредственная адресация mov si, 7
Решение задачи: «Адресация информации»
textual
Листинг программы
mov bx,OFFSET label1 mov si, 0 mov ax, [bx+si]
Объяснение кода листинга программы
- Загрузка адреса метки
label1
в регистр bx с помощью инструкции mov bx, OFFSET label1. - Установка значения 0 в регистр si с помощью инструкции mov si, 0.
- Загрузка значения из памяти, адрес которой равен сумме значений в регистрах bx и si, в регистр ax с помощью инструкции mov ax, [bx+si].
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д