Doppelblitz Tiny15L

Im Unterforum Microcontroller - Beschreibung: Hardware - Software - Ideen - Projekte

Elektronik Forum Nicht eingeloggt       Einloggen       Registrieren




[Registrieren]      --     [FAQ]      --     [ Einen Link auf Ihrer Homepage zum Forum]      --     [ Themen kostenlos per RSS in ihre Homepage einbauen]      --     [Einloggen]

Suchen


Serverzeit: 01 10 2025  05:26:56      TV   VCR Aufnahme   TFT   CRT-Monitor   Netzteile   LED-FAQ   Oszilloskop-Schirmbilder            


Elektronik- und Elektroforum Forum Index   >>   Microcontroller        Microcontroller : Hardware - Software - Ideen - Projekte

Gehe zu Seite ( 1 | 2 Nächste Seite )      


Autor
Doppelblitz Tiny15L

    







BID = 346837

rudolf30

Neu hier



Beiträge: 30
Wohnort: Österreich
 

  



Hallo leute !!!

Habe mir von einer seite eine free soft runtergeladen.

Habe es in den Tiny 15L rein ist auch ohne probleme gegangen !
Aber er geht nicht !
Habe ich irgend etwas vergeßen zu machen!!
Bild ist dabei und die hex und der link von der seite!
Rudi


Datei ( hex ) Hochgeladene" target="_blank">Link Datei : DoppelblitzTiny.hex
Größe in Bytes 1941
Downloads 9     zuletzt am 08.07.06 13:01
Hier verwendete Produktbezeichnungen, Logos, Abbildungen und auf den Server geladene Dateien
sind oder können Eigentum des jeweiligen Herstellers oder Besitzers sein und dienen lediglich zur Identifikation!





BID = 346880

photonic

Schreibmaschine



Beiträge: 1301
Wohnort: Zürich, Schweiz

 

  



Zitat :
Habe ich irgend etwas vergeßen zu machen!!




Der Schaltplan den du aufgebaut hat wäre nicht schlecht, meine Kristallkugel ist heute wiedermal ziemlich trübe...

BID = 346899

DonComi

Inventar



Beiträge: 8604
Wohnort: Amerika


So, habe wenigZeit hier im Praktikum, aber schau mal im Code nach, ob es Zugriffe ins RAM gibt (z.b. push, pop, rcall, ...). Der ATtiny hat nämlich kein RAM.

Auf welchem Controller lief es denn normalerweise bzw. sind deine Pinbelegungen exakt oder hast du sie im Programm verändert?

_________________

BID = 346943

DonComi

Inventar



Beiträge: 8604
Wohnort: Amerika


Soo, habe jetzt erst mitbekommen, dass du keinen Quellcode hochgeladen hast! Das wäre von Vorteil.

_________________

BID = 347271

DonComi

Inventar



Beiträge: 8604
Wohnort: Amerika


Hallo,


Aus dem Hexfile kann ich keinen Quellcode zurückführen. (Also, das geht schon, aber ich habe keine Lust.)

Hast du keine Referenz auf den Quellcode? Dort werden ja die Portadressen fix verwendet. Dazu ist es aber wichtig, auf welchem controller das Beispiel (das du nachbauen willst) läuft. Ist es ebenfalls ein ATtiny15L mit gleicher Pinbelegung, dann ist der Fehler vllt. hardwarebedingt.

ZB: Wird Der Reset-Pin benutzt (weil er auch als Portb herausgeführt ist...). Dazu muss ein Fusebit verändert werden. Ist dies einmal gesetzt/gelöscht, dann kannst du den Chip nicht mehr per ISP programmieren...

Wie sieht die Beschaltung am Resetpin aus? Wenn er permanent auf 0 liegt, dann kann der Controller nichts machen -> Reset...

Fragen über Fragen.

Edit: Habs mal disassembliert... Ich habe keine Lust, den Code zurückzuführen. Kannst du ja machen, nimmst einfach das Datenblatt und ersetzt die Konstanten Werte für z.b. Portadressen durch vielsagende Begriffe...

