Sie sind auf Seite 1von 10

; Cascades2 CPU PROM for HEEPS-M ver 1.

103
; based on
; Scifer2 CPU PROM for HEEPS-M ver 1.100
; based on
; ROPA K21 CPU PROM for HEEPS-I ver 0.089
;
;Scifer2 HM soldered in flight version is v1.099

;directives moved to front to make ASEM happy.


;directives added to make MetaLink ASM51.EXE happy:
$MOD51
$TITLE(K21 CPU PROM VER: Cascades2 1.103 for HEEPS-M)
$PAGEWIDTH(132)
$NOPAGING
$NODEBUG
$SYMBOLS
$OBJECT ;ASEM will object to this directive, no problem
; scf2_he.asm(19): illegal control statement

; v1.103 PARASYNC added in options ID at end of code


; v1.102 SYNC1PPS set true
; v1.101 -- Cascades2 start version
;Cascades2 HM start version is v1.101 -- same as Scifer2 v1.100
; v1.100 adds NEWSTYLE/OLDSTYLE conditional assembly flags to vary the ACK handling
; v1.100 OPTIONALLY moves CLR ACK to after any shifting w/ only one instruction before SETB ACK
;Scifer2 HM soldered in flight version is v1.099
; v1.099 adds ANDing and ORing to make sure that bit 6 is set and bit 7 is not set when shifting is
done
; v1.098 adds bin number right shifting for 16 or 32 bins -- no hardware changes needed for differing
numbers of bins
; v1.097 can be assembled with ASM51 or ASEM_51 to get identical .HEX results
; the HEXBIN.EXE from ASEM will FF pad rather than 00 pad, otherwise .BINs are the same
; v1.096 adds stepping energy on every Nth set of bins option (unused)
; v1.096 adds 16/20 and 32/40 padding options
;
; v0.89 is the same as v0.86 (with FAST_OUT on) which is what went to
; Wallops for the ROPA Pre-Integration and gave apparently good data
; v0.87 added the SKIP_ONE and SKIP_TWO which HEI needed, but apparently
; screw up HII (or the implementation foo-ed something) so 0.87 and 0.88
; are sidelined and we revert to 0.86 renumbered to 0.89
;
; based on K21 CPU PROM VER: Cascades 0.81 for HEEPS-I detector
; derived from K21 PROM VER: Sersio 0.74 for HEEPS-M detector
; for ROPA Box 1 Tray 3 K21 CPU
;
; based on Cascades & Sersio sources which were based on
; SIERRA K21 source from Mark Widholm,
; modified to assemble with ASM51.EXE from MetaLink
;
; original Sierra code used 12 HMz processor & crystal
; now running on 24 MHz processor and crystal

;SERSIO values:
;detector readout angle step steps sweep
; rate bins time time
;HEEPS T1 32K 64 2ms 64 128ms K21 - new prog 1
;HEEPS T2 32K 64 2ms 64 128ms K21 - new prog 1
;HEEPS M 32K 64 2ms 32 64ms K21 - new prog 3
;HEEPS E 16K 32 2ms 64 128ms K21 - prog 0
;BEEPS p 4K 16 4ms 64 256ms K21 - prog 2 modified
;BEEPS O 4K 16 4ms (64) 256ms K20 - prog 2 modified (sweep generated for BEEPS p
is shared by BEEPS O)

;Scifer2 values:
;detector readout angle step steps sweep
; rate bins time time
;HEEPS E 32K* 32 2ms 32 32ms based on K21 - prog 0
;HEEPS T 32K 64 2ms 64 128ms K21 - new prog 1
;HEEPS M 32K 64 2ms 32 64ms K21 - new prog 3
;BEEPS p 32K** 16 2ms 64 64ms K21 - prog 2 modified
;BEEPS O 32K** 16 2ms (64) 64ms K20 - prog 2 modified (sweep generated for BEEPS p
is shared by BEEPS O)
;* oversampled x2
;** oversampled x4

;OVERSAMPLE EQU 1
OVERSAMPLE EQU 0
SAMPLE EQU 1

OLDSTYLE SET 1
NEWSTYLE SET 0
;OLDSTYLE SET 0
;NEWSTYLE SET 1
IF (OLDSTYLE)
NEWSTYLE SET 0
ELSE
IF (NEWSTYLE)
ELSE
OLDSTYLE SET 1 ;IF NEITHER IS SET, SET OLDSTYLE ON
ENDIF ;IF (NEWSTYLE)
ENDIF ;IF (OLDSTYLE)

