Oznámení

Sbalit
Aktuálně žádná oznámení.

Assembler - všeobecná logika

Sbalit
X
 
  • Filtr
  • Čas
  • Zobrazit
Vymazat vše
new posts

  • Lisiak
    odpověděl
    O: Assembler - všeobecná logika

    No, som detailista. V rámci asm okrem toho S je len zatiaľ 1 vec ktorej nerozumiem. Ale to beriem ako fakt, že tak tá vec funguje a nemám potrebu ju riešiť. Takže okrem toho S nemám čo riešiť. Ja si zatiaľ B,W,L budem určovať pevne, neviem, prečo by som asm mal dávať v tomto voľnú ruku. Pri relatívných skokoch to vobec neni treba.

    Som z programovaia v asm lamer. V rámci napríklad vás dvoch z asm najhorší a úplne na začiatku. Ale názor mať možem. Python ma dosť naučil. Programovanie je exaktná vec. Kompromisy možu byť pri zdokonaľovaní sa. Potom už píšeš veci buď najlepšie, alebo horšie. Tam neni niečo ako toto je blbosť a nemusíš to vedieť. Tam buď vieš, alebo nevieš. A ten kto vie je lepší. Sú to presne stanovené pravidlá. A všetky tieto pravidlá sú podriadené schopnostiam programátora. A presne to je vec, kvoli ktorej se progrmovaniu venujem aj naďalej. Mám rád presne stanovené veci. Samozrejme na tie presne stanoveneé veci je sa treba pozerať s nadhľadom. Može byť aj niekoľko veľmi dobrých riešení a každé z nich može mať svoje + a -. Ty si veberieš svoje riešenie a pokúsiš sa ho urobiť najlepšie ako vieš.

    Píšem veci tak ako ich vidím teraz. Zajtrajšok je pre mna budúcnosť. Neviem, ako dlho ma bude programovanie baviť. Motivácia tam ale stále jednozančne je.Jeden z faktorov motivácie je, že si určite niekto myslí, že na to nemám. No a ja to tiež chcem zistiť, či tento člověk má pravdu. Zatiaľ nemám chuť nechať niekoho takého vyhrať, lebo chuť po tom to dokázať je vačšia, ako chuť potom opustit bojisko . Týmto by som chcel poďakovať všetkým, čo mi neveria .

    Vložit komentář:


  • DJM
    odpověděl
    O: Assembler - všeobecná logika

    Ja som zas toho nazoru, ze bra.s znamena pre niektore (slabsie) kompilery, aby dal co najmensiu hodnotu (.b .w .l) podla potreby, lebo bez zadania dlzky sa da v kompileroch dlzka nastavit napr. aby tam daval word, cize ked napisem move d0,d1 tak to podla nastavenia kompilera prelozi ako move.w d0,d1. Pri takom nastaveni ked dam bra skok , tak by to kompiler mohol chapat ako bra.w skok a pre to sa tam pise .s. Ale slusny kompiler by to mal upravit. Moj nazor, kazdopadne som bra.s v zivote nepouzil a ani nepouzijem...

    PS: A zase tu riesime taku zbytocnost...
    Naposledy upravil DJM; 12.02.2016, 19:55:41.

    Vložit komentář:


  • ObiWanKen
    odpověděl
    O: Assembler - všeobecná logika

    Na riadky to prepocitavat nemozes, ak budes mat 15000 riadkov len instrukciu RTS ktora ma dva bytes, tak vtedy ano. Ale realita je ina, instrukcie maju rozne velkosti takze riadky ako "mernu" jednotku pouzivat nemozes.

    Vložit komentář:


  • Lisiak
    odpověděl
    O: Assembler - všeobecná logika

    Asi beru zpět ten dotaz, protože to asi nemáš vše v jedné SECTION...

    Vložit komentář:


  • Lisiak
    odpověděl
    O: Assembler - všeobecná logika

    Je to len uhol pohľadu, viem, že to asm nastavuje. ...Áno až 020ka. Však som na to zavtipkoval s tou A1200 . Asi aj pri tých 15 tisícich riadkoch by mohol stačit relatívny skok v rámci W... ?

    Vložit komentář:


  • ObiWanKen
    odpověděl
    O: Assembler - všeobecná logika

    No a toto riesi kompilator sam. Ked nestaci .B tak da .W ak ani to da .L

    Skoda sa trapit niecim takymto. Tusim Bxx.L ani 68000 nepodporuje. Az vyssia rada CPU.
    Naposledy upravil ObiWanKen; 11.02.2016, 23:27:21.

    Vložit komentář:


  • Lisiak
    odpověděl
    O: Assembler - všeobecná logika

    Tak pri týchto skúšobných programčekoch stačí snaď B, ale načo počítať, však dáš B a keď ťa asm prefacká, tak dáš W a nepredpokladám, že budem musieť dlhšiu dobu dávať L, čo ide v rámci PC relatívneho skusku len na 020ke. Načo by sme robili v rámci L absolutný skok na A600, keď A600 možeme dať do skrine a na stol položiť A1200 )
    Naposledy upravil Lisiak; 11.02.2016, 23:10:03.

    Vložit komentář:


  • ExiE
    odpověděl
    O: Assembler - všeobecná logika

    jasne vetsina kompilatoru na Amize to resi sama, nicmene jsou i takove, ktere to proste neumi a tam je to pak treba zadat rucne.

    Vložit komentář:


  • ObiWanKen
    odpověděl
    O: Assembler - všeobecná logika

    Pri skokoch Bxx vobec neries velkost, toto si obsluzi assembler/kompilator sam. Predsa nebudes pocitat ako "daleko" budes skakat a podla toho davat .b .w. priponu
    Naposledy upravil ObiWanKen; 11.02.2016, 22:20:46.

    Vložit komentář:


  • Lisiak
    odpověděl
    O: Assembler - všeobecná logika

    Jo BRA je PC relativní skok. Jak pracuje asm s rozsahama byl nezvyk i pro mne (v rámci kladných a záporných číslel). OK, to že se S = B má větší logiku při napsání věty z AR "S nebo W", jako jsem si myslel já že S = W. Jo a neni to o tom, že je něco PC relativní, ale vše je relativní ) (dělám si asm legraci)

    Nějak bylo, nějak bude .
    Naposledy upravil Lisiak; 11.02.2016, 13:42:34.

    Vložit komentář:


  • ExiE
    odpověděl
    O: Assembler - všeobecná logika

    zkusme projit to BRA tedy aspon jak ja to chapu, coz muze byt taky blbe
    BRA (BRanch Always) nepodmineny prikaz skoku

    BRA.size <label>
    size muze byt pro 68000 Byte nebo Word, pro 68020+ to muze byt i Long
    aby to bylo zmatenejsi tak nektere assemblery pouzivaji BRA.s a jine BRA.b

    technicky je to neco jako If (true) then PC + d -->; PC
    tj. skok jen v urcitem rozsahu od aktualni hodnoty registru PC

    kdyz je to .s, tak ta pridana hodnota muze byt jen byte velka a vzdycky signed!. Dopredu se tedy muzes posunout maximalne 126 bytu (0x7E) a dozadu 128 bytu (x080). [tady jsem se predtim seknul]

    pro .w je to 32766 (0x7EFE) dopredu a 32768 (0x8000) dozadu
    Naposledy upravil ExiE; 11.02.2016, 13:12:58.

    Vložit komentář:


  • Lisiak
    odpověděl
    O: Assembler - všeobecná logika

    Hledal jsem i v té knize od Krále (špatně samozřejmě) v elektronické podobě pomocí vyhledávání řetězce ".s" a našlo mi to jen zdrojové kódy, kde se to hned použilo, ale nic jiného. Ten rozsah si pohlídáš v asm s příznaky procesoru, tedy není to pro mne logické vysvětlení. Tohle v asm uděláš 1 byte + příznaky. Nepotřebuješ určovat, jestli se jedná o rozsah -128 až 127, nebo 0 až 255. Navíc je vzpomenuto že buď .W nebo .S. A WORD má 2 BYTE, tedy rozsah je větší. Ale to je jedno, nějak bylo a nějak bude. Jo a když jsme u té knihy, dnes jsem se stal její vlastníkem .

    Vložit komentář:


  • ExiE
    odpověděl
    O: Assembler - všeobecná logika

    Autorem citovaného textu je Lisiak4 Přejít na původní příspěvek
    Čo je to datový typ .s?

    príklad:
    BRA.s

    Pokiaľ to teda datový typ je, lebo inak sú len B W a L, ale píše sa to na rovnakom mieste... .
    .s jako SHORT branch (range: -128, +127 byte)
    Naposledy upravil ExiE; 11.02.2016, 00:47:21.

    Vložit komentář:


  • Lisiak
    odpověděl
    O: Assembler - všeobecná logika

    Čo je to datový typ .s?

    príklad:
    BRA.s

    Pokiaľ to teda datový typ je, lebo inak sú len B W a L, ale píše sa to na rovnakom mieste... .

    Vložit komentář:


  • Lisiak
    odpověděl
    O: Assembler - všeobecná logika

    Tak som sa dočítal, že staršie A500 vedeli adresovat len 0,5 MB CHIP. Tak by ma zaujímalo, že keď sa programuje pre A500/A600, či sa v rámci komatibility pracuje vačšinou s možnosťou adresácie 0,5 MB alebo 1 MB CHIP kďe by tento program potom na A500 s obmedzenou adresáciou 0,5 MB CHIP nepracoval, aj keby daná Amiga mala 1 MB RAM, kde by rozšírenie o 0,5 MB RAM nebo o pamať typu CHIP... . V Amiga Review tento typ pamaťe nazvali ako 0,5 MB FAKE-FAST .

    Vložit komentář:

Zpracovávám...
X