Простое число NASM x64 - PullRequest
       82

Простое число NASM x64

0 голосов
/ 14 марта 2020

Независимо от того, что я ввожу, если я получу простое число или составное число, это всегда не простое число. Я проверял код много раз. Кто-нибудь знает, может быть, что происходит? Я новичок в ассемблере


; Sprawdzanie czy liczba jest pierwsza

section .text
global _start

_start:

    ; Wyświetlenie pytania w terminalu
    mov rax, 4
    mov rbx, 1
    mov rcx, hello
    mov rdx, helloLength
    int 80h

    ; Wczytywanie danych z klawiatury do zmiennej number
    mov rax, 3
    mov rbx, 0
    mov rcx, number
    mov rdx, numberLength
    int 80h

    mov rcx, 2
    mov rax, number
    mov rsi, number

    loop:
        xor rdx, rdx
        mov rax, rsi
        cmp rcx, rsi
        jae prime

        div rcx

        or rdx, rdx
        jz notPrime

        inc rcx

        jmp loop

    notPrime:
        mov rax, 1
        mov rbx, 1
        mov rsi, no
        mov rdx, noLength
        syscall

        mov rax, 60
        syscall

    prime:
        mov rax, 1
        mov rbx, 1
        mov rsi, yes
        mov rdx, yesLength
        syscall

        mov rax, 60
        syscall

section .data

    hello db "Check number: "
    helloLength equ $ - hello

    no db "It's not prime number"
    noLength equ $ - no

    yes db "It's prime number"
    yesLength equ $ - yes

    number db 1
    numberLength equ $ - number
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...