OldComp.cz
http://oldcomp.cz/

Jak nadatlovat strojový kód?
http://oldcomp.cz/viewtopic.php?f=40&t=5994
Stránka 22

Autor:  ub880d [ 20.02.2018, 22:22 ]
Předmět příspěvku:  Re: Jak nadatlovat strojový kód?

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
...

Autor:  faraon [ 21.02.2018, 20:20 ]
Předmět příspěvku:  Re: Jak nadatlovat strojový kód?

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:

Autor:  Ladislav [ 22.02.2018, 02:46 ]
Předmět příspěvku:  Re: Jak nadatlovat strojový kód?

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

Autor:  SCjoe [ 22.02.2018, 13:27 ]
Předmět příspěvku:  Re: Jak nadatlovat strojový kód?

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

Protože na počátku do domácích počítačů dělali lidi, kteří rozuměli jak HW tak SW a programy běžně psali na "nejnižší úrovni", v hexadecimálních kódech.
Angličtinu v manuálech se sice někteří učili jako školáci od základu (a klávesnici mnohdy překládali jako "klíčovou desku" - což u ZX80, ZX81 a spektráče paradoxně sedělo, protože na nich ta klíčová slova byla napsaná), ale čísla instrukcí strojového kódu znali nazpaměť a hexa výpis plynule četli. K zapisování kratšího i středního programu jim často posloužil jen program-monitor stroj. kódu (různé MONS, MILIMON, MIKROMON, VAT, VAST, PIKOMON...) - někteří jej měli ve spektráči přímo v ISOROM. Mnozí s takovým přepisováním kódů v paměti slušně upravovali a opravovali zahraniční programy, např. p. Adámek. Tahle generace profíků vydržela u osmibitů do začátku devadesátých let, kdy většinou přešla na vyspělejší stroje.

Opak ukážu na mém příkladu: jsem v půlce 80. let naopak patřil mezi laické mlaďochy, kteří si počítač ani periférie nebastlili a nejdřív pracovali (a pak i koupili) s hotovým zařízením a byli od začátku jen uživatelsky (vlastně úplně nejdřív jen herně) orientováni. Hardware a taky klíč k němu: stroj. kód, to vše pro mne byla magie. Jako začátečníka mne hodně zmátla tabulka v manuálu pro ZX Spectrum, kde byly kódu znaků, příkazů basicu i instrukcí strojového kódu vedle sebe. Vůbec jsem tomu nerozuměl, jak to spolu souvisí, dokud jsem nazačal těm profíkům koukat přes rameno a nepořídil si základní literaturu z Karolinky. Až pak jsem pochopil, co je to relokovatelný program, co je RAMTOP, jak používat RANDOMIZE USR, PRINT USR, LET a=USR, a jak předávat a číst vstupy a výstupy stroj. kódu z BASICU... :bulb:

Kódy jsem se nikdy úplně nazpaměť nenaučil, monitory byly nepohodlné, radši zkoušel assemblery od Hisoftu a MASM apod. a coby rekreativní (rozuměj rekreační lepič kódu) počítačovec na zač. devadeátých let pak totálně zpohodlněl u PIKASMu a Promethea. A že se ty hexavýpisy v časopisech ještě nějakou dobu tiskly, mne hodně štvalo. Šokem byly pro mne západní počítačové časopisy, které byly plné sloupců hexadecimálních čísel, někdy dokonce s jedním číslem na každém řádku navíc, coby kontrolním součtem, jestli to člověk dobře opsal... Ale jen jsem si dřel karmu, díky soužití s C128 jsem pak zjistil, že např. převážně herní část komodoristické komunity je na ty výpisy zvyklá a s opisováním mnoha, klidně i deseti stránek výpisů, smířená.

https://sam.speccy.cz/olddocs/uvod_do_s ... du_zxs.pdf
https://sam.speccy.cz/olddocs/asm-z80_p ... s_zx81.pdf
https://sam.speccy.cz/olddocs/strojovy_kod_85-86.pdf
https://sam.speccy.cz/olddocs/z80_assem ... sovice.pdf

Autor:  Busy [ 22.02.2018, 14:29 ]
Předmět příspěvku:  Re: Jak nadatlovat strojový kód?

SCjoe píše:
... čísla instrukcí strojového kódu znali nazpaměť a hexa výpis plynule četli.
Presne tak, vtedy bolo uplne normalne uvadzat program ako hexdump, a kazdy kto sa co len trosku vyznal vedel co presne s tym ma robit. To boli krasne casy 80-tych rokov :)
SCjoe píše:
K zapisování kratšího i středního programu jim často posloužil jen program-monitor stroj. kódu (různé MONS, MILIMON, MIKROMON, VAT, VAST, PIKOMON...)
...a samozrejme MRS, ktoreho prva verzia vznikla uz v roku 1986 a tiez umoznila priamo zapisat hexdump.
SCjoe píše:
někteří jej měli ve spektráči přímo v ISOROM.
Hexdump sa da do pameti priamo zapisat aj v BSrom118 a 140 takto:
46528 ED 72 B6 7C B6 C1 CD 6C => POKE 46528,%ED,%72,%B6,%7C,%B6,%C1,%CD,%6C

