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: Assembler für die C-Control M Unit 2 Kategorie: Programmierung ASM (von Stefan Tappertzhofen, Homepage - 4.10.2005 23:27)
Stefan Tappertzhofen nutzt:  CC1-M-Unit V1.2/2.0, Micro
Hallo,

ich wollte kurz mitteilen, dass CCASM nun auch die Index-Adressierung untersützt. Mit dem folgendem Beispiel kann man auch Pointer auf der M Unit 2.01 verwenden (die 2.02 kann ja sowieso auf 2.03 aktualisiert werden). Das müsste auch auf der Micro laufen.

Code:

USERV1    .EQU    $00C0    ; Basic Variable 1
USERV2    .EQU    $00C1   ; Basic Variable 2

.code

; ---------------------------
;
; BytePointerLoad
;
; Inhalt einer Speicherstelle über BYTE[1] laden
; und in BYTE[1] speichern
;
; ---------------------------


BytePointerLoad:
   BSR ConvertByteOffset
   LDA ,X
   STA USERV1
   RTS

; ---------------------------
;
; BytePointerWrite
;
; BYTE[2] in Speicherstelle über den
; Index BYTE[1] speichern
;
; ---------------------------

BytePointerWrite:
   BSR ConvertByteOffset
   LDA USERV2
   STA ,X
   RTS

; ---------------------------
;
; ConvertByteOffset
;
; Umrechnung von BASIC Byte
; nach physik. Byte Offset
;
; ---------------------------

ConvertByteOffset:
   LDA USERV1
   DECA
   ADD #$00C0
   TAX




Ansteuerung in BASIC++

Code:
define b1 as byte[1]
define b2 as byte[2]
define b5 as byte[5]

b5 = 123

b1 = 5 ' Byte Offset, aus dem gelesen werden soll
sys FD09h

print b1 ' hier müsste jetzt 123 stehen

b1 = 5
b2 = 55
sys FD0Fh

print b5 ' hier müsste nun 55 stehen



Gruß,

Stefan

Passender Link: CCASM Projekt

Meine Homepage: http://www.fdos.de

 Antwort schreiben

Bisherige Antworten: