Команды логических операций и сдвигов - 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
Объяснение кода листинга программы
- Переменная
a
содержит значение, которое умножается на 9. - Результат этого умножения сохраняется в регистре AL.
- Значение переменной
a
берется из памяти по адресу [a]. - Переменная
al
инициализируется значением 0. - В конце кода выводится символ, закодированный в виде числа 0D5,9 (это символ '*').
- Регистр AH не используется в данном коде.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д