Среди точек множества, лежащих в первой или третьей четверти, найти точку, наиболее близкую к началу координат - Assembler
Формулировка задачи:
Дано множество A из N точек (точки заданы своими координатами
x, y). Среди всех точек этого множества, лежащих в первой или третьей
четверти, найти точку, наиболее близкую к началу координат. Если таких
точек нет, то вывести точку с нулевыми координатами в ассемблере помогите плззззззз
Решение задачи: «Среди точек множества, лежащих в первой или третьей четверти, найти точку, наиболее близкую к началу координат»
textual
Листинг программы
.386 .model small .stack 100h Point struct x dw ? y dw ? Point ends .data A Point <1,1>,<-1,1>,<-1,-2>,<2,-1> B Point <0,0>; min dw -1 .code Start: mov ax,@data mov ds,ax lea si,A mov cx,lengthof A + 1 ;число итераций @L: mov ax, [si].Point.x mov bx, [si].Point.y xor ax,bx ;нахождение четверти test ax,8000h jnz @f mov ax, [si].Point.x imul ax,ax imul bx,bx add ax,bx ;сумма квадратов cmp min,ax ;сравнить jbe @f mov min,ax mov ax, [si].Point.x mov bx, [si].Point.y mov B.x,ax mov B.y,bx ;записать в B @@: add si,type A loop @L ;вывод (только для положительных) mov ah,02h mov dx,B.x add dl,'0' int 21h mov dl,';' int 21h mov dx,B.y add dl,'0' int 21h mov ax,4c00h int 21h end Start
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д