Вычисление выражения по формуле. - Assembler (223346)
Формулировка задачи:
Вычислить: y= 2c+d-1 / c-a/2 помогите кто может
Решение задачи: «Вычисление выражения по формуле.»
textual
Листинг программы
mov ecx,c sal ecx,1 add ecx,d mov eax,1 cdq idiv c sub ecx,eax mov eax,a sar eax,1 sub ecx,eax mov y,ecx
Объяснение кода листинга программы
- Переменная
ecxполучает значениеc. - Переменная
ecxувеличивается на 1. - Переменная
ecxполучает значениеd. - Переменная
eaxполучает значение 1. - Функция
cdqиспользуется для получения значенияedxи обновления знака переменнойeax. - Функция
idivиспользуется для деленияeaxнаedx, результат сохраняется вeax, а остаток от деления сохраняется вedx. - Переменная
ecxуменьшается на значениеeax. - Переменная
eaxполучает значениеa. - Функция
sarиспользуется для перемещения битов значенияeaxвправо на 1 позицию. - Переменная
ecxуменьшается на значениеeax. - Значение
ecxприсваивается переменнойy.