![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 15.04.2009
Сообщений: 14
|
![]()
Начал осваивать язык ассемблер. Но как то не очень удачно это проходит. Немогу разобраться как работать с арифметическими действиями, куда что помещается. Нужна помощь в написание кода на Ассеблере для данного выражения, хотелось бы с комментариями. Буду очень благодарен. Вот пример.
|
![]() |
![]() |
![]() |
#2 |
somewhere else
Участник клуба
Регистрация: 17.07.2008
Сообщений: 1,409
|
![]() Код:
Каждая часть разделенная + или - вычисляется отдельно, а dc - сохраняется как вторично используемый результат(для dc^2), результат сохраняется на время в стеке и в конце от самого первого вычисления(a^2) просто вычитаются/прибавлються остальные. PS: Код не претендует на премию по оптимизированности, так как некоторые вещи можно было сделать лучше, скажем умножение через LEA.
"Тяжело в учении, легко в бою" - А.В. Суворов
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вычисление формулы | V I K T O R I Y A | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 1 | 07.06.2009 13:28 |
Две задачи на ассемблере, вычисление выражений | _°PROTOS°_ | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 7 | 29.05.2009 22:51 |