000
26.02.2016, 09:54 Uhr
PIC18F2550
|
ich hab mal einen Versuch eines Reassemblers gebaut. z.Z. grast er den Speicher, im 1. Durchlauf, Linear ab. Erspeichert alle Sprünge und Markiert die Adressen nach Code und Daten. Im 2.Durchlauf werden die marken und Code/Daten ausgegeben. Alle Marken die außerhalb des eingegebenen Bereiches sind werden am ende Angehangen. Im 3. Durchlauf wird eine *.asm Datei für den AS erstellt.
Aber erst mal muss ich klären ob alle Befehle richtig erkannt wurden. In den () stehen die benötigten Takte.
Quellcode: | 0000 12 34 INT0 1234H ( 0/--) 0002 12 34 INT1 1234H ( 0/--) 0004 12 34 INT2 1234H ( 0/--) 0006 12 34 INT3 1234H ( 0/--) 0008 12 34 INT4 1234H ( 0/--) 000A 12 34 INT5 1234H ( 0/--) 000C 00 34 DEC R34 ( 6/--) 000E 01 34 DEC IR34 ( 6/--) 0010 02 34 ADD r3, r4 ( 6/--) 0012 03 34 ADD r3, Ir4 ( 6/--) 0014 04 34 56 ADD R34, R56 (10/--) 0017 05 34 56 ADD R56, IR34 (10/--) 001A 06 34 56 ADD R34, IM56 (10/--) 001D 07 34 56 ADD IR34, IM56 (10/--) 0020 08 34 LD r0, R34 ( 6/--) 0022 09 34 LD R34, r0 ( 6/--) 0024 0A 34 DJNZ r0, 005AH (10/12) 0026 0B 34 JR FALSE 005CH (10/12) 0028 0C 34 LD r0, IM34 ( 6/--) 002A 0D 34 56 JP FALSE 3456H (10/12) 002D 0E 34 INC r0 ( 6/--) 002F 0F ERROR ( 0/--) 0030 10 34 RLC R34 ( 0/--) 0032 11 34 RLC IR34 ( 0/--) 0034 12 34 ADC r3, r4 ( 0/--) 0036 13 34 ADC r3, Ir4 ( 0/--) 0038 14 34 56 ADC R34, R56 ( 0/--) 003B 15 34 56 ADC R56, IR34 ( 0/--) 003E 16 34 56 ADC R34, IM56 ( 0/--) 0041 17 34 56 ADC IR34, IM56 ( 0/--) 0044 18 34 LD r1, R34 ( 6/--) 0046 19 34 LD R34, r1 ( 6/--) 0048 1A 34 DJNZ r1, 007EH (10/12) 004A 1B 34 JR LT 0080H (10/12) 004C 1C 34 LD r1, IM34 ( 6/--) 004E 1D 34 56 JP LT 3456H (10/12) 0051 1E 34 INC r1 ( 6/--) 0053 1F ERROR ( 0/--) 0054 20 34 INC R34 ( 0/--) 0056 21 34 INC IR34 ( 0/--) 0058 22 34 SUB r3, r4 ( 0/--) 005A 23 34 SUB r3, Ir4 ( 0/--) 005C 24 34 56 SUB R34, R56 ( 0/--) 005F 25 34 56 SUB R56, IR34 ( 0/--) 0062 26 34 56 SUB R34, IM56 ( 0/--) 0065 27 34 56 SUB IR34, IM56 ( 0/--) 0068 28 34 LD r2, R34 ( 6/--) 006A 29 34 LD R34, r2 ( 6/--) 006C 2A 34 DJNZ r2, 00A2H (10/12) 006E 2B 34 JR LE 00A4H (10/12) 0070 2C 34 LD r2, IM34 ( 6/--) 0072 2D 34 56 JP LE 3456H (10/12) 0075 2E 34 INC r2 ( 6/--) 0077 2F ERROR ( 0/--) 0078 30 34 JP IRR34 ( 0/--) 007A 31 34 SRP IM34 ( 0/--) 007C 32 34 SBC r3, r4 ( 0/--) 007E 33 34 SBC r3, Ir4 ( 0/--) 0080 34 34 56 SBC R34, R56 ( 0/--) 0083 35 34 56 SBC R56, IR34 ( 0/--) 0086 36 34 56 SBC R34, IM56 ( 0/--) 0089 37 34 56 SBC IR34, IM56 ( 0/--) 008C 38 34 LD r3, R34 ( 6/--) 008E 39 34 LD R34, r3 ( 6/--) 0090 3A 34 DJNZ r3, 00C6H (10/12) 0092 3B 34 JR ULE 00C8H (10/12) 0094 3C 34 LD r3, IM34 ( 6/--) 0096 3D 34 56 JP ULE 3456H (10/12) 0099 3E 34 INC r3 ( 6/--) 009B 3F ERROR ( 0/--) 009C 40 34 DA R34 ( 0/--) 009E 41 34 DA IR34 ( 0/--) 00A0 42 34 OR r3, r4 ( 0/--) 00A2 43 34 OR r3, Ir4 ( 0/--) 00A4 44 34 56 OR R34, R56 ( 0/--) 00A7 45 34 56 OR R56, IR34 ( 0/--) 00AA 46 34 56 OR R34, IM56 ( 0/--) 00AD 47 34 56 OR IR34, IM56 ( 0/--) 00B0 48 34 LD r4, R34 ( 6/--) 00B2 49 34 LD R34, r4 ( 6/--) 00B4 4A 34 DJNZ r4, 00EAH (10/12) 00B6 4B 34 JR OV 00ECH (10/12) 00B8 4C 34 LD r4, IM34 ( 6/--) 00BA 4D 34 56 JP OV 3456H (10/12) 00BD 4E 34 INC r4 ( 6/--) 00BF 4F ERROR ( 0/--) 00C0 50 34 POP R34 ( 0/--) 00C2 51 34 POP IR34 ( 0/--) 00C4 52 34 AND r3, r4 ( 0/--) 00C6 53 34 AND r3, Ir4 ( 0/--) 00C8 54 34 56 AND R34, R56 ( 0/--) 00CB 55 34 56 AND R56, IR34 ( 0/--) 00CE 56 34 56 AND R34, IM56 ( 0/--) 00D1 57 34 56 AND IR34, IM56 ( 0/--) 00D4 58 34 LD r5, R34 ( 6/--) 00D6 59 34 LD R34, r5 ( 6/--) 00D8 5A 34 DJNZ r5, 010EH (10/12) 00DA 5B 34 JR MI 0110H (10/12) 00DC 5C 34 LD r5, IM34 ( 6/--) 00DE 5D 34 56 JP MI 3456H (10/12) 00E1 5E 34 INC r5 ( 6/--) 00E3 5F ERROR ( 0/--) 00E4 60 34 COM R34 ( 0/--) 00E6 61 34 COM IR34 ( 0/--) 00E8 62 34 TCM r3, r4 ( 0/--) 00EA 63 34 TCM r3, Ir4 ( 0/--) 00EC 64 34 56 TCM R34, R56 ( 0/--) 00EF 65 34 56 TCM R56, IR34 ( 0/--) 00F2 66 34 56 TCM R34, IM56 ( 0/--) 00F5 67 34 56 TCM IR34, IM56 ( 0/--) 00F8 68 34 LD r6, R34 ( 6/--) 00FA 69 34 LD R34, r6 ( 6/--) 00FC 6A 34 DJNZ r6, 0132H (10/12) 00FE 6B 34 JR Z/EQ 0134H (10/12) 0100 6C 34 LD r6, IM34 ( 6/--) 0102 6D 34 56 JP Z/EQ 3456H (10/12) 0105 6E 34 INC r6 ( 6/--) 0107 6F ERROR ( 0/--) 0108 70 34 PUSH R34 ( 0/--) 010A 71 34 PUSH IR34 ( 0/--) 010C 72 34 TM r3, r4 ( 0/--) 010E 73 34 TM r3, Ir4 ( 0/--) 0110 74 34 56 TM R34, R56 ( 0/--) 0113 75 34 56 TM R56, IR34 ( 0/--) 0116 76 34 56 TM R34, IM56 ( 0/--) 0119 77 34 56 TM IR34, IM56 ( 0/--) 011C 78 34 LD r7, R34 ( 6/--) 011E 79 34 LD R34, r7 ( 6/--) 0120 7A 34 DJNZ r7, 0156H (10/12) 0122 7B 34 JR C/ULT 0158H (10/12) 0124 7C 34 LD r7, IM34 ( 6/--) 0126 7D 34 56 JP C/ULT 3456H (10/12) 0129 7E 34 INC r7 ( 6/--) 012B 7F ERROR ( 0/--) 012C 80 34 DECW RR34 ( 0/--) 012E 81 34 DECW IR34 ( 0/--) 0130 82 34 LDE r3, Irr4 ( 0/--) 0132 83 34 LDEI Ir3, Irr4 ( 0/--) 0134 84 ERROR ( 0/--) 0135 85 ERROR ( 0/--) 0136 86 ERROR ( 0/--) 0137 87 ERROR ( 0/--) 0138 88 34 LD r8, R34 ( 6/--) 013A 89 34 LD R34, r8 ( 6/--) 013C 8A 34 DJNZ r8, 0172H (10/12) 013E 8B 34 JR TRUE 0174H (10/12) 0140 8C 34 LD r8, IM34 ( 6/--) 0142 8D 34 56 JP TRUE 3456H (10/12) 0145 8E 34 INC r8 ( 6/--) 0147 8F DI ( 0/--) 0148 90 34 RL R34 ( 0/--) 014A 91 34 RL IR34 ( 0/--) 014C 92 34 LDE Irr3, r4 ( 0/--) 014E 93 34 LDEI Irr3, Ir4 ( 0/--) 0150 94 ERROR ( 0/--) 0151 95 ERROR ( 0/--) 0152 96 ERROR ( 0/--) 0153 97 ERROR ( 0/--) 0154 98 34 LD r9, R34 ( 6/--) 0156 99 34 LD R34, r9 ( 6/--) 0158 9A 34 DJNZ r9, 018EH (10/12) 015A 9B 34 JR GE 0190H (10/12) 015C 9C 34 LD r9, IM34 ( 6/--) 015E 9D 34 56 JP GE 3456H (10/12) 0161 9E 34 INC r9 ( 6/--) 0163 9F EI ( 0/--) 0164 A0 34 INCW RR34 ( 0/--) 0166 A1 34 INCW IR34 ( 0/--) 0168 A2 34 CP r3, r4 ( 0/--) 016A A3 34 CP r3, Ir4 ( 0/--) 016C A4 34 56 CP R34, R56 ( 0/--) 016F A5 34 56 CP R56, IR34 ( 0/--) 0172 A6 34 56 CP R34, IM56 ( 0/--) 0175 A7 34 56 CP IR34, IM56 ( 0/--) 0178 A8 34 LD rA, R34 ( 6/--) 017A A9 34 LD R34, rA ( 6/--) 017C AA 34 DJNZ rA, 01B2H (10/12) 017E AB 34 JR GT 01B4H (10/12) 0180 AC 34 LD rA, IM34 ( 6/--) 0182 AD 34 56 JP GT 3456H (10/12) 0185 AE 34 INC rA ( 6/--) 0187 AF RET ( 0/--) 0188 B0 34 CLR R34 ( 0/--) 018A B1 34 CLR IR34 ( 0/--) 018C B2 34 XOR r3, r4 ( 0/--) 018E B3 34 XOR r3, Ir4 ( 0/--) 0190 B4 34 56 XOR R34, R56 ( 0/--) 0193 B5 34 56 XOR R56, IR34 ( 0/--) 0196 B6 34 56 XOR R34, IM56 ( 0/--) 0199 B7 34 56 XOR IR34, IM56 ( 0/--) 019C B8 34 LD rB, R34 ( 6/--) 019E B9 34 LD R34, rB ( 6/--) 01A0 BA 34 DJNZ rB, 01D6H (10/12) 01A2 BB 34 JR UGT 01D8H (10/12) 01A4 BC 34 LD rB, IM34 ( 6/--) 01A6 BD 34 56 JP UGT 3456H (10/12) 01A9 BE 34 INC rB ( 6/--) 01AB BF IRET ( 0/--) 01AC C0 34 RRC R34 ( 0/--) 01AE C1 34 RRC IR34 ( 0/--) 01B0 C2 34 LDC r3, Irr4 ( 0/--) 01B2 C3 34 LDCI Ir3, Irr4 ( 0/--) 01B4 C4 ERROR ( 0/--) 01B5 C5 ERROR ( 0/--) 01B6 C6 ERROR ( 0/--) 01B7 C7 34 56 LD r3, R56+r4 ( 0/--) 01BA C8 34 LD rC, R34 ( 6/--) 01BC C9 34 LD R34, rC ( 6/--) 01BE CA 34 DJNZ rC, 01F4H (10/12) 01C0 CB 34 JR NOV 01F6H (10/12) 01C2 CC 34 LD rC, IM34 ( 6/--) 01C4 CD 34 56 JP NOV 3456H (10/12) 01C7 CE 34 INC rC ( 6/--) 01C9 CF RCF ( 0/--) 01CA D0 34 SRA R34 ( 0/--) 01CC D1 34 SRA IR34 ( 0/--) 01CE D2 34 LDC Irr3, r4 ( 0/--) 01D0 D3 34 LDCI Irr3, Ir4 ( 0/--) 01D2 D4 34 CALL IRR34 ( 0/--) 01D4 D5 ERROR ( 0/--) 01D5 D6 34 56 CALL 3456H ( 0/--) 01D8 D7 34 56 LD R56+r4, r3 ( 0/--) 01DB D8 34 LD rD, R34 ( 6/--) 01DD D9 34 LD R34, rD ( 6/--) 01DF DA 34 DJNZ rD, 0215H (10/12) 01E1 DB 34 JR PL 0217H (10/12) 01E3 DC 34 LD rD, IM34 ( 6/--) 01E5 DD 34 56 JP PL 3456H (10/12) 01E8 DE 34 INC rD ( 6/--) 01EA DF SCF ( 0/--) 01EB E0 34 RR R34 ( 0/--) 01ED E1 34 RR IR34 ( 0/--) 01EF E2 ERROR ( 0/--) 01F0 E3 34 LD r3, Ir4 ( 0/--) 01F2 E4 34 56 LD R34, R56 ( 0/--) 01F5 E5 34 56 LD R56, IR34 ( 0/--) 01F8 E6 34 56 LD R34, IM56 ( 0/--) 01FB E7 34 56 LD IR34, IM56 ( 0/--) 01FE E8 34 LD rE, R34 ( 6/--) 0200 E9 34 LD R34, rE ( 6/--) 0202 EA 34 DJNZ rE, 0238H (10/12) 0204 EB 34 JR NZ/NE 023AH (10/12) 0206 EC 34 LD rE, IM34 ( 6/--) 0208 ED 34 56 JP NZ/NE 3456H (10/12) 020B EE 34 INC rE ( 6/--) 020D EF CCF ( 0/--) 020E F0 34 SWAP R34 ( 0/--) 0210 F1 34 SWAP IR34 ( 0/--) 0212 F2 ERROR ( 0/--) 0213 F3 34 LD Ir4, r3 ( 0/--) 0215 F4 ERROR ( 0/--) 0216 F5 34 56 LD IR56, R34 ( 0/--) 0219 F6 ERROR ( 0/--) 021A F7 ERROR ( 0/--) 021B F8 34 LD rF, R34 ( 6/--) 021D F9 34 LD R34, rF ( 6/--) 021F FA 34 DJNZ rF, 0255H (10/12) 0221 FB 34 JR NC/UGE 0257H (10/12) 0223 FC 34 LD rF, IM34 ( 6/--) 0225 FD 34 56 JP NC/UGE 3456H (10/12) 0228 FE 34 INC rF ( 6/--) 022A FF NOP ( 0/--)
|
-- 42 ist die Antwort auf die "Frage nach dem Leben, dem Universum und dem ganzen Rest" Aktuelle Projektdokumentationen Dieser Beitrag wurde am 26.02.2016 um 09:54 Uhr von PIC18F2550 editiert. |