;
; IFSTAT is used to display the current IF level.
;
;
; Equates for Key Values
;
z3env SET 0f400h ;address of ZCPR3 environment
fcb equ 5ch
cr equ 0dh
lf equ 0ah
;
; External Z3LIB and SYSLIB Routines
;
ext z3init,iftest,eprint,cout
;
; Environment Definition
;
if z3env ne 0
;
; External ZCPR3 Environment Descriptor
;
jmp start
db 'Z3ENV' ;This is a ZCPR3 Utility
db 1 ;External Environment Descriptor
z3eadr:
dw z3env
start:
lhld z3eadr ;pt to ZCPR3 environment
;
else
;
; Internal ZCPR3 Environment Descriptor
;
MACLIB Z3BASE.LIB
MACLIB SYSENV.LIB
z3eadr:
jmp start
SYSENV
start:
lxi h,z3eadr ;pt to ZCPR3 environment
endif
;
; Start of Program -- Initialize ZCPR3 Environment
;
call z3init ;initialize the ZCPR3 Environment
lda fcb+1 ;check for help
cpi '/'
jz prhelp
call iftest ;get number of current IF
jnz prnum ;print number
call eprint
db ' No Active IF',0
ret
prnum:
call eprint
db ' Current IF Level: ',0
adi '0' ;convert to ASCII
jmp cout
;
; Print Help Message
;
prhelp:
call eprint
db 'IFSTAT, Version '
db (version/10)+'0','.',(version mod 10)+'0'
db ' - Display Current IF Level'
db cr,lf,'Syntax: IFSTAT'
db 0
ret