{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: HOLDCOM867)}}
====== HOLDCOM867 ======
(George Source)
**Macros used:** [[george:macro:DOWN|DOWN]], [[george:macro:ENDCOM|ENDCOM]], [[george:macro:HUNTW|HUNTW]], [[george:macro:JDISENG|JDISENG]], [[george:macro:JHOLD|JHOLD]], [[george:macro:LTYPE|LTYPE]], [[george:macro:OUTPARAM|OUTPARAM]], [[george:macro:PARSORT|PARSORT]], [[george:macro:SAWCEJX|SAWCEJX]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SETHOLD|SETHOLD]], [[george:macro:ZERRORX|ZERRORX]], [[george:macro:ZERRORY|ZERRORY]]
22FL #OPT K0HOLDCOM=0
22^= #LIS K0HOLDCOM>K0ALLGEO>K0GREATGEO>K0COMMAND
23DW #SEG HOLDCOM
23JR ...#
23NN ...# COPYRIGHT INTERNATIONAL COMPUTERS LTD 1982
23SK ...#
23YG 8HHOLDCOM
24D6 [ THE ENTRY POINT
24XQ SEGENTRY K1HOLDCOM,XK1HOLDCOM
25CB [
25X2 [
26BL [ THIS SEGMENT IMPLEMENTS THE HOLD COMMAND - I.E. IT SIMULATES
26W= [ THE EFFECT OF A HOLD BUTTON ON A DEVICE
27*W [
27TG [
28*6 [
28SQ ZDEVTYPES [LIST OF DEV TYPES FOR WHICH...
29#B [...HOLD COMMAND IS PERMITTED
29S2 +6
2=?L +26
2=R= ZENDTYPES
2?=W #DEF TYPESLEN=ZENDTYPES-ZDEVTYPES
2?QG [
2#=6 [
2#PQ SOUTUNIT [SUB TO OUTPUT PERI DESC PARAM
2*9B [ USED FOR ERROR MESSAGES
2*P2 SBX 7 FX1 [ON ENTY X3 IS ADDR OF CPAR JSCE
2B8L LDX 5 JSCEQ(3)
2BN= ANDN 5 #7777 [NO. OF CHARS IN DESC
2C7W OUTPARAM 5,JSCER,CPAR,JSCE [OUTPUT PERI DESC PARAM
2CMG ADX 7 FX1
2D76 EXIT 7 0
2DLQ [
2F6B ZERRORY
2FL2 [
2G5L XK1HOLDCOM
2GK= PARSORT ZBREAKIN [ANALYSE PERI DESC
2H4W HUNTW 3,CPAR,JSCE
2HJG BNG 3 PARSORTERR [J IF PARSORT FOUND ERROR
2J46 SAWCEJX JSCEB(3),YLOCAL,NOTLOCAL,NOTLOCAL [J IF NOT LOCAL
2JHQ YLOCAL
2K3B LDX 4 JSCEP(3)
2KH2 ANDX 4 BITS22LS [EXTRACT DEV LIST POINTER
2L2L LTYPE 4,7 [DEV TYPE INTO X7
2LG= LDN 5 TYPESLEN [NUMBER OF PERMITTED TYPES
2L^W SCHTYPE
2MFG SMO 5
2M^6 TXU 7 ZDEVTYPES-1(1)
2NDQ BCC TYPEOK [J IF PERMITTED TYPE
2NYB BCT 5 SCHTYPE
2PD2 BRN TYPEWRONG [J IF NOT PERMITTED TYPE
2PXL TYPEOK
2Q7D ... JDISENG 4,ZDISNOW [^ IF DISENGAGED
2QC= JHOLD 4,ZHELDNOW [J IF ALREADY HELD
2QWW SETHOLD 4 [SET HOLD BIT TO SIMULATE HOLD BUTTON
2RBG ... STO 4 AWORK3(2) [STORE D.L. PTR FOR CARTCONT
2S*Q DOWN CARTCONT,2 [GO TO ACT ON HOLD BUTTON
2STB ZBREAKIN
2T*2 PARSORTERR
2TSL ENDCOM
2W#= [
2WRW [
2X?G [ ERROR ROUTINES
2XR6 [
2Y=Q [
2YQB NOTLOCAL
2^=2 TYPEWRONG
2^PL CALL 7 SOUTUNIT
329= ZERRORX JUNITERR [%A IS NOT A SUITABLE DEVICE
32NW ZHELDNOW
338G CALL 7 SOUTUNIT
33N6 ZERRORX JHELDNOW [UNIT %A IS ALREADY HELD
33S3 ...ZDISNOW
33XY ... CALL 7 SOUTUNIT
343T ... ZERRORX JDISNOW [UNIT %A IS ALREADY DISENGAGED
347Q [
34MB [
3572 #END
^^^^ ...4464756000010000000