Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Re: Ports in Assembler setzen geht plötzlich nicht mehr Kategorie: Programmierung ASM (von FHein - 17.02.2004 23:46)
 Als Antwort auf Re: Ports in Assembler setzen geht plötzlich nicht mehr von Klaus2m5 - 17.02.2004 13:25
Hallo Klaus,

jau, danke erstmal, wär ich auch zu ner vernünftigen Uhrzeit nicht, weil ich grad erst angefangen hab, mich mit der CC zu beschäftigen.

Aber was ist mit meinen Portbefehlen? Hab ich da etwa auch nen Trivialfehler drin?
Hier mal mein Mini-Testprogramm:
Basic:

define impuls  port[15]
define p2               port[2]

define ref  byte    'bytevariable $0A1

define IR_status  &H0101    'Startadresse Maschinenprogramm

        impuls = on  'Port 15 setzen
        p2 = on
 print "Test"  'Das Wort -Test- senden
 sys IR_status  'Maschinenprogramm starten
        print ref
#hangon goto hangon

end
'
'-----------------------------------load object file----------------
syscode "minitst.H" 'Objektfile Maschinenprogramm laden
'
'----------------------------------end of program code--------------


Assembler:

out     equ $01         ;output Port
outCR   equ out + 4     ;output Port Control Register

ref equ $0A1

        org $101  ;Startadresse
;
        bset 0, outCR           ; Port1 als Ausgang setzen
        bset 0, out             ; erstmal Highpegel ausgeben
        bset 1, outCR           ; Port2 als Ausgang setzen
        bclr 1, out             ; Port2 wieder ausschalten
        
        lda #42
        sta ref

        rts

end


Das Basicprogramm schaltet beide Ausgänge ein. Das Assemblerprogramm schaltet auch Port2 wieder aus, aber Port1 nicht ein.

Mach ich da nu was verkehrt? Woran kanns liegen?

FHein


> Hallo FHein,
>
> in Assembler dürfen nur Instruktionen und Konstanten im Bereich $101-$1ff definiert sein. Wenn was anderes definiert wird (org $a1, db ....) wird die erzeugte .s19 Datei erst garnicht ins interne EEPROM geladen. Da wärst Du wahrscheinlich zu einer venünftigen Uhrzeit selbst drauf gekommen!
>
> Gruß, Klaus
>

 Antwort schreiben

Bisherige Antworten:

Re: Ports in Assembler setzen geht plötzlich nicht mehr (von Klaus2m5 - 18.02.2004 23:55)
    Re: Ports in Assembler setzen geht plötzlich nicht mehr (von FHein - 5.03.2004 4:01)