Математический пример - Assembler

Узнай цену своей работы

Формулировка задачи:

15. W = X² + Y² – (X + Y)/(X –Y)

Решение задачи: «Математический пример»

textual
Листинг программы
  1. .model small
  2.  
  3. .data
  4.         X       db 100
  5.         Y       db 40
  6.         W       dw 0000h
  7.  
  8. .stack 100h
  9.  
  10. .code
  11.  
  12. main:
  13.         mov     ax,     @data
  14.         mov     ds,     ax
  15.  
  16.     ;W = X*X + Y*Y (X + Y)/(X Y)
  17.     mov al, X
  18.     imul    al
  19.     mov bx, ax  ;bx:=X*X
  20.  
  21.     mov al, Y
  22.     imul    al
  23.     add bx, ax  ;bx:=X*X+Y*Y
  24.  
  25.     mov al, X
  26.     mov ah, 0
  27.     sub al, Y
  28.     sbb ah, 0
  29.     mov cx, ax  ;cx:=X-Y
  30.  
  31.     mov al, X
  32.     mov ah, 0
  33.     add al, Y
  34.     adc ah, 0   ;ax:=X+Y
  35.  
  36.     cwd         ;(dx:ax):=X+Y
  37.     idiv    cx      ;ax:=(X+Y)/(X-Y)
  38.  
  39.     sub bx, ax  ;bx:=X*X + Y*Y (X + Y)/(X Y)
  40.  
  41.     mov W,  bx
  42.  
  43.         mov ax, 4C00h
  44.         int 21h
  45. end main

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.692 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут