PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : TASM Problem



AndyTrendy
05.01.2009, 03:37
Hallo

Ich versuche schon eine ganze weile den TASM zum laufen zu bringen.
Besser gesagt ich versuche eine ASM in eine S19 Datei zu wandeln aber leider funtioniert es nicht.
Ich habe den TASM hier runtergeladen.

https://www.roboternetz.de/phpBB2/dload.php?action=file&file_id=1


Ich versuche damit folgende Datei zu bearbeiten bzw umzuwandeln.




;Ansteuerung eines SD20 über SDA und SCL über internen I2C-Bus

;Georg Hodapp 1.12.04
;Routine für SD20
org $101
;EEPROM vom Bus abmelden
jsr $08BB ;I2C_ReadLast
;Schreibzugriff auf SD20
;Adresse des SD20 übertragen
ldx $0A1 ;i2CAddr lesen
jsr $083C ;I2C_Start
;Portnummer übertragen
ldx $0A2 ;I2CDat1lesen
jsr $0846 ;I2C_Write
;Stellwinkel übertragen
ldx $0A3 ;I2CDat2 lesen
jsr $0846 ;I2C_Write
jsr $08E5 ;I2C_Stop

;EEPROM wieder anmelden
ldx #$0A0 ;Adresse 24C65, write
jsr $083C ;I2C_Start
ldx $066 ;AdrCounter Hi
jsr $0846 ;I2C_Write
ldx $067 ;AdrCounter Lo
jsr $0846 ;I2C_Write
ldx #$0A1 ;Adresse 24C65, read
jsr $083C ;I2C_Start
rts


;Routine für PCF8547

;Ausgabe
;EEPROM vom Bus abmelden
jsr $08BB ;I2C_ReadLast
;Schreibzugriff auf PCF8574
ldx $0A1 ;I2CAddr lesen
jsr $083C ;I2C_Start
ldx $0A2 ;I2CDat1 lesen
jsr $0846 ;I2C_Write
jsr $08E5 ;I2C_Stop

;EEPROM wieder anmelden
ldx #$0A0 ;Adresse 24C65, write
jsr $083C ;I2C_Start
ldx $066 ;AdrCounter Hi
jsr $0846 ;I2C_Write
ldx $067 ;AdrCounter Lo
jsr $0846 ;I2C_Write
ldx #$0A1 ;Adresse 24C65, read
jsr $083C ;I2C_Start
rts

;Lesen
;EEPROM vom Bus abmelden
jsr $08BB ;I2C_ReadLast
;Lesezugriff auf PCF8574
ldx $0A1 ;Adresse lesen
incx ;Lesebit setzen
jsr $083C ;I2C_Start
jsr $086F ;I2C_Read
sta $0A2 ;Daten speichern
jsr $08BB ;I2C_ReadLast
;EEPROM wieder anmelden
ldx #$0A0 ;Adresse 24C65, write
jsr $083C ;I2C_Start
ldx $066 ;AdrCounter Hi
jsr $0846 ;I2C_Write
ldx $067 ;AdrCounter Lo
jsr $0846 ;I2C_Write
ldx #$0A1 ;Adresse 24C65, read
jsr $083C ;I2C_Start
rts


.end









Aber leider bekomme ich nur Fehlermeldungen.
Vieleicht kann mir einer von euch ja helfen

Gock
05.01.2009, 18:09
Du hast den Stackpointer und das RAM End nicht initialisiert. Dafür gibt es für jeden µC ein Beispiel bei Atmel oder wenn Du googelst. Habe gerade nichts hier...
Außerdem beutzt Du Befehle, die ich nicht kenne und die AVRs von Haus aus auch nicht (ldx...)
Am einfachsten ist es eigentlich, sich AVR Studio, die InitCodeschnippsel und den Befehlssatz von Atmel runterzuladen. Dort hast Du auch einen Simulator inbegriffen.
Gruß

PicNick
05.01.2009, 18:54
für welchen Controller willst du denn eigenlicht übersetzen ?