Команды логических операций и сдвигов - Assembler

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

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

Задание : Даны два числа в двоичном виде. Первое число умножить на 9,второе разделить на 4,результаты логически перемножить и старшую часть поменять местами с младшей.
a db 1001101b
    b db 1111000b
    mov eax,a //в eax 1001101
    mov ebx,b // в ebx 1111000b
написал лишь это. не знаю как перемножить число в двоичной системе на обычное число. если поможете с заданием...эх. мечты мечты. буду благодарен.
дело сдвинулось с мёртвой точки
                a db 1001101b
                b db 1111000b
                mov eax,a //в eax 1001101
                mov ebx,b // в ebx 1111000
                and eax,1001b //в eax 1001
                move a,eax
                shr ebx,2//в ebx 10
                and eax,b
осталось понять.как поменять старшую часть, на младшую. не проходите мимо,помогите кто чем может. как-то не особо понимаю этот момент..

Решение задачи: «Команды логических операций и сдвигов»

textual
Листинг программы
mov ah,[a]
mov al,0
db 0D5,9; AL=a*9

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

  1. Переменная a содержит значение, которое умножается на 9.
  2. Результат этого умножения сохраняется в регистре AL.
  3. Значение переменной a берется из памяти по адресу [a].
  4. Переменная al инициализируется значением 0.
  5. В конце кода выводится символ, закодированный в виде числа 0D5,9 (это символ '*').
  6. Регистр AH не используется в данном коде.

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


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

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

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