KWV11A MACRO V05.04 Sunday 29-Nov-87 20:39 Page 3 1 .TITLE KWV11A 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 002504 BLT 9$ ;If lt,no just exit 27 000166 005037 177546 CLR @#177546 ;Disable line clock 28 000172 MTPS #PR7 ;Disable interupts 29 000200 010046 MOV R0,-(SP) ;save reg. 30 000202 010146 MOV R1,-(SP) ; 31 000204 010246 MOV R2,-(SP) ; 32 000206 010346 MOV R3,-(SP) KWV11A MACRO V05.04 Sunday 29-Nov-87 20:39 Page 3-1 33 000210 012702 000005 MOV #5,R2 ;Set loop count 34 000214 012700 000000G MOV #$CKINT,R0 ;Get address to clock interupt code 35 000220 022027 012704 5$: CMP (R0)+,#12704 ;Look for patch area 36 000224 001401 BEQ 6$ ;if eq,match 37 000226 077204 SOB R2,5$ ;continue with loop 38 000230 021027 000000G 6$: CMP (R0),#$INTCT ;try this as well 39 000234 001403 beq 66$ ;no match found,just exit 40 000236 005267 177536 inc odd ;indicate no 41 000242 000446 br 50$ ;and exit 42 000244 010003 66$: mov R0,R3 ;copy r0 43 000246 012701 000040 mov #40,r1 ; 44 000252 call $alocb ;allocate core block 45 000256 103004 bcc 7$ ;if cs no pool 46 000260 012767 000002 177512 mov #2,odd ;mark no pool left 47 000266 000434 br 50$ ;and exit 48 000270 012763 004737 177776 7$: MOV #4737,-2(R3) ;code for call @#VEC 49 000276 010013 MOV r0,(R3) ; ..... 50 000300 012720 042737 MOV #42737,(R0)+ ;code for bic #200,@#170420 51 000304 012720 000200 MOV #200,(R0)+ ; ..... 52 000310 012720 170420 MOV #170420,(R0)+ ; ..... 53 000314 012720 012704 MOV #12704,(R0)+ ;code for mov #$ckint,r4 54 000320 012720 000000G MOV #$INTCT,(R0)+ ; ..... 55 000324 012720 000207 MOV #207,(R0)+ ; code for return 56 000330 013737 000100 000450 MOV @#100,@#450 ;Toggle the interupt vectors 57 000336 013737 000102 000452 MOV @#102,@#452 ;from line clock to KWV11A 58 000344 012737 000000G 000100 MOV #$NONSI,@#100 ;Set nonsens interupt for line cock 59 000352 012737 174060 170422 MOV #-2000.,@#170422 ;Set preset value for KWV11A 60 000360 012603 50$: MOV (SP)+,R3 61 000362 012602 MOV (SP)+,R2 ;Restore reg. 62 000364 012601 MOV (SP)+,R1 ; 63 000366 012600 MOV (SP)+,R0 ; 64 000370 MTPS #PR0 ;Enable interupts 65 000376 9$: RETURN ;Return to user state 66 67 000400 10$: 68 000400 005767 177374 tst odd ;any error 69 000404 003014 bgt 102$ ;if gt yes 70 000406 002406 blt 101$ ;if lt it doesn't exist 71 000410 012737 000123 170420 MOV #123,@#170420 ;Enable KWV11A 72 000416 EXIT$S ;Exit 73 000424 012701 000002' 101$: mov #errtxt,r1 74 000430 012702 000030 mov #errtxl,r2 75 000434 000414 br 104$ 76 000436 005367 177336 102$: dec odd 77 000442 003005 bgt 103$ 78 000444 012701 000066' mov #pattxt,r1 79 000450 012702 000036 mov #pattxl,r2 80 000454 000404 br 104$ 81 000456 012701 000032' 103$: mov #nopool,r1 82 000462 012702 000034 mov #nopoll,r2 83 000466 104$: qiow$s #io.wlb,#5,#5,,,, 84 000534 exit$s 85 000124' .END START KWV11A MACRO V05.04 Sunday 29-Nov-87 20:39 Page 3-2 Symbol table A$$BIO= 000000 E$$XPR= 000000 M$$OVR= 000000 R$$NDH= 000226 T$$HFF= 000000 A$$BRT= 000000 F$$LVL= 000001 NOPOLL= 000034 R$$NDL= 000001 T$$HLD= 000000 A$$CHK= 000000 G$$TPP= 000000 NOPOOL 000032R R$$POI= 000000 T$$KMG= 000000 A$$CLI= 000003 G$$TTK= 000000 N$$LDV= 000001 R$$SND= 000000 T$$LWC= 000000 A$$CPS= 000000 H$$RTZ= 000062 N$$MOV= 000041 R$$TPR= 031462 T$$RNE= 000000 A$$PRI= 000000 IO.WLB= ****** GX N$$UMR= 000034 R$$11M= 000000 T$$RPR= 000000 A$$TRP= 000000 I$$RAR= 000000 ODD 000000R START 000124R T$$RST= 000000 B$$LV1= 034063 I$$RDN= 000000 PATTXL= 000036 S$$HFC= 000036 T$$RUB= 000000 B$$LV2= 020105 K$$AST= 000000 PATTXT 000066R S$$NM1= 040515 T$$SMC= 000000 C$$CDA= 000007 K$$CNT= 177546 PR0 = ****** GX S$$NM2= 044514 T$$SYN= 000000 C$$CKP= 000004 K$$CSR= 177546 PR7 = ****** GX S$$NM3= 020116 T$$TRW= 000000 C$$CSR= 174400 K$$IEN= 000115 PS = ****** GX S$$TIM= 000000 T$$TSA= 000000 C$$ONS= 000001 K$$LDC= 000001 P$$BPR= 000063 S$$TOP= 000000 T$$UMR= 000000 C$$ORE= 002022 K$$TPS= 000062 P$$CTL= 000000 S$$WPC= 000036 T$$UTB= 000000 C$$RSH= 177564 LD$CO = 000000 P$$FRS= 000310 S$$WPR= 000005 T$$UTO= 000036 C$$RUN= 000000 LD$DL = 000000 P$$GMX= 000000 S$$WST= 000000 T$$VBF= 000000 C$$SMT= 000000 LD$TT = 000000 P$$HIL= 003100 S$$YSZ= 170000 T$$30P= 000000 C$$TTY= 177564 L$$ASG= 000000 P$$LAS= 000000 T$$ACR= 000000 U$$MHI= 000000 D$$ISK= 000000 L$$DRV= 000000 P$$LOL= 001130 T$$BTW= 000000 U$$MLO= 160000 D$$L11= 000001 L$$LDR= 000000 P$$OFF= 000000 T$$BUF= 000000 U$$MRN= 170234 D$$PAR= 000000 L$$50H= 000000 P$$RFL= 000000 T$$CCA= 000000 V$$CTR= 000464 D$$VMD= 000000 M$$CRB= 000124 P$$RTY= 000000 T$$CCO= 000000 V$$RSN= 000042 D$$V11= 000001 M$$CRX= 000000 Q$$OPT= 000005 T$$CPW= 000000 $ALOCB= ****** GX D$$YNC= 000000 M$$EIS= 000000 R$$EXV= 000000 T$$CTR= 000000 $CKINT= ****** GX D$$YNM= 000000 M$$EXT= 000000 R$$IIC= 000000 T$$EIO= 000000 $INTCT= ****** GX ERRTXL= 000030 M$$FCS= 000000 R$$LKL= 000001 T$$ESC= 000000 $NONSI= ****** GX ERRTXT 000002R M$$MGE= 000000 R$$L11= 000001 T$$GMC= 000000 $SGFIN= ****** GX E$$DVC= 000000 M$$MUP= 000000 R$$NDC= 000005 T$$GTS= 000000 $$$ARG= 000002 E$$LOG= 000000 M$$NET= 000000 . ABS. 000000 000 (RW,I,GBL,ABS,OVR) 000542 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:35.26 KWV11A,KWV11A/-SP=LB:[1,1]EXEMC/ML,[11,10]RSXMC/PA:1,SY:[361,15]KWV11A