280 lines
4.1 KiB
PHP
280 lines
4.1 KiB
PHP
save
|
|
listing off ; kein Listing über diesen File
|
|
|
|
;****************************************************************************
|
|
;* *
|
|
;* AS 1.40 - Datei STDDEF47.INC *
|
|
;* *
|
|
;* Sinn : enthält den "erweiterten Befehlssatz für die *
|
|
;* TLCS-47(0(A*))-Reihe *
|
|
;* *
|
|
;* Author Alfred Arnold *
|
|
;* *
|
|
;* letzte Änderungen : 22.1.1994 *
|
|
;* *
|
|
;****************************************************************************
|
|
|
|
ifndef stddef47inc ; verhindert Mehrfacheinbindung
|
|
|
|
stddef47inc equ 1
|
|
|
|
if (MOMCPU<>293888)&&(MOMCPU<>4656128)&&(MOMCPU<>74492928)
|
|
fatal "Falscher Prozessortyp eingestellt: nur 47C00, 470C00, oder 470AC00 erlaubt"
|
|
endif
|
|
|
|
if MOMPASS=1
|
|
message "TLCS-47-Makrodefinitionen"
|
|
message "(C) 1994 Alfred Arnold"
|
|
message "Zielprozessor: \{MOMCPU}"
|
|
endif
|
|
|
|
;----------------------------------------------------------------------------
|
|
; hier geht's los...
|
|
|
|
; bedingte Sprünge
|
|
|
|
|
|
bz macro adr ; Sprung, falls ZF=1
|
|
testp zf
|
|
b adr
|
|
endm
|
|
|
|
|
|
bnz macro adr ; Sprung, falls ZF=0
|
|
testp zf
|
|
b s1
|
|
b adr
|
|
s1:
|
|
endm
|
|
|
|
|
|
bc macro adr ; Sprung, falls CF=1
|
|
testp cf
|
|
b adr
|
|
endm
|
|
|
|
|
|
bnc macro adr ; Sprung, falls CF=0
|
|
test cf
|
|
b adr
|
|
endm
|
|
|
|
|
|
be macro dest,src,adr ; Vergleich & Sprung, falls =
|
|
cmpr dest,src
|
|
testp zf
|
|
b adr
|
|
endm
|
|
|
|
|
|
bne macro dest,src,adr ; Vergleich & Sprung, falls <>
|
|
cmpr dest,src
|
|
if UpString("DEST")<>"A"
|
|
testp zf
|
|
b s1
|
|
endif
|
|
b adr
|
|
s1:
|
|
endm
|
|
|
|
|
|
bge macro dest,src,adr ; Vergleich & Sprung, falls >=
|
|
cmpr dest,src
|
|
testp zf
|
|
b adr
|
|
test cf
|
|
b adr
|
|
endm
|
|
|
|
|
|
bgt macro dest,src,adr ; Vergleich und Sprung, falls >
|
|
cmpr dest,src
|
|
test cf
|
|
b adr
|
|
endm
|
|
|
|
|
|
ble macro dest,src,adr ; Vergleich und Sprung, falls <=
|
|
cmpr dest,src
|
|
testp cf
|
|
b adr
|
|
endm
|
|
|
|
|
|
blt macro dest,src,adr ; Vergleich und Sprung, falls <
|
|
cmpr dest,src
|
|
testp zf
|
|
b s1
|
|
testp cf
|
|
b adr
|
|
s1:
|
|
endm
|
|
|
|
|
|
; Unterprogrammaufrufe
|
|
|
|
|
|
callss macro vector ; per Vektor
|
|
if vector=0
|
|
calls 86h
|
|
elseif
|
|
calls (vector<<3)+6
|
|
endif
|
|
endm
|
|
|
|
|
|
callz macro adr ; falls ZF=1
|
|
testp zf
|
|
b s1
|
|
b s2
|
|
s1: call adr
|
|
s2:
|
|
endm
|
|
|
|
|
|
callnz macro adr ; falls ZF=0
|
|
testp zf
|
|
b s1
|
|
call adr
|
|
s1:
|
|
endm
|
|
|
|
|
|
callc macro adr ; falls CF=1
|
|
test cf
|
|
b s1
|
|
call adr
|
|
s1:
|
|
endm
|
|
|
|
|
|
callnc macro adr ; falls CF=0
|
|
testp cf
|
|
b s1
|
|
call adr
|
|
s1:
|
|
endm
|
|
|
|
|
|
; Unterprogrammrücksprünge
|
|
|
|
|
|
retz macro ; falls ZF=1
|
|
testp zf
|
|
b s1
|
|
b s2
|
|
s1: ret
|
|
s2:
|
|
endm
|
|
|
|
|
|
retnz macro ; falls ZF=0
|
|
testp zf
|
|
b s1
|
|
ret
|
|
s1:
|
|
endm
|
|
|
|
|
|
retc macro ; falls CF=1
|
|
test cf
|
|
b s1
|
|
ret
|
|
s1:
|
|
endm
|
|
|
|
|
|
retnc macro ; falls CF=0
|
|
testp cf
|
|
b s1
|
|
ret
|
|
s1:
|
|
endm
|
|
|
|
|
|
; Interruptrücksprünge
|
|
|
|
|
|
retiz macro ; falls ZF=1
|
|
testp zf
|
|
b s1
|
|
b s2
|
|
s1: reti
|
|
s2:
|
|
endm
|
|
|
|
|
|
retinz macro ; falls ZF=0
|
|
testp zf
|
|
b s1
|
|
reti
|
|
s1:
|
|
endm
|
|
|
|
|
|
retic macro ; falls CF=1
|
|
test cf
|
|
b s1
|
|
reti
|
|
s1:
|
|
endm
|
|
|
|
|
|
retinc macro ; falls CF=0
|
|
testp cf
|
|
b s1
|
|
reti
|
|
s1:
|
|
endm
|
|
|
|
|
|
; erweiterte Schiebebefehle
|
|
|
|
|
|
shl macro op,cnt ; log. Linksshift
|
|
if UpString("OP")<>"A"
|
|
xch a,op
|
|
endif
|
|
rept cnt
|
|
test cf
|
|
rolc a
|
|
endm
|
|
if UpString("OP")<>"A"
|
|
xch a,op
|
|
endif
|
|
endm
|
|
|
|
shr macro op,cnt ; log. Rechtsshift
|
|
if UpString("OP")<>"A"
|
|
xch a,op
|
|
endif
|
|
rept cnt
|
|
test cf
|
|
rorc a
|
|
endm
|
|
if UpString("OP")<>"A"
|
|
xch a,op
|
|
endif
|
|
endm
|
|
|
|
|
|
; Interruptsperren
|
|
|
|
|
|
ei macro
|
|
eiclr il,3fh
|
|
endm
|
|
|
|
di macro
|
|
diclr il,3fh
|
|
endm
|
|
|
|
;---------------------------------------------------------------------------
|
|
; das war's...
|
|
|
|
endif
|
|
|
|
restore
|
|
|
|
|