Необычная( для меня) задачка - Assembler

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

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

Задание Написать программу на языке ассемблер для решения квадратного уравнения. Но использовать assembler'ную вставку в си. И в си использовать только ввод и вывод. В ассемблерной вставке использовать только регистры там)

Решение задачи: «Необычная( для меня) задачка»

textual
Листинг программы
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <iostream>
 
 
int main(int argc, char* argv[])
{ float a,b,c;
printf("vvedite a=");
scanf("%f",&a);
 
 
_asm
{  mov eax, a;
   push eax;
     fild dword ptr [esp]
     fsqrt
     fistp dword ptr [esp]
     pop eax; 
 
 
 
mov a, eax;
}
printf("%f", a);
getch();
    return 0;
}

Объяснение кода листинга программы

  1. Включаются необходимые заголовочные файлы
  2. Определяются переменные a, b, c типа float
  3. Выводится сообщение для ввода значения переменной a
  4. Считывается значение переменной a с помощью функции scanf
  5. В блоке _asm происходит вычисление квадратного корня от значения переменной a
  6. Результат вычисления сохраняется в переменной a
  7. Выводится значение переменной a с помощью функции printf
  8. Ожидается нажатие клавиши с помощью функции getch
  9. Программа завершается с кодом 0

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


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

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

11   голосов , оценка 4.182 из 5
Похожие ответы