Ukladani nastaveni v programu pro MCU

Zdeněk Aster Zdenek.Aster na seznam.cz
Středa Červen 1 17:25:10 CEST 2016


Přiznám, se že PIC vůbec neznám a vždycky jsem měl k němu odpor, přiznávám
že neopodstatněný  :-) Ale tohle je výsledek.




procedure writeeeprom( oblast: PBytearray; size: word; pozice: word );

var

  n: word;

  x: byte;

begin

  for n:=0 to size do begin

    x := Oblast^[n];   // v X je vzdy dato alespon doufam

    

  end;

end;









_writeeeprom:




;MyProject.mpas,18 ::                 begin

;MyProject.mpas,19 ::                 for n:=0 to size do begin

        CLRF       R1+0

        CLRF       R1+1

L__writeeeprom1:

        MOVF       R1+1, 0

        SUBWF      FARG_writeeeprom_size+1, 0

        BTFSS      STATUS+0, 2

        GOTO       L__writeeeprom8

        MOVF       R1+0, 0

        SUBWF      FARG_writeeeprom_size+0, 0

L__writeeeprom8:

        BTFSS      STATUS+0, 0

        GOTO       L__writeeeprom5

;MyProject.mpas,22 ::                 end;

        MOVF       R1+1, 0

        XORWF      FARG_writeeeprom_size+1, 0

        BTFSS      STATUS+0, 2

        GOTO       L__writeeeprom9

        MOVF       FARG_writeeeprom_size+0, 0

        XORWF      R1+0, 0

L__writeeeprom9:

        BTFSC      STATUS+0, 2

        GOTO       L__writeeeprom5

        INCF       R1+0, 1

        BTFSC      STATUS+0, 2

        INCF       R1+1, 1

        GOTO       L__writeeeprom1

L__writeeeprom5:

;MyProject.mpas,23 ::                 end;

L_end_writeeeprom:

        RETURN

; end of _writeeeprom




_main:




;MyProject.mpas,28 ::                 begin

;MyProject.mpas,30 ::                 writeeeprom( PBytearray(@X1), SizeOf(X
1), 0 );

        MOVLW      _X1+0

        MOVWF      FARG_writeeeprom_oblast+0

        MOVLW      11

        MOVWF      FARG_writeeeprom_size+0

        CLRF       FARG_writeeeprom_size+1

        CLRF       FARG_writeeeprom_pozice+0

        CLRF       FARG_writeeeprom_pozice+1

        CALL       _writeeeprom+0

;MyProject.mpas,31 ::                 writeeeprom( PBytearray(@X2), SizeOf(X
2), 0 );

        MOVLW      _X2+0

        MOVWF      FARG_writeeeprom_oblast+0

        MOVLW      33

        MOVWF      FARG_writeeeprom_size+0

        CLRF       FARG_writeeeprom_size+1

        CLRF       FARG_writeeeprom_pozice+0

        CLRF       FARG_writeeeprom_pozice+1

        CALL       _writeeeprom+0

;MyProject.mpas,32 ::                 end.

L_end_main:

        GOTO       $+0

; end of _main







---------- Původní zpráva ----------
Od: Jan Waclawek <konfera na efton.sk>
Komu: HW-news <hw-list na list.hw.cz>
Datum: 1. 6. 2016 17:18:12
Předmět: Re: Ukladani nastaveni v programu pro MCU

">Tak jsem si mikroe stahnul a variantni record nekousne takze smula, 

No ved to som pisal hned na zaciatku, ze podla manualu to nevie (nemal som
chut stahovat/instalovat/pustat ten program).

>ale tohle jo.

No a co z neho vypadlo (asm)? Je to rozumne? Aky je velky vlastne ten
pointer?

wek


_______________________________________________
HW-list mailing list - sponsored by www.HW.cz
Hw-list na list.hw.cz
http://list.hw.cz/mailman/listinfo/hw-list"

------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20160601/8608a0e4/attachment.html>


Další informace o konferenci Hw-list