Untitled
unknown
plain_text
2 years ago
2.4 kB
6
Indexable
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 0x80Editor is loading...
Leave a Comment