;SKIP_ONE EQU 1 ;on RESET skip one word out


SKIP_ONE EQU 0 ;on RESET skip one word out
;SKIP_TWO EQU 1 ;on RESET skip two words out
SKIP_TWO EQU 0 ;on RESET skip two words out

SYNC1PPS EQU 1 ;force energy sweep to reset at 1PPS


;SYNC1PPS EQU 0 ;don't force energy sweep to reset at 1PPS

; IF 64 BINS
TWO6 EQU 64
TWO5 EQU 0
TWO4 EQU 0
;;ELSE IF 32 BINS
;TWO6 EQU 0
;TWO5 EQU 32
;TWO4 EQU 0
;;ELSE IF 16 BINS
;TWO6 EQU 0
;TWO5 EQU 0
;TWO4 EQU 16
;;ENDIF

;PAD EQU 1
PAD EQU 0

;detector readout angle step steps sweep


; rate bins time time
;HEEPS I 32K 64 2ms 32 64ms based on Sersio HM
;HEEPS M 32K 64 2ms 32 64ms/sweep; '

FAST_OUT EQU 1 ;probably keep on for flight


;FAST_OUT EQU 0
;PARANOID EQU 1 ;probably turn off for flight
;;PARANOID EQU 0
;;METANOID EQU 1 ;definitely turn off for flight
;METANOID EQU 0
PARANOID EQU 0

USING 0 ;Select addresses for Bank 0

; PORT USAGE
; P0 FIFO output
; P1 BNn input
; P2 DAC output - K21 (not used on K20)
; P3 single bit IO

; IO BITS
TST BIT P3.0
; BIT P3.1
; BIT P3.2
;INT1 BIT P3.3
; BIT P3.4 ;COUNTER INPUT (NOT USED)
EVENT BIT P3.5
;WR BIT P3.6 ;LOAD FIFO
ACK BIT P3.7

; the AD-7111A can only sweep down when presented


; an ascending count, so the count must be provided as a count down to get an
; upward sweep with the AD-7111A
;

;tailored sweep information


;HEEPS-T sweep simulation program SWEEPT.FOR
; khi = 2.3? 2.7? DETECTOR FACTOR
; hv = 1.0 HV BOARD AMPLIFICATION FACTOR
; board = 1.0 K21 BOARD DE-AMPLIFICATION FACTOR
; numsteps = 64
START_HT EQU 195
INC_HT EQU -3
LAST_HT EQU 6
END_HT EQU LAST_HT + INC_HT
;;;Sersio HT sweep
;;;HEEPS-T1, HEEPS-T2, BEEPS-T sweep simulation program SWEEPT.FOR
;;; kht1 = 7.3 DETECTOR FACTOR
;;; hv = 1.0 NO HV BOARD AMPLIFICATION
;;; board = 3.5 K21 BOARD DE-AMPLIFICATION FACTOR
;;; numsteps = 64
;;START_HT1 EQU 131
;;INC_HT1 EQU -2
;;LAST_HT1 EQU 5
;;END_HT1 EQU 3 ;5 + -2

;INTERNAL RAM
;directive added to make MetaLink ASM51.EXE happy:
DSEG ;directly addressable Data memory SEGment definition
ORG 8H
SWP: DS 1 ;SWEEP STEP NUMBER
VECL: DS 1
VECH: DS 1
DS 8
IGNORE: DS 3

IF (OVERSAMPLE)
SKIP:
DS 1
ENDIF

ORG 40H ;IMAGE BINS. MUST BE AT 40H FOR HARDWARE


BIN0: DS 1
BIN1: DS 14
BIN15: DS 1
BIN16: DS 3
BIN19: DS 1
BIN20: DS 11
BIN31: DS 1
BIN32: DS 7
BIN39: DS 1
BIN40: DS 24
BIN64: DS 0

;directive added to make MetaLink ASM51.EXE happy:


CSEG ;code memory SEGment definition
ORG 0
JMP RESET_ ;1us JUMP AROUND INTR HANDLER

; ---------------------------------
ORG 13H
; External INT 1 vectors to here, so each external INT 1 will jump via this
; dispatch code to the appropriate PROGn
INTV1:
MOV SP,#VECH ;1us JUMP INDIRECT THRU VEC BY LOADING SP
RETI ;1us AND DOING A RET
; ---------------------------------

