Untitled

mail@pastecode.io avatar
unknown
plain_text
7 months ago
2.4 kB
1
Indexable
Never
section .data
    prompt1 db "Введите первое число: ", 0
    prompt2 db "Введите второе число: ", 0
    result1 db "Первое число больше второго.", 0
    result2 db "Второе число больше первого.", 0
    result3 db "Числа равны.", 0

section .bss
    num1 resb 4 ; размер первого числа в байтах
    num2 resb 4 ; размер второго числа в байтах

section .text
    global _start

_start:
    ; Выводим приглашение для ввода первого числа
    mov eax, 4
    mov ebx, 1
    mov ecx, prompt1   ; исправлено
    mov edx, 19
    int 0x80

    ; Читаем первое число с клавиатуры
    mov eax, 3
    mov ebx, 0
    mov ecx, num1
    mov edx, 4 ; размер вводимого числа в байтах
    int 0x80

    ; Выводим приглашение для ввода второго числа
    mov eax, 4
    mov ebx, 1
    mov ecx, prompt2   ; исправлено
    mov edx, 19
    int 0x80

    ; Читаем второе число с клавиатуры
    mov eax, 3
    mov ebx, 0
    mov ecx, num2
    mov edx, 4 ; размер вводимого числа в байтах, также исправлено
    int 0x80

    ; Сравниваем числа
    mov eax, DWORD [num1]
    cmp eax, DWORD [num2]
    jg print_result1 ; первое число больше второго
    jl print_result2 ; второе число больше первого
    je print_result3 ; числа равны - добавлено

print_result1:
    ; Выводим сообщение, что первое число больше второго
    mov eax, 4
    mov ebx, 1
    mov ecx, result1
    mov edx, 24
    int 0x80
    jmp exit

print_result2:
    ; Выводим сообщение, что второе число больше первого
    mov eax, 4
    mov ebx, 1
    mov ecx, result2
    mov edx, 24
    int 0x80
    jmp exit

print_result3:
    ; Выводим сообщение, что числа равны
    mov eax, 4
    mov ebx, 1
    mov ecx, result3
    mov edx, 13
    int 0x80

exit:
    ; Завершаем программу
    mov eax, 1
    xor ebx, ebx
    int 0x80
Leave a Comment