; Macro: Masks corresponding cells in a range of columns if a cell
;        in the input column is masked. This macro can be very useful
;        when used in conjunction with the mask command in Formula Entry.
;
CM       ; Clear all Memory Registers
FIX 6
;
; Input Dialog Box:
alpha     "Input Column"
STOa 0
0e+00
STO 00
alpha     "Initial Column to be Masked"
STOa 1
1
STO 01
alpha     "Last Column to be Masked"
STOa 2
2
STO 02
alpha     "Masking Macro"
inpt 3
;
; Storage Locations
; 00 - Column being used for input
; 01 - First column getting masked
; 02 - Last column getting masked
; 03 - Number of rows in data window
; 04 - Column Counter
; 06 - Row and Col. # of input column in decimal form 
; 07 - Row and Col. # of masking column in decimal form
;
ibase
size     ; Returns the size of the data window
STO 03   ; Stores the number of rows that are in the data window
RCL 00   ; Recall input column
1000
 /       ; Divide column by 1000
STO 06   ; Store column in decimal format
;
LBL 10
RCL 01   ; Recall column number
STO 04   ; Set Column Counter
RCLi 06  ; Recall data from cell specified in mem. reg. 06
test 2   ; Test for masked data cell
XEQ 20   ; Execute routine for masking corresponding cells
0e+00
DSE 03   ; Decrement counter by 1, are contents of 03 > 0.0
GTO 40   ; Yes - Increase row number by 1
STOP     ; No - Stop program
;
LBL 20
RCL 06   ; Recall current address
int      ; Get current row #
STO 07   ; Store current row # in 07
;
LBL 25
RCL 04   ; Recall current column
1000
 /       ; Divide column by 1000
STO 08   ; Store column in decimal format
;
LBL 30
RCL 07   ; Recall current row #
ADD 08   ; Add row # to current column #
Mi 08    ; Mask the cell at the address specified in mem. reg. 08
RCL 02   ; Recall final column value
ISG 04   ; Increment counter by 1, are contents of 04 <= 02
GTO 25   ; Yes - Increase column
RTN
;
LBL 40
1
ADD 06   ; Increase current address by 1
GTO 10
;
; Version 1.0 - September 22, 1993
; by Steve Wilson