; RESET HAPPENS ONLY ON POWER UP (OR ATTEMPT TO READ EMPTY FIFO)


RESET_:
;;
IF (FAST_OUT)
; write out data to FIFO a.s.a.p.
;
CLR A
MOVX @R0,A ;WRITE 0 TO FIFO BIN0 (ADDR NOT USED)
MOV R0,#BIN0

;----------------------------------- SET DATA TO TEST RAMP and output test ramp


LPRESET:
MOV @R0,A
INC R0
IF (TWO6)
ADD A,#3
ELSE
IF (TWO5)
ADD A,#7
ELSE
IF (TWO4)
ADD A,#15
ENDIF
ENDIF
ENDIF
MOVX @R0,A ;WRITE TEST VALUE TO FIFO BIN?? (ADDR NOT USED)
IF (TWO6)
CJNE R0,#BIN64,LPRESET ;LOOP FOR 64 BINS
ELSE
IF (TWO5)
IF (PAD)
CJNE R0,#BIN40,LPRESET ;LOOP FOR 40 BINS
ELSE ;IF (PAD)
CJNE R0,#BIN32,LPRESET ;LOOP FOR 32 BINS
ENDIF ;IF (PAD)
ELSE ;IF (TWO5)
IF (TWO4)
IF (PAD)
CJNE R0,#BIN20,LPRESET ;LOOP FOR 20 BINS
ELSE ;IF (PAD)
CJNE R0,#BIN16,LPRESET ;LOOP FOR 16 BINS
ENDIF ;IF (PAD)
ENDIF ;IF (TWO4)
ENDIF ;IF (TWO5)
ENDIF ;IF (TWO6)
;----------------------------------- END -- SET DATA TO TEST RAMP

; now that FIFO is filled, do rest of initialization


ENDIF ;IF (FAST_OUT)
;;
MOV TCON,#04H ;1us EDGE TRIG FOR INT1
;
MOV SWP,#START_HT ;RESET VALUE
MOV VECH,#00H
MOV VECL,#80H ;1us 80H LEAVES ROOM FOR RESET CODE
MOV SP,#IGNORE ;1us PLACE TO PUT PC IF INTERUPTED

MOV R0,#BIN0
CLR A

IF (OVERSAMPLE)
MOV SKIP,#SAMPLE
ENDIF

;----------------------------------- SET DATA TO TEST RAMP


LPRESET2:
MOV @R0,A
INC R0
IF (TWO6)
ADD A,#3
ELSE
IF (TWO5)
ADD A,#7
ELSE
IF (TWO4)
ADD A,#15
ENDIF ;IF (TWO4)
ENDIF ;IF (TWO5)
ENDIF ;IF (TWO6)

IF (TWO6)
CJNE R0,#BIN64,LPRESET2 ;LOOP FOR 64 BINS
ELSE
IF (TWO5)
IF (PAD)
CJNE R0,#BIN40,LPRESET2 ;LOOP FOR 40 BINS
ELSE ;IF (PAD)
CJNE R0,#BIN32,LPRESET2 ;LOOP FOR 32 BINS
ENDIF ;IF (PAD)
ELSE
IF (TWO4)
IF (PAD)
CJNE R0,#BIN20,LPRESET2 ;LOOP FOR 20 BINS
ELSE ;IF (PAD)
CJNE R0,#BIN16,LPRESET2 ;LOOP FOR 16 BINS
ENDIF ;IF (PAD)
ENDIF ;IF (TWO4)
ENDIF ;IF (TWO5)
ENDIF ;IF (TWO6)
;----------------------------------- END -- SET DATA TO TEST RAMP

MOV IE,#84H ;1us ENABLE EXT INT1


JMP INTV1 ;1us
; JMP PROG0 ;1us ;why not just jump to PROG0? Does the RETI @

;-------------------------------------------------------

; EVENT WAIT LOOP (USED BY ALL PROGS)

OK:
INC @R0 ;1/2us COUNT EVENT
WT:
JNB EVENT,WT ;1us WAIT FOR: NEXT EVENT OR INTR
MOV A,P1 ;GET BIN # INTO A
IF (OLDSTYLE)
CLR ACK ;1/2us PULSE ACK- TO ENABLE NEXT EVENT
ENDIF ;IF (OLDSTYLE)

