ChatGPT 4 a konec jedné éry: Naučte se využívat AI, konkurovat jí nelze
i Zdroj: PCTuning.cz
Sítě a Internet Článek ChatGPT 4 a konec jedné éry: Naučte se využívat AI, konkurovat jí nelze

ChatGPT 4 a konec jedné éry: Naučte se využívat AI, konkurovat jí nelze | Kapitola 4

Michal Rybka

Michal Rybka

25. 3. 2023 09:00 58

Seznam kapitol

1. Popiš mi PMD-85 2. Diplomat 3. Napiš mi program na... 4. ...a teď v assembleru pro Z80 5. Možná hůř, rozhodně rychleji

Přátelé, je to tady! Z GPT-4 vypadávají tak rozumné výstupy, že si dnes už můžete vybrat pouze mezi tím, jestli podobné systémy zahrnete do svého pracovního procesu – anebo skončíte. Pokud se živíte jako copyrwiter anebo marketingový specialista, začnete s tím pracovat okamžitě – anebo se přeškolte, ale ne jako programátor, protože ti skončí na lopatě jako další.

Reklama

 

Dotaz: Napiš mi program pro Eratosthenovo síto v assembleru Z80.

 

GPT-4: Napsat program pro Eratosthenovo síto v assembleru Z80 je složitější než v jazyce vyšší úrovně, jako je C#. Níže je základní implementace Eratosthenova síta v assembleru Z80. Předpokládá se, že vstupní hodnota (limit) je uložena na adrese 0x8000 a prvočísla budou uložena začínaje na adrese 0x8100.

; Eratosthenovo síto v assembleru Z80



; Inicializace hodnot

ORG 0x0000



LD HL, 0x8000   ; Adresa, kde je uložen limit (maxNumber)

LD A, (HL)

INC HL

LD H, (HL)

LD L, A

LD DE, 0x8100   ; Adresa, kam budeme ukládat prvočísla

LD BC, 0x0002   ; První prvočíslo (2)



; Hlavní smyčka

MainLoop:

    PUSH BC

    CALL IsPrime

    POP BC

    JR NZ, NotPrime



    ; Uložení prvočísla do paměti

    LD (DE), B

    INC DE

    LD (DE), C

    INC DE



    ; Odstranění násobků nalezeného prvočísla

    LD A, B

    ADD A, B

    LD B, A

    LD A, C

    ADC A, C

    LD C, A



    InnerLoop:

        CALL IsPrime

        JR NZ, NotPrimeInner



        ; Označení čísla jako složené

        LD A, (HL)

        OR 0x80

        LD (HL), A



    NotPrimeInner:

        LD A, B

        ADD A, B

        LD B, A

        LD A, C

        ADC A, C

        LD C, A

        JP P, InnerLoop



NotPrime:

    ; Pokračujeme s dalším číslem

    INC C

    JP P, MainLoop



    INC B

    JP MainLoop



; Funkce IsPrime

; Vrací 1 (NZ) pokud číslo BC je prvočíslo, jinak 0 (Z)

IsPrime:

    PUSH AF

    PUSH HL

    LD HL, 0x8000

    LD A, B

    CP (HL)

    JR C, ExitFalse

    INC HL

    LD A, C

    CP (HL)

    JR C, ExitFalse



    ; Zkontrolujeme příznak složenosti čísla

    LD A, (HL)

    AND 0x80

    JR NZ, ExitFalse



    POP HL

    POP AF

    RET



ExitFalse:

    POP HL

    POP AF

    RET Z



; Konec programu

END

Před spuštěním programu musíte nastavit limit (maxNumber) na adrese 0x8000. Po spuštění programu budou prvočísla uložena v paměti začínaje na adrese 0x8100. Je důležité si uvědomit, že assembler Z80 je mnohem nižší úroveň než vyšší úrovňové jazyky, a proto je zde vyšší zátěž na správu paměti a adresování. Tento kód je navržen tak, aby poskytl základní přehled o tom, jak by mohla být implementace Eratosthenova síta v assembleru Z80 strukturována.

Rozumění a ladění tohoto kódu vyžaduje znalost jazyka Z80 assembler a specifik hardware, na kterém bude kód spuštěn. Pokud se chystáte tento kód spustit na reálném hardwaru nebo emulátoru, ujistěte se, že jste obeznámeni se základy programování Z80 a chápete, jak spravovat paměť a registry.

Tento kód by mohl být dále vylepšen a optimalizován pro konkrétní potřeby nebo hardwarové omezení. Ujistěte se, že si před spuštěním kódu přizpůsobíte limity paměti, abyste předešli potenciálním problémům s pamětí nebo nekompatibilitě.

 

(Paralyzované ticho.)

Ne, nezdá se mi to. 

Ne, do ničeho jsem nezasáhl, tohle je copy-paste – VČETNĚ ČESKÝCH KOMENTÁŘŮ.

TOHLE JE COPY-PASTE, rozumíte?

Nemusíte ani umět anglicky, stačí, když si na tom uděláte účet.

Předchozí
Další
Reklama
Reklama

Komentáře naleznete na konci poslední kapitoly.

Reklama
Reklama