_________________

BID = 347356

clembra

Inventar



Beiträge: 5402
Wohnort: Weeze / Niederrhein
ICQ Status  


Wenn ich das Programm richtig sehe, ist der erste Befehl ein RJMP, der Befehl der an dessen Ziel steht ein RCALL, d.h. das Programm ist praktisch schrott, und auf einem AVR ohne RAM vollkommen unbrauchbar.

_________________
Reboot oder be root, das ist hier die Frage.

BID = 347358

DonComi

Inventar



Beiträge: 8604
Wohnort: Amerika


Joa, wie ich oben sagte, hier gibt es RAM-Zugriffe, die nicht funktionieren können.


Zitat :

0000002D: D103 RCALL PC+0x0104 Relative call subroutine
+0000002E: D0D5 RCALL PC+0x00D6 Relative call subroutine
+0000002F: D0E3 RCALL PC+0x00E4 Relative call subroutine
+00000030: D0F1 RCALL PC+0x00F2 Relative call subroutine
+00000031: D0AA RCALL PC+0x00AB Relative call subroutine
+00000032: D10D RCALL PC+0x010E Relative call subroutine




...und noch viel mehr.

_________________

BID = 347390

clembra

Inventar



Beiträge: 5402
Wohnort: Weeze / Niederrhein
ICQ Status  


auch bei einem Controller mit RAM, wenn ein RCALL vor dem setzten des Stackpointers, vorzugsweise auf RAMEND, aufgerufen wird, ist das Programm für mich Müll.
Ob da noch ein RCALL hinterher kommt oder tausende spielt keine Rolle

_________________
Reboot oder be root, das ist hier die Frage.

BID = 347420

DonComi

Inventar



Beiträge: 8604
Wohnort: Amerika


Ja, hast schon Recht, dass wenn der Stack nicht mit SPL/SPH initialisiert wird, Murks rauskommet.

Aber weißt du, ohne ordentlichen Quellcode habe ich keine Lust. Und der Fehler ist auch gefunden...


Lebt der Fragesteller eigentlich noch?

_________________

BID = 347556

Goetz

Schreibmaschine

Beiträge: 1961
Wohnort: Dresden
Zur Homepage von Goetz


http://home.arcor.de/modellbaugt/RC-Modellbau.html

von dieser Seite hat rudolf30 vermutlich Schaltplan und Code ...

BID = 347568

Dombrowski

Stammposter



Beiträge: 450


Moin.

Der ATtiny15L hat wie auch andere vergleichbare Tinys einen Hardware Stack. RCALLs und überhaupt auch Interrupts sind sehr wohl möglich! Es gibt keinen Stackpointer, der initialisiert werden müsste. Man muss allerdings als Programmierer bei verschachtelten Aufrufen aufpassen, da der Stack nur drei Ebenen tief ist; rekursive Techniken sind verboten. PUSH/PULLs gibts auch nicht.

D.

BID = 347633

clembra

Inventar



Beiträge: 5402
Wohnort: Weeze / Niederrhein
ICQ Status  


*insdatenblattguck*
boa cool, 3x9 Bit "SRAM"
Aber wenn der Code wirklich von dieser Seite ist sind einige Anschlüsse falsch, z.B. der Impulseingang ist auf einem Pin auf der anderen Seite.

_________________
Reboot oder be root, das ist hier die Frage.

BID = 349045

rudolf30

Neu hier



Beiträge: 30
Wohnort: Österreich


Das ist der genaue Text


