OldComp.cz

Komunitní diskuzní fórum pro fanoušky historických počítačů


Právě je 24.04.2024, 17:58

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 8 ] 
Autor Zpráva
PříspěvekNapsal: 30.10.2013, 19:47 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 05.09.2013, 14:08
Příspěvky: 1070
Bydliště: Smolenice
Has thanked: 131 times
Been thanked: 473 times
Ako riešite v ASe preklad priamo do stránok?

_________________
To err is human, but to really foul things up requires a computer.


Nahoru
 Profil  
 
PříspěvekNapsal: 30.10.2013, 20:47 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3671
Bydliště: Bratislava
Has thanked: 373 times
Been thanked: 798 times
Jednoducho - namiesto AS-u pouzivam SjASM ;) A ten ma na to priamo prikaz PAGE <cislo_stranky> :)


Nahoru
 Profil  
 
PříspěvekNapsal: 31.10.2013, 00:34 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 05.09.2013, 14:08
Příspěvky: 1070
Bydliště: Smolenice
Has thanked: 131 times
Been thanked: 473 times
No comment. To mi fakt pomôže...

_________________
To err is human, but to really foul things up requires a computer.


Nahoru
 Profil  
 
PříspěvekNapsal: 31.10.2013, 01:04 
Offline
Pan Štábní

Registrován: 29.06.2013, 16:52
Příspěvky: 1614
Has thanked: 31 times
Been thanked: 357 times
z00m píše:
No comment. To mi fakt pomôže...


Mam nejaky starsi AS, jestli to nove verze podporuji to nevim, ale myslim, ze to nijak neslo. Kompilovat jsi do jednotlivych vystupnich BIN souboru, ktere mohou predstavovat jednotlive stranky. Take bych doporucil prechod na SJASM, i BUSY ho ma rad.

_________________
http://velesoft.speccy.cz/


Nahoru
 Profil  
 
PříspěvekNapsal: 31.10.2013, 09:22 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3671
Bydliště: Bratislava
Has thanked: 373 times
Been thanked: 798 times
z00m píše:
No comment. To mi fakt pomôže...
Viem, ale zase napadli ma dva aspekty:

1. Autori takychto asemblerov si casto navzajom "kradnu" napady, takze je pravdepodobne, ze nieco podobne prikazom ako PAGE / SLOT / SAVEBIN v SjASM bude mat aj AS. A ty aspon vies ktorym smerom mas patrat.

2. Pokial AS naozaj nic podobne nevie a tebe by to pomohlo, skus zvazit prechod na SjASM, aspon pri programovani veci pre pocitace so Z80 a 8080. Kedysi, v ramci hladania, aky asembler budem pouzivat, som porovnaval aj AS a SjASM. Z hladiska samotneho asemblovania (makra, praca s labelmi...) maju obidva velmi podobne moznosti, ale SjASM ma niektore veci viac podobne k zvyklostiam na orignalnych spektrackych asembleroch (gens,picasm,prometeus,mrs...) a ma niektore vlastnosti navyse specialne robene pre ZX a kompatibilne masiny (128,ruske klony...). Jedinu nevyhodu voci AS na ktoru som narazil, je ze nevie viac procakov, ale iba Z80.


Nahoru
 Profil  
 
PříspěvekNapsal: 31.10.2013, 10:15 
Offline
Radil
Uživatelský avatar

Registrován: 19.07.2013, 14:21
Příspěvky: 258
Bydliště: Košice
Has thanked: 143 times
Been thanked: 380 times
z00m píše:
No comment. To mi fakt pomôže...
Vedel som, ze sa k tomu ozve Busy so SjASMom, ako medialna tvar tohto Windows produktu :angel:


Ale aby tu zaznelo uz aj nieco napomocne... V ASe je kompilacia do stranok mozna, aj ked to nedosiahnes jednym prikazom...
Ako vieme, vystup ASu je bytecode subor typu *.p, ktory moze obsahovat iba 65536 vystupnych bajtov a z ktoreho si nasledne vieme nasekat vystup do binariek pomocou p2bin. Cize, ak si svoj zdrojak pripravime napr. takto:
Kód:
      cpu   z80undoc
      relaxed on
      page   0


      org   0

