home *** CD-ROM | disk | FTP | other *** search
/ Flop Magazin 47 / Flop_Magazin_47_2004_04_Raster_cs_Side_A.atr / divide.tch < prev    next >
Text File  |  2023-02-26  |  2KB  |  14 lines

  1. Kurs Assembleru - Celo⇨    seln⑦ d❎len    ¢Raster/C.P.U., 2004¢---------------------------------------¢¢P②i programov⇧n     v Assembleru se d②    ve ⇨i pozd❎ji setk⇧te s pot②ebou prov⇧d❎t operaci d❎len    . Na sloəitost ②e③en     tohoto probl⑦mu m⇧ z⇧sadn     vliv, zda d❎litel je vədy stejn⇧ (konstantn    ) hodnota ⇨i zda m
  2. əe nab⑨vat r
  3. zn⑨ch hodnot, d⇧le pak z⇧leə     na konkr⑦tn     hodnot❎ d❎litele.¢¢1.) D❎len     konstantn     hodnotou kdy d❎litel je mocnina dvou¢¢Zde je situace nejjednodu③③    , nebo④ pro takov⑦ d❎len     m
  4. əeme pouə    t p②    mo instrukce posunu:¢¢   LDA d❎lenec¢   LSR @        ;/2¢   LSR @        ;/2/2 => /4¢   LSR @        ;/2/2/2 => /8¢   LSR @        ;/2/2/2/2 => /16¢;atd.¢¢Pokud by bylo posun
  5.  p②    li③ mnoho, lze v kritick⑨ch p②    padech v⑨po⇨et urychlit pouəit    m rotace na opa⇨nou stranu. P②itom je nutno si uv❎domit, əe instrukce pro rotaci se prov⇧d     p②es Carry bit.¢¢Nap②    klad m❎jme d❎len     hodnotou 64, pro kterou by bylo t②eba prov⑦st 6 posun
  6.  vpravo. M⇧me v③ak i tuto moənost:¢¢   LDA d❎lenec  ;76543210 C=_¢   ROL @        ;6543210_ C=7bit¢   ROL @        ;543210_7 C=6bit¢   ROL @        ;43210_76 C=5bit¢   AND #$03     ;------76¢¢Vzhledem k tomu, əe instrukce AND #$03 pot②ebuje 2 cykly stejn❎ jako posun, ⑤spora je v tomto p②    pad❎ celkem 4 cykly, coə se m
  7. əe zd⇧t zanedbateln⑦. Ov③em prov⇧d    te-li d❎len     velk⑦ho mnoəstv     ⇨    sel (stovek ⇨i tis    c
  8. ), je kaəd⑨ uspo②en⑨ takt dobr⑨.¢¢2.) D❎litel nen     konstantn     nebo nen     mocnina dvou¢¢Zde doporu⇨uji pouə    t rutinu uvedenou v samostatn⑦m souboru DIVIDE.ASM. Dle velikosti d❎lence a d❎litele (BYTE - tj. 8bitov⑨ rozsah, nebo WORD - tj. 16bitov⑨ rozsah) jsou tam dv❎ rutiny nazvan⑦ deleni_wbbb nebo deleni_wwww. Zp
  9. sob jejich pouəit     je n⇧zorn❎ demonstrov⇧n t⑦ə v samostatn⑦m p②    kladu PRIKLDIV.ASM. Syntaxe je QuickAsm.¢¢3.) Tipy a triky¢¢V p②    pad❎ pot②eby rychl⑦ho d❎len     konstantn     hodnotou lze tak⑦ vyuə    t triku s tabulkou p②edpo⇨    tan⑨ch v⑨sledk
  10. . ekn❎me, əe d❎lenec je 8bitov⑦ ⇨    slo a chceme jej d❎lit t②eba hodnotou 27. Pak si p②edp②iprav    me tabulku dlouhou 256 byt
  11. , ve kter⑦ vədy pouəijeme d❎lenec jako index a p②    mo z    sk⇧me v⑨sledek.¢¢Tabulka p②edpo⇨    tan⑨ch v⑨sledk
  12. :¢¢DELENI27¢   dta 0,0,...,0 ;27kr⇧t hodnota 0¢   dta 1,1,...,1 ;27kr⇧t hodnota 1¢   ...¢   dta 9,9,...,9 ;27kr⇧t hodnota 9¢   dta 10,10,...,10 ;13kr⇧t hodnota 10¢¢Pak sta⇨     vədy prov⑦st:¢¢   LDY d❎lenec¢   LDA DELENI27,Y¢¢Pozn⇧mka: Samoz②ejm❎ nen     probl⑦m tabulku v⑨sledk
  13.  upravit libovoln⑨m zp
  14. sobem - nap②    klad tak, abychom vədy obdrəeli v⑨sledek zaokrouhlen⑨ na cel⇧ ⇨    sla.