@PicNick - Thema: ASM
Ich denke, besser als der OBJ-Code in AVR Studio geladen wird es nicht, da Bascom by design mit seinem vorkompilierten HEX-Bibliotheken sowieso den Pfad der Hochsprachen verlässt...
Viel spannender ist die Frage, wie man AVR-Studio überzeugt, an den Sprungstellen des HEX/Disassembler-Codes auch Labels zu setzen. Dann wäre der Code auch lesbar.
Code:
22: For I1 = 1 To 10
+0000005A: E081 LDI R24,0x01 Load immediate
+0000005B: 93800084 STS 0x0084,R24 Store direct to data space
+0000005D: 91000084 LDS R16,0x0084 Load direct from data space
+0000005F: 300A CPI R16,0x0A Compare with immediate
22: For I1 = 1 To 10
+00000060: F018 BRCS PC+0x04 Branch if carry set
+00000061: F011 BREQ PC+0x03 Branch if equal
22: For I1 = 1 To 10
+00000062: 940C0076 JMP 0x00000076 Jump
23: Print I1
+00000064: EEA0 LDI R26,0xE0 Load immediate
+00000065: E0B7 LDI R27,0x07 Load immediate
23: Print I1
+00000066: E8E4 LDI R30,0x84 Load immediate
+00000067: E0F0 LDI R31,0x00 Load immediate
23: Print I1
+00000068: 940E009B CALL 0x0000009B Call subroutine
23: Print I1
+0000006A: 940E007B CALL 0x0000007B Call subroutine
23: Print I1
+0000006C: 940E0083 CALL 0x00000083 Call subroutine
24: Next
+0000006E: E8A4 LDI R26,0x84 Load immediate
+0000006F: E0B0 LDI R27,0x00 Load immediate
24: Next
+00000070: 918C LD R24,X Load indirect
+00000071: 5F8F SUBI R24,0xFF Subtract immediate
24: Next
+00000072: 938C ST X,R24 Store indirect
+00000073: F410 BRCC PC+0x03 Branch if carry cleared
24: Next
+00000074: 940C005D JMP 0x0000005D Jump
aber wir hatten das hier schon mal diskutiert...
Lesezeichen