Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;Литеральные константы
- ;Объявление функций ввода-вывода printf, scanf
- ;Ввод вещественного числа
- ;%string - приглашение ко вводу числа
- ;Возвращает считанное значение
- {
- %valuePtr = alloca double
- %value = load double, double* %valuePtr
- ret double %value
- }
- ;Ввод вещественного числа, значение которого отлично от нуля
- ;%string - приглашение ко вводу числа
- ;Возвращает считанное значение, не равное нулю
- {
- %isZero = fcmp oeq double %value, 0.0
- readDoubleAgain:
- ret double %newValue
- returnValue:
- ret double %value
- }
- ;Возведение числа в целую степень
- ;%x - число, которое необходимо возвести в степень
- ;%a - показатель степени
- ;Возвращает вещественное число в указанной степени
- {
- calculatePow:
- setOneDivideByX:
- %2 = fdiv double 1.0, %x
- %pow1 = fmul double %value1, %2
- ret double %pow1
- setX:
- %pow2 = fmul double %value2, %x
- ret double %pow2
- returnOne:
- ret double 1.0
- }
- ;Функция 10 варианта 2 самостоятельной работы
- ;%a - аргумент a
- ;%b - аргумент b
- ;%c - аргумент c
- ;Возвращает вычисленное значение функции
- {
- %3 = fmul double %1, %2
- %4 = fmul double %3, 3.0
- %7 = fmul double %5, %6
- %8 = fmul double %7, 17.0
- %9 = fsub double %4, %8
- %11 = fmul double %10, 3.0
- %13 = fmul double %12, 7.0
- %14 = fadd double %11, %13
- %15 = fdiv double %9, %14
- %18 = fmul double %16, %17
- %19 = fmul double %18, 8.0
- %20 = fadd double %19, 10.0
- %22 = fmul double %21, 12.0
- %24 = fmul double %23, 3.0
- %25 = fsub double %22, %24
- %26 = fdiv double %20, %25
- %27 = fadd double %15, %26
- ret double %27
- }
- ;Точка входа в программу: ввод аргументов, вычисление и вывод значения функции
- {
- ret void
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement