Загрузка данных


global PrintValue
section .note.GNU-stack noexec nowrite

section .data
    x: dq 2
    y: dq 4
    z: dq 6

section .text
PrintValue:
    ; 1. Первое слагаемое: 42 * x^2 * y * z
    mov rax, [x]
    imul rax, [x]
    imul rax, 42
    imul rax, [y]
    imul rax, [z]
    mov rbx, rax

    ; 2. Второе слагаемое: 30 * x * (x + 2y) / (6x - y)
    mov rax, [y]
    imul rax, 2
    add rax, [x]
    imul rax, [x]
    imul rax, 30

    mov rcx, [x]
    imul rcx, 6
    sub rcx, [y]

    cqo
    idiv rcx
    add rbx, rax

    ; 3. Третье слагаемое: 2x - y^2
    mov rax, [x]
    imul rax, 2

    mov rcx, [y]
    imul rcx, [y]

    sub rax, rcx
    add rbx, rax

    ; Возврат результата
    mov rax, rbx
    ret