KWV11S MACRO V05.04 Sunday 29-Nov-87 20:39 Page 3 1 .TITLE KWV11S 2 .MCALL EXIT$S,qiow$s 3 ; 4 ; 5 000000 000000 ODD: .WORD 0 ;Odd address indicator 6 ; 7 000002 153 167 166 errtxt: .ascii /kwv11a--- does not exist/ 000005 061 061 141 000010 055 055 055 000013 040 144 157 000016 145 163 040 000021 156 157 164 000024 040 145 170 000027 151 163 164 8 000030 errtxl=.-errtxt 9 .even 10 000032 153 167 166 nopool: .ascii /kwv11a--- no pool space left/ 000035 061 061 141 000040 055 055 055 000043 040 156 157 000046 040 160 157 000051 157 154 040 000054 163 160 141 000057 143 145 040 000062 154 145 146 000065 164 11 000034 nopoll=.-nopool 12 .even 13 000066 153 167 166 pattxt: .ascii /kwv11a--- patch area not found/ 000071 061 061 141 000074 055 055 055 000077 040 160 141 000102 164 143 150 000105 040 141 162 000110 145 141 040 000113 156 157 164 000116 040 146 157 000121 165 156 144 14 000036 pattxl =.-pattxt 15 .even 16 ; 17 000124 005067 177650 START: CLR ODD ;Say device present 18 000130 CALL $SWSTK,10$ ;Enter system state 19 000134 012746 000160' MOV #1000$,-(SP) ;Return address from $sgfin 20 000140 CALL $SGFIN ;Toggle trap vector 21 000144 005737 170420 TST @#170420 ;Is this device here 22 000150 103002 BCC 1$ ;If cc,yes 23 000152 005367 177622 DEC ODD ;Tell user odd address 24 000156 1$: RETURN ;Restore trap vectors 25 000160 005767 177614 1000$: TST ODD ;Was device there 26 000164 002451 BLT 9$ ;If lt,no just exit 27 000166 010046 MOV R0,-(SP) ;save reg. 28 000170 010146 MOV R1,-(SP) ; 29 000172 010246 MOV R2,-(SP) ; 30 000174 010346 MOV R3,-(SP) 31 000176 012702 000005 MOV #5,R2 ;Set loop count 32 000202 012700 000000G MOV #$CKINT,R0 ;Get address to clock interupt code KWV11S MACRO V05.04 Sunday 29-Nov-87 20:39 Page 3-1 33 000206 022027 004737 5$: CMP (R0)+,#4737 ;Look for patch area 34 000212 001404 BEQ 66$ ;if eq,match 35 000214 077204 SOB R2,5$ ;continue with loop 36 000216 005267 177556 inc odd ;indicate no 37 000222 000423 br 50$ ;and exit 38 000224 66$: 39 000224 012760 012704 177776 7$: MOV #12704,-2(R0) ;Restore code for call @#VEC 40 000232 012710 000000G MOV #$INTCT,(R0) ; ..... 41 000236 013737 000450 000100 MOV @#450,@#100 ;Toggle the interupt vectors 42 000244 013737 000452 000102 MOV @#452,@#102 ;from line clock to KWV11A 43 000252 012737 000000G 000450 MOV #$NONSI,@#450 ;Set nonsens interupt for line cock 44 000260 052737 000100 177546 BIS #100,@#177546 ;Enable line clock 45 000266 005037 170422 CLR @#170422 ;Disable KWV11A 46 000272 012603 50$: MOV (SP)+,R3 47 000274 012602 MOV (SP)+,R2 ;Restore reg. 48 000276 012601 MOV (SP)+,R1 ; 49 000300 012600 MOV (SP)+,R0 ; 50 000302 MTPS #PR0 ;Enable interupts 51 000310 9$: RETURN ;Return to user state 52 53 000312 10$: 54 000312 005767 177462 tst odd ;any error 55 000316 003011 bgt 102$ ;if gt yes 56 000320 002403 blt 101$ ;if lt it doesn't exist 57 000322 EXIT$S ;Exit 58 000330 012701 000002' 101$: mov #errtxt,r1 59 000334 012702 000030 mov #errtxl,r2 60 000340 000414 br 104$ 61 000342 005367 177432 102$: dec odd 62 000346 003005 bgt 103$ 63 000350 012701 000066' mov #pattxt,r1 64 000354 012702 000036 mov #pattxl,r2 65 000360 000404 br 104$ 66 000362 012701 000032' 103$: mov #nopool,r1 67 000366 012702 000034 mov #nopoll,r2 68 000372 104$: qiow$s #io.wlb,#5,#5,,,, 69 000440 exit$s 70 000124' .END START KWV11S MACRO V05.04 Sunday 29-Nov-87 20:39 Page 3-2 Symbol table A$$BIO= 000000 E$$LOG= 000000 M$$MUP= 000000 R$$NDC= 000005 T$$GTS= 000000 A$$BRT= 000000 E$$XPR= 000000 M$$NET= 000000 R$$NDH= 000226 T$$HFF= 000000 A$$CHK= 000000 F$$LVL= 000001 M$$OVR= 000000 R$$NDL= 000001 T$$HLD= 000000 A$$CLI= 000003 G$$TPP= 000000 NOPOLL= 000034 R$$POI= 000000 T$$KMG= 000000 A$$CPS= 000000 G$$TTK= 000000 NOPOOL 000032R R$$SND= 000000 T$$LWC= 000000 A$$PRI= 000000 H$$RTZ= 000062 N$$LDV= 000001 R$$TPR= 031462 T$$RNE= 000000 A$$TRP= 000000 IO.WLB= ****** GX N$$MOV= 000041 R$$11M= 000000 T$$RPR= 000000 B$$LV1= 034063 I$$RAR= 000000 N$$UMR= 000034 START 000124R T$$RST= 000000 B$$LV2= 020105 I$$RDN= 000000 ODD 000000R S$$HFC= 000036 T$$RUB= 000000 C$$CDA= 000007 K$$AST= 000000 PATTXL= 000036 S$$NM1= 040515 T$$SMC= 000000 C$$CKP= 000004 K$$CNT= 177546 PATTXT 000066R S$$NM2= 044514 T$$SYN= 000000 C$$CSR= 174400 K$$CSR= 177546 PR0 = ****** GX S$$NM3= 020116 T$$TRW= 000000 C$$ONS= 000001 K$$IEN= 000115 PS = ****** GX S$$TIM= 000000 T$$TSA= 000000 C$$ORE= 002022 K$$LDC= 000001 P$$BPR= 000063 S$$TOP= 000000 T$$UMR= 000000 C$$RSH= 177564 K$$TPS= 000062 P$$CTL= 000000 S$$WPC= 000036 T$$UTB= 000000 C$$RUN= 000000 LD$CO = 000000 P$$FRS= 000310 S$$WPR= 000005 T$$UTO= 000036 C$$SMT= 000000 LD$DL = 000000 P$$GMX= 000000 S$$WST= 000000 T$$VBF= 000000 C$$TTY= 177564 LD$TT = 000000 P$$HIL= 003100 S$$YSZ= 170000 T$$30P= 000000 D$$ISK= 000000 L$$ASG= 000000 P$$LAS= 000000 T$$ACR= 000000 U$$MHI= 000000 D$$L11= 000001 L$$DRV= 000000 P$$LOL= 001130 T$$BTW= 000000 U$$MLO= 160000 D$$PAR= 000000 L$$LDR= 000000 P$$OFF= 000000 T$$BUF= 000000 U$$MRN= 170234 D$$VMD= 000000 L$$50H= 000000 P$$RFL= 000000 T$$CCA= 000000 V$$CTR= 000464 D$$V11= 000001 M$$CRB= 000124 P$$RTY= 000000 T$$CCO= 000000 V$$RSN= 000042 D$$YNC= 000000 M$$CRX= 000000 Q$$OPT= 000005 T$$CPW= 000000 $CKINT= ****** GX D$$YNM= 000000 M$$EIS= 000000 R$$EXV= 000000 T$$CTR= 000000 $INTCT= ****** GX ERRTXL= 000030 M$$EXT= 000000 R$$IIC= 000000 T$$EIO= 000000 $NONSI= ****** GX ERRTXT 000002R M$$FCS= 000000 R$$LKL= 000001 T$$ESC= 000000 $SGFIN= ****** GX E$$DVC= 000000 M$$MGE= 000000 R$$L11= 000001 T$$GMC= 000000 $$$ARG= 000002 . ABS. 000000 000 (RW,I,GBL,ABS,OVR) 000446 001 (RW,I,LCL,REL,CON) Errors detected: 0 *** Assembler statistics Work file reads: 0 Work file writes: 0 Size of work file: 10184 Words ( 40 Pages) Size of core pool: 11380 Words ( 43 Pages) Operating system: RSX-11M/PLUS Elapsed time: 00:00:34.23 KWV11S,KWV11S/-SP=LB:[1,1]EXEMC/ML,[11,10]RSXMC/PA:1,SY:[361,15]KWV11S