Дано шестизначное число, найти произведение его цифр - Assembler
Формулировка задачи:
Дано шестизначное число, найти произведение его цифр. Ребят помогите, очень нужно.
Решение задачи: «Дано шестизначное число, найти произведение его цифр»
textual
Листинг программы
mov eax,<положительное число> mov ebx,10 mov ecx,1 @@: ;repeat cdq ;edx = 0 div ebx ;eax = eax div 10 imul ecx,edx ;ecx = ecx*(eax mod 10) test eax,eax jne @b ;until eax=0; ;ответ в ecx
Объяснение кода листинга программы
- Переменная <положительное число> хранит шестизначное число.
- Переменная ebx содержит 10.
- Переменная ecx содержит 1.
- Начинается цикл @@.
- В каждой итерации значение edx устанавливается равным 0.
- Значение eax делится на 10.
- Результат умножается на значение ecx.
- Проверяется, равно ли значение eax нулю. Если нет, то цикл продолжается.
- По завершении цикла, ответ хранится в переменной ecx.