;; The AND and the OR following prevent unused input bits from being seen. While hardware should force
these bits to proper values,
;; damage to the internal pull-ups of the chips can prevent pins that should be high from being high.
;;IF (METANOID)
;;; ANL A,#7FH ;64 BINS ;anding this bit out prior to setting it is unnecessary
;; ORL A,#40H
;;ENDIF ;IF (METANOID)

IF (NEWSTYLE)
; mask out high bits
ANL A,#3FH ;1/2us
ENDIF ;IF (NEWSTYLE)
IF (TWO6)
; do nothing
ELSE ;IF (TWO6)
; mask out high bits
IF (OLDSTYLE)
ANL A,#3FH ;1/2us
ENDIF ;IF (OLDSTYLE)
IF (TWO5)
CLR C ;1/2us 64 -> 32 mapping
RRC A ;1/2us shift bin number right 1 bit
ELSE ; IF (TWO5)
IF (TWO4)
CLR C ;1/2us 64 -> 32 mapping
RRC A ;1/2us shift bin number right 1 bit
CLR C ;1/2us 32 -> 16 mapping
RRC A ;1/2us shift bin number right 1 bit
ELSE ; IF (TWO4)
; do nothing
ENDIF ; IF (TWO4)
ENDIF ; IF (TWO5)
IF (OLDSTYLE)
ORL A,#40H ;1/2us
ENDIF ;IF (OLDSTYLE)
ENDIF ; IF (TWO6)
IF (NEWSTYLE)
ORL A,#40H ;1/2us
ENDIF ;IF (NEWSTYLE)

IF (NEWSTYLE)
CLR ACK ;1/2us PULSE ACK- TO ENABLE NEXT EVENT
ENDIF ;IF (NEWSTYLE)
MOV R0,A
SETB ACK ;1/2us

CJNE @R0,#255,OK ;1us CHECK FOR WRAP


JMP WT ;1us IGNORE EVENT IF AT 255

;-------------------------------------------------------
ORG 80H
;detector readout angle step steps sweep
; rate bins time time
;HEEPS T 32K 64 2ms 64 128ms K21 - new prog 1
;START_HT EQU 195
;INC_HT EQU -3
;LAST_HT EQU 6
;END_HT EQU 3 ;3 = 6 + -3 == LAST_HT + INC_HT

PROG0:
MOV SP,#IGNORE ;PLACE TO PUT PC IF INTERUPTED
MOV A,BIN0 ;1/2us
MOVX @R0,A ;1us WRITE BIN0 TO FIFO (ADDR NOT USED)
MOV BIN0,#0 ;1us CLEAR BIN0
MOV A,SWP
MOV P2,A ;OUTPUT SWEEP STEP TO DAC

; ADD A,#INC_HT
IF (OVERSAMPLE)
DJNZ SKIP,SKIPIT
ADD A,#INC_HT
MOV SKIP,#SAMPLE
SKIPIT:
ELSE
ADD A,#INC_HT
ENDIF

;
; since this next is an EQUAL compare, and the increment is not required to
; be +1 or -1, the starting value needs to be carefully chosen both for use
; here in restarting the next sweep and initially on RESET
;
CJNE A,#END_HT,FOO0 ;otherwise do restart of sweep when end value seen
MOV A,#START_HT ;RESET VALUE IF OVERFLOW
FOO0:
MOV SWP,A ;UPDATE SWEEP
JB TST,TST0 ; go do test ramp if TST bit set

MOV R0,#BIN1 ;OUTPUT BINS TO FIFO


LP0:
MOV A,@R0 ;GET BIN
MOVX @R0,A ;WRITE TO FIFO. (ADDR NOT USED)
CLR A
MOV @R0,A ;CLEAR BIN
INC R0
IF (TWO6)
CJNE R0,#BIN64,LP0 ;LOOP FOR 64 BINS
ELSE
IF (TWO5)
IF (PAD)
CJNE R0,#BIN40,LP0 ;LOOP FOR 40 BINS
ELSE ;IF (PAD)
CJNE R0,#BIN32,LP0 ;LOOP FOR 32 BINS
ENDIF ;IF (PAD)
ELSE
IF (TWO4)
IF (PAD)
CJNE R0,#BIN20,LP0 ;LOOP FOR 20 BINS
ELSE ;IF (PAD)
CJNE R0,#BIN16,LP0 ;LOOP FOR 16 BINS
ENDIF ;IF (PAD)
ENDIF ;IF (TWO4)
ENDIF ;IF (TWO5)
ENDIF ;IF (TWO6)
SETB ACK ;MAKE SURE ACK- IS HI
JMP WT

