VSET - Virtual SET utility MACRO Y05.05a Wednesday 10-Aug-88 11:06 Table of contents 2- 23 Get command string 6- 1 SHOW SET options 8- 1 Find device handler 8- 38 Match SET option 9- 1 Get numbers 10- 1 file name parser 11- 32 data VSET - Virtual SET utility MACRO Y05.05a Wednesday 10-Aug-88 11:06 Page 1 1 .enabl mcl 2 000000 .module VSET,release=V01,version=02,audit=yes,comment= 3 4 ;+ 5 ;***************************************************************************** 6 ; 7 ; VSET performs SET options on RT-11 device handler files. The handler file 8 ; may or may not be that of a currently installed device, and need not have 9 ; the .SYS extension. It may reside on a disk other than the system disk. 10 ; 11 ; VSET may be used at the DCL level. e.g.: 12 ; 13 ; VSET abx.sys option1,option2 14 ; 15 ; Or you may R or RUN VSET and type the command at the prompt. e.g.: 16 ; 17 ; .VSET 18 ; VSET> abc.syg OPT1=n,OPT2,NOOPT3 19 ; VSET> du2:def.sys NOCRASH 20 ; VSET> ^C 21 ; 22 ; If the SET option is to act on a particular unit number (e.g. DY1), the 23 ; unit is put in brackets before the option. 24 ; 25 ; .VSET DY1:DY.SYS [1]NOWRITE,[0]WRITE 26 ; 27 ; To display all possible set options, use '?' as a command. e.g. 28 ; 29 ; .VSET LSX.SYS ? 30 ; 31 ;***************************************************************************** 32 ;- 33 34 35 ;+ 36 ;***************************************************************************** 37 ; 38 ; SET code running environment: 39 ; 40 ; R0 = Numeric value 41 ; R1 = Unit number if specified or 100000 if unit no. not specified 42 ; R2 = Address of the set routine being run 43 ; R3 = Constant specified in .DRSET (cannot be zero) 44 ; R4 = Undefined: Save and restore if used in SET code 45 ; R5 = Command buffer pointer. (Command buffer is stored backwards. 46 ; To access next character, decrement R5. In general 47 ; R5 should be saved/restored if used. May be used to 48 ; determine if you are working on the last option.) 49 ; 50 ; Blocks 0 and 1 of handler file are in memory. 51 ; 52 ; Channel 17 is open to the handler file. It should not be .CLOSEd or 53 ; .PURGEd or open to another file. 54 ; 55 ;***************************************************************************** 56 ;- 57 .mcall .print VSET - Virtual SET utility MACRO Y05.05a Wednesday 10-Aug-88 11:06 Page 2 1 000100 s.num = 100 ; option takes value 2 000040 s.oct = 40 ; option takes octal number 3 000200 s.no = 200 ; option takes NO prefix 4 5 000044 jsw = 44 6 000400 chain$ = 400 7 8 000510 charea = 510 9 10 000011 tab = 11 11 000040 space = 40 12 000054 comma = 54 13 000056 period = 56 14 000072 colon = 72 15 000075 equal = 75 16 000077 questn = 77 17 000133 lbrak = 133 18 000135 rbrak = 135 19 000017 chan = 17 ; SET code expects ch 17 open to handler file 20 21 000260 blkey = 260 ; directory segment number in memory 22 23 .sbttl Get command string 24 .enabl lsb 25 26 000000 010667 002222 vset:: mov sp,stack 27 000004 012702 002256' mov #line,r2 28 000010 032737 000400 000044 bit #chain$,@#jsw 29 000016 001014 bne begin 30 000020 012700 000510 mov #charea,r0 31 000024 011001 mov (r0),r1 32 000026 020127 000001 cmp r1,#1 33 000032 003406 ble begin 34 000034 005020 clr (r0)+ ; clear count and point to string 35 000036 010046 mov r0,-(sp) ; do the .gtlin here to flush KMON 36 000040 112022 1$: movb (r0)+,(r2)+ 37 000042 001404 beq begin1 38 000044 077103 sob r1,1$ 39 000046 000402 br begin1 40 41 000050 012746 002256' begin: mov #line,-(sp) 42 000054 012746 000001 begin1: mov #1,-(sp) ; do the .gtlin 43 000060 012746 002626' mov #prompt,-(sp) 44 000064 005046 clr -(sp) 45 000066 104345 emt 345 46 000070 105767 002162 tstb line 47 000074 001004 bne 2$ 48 000076 .print #versn 49 000104 000761 br begin VSET - Virtual SET utility MACRO Y05.05a Wednesday 10-Aug-88 11:06 Page 3 Get command string 1 000106 012701 002256' 2$: mov #line,r1 2 000112 012702 002611' mov #filnam+1,r2 3 000116 005000 clr r0 4 000120 112142 4$: movb (r1)+,-(r2) ; copy file name 5 000122 001540 beq 26$ 6 000124 005200 inc r0 7 000126 020027 000020 cmp r0,#16. 8 000132 103134 bhis 26$ 9 000134 121227 000077 cmpb (r2),#questn 10 000140 001411 beq 6$ 11 000142 121227 000040 cmpb (r2),#space ; must terminate with space or tab 12 000146 101364 bhi 4$ 13 000150 001405 beq 6$ 14 000152 121227 000011 cmpb (r2),#tab 15 000156 001122 bne 26$ 16 000160 112712 000040 movb #space,(r2) ; replace tab with space please 17 000164 010605 6$: mov sp,r5 ; R5 is used as command line pointer 18 000166 005305 dec r5 19 000170 010602 mov sp,r2 20 000172 121127 000040 8$: cmpb (r1),#space ; compress rest of line onto stack 21 000176 003010 bgt 12$ 22 000200 001405 beq 10$ 23 000202 105711 tstb (r1) 24 000204 001405 beq 12$ 25 000206 121127 000011 cmpb (r1),#tab 26 000212 001104 bne 26$ 27 000214 005201 10$: inc r1 28 000216 000765 br 8$ 29 30 000220 112142 12$: movb (r1)+,-(r2) 31 000222 001363 bne 8$ 32 000224 005302 dec r2 33 000226 042702 000001 bic #1,r2 34 000232 010206 mov r2,sp 35 000234 012700 002610' mov #filnam,r0 36 000240 012701 002242' mov #fdbk,r1 37 000244 012704 177777 mov #-1,r4 38 000250 004767 001502 call parse ; convert file name to RAD50 39 000254 103463 bcs 26$ 40 000256 004767 001062 call lookup 41 000262 103525 bcs 36$ 42 000264 .readw #area,#chan,#buffer,#512.,#0 ; Read in blocks 0 and 1 43 000322 103003 bcc 18$ 44 000324 012700 003071' mov #rederr,r0 45 000330 000474 br 34$ 46 47 000332 026727 003012 031066 18$: cmp buffer,#^rHAN ; verify that it's a handler 48 000340 001403 beq 20$ 49 000342 012700 003157' mov #nohand,r0 50 000346 000465 br 34$ VSET - Virtual SET utility MACRO Y05.05a Wednesday 10-Aug-88 11:06 Page 4 Get command string 1 000350 005704 20$: tst r4 2 000352 001403 beq 22$ 3 000354 121527 000077 cmpb (r5),#questn ; show command? 4 000360 001002 bne 24$ 5 000362 000167 000472 22$: jmp show 6 7 000366 012767 100000 002172 24$: mov #100000,unit ; assume no unit number given 8 000374 121527 000133 cmpb (r5),#lbrak ; Is there a unit number? 9 000400 001015 bne 30$ 10 000402 005305 dec r5 11 000404 004767 001202 call getoct ; yes, get it 12 000410 103405 bcs 26$ 13 000412 010067 002150 mov r0,unit 14 000416 121527 000135 cmpb (r5),#rbrak ; bracket closed? 15 000422 001403 beq 28$ 16 000424 012700 002671' 26$: mov #invcmd,r0 17 000430 000434 br 34$ 18 000432 005305 28$: dec r5 ; yes, skip over right bracket 19 000434 105067 002130 30$: clrb noflag 20 000440 116501 177777 movb -1(r5),r1 ; See if option starts with (NO) 21 000444 000301 swab r1 22 000446 105001 clrb r1 23 000450 151501 bisb (r5),r1 24 000452 042701 020040 bic #<401*40>,r1 ; make sure it's upper case 25 000456 020127 047516 cmp r1,#"NO 26 000462 001004 bne 32$ 27 000464 105267 002100 incb noflag ; set flag 28 000470 162705 000002 sub #2,r5 ; skip over NO 29 000474 010500 32$: mov r5,r0 30 000476 012701 002252' mov #option,r1 31 000502 004767 001414 call get2w ; Get SET option 32 000506 010005 mov r0,r5 33 000510 004767 001036 call match ; look for match 34 000514 103014 bcc 38$ 35 000516 012700 003024' mov #badopt,r0 ; option not supported 36 000522 010046 34$: mov r0,-(sp) 37 000524 .print #error$ 38 000532 .print (sp)+ 39 000536 016706 001464 36$: mov stack,sp 40 000542 000167 177302 jmp begin 41 42 ; Match returns with R2 pointing to offset/mode word of .DRSET entry 43 44 000546 105767 002016 38$: tstb noflag ; did we ask for NO? 45 000552 001407 beq 40$ 46 000554 132762 000200 000001 bitb #s.no,1(r2) ; yes, is it allowed? 47 000562 001003 bne 40$ 48 000564 012700 003214' mov #nono,r0 ; Nanette! 49 000570 000754 br 34$ 50 51 000572 121527 000075 40$: cmpb (r5),#equal ; is there an equal sign? 52 000576 001011 bne 42$ 53 000600 005305 dec r5 54 000602 132762 000100 000001 bitb #s.num,1(r2) ; does option want a number? 55 000610 001004 bne 42$ 56 000612 004767 001054 call getnum ; no, skip over the number 57 000616 103702 bcs 26$ VSET - Virtual SET utility MACRO Y05.05a Wednesday 10-Aug-88 11:06 Page 4-1 Get command string 58 000620 000417 br 46$ VSET - Virtual SET utility MACRO Y05.05a Wednesday 10-Aug-88 11:06 Page 5 Get command string 1 000622 132762 000040 000001 42$: bitb #s.oct,1(r2) ; does option take OCTAL number? 2 000630 001404 beq 44$ 3 000632 004767 000754 call getoct ; yes, get it 4 000636 103672 bcs 26$ 5 000640 000407 br 46$ 6 7 000642 132762 000100 000001 44$: bitb #s.num,1(r2) ; DECIMAL number ? 8 000650 001403 beq 46$ 9 000652 004767 001014 call getnum ; yes, get it 10 000656 103662 bcs 26$ 11 12 000660 016203 177772 46$: mov -6(r2),r3 ; pick up value 13 000664 111202 movb (r2),r2 ; compute routine address 14 000666 042702 177400 bic #^c377,r2 15 000672 006302 asl r2 16 000674 062702 003750' add #setcod,r2 17 000700 105767 001664 tstb noflag 18 000704 001402 beq 48$ 19 000706 062702 000004 add #4,r2 ; adjust to NOopt entry 20 000712 016701 001650 48$: mov unit,r1 21 000716 004712 call (r2) ; do the set code 22 000720 000401 br 50$ 23 000722 000420 br 52$ ; no-writeback return point 24 000724 103446 50$: bcs 58$ 25 000726 .writw #area,#chan,#buffer,#512.,#0 ; Write back blocks 0 and 1 26 000764 103003 52$: bcc 54$ 27 000766 012700 003124' mov #wrterr,r0 28 000772 000653 br 34$ 29 30 000774 105715 54$: tstb (r5) ; end of line? 31 000776 001406 beq 56$ 32 001000 121527 000054 cmpb (r5),#comma ; more to do 33 001004 001207 bne 26$ 34 001006 005305 dec r5 ; yes, skip over comma 35 001010 000167 177352 jmp 24$ ; and do it again 36 37 001014 56$: .close #chan 38 001022 .releas #fdbk 39 001032 016706 001170 mov stack,sp 40 001036 000167 177006 jmp begin 41 42 001042 58$: .print #error$ 43 001050 .print #$sterr 44 001056 000746 br 54$ VSET - Virtual SET utility MACRO Y05.05a Wednesday 10-Aug-88 11:06 Page 6 SHOW SET options 1 .sbttl SHOW SET options 2 3 001060 005004 show: clr r4 4 001062 012701 003750' mov #setcod,r1 ; look at set options 5 001066 005721 60$: tst (r1)+ ; end of table? 6 001070 001006 bne 62$ 7 001072 005704 tst r4 8 001074 001347 bne 56$ 9 001076 .print #nosets 10 001104 000743 br 56$ 11 001106 005204 62$: inc r4 12 001110 116105 000005 movb 5(r1),r5 ; get options code 13 001114 132705 000200 bitb #s.no,r5 14 001120 001403 beq 64$ 15 001122 .print #noprfx 16 001130 004767 000042 64$: call setr50 17 001134 005721 tst (r1)+ ; skip mode word 18 001136 132705 000040 bitb #s.oct,r5 19 001142 001403 beq 66$ 20 001144 012700 003305' mov #eqoct,r0 21 001150 000410 br 70$ 22 001152 132705 000100 66$: bitb #s.num,r5 23 001156 001403 beq 68$ 24 001160 012700 003267' mov #eqnum,r0 25 001164 000402 br 70$ 26 001166 012700 003261' 68$: mov #crlf,r0 27 001172 70$: .print 28 001174 000734 br 60$ 29 30 .dsabl lsb VSET - Virtual SET utility MACRO Y05.05a Wednesday 10-Aug-88 11:06 Page 7 SHOW SET options 1 001176 004767 000000 setr50: call $r50as ; Type ASCII conversion of RAD50 2 001202 010046 $r50as: mov r0,-(sp) ; set option 3 001204 010246 mov r2,-(sp) 4 001206 012102 mov (r1)+,r2 5 001210 010146 mov r1,-(sp) 6 001212 012701 001344' 5$: mov #pwr50+10,r1 7 001216 005741 10$: tst -(r1) 8 001220 001441 beq 45$ 9 001222 012700 177777 mov #-1,r0 10 001226 022702 174777 cmp #^r999,r2 11 001232 103421 blo 25$ 12 001234 005200 15$: inc r0 13 001236 161102 sub (r1),r2 14 001240 103375 bcc 15$ 15 001242 061102 add (r1),r2 16 001244 005700 tst r0 17 001246 001415 beq 30$ 18 001250 022700 000035 cmp #35,r0 19 001254 103414 blo 35$ 20 001256 001003 bne 20$ 21 001260 062700 000002 add #2,r0 22 001264 000406 br 30$ 23 001266 022700 000033 20$: cmp #33,r0 24 001272 103405 blo 35$ 25 001274 001406 beq 40$ 26 001276 062700 000040 25$: add #40,r0 27 001302 062700 000016 30$: add #16,r0 28 001306 062700 000011 35$: add #11,r0 29 001312 062700 000011 40$: add #11,r0 30 001316 .ttyout 31 001322 000735 br 10$ 32 001324 012601 45$: mov (sp)+,r1 33 001326 012602 mov (sp)+,r2 34 001330 012600 mov (sp)+,r0 35 001332 000207 return 36 37 001334 000000 000001 000050 pwr50: .word 0,1,50,50*50 001342 003100 VSET - Virtual SET utility MACRO Y05.05a Wednesday 10-Aug-88 11:06 Page 8 Find device handler 1 .sbttl Find device handler 2 3 001344 lookup::.dstat #line,#fdbk ; does device exist? 4 001356 103424 bcs 3$ 5 6 001360 005767 000676 1$: tst line+4 ; yes, is handler loaded? 7 001364 001024 bne 4$ 8 9 001366 016701 000632 mov limit+2,r1 10 001372 066701 000662 add line+2,r1 11 001376 .settop r1 12 001402 020001 cmp r0,r1 13 001404 103003 bhis 2$ 14 001406 012700 002716' mov #noroom,r0 15 001412 000433 br 5$ 16 17 001414 2$: .fetch limit+2,#fdbk 18 001426 103003 bcc 4$ 19 001430 012700 002765' 3$: mov #nodev,r0 20 001434 000422 br 5$ 21 22 001436 4$: .lookup #area,#chan,#fdbk 23 001456 103021 bcc 6$ 24 001460 .releas #fdbk 25 001470 .settop limit+2 26 001476 012700 003004' mov #nofile,r0 27 001502 010046 5$: mov r0,-(sp) 28 001504 .print #error$ 29 001512 .print (sp)+ 30 001516 000261 sec 31 001520 000207 return 32 33 001522 6$: .pval #area,#blkey,#0 34 001546 000241 clc 35 001550 000207 return 36 37 38 .sbttl Match SET option 39 40 001552 012702 003750' match:: mov #setcod,r2 41 001556 005722 1$: tst (r2)+ ; end of option table? 42 001560 001407 beq 2$ ; Yes, no match 43 001562 022267 000464 cmp (r2)+,option ; first word match? 44 001566 001006 bne 3$ 45 001570 022267 000460 cmp (r2)+,option+2 ; second word match? 46 001574 001004 bne 4$ 47 001576 005727 tst (pc)+ ; yes, return OK 48 001600 000261 2$: sec 49 001602 000207 return 50 51 001604 005722 3$: tst (r2)+ ; skip second rad50 word 52 001606 005722 4$: tst (r2)+ ; skip pointer/mode word 53 001610 000762 br 1$ VSET - Virtual SET utility MACRO Y05.05a Wednesday 10-Aug-88 11:06 Page 9 Get numbers 1 .sbttl Get numbers 2 .enabl lsb 3 4 001612 010146 getoct::mov r1,-(sp) 5 001614 010246 mov r2,-(sp) 6 001616 010502 mov r5,r2 ; mark our place 7 001620 005000 clr r0 ; start with 0 8 001622 121527 000067 1$: cmpb (r5),#'7 9 001626 003012 bgt 2$ 10 001630 111501 movb (r5),r1 11 001632 162701 000060 sub #'0,r1 12 001636 002406 blt 2$ 13 001640 005305 dec r5 14 001642 006300 asl r0 15 001644 006300 asl r0 16 001646 006300 asl r0 17 001650 060100 add r1,r0 18 001652 000763 br 1$ 19 20 001654 020502 2$: cmp r5,r2 ; did we get anything 21 001656 001401 beq 4$ 22 001660 005727 3$: tst (pc)+ 23 001662 000261 4$: sec 24 001664 012602 mov (sp)+,r2 25 001666 012601 mov (sp)+,r1 26 001670 000207 return 27 28 001672 010146 getnum::mov r1,-(sp) 29 001674 010246 mov r2,-(sp) 30 001676 010502 mov r5,r2 ; mark our place 31 001700 005000 clr r0 32 001702 121527 000071 5$: cmpb (r5),#'9 33 001706 003014 bgt 6$ 34 001710 111501 movb (r5),r1 35 001712 162701 000060 sub #'0,r1 36 001716 002410 blt 6$ 37 001720 005305 dec r5 38 001722 006300 asl r0 ; multiply by 10. 39 001724 010046 mov r0,-(sp) 40 001726 006300 asl r0 41 001730 006300 asl r0 42 001732 062600 add (sp)+,r0 43 001734 060100 add r1,r0 44 001736 000761 br 5$ 45 46 001740 020502 6$: cmp r5,r2 47 001742 001747 beq 4$ 48 001744 121527 000056 cmpb (r5),#period ; is there a decimal point 49 001750 001343 bne 3$ 50 001752 005305 dec r5 ; yes, skip it 51 001754 000741 br 3$ 52 53 .dsabl lsb VSET - Virtual SET utility MACRO Y05.05a Wednesday 10-Aug-88 11:06 Page 10 File name parser 1 .sbttl file name parser 2 ; Entry: 3 ; 4 ; R0 -> ASCII string (backwards) 5 ; R1 -> 4-word block for RAD50 file descriptor 6 ; Exit: 7 ; C-bit set => invalid file descriptor 8 9 10 001756 parse:: $savvr 11 001762 012721 015270 mov #^rDK,(r1)+ ; Assume default device DK 12 001766 004767 000130 call get2w 13 001772 121027 000072 cmpb (r0),#colon 14 001776 001011 bne 1$ 15 002000 005300 dec r0 ; there is a colon, 16 002002 005741 tst -(r1) ; more than 3 characters? 17 002004 001023 bne 4$ ; if so, flag error 18 002006 014146 mov -(r1),-(sp) ; replace DK with actual device 19 002010 012661 177776 mov (sp)+,-2(r1) 20 002014 005011 clr (r1) 21 002016 004767 000100 call get2w ; now get real file name 22 002022 121027 000056 1$: cmpb (r0),#period ; is there a period? 23 002026 001414 beq 6$ 24 002030 004767 000042 call 7$ ; no, is it the end of the string 25 002034 001007 bne 4$ ; if so, see about a default extension 26 27 002036 005011 clr (r1) ; start with null extension 28 002040 005761 177774 tst -4(r1) ; null file name? 29 002044 001403 beq 4$ 30 002046 012711 075273 mov #^rSYS,(r1) 31 002052 005727 3$: tst (pc)+ 32 002054 000261 4$: sec 33 002056 000207 5$: return 34 35 002060 005300 6$: dec r0 ; bump past period 36 002062 004767 000040 call get1w ; get extension 37 002066 004767 000004 call 7$ ; end of string? 38 002072 001370 bne 4$ ; if not, it's an error 39 002074 000766 br 3$ 40 41 002076 121027 000040 7$: cmpb (r0),#space ; test for end-of-string 42 002102 001406 beq 9$ ; i.e. space or null 43 002104 121027 000077 cmpb (r0),#questn 44 002110 001002 bne 8$ 45 002112 005004 clr r4 46 002114 000401 br 9$ 47 002116 105710 8$: tstb (r0) 48 002120 000207 9$: return VSET - Virtual SET utility MACRO Y05.05a Wednesday 10-Aug-88 11:06 Page 11 File name parser 1 2 002122 004767 000000 get2w:: call get1w ; get 2 rad50 words 3 4 002126 012702 000003 get1w:: mov #3,r2 ; 3 characters/word 5 002132 005011 clr (r1) ; start with nothing 6 002134 005046 1$: clr -(sp) ; clean the slate 7 002136 012703 002206' mov #4$,r3 ; check bounds table 8 002142 122310 2$: cmpb (r3)+,(r0) ; If character is not alphanumeric, 9 002144 101006 bhi 3$ ; ignore it 10 002146 122310 cmpb (r3)+,(r0) 11 002150 002774 blt 2$ 12 002152 111016 movb (r0),(sp) ; It is alphanumeric 13 002154 005300 dec r0 14 002156 066316 000004 add <5$-4$-2>(r3),(sp) ; convert it to RAD50 15 002162 006311 3$: asl (r1) ; Multiply by 50 and add this character 16 002164 006311 asl (r1) 17 002166 006311 asl (r1) 18 002170 061116 add (r1),(sp) 19 002172 006311 asl (r1) 20 002174 006311 asl (r1) 21 002176 062611 add (sp)+,(r1) 22 002200 077223 sob r2,1$ ; Go back for another 23 002202 005721 tst (r1)+ 24 002204 000207 return 25 26 002206 060 071 4$: .ascii "09" 27 002210 101 132 .ascii "AZ" 28 002212 141 172 .ascii "az" 29 30 002214 177756 177700 177640 5$: .word -22,-100,-140 31 32 .sbttl data 33 34 002222 000000 000000 limit:: .limit 35 002226 000000 stack:: .word 0 36 002230 area:: .blkw 5 37 002242 fdbk:: .blkw 4 38 002252 option::.blkw 2 39 002256 line:: .blkw 100. 40 002566 000000 unit:: .word 0 41 002570 000 noflag::.byte 0 42 002571 000 .byte 0 43 002572 .blkb 14. 44 002610 000 filnam::.byte 0 VSET - Virtual SET utility MACRO Y05.05a Wednesday 10-Aug-88 11:06 Page 12 Data 1 .nlist bex 2 002611 versn: .nlcsi 3 002626 prompt: .nlcsi type=I,part=name 4 002632 076 040 200 .ascii /> /<200> 5 002635 error$: .nlcsi type=i,part=prefix 6 002643 105 055 200 .ascii /E-/<200> 7 002646 123 105 124 $sterr: .asciz /SET option failed./ 8 002671 111 156 166 invcmd: .asciz /Invalid command line/ 9 002716 111 156 163 noroom: .asciz /Insufficient memory for device handler/ 10 002765 116 157 040 nodev: .asciz /No such device/ 11 003004 106 151 154 nofile: .asciz /File not found./ 12 003024 123 105 124 badopt: .asciz /SET option not recognized by handler/ 13 003071 105 162 162 rederr: .asciz /Error reading handler file/ 14 003124 105 162 162 wrterr: .asciz /Error writing handler file/ 15 003157 106 151 154 nohand: .asciz /File is not an RT-11 handler/ 16 003214 116 117 055 nono: .ascii /NO-prefix not allowed for this option/ 17 003261 000 crlf: .byte 0 18 003262 133 116 117 noprfx: .ascii /[NO]/<200> 19 003267 075 040 156 eqnum: .asciz /= n//(decimal)/ 20 003305 075 040 156 eqoct: .asciz /= n//(octal)/ 21 003321 nosets: .nlcsi type=i,part=prefix 22 003327 111 055 116 .asciz /I-No SET options/ 23 .even 24 25 003350 buffer::.blkw 512. 26 003750' setcod == buffer+400 27 28 000000' .end vset VSET - Virtual SET utility MACRO Y05.05a Wednesday 10-Aug-88 11:06 Page 12-1 Symbol table AREA 002230RG EQUAL = 000075 MATCH 001552RG QUESTN= 000077 VSET 000000RG BADOPT 003024R ERROR$ 002635R NODEV 002765R RBRAK = 000135 WRTERR 003124R BEGIN 000050R FDBK 002242RG NOFILE 003004R REDERR 003071R $R50AS 001202R BEGIN1 000054R FILNAM 002610RG NOFLAG 002570RG SETCOD= 003750RG $SAVVR= ****** G BLKEY = 000260 GETNUM 001672RG NOHAND 003157R SETR50 001176R $STERR 002646R BUFFER 003350RG GETOCT 001612RG NONO 003214R SHOW 001060R $$$ = 000067 CHAIN$= 000400 GET1W 002126RG NOPRFX 003262R SPACE = 000040 .AUDIT 107117 G CHAN = 000017 GET2W 002122RG NOROOM 002716R STACK 002226RG .VSET 000002 G CHAREA= 000510 INVCMD 002671R NOSETS 003321R S.NO = 000200 ...V1 = 000003 COLON = 000072 JSW = 000044 OPTION 002252RG S.NUM = 000100 ...V2 = 000027 COMMA = 000054 LBRAK = 000133 PARSE 001756RG S.OCT = 000040 ...V27= 106175 CRLF 003261R LIMIT 002222RG PERIOD= 000056 TAB = 000011 ...V28= 000024 EQNUM 003267R LINE 002256RG PROMPT 002626R UNIT 002566RG ...V5 = 000114 EQOCT 003305R LOOKUP 001344RG PWR50 001334R VERSN 002611R ...V6 = 000024 . ABS. 000116 000 (RW,I,GBL,ABS,OVR) 005350 001 (RW,I,LCL,REL,CON) Errors detected: 0 *** Assembler statistics Work file reads: 263 Work file writes: 199 Size of work file: 11296 Words ( 45 Pages) Size of core pool: 6400 Words ( 25 Pages) Operating system: RT-11 Elapsed time: 00:00:43.42 DU2:VSET,DU2:VSET=DU2:VSET