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 

 nochmal die FB-Sache Kategorie: Programmierung ASM (von delucks - 31.01.2005 0:27)
Hallo Leute
Ich habzu folgendem noch ne Frage

portb   equ 1

        org $101

        lda #0          ; User-Bytes 1 bis 4 auf Null setzen
        sta $0A1
        sta $0A2
        sta $0A3
        sta $0A4

                        ; Puls an Portpin 1 dekodieren
w_hi_1  lda portb       ; Port 1 einlesen
        and #1          ; Pin 1 ausmaskieren
        bne w_lo_1      ; weiter wenn high
        bra w_hi_1
w_lo_1  lda portb       ; Port 1 einlesen
        and #1          ; Pin 1 ausmaskieren
        bne w_lo_1      ; warten bis low
cnt_1   inc $0A1        ; User-Byte 1 inkrementieren
        lda portb       ; Port 1 einlesen
        and #1          ; Pin 1 ausmaskieren
        bne w_hi_2      ; weiter wenn high
        nop
        nop
        nop
        bra cnt_1

                        ; Puls an Portpin 2 dekodieren
w_hi_2  lda portb       ; Port 1 einlesen
        and #2          ; Pin 2 ausmaskieren
        bne w_lo_2      ; weiter wenn high
        bra w_hi_2
w_lo_2  lda portb       ; Port 1 einlesen
        and #2          ; Pin 2 ausmaskieren
        bne w_lo_2      ; warten bis low
cnt_2   inc $0A2        ; User-Byte 2 inkrementieren
        lda portb       ; Port 1 einlesen
        and #2          ; Pin 2 ausmaskieren
        bne w_hi_3      ; weiter wenn high
        nop
        nop
        nop
        bra cnt_2

                        ; Puls an Portpin 3 dekodieren
w_hi_3  lda portb       ; Port 1 einlesen
        and #4          ; Pin 3 ausmaskieren
        bne w_lo_3      ; weiter wenn high
        bra w_hi_3
w_lo_3  lda portb       ; Port 1 einlesen
        and #4          ; Pin 3 ausmaskieren
        bne w_lo_3      ; warten bis low
cnt_3   inc $0A3        ; User-Byte 3 inkrementieren
        lda portb       ; Port 1 einlesen
        and #4          ; Pin 3 ausmaskieren
        bne w_hi_4      ; weiter wenn high
        nop
        nop
        nop
        bra cnt_3

                        ; Puls an Portpin 4 dekodieren
w_hi_4  lda portb       ; Port 1 einlesen
        and #8          ; Pin 4 ausmaskieren
        bne w_lo_4      ; weiter wenn high
        bra w_hi_4
w_lo_4  lda portb       ; Port 1 einlesen
        and #8          ; Pin 4 ausmaskieren
        bne w_lo_4      ; warten bis low
cnt_4   inc $0A4        ; User-Byte 4 inkrementieren
        lda portb       ; Port 1 einlesen
        and #8          ; Pin 4 ausmaskieren
        bne finish      ; weiter wenn high
        nop
        nop
        nop
        bra cnt_4


finish  rts
        end

So sind die Kanäle an Port 1-4;ich benötige aber Port 9-12.Also Kopf gestartet und die Werte zum Pin
ausmaskieren geändert,bei Port 11 1024 kommt beim assemblieren " Value not within allowed range".
Wie gehts richtig.
Außerdem,wie schalte ich im Basic in einem Variablenbyte einzelne Bits ein/aus ohne die anderen zu beeinflussen.War irgendwas mit and und or,soweit ich weiß.

Frank


 Antwort schreiben

Bisherige Antworten:

Re: nochmal die FB-Sache (von Kay - 31.01.2005 11:35)
Re: Bits schalten (von ManfredW - 31.01.2005 10:12)
Re: nochmal die FB-Sache (von Dierk - 31.01.2005 10:10)
    Re: nochmal die FB-Sache (von Kay - 31.01.2005 11:21)
        Re: nochmal die FB-Sache (von delucks - 31.01.2005 13:46)
            Re: nochmal die FB-Sache (von Dierk - 31.01.2005 14:22)
        Re: nochmal die FB-Sache (von Dierk - 31.01.2005 12:14)