section .data
    prompt1 db "Enter the first number: $"
    prompt2 db "Enter the second number: $"
    prompt3 db "Enter the operation (+, -, *, /): $"
    result_msg db "Result: $"

    num1_buffer times 10 db 0
    num2_buffer times 10 db 0
    operator_buffer times 2 db 0

    result_buffer times 10 db 0 ; Reserve space for the result string
    result_length equ $-result_buffer ; Calculate the length of the result buffer

section .text
    global _start

_start:
    ; Prompt for the first number
    mov eax, 4
    mov ebx, 1
    mov ecx, prompt1
    mov edx, 22 ; Length of the prompt1 string
    int 80h

    ; Read the first number
    mov eax, 3
    mov ebx, 0
    mov ecx, num1_buffer
    mov edx, 10
    int 80h

    ; ... (Similar code for the second number and operator)

    ; Parse the input strings to numbers and store them in registers
    ; ...

    ; Perform the calculation based on the operator
    ; ...

    ; Convert the result to a string and store it in a buffer
    ; ...

    ; Display the result
    mov eax, 4
    mov ebx, 1
    mov ecx, result_msg
    mov edx, 9 ; Length of the result message
    int 80h

    ; Display the calculated result
    mov eax, 4
    mov ebx, 1
    mov ecx, result_buffer ; Pointer to the result string
    mov edx, result_length ; Length of the result string
    int 80h

    ; Exit the program
    mov eax, 1
    mov ebx, 0
    int 80h