N SKIPLINE.COM
L
A148
JZ 014F

N OUTLINES.COM
W
A14F
CMP AL,0A

N OUTLINEU.COM
W
A14F
CMP AL,0C

N OUTPAGES.COM
W
A148
JNZ 014F

N SKIPPAGE.COM
W
A100
JMP 127

A153
XOR BYTE PTR [0103],01
JMP 0172

N ODDPAGES.COM
W
A103
DB 01

N EVENPAGE.COM
W
Q

*****   Note: !!!   *****

There MUST (!!!) be one blank line after each of the seven lines above that
contain:   (1)  JZ 014F   (2)  CMP AL,0C    (3)  CMP AL,0C    (4)  JNZ 014F
(5)  JMP 127    (6)  JMP 0172    and  (7) DB 01   or else DEBUG will treat
the following "N", "A", and "Q" commands as errors, assembling some of the
ops in the wrong place, and not being able to write anything or quit and you
will have to reboot to get out of DEBUG.  The blank lines are "commands" to
stop assembling code and start treating subsequent lines as DEBUG commands
again instead of code to be assembled.

Usage:  (to convert SKIPLINE.COM from "PC Magazine" into six more utilities.)

    DEBUG  <SL-TO-OP.TXT

Original file and new ones created:

    SKIPLINE.COM  -- original file from PC Magazine, skips selected range of
	lines.

    OUTLINES.COM  -- modified, condition for printing reversed, PRINTS selected
	range of lines.

    OUTLINEU.COM  -- modified, condition for printing reversed, looks for
	line-feed instead of carriage-returns for UNIX-format files, PRINTS
	selected range of lines.

    SKIPPAGE.COM  -- modified, form-feeds counted instead of carriage-returns,
	skips selected range of PAGES.

    OUTPAGES.COM  -- modified, form-feeds counted instead of carriage-returns,
	and condition for printing reversed, PRINTS selected range of PAGES.

    ODDPAGES.COM  -- modified, formfeeds cause flag to invert, only flag
	tested, PRINTS ODD pages only.

    EVENPAGE.COM  -- modified, formfeeds cause flag to invert, only flag
	tested, PRINTS EVEN pages only.

Syntax:  ( first defaults to 1,  last defaults to 65535 )

    SKIPLINE   [ first ]  ,  [ last ]   [ <infile ]   [ >[>]outfile ]

    OUTLINES   [ first ]  ,  [ last ]   [ <infile ]   [ >[>]outfile ]

    OUTLINEU   [ first ]  ,  [ last ]   [ <infile ]   [ >[>]outfile ]

    SKIPPAGE   [ first ]  ,  [ last ]   [ <infile ]   [ >[>]outfile ]

    OUTPAGES   [ first ]  ,  [ last ]   [ <infile ]   [ >[>]outfile ]

    ODDPAGES   [ <infile ]   [ >[>]outfile ]

    EVENPAGE   [ <infile ]   [ >[>]outfile ]

Examples:

    SKIPLINE  17, 54  <LETTER   >HEADFOOT.LET

	Skip body of letter, lines 17 to 54, and print the rest to file.

    OUTLINES  25, 47  <LETTER   >MAINPARA.LET

	Print main paragraph, lines 25 to 47, to another file.

    SKIPPAGE  7, 83  <MANUAL  >WHEREIS.IT

	Skip pages 7 to  83 of manual, keeping only the table of contents
		and the index.

    OUTPAGES  74, 74  <MANUAL  >LPT1

	Print extra copy of chart on seventy-fourth page of manual.

    DIR | SKIPLINE  ,3  >LPT1

	Print directory of disk, skipping the first three lines that contain
	no filenames.

    SKIPPAGE  ,1 <REPORT | OUTPAGES  ,   >REPORT

	Strip a leading form-feed from a report.  OUTPAGES does nothing to the
	report.  It just allows a pipe to store the processed report so it can
	be copied over the original after processing is done.
		
    ODDPAGES  <MANUAL.TXT >LPT1

	Print odd pages on one side of the paper, turn the paper over, and
	then use

    EVENPAGE  <MANUAL.TXT >LPT1

	to print the even pages on the other side of the paper.  After
	separating and punching the paper, you have a manual with two pages
	per sheet, odd on one side and following even page on the other.

