keil a konstanty
Lukas Burda
burdal1@feld.cvut.cz
Čtvrtek Duben 28 23:35:54 CEST 2005
huh. Vyreseno - problem je v tom ze pan chce programovat v cecku a neumi
to. Psal jsem kulate misto slozenych zavorek...
Lukas Burda
Thursday, April 28, 2005, 4:24:46 PM, you wrote:
>> hm... do ty pameti to asi vleze. Problem se zacina menit na to ze
>> vyrazem promenna[0] dostanu prni polozku z pole ale promenna[1] uz
>> dostanu 0xffff
> Ja se opravdu omlouvam ze se zase budu opakovat,
> ale opravdu si nedokazu vycucat z prstu co delate a co nedelate
> z toho vagniho zdeleni navrchu :-(((
> V kazdem pripade tohle:
> unsigned char code promenna[] = {0,1,2,3,4,5,6,7,8,9};
> void main (void) {
> while (1) {
> P1 ^= 0x01; /* Toggle P1.0 each time we print */
> P2 = promenna[1];
> P0 = promenna[2];
> }
> }
> se prelozi takhle:
> RSEG ?CO?HELLO
> promenna:
> DB 000H
> DB 001H
> DB 002H
> DB 003H
> DB 004H
> DB 005H
> DB 006H
> DB 007H
> DB 008H
> DB 009H
> ; void main (void) {
> RSEG ?PR?main?HELLO
> main:
> ; SOURCE LINE # 27
> ?C0001:
> ; while (1) {
> ; SOURCE LINE # 28
> ; P1 ^= 0x01; /* Toggle P1.0 each time we print */
> ; SOURCE LINE # 29
> XRL P1,#01H
> ;
> ; P2 = promenna[1];
> ; SOURCE LINE # 31
> MOV DPTR,#promenna+01H
> CLR A
> MOVC A,@A+DPTR
> MOV P2,A
> ; P0 = promenna[2];
> ; SOURCE LINE # 32
> INC DPTR
> CLR A
> MOVC A,@A+DPTR
> MOV P0,A
> ;
> ; }
> ; SOURCE LINE # 34
> SJMP ?C0001
> ; END OF main
> END
> A opravdu nemam pocit, ze poprve by se to chovalo jinak,
> nez jak chci v Ccku
> S pozdravem
> _______________________________________________
> 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