Stránka 3 z 3

Napsal: 22 lis 2017, 19:23
od ZdenekHQ
A co tím chceš napsat?

Spousta specializovaných součástek má jednapadesátkový jádro, konkrétně teď třeba dělám s NRF9E5. A moje práce je návrh HW, programování dělám jen z donucení.

Matika jde i bez závorek, je to dost okrajová věc, spíš jen kvůli přehlednosti. Tam je samozřejmě používám. Ale taky to jde spočítat a rovnou zadat jako konstantu.

Napsal: 22 lis 2017, 19:29
od lesana87
ZdenekHQ píše:A co tím chceš napsat?

Přesně to, co jsem napsala. Závorky se v assembleru používají a bez některých to ani nejde.

Napsal: 22 lis 2017, 19:32
od ZdenekHQ
Vím o několika případech, jako je třeba low(#1234) apod.

Ale nechápu, proč to řešíme, když jsem proti závorkám nenapsal ani písmeno. Jen jsem napsal, že v závorkách vypadá (mojeHezkaPromenna) jinak, než v zápisu v JSA.

Já vím, že máš pravidelné období, kdy potřebuješ někomu vynadat a zase zmizet v lese, tak jsem to tento měsíc schytal já...

Napsal: 22 lis 2017, 19:36
od Bernard
ZdenekHQ píše:... třeba low(#1234)

Spíš #low(1234).

Napsal: 22 lis 2017, 19:36
od lesana87
ZdenekHQ píše: jsem proti závorkám nenapsal ani písmeno. Jen jsem napsal

že v asm se nepoužívají vůbec. A to není pravda. Sám jsi teď napsal, že je používáš. A ty trapný kecy si nech pro svojí bejvalou. :)

Napsal: 22 lis 2017, 19:40
od ZdenekHQ
Ani jeden příkaz, co jsi napsala, mně žádný překladač x51 nevezme. To je "céčkovština". V běžném kódu se počet závorek limitně blíží nule, v mém případě jsou tam jen pro naznačení výpočtu, nemusel bych je používat vůbec.

Jakej je instrukční kód u Z80 pro "and A,#~((mask >> 7) + (mask << 1))" ?

To musí zařídit překladač, tedy assembler.

Napsal: 22 lis 2017, 19:43
od ZdenekHQ
Bernard píše:
ZdenekHQ píše:... třeba low(#1234)

Spíš #low(1234).


Vidíš, že to nepoužívám. Napíšu rovnou #34h. Protože ani zápis typu 0x34 to nespolkne...

EDIT - oprava

Napsal: 22 lis 2017, 19:49
od lesana87
To bude tím, že jsem nic pro x51 nepsala, možná by to chtělo líp číst. :)
Instrukční kód pro uvedenou instrukci je E6h, druhý byte záleží na hodnotě mask. A když teda závorky nejsou potřeba, jak bez závorek zapíšeš v JSA Z80 na port nebo z portu něco přečteš, zapíšeš do paměti na adresu určenou HL, BC, DE, IX nebo IY nebo ty 16b registry někam uložíš?

Napsal: 22 lis 2017, 19:59
od ZdenekHQ
Vezmu to trošku zeširoka.

Na Z80 jsem psal pár kódů asi tak před 30 lety a nevím z toho nic. U x51 co řádek, to jeden definovaný registr, takže bych to musel rozepsat step-by-step. Včetně všemožných rotací, masky atd.

A teď to podstatné, co nejspíš označíš jako výmluvu. Celý odpoledne řeším se dvěma právníkama problém GDPR, aby tohle fórum neskončilo 25.5.2018 vypnutím.

Je možný, že ne vždy se pak vyjádřím naprosto přesně, ale já skutečně ten spor ohledně závorek nezačal. Mně prostě nevadí, ale žádná x51 instrukce není definovaná se závorkama. Funkce typu low, high atd. jsou věc překladače. Pochybuju, že u Z80 by to bylo jinak, je to opět jen podpora ze strany překladače.

Napsal: 22 lis 2017, 20:19
od lesana87
No právě, napsal jsi to ze široka zcela obecně, že v asm se závorky vůbec nepoužívají. Na to jsem reagovala a ty ses začal schovávat za assembler pro 51. Samozřejmě, že ve strojáku žádné závorky nejsou, řeč je tu o assembleru - JSA, proto jsem se ptala, jak v JSA u Z80 zapíšeš na port bez závorek, když to Zilog jako na potvoru nadefinoval se závorkama.
Jdu radši pokračovat v dissasemblování BIOSu z jednoho jednodeskáče, a závorkám se rozhodně vyhýbat nebudu.

Napsal: 22 lis 2017, 20:21
od JiriTom
Z80:
jp hl - skok na adresu udanou v reg. páru hl
jp(hl) - skok na adresu, která se vyčte z adresového místa, na který ukazuje reg.pár hl

Ale je to dávno, možná kecám...

Napsal: 22 lis 2017, 20:24
od lesana87
jp (HL) je skok na adresu v HL, jiná varianta s HL u Z80 není. :)

Napsal: 22 lis 2017, 20:27
od JiriTom
A s jinou dvojicí ? např. bc ?

Napsal: 22 lis 2017, 20:33
od ZdenekHQ
Podíval jsem se na Z80 stroják včetně výkladu a tam je opravdu hromada symbolických závorek.

Snad jsme tedy tu debatu rozumně a přátelsky ukončili, a já jdu něco málo naprogramovat. V JSA x51... 8-) :D

Napsal: 22 lis 2017, 20:38
od lesana87
JiriTom píše:A s jinou dvojicí ? např. bc ?

Skákat se dá jen na adresu v HL, IX nebo IY. Skok na adresu uloženou v paměti adresované registrem (I) je použitý jen u přerušení v režimu 2.