Autor:  danhard [ 22.02.2018, 14:32 ]
Předmět příspěvku:  Re: Jak nadatlovat strojový kód?

"Protože na počátku do domácích počítačů dělali lidi, kteří rozuměli jak HW tak SW a programy běžně psali na "nejnižší úrovni", v hexadecimálních kódech."

Dokonce ti skalní používali oktalovou soustavu a transformace na hex bylo jako předělávka leváka na praváka :D

Minipočítače neměli žádnou ROM, takže program, operační systém se natahoval z nějaké perifrie, třeba z děrné pásky, kazety, nebo disku.

Běžná obsluha uměla tzv. krabičkovej loader, 16 instrukcí k natažení programu z děrné pásky, které se nacvakala z předního panelu (SW), systemoví inženýři, elita, uměli z paměti diskový zavaděč 64 instrukcí.

Protože po oslavách Brigády Socialistiké Práce (při dosažení, nebo nedosažení plánovaných met) systemoví inženýři příští den pravidelně při nástupu do zaměstnání chybovali při zadávaní diskového zavaděče, byl nainstalován automatický zavaděč s jedinou MH74S287 a jejich privilegia jim byla odebrána.

To byl start minipočítačů, které může používat i blondýnka, jelikož, když se něco nedaří, tak stačí vypnout a zapnout :lol:

ps. to se opravdu stalo a na začátku bylo nadatlovat strojovej kód, jinak to nešlo.

Autor:  SCjoe [ 22.02.2018, 16:11 ]
Předmět příspěvku:  Re: Jak nadatlovat strojový kód?

Busy píše:
a samozrejme MRS, ktoreho prva verzia vznikla uz v roku 1986

Jo, pardon, zapominam, neb mne tehdy distribucni (kopirovaci) vetev softwaru s MRS minula, asi o nem nepsali ani v Hradci ani v Karolince a nebyl k dostani ani na polskych kazetach z ostravke burzy. Systemu MRS udelala reklamu knizka Bity do bitu, ale kdyz jsme vyuzili prilozeny kupon a s kamaradem jej objednali, prisla nam hlaska, ze uz je kazeta vyprodana... takze jsem MRS paradoxne dostal pozdeji nez Pikasm+Pikomon, ze zilinskeho distribucniho kanalu, od St. Figlara, ktery jej predelal pro Sam Coupe. Prosba: jestli k tomu vydani MRS inzerovanemu v Bitech do bytu byl i tisteny manual, hodne sem prosim nekdo sken.

danhard píše:
Dokonce ti skalní používali oktalovou soustavu

A pokud ti skalni nahodou ucili pocitace, nutili nas tuhle mimonskou soustavu ovladnout taky, mne se te pocty dostalo s vyukou IQ-151 :shock:
Dodnes nevim, ma nejake vyuziti na osmibitech (v nekolika priruckach strojoveho kodu z80 se vedle hd soustavy popisuje...)?

Autor:  Busy [ 22.02.2018, 16:47 ]
Předmět příspěvku:  Re: Jak nadatlovat strojový kód?

SCjoe píše:
Prosba: jestli k tomu vydani MRS inzerovanemu v Bitech do bytu byl i tisteny manual, hodne sem prosim nekdo sken.
Papierovy manual sice mam, ale nechces radsej celu dokumentaciu v plaintexte ? Najdes ju na mojej stranke o MRS. (v manuali nie je vsetko)

Autor:  SCjoe [ 22.02.2018, 18:51 ]
Předmět příspěvku:  Re: Jak nadatlovat strojový kód?

Ano, Tvoje stranky znam. Zajimaji mne starsi verze a navody k nim...

Autor:  Lisiak4 [ 25.02.2018, 23:45 ]
Předmět příspěvku:  Re: Jak nadatlovat strojový kód?

Ladislav píše:
Děkuji Vám vśem moooooc :)
a jdu studovat :)
Láďa

Nevím jak druzí, za mne to s tím studováním moc nepřeháněj. Chci tím říci, že dle mne je důležitější zapnout vývojové prostředí a začít se s programováním hrát. Tímhle způsobem se na Tebe budou nabalovat informace postupně. Z učebnice se některé věci můžou zdát složitější, nežli ve skutečnosti jsou. Já kdyby jsem se měl učit z cizích kódu, tak s programováním asi ani nikdy nezačnu.

Stránka 22 Všechny časy jsou v UTC + 1 hodina [ Letní čas ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/