Другие языки программирования и технологии

Помогите написать программу на Ассемблере

Даны координаты трёх вершин треугольника (х1, у1), (х2,у2) (х3,у3). Найти его Периметр и площадь. P, S.
.386
.model flat, stdcall
option casemap :none

ExitProcess proto :dword

.data
; Координаты вершин подставляйте свои
x1 dw -3
y1 dw -2
x2 dw -1
y2 dw 4
x3 dw 5
y3 dw -1
Const2 dw 2

.data?
P dd ?
S dd ?

.code
N200007468:
; Площадь
    finit
    fild x1
    fisub x3
    fild y2
    fisub y3
    fmul
    fild x2
    fisub x3
    fild y1
    fisub y3
    fmul
    fsub
    fild Const2
    fdiv
    fabs
    fstp S

; Периметр
    fild x1
    fisub x2
    fld st(0)
    fmul
    fild y1
    fisub y2
    fld st(0)
    fmul
    fadd
    fsqrt
    fild x2
    fisub x3
    fld st(0)
    fmul
    fild y2
    fisub y3
    fld st(0)
    fmul
    fadd
    fsqrt
    fadd
    fild x1
    fisub x3
    fld st(0)
    fmul
    fild y1
    fisub y3
    fld st(0)
    fmul
    fadd
    fsqrt
    fadd
    fstp P

    invoke ExitProcess, 0
    end N200007468
Евгений Прокопенко
Евгений Прокопенко
51 590
Лучший ответ
арифметика с плавающей точкой? координаты целые?
ввод нужно организовывать или только рассчёт?
Олег Кононенко
Олег Кононенко
37 746
Николай Петрович С плавающей, координаты целые, Рассчёт