+00000000: C00E RJMP PC+0x000F Relative jump
+00000001: C000 RJMP PC+0x0001 Relative jump
+00000002: B69F IN R9,0x3F In from I/O location
+00000003: 6260 ORI R22,0x20 Logical OR with immediate
+00000004: 27BB CLR R27 Clear Register
+00000005: 24DD CLR R13 Clear Register
+00000006: 24CC CLR R12 Clear Register
+00000007: 27AA CLR R26 Clear Register
+00000008: 0ECF ADD R12,R31 Add without carry
+00000009: 1DAE ADC R26,R14 Add with carry
+0000000A: 99B2 SBIC 0x16,2 Skip if bit in I/O register cleared
+0000000B: CFFC RJMP PC-0x0003 Relative jump
+0000000C: 6C40 ORI R20,0xC0 Logical OR with immediate
+0000000D: BE9F OUT 0x3F,R9 Out to I/O location
+0000000E: 9518 RETI Interrupt return
+0000000F: D059 RCALL PC+0x005A Relative call subroutine
+00000010: D07B RCALL PC+0x007C Relative call subroutine
+00000011: D084 RCALL PC+0x0085 Relative call subroutine
+00000012: 95A8 WDR Watchdog reset
+00000013: FD65 SBRC R22,5 Skip if bit in register cleared
+00000014: C001 RJMP PC+0x0002 Relative jump
+00000015: C008 RJMP PC+0x0009 Relative jump
+00000016: FF47 SBRS R20,7 Skip if bit in register set
+00000017: C005 RJMP PC+0x0006 Relative jump
+00000018: D020 RCALL PC+0x0021 Relative call subroutine
+00000019: D038 RCALL PC+0x0039 Relative call subroutine
+0000001A: 7B4F ANDI R20,0xBF Logical AND with immediate
+0000001B: 774F ANDI R20,0x7F Logical AND with immediate
+0000001C: C000 RJMP PC+0x0001 Relative jump
+0000001D: C005 RJMP PC+0x0006 Relative jump
+0000001E: 7B6F ANDI R22,0xBF Logical AND with immediate
+0000001F: 99B2 SBIC 0x16,2 Skip if bit in I/O register cleared
+00000020: 6460 ORI R22,0x40 Logical OR with immediate
+00000021: 6860 ORI R22,0x80 Logical OR with immediate
+00000022: C000 RJMP PC+0x0001 Relative jump
+00000023: B7D8 IN R29,0x38 In from I/O location
+00000024: FFD1 SBRS R29,1 Skip if bit in register set
+00000025: CFEC RJMP PC-0x0013 Relative jump
+00000026: BFD8 OUT 0x38,R29 Out to I/O location
+00000027: E9D6 LDI R29,0x96 Load immediate
+00000028: BFD2 OUT 0x32,R29 Out to I/O location
+00000029: FD66 SBRC R22,6 Skip if bit in register cleared
+0000002A: C002 RJMP PC+0x0003 Relative jump
+0000002B: D09B RCALL PC+0x009C Relative call subroutine
+0000002C: CFE5 RJMP PC-0x001A Relative jump
+0000002D: D103 RCALL PC+0x0104 Relative call subroutine
+0000002E: D0D5 RCALL PC+0x00D6 Relative call subroutine
+0000002F: D0E3 RCALL PC+0x00E4 Relative call subroutine
+00000030: D0F1 RCALL PC+0x00F2 Relative call subroutine
+00000031: D0AA RCALL PC+0x00AB Relative call subroutine
+00000032: D10D RCALL PC+0x010E Relative call subroutine
+00000033: CFDE RJMP PC-0x0021 Relative jump
+00000034: FD65 SBRC R22,5 Skip if bit in register cleared
+00000035: 9508 RET Subroutine return
+00000036: FF46 SBRS R20,6 Skip if bit in register set
+00000037: 9508 RET Subroutine return
+00000038: CFFF RJMP PC-0x0000 Relative jump
+00000039: 2D11 MOV R17,R1 Copy register
+0000003A: 2CF0 MOV R15,R0 Copy register
+0000003B: 5812 SUBI R17,0x82 Subtract immediate
+0000003C: 08FE SBC R15,R14 Subtract with carry
+0000003D: 2DDC MOV R29,R12 Copy register
+0000003E: 2FCA MOV R28,R26 Copy register
+0000003F: 1BD1 SUB R29,R17 Subtract without carry
+00000040: 09CF SBC R28,R15 Subtract with carry
+00000041: F068 BRCS PC+0x0E Branch if carry set
+00000042: 2D11 MOV R17,R1 Copy register
+00000043: 2CF0 MOV R15,R0 Copy register
+00000044: E8D2 LDI R29,0x82 Load immediate
+00000045: 0F1D ADD R17,R29 Add without carry
+00000046: 1CFE ADC R15,R14 Add with carry
+00000047: 2DDC MOV R29,R12 Copy register
+00000048: 2FCA MOV R28,R26 Copy register
+00000049: 1BD1 SUB R29,R17 Subtract without carry
+0000004A: 09CF SBC R28,R15 Subtract with carry
+0000004B: F418 BRCC PC+0x04 Branch if carry cleared
+0000004C: 2EBA MOV R11,R26 Copy register
+0000004D: 2CAC MOV R10,R12 Copy register
+0000004E: 9508 RET Subroutine return
+0000004F: 2CCA MOV R12,R10 Copy register
+00000050: 2DAB MOV R26,R11 Copy register
+00000051: 9508 RET Subroutine return
+00000052: 2DC5 MOV R28,R5 Copy register
+00000053: 2DD4 MOV R29,R4 Copy register
+00000054: 19DC SUB R29,R12 Subtract without carry
+00000055: 0BCA SBC R28,R26 Subtract with carry
+00000056: F438 BRCC PC+0x08 Branch if carry cleared
+00000057: 2DC7 MOV R28,R7 Copy register
+00000058: 2DD6 MOV R29,R6 Copy register
+00000059: 19DC SUB R29,R12 Subtract without carry
+0000005A: 0BCA SBC R28,R26 Subtract with carry
+0000005B: F020 BRCS PC+0x05 Branch if carry set
+0000005C: 736F ANDI R22,0x3F Logical AND with immediate
+0000005D: 9508 RET Subroutine return
+0000005E: 6C60 ORI R22,0xC0 Logical OR with immediate
+0000005F: 9508 RET Subroutine return
+00000060: 6460 ORI R22,0x40 Logical OR with immediate
+00000061: 776F ANDI R22,0x7F Logical AND with immediate
+00000062: 9508 RET Subroutine return
+00000063: 0EDF ADD R13,R31 Add without carry
+00000064: 1DBE ADC R27,R14 Add with carry
+00000065: 34B0 CPI R27,0x40 Compare with immediate
+00000066: F008 BRCS PC+0x02 Branch if carry set
+00000067: 7D6F ANDI R22,0xDF Logical AND with immediate
+00000068: 9508 RET Subroutine return
+00000069: D05D RCALL PC+0x005E Relative call subroutine
+0000006A: 95A8 WDR Watchdog reset
+0000006B: E0DE LDI R29,0x0E Load immediate
+0000006C: BDD1 OUT 0x21,R29 Out to I/O location
+0000006D: EFDB LDI R29,0xFB Load immediate
+0000006E: BBD7 OUT 0x17,R29 Out to I/O location
+0000006F: EFDD LDI R29,0xFD Load immediate
+00000070: BBD8 OUT 0x18,R29 Out to I/O location
+00000071: E0D0 LDI R29,0x00 Load immediate
+00000072: BFD5 OUT 0x35,R29 Out to I/O location
+00000073: 24EE CLR R14 Clear Register
+00000074: 2766 CLR R22 Clear Register
+00000075: 2744 CLR R20 Clear Register
+00000076: E080 LDI R24,0x00 Load immediate
+00000077: BD8E OUT 0x2E,R24 Out to I/O location
+00000078: E6D6 LDI R29,0x66 Load immediate
+00000079: BFD0 OUT 0x30,R29 Out to I/O location
+0000007A: E7D8 LDI R29,0x78 Load immediate
+0000007B: BDDD OUT 0x2D,R29 Out to I/O location
+0000007C: E0D3 LDI R29,0x03 Load immediate
+0000007D: BFD3 OUT 0x33,R29 Out to I/O location
+0000007E: 27CC CLR R28 Clear Register
+0000007F: E060 LDI R22,0x00 Load immediate
+00000080: E040 LDI R20,0x00 Load immediate
+00000081: 24EE CLR R14 Clear Register
+00000082: 27FF CLR R31 Clear Register
+00000083: 95F3 INC R31 Increment
+00000084: D042 RCALL PC+0x0043 Relative call subroutine
+00000085: E0D3 LDI R29,0x03 Load immediate
+00000086: BFD5 OUT 0x35,R29 Out to I/O location
+00000087: E4D0 LDI R29,0x40 Load immediate
+00000088: BFDB OUT 0x3B,R29 Out to I/O location
+00000089: E8D0 LDI R29,0x80 Load immediate
+0000008A: BFDF OUT 0x3F,R29 Out to I/O location
+0000008B: 9508 RET Subroutine return
+0000008C: 27BB CLR R27 Clear Register
+0000008D: 24DD CLR R13 Clear Register
+0000008E: FD65 SBRC R22,5 Skip if bit in register cleared
+0000008F: C005 RJMP PC+0x0006 Relative jump
+00000090: 0EDF ADD R13,R31 Add without carry
+00000091: 1DBE ADC R27,R14 Add with carry
+00000092: 34B0 CPI R27,0x40 Compare with immediate
+00000093: F408 BRCC PC+0x02 Branch if carry cleared
+00000094: CFF9 RJMP PC-0x0006 Relative jump
+00000095: 9508 RET Subroutine return
+00000096: FF65 SBRS R22,5 Skip if bit in register set
+00000097: 9508 RET Subroutine return
+00000098: 27EE CLR R30 Clear Register
+00000099: FF46 SBRS R20,6 Skip if bit in register set
+0000009A: CFFE RJMP PC-0x0001 Relative jump
+0000009B: 7B4F ANDI R20,0xBF Logical AND with immediate
+0000009C: 95E3 INC R30 Increment
+0000009D: 31E4 CPI R30,0x14 Compare with immediate
+0000009E: F408 BRCC PC+0x02 Branch if carry cleared
+0000009F: CFF9 RJMP PC-0x0006 Relative jump
+000000A0: 27EE CLR R30 Clear Register
+000000A1: FF46 SBRS R20,6 Skip if bit in register set
+000000A2: CFFD RJMP PC-0x0002 Relative jump
+000000A3: 7B4F ANDI R20,0xBF Logical AND with immediate
+000000A4: 2E0A MOV R0,R26 Copy register
+000000A5: 2C1C MOV R1,R12 Copy register
+000000A6: FF46 SBRS R20,6 Skip if bit in register set
+000000A7: CFFE RJMP PC-0x0001 Relative jump
+000000A8: 7B4F ANDI R20,0xBF Logical AND with immediate
+000000A9: 0C1C ADD R1,R12 Add without carry
+000000AA: 1E0A ADC R0,R26 Add with carry
+000000AB: FF46 SBRS R20,6 Skip if bit in register set
+000000AC: CFFE RJMP PC-0x0001 Relative jump
+000000AD: 7B4F ANDI R20,0xBF Logical AND with immediate
+000000AE: 0C1C ADD R1,R12 Add without carry
+000000AF: 1E0A ADC R0,R26 Add with carry
+000000B0: FF46 SBRS R20,6 Skip if bit in register set
+000000B1: CFFE RJMP PC-0x0001 Relative jump
+000000B2: 7B4F ANDI R20,0xBF Logical AND with immediate
+000000B3: 0C1C ADD R1,R12 Add without carry
+000000B4: 1E0A ADC R0,R26 Add with carry
+000000B5: 9406 LSR R0 Logical shift right
+000000B6: 9417 ROR R1 Rotate right through carry
+000000B7: 9406 LSR R0 Logical shift right
+000000B8: 9417 ROR R1 Rotate right through carry
+000000B9: 2CA1 MOV R10,R1 Copy register
+000000BA: 2CB0 MOV R11,R0 Copy register
+000000BB: 2C41 MOV R4,R1 Copy register
+000000BC: 2C50 MOV R5,R0 Copy register
+000000BD: E3D2 LDI R29,0x32 Load immediate
+000000BE: 1A4D SUB R4,R29 Subtract without carry
+000000BF: 085E SBC R5,R14 Subtract with carry
+000000C0: 2C61 MOV R6,R1 Copy register
+000000C1: 2C70 MOV R7,R0 Copy register
+000000C2: E3D2 LDI R29,0x32 Load immediate
+000000C3: 0E6D ADD R6,R29 Add without carry
+000000C4: 1C7E ADC R7,R14 Add with carry
+000000C5: 7D6F ANDI R22,0xDF Logical AND with immediate
+000000C6: 9508 RET Subroutine return
+000000C7: EFDD LDI R29,0xFD Load immediate
+000000C8: BBD8 OUT 0x18,R29 Out to I/O location
+000000C9: C00E RJMP PC+0x000F Relative jump
+000000CA: E2D9 LDI R29,0x29 Load immediate
+000000CB: 2F7D MOV R23,R29 Copy register
+000000CC: E2D3 LDI R29,0x23 Load immediate
+000000CD: 2FED MOV R30,R29 Copy register
+000000CE: E1DD LDI R29,0x1D Load immediate
+000000CF: 2F9D MOV R25,R29 Copy register
+000000D0: E1D7 LDI R29,0x17 Load immediate
+000000D1: 2F2D MOV R18,R29 Copy register
+000000D2: E080 LDI R24,0x00 Load immediate
+000000D3: BD8E OUT 0x2E,R24 Out to I/O location
+000000D4: 6240 ORI R20,0x20 Logical OR with immediate
+000000D5: E05A LDI R21,0x0A Load immediate
+000000D6: EFDD LDI R29,0xFD Load immediate
+000000D7: BBD8 OUT 0x18,R29 Out to I/O location
+000000D8: E2D6 LDI R29,0x26 Load immediate
+000000D9: BFD0 OUT 0x30,R29 Out to I/O location
+000000DA: EDDB LDI R29,0xDB Load immediate
+000000DB: BBD7 OUT 0x17,R29 Out to I/O location
+000000DC: FD67 SBRC R22,7 Skip if bit in register cleared
+000000DD: C003 RJMP PC+0x0004 Relative jump
+000000DE: E2D6 LDI R29,0x26 Load immediate
+000000DF: BFD0 OUT 0x30,R29 Out to I/O location
+000000E0: 9508 RET Subroutine return
+000000E1: E6D6 LDI R29,0x66 Load immediate
+000000E2: BFD0 OUT 0x30,R29 Out to I/O location
+000000E3: FF45 SBRS R20,5 Skip if bit in register set
+000000E4: C006 RJMP PC+0x0007 Relative jump
+000000E5: 3F8A CPI R24,0xFA Compare with immediate
+000000E6: F488 BRCC PC+0x12 Branch if carry cleared
+000000E7: E0D4 LDI R29,0x04 Load immediate
+000000E8: 0F8D ADD R24,R29 Add without carry
+000000E9: BD8E OUT 0x2E,R24 Out to I/O location
+000000EA: 9508 RET Subroutine return
+000000EB: 3189 CPI R24,0x19 Compare with immediate
+000000EC: F018 BRCS PC+0x04 Branch if carry set
+000000ED: 5084 SUBI R24,0x04 Subtract immediate
+000000EE: BD8E OUT 0x2E,R24 Out to I/O location
+000000EF: 9508 RET Subroutine return
+000000F0: E0D1 LDI R29,0x01 Load immediate
+000000F1: 138D CPSE R24,R29 Compare, skip if equal
+000000F2: 5081 SUBI R24,0x01 Subtract immediate
+000000F3: BD8E OUT 0x2E,R24 Out to I/O location
+000000F4: 3051 CPI R21,0x01 Compare with immediate
+000000F5: F040 BRCS PC+0x09 Branch if carry set
+000000F6: 5051 SUBI R21,0x01 Subtract immediate
+000000F7: 9508 RET Subroutine return
+000000F8: EF8F SER R24 Set Register
+000000F9: BD8E OUT 0x2E,R24 Out to I/O location
+000000FA: 3051 CPI R21,0x01 Compare with immediate
+000000FB: F028 BRCS PC+0x06 Branch if carry set
+000000FC: 5051 SUBI R21,0x01 Subtract immediate
+000000FD: 9508 RET Subroutine return
+000000FE: 6240 ORI R20,0x20 Logical OR with immediate
+000000FF: E051 LDI R21,0x01 Load immediate
+00000100: 9508 RET Subroutine return
+00000101: 7D4F ANDI R20,0xDF Logical AND with immediate
+00000102: E258 LDI R21,0x28 Load immediate
+00000103: 9508 RET Subroutine return
+00000104: 9573 INC R23 Increment
+00000105: 337D CPI R23,0x3D Compare with immediate
+00000106: F040 BRCS PC+0x09 Branch if carry set
+00000107: 3471 CPI R23,0x41 Compare with immediate
+00000108: F040 BRCS PC+0x09 Branch if carry set
+00000109: 3575 CPI R23,0x55 Compare with immediate
+0000010A: F020 BRCS PC+0x05 Branch if carry set
+0000010B: 3579 CPI R23,0x59 Compare with immediate
+0000010C: F020 BRCS PC+0x05 Branch if carry set
+0000010D: 2777 CLR R23 Clear Register
+0000010E: 9508 RET Subroutine return
+0000010F: 6100 ORI R16,0x10 Logical OR with immediate
+00000110: 9508 RET Subroutine return
+00000111: 7E0F ANDI R16,0xEF Logical AND with immediate
+00000112: 9508 RET Subroutine return
+00000113: 95E3 INC R30 Increment
+00000114: 34E1 CPI R30,0x41 Compare with immediate
+00000115: F040 BRCS PC+0x09 Branch if carry set
+00000116: 34E5 CPI R30,0x45 Compare with immediate
+00000117: F040 BRCS PC+0x09 Branch if carry set
+00000118: 35E9 CPI R30,0x59 Compare with immediate
+00000119: F020 BRCS PC+0x05 Branch if carry set
+0000011A: 35ED CPI R30,0x5D Compare with immediate
+0000011B: F020 BRCS PC+0x05 Branch if carry set
+0000011C: 27EE CLR R30 Clear Register
+0000011D: 9508 RET Subroutine return
+0000011E: 6200 ORI R16,0x20 Logical OR with immediate
+0000011F: 9508 RET Subroutine return
+00000120: 7D0F ANDI R16,0xDF Logical AND with immediate
+00000121: 9508 RET Subroutine return
+00000122: 9593 INC R25 Increment
+00000123: 3495 CPI R25,0x45 Compare with immediate
+00000124: F040 BRCS PC+0x09 Branch if carry set
+00000125: 3499 CPI R25,0x49 Compare with immediate
+00000126: F040 BRCS PC+0x09 Branch if carry set
+00000127: 359D CPI R25,0x5D Compare with immediate
+00000128: F020 BRCS PC+0x05 Branch if carry set
+00000129: 3691 CPI R25,0x61 Compare with immediate
+0000012A: F020 BRCS PC+0x05 Branch if carry set
+0000012B: 2799 CLR R25 Clear Register
+0000012C: 9508 RET Subroutine return
+0000012D: 6008 ORI R16,0x08 Logical OR with immediate
+0000012E: 9508 RET Subroutine return
+0000012F: 7F07 ANDI R16,0xF7 Logical AND with immediate
+00000130: 9508 RET Subroutine return
+00000131: 9523 INC R18 Increment
+00000132: 3429 CPI R18,0x49 Compare with immediate
+00000133: F040 BRCS PC+0x09 Branch if carry set
+00000134: 342D CPI R18,0x4D Compare with immediate
+00000135: F040 BRCS PC+0x09 Branch if carry set
+00000136: 3621 CPI R18,0x61 Compare with immediate
+00000137: F020 BRCS PC+0x05 Branch if carry set
+00000138: 3625 CPI R18,0x65 Compare with immediate
+00000139: F020 BRCS PC+0x05 Branch if carry set
+0000013A: 2722 CLR R18 Clear Register
+0000013B: 9508 RET Subroutine return
+0000013C: 6001 ORI R16,0x01 Logical OR with immediate
+0000013D: 9508 RET Subroutine return
+0000013E: 7F0E ANDI R16,0xFE Logical AND with immediate
+0000013F: 9508 RET Subroutine return
+00000140: BB08 OUT 0x18,R16 Out to I/O location
+00000141: FF05 SBRS R16,5 Skip if bit in register set
+00000142: C003 RJMP PC+0x0004 Relative jump
+00000143: EDDB LDI R29,0xDB Load immediate
+00000144: BBD7 OUT 0x17,R29 Out to I/O location
+00000145: 9508 RET Subroutine return
+00000146: EFDB LDI R29,0xFB Load immediate
+00000147: BBD7 OUT 0x17,R29 Out to I/O location
+00000148: 9508 RET Subroutine return
+00000149: 9AE0 SBI 0x1C,0 Set bit in I/O register
+0000014A: 99E0 SBIC 0x1C,0 Skip if bit in I/O register cleared
+0000014B: CFFE RJMP PC-0x0001 Relative jump
+0000014C: 9508 RET Subroutine return
+0000014D: 9AE2 SBI 0x1C,2 Set bit in I/O register
+0000014E: 9AE1 SBI 0x1C,1 Set bit in I/O register
+0000014F: 99E1 SBIC 0x1C,1 Skip if bit in I/O register cleared
+00000150: CFFE RJMP PC-0x0001 Relative jump
+00000151: 9508 RET Subroutine return

