* * poke1.cmd * set echo off set talk off erase * * display current fcb * store (5*16)+13 to fcb1 store 0 to count store ' ' to s * do while count<12 store s+chr(peek(fcb1+count)) to s store count+1 to count enddo count * store len(s) to lenofs @ 10,0 say 'Current fcb ===>'+$(s,2,lenofs)+'<===' * * blank the fcb poke fcb1,32,32,32,32,32,32,32,32,32,32,32,0,0,0,0,0 * store 0 to count store ' ' to s * do while count<12 store s+chr(peek(fcb1+count)) to s store count+1 to count enddo count @ 12,0 say 'fcb after poke ===>'+'&s'+'<===' * * get parameters for called pgm * *store 'abc def **' to param store ' ' to param @ 23,0 say 'Enter a string to use in the poke'; get param * read * * * truncate, capitalize for CP/M * store trim(param) to param ****store !(param) to param * * convert ascii to decimal * store ' !"#$%&' to tab1a store chr(39) to tab1b store '()' to tab1c store '*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`' to tab2 store 'abcdefghijklmnopqrstuvwxyz{|}~' to tab3 store tab1a + tab1b + tab1c + tab2 + tab3 to table * store 31 to base store ' ' to dstring store 0 to pointer * do while pointer'+'&s'+'<===' * * set up the call address * store 10*(16*16*16) to ca store ca+(4*(16*16)) to ca set call to ca store 'dummy' to adress * * do the call * * call adress return +tab3 to table * store 31 to base store ' ' to dstring store 0 to pointer * do while pointer