Oznámení

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

Vývojové prostředí - Assembler 68k

Sbalit
X
 
  • Filtr
  • Čas
  • Zobrazit
Clear All
new posts

    #31
    O: Vývojové prostøedí - Assembler 68k

    Keï si prejdem tento program z Amiga Review è.6 v debugeru v ASM-Pro 1.18, tak mi to skonèí na inštrukcii jsr _LVOWrite(a6). Nemožem sa vráti nazpat do editácie programu. V lište z výberu vybera možem, ale to je tak všetko. Keï dám vybra editor, niè sa nestane. To je normálny stav? Je to program na vypísanie textu "Nazdar mamlasos!" pomocou systému. Program je tu vypísaný bez správneho odriadkovania. Program ako EXE funguje.

    Code:
    ;exec.library:
    _LVOOpenLibrary = -552
    _LVOCloseLibrary = -414
    ;dos.library:
    _LVOOutput = -60
    _LVOWrite = -48
    
    section prg,code
    START move.l 4.w,a6 ; báze exec do a6
    lea dosname(pc),a1 ; jméno dos.library
    moveq #0,d0 ; jakákoli verze
    jsr _LVOOpenLibrary(a6) ; otevøít
    tst.l d0 ; mám dos.library?
    beq .fuj1 ; ne->padám
    move.l d0,a6 ; jo->do a6 s ní
    jsr LVOOutput(a6) ; zjistit výstup
    move.l d0,d1 ; mám ho v D1?
    beq .fuj2 ; ne->padám
    move.l #text,d2 ; adresu textu do d2
    move.l #textlen,d3 ; délku textu do d3
    jsr _LVOWrite(a6) ; Vypsat
    .fuj2 move.l a6,a1 ; dosbase do a1
    move.l 4.w,a6 ; execbase do a6
    jsr LVOCloseLibrary(a6) ; zavøít dos
    .fuj1 moveq #0,d0 ; normální kód
    rts ; skonèit
    
    dosname dc.b "dos.library",0 ; jméno dosu
    text dc.b "Nazdar mamlasos!",10 ; text,<LF>
    textlen equ *-text ; výpoèet délky textu
    Naposledy upravil Lisiak4; 04.01.2016, 19:24:20.
    Amiga - PMD 85

    Komentovat


      #32
      O: Vývojové prostøedí - Assembler 68k

      Asi to bude k nièomu, ale v prílohe je zdroják. Dal som súboru príponu TXT, aby som ju sem mohol vloži, ale AsmPro zobral súbor aj s tou príponou.
      Přiložené soubory
      Amiga - PMD 85

      Komentovat


        #33
        O: Vývojové prostøedí - Assembler 68k

        Vsetko je v poriadku, program ktory si sem dal pocita s tym ze je spusteny z CLI a do okna CLI chce aj vypisat text.
        Ak ho spustas/krokujes v debugeru tak vyzera ze "nefunguje". Nebol spusteny z CLI.
        Velmi jednoducho vysvetlene.

        Ak by si pridal ikonu k programu tak by asi tiez nefungoval.
        Naposledy upravil ObiWanKen; 04.01.2016, 19:40:51.
        MiST | Amiga 600 Furia EC020 | Amiga 1200 ACA 1231 | Sharp MZ800 | ZX Spectrum 48k | Didaktik M | Didaktik Gama | C64 U1541II | Atari 800XL | Atari 130XE U1MB+SIDE2.

        Komentovat


          #34
          O: Vývojové prostøedí - Assembler 68k

          Jasne, nepredpokladám, že keï budem program v debugeru krokova, že sa mi pri tom vypíše text, ale zarazilo ma to, že som potom nútený reštartovat systém, spustit AsmPro znovu, aby som mohol opa program editova... .
          Amiga - PMD 85

          Komentovat


            #35
            O: Vývojové prostøedí - Assembler 68k

            Aha, ja som tvoj program krokoval a vsetko prebehlo OK.
            Teda vratil sa do editoru a mohol som pracovat dalej. Nemusel som restartovat.
            MiST | Amiga 600 Furia EC020 | Amiga 1200 ACA 1231 | Sharp MZ800 | ZX Spectrum 48k | Didaktik M | Didaktik Gama | C64 U1541II | Atari 800XL | Atari 130XE U1MB+SIDE2.

            Komentovat


              #36
              O: Vývojové prostøedí - Assembler 68k

              OK, pokia¾ dám šípku dole a som na inštrukcii jsr _LVOWrite(a6), tak sa do editora ešte vráti možem, ale pokial z tejto inštrukcie dám šípku dole, tak nastane stav, keï sa neposunie "kurzor" o pozíciu nižšie (teda zostane v inzerte stále inštrukcia jsr _LVOWrite(a6)) a už sa do editoru vráti nemožem.
              Amiga - PMD 85

              Komentovat


                #37
                O: Vývojové prostøedí - Assembler 68k

                Prišiel som na to. Chudák, mal problém s tým, že som z programu z ktorého som spustil AsmPro, teda z Dopusu po spustení AsmPro samotný Dopus zrušil. Keï som Dopus nechal spustený po spustení AsmPro, tak sa aj mne celý program pri krokovaní v debugeru správne ukonèil a mohol som sa vráti do editácie. Som si vravel, že by tam mohla by spojitos so systémom, keï sa program snaží vypísa nieèo do CLI. Zaujímavé .
                Amiga - PMD 85

                Komentovat


                  #38
                  O: Vývojové prostøedí - Assembler 68k

                  Predpokladam ze chces vystup na obrazovku. Ako som uz pisal, niesom v laske so systemovym programovanim na Amige a som z toho aj blbec.
                  Preto si radsej nieco taketo robim sam. Tu mas moj programik na drobne sprtanie.

                  Balicek obsahuje dva Includes (Offsets.i a Custom.i) tie si skopiruj do adresara ktory mas nastaveny v nastaveniach v DEFAULT DIR:
                  tieto includi sa ti hodia aj do buducna. Mozes si ich nahrat priamo do assembleru a pozriet co obsahuju.

                  dalej je tam subor zo znakovou sadou "Charset5x_768x50x1.rn".
                  V zdrojaku najdes cestu odkial ho chce "nahrat" pri kompilacii. Mozes si ho dat kam chces ale musis tuto cestu zmenit kde sa nachadza.

                  Skusaj a pitaj sa. Mas tam vlastu Vram, Copper list, alokaciu, uvolnenie pamate atd.
                  Přiložené soubory
                  MiST | Amiga 600 Furia EC020 | Amiga 1200 ACA 1231 | Sharp MZ800 | ZX Spectrum 48k | Didaktik M | Didaktik Gama | C64 U1541II | Atari 800XL | Atari 130XE U1MB+SIDE2.

                  Komentovat


                    #39
                    O: Vývojové prostøedí - Assembler 68k

                    Super díky, ja to beriem tak, že nejako je treba zaèat. Tak som zaèal s programom z AR6, ktorý som tu napísal, potom bolo povedané, ze nesystémovo je lepšie, OK, assembler, ako assembler. Cesta uèenia nejaká bola a aj nejaká bude. Všetko chce èas. Vieš, keï programátor z AR6 napíše nieèo v zmysle, nech a ani nenapadne odstavi systém pri programovaní tak to tak berieš. Ale tak trochu inak sa aj asi bral systém v dobe keï bola amiga predsa len viac v kurze ako teraz. Systémové programovanie má význam asi hlavne na nejaké aplikácie, prípadne nieèoho iného, kde si v rámci výkonu Amigy v dostatoènej rezerve.

                    Má inak zmysel sa nieèo uèi zo systémových funkcií? Nie ich používa, ale jednoducho sa pozrei ako to systémová funkcia robí a odstráni z nej prácu s multitaskingom, aby nám už potom zostal len prístup na HW?
                    Amiga - PMD 85

                    Komentovat


                      #40
                      O: Vývojové prostøedí - Assembler 68k

                      Ja by som to napisal takto. AlienBreed systemovo nenaprogramujes aby si dosiahol taku plynulost ako ma original. Ale ak chces aby tvoj Program fungoval od 600 cez A1200 az po A4000 s PPC pouzi system.

                      Aj ked jedna z mojich najoblubenejsich hier - Colonization je naprogramovana systemovo a je to Klenot ! (Samozrejme je to strategia a nie akcna hra).
                      A1260 34MB Ram SCSI; A600 Furia EC020; A500; A500+; CDTV; A3000;

                      Komentovat


                        #41
                        O: Vývojové prostøedí - Assembler 68k

                        Ako pise Voodoo, velmi lahko spoznas co bolo urobene Sys a NoSys. Systemove programovanie bolo odporucane pre "buduce" zariadenia.
                        Ak sa dobre pamatam tak AAA malo uz pouzivat uplne ine HW registre a vsetko NoSys by tam nefungovalo.
                        Dnes je uz asi kazdemu jasne ze nic nove na svet od Commodore nepride (skoda).

                        Nieco zo systemovych veci potrebujes, aspon ja pouzivam nasledujuce.

                        Alokacia/uvolnenie pamate (_LVOAllocMem/_LVOFreeMem)
                        Odstavenie/spustenie multitasking-u (_LVOForbid/_LVOPermit)
                        Odstavenie/spustenie preruseni (_LVODisable/_LVOEnable)
                        Praca s diskom (_LVOOpen,_LVORead,_LVOWrite,_LVOClose) a ktomu treba _LVOOpenLibrary,_LVOCloseLibrary (potrebujes otvorit dos.library).

                        A tiez by si mal vediet kto ta spustil (CLI/WB). Je rozdiel ci bol program spusteny z CLI alebo s ikonou z WB.
                        _LVOFindTask, _LVOWaitPort, _LVOGetMsg, _LVOReplyMsg.

                        Mozno ich bude do 20 bez ktorých sa nezaobides.
                        MiST | Amiga 600 Furia EC020 | Amiga 1200 ACA 1231 | Sharp MZ800 | ZX Spectrum 48k | Didaktik M | Didaktik Gama | C64 U1541II | Atari 800XL | Atari 130XE U1MB+SIDE2.

                        Komentovat


                          #42
                          O: Vývojové prostøedí - Assembler 68k

                          Ïakujem za nasmerovanie, akurát som h¾adal hry, ktoré boli robené systémovo. Aj som našiel, ale tak to teda nie! . OK, najbližšie sa idem pokúsi programova v assembleru nesystémovo - pokia¾ na to mám a bude ma to bavi. Ale pokraèujem nabudúce... - možno .
                          Amiga - PMD 85

                          Komentovat


                            #43
                            O: Vývojové prostøedí - Assembler 68k

                            Systemove hry su napr. Doom, Quake, Payback, Wipeout, NemacIV, Gloom, Heretic, Hexen, Descent, Shogo, onEscapee, Nightlong, Myst, SimonTheSorcerer2, FlyinHight, VirtualGP, Napalm, Foundation, Exodus, Earth 2140,atd..
                            A v podstate vsetky hry (alebo dema,programy), ktore idu na grafickej karte su systemove, lebo ku gfx karte sa nesystemovo nedostanes (CGX,PICASSO...).
                            Amiga 1200T (E/Box)+BlizzardPPC 603p/363+060/66+BVision PPC+256MB+KS3.1+Cocolino+Lyra 2+Fast Ata MK-IV+320GB WD Blue 3200AAJB PATA HDD(PFS3)+dvdrw+dvd+cf2ide
                            Amiga 1200+BlizzardPPC 603e/210+040/25+128MB+KS3.1+CF4GB(PFS3)

                            Komentovat


                              #44
                              O: Vývojové prostøedí - Assembler 68k

                              OK, pozeral som na to a to sú všetko hry, èo chcú aspoò 030ku. Mal som za to, že aspoò ten Simon The Sorcerer 2 bude na 020ku, ale pod¾a všetkého ani ten na òu neni, aj keï by to 020ka zvládnu pod¾a mòa mala a teda pokia¾ by sa jednalo o nejakú adventúru, na òu by malo staèit u 020ky aj systémové programovanie, ale asi systémovo neni dovod písa, keï sa chcú použit povodné grafické možnosti Amigy. U použití grafickej karty sa už tá situácia mení a musí sa ís teda na grafiku systémovo.

                              EDIT: Vínimku tvorí už spomínaný Colonization, ktorý je pre klasickú Amigu a naprogramovaný systémovo.
                              Naposledy upravil Lisiak4; 05.01.2016, 14:17:12.
                              Amiga - PMD 85

                              Komentovat


                                #45
                                O: Vývojové prostøedí - Assembler 68k

                                ASM-Pro 1.18

                                Jedná sa mi o debuger. Keï v òom krokujem, je vynechané z krokovania návestie. V mojom prípade lokálne návestie. Pokia¾ som to dobre pochopil, lokálne návestie (a teda asi aj globálne - nevidím dovod preèo by tomu tak nemalo by), aj keï na neho nebolo skoèené pomocou inštrukcie beq sa vykoná, keï na neho príde rada v rámci chodu programu. Debuger sa mi ale zastaví pred týmto návestím. Je to normálne?

                                Mám to chápa tak, že aj keï neni skoèené na návestie pomocou inštrukcie beq, teda v oprande máme adresu a nie nulu (èo je v poriadku) a príznak operandu teda neni Z, debuger vykoná toto návestie pri inštrukcii beq a ja len teda vidím pozíciu miesta vykonávania v programe umiestnením kurzora na inštrukcii beq?
                                Amiga - PMD 85

                                Komentovat

                                Zpracovávám...
                                X