OldComp.cz

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

Reklama!

Právě je 12 pro 2018, 11:40

Všechny časy jsou v UTC + 1 hodina




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 40 ]  Přejít na stránku Předchozí  1, 2, 3  Další
Autor Zpráva
 Předmět příspěvku: Re: Jak nadatlovat strojový kód?
PříspěvekNapsal: 20 úno 2018, 18:56 
Offline
Kecálek
Uživatelský avatar

Registrován: 02 srp 2015, 14:23
Příspěvky: 101
Bydliště: Skalica
Has thanked: 5 times
Been thanked: 26 times
faraon píše:
Viděl jsem kdysi vylepšený program, kde za samotnými bajty následoval ještě kontrolní součet pro připad chyby tisku nebo opisování, takže se hned poznalo na kterém řádku něco nesedí.


Ten program je tuším v knihe Můj přítel Didaktik GAMA.

_________________
ZX Spectrum, ZX Spectrum +, DIDAKTIK GAMA '87 '88 '89, DIDAKTIK M '90 '91, DIDAKTIK KOMPAKT '92 '93, D40, D80, Interface M/P, MELODIK, UR-4, BEST, KP 311, BT100, SP210T, GAMACENTRUM 01 (cerná), ROBOTRON K6304, 2x divIDE, 2x K-Mouse, PMD 85-2, Amiga 500


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Jak nadatlovat strojový kód?
PříspěvekNapsal: 20 úno 2018, 19:04 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 23 bře 2014, 19:13
Příspěvky: 1624
Has thanked: 66 times
Been thanked: 280 times
Já mám pocit že to bylo v Amáru, ale tady ty kontrolní součty stejně nejsou. Zrovna v podobných případech by se teda opravdu hodily :)

_________________
"When I designed Voyager, I did it on an Apple II with 48K of memory, and I wrote my own Basic program." - Burt Rutan
Obrázek Obrázek


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Jak nadatlovat strojový kód?
PříspěvekNapsal: 20 úno 2018, 19:10 
Offline
Kecálek
Uživatelský avatar

Registrován: 02 srp 2015, 14:23
Příspěvky: 101
Bydliště: Skalica
Has thanked: 5 times
Been thanked: 26 times
Možno aj v Amáru, to neviem. Ale z tej knihy som prepisoval vela programov a mam pocit ze tam nieco take je. Buduci stvrtok sa vratim domov, tak dam vediet, pripadne ten program prepisem sem.

_________________
ZX Spectrum, ZX Spectrum +, DIDAKTIK GAMA '87 '88 '89, DIDAKTIK M '90 '91, DIDAKTIK KOMPAKT '92 '93, D40, D80, Interface M/P, MELODIK, UR-4, BEST, KP 311, BT100, SP210T, GAMACENTRUM 01 (cerná), ROBOTRON K6304, 2x divIDE, 2x K-Mouse, PMD 85-2, Amiga 500


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Jak nadatlovat strojový kód?
PříspěvekNapsal: 20 úno 2018, 19:44 
Offline
Kecálek

Registrován: 01 pro 2017, 20:01
Příspěvky: 242
Bydliště: BA-Králikárne
Has thanked: 3 times
Been thanked: 38 times
Dovolil som si opraviť zopár chybičiek. Netestované.
...
40 READ g: IF g=0 THEN STOP
50 READ d$
60 FOR i=0 TO 7
70 POKE g+i, VAL(d$(i*3+1)) * 16 + VAL(d$(i*3+2))
...

_________________
Všetky mnou poskytnuté informácie sú voľne šíriteľné. Odporúčam ich zálohovať, servery zvyknú padať, informácie sa strácať..... a ľudia tiež.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Jak nadatlovat strojový kód?
PříspěvekNapsal: 20 úno 2018, 19:59 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 23 bře 2014, 19:13
Příspěvky: 1624
Has thanked: 66 times
Been thanked: 280 times
Adresa=a. Fyzikářka mě neměla ráda, protože když jsem si nepamatoval správné písmenko do vzorečku, tak jsem si tu "proměnnou" prostě pojmenoval podle vlastního názvosloví. A ona se v tom potom nevyznala, i když mi vyšel správný výsledek :lol:

Ale s tou šestnáctkou máš pravdu, 256 je blbost. Hned jsem to opravil!

_________________
"When I designed Voyager, I did it on an Apple II with 48K of memory, and I wrote my own Basic program." - Burt Rutan
Obrázek Obrázek


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Jak nadatlovat strojový kód?
PříspěvekNapsal: 20 úno 2018, 20:19 
Offline
Kecka

