% VAX-11 Librarian V03-00`H]`b*H]&'5!ADDASCII"buffers RCHANGE \CUT DATE ~ DIFFERENCES:EXITFILEJGETHEXIBYTEILONGHIWORDNLASTfLOCATENEXTrPASTE%$ positioningVRECORD:ROTATE,SET!xTOP"FWRITE@NH]1 ASCII@The ASCII command is used to display the contents of the currentDbuffer (plus following blocks, if specified) in ASCII. Non-printing?characters are shown as periods. There are 64 characters/line.)Output is aligned on quadword boundaries.Format: A(SCII) [begin][,count]J [begin] is the first byte to dump. It can be in the range of 0-511.J [count] is the byte count. If [begin+count] exceeds 512, subsequentG blocks are dumpe d until [count] is exceeded. The user is1 positioned at the final block read.I If [begin] and [count] are omitted, the current buffer is dumped in its entirety.? If only [begin] is specified, a single byte is displayed.ww H]1 ADDEThe ADD command is used to add one or more signed numbers (longwords)Dand display the result in decimal and hex. The numbers can be givenDin hex, decimal, or octal. Decimal output is normally signed unless &the SET NOSIGN command has been given.Format:' AD(D) number1[,number2,...,numbern]@ [number] can optionally have a leading + or - sign and can1 have one of the following formats:" nnnnnnnnn - Decimal" 0nnnnnnnnnn - Octal Hnnnnnnnn - Hexww`H]1 CHANGENThe CHANGE command is used to alter the contents of the current buffer. (ThisJdoes not alter the file unless the WRITE command is used with th e changed Mbuffer). If the change-string would overflow the buffer, nothing is changed. C(HANGE) begin,change-string> [begin] is the first byte to change, in the range 0-511.< [change-string] can have one of the following formats:E nnnnn - Unsigned hex string of numbers. These are placed inF the buffer in the order given, right-justified to theF nearest byte. Any number of leading zeroes and up to2 8 significant digits may be used. +nnnnJ -nnnn - Signed decimal. Can be byte, word, or longword. ContextO is determined by the size of the number, including leading = zeroes. Stored in normal (reversed) format.J "xxx" - Character string. Single or double quotes are permitted.ww@H]1 CUTIThe CUT command copies the current buffer into the paste buffer. This isGa secondary buffer which can be recopied into the current bu ffer at anyKtime via the PASTE command or compared with it via the DIFFERENCES command.Format: CU(T)ww H] 1 DIFFERENCES@This command compares all or part of the current buffer with theBcorresponding part of the paste buffer. If differences are found,@the contents of the current buffer are printed (in hex) with theAcontents of the paste buffer directly below. Up to 32 sequentialAbytes are displayed per line. Matching paste buffer bytes on theBsecond line are displayed as periods. Output is longword-aligned.Format:! D(IFFERENCES) [begin][,count]> [begin] is the first byte to compare. It defaults to 0.C [count] is the number of bytes to compare. It defaults to 1.A If neither parameter is given, both buffers are compared in? their entirety. In no case may [begin+count] exceed 512.ww H]1 DATEAThe DATE command displays one or more sequential quadwords in theCcurrent buffer in system date format. Only date values which exist4entirely within the current buffer can be displayed.Format: DA(TE) begin[,count]B [begin] is the first byte of the first quadword. It must be specified.D [count] is the number of quadwords to dump. It defaults to 1.ww`$H]1 EXIT The EXIT command terminates VFE.Format: E(XIT)wwH]1 FILEDThis command requests the name of the next file to edit, or displays.the name and block number of the current file.Format: F(ILE) [?]:If given without the question mark, VFE will respond with: File name?FThe file name can then be entered. At this point the previous file isFclosed and the new file is opened for edit. The user is positioned atBvirtual block 1 of the new file and its contents are read into thecurrent buffer.HIf a question mark follows the FILE command, the expanded name string ofEthe file being edited and the current block number will be displayed.&A new file name will not be requested.ww>H]1 GETBThis command reads a block of the file into the current buffer andCpositions the user at that block. If the block selected is outside@the limits of the current file, the user will be left positioned@at the same block and the current buffer will remain unaffected.Format: G(ET) block7 [block] is specified in unsigned decimal numeric.ww LH]1 HEXEThe HEX command is used to display the contents of the current bufferC(plus following blocks, if specified) in hexadecimal. There are 32>bytes/line. Display output is aligned on longword boundaries.>Bytes are dumped in the order in which they occur in the file,from left to right.Format: H(EX) [begin][,count]J [begin] is the first byte to dump. It can be in the range of 0-511.J [count] is the byte count. If [begin+count] exceeds 512, subsequentG blocks are dumped until [count] is exceeded. The user is1 positioned at the final block read.I If [begin] and [count] are omitted, the current buffer is dumped in its entirety.? If only [begin] is specified, a single byte is displayed.ww`YH]1 IBYTEBThis command is used to display the contents of the current bufferE(plus following blocks, if specified) in integer byte format. ValuesFare signed unless the SET NOSIGN command has been given. There are 16Fbytes/line. Output is nonaligned (starts at the first address given).Format: I(BYTE) [begin][,count]J [begin] is the first byte to dump. It can be in the range of 0-511.J [count] is the byte count. If [begin+count] exceeds 512, subsequentG blocks are dumped until [count] is exceeded. The user is1 positioned at the final block read.I If [begin] and [count] are omitted, the current buffer is dumped in its entirety.?  If only [begin] is specified, a single byte is displayed.ww@H]1 IWORDBThis command is used to display the contents of the current bufferE(plus following blocks, if specified) in integer word format. ValuesEare signed unless the SET NOSIGN command has been given. There are 8Fwords/line. Words are displayed in normal (reverse) order - the firstAbyte of each 2-byte word pair is assumed to be least significant.Format: IW(ORD) [begin][,count]J [begin] is the first word to dump. It can be in the range of 0-511.J [count] is the word count. If sufficiently large, subsequent blocksH are dumped. Words which span blocks are printed normally.< The user is positioned at the last block read.I If [begin] and [count] are omitted, the current buffer is dumped in its entirety.? If only [begin] is specified, a single word is displayed.ww H]1 ILONGHThis command is used to di splay the contents of the current buffer (plusGfollowing blocks, if specified) in integer longword format. Values areGsigned unless the SET NOSIGN command has been given. There are 4 long-Dwords/line. Longwords are displayed in normal (reverse) order - theFfirst byte of each 4-byte longword is assumed to be least significant.Format: IL(ONG) [begin][,count]F [begin] is the first longword to dump. It can be between 0-511.G [count] is the longword count. If sufficiently large, subsequentI blocks are dumped. Longwords which span blocks are printedG normally. The user is positioned at the last block read.I If [begin] and [count] are omitted, the current buffer is dumped in its entirety.C If only [begin] is specified, a single longword is displayed.wwH]1 LOCATECThis command is used to find the next occurrence of a target string'or number within the file being edited.Format:  L(OCATE) [target]E [target] is the target string or number. If not specified, theK previous target is used. The following formats are allowed:H nnnnn - Unsigned hex string of numbers. These are searched forI in the order given, right-justified to the nearest byte.E Any number of leading zeroes and up to 8 significant$ digits may be used. +nnnnJ -nnnn - Signed decimal. Can be byte, wor d, or longword. ContextO is determined by the size of the number, including leading G zeroes. Searched for in normal (l.s. to m.s.) format.J "xxx" - Character string. Single or double quotes are permitted.= String locate operations are case sensitive.wwJH]1 LASTKThis command positions the user at the highest allocated block of the file.IDue to minimum extent granularity, this may be higher than the last blockLcurrently storing user data. As a result, its contents may be meaningless -6this should not be taken as a sign of file corruption.Format: LA(ST)ww@W H]1 NEXTHThis command positions the user to a block with a relative offset to theIcurrent block. Contents of the requested block are read into the currentbuffer.Format: N(EXT) [offset]K [offset] is a decimal numeric with optional + or - sign. If omitted,H the number one (1) is assumed, which will position to the= block immediately following the current block.wwd H]1 PASTEFThe PASTE command writes the paste buffer to the current buffer. FileDpositioning is not affected, and if a WRITE command is issued beforeDanother block is read from the file, the positioned block within theJfile will be overwritten. Judicious use of the CUT and PASTE commands canHbe used to transfer whole blocks within a single file or group of files.5EXTREME CAUTION is advised for users of this command!Format: P(ASTE)wwqH]1 RECORDIThe RECORD command is used to display one or more records of a sequentialCfile in ASCII. Nonprinting characters are printed as periods. The5file can be either fixed, variable, or VFC formatted.Format: R(ECORD) begin[,count]L [begin] for fixed length records is the byte offset within the currentI buffer of the first record to be printed. For variable/VF CK records, it is the address of the record length word for thatM record. Since all records begin on a word boundary, if [begin], is odd, it will be rounded up.K [count] is the count of records to be printed. If [count] and/or theL record lengths are sufficiently large, more than one block mayG be displayed. When processing is completed, the user is K positioned at the last block read. If not specified , [count]" defaults to one (1).wwH]1 ROTATEIThis command exchanges the contents of the current and paste buffers. ItJcan be used to examine the contents of the paste buffer, since all displayIcommands work with the current buffer. A second ROTATE will restore bothJbuffers, provided the file position has not changed (which would overwriteDthe current buffer). When used with the WRITE command, ROTATE is as6potentially dangerous as PASTE, so caution is advi sed!Format: RO(TATE)wwH]1 SET?This command is used to set/clear various modes and indicators. 2 DISPLAYIThis command is used to enable or disable local printing at the terminal.FThe standard mode is DISPLAY. If logging is enabled (see SET LOG) andGthe SET NODISPLAY command has been given, only command solicitation andIsingle-line output (such as error messages) is displayed at the terminal.FOther output, such as dumps of many blocks of data, is written o!nly to the log file.Format: S(ET) [NO]DISPLAY2 LOGIThis command is used to enable or disable logging of VFE output to a userDfile. All output and input is written to the file. The log file isDclosed when another SET LOG command is given or when VFE terminates.Formats: S(ET) LOG[=filename] S(ET) NOLOGC [filename] is any legitimate VAX file descriptor. Device andF directory are optional. If this parameter is omittedE e"ntirely, the file VFE.LOG is created in the currentG default directory. A new version is created each time- the SET LOG command is used.2 SIGNDThis command is used to enable or disable signed decimal output with?the ADD, IBYTE, IWORD, and ILONG commands. The default mode is SET SIGN.Format: S(ET) [NO]SIGNwwH]1 TOPIThis command positions the user at the top of the file (virtual block 1).AThe contents of virtual block 1 #are read into the current buffer.Format: T(OP)ww@"H]1 WRITEEThis command writes the current buffer to the file block at which theHuser is positioned. The current buffer will always contain the contentsIof the positioned block except when the CHANGE, PASTE, or ROTATE commandsGhave been used and no repositioning has occurred. See HELP BUFFERS formore information.Format: W(RITE)ww%H] 1 buffers)VFE operates with two block-size b $uffers.F The CURRENT buffer is filled with the contents of the current blockI whenever a file is initially opened for edit or whenever repositioningK within the current file occurs. Commands which always cause positioningH changes are FILE, GET, LAST, NEXT, and TOP. Commands which can causeG positioning changes if multiple blocks are processed are ASCII, HEX,K IBYTE, IWORD, ILONG, LOCATE, and RECORD. Contents of the current bufferI can be modified with the use of the CHA %NGE, PASTE, or ROTATE commands,A and these modifications remain until the next position change.I The PASTE buffer is user-controlled. It can be altered by the CUT andH ROTATE commands. Unlike the current buffer, the paste buffer remainsI unaltered when repositioning occurs or when a new file is edited. TheG paste buffer has two primary uses: First, to allow two blocks to beI compared with the DIFFERENCES command, and second, to permit blocks to1 be transferred within a & file or between files.ww`b*H] 1 positioningCThe following sequences are abbreviated formats of the GET and NEXTCcommands. They are useful for fast block positioning. Note that aDpositioning command will always cause the contents of the positioned)block to be read into the current buffer.2 advances one block. Same as NEXT 1.2 + advances one block. Same as NEXT 1.3 - backs up one block. Same as NEXT -1.F [number] positions to the block specified. Same as GET [number].? +[number] advances [number] blocks. Same as NEXT [number].@ -[number] backs up [number] blocks. Same as NEXT -[number].@ In all cases above, [number] represents a decimal numeric.ww