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 | ||
| ||
> 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) |