; 16/64 BIN TEST PATTERN GENERATOR.


; LOADS RAMP INTO 16/64 BINS WHEN TST BIT IS HIGH
TST0:
MOV BIN0,#1 ;BIN0 RAMP VALUE
MOV R1,#1 ;R1 IS RAMP COUNTER

MOV R0,#BIN1 ;OUTPUT BINS TO FIFO


TLP0:
MOV A,@R0 ;GET BIN
MOVX @R0,A ;WRITE TO FIFO. (ADDR NOT USED)
MOV A,R1
MOV @R0,A ;SET BIN TO RAMP VALUE
IF (TWO6)
ADD A,#3
ELSE
IF (TWO5)
ADD A,#7
ELSE
IF (TWO4)
ADD A,#15
ENDIF ;IF (TWO4)
ENDIF ;IF (TWO5)
ENDIF ;IF (TWO6)

MOV R1,A ;BUMP RAMP BY INCREMENT


INC R0
IF (TWO6)
CJNE R0,#BIN64,TLP0 ;LOOP FOR 64 BINS
ELSE
IF (TWO5)
IF (PAD)
CJNE R0,#BIN40,TLP0 ;LOOP FOR 40 BINS
ELSE ;IF (PAD)
CJNE R0,#BIN32,TLP0 ;LOOP FOR 32 BINS
ENDIF ;IF (PAD)
ELSE
IF (TWO4)
IF (PAD)
CJNE R0,#BIN20,TLP0 ;LOOP FOR 20 BINS
ELSE ;IF (PAD)
CJNE R0,#BIN16,TLP0 ;LOOP FOR 16 BINS
ENDIF ;IF (PAD)
ENDIF ;IF (TWO4)
ENDIF ;IF (TWO5)
ENDIF ;IF (TWO6)

SETB ACK ;MAKE SURE ACK- IS HI


JMP WT

;IF (PARANOID)
; JMP RESET ;should never get here, so if we do RESET
;ENDIF ;IF (PARANOID)

;"Step", "N" , "Vout" , "Scaled"


;000, 195, -.264808E-02, .264808E-02
;001, 192, -.301426E-02, .301426E-02
;002, 189, -.343108E-02, .343108E-02
;003, 186, -.390554E-02, .390554E-02
;004, 183, -.444561E-02, .444561E-02
;005, 180, -.506036E-02, .506036E-02
;006, 177, -.576012E-02, .576012E-02
;007, 174, -.655664E-02, .655664E-02
;008, 171, -.746331E-02, .746331E-02
;009, 168, -.849535E-02, .849535E-02
;010, 165, -.967011E-02, .967011E-02
;011, 162, -.110073E-01, .110073E-01
;012, 159, -.125294E-01, .125294E-01
;013, 156, -.142620E-01, .142620E-01
;014, 153, -.162342E-01, .162342E-01
;015, 150, -.184791E-01, .184791E-01
;016, 147, -.210345E-01, .210345E-01
;017, 144, -.239431E-01, .239431E-01
;018, 141, -.272541E-01, .272541E-01
;019, 138, -.310228E-01, .310228E-01
;020, 135, -.353127E-01, .353127E-01
;021, 132, -.401959E-01, .401959E-01
;022, 129, -.457542E-01, .457542E-01
;023, 126, -.520812E-01, .520812E-01
;024, 123, -.592831E-01, .592831E-01
;025, 120, -.674810E-01, .674810E-01
;026, 117, -.768124E-01, .768124E-01
;027, 114, -.874342E-01, .874342E-01
;028, 111, -.995248E-01, .995248E-01
;029, 108, -.113287 , .113287
;030, 105, -.128953 , .128953
;031, 102, -.146785 , .146785
;032, 099, -.167083 , .167083
;033, 096, -.190187 , .190187
;034, 093, -.216487 , .216487
;035, 090, -.246423 , .246423
;036, 087, -.280499 , .280499
;037, 084, -.319287 , .319287
;038, 081, -.363439 , .363439
;039, 078, -.413696 , .413696
;040, 075, -.470903 , .470903
;041, 072, -.536020 , .536020
;042, 069, -.610142 , .610142
;043, 066, -.694514 , .694514
;044, 063, -.790554 , .790554
;045, 060, -.899873 , .899873
;046, 057, -1.02431 , 1.02431
;047, 054, -1.16595 , 1.16595
;048, 051, -1.32718 , 1.32718
;049, 048, -1.51071 , 1.51071
;050, 045, -1.71962 , 1.71962
;051, 042, -1.95741 , 1.95741
;052, 039, -2.22808 , 2.22808
;053, 036, -2.53619 , 2.53619
;054, 033, -2.88690 , 2.88690
;055, 030, -3.28610 , 3.28610
;056, 027, -3.74051 , 3.74051
;057, 024, -4.25776 , 4.25776
;058, 021, -4.84653 , 4.84653
;059, 018, -5.51672 , 5.51672
;060, 015, -6.27959 , 6.27959
;061, 012, -7.14795 , 7.14795
;062, 009, -8.13638 , 8.13638
;063, 006, -9.26150 , 9.26150

