.title find verb routine ; VERB Version 1.0 June 1st, 1985 ; Written by Joe Meadows Jr., with thanks to the ; Fred Hutchinson Cancer Research Center for kindly ; allowing me to use their computing resources. ; ; If you have any questions, comments, ideas, or ; whatever, feel free to contact me via US Mail : ; Joe Meadows Jr. ; 4841 268th Ave. N.E. ; Redmond Wa. 98052 ; or via phone : (206) 827-7296 .psect _clex_local rd,wrt,noexe verb_buff_desc: .blkl 2 .psect _clex_code rd,nowrt,exe .entry clex_find_verb,^m ; ; 4(ap)=verb descriptor ; 8(ap)=verb number ; 12(ap)=command block address ; start at verb number and go to last verb ; looking for baby that matches ; movl clex_commands,r3 movl @8(ap),r4 ; verb number cmpl r4,clex_cmd_cnt bgeq 40$ 10$: movl (r3)[r4],r5 ; comand_block TRO addl clex_table,r5 movzwl cmd_w_name(r5),r0 ; name BRO addl r0,r5 ; ascic all names movzbl (r5),r2 20$: incl r5 ; ascic verb name movzbl (r5),verb_buff_desc moval 1(r5),verb_buff_desc+4 pushl 4(ap) pushaq verb_buff_desc calls #2,g^str$match_wild blbs r0,50$ decl r2 subb (r5),r2 bleq 30$ addl verb_buff_desc,r5 brb 20$ 30$: aoblss clex_cmd_cnt,r4,10$ 40$: clrl @8(ap) clrl r0 brb 60$ 50$: movl (r3)[r4],r5 ; get command TRO to compare with all previous clrl r1 ; ones to see if we've already printed this one tstl r4 beql 56$ 55$: cmpl (r3)[r1],r5 beql 30$ ; if this one's been done before continue search aoblss r4,r1,55$ ; continue checking 56$: movl r4,@8(ap) movl (r3)[r4],@12(ap) addl clex_table,@12(ap) movl @12(ap),_clex_cmd_block movl #1,r0 60$: ret .end