Odpověď na názor

Odpovídáte na názor k článku Specifika instrukční sady mikroprocesorů Intel 8086/8088 (2). Názory mohou přidávat pouze registrovaní uživatelé. Nově přidané názory se na webu objeví až po schválení redakcí.

  • 19. 9. 2024 1:49

    _dw

    Na tohle tema jsem narazil na celkem citelny clanek i pro nematfyzaky na:

    https://jk-jeon.github.io/posts/2023/08/optimal-bounds-integer-division/

    kde popisuje postup a vysvetleni jednotlivych vet pomalu a srozumitelne s priklady..

    Protoze koukani na https://www.ncbi.nlm.nih.gov/pmc/articles/PMC8258644/table/tbl0010/?report=objectonly je proste pro nekoho chytrejsiho nez jsem ja.

    Vlastne pekny clanek na deleni 10 na osmibitech je na

    https://homepage.cs.uiowa.edu/~dwjones/bcd/decimal.html

    Je tam popsana citelne dalsi zajimava metoda.
    Ale je videt ze autor to nepsal pro Z80, ale obecne a vlastne cilil na nejlepsi algoritmus pro C.
    Protoze kdyz se nakonec kouknete na to co zplodil, tak zjistite, ze v realu kdyz to budete psat v assembleru tak uplne prvni, primitivni varianta s postupnym prostym odcitani nasobku 10000,1000,100,10 je kratsi a asi i rychlejsi varianta, nez po celem tom usili vytvori on.
    Ten kod i postup je inspirativni, ale...
    Napriklad zkousi nasobit kratsi konstantou a pak resit korekci +1 z vypocitane chyby, protoze vysledek znovu nasobi 10. To je rychle, staci n*10 = n*2*5 = 2*(2*2*n + n).
    Pouziva ale bitove posuny DOPRAVA o konstantu vetsi jak 1.
    Naprosto NEPRIJATELNE pro 16 bitu na Z80.
    Opakovane nasobeni 8*8=16 bitu atd.
    C a assembler je proste jiny svet, na techto starych CICS procesorech.
    8086 je o neco vic Pascal/C kompatibilni (predavani parametru pres zasobnik a neustala podpora rekurze at to stoji co to stoji), ale asi to take neni a uz nebude zadna slava, protoze je to davno zapomenuty procesor pro vetsinu modernich prekladacu.