;------------------------------------------------------------------------
;PARASYNC MACRO
;EOC SET ($/16)
;EOC SET (EOC+1)*16
; ORG EOC
; ENDM
; PARASYNC
EOC SET ($/16)
EOC SET (EOC+1)*16
ORG EOC
ROM_ID:
DB 'K21 CPU PROM VER: Cascades2 1.103 for HEEPS-M; '
SWEEPDATA:
DB 'HEEPS M 32 K 64 bins 2 ms/Step 64 Steps 128 ms/sweep; '

; PARASYNC
EOC SET ($/16)
EOC SET (EOC+1)*16
ORG EOC
OPTIONS:
IF (FAST_OUT)
DB 'Fast_Out; '
ELSE
DB 'NO_Fast_Out; '
ENDIF ;IF (FAST_OUT)

; PARASYNC
EOC SET ($/16)
EOC SET (EOC+1)*16
ORG EOC
IF (SKIP_TWO)
DB 'on RESET skip two words out; '
ELSE ;IF (SKIP_TWO)
IF (SKIP_ONE)
DB 'on RESET skip ONE word out; '
ELSE ;IF (SKIP_ONE)
DB 'on RESET DO NOT Skip ANY words out; '
ENDIF ;IF (SKIP_ONE)
ENDIF ;IF (SKIP_TWO)

; PARASYNC
EOC SET ($/16)
EOC SET (EOC+1)*16
ORG EOC
IF (SYNC1PPS)
DB 'force energy sweep to reset at 1PPS; '
ELSE
DB 'NO_SYNC1PPS; '
ENDIF ;IF (SYNC1PPS)

; PARASYNC
EOC SET ($/16)
EOC SET (EOC+1)*16
ORG EOC
IF (OVERSAMPLE)
DB 'Step energy sweep every FOURTH set of bins '
;** oversampled x4
ELSE
DB 'Step energy sweep every set of bins '
ENDIF ;IF (OVERSAMPLE)

; PARASYNC
EOC SET ($/16)
EOC SET (EOC+1)*16
ORG EOC
IF (TWO6)
DB '64 bins output; '
ELSE
IF (TWO5)
IF (PAD)
DB '40 bins output; '
ELSE ;IF (PAD)
DB '32 bins output; '
ENDIF ;IF (PAD)
ELSE
IF (TWO4)
IF (PAD)
DB '20 bins output; '
ELSE ;IF (PAD)
DB '16 bins output; '
ENDIF ;IF (PAD)
ENDIF ;IF (TWO4)
ENDIF ;IF (TWO5)
ENDIF ;IF (TWO6)

; PARASYNC
EOC SET ($/16)
EOC SET (EOC+1)*16
ORG EOC
IF (OLDSTYLE)
DB 'OLDSTYLE ack handling; '
ELSE ;IF (OLDSTYLE)
IF (NEWSTYLE)
DB 'NEWSTYLE ack handling; '
ELSE ;IF (NEWSTYLE)
DB 'NOT_OLDSTYLE ack handling; '
ENDIF ;IF (NEWSTYLE)
ENDIF ;IF (OLDSTYLE)

; PARASYNC
EOC SET ($/16)
EOC SET (EOC+1)*16
ORG EOC
IF (PARANOID)
DB 'PARANOID; '
ELSE
DB 'NOT_PARANOID; '
ENDIF ;IF (PARANOID)

END

Das könnte Ihnen auch gefallen