Цикл в сборке Intel x86 продолжается вечно

В настоящее время я изучаю сборку Intel x86, и яМы столкнулись с проблемой при попытке создать простой цикл, который повторяется 10 раз. Это'Должен остановиться после 10 циклов, но он будет продолжаться вечно.

Это код, который я использую:

    section .data
    msg     db      "Hello, World!", 0x0a
    len     equ     $-msg

    section .text
    global _start

    _start:
            mov     cx, 10  ; loop counter

            _loop_start:
                    mov     ebx, 0x01
                    mov     ecx, msg
                    mov     edx, len
                    mov     eax, 0x04
                    int     0x80

                    dec     cx
                    cmp     cx, 0
                    jge     _loop_start

            _done:
                    mov     ebx, 0x00
                    mov     eax, 0x01
                    int     0x80

Прежде чем пытаться написать этот код, я посмотрел наэтот урок для выполнения простой арифметики.

Я компилирую это так:

   nasm -f elf64 test.s -o test.o

И ссылка, как это:

   ld -s -o test_exec test.o

Заранее спасибо, Аникян

Ответы на вопрос(2)

Ваш ответ на вопрос