Микроконтроллер семейства МC68НС11
Micro-IDE
ОС WinXP
6.Напишите программу умножения двух двоично-десятичных 8-разрядных чисел.
Вот что есть у меня:
org $8000
ldaa #$10
ldab #$68
mul ; $10 * $68 = $0680
adca #7; вот тут если перемножать двуразрядные числа, то
; все нормально, а если большие - то выходят за пределы.
; как добиться нужного результата?
Умножение двух чисел
Модератор: Andy
люди, напиши как записать в память двоично-десятичное число, надо алгоритм придумать?
- Naeel Maqsudov
- Сообщения: 2570
- Зарегистрирован: 20 фев 2004, 19:17
- Откуда: Moscow, Russia
- Контактная информация:
Алгоритм умножения такой же как при умножении "в столбик" 
А BCD числа так и пишутся;

А BCD числа так и пишутся;
Код: Выделить всё
ORG $80000
JMP Start
X: DB $12,$34,$56,$78 ; =12345678
Start:
код не совсем понял, как допустим десятичное число 33 (тоесть двоично десятичное "0011 0011") занести в память?
Насколько я понял входные данные вводятся в bcd формате.
Получается совсем просто:
org $9000
ldaa #%00100011 ;$23
ldab #%00010010 ;$12
mul ;$76=01110110
P.S. 8-разрядные bcd числа не могут быть больше 99 т.к существуют запрещенные битовые комбинации.
Получается совсем просто:
org $9000
ldaa #%00100011 ;$23
ldab #%00010010 ;$12
mul ;$76=01110110
P.S. 8-разрядные bcd числа не могут быть больше 99 т.к существуют запрещенные битовые комбинации.
хм, а напишите кто нить код программы, который бы переводил десятичные числа в bcd(тобишь в двоично-десятичные), ну и собственно их перемножение