Oznámení

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

Assembler - všeobecná logika

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

  • Lisiak4
    odpověděl
    A dnes ráno jsem vyřešil tu druhou chybu. Chyba začátečníka kdy jsem v A2 neobnovoval načtení adresy pro znaky potom co jsem A2 použil i pro načtení adresy na RAW obrázek.

    Tedy program Textro je opět funkční i s úpravami aby běžel s mou hudební rutinou aniž by byl použitý zásobník. Tedy 2 programy v registrech D0-D7 a A0-A6. Registr A7 je zásobník.
    Naposledy upravil Lisiak4; 31.01.2022, 12:53:28.

    Vložit komentář:


  • Lisiak4
    odpověděl
    Defor měl si pravdu, jde o promazání registrů. Ještě to nemám zcela funkční. Ve smyčce, která hledá správné písmeno z napsaného textu jsem použil move.W místo move.B pro zápis čísla 39 které se v cyklu mění, písmeno se po tvé optimalizaci hledá od konce k začátku. To zlepšilo stabilitu, neseká se to, ale vypíše se všude stejný znak, který snad ani není z abecedy. Až budu mít více času, podívám se na to ještě. Díky za nesměrování!

    Vložit komentář:


  • Prisko
    odpověděl
    Autorem citovaného textu je Lisiak4 Přejít na původní příspěvek
    Ja je mám taky všechny, poslední čtvrtá série není nadabovaná. Někdy si to ještě pustím i teď, ale jako vše se to okouká. Ale já zbožňuji suchý anglický humor 🙂
    Nadabovány jsou samozřejmě všechny 4 série. Pátá série je jen jeden poslední díl a jde jen o "grandiózní finále" s titulkama Ajťáci: Přichází internet. To samozřejmě víme přece všichni

    Vložit komentář:


  • Dedy
    odpověděl
    I když je český dabing na úrovni, tak já se raději koukám na origo s titulkama. Ono to nutí i naposlouchat a přiučit se anglině, i když to není ono. Občas si pouštím známé věci bez titulků.

    Omlouvám se za

    Vložit komentář:


  • Lisiak4
    odpověděl
    Autorem citovaného textu je IDEfix Přejít na původní příspěvek

    Tak jistě, můj oblíbený séroš...
    Ja je mám taky všechny, poslední čtvrtá série není nadabovaná. Někdy si to ještě pustím i teď, ale jako vše se to okouká. Ale já zbožňuji suchý anglický humor 🙂. A Moss je v některých aspektech takové mé druhé já 🙂

    Vložit komentář:


  • Defor
    odpověděl
    Autorem citovaného textu je Lisiak4 Přejít na původní příspěvek
    Nakonec to byl register kde je pointer na obrázek. Dle všeho s tím Amiga pracuje snad i na pozadí a když do něj dám něco jiného tak se program sekne/guru/nezobrazí správně grafiku anebo třeba i zobrazí ale jen při prvním spuštění a sekne se to při druhém spuštění.
    Tohle celé je nějaké divné. Pokud máš systém zastavený, nemělo by nic padat kvůli tomu, že "s tím Amiga pracuje snad i na pozadí". Pokud chceš, aby tvůj program udělal kompletní "system takeover", tak vřele doporučuji používat třeba Photonův MiniWrapper
    http://coppershade.org/articles/Code...Dream_in_Code/
    http://coppershade.org/asmskool/PhotonsMiniStartup/
    Stačí na začátek tvého zdrojáku dát (include) jeho MiniWrapper, ten všechno vypne, skočí do tvého kódu, a když se z něho vrátí, tak po sobě zase uklidí. Je to ověřené, používá to fůra lidí, případně si jiní naprogramovali něco, co je tomu stejně velmi podobné (ne-li identické).
    Pokud tvůj program někdy funguje a někdy padá, tak si ověř, že na začátku je v registrech to, co očekáváš, resp. že jsou vynulovány. Systém je totiž nemaže, a tak když bys třeba udělal toto:
    Code:
       .....
       move.w d1,d0
       .....
       add.l d0,a0  ; Tady mozna predpokladas ze hornich 16 bitu d0 je nulovych, ale to neni zarucene Je treba si je radeji predem smazat.
    Taky je při programování zvykem, že rutiny nejdříve uloží obsah registrů které modifikují na zásobník a před návratem je zase vrátí do původního stavu:
    Code:
    MySuperDuperRoutine:
       movem.l d0-d3/a0-a4,-(sp)
       ..... ; Tady si vesele pouzivam a menim registry d0-d3,a0-a4, ale je to jedno, protoze...
       movem.l (sp)+,d0-d3/a0-a4  ; tady je zase vratim do puvodniho stavu
       rts
    Tím máš zajištěno, že ti zavolání tvé rutiny nenaruší chod zbytku programu.
    Tvůj kód by rozhodně neměl zaseknout WinUAE tak, že ten pak nereaguje. Na reálné Amize to bylo naopak zcela běžné Tady bych spíš tipoval na nějaký problém ve tvém PC/Windows?
    Naposledy upravil Defor; 29.01.2022, 19:07:19.

    Vložit komentář:


  • Dedy
    odpověděl

    Vložit komentář:


  • IDEfix
    odpověděl
    Autorem citovaného textu je Dedy Přejít na původní příspěvek

    Taky koukáš na IT Crowd?
    Tak jistě, můj oblíbený séroš...

    Vložit komentář:


  • Dedy
    odpověděl
    Autorem citovaného textu je IDEfix Přejít na původní příspěvek

    A zkoušel si to vypnout a zapnout...?




    Jo, takhle to má pípat....
    Taky koukáš na IT Crowd?

    Vložit komentář:


  • Lisiak4
    odpověděl
    Autorem citovaného textu je IDEfix Přejít na původní příspěvek

    A zkoušel si to vypnout a zapnout...?




    Jo, takhle to má pípat....
    Ne, pardon, to mne nenapadlo. Tak já to zkusím 🙂

    Vložit komentář:


  • IDEfix
    odpověděl
    Autorem citovaného textu je Lisiak4 Přejít na původní příspěvek
    Jednou se mi seklo WinUAE tak, že nešlo zavřít ani přes křížek. Až po tak 4 minutách se PC vzpamatovalo v době kdy jsem se jo již chystal restartovat. To taky pobavilo. Chudák PC 😁
    A zkoušel si to vypnout a zapnout...?




    Jo, takhle to má pípat....

    Vložit komentář:


  • Prisko
    odpověděl
    Definice programátora:

    Programátor je člověk, který zcela nepochopitelným způsobem řeší problémy, o jejichž existenci vy nemáte ani potuchy

    Vložit komentář:


  • Predseda
    odpověděl
    Dvě kouzelná slova: Task Manager

    Vložit komentář:


  • Lisiak4
    odpověděl
    Jednou se mi seklo WinUAE tak, že nešlo zavřít ani přes křížek. Až po tak 4 minutách se PC vzpamatovalo v době kdy jsem se jo již chystal restartovat. To taky pobavilo. Chudák PC 😁

    Vložit komentář:


  • Lisiak4
    odpověděl
    Hodil jsem si program textro k mé hudební rutině, přízpusobil registre a snažil se to s nima držet na podlaze, aby jich bylo potřeba co nejméně vždy v daný moment. Bylo to nestabilní, tak jsem si program s úpravami hodil samostatně, i tak to bylo nestabilní dá se říci nefunkční. Začal jsem laborovat kde je problem. Hrálo se to na moc věcí s různou stabilitou. Postupně čím dál více zpřesňoval místo chyby, pracoval jsem již i s možností více chyb. Nakonec to byl register kde je pointer na obrázek. Dle všeho s tím Amiga pracuje snad i na pozadí a když do něj dám něco jiného tak se program sekne/guru/nezobrazí správně grafiku anebo třeba i zobrazí ale jen při prvním spuštění a sekne se to při druhém spuštění. Tak mám opět program stabilní a příště jej zkusím hodit k mé hudební rutině opět. Dnes jsem šel spát ve 4 ráno, ale dorazil jsem to až po spánku, co více si přát 🙂

    Vložit komentář:

Zpracovávám...
X