Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: Flashspeicher löschen Kategorie: Progr. Assembler, TaskingTools, OS (von Gordon Klimm - 22.09.2004 13:13)
Als Antwort auf Re: Flashspeicher löschen von André H. - 21.09.2004 19:27
Ich nutze:
C-Control II Unit, C164CI-ControllerBoard, CC2-Application-Board, eigenes Board, OSOPT_V2, OSOPT V3.0
> Hallo Thomas,
>
> Ich hab' einmal schnell etwas disassembliert:

boot.hex disassembliert

Hallo andre et al.

so sieht das besser aus und lässt sich ohne Probleme mit
AS compilieren:


; ===================================================
; boot.hex
; ===================================================
 CPU 80C167CS
 include compilesettings.inc
 include include/reg164.inc
 include macros.inc
 include cc2.inc

 ORG 0F600H
        MOV     R0,#+
-:      JNB     S0RIR,-
        MOVB    [R0],S0RBUF
        BCLR    S0RIR
        CMPI1   R0,#ENDE
        JMPR    NZ,-
        DISWDT
        MOV     STKOV,#0FA00H
        JMPA    UC,+

+:
        MOV     STKUN,#0FC00H
        MOV     SP,#0FC00H
        MOV     CP,#0FC00H
        BFLDL   BUSCON0,#37H,#15H
        BFLDH   BUSCON0,#12H,#00H
        BFLDL   SYSCON,#04H,#04H
        BFLDH   SYSCON,#0FFH,#00H
        JMPS    +

+:      MOV     DPP0,#0
        MOV     DPP1,#1
        MOV     DPP2,#2
        MOV     DPP3,#3
        EINIT

        MOV     R2,#0x0000
        CALLS   L0F702
        MOV     R2,#0x4000
        CALLS   L0F702
        MOV     R2,#0x6000
        CALLS   L0F702
        MOV     R2,#0x8000
        CALLS   L0F702
L0F672:
        MOV     R1,#0
-:      JNB     S0RIR,-
        MOVB    RH2,S0RBUF
        BCLR    S0RIR
-:      JNB     S0RIR,-
        MOVB    RL2,S0RBUF
        BCLR    S0RIR
        CMP     R2,#-1
        JMPR    Z,++
-:      JNB     S0RIR,-
        MOV     R5,S0RBUF
        BCLR    S0RIR
-:      JNB     S0RIR,-
        MOVB    RL0,S0RBUF
        BCLR    S0RIR
        MOVB    [R1+#0F900H],RL0
        ADD     R1,#1
        CMP     R1,#0x20
        JMPR    NZ,-
        MOVB    RL0,RH2
        CALLS   L0F7AA
        MOVB    RL0,RL2
        CALLS   L0F7AA
        MOVB    RL0,RL5
        CALLS   L0F7AA
        MOV     R1,#0
-:      MOV     R0,[R1+#0F900H]
        CMP     R1,R5
        JMPR    NC,+
        CALLS   L0F73E
        CMP     R4,#-1
        JMPR    NZ,+
        NEGB    RL0
        CALLS   L0F7AA
-:      JMPR    UC,-
+:      CALLS   L0F7AA
        MOVB    RL0,RH0
        CALLS   L0F7AA
        ADD     R2,#2
        ADD     R1,#2
        CMP     R1,#0x20
        JMPR    NZ,--
        JMPR    NC,L0F672
+:      MOVB    RL0,#0xFF
        CALLS   L0F7AA
        CALLS   L0F7AA
        SRST

L0F702:
        MEMMOV  0xAAAA,#0xAAAA,R3
        MEMMOV  0x5554,#0x5555,R3
        MEMMOV  0xAAAA,#0x8080,R3
        MEMMOV  0xAAAA,#0xAAAA,R3
        MEMMOV  0x5554,#0x5555,R3
        MEMMOV  [R2],  #0x3030,R3
-:      MOV     R3,[R2]
        AND     R3,#0x0080
        CMP     R3,#0x0080
        JMPR    NZ,-
        JMPR    UC,0F78EH

L0F73E:
        MEMMOV  0xAAAA,#0xAAAA,R3
        MEMMOV  0x5554,#0x5555,R3
        MEMMOV  0xAAAA,#0xA0A0,R3

        MOV     [R2],R0
-:      MOV     R3,[R2]
        MOVB    RH3,RL0
        ANDB    RL3,#0x80
        ANDB    RH3,#0x80
        CMPB    RL3,RH3
        JMPR    Z,+
        MOV     R3,[R2]
        ANDB    RL3,#0x20
        CMPB    RL3,#0x20
        JMPR    NZ,-
        MOV     R3,[R2]
        MOVB    RH3,RL0
        ANDB    RL3,#0x80
        ANDB    RH3,#0x80
        CMPB    RL3,RH3
        JMPR    Z,+
        MOV     R4,#-1
        JMPR    UC,0F78EH
+:      MOV     R4,#0
        JMPR    UC,0F78EH

L0F78E:
        MEMMOV  0xAAAA,#0xAAAA,R3
        MEMMOV  0x5554,#0x5555,R3
        MEMMOV  0xAAAA,#0xF0F0,R3

        MOV     R3,[R2]
        RETS

L0F7AA: JNB     S0TIR,0F7AAH
        BCLR    S0TIR
        MOVB    S0TBUF,RL0
-:      JNB     S0TIR,-
        RETS

        NOP
        NOP
        NOP
ENDE:   label $-1


>
> Allerdings habe ich irgendwo einen Wurm reingebracht,
> da es in diesem Code ein paar Unstimmigkeiten gibt.
> Ich muÃ? mal sehen wo ich den Fehler gemacht habe. ;-)

Mein Code funktioniert (100% binärkompatibel :-)

Tools:
ADIS16X :Disassembler
PSPad   :Editor
MiniMon :Converter / MiniMon...
AS      :Assembler / Linker
WinMerge:diff-Programm

MfG
 Gordon.


    Antwort schreiben


Antworten:

Re: Flashspeicher löschen (von Thomas - 23.09.2004 16:32)
    Re: Flashspeicher löschen (von André H. - 23.09.2004 19:02)
        Re: Flashspeicher löschen (von Thomas - 25.09.2004 15:25)
            Re: Flashspeicher löschen (von André H. - 26.09.2004 9:29)