BID = 349127

clembra

Inventar



Beiträge: 5402
Wohnort: Weeze / Niederrhein
ICQ Status  


@mods
könnte den Müllcode bitte mal jemand entweder wegeditieren oder in ein Code-Feld verkleinern, danke im voraus.

Vielleicht bastel ich mal ein ordentliches Disassembling-Programm (angefangen hab ich schon). Wenn es fertig ist lad ich es hier hoch

_________________
Reboot oder be root, das ist hier die Frage.

BID = 349178

DonComi

Inventar



Beiträge: 8604
Wohnort: Amerika


Mehr kann man nicht erwarten, es sei denn, man gibt vor dem Disassemblieren an, welcher Kontroller verwendet wurde, dann kann man die Operatoren und Operanden aus dem OP-Code wieder mit Aliasen versehen. Weiterhin könnte man noch "ordentliche" Labelnamen für bekannte Sprünge generieren..

Habe auch heute während meines Praktikums drüber nachgedacht, einen ordentlichen Disassembler zu programmieren, aber momentan habe ich leider andere Sachen zu tun und danach stehen weitere Programmierprojekte an.

_________________


      Nächste Seite
Gehe zu Seite ( 1 | 2 Nächste Seite )
Zurück zur Seite 1 im Unterforum          Vorheriges Thema Nächstes Thema 


Zum Ersatzteileshop


Bezeichnungen von Produkten, Abbildungen und Logos , die in diesem Forum oder im Shop verwendet werden, sind Eigentum des entsprechenden Herstellers oder Besitzers. Diese dienen lediglich zur Identifikation!
Impressum       Datenschutz       Copyright © Baldur Brock Fernsehtechnik und Versand Ersatzteile in Heilbronn Deutschland       

gerechnet auf die letzten 30 Tage haben wir 12 Beiträge im Durchschnitt pro Tag       heute wurden bisher 0 Beiträge verfasst
© x sparkkelsputz        Besucher : 185621786   Heute : 1336    Gestern : 10050    Online : 314        1.10.2025    5:26
4 Besucher in den letzten 60 Sekunden        alle 15.00 Sekunden ein neuer Besucher ---- logout ----viewtopic ---- logout ----
xcvb ycvb
0.0743799209595