Forum: Mikrocontroller und Digitale Elektronik Assembler Programm mit ICC12 in .s19 wandeln?


von J. R. (cia_man)


Lesenswert?

Hallo!

Ich habe folgendes Bsp-Programm gegeben:

;======================================================================= 
======
; File: BLINKD60.A
; Func: The very first program on a Card12.D60
; Copr: MCT Elektronikladen GbR, Oliver Thamm
;======================================================================= 
======

    CPU 68HC12
    PADDING OFF

REGBASE  equ  $0000

COPCTL  equ  REGBASE+$0016  ; COP Control Register
PORTH  equ  REGBASE+$0029  ; Port H Register
DDRH  equ  REGBASE+$002b  ; Port H Data Direction Register

RAMTOP  equ  $0600
CODE  equ  $8000

    ORG CODE

main    lds  #RAMTOP
    clr  COPCTL
    bset DDRH,$80  ; PH7 Output
blink1    ldaa PORTH
    eora #$80  ; toggle PH7
    staa PORTH
    bsr  delay
    bra  blink1


delay    psha
    pshx
    ldx #$1000
_loop1    clra
_loop0    dbne a,_loop0
    dbne x,_loop1
    pulx
    pula
    rts


    END main


Die Datei hat die Endung .a! Diese kann ich so nicht unter ICC12 
verwenden!
Deshalb habe ich sie in .s umbenannt. Dieses ist die Endung für assembly 
source files. Jetzt kann ich es mit ICC12 übersetzen, jedoch kommen 
immerzu Fehlermeldungen:

!E blinkd60.s(7): identifier expected, but got character: 6
!E blinkd60.s(8): no such mnemonic 'PADDING'
!E blinkd60.s(10): no such mnemonic 'REGBASE'
!E blinkd60.s(12): no such mnemonic 'COPCTL'
!E blinkd60.s(13): no such mnemonic 'PORTH'
usw...

Es scheint mir so, als könne ICC12 nichts mit der Datei anfangen.... ???

Vlt könnt ihr mir helfen... Ich will jedenfalls eine .S19 Datei! :)

Was jetzt wiederum mir klar ist, ist wie ich eine .S19 Datei in eine für 
meinen MC912D128A kompatible Datei wandle.... ich meine damit die 
Wandlung mit sreccvt!

THX!!!

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Jochen R. schrieb:
> Die Datei hat die Endung .a! Diese kann ich so nicht unter ICC12
> verwenden!
> Deshalb habe ich sie in .s umbenannt.

Zwar verwendest Du auch einen HC12-Assembler, aber nicht jeder Assembler 
hat die gleiche Syntax und verwendet die gleichen Schlüsselwörter.

Du wirst herausfinden müssen, für welchen HC12-Assembler das Programm 
ursprünglich geschrieben wurde, damit Du das Programm an den von Dir 
verwendeten anpassen kannst.

Offensichtlich versteht der von Dir verwendete bereits die ersten beiden 
Anweisungen nicht (CPU 68HC12 und PADDING OFF), und verwendet obendrein 
eine andere Syntax für EQU.

Da wirst Du die Syntax beider Assembler im jeweiligen Handbuch studieren 
und miteinander vergleichen müssen.

von J. R. (cia_man)


Lesenswert?

Rufus Τ. Firefly schrieb:
> Jochen R. schrieb:
>> Die Datei hat die Endung .a! Diese kann ich so nicht unter ICC12
>> verwenden!
>> Deshalb habe ich sie in .s umbenannt.
>
> Zwar verwendest Du auch einen HC12-Assembler, aber nicht jeder Assembler
> hat die gleiche Syntax und verwendet die gleichen Schlüsselwörter.
>
> Du wirst herausfinden müssen, für welchen HC12-Assembler das Programm
> ursprünglich geschrieben wurde, damit Du das Programm an den von Dir
> verwendeten anpassen kannst.
>
> Offensichtlich versteht der von Dir verwendete bereits die ersten beiden
> Anweisungen nicht (CPU 68HC12 und PADDING OFF), und verwendet obendrein
> eine andere Syntax für EQU.
>
> Da wirst Du die Syntax beider Assembler im jeweiligen Handbuch studieren
> und miteinander vergleichen müssen.

Okay! Das habe ich mir schon fast gedacht.... dann muss ich wohl oder 
übel doch den Makroassembler AS V1.42 verwenden! Jedoch sind mir dafür 
die Settings für meinen speziellen Controller nicht bekannt.

Naja mal sehen... ;)

Wenn jmd hierfür die Settings weiß.... her damit ;)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.