Registrován: 10 črc 2014, 00:57
Příspěvky: 68
Has thanked: 2 times
Been thanked: 55 times
faraon píše:
Adresa=a. Fyzikářka mě neměla ráda, protože když jsem si nepamatoval správné písmenko do vzorečku, tak jsem si tu "proměnnou" prostě pojmenoval podle vlastního názvosloví. A ona se v tom potom nevyznala, i když mi vyšel správný výsledek :lol:

Ale s tou šestnáctkou máš pravdu, 256 je blbost. Hned jsem to opravil!

aj s tym g ma pravdu. zjavne nerozumies co presne program robi (a ani si ho neskusal, zistil by si ze "integer out of range 70:1" ;])

premenna a je pouzita na uchovanie hodnoty nibblu 0xA cize 10 (vid riadky 20 a 30), cize tentokrat sa ti nevyplati vymyslat si premennu adresa s menom a ;]


@factor6: len pre uplnost.. (a aby sme zbytocne citatelov nemiatli) "for i=0 to 10" sa vykona 11 krat a nie 10 krat, takze tvoj program zapisuje nie 1000 hodnot ale 1001 hodnot.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Jak nadatlovat strojový kód?
PříspěvekNapsal: 20 úno 2018, 21:08 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 23 bře 2014, 19:13
Příspěvky: 1624
Has thanked: 66 times
Been thanked: 280 times
Nojó, síla zvyku :x
A skutečně jsem ho nezkoušel, jak jsem tam zdůraznil, psal jsem to z hlavy.

_________________
"When I designed Voyager, I did it on an Apple II with 48K of memory, and I wrote my own Basic program." - Burt Rutan
Obrázek Obrázek


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Jak nadatlovat strojový kód?
PříspěvekNapsal: 20 úno 2018, 21:22 
Offline
Kecka

Registrován: 10 črc 2014, 00:57
Příspěvky: 68
Has thanked: 2 times
Been thanked: 55 times
no tak ale.. je tu novacik, podla mna by sa nemali tolerovat prispevky s poznamkou "netestovane" ;] hlavne, ked ta otestovanie stoji 2 minuty aj s pustenim emulatora a otvorenim debuggera na overenie ze je po spusteni v pamati to, co ma byt ;]

cat > test.bas
[copy&paste program bez '...']
[CTRL+D]

zmakebas -o test.tap test.bas

fuse test.tap
...


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Jak nadatlovat strojový kód?
PříspěvekNapsal: 21 úno 2018, 09:53 
Offline
Site Admin
Uživatelský avatar

Registrován: 11 kvě 2013, 22:48
Příspěvky: 7592
Bydliště: Praha
Has thanked: 960 times
Been thanked: 892 times
faraon píše:
Nojó, síla zvyku :x
A skutečně jsem ho nezkoušel, jak jsem tam zdůraznil, psal jsem to z hlavy.


A ty si to neumíš otestovat v hlavě? Pche... :mrblue:

_________________
"...they never believe me. They don't even believe me about you... You believe me, don't you, Abigail?"
Call me Mr.Hellwide!


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Jak nadatlovat strojový kód?
PříspěvekNapsal: 21 úno 2018, 19:20 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 23 bře 2014, 19:13
Příspěvky: 1624
Has thanked: 66 times
Been thanked: 280 times
Z hlavy jsem to také dával, ale trochu jsem z toho za ty roky vyšel, musel bych vyhrabat Didaktik a naklepat to do něj, protože emulátor tu mám jenom SPEC32 pod DOSBoxem. Aspoň názorně vidíš jak blbý zlozvyk je používat jednopísmenné názvy proměnných, kdybych tam napsal celým slovem adresa, tak by to fungovalo :angel:

_________________
"When I designed Voyager, I did it on an Apple II with 48K of memory, and I wrote my own Basic program." - Burt Rutan
Obrázek Obrázek


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Jak nadatlovat strojový kód?
PříspěvekNapsal: 22 úno 2018, 01:46 
Offline
Prvnička

