assembler 51 a pole
Jan Waclawek
wek@evona.sk
Úterý Únor 20 15:51:14 CET 2007
Interna RAM je u '51 (presnejsie, u '52) = 256 byte, co zahrna aj
registre a stack. Do toho je problem narvat 100x6 byte... :-)
Niektore '51 sice maju aj viac RAM interne na chipe, ale z pohladu
programu sa k tomu pristupuje presne ako k externej RAM (MOVX), pripadne
este aj s nejakymi obmedzeniami (napr. nie je mozne pouzit 8-bitovu
adresaciu MOVX @Rx, alebo sa pouziva inak nez u povodnej '51).
Vseobecny priklad ako ziskat adresu a nasledne data z indexu do pola
uviedol uz tuto kolega Michal HW. Kruhovy buffer sa nicim od pola
nelisi, len tym, ze si pamatate dva indexy - zaciatok a koniec ulozenych
dat - a pri inkremente resp. dekremente sa kontroluju a "zatocia".
Alternativou je, ak sa pamata nie index ale priamo pointer, len vzhladom
na pocet dat musi byt dvojbytovy (ale na druhej strane potom nie je
potrebne nasobit).
wek
pm wrote:
> no idealni by byl nejaky kruhovy buffer a pokud mozno v interni RAM
>
> Michal HW napsal(a):
>
>>Prejdi na C...
>>Nejake ukazky kodu tu mam. Jak se bude zapisovat? Do zaplneni a pak konec?
>>Nebo to bude kruhovy bufer? Bde to v externi pameti? EEPROM?
>>zhruba od pasu (uz jsem dlouhu v asm pro x51 nedelal):
>> mov A, Pozice
>> mov B,#6
>> mul AB
>> add A,#low Zacatek_Pole
>> mov DPL,A
>> mov A,B
>> addc A,#high Zacatek_Pole
>>
>>;Tady DPTR ukazuje na pozadovany zaznam
>>;Ted staci jen:
>> movx A,@DTPR
>>
>>V patek budu mit vice casu, pokud upresnite zadani mohu se podivat do svych
>>zdrojaku
>>
>>Michal Gregor
>>
>>----- Original Message -----
>>From: "pm" <konference@komfi.cz>
>>To: "HW-news" <hw-list@list.hw.cz>
>>Sent: Tuesday, February 20, 2007 2:40 PM
>>Subject: assembler 51 a pole
>>
>>
>>dd,
>>
>> potreboval bych v 51 assembleru udelat pole cisel nenasel by se
>>nejaky kousek kodu kde by se dalo inspirovat ?
>>
>>priklad
>>
>>potrebuju ulozit 100 datumu, tj 100 zaznamu po 6ti cislech (070211) a
>>umet v nich listovat
>>
>>diky PM
>>
>>
>>
>
>
>
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz
> Hw-list@list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
>
Další informace o konferenci Hw-list