11 / 11 / 2
Регистрация: 07.03.2010
Сообщений: 465
|
||||||
1 | ||||||
TASM BCD (сложение и вычитание)10.03.2013, 14:27. Показов 3945. Ответов 17
Метки нет (Все метки)
Здравствуйте! Пытаюсь выполнить задание из книжки по BCD-числам и не совсем получается. Итак, смотрите... Имеется задание: вычилить: A+B-C. При этом:
Формат данных - упакованные Ддлина А - слово, А=1037 Длина В - слово, В=2068 Длина С - слово, С=3596 Вроде переносы сделаны, как надо, а что еще не так? В MASM 5 ошибок... Что делаю не так, помогите пожалуйста испрвить ошибку, спасибо!
0
|
10.03.2013, 14:27 | |
Ответы с готовыми решениями:
17
Вычитание упакованных BCD-чисел Вычитание чисел в формате BCD Сложение двух BCD чисел Сложение упакованных BCD чисел |
639 / 482 / 12
Регистрация: 10.01.2011
Сообщений: 1,045
|
|
10.03.2013, 14:48 | 2 |
1
|
11 / 11 / 2
Регистрация: 07.03.2010
Сообщений: 465
|
|
10.03.2013, 15:02 [ТС] | 3 |
Vadimych, Так... а как тогда? Что еще не так?
0
|
608 / 406 / 8
Регистрация: 26.04.2012
Сообщений: 2,065
|
||||||
10.03.2013, 20:13 | 4 | |||||
вроде так должно быть
1
|
11 / 11 / 2
Регистрация: 07.03.2010
Сообщений: 465
|
|
10.03.2013, 22:28 [ТС] | 5 |
Так, логично, а дальше, в чем еще мои ошибки?
0
|
608 / 406 / 8
Регистрация: 26.04.2012
Сообщений: 2,065
|
||||||
10.03.2013, 22:32 | 6 | |||||
1
|
11 / 11 / 2
Регистрация: 07.03.2010
Сообщений: 465
|
|
10.03.2013, 22:33 [ТС] | 7 |
Fatal Error, А как же add? ее же нет в данном случае.. и почему ax, а не al?
0
|
608 / 406 / 8
Регистрация: 26.04.2012
Сообщений: 2,065
|
|
10.03.2013, 22:35 | 8 |
вторая строка
al байтовый регистр, а числа двухбайтовые, поэтому ах
1
|
11 / 11 / 2
Регистрация: 07.03.2010
Сообщений: 465
|
||||||
10.03.2013, 22:38 [ТС] | 9 | |||||
0
|
608 / 406 / 8
Регистрация: 26.04.2012
Сообщений: 2,065
|
|
10.03.2013, 23:27 | 10 |
да фиг его знает... скачайте Юрова практикум, у него там все хорошо описано.
1
|
11 / 11 / 2
Регистрация: 07.03.2010
Сообщений: 465
|
|
11.03.2013, 09:55 [ТС] | 11 |
Не понимаю, как исправить, помоигет пожалуйста, в книге так и написано, как тут
0
|
Ушел с форума
16276 / 7601 / 1064
Регистрация: 11.11.2010
Сообщений: 13,616
|
||||||
11.03.2013, 10:33 | 12 | |||||
kristi1, он же mazzahaker берем калькулятор и считаем 1037+2068=3105 3105-3596=-491, теперь берем в руки учебник и читаем про команды DAA и DAS которые почему-то работают только с регистром AL, садимся и пишем программу и все свои действия проверяем в отладчике
1
|
639 / 482 / 12
Регистрация: 10.01.2011
Сообщений: 1,045
|
||||||
11.03.2013, 10:41 | 13 | |||||
kristi1, вот ещё код для коллекции с выводом результата на экран.
2
|
11 / 11 / 2
Регистрация: 07.03.2010
Сообщений: 465
|
|
11.03.2013, 10:43 [ТС] | 14 |
А, ну с выводом понятно) push-pop эт понятное дело)
0
|
Ушел с форума
16276 / 7601 / 1064
Регистрация: 11.11.2010
Сообщений: 13,616
|
|
11.03.2013, 10:56 | 15 |
Vadimych,
в BCD-вычитании, чтобы не путаться с переводом отрицательного числа, перед вычитанием проверяют, что больше? вычитаемое или уменьшаемое? и если вычитаемое больше, то меняют их местами... (так для коллекции) Добавлено через 5 минут kristi1, с фразой "с выводом понятно" лучше было промолчать
Добавлено через 1 минуту манипуляции с другими людьми плохо отражаются на карме
0
|
639 / 482 / 12
Регистрация: 10.01.2011
Сообщений: 1,045
|
|
11.03.2013, 10:58 | 16 |
0
|
Ушел с форума
16276 / 7601 / 1064
Регистрация: 11.11.2010
Сообщений: 13,616
|
|
11.03.2013, 11:02 | 17 |
Vadimych,
я же поставил плюсик, все правильно , но если делать проверку перед вычитанием, тогда перевод BCD-отрицательного числа в BCD-положительное можно и не делать, а я для работы с BCD-числами использую FPU и команды fbld и fbstp
0
|
639 / 482 / 12
Регистрация: 10.01.2011
Сообщений: 1,045
|
|
11.03.2013, 11:08 | 18 |
Не по теме: Да я тут курить пытаюсь бросить. И с учётом стажа > 30 лет мозг время от времени становится каким-то размягчённым. Туго доходит.
0
|
11.03.2013, 11:08 | |
11.03.2013, 11:08 | |
Помогаю со студенческими работами здесь
18
Сложение двух BCD чисел Сложение неупакованных bcd-чисел Ввод/вывод, сложение BCD чисел Задача на сложение двух bcd чисел Сложение неупакованных BCD чисел, неверный результат Сложение и вычитание Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |