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