Переслать содержимое регистра AX в две однобайтовые переменные - Assembler

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

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

Здравствуйте! Изучаю ассемблер, теория дается очень тяжело, поэтому на практике просто нулевой результат. Конкретно сейчас столкнулся с заданием:

-Переслать содержимое регистра AX в две однобайтовые переменные

Прошу как тугому новичку подсказать. То есть мне нужно объявить двухбайтовую переменную, после как-то разделить ее на две однобайтовые и присвоить результат двум однобайтовым? Тыкать в компилятор рандомными решениями не могу, т.к. для меня это темный лес, без единого варианта. Спасибо.

Решение задачи: «Переслать содержимое регистра AX в две однобайтовые переменные»

textual
Листинг программы
    AX       ; AX = 2 байта (слово)
   /  \
 AH   AL     ; AH = 1 байт; AL = 1 байт
 
; эти переменные одинакового размера
  A  db  0,0             ;переменная
  B  dw  0
 
  mov   ax,1234h         ;AH = 12h; AL = 34h
 
; Запись значений в переменные
  mov   byte [A],ah      ;сохраняем AH в байте, по адресу(А)
  mov   byte [A+1],al    ;сохраняем AL в байте, по адресу(А+1)
  mov   word [B],ax      ;сохраняем AХ в слове, по адресу(В)
 
; Чтение значений их переменных
  mov   cx,word[B]       ;читаем в СХ слово с адреса(В)
  mov   dh,byte[A]       ;DH = 12h
  mov   dl,byte[A+1]     ;DL = 34h

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

Выполняемые действия в коде:

  1. Переменная AX используется как 2-байтовое значение.
  2. AH и AL являются 1-байтовыми переменными, которые содержат разные части 2-байтового значения AX.
  3. Переменные A и B создаются для хранения 1-байтового и 2-байтового значений соответственно.
  4. Значение AX устанавливается на 1234h (12h для AH и 34h для AL).
  5. Значения AH и AL записываются в байты по адресам A и A+1 соответственно.
  6. Значение AX записывается в слово по адресу B.
  7. Значения CX и DX считываются как слово по адресу B.
  8. Значения DH и DL считываются как байты по адресам A и A+1 соответственно.

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


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

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

9   голосов , оценка 3.556 из 5
Похожие ответы