Hirdetés

Új hozzászólás Aktív témák

  • #95904256

    törölt tag

    Ja igen, remélem nem zavar senkit, de beírom egy szál kódját, hátha valaki talál benne valami hibát.

    T1_START: MOV RSI,[ADR_PUFFER] ;4GiB-os puffer címe
    MOV RCX,4*1024*1024*1024 ;2^32 ciklus
    MOV RBP,1 ;kezdeti bájton belüli eltolás
    T1_SYNC: CMP D[SYNC],1 ;utoljára elindított szál 1-be állítja
    JNE T1_SYNC ;várakozás kvázi-szinkron jelre
    T1_CYCLE: BTS Q[RSI],RBP ;bitek egybe állítása
    ADD RBP,8 ;a bájt többi bitjét mások állítják be
    DEC RCX ;ciklusszámláló csökkentése
    JNZ T1_CYCLE ;ciklusszervezés
    T1_EXIT: BTR D[THREADS],1 ;jelzés a vezérszálnak hogy végeztem
    BT D[THREADS],1 ;bug miatti visszaellenőrzés
    JC T1_EXIT ;ha nem sikerült volna akkor ismétlés
    invoke ExitThread,0 ;szál befejezése

    [ Szerkesztve ]

Új hozzászólás Aktív témák