Реализовать арифметические действия - Assembler
Формулировка задачи:
Добрый день! Помогите реализовать на АСМ
Решение задачи: «Реализовать арифметические действия»
textual
Листинг программы
title lab3.asm .MODEL Large, Pascal .data Extrn Numerator:Dword Extrn aS:word,ccS:word,ddS:word,bbS:word Extrn xI:word Extrn Denominator:word .code Public Lab3S Lab3S proc far mov bx, 4 mov ax, aS cwd idiv bx mov bx,bbS sub bx,ax mov Denominator,bx ; b-a/4 mov bx, 3 mov ax, ddS cwd idiv bx mov cx, ax ; d/3 mov bx, 2 mov ax, ccS imul bx xchg cx, ax mov bx, dx cwd sub cx, ax sbb bx, dx mov ax, cx mov dx, bx mov word ptr Numerator,ax mov word ptr Numerator+2,dx idiv Denominator mov xI,ax ret Lab3S endp end
Объяснение кода листинга программы
- Объявлены внешние переменные: Numerator, aS, ccS, ddS, bbS, xI, Denominator.
- Код выполняет следующие действия:
- Деление aS на 4 и сохранение результата в bx.
- Вычитание bx из ax.
- Сохранение результата в Denominator.
- Деление ddS на 3 и сохранение результата в ax.
- Вычитание bx из ax.
- Умножение ccS на 2 и сохранение результата в ax.
- Обмен значениями ax и cx.
- Вычитание bx из ax.
- Сохранение результата в bx.
- Деление Numerator на Denominator и сохранение результата в ax.
- Сохранение результата в xI.
- Код завершается возвратом в вызывающую программу.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д