; priestor od 49152 v pomalej banke 1 (17)
;------------------------------------------------------------------------------
      phase   $C000      ; to, co by bolo povodne ako org, kde sa bude kod vykonavat

   ; kod

      ds   $4000-($-$C000)      ; kvoli vyplneniu zostatkoveho miesta az do konca banky
      dephase

; priestor od 49152 v pomalej banke 3 (19)
;------------------------------------------------------------------------------
      phase   $C000

   ; kod

      ds   $4000-($-$C000)      ; bytecode musi byt totiz presne na bajt vyplneny na 16k bloky
      dephase

; priestor od 49152 v rychlej banke 4 (20)
;------------------------------------------------------------------------------
      phase   $C000

   ; kod

      ds   $4000-($-$C000)
      dephase

; priestor od 49152 v rychlej banke 6 (22)
;------------------------------------------------------------------------------
      phase   $C000

; napriklad binclude "hudba.bin"

      ds   $4000-($-$C000)
      dephase


Nasledne si nasekame vystup do binariek jednotlivych bank pomocou parametra -r ako range, parameter -l urcuje, cim vyplnit prazdne miesto a -k na konci zmaze za sebou samotne *.p.
Takze bude to vyzerat nejak takto... v kompilacnom makefile:
Kód:
%.bin: priklad128pages.p
      p2bin priklad128pages.p page1.bin -l 0 -r \$$0000-\$$3fff > /dev/null
      p2bin priklad128pages.p page3.bin -l 0 -r \$$4000-\$$7fff > /dev/null
      p2bin priklad128pages.p page4.bin -l 0 -r \$$8000-\$$bfff > /dev/null
      p2bin priklad128pages.p page6.bin -l 0 -r \$$c000-\$$ffff -k > /dev/null
...alebo v kompilacnom batch skripte:
Kód:
p2bin priklad128pages.p page1.bin -l 0 -r $0000-$3fff > /dev/null
p2bin priklad128pages.p page3.bin -l 0 -r $4000-$7fff > /dev/null
p2bin priklad128pages.p page4.bin -l 0 -r $8000-$bfff > /dev/null
p2bin priklad128pages.p page6.bin -l 0 -r $c000-$ffff -k > /dev/null


Na zaver musim iba pripomenut, ze v ASe prikaz PAGE sluzi na ovladanie strankovania vo vystupnom listingu. Preto vsetky moje kody obsahuju PAGE 0, aby sa mi v *.lst neobjavovali rusive deliace ciary... tj. nema to nic spolocne so strankami Speccy 128k :bulb:


Nahoru
 Profil  
 
PříspěvekNapsal: 31.10.2013, 10:51 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3671
Bydliště: Bratislava
Has thanked: 373 times
Been thanked: 798 times
mborik128 píše:
Vedel som, ze sa k tomu ozve Busy so SjASMom, ako medialna tvar tohto Windows produktu :angel:
Akeho windows produktu ?!?!?! :shock: :bang: SjASM je open-source, skompilujes si ho kde len chces :neener: Napr. Noro si skompiloval a pouziva na Mac-ovi :joint:


Nahoru
 Profil  
 
PříspěvekNapsal: 31.10.2013, 11:57 
Offline
Radil
Uživatelský avatar

Registrován: 19.07.2013, 14:21
Příspěvky: 258
Bydliště: Košice
Has thanked: 143 times
Been thanked: 380 times
Busy píše:
Akeho windows produktu ?!?!?! :shock: SjASM je open-source, skompilujes si ho kde len chces...

Nuz, ako inak chapat to, ze posledne zdrojaky SjASMPlus je nutne pre skompilovanie pod gcc upravit, pretoze ktosi si zmyslel, ze nikto iny ako uzivatelia Windows nebudu mat pristup ku kniznici standardnych prikazov napr. na alokaciu pamate a ine zakladne systemove veci... :bang: :neener:
Kód:
sjasm/sjdefs.h @ riadok 70
...
  #include <stdio.h>
- #ifdef WIN32
  #include <stdlib.h>
- #endif
  #include <string.h>
  #include <ctype.h>
  #include <math.h>
...

Po vymazani tej podmienky sa to uz s haldou warningov prelozi a je mozne dokonca to k spokojnosti aj pouzivat... dufam, ze to niekomu pomoze :dwi:


Nahoru
 Profil  
 
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 8 ] 

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 4 návštevníků


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na:  
Založeno na phpBB® Forum Software © phpBB Group
Český překlad – phpBB.cz