Registrován: 31 led 2018, 00:33
Příspěvky: 22
Bydliště: Praha
Has thanked: 4 times
Been thanked: 16 times
Citace:
Jen od oka by ten program mohl vypadat takhle (netestováno!):
Kód:
10 CLEAR 32767
20 LET a=10: LET b=11: LET c=12
30 LET d=13: LET e=14: LET f=15:
40 READ g: IF g=0 THEN STOP
50 READ d$
60 FOR i=0 TO 7
70 POKE g+i, VAL(d$(i*3+1)) * 16 + VAL(d$(i*3+2))
80 NEXT i
90 GOTO 40
100 DATA 46528, "ED 72 B6 7C B6 C1 CD 6C"
110 DATA 46536, "B6 10 05 CD 6C B6 18 05"
120 DATA 46544, "CD 6C 86 16 18 E6 10 02"
130 DATA 46552, "1E 07 3A 56 B5 4F B6 CD"
140 DATA 46560, "08 C9 3A 54 B5 80 47 3A"
...
999 DATA 0, "Konec dat."

Na každém řádku máš adresu v paměti a osm po sobě následujících bajtů které je od ní potřeba zapsat. Dodržuj mezi nimi v datech vždy jednu mezeru, protože záleží na jejich přesné pozici v řetězci. Po napoukování bude užitečné ten úsek paměti ihned nahrát na kazetu, abys to nemusel psát znova. A ten program také, pokud nebude ten stroják fungovat a budeš ho opravovat, ať to nepíšeš pokaždé celé.


Mnohokráte Vám děkuji za vše!!!
Snad se nebudete zlobit s otázkou: Proč tedy takto napsaný strojový kód není tedy součástí té předchozí čásati psané v Basicu? (viz můj první příspěvek tohoto fóra)

Děkuji
Láďa


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Jak nadatlovat strojový kód?
PříspěvekNapsal: 22 úno 2018, 10:27 
Offline
Site Admin
Uživatelský avatar

Registrován: 11 kvě 2013, 22:48
Příspěvky: 7592
Bydliště: Praha
Has thanked: 960 times
Been thanked: 892 times
Jen hádám: "Protože je každému jasné, jak to zapsat."? Stejně, jako ve spoustě tehdy uváděných programů v časopisech se neuváděl "LET", "FOR", "IF", atd.

_________________
"...they never believe me. They don't even believe me about you... You believe me, don't you, Abigail?"
Call me Mr.Hellwide!


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Jak nadatlovat strojový kód?
PříspěvekNapsal: 22 úno 2018, 10:32 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 12 kvě 2013, 18:27
Příspěvky: 1116
Has thanked: 241 times
Been thanked: 229 times
Ladislav píše:
Mnohokráte Vám děkuji za vše!!!
Snad se nebudete zlobit s otázkou: Proč tedy takto napsaný strojový kód není tedy součástí té předchozí čásati psané v Basicu? (viz můj první příspěvek tohoto fóra)

Děkuji
Láďa


Protože se předpokládalo, že je čtenář natolik zdatný, že si to dokáže přepsat "na vlastní náklady". Ale pokud tě to potěší, tak já jsem kdysi měl úplně stejný problém a proto jsem se nakonec takovýmto programům s "divně" napsaným strojákem vyhýbal, protože jsem to neuměl přepsat - resp. nechápal jsem, nerozuměl jsem :lol:

_________________
Have you played ATARI today?
blog.tenshi.cz | 8-bitstuff.com | soundcloud | bandcamp


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Jak nadatlovat strojový kód?
PříspěvekNapsal: 22 úno 2018, 11:38 
Offline
Kecálek

Registrován: 01 pro 2017, 20:01
Příspěvky: 242
Bydliště: BA-Králikárne
Has thanked: 3 times
Been thanked: 38 times
Tak ono to tam možno je, ale písať rovnaký program v každom čísle, a pri každom programe v strojáku, to by sa už opakovalo príliš veľa krát, tak ho dali možno len do prvého čísla toho časopisu.

_________________
Všetky mnou poskytnuté informácie sú voľne šíriteľné. Odporúčam ich zálohovať, servery zvyknú padať, informácie sa strácať..... a ľudia tiež.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Jak nadatlovat strojový kód?
PříspěvekNapsal: 22 úno 2018, 11:42 
Offline
Kecálek

Registrován: 21 říj 2013, 08:25
Příspěvky: 247
Has thanked: 98 times
Been thanked: 87 times
Myslím že i dnes by spousta programátoru nevěděla jak s těmi daty naložit ;)
My tady jsme světlo na konci tunelu :)))))))


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ů: 40 ]  Přejít na stránku Předchozí  1, 2, 3  Další

Všechny časy jsou v UTC + 1 hodina


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 1 návštěvní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