Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Ассемблер. Запихать значения двух переменных в одну.

Иван Иванов Мудрец (17783), закрыт 4 года назад
Есть 2 переменные типа byte. Действия над ними устроены таким образом, что максимальное значение каждой из этих переменных может быть равно 0000 1111, то есть используется только пол байта. Но мне нужно сделать так, чтобы половина первой переменной загрузилась в старшие пол байта переменная SUMM, а половина второй переменной загрузилась в младшие пол байта переменной SUMM. Как это можно реализовать?

пример:
0000 1001
0000 1110

1001 1110

Ассемблер 8086, но я думаю принцип будет одинаков во всех ассемблерах.
Лучший ответ
johnsilver Просветленный (22490) 4 года назад
посмотри SHL
будет что то типа
SHL 00001001,4
вместо 00001001 подставить либо переменную либо регистр
ну и потом складывай
Иван ИвановМудрец (17783) 4 года назад
Но как мне перенести всё в старшие биты? Если я сделаю так:
var1 = 00001001
var2 = 00001111
SHL var1,4
SHL var2,4
SUMM = var1+var2

то у меня получится не 1001 1111, а 11000.
johnsilver Просветленный (22490) var1=00001001 Var2=00001111 SHL,var1,4 SUM=var1+var2
Остальные ответы
Похожие вопросы