Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.05.2010, 18:53   #1
Livores
Пользователь
 
Регистрация: 12.05.2010
Сообщений: 10
Вопрос Соеденить два числа

Доброго времени суток

У меня вопрос. У меня в двух регистрах хранятся два числа, допустим, в AH хранится число 5, а в AL хранится число 7. Как сделать так чтобы в любом регистре, допустим BH, получилось число 57 или 75?

Как это возможно реализовать? Именно объединить числа, не сложить, не получить в BH число 57 в шестнадцатиричной системе счисления.
Livores вне форума Ответить с цитированием
Старый 12.05.2010, 19:25   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Код:
псевдокод:
bh = ah & 0x0F;
bh = bh*10;
bh = bh + (al & 0x0F) ;

Последний раз редактировалось p51x; 12.05.2010 в 19:29.
p51x вне форума Ответить с цитированием
Старый 12.05.2010, 20:36   #3
Livores
Пользователь
 
Регистрация: 12.05.2010
Сообщений: 10
По умолчанию

Код:
mov ax, 5
and ax, 0x0F
При компиляции: *Error* Illegal number
Livores вне форума Ответить с цитированием
Старый 13.05.2010, 08:20   #4
airyashov
Форумчанин
 
Регистрация: 02.04.2008
Сообщений: 358
По умолчанию

а так
Код:
mov ax, 5
and ax, 0Fh
хотя мне смысл этого кода не понятен
неплохо пишу на ассемблере для 80х86
icq: 3(один)7748666
mail: airyashov(а)inbox.ru
airyashov вне форума Ответить с цитированием
Старый 13.05.2010, 08:37   #5
Livores
Пользователь
 
Регистрация: 12.05.2010
Сообщений: 10
По умолчанию

airyashov так откомпелировалось) Но я тоже не представляю как это работать будет
Livores вне форума Ответить с цитированием
Старый 13.05.2010, 14:12   #6
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,139
По умолчанию

Цитата:
Сообщение от Livores
в двух регистрах хранятся два числа, допустим, в AH хранится число 5, а в AL хранится число 7. Как сделать так чтобы в любом регистре, допустим BH, получилось число 57 (десятичное)?
Код:
mov ah,5
mov al,7
aad
mov bh,al
в BH окажется число 39h, что соответствует десятичному 57
Код:
mov ah,5
mov al,7
xchg ah,al
aad
mov bh,al
в BH окажется число 4Bh, что соответствует десятичному 75
Mikl___ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как соеденить два роутера? psihadelic Компьютерное железо 0 23.11.2009 13:29
вводим два числа, получить все меньшие n натуральные числа, квадрат суммы цифр которых равен m Sparky Помощь студентам 2 22.11.2009 21:59
Как соеденить два Dbgrid disaer БД в Delphi 2 06.11.2009 01:17
Два числа ProgramerBeatz Паскаль, Turbo Pascal, PascalABC.NET 3 11.10.2009 14:59
Как соеденить два файла, без повтора слов!! Окоча Юра Microsoft Office Word 3 07.03.2009 02:17