Математический пример - Assembler
Формулировка задачи:
15. W = X² + Y² – (X + Y)/(X –Y)
Решение задачи: «Математический пример»
textual
Листинг программы
- .model small
- .data
- X db 100
- Y db 40
- W dw 0000h
- .stack 100h
- .code
- main:
- mov ax, @data
- mov ds, ax
- ;W = X*X + Y*Y – (X + Y)/(X –Y)
- mov al, X
- imul al
- mov bx, ax ;bx:=X*X
- mov al, Y
- imul al
- add bx, ax ;bx:=X*X+Y*Y
- mov al, X
- mov ah, 0
- sub al, Y
- sbb ah, 0
- mov cx, ax ;cx:=X-Y
- mov al, X
- mov ah, 0
- add al, Y
- adc ah, 0 ;ax:=X+Y
- cwd ;(dx:ax):=X+Y
- idiv cx ;ax:=(X+Y)/(X-Y)
- sub bx, ax ;bx:=X*X + Y*Y – (X + Y)/(X –Y)
- mov W, bx
- mov ax, 4C00h
- int 21h
- end main
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д