228 lines
6.5 KiB
PHP
228 lines
6.5 KiB
PHP
save
|
|
listing off ; kein Listing über diesen File
|
|
|
|
;****************************************************************************
|
|
;* *
|
|
;* AS 1.41 - Datei REGMSP.INC *
|
|
;* *
|
|
;* Sinn : enthält Makro- und Registerdefinitionen für den MSP430 *
|
|
;* *
|
|
;* letzte Änderungen : 11. 9.1996 *
|
|
;* *
|
|
;****************************************************************************
|
|
|
|
ifndef regmspinc ; verhindert Mehrfacheinbindung
|
|
|
|
regmspinc equ 1
|
|
|
|
if (MOMCPUNAME<>"MSP430")
|
|
fatal "Falscher Prozessortyp eingestellt: nur MSP430 erlaubt!"
|
|
endif
|
|
|
|
if MOMPASS=1
|
|
message "MSP430-Register+Befehlsdefinitionen (C) 1996 Alfred Arnold"
|
|
endif
|
|
|
|
;----------------------------------------------------------------------------
|
|
; Arithmetik
|
|
|
|
adc macro op
|
|
addc.attribute #0,op
|
|
endm
|
|
|
|
dadc macro op
|
|
dadd.attribute #0,op
|
|
endm
|
|
|
|
dec macro op
|
|
sub.attribute #1,op
|
|
endm
|
|
|
|
decd macro op
|
|
sub.attribute #2,op
|
|
endm
|
|
|
|
inc macro op
|
|
add.attribute #1,op
|
|
endm
|
|
|
|
incd macro op
|
|
add.attribute #2,op
|
|
endm
|
|
|
|
sbc macro op
|
|
subc.attribute #0,op
|
|
endm
|
|
|
|
;----------------------------------------------------------------------------
|
|
; Logik
|
|
|
|
inv macro op
|
|
xor.attribute #-1,op
|
|
endm
|
|
|
|
rla macro op
|
|
add.attribute op,op
|
|
endm
|
|
|
|
rlc macro op
|
|
addc.attribute op,op
|
|
endm
|
|
|
|
;----------------------------------------------------------------------------
|
|
; Daten bewegen ;-)
|
|
|
|
clr macro op
|
|
mov.attribute #0,op
|
|
endm
|
|
|
|
clrc macro
|
|
bic #1,sr
|
|
endm
|
|
|
|
clrn macro
|
|
bic #4,sr
|
|
endm
|
|
|
|
clrz macro
|
|
bic #2,sr
|
|
endm
|
|
|
|
pop macro op
|
|
mov @sp+,op
|
|
endm
|
|
|
|
setc macro
|
|
bis #1,sr
|
|
endm
|
|
|
|
setn macro
|
|
bis #4,sr
|
|
endm
|
|
|
|
setz macro
|
|
bis #2,sr
|
|
endm
|
|
|
|
tst macro op
|
|
cmp.attribute #0,op
|
|
endm
|
|
|
|
;----------------------------------------------------------------------------
|
|
; Sprungbefehle
|
|
|
|
br macro op
|
|
mov op,pc
|
|
endm
|
|
|
|
dint macro
|
|
bic #8,sr
|
|
endm
|
|
|
|
eint macro
|
|
bis #8,sr
|
|
endm
|
|
|
|
nop macro
|
|
.word 04303h ; den symbolischen Befehl würde AS zurückweisen
|
|
endm
|
|
|
|
ret macro
|
|
mov @sp+,pc
|
|
endm
|
|
|
|
;----------------------------------------------------------------------------
|
|
; Taktgenerator
|
|
|
|
SCFQCTL equ 052h ; Multiplikator Quarzfrequenz
|
|
SCFI0 equ 050h ; Integrator
|
|
SCFI1 equ 051h
|
|
CBCTL equ 053h ; Puffersteuerung
|
|
EPCTL equ 054h ; EPROM-Steuerung
|
|
|
|
;----------------------------------------------------------------------------
|
|
; Module
|
|
|
|
IE1 equ 000h ; Interrupt-Freigaben
|
|
IE2 equ 001h
|
|
IFG1 equ 002h ; Interrupt-Anzeigen
|
|
IFG2 equ 003h
|
|
ME1 equ 004h ; Modul-Freigaben
|
|
ME2 equ 005h
|
|
|
|
;----------------------------------------------------------------------------
|
|
; Timer
|
|
|
|
BTCTL equ 040h ; Basis-Steuerregister Timer 1
|
|
|
|
BTCNT1 equ 046h ; Zählregister
|
|
BTCNT2 equ 047h
|
|
|
|
TCCTL equ 042h
|
|
|
|
TCPLD equ 043h ; Vorladewert
|
|
|
|
TCDAT equ 044h ; Zählwert
|
|
|
|
TPCTL equ 04bh ; Timer/Port Steuerregister
|
|
|
|
TPCNT1 equ 04ch ; Zählregister
|
|
TPCNT2 equ 04dh
|
|
|
|
TPD equ 04eh ; Datenregister
|
|
|
|
TPE equ 04fh ; Freigaberegister
|
|
|
|
;----------------------------------------------------------------------------
|
|
; Watchdog
|
|
|
|
WDTCTL equ 0120h
|
|
|
|
;----------------------------------------------------------------------------
|
|
; PWM
|
|
|
|
PWMCTL equ 058h ; Zählwert
|
|
PWMDTB equ 059h ; Pulsweite (Puffer)
|
|
PWMDTR equ 05ah ; Pulsweite
|
|
PWMCNT equ 05bh ; Steuerung
|
|
|
|
;----------------------------------------------------------------------------
|
|
; Ports
|
|
|
|
P0IN equ 010h ; Leseregister (Pinzustand)
|
|
P0OUT equ 011h ; Schreibregister (Latches)
|
|
P0DIR equ 012h ; Richtungsregister
|
|
P0IFG equ 013h ; Interrupt-Flags
|
|
P0IES equ 014h ; Interrupf-Flankenwahl
|
|
P0IE equ 015h ; Interrupt-Freigaben
|
|
|
|
;----------------------------------------------------------------------------
|
|
; LCD-Interface
|
|
|
|
LCDCTL equ 030h ; Steuerung
|
|
LCD_Start equ 031h ; Startadresse
|
|
LCD_Stop equ 03fh ; Endadresse
|
|
__TMP set 1 ; Einzeldefinitionen
|
|
rept 9
|
|
LCD{"\{__TMP}"} equ 030h+__TMP
|
|
__TMP set __TMP+1
|
|
endm
|
|
rept 6
|
|
LCD1{"\{__TMP-10}"} equ 030h+__TMP
|
|
__TMP set __TMP+1
|
|
endm
|
|
|
|
;----------------------------------------------------------------------------
|
|
; A/D-Wandler
|
|
|
|
AIN equ 0110h ; Eingaberegister
|
|
AEN equ 0112h ; Eingabefreigaben
|
|
ACTL equ 0114h ; Steuerung
|
|
ADAT equ 0118h ; Daten
|
|
|
|
;----------------------------------------------------------------------------
|
|
|
|
endif ; von IFDEF...
|
|
restore ; wieder erlauben
|
|
|