a 100
 mov si, 80
 mov di, si
 mov dx, si
 lodsb
 mov ah, 0
 xchg cx, ax
 inc cx
 .
r v12 = aao	; loop for blanks
a
 dec cx
 .
r v03 = aao	; adjust to jump to end
a
 jz 100
 lodsb
 cmp al, (#' ')
 je (v12)	; jump to loop for blanks
 cmp al, 9
 je (v12)	; jump to loop for blanks
 dec si		; reload non-blank byte
 .
r v10 = aao	; loop for text
a
 lodsb
 cmp al, (#'\')
 .
r v00 = aao
a
 je 100		; adjust to jump to escaped
 .
r v13 = aao	; store
a
 stosb
 loop (v10)	; jump to loop for text
 .
r v11 = aao	; end
a
 mov cx, di	; -> behind stored
 sub cx, dx	; = length
 mov ah, 40
 mov bx, 1	; stdout
 int 21		; write
 mov ax, 4C00
 int 21
 .
r v12 = aao	; escaped
a
 dec cx
 jz (v11)	; jump to end
 lodsb
 cmp al, (#'a')
 jb (aao + 8)
 cmp al, (#'z')
 ja (aao + 4)
 xor al, (#'A' ^ #'a')
 .
r v01 = aao	; adjust table address
a
 mov bx, 100
 .
r v14 = aao	; table loop
a
 inc bx
 inc bx
 cmp byte [bx], 0
 je (v13)
 cmp al, byte [bx]
 jne (v14)
 mov al, byte [bx + 1]
 jmp (v13)
 .
r v15 = aao	; table
e aao "E", #27, "N", #10, "R", #13, "T", #9, "B", #7, "S", #32, "F", #12, 0
r bxcx aeo - 100
a v03
 jz (v11)
 .
a v00
 je (v12)
 .
a v01
 mov bx, (v15 - 2)
 .
n esc.com
w 100
