home *** CD-ROM | disk | FTP | other *** search
- M SET 0
- C SET 0
- F SET 0
- ;TYPE
- ;BYTE = 0..255;
- ;$STRING255 = STRING 255;
- ;
- ;
- ;PROCEDURE PROMPT (X,Y,LENGTH: BYTE; P:$STRING255;
- ; PROTECTED_FIELD_DESIRED:BOOLEAN);
- ;
- ;{procedure to position the cursor on the terminal, display a
- ;prompting message, and provide underline char for an answer}
- ;
- ;VAR
- ;UNDERLINE: STRING 255;
- ;I:INTEGER;
- ;BEGIN
- L156
- NAME PROMPT
- ENTRY PROMPT
- PROMPT:
- ENTR D,2,258
- ; UNDERLINE:='_';
- STMT D,1
- PUSH IX
- POP H
- DCX H
- DCX H
- MVI M,1
- DCX H
- MVI M,95
- ; FOR I:= 1 TO LENGTH DO APPEND (UNDERLINE,'_');
- STMT D,2
- MOV 0(IX),A
- MVI -1(IX),1
- PUSH IX
- MOV H,A
- LXI B,265
- PUSH IX
- DADX B
- MOV L,0(IX)
- POP IX
- XTHL
- L177
- MOV D,M
- DCX H
- MOV E,M
- XTHL
- PUSH H
- GE D,0
- JNC L178
- STMT D,3
- PUSH IX
- POP H
- DCX H
- DCX H
- PUSH H
- LXI H,255
- PUSH H
- LXI H,351
- PUSH H
- LXI H,2
- PUSH H
- CALL L137
- CTRL M,3
- POP H
- XTHL
- INR M
- INX H
- JRNZ L197
- INR M
- JV L198
- L197
- JMP L177
- L178
- POP D
- L198
- POP D
- ; IF PROTECTED_FIELD_DESIRED = FALSE THEN
- STMT D,4
- MOV H,A
- MOV L,8(IX)
- MOV A,L
- CMPI D,0
- MOV A,H
- ;WRITE (CHR(27),'=',CHR(Y+31),CHR(X+31),P,UNDERLINE)
- JNZ L200
- STMT D,5
- LXI H,27
- STMT M,5
- PUSH H
- LXI H,769
- XTHL
- LXI B,1
- PUSH B
- MOV H,L
- PUSH H
- INX S
- LXI H,769
- PUSH H
- LXI B,1
- PUSH B
- LXI H,61
- MOV H,L
- PUSH H
- INX S
- MOV H,A
- LXI B,266
- PUSH IX
- DADX B
- MOV L,0(IX)
- POP IX
- LXI D,31
- DADD D,0
- STMT M,5
- PUSH H
- LXI H,769
- XTHL
- LXI B,1
- PUSH B
- MOV H,L
- PUSH H
- INX S
- MOV H,A
- LXI B,267
- PUSH IX
- DADX B
- MOV L,0(IX)
- POP IX
- LXI D,31
- DADD D,0
- STMT M,5
- PUSH H
- LXI H,769
- XTHL
- LXI B,1
- PUSH B
- MOV H,L
- PUSH H
- INX S
- LXI H,1793
- PUSH H
- LXI B,256
- PUSH B
- LXI H,-256
- DADD S
- SPHL
- XCHG
- PUSH IX
- POP H
- LXI B,9
- DADD B
- LXI B,256
- LDIR
- LXI H,1793
- PUSH H
- LXI B,256
- PUSH B
- LXI H,-256
- DADD S
- SPHL
- XCHG
- PUSH IX
- POP H
- LXI B,-257
- DADD B
- LXI B,256
- LDIR
- LXI B,540
- ; ELSE
- CALL L111
- ;WRITE (CHR(27),'=',CHR(Y+31),CHR(X+31),CHR(27),')',P,
- JMP L263
- L200
- STMT D,6
- LXI H,27
- STMT M,6
- PUSH H
- LXI H,769
- XTHL
- LXI B,1
- PUSH B
- MOV H,L
- PUSH H
- INX S
- LXI H,769
- PUSH H
- LXI B,1
- PUSH B
- LXI H,61
- MOV H,L
- PUSH H
- INX S
- MOV H,A
- LXI B,266
- PUSH IX
- DADX B
- MOV L,0(IX)
- POP IX
- LXI D,31
- DADD D,0
- STMT M,6
- PUSH H
- LXI H,769
- XTHL
- LXI B,1
- PUSH B
- MOV H,L
- PUSH H
- INX S
- MOV H,A
- LXI B,267
- PUSH IX
- DADX B
- MOV L,0(IX)
- POP IX
- LXI D,31
- DADD D,0
- STMT M,6
- PUSH H
- LXI H,769
- XTHL
- LXI B,1
- PUSH B
- MOV H,L
- PUSH H
- INX S
- LXI H,27
- STMT M,6
- PUSH H
- LXI H,769
- XTHL
- LXI B,1
- PUSH B
- MOV H,L
- PUSH H
- INX S
- LXI H,769
- PUSH H
- LXI B,1
- PUSH B
- LXI H,41
- MOV H,L
- PUSH H
- INX S
- LXI H,1793
- PUSH H
- LXI B,256
- PUSH B
- LXI H,-256
- DADD S
- SPHL
- XCHG
- PUSH IX
- POP H
- LXI B,9
- DADD B
- LXI B,256
- LDIR
- ; UNDERLINE,CHR(27),'(');
- LXI H,1793
- PUSH H
- LXI B,256
- PUSH B
- LXI H,-256
- DADD S
- SPHL
- XCHG
- PUSH IX
- POP H
- LXI B,-257
- DADD B
- LXI B,256
- LDIR
- LXI H,27
- STMT M,6
- PUSH H
- LXI H,769
- XTHL
- LXI B,1
- PUSH B
- MOV H,L
- PUSH H
- INX S
- LXI H,769
- PUSH H
- LXI B,1
- PUSH B
- LXI H,40
- MOV H,L
- PUSH H
- INX S
- LXI B,560
- CALL L111
- L263
- ;END;
- STMT D,7
- EXIT D,260
-