1INIT 2UTF8 1 3WANTSTATE 4 5!Implicit 6PUSH "ABC" 7 ?cursor = 0,3 8!Backspace 9PUSH "\b" 10 ?cursor = 0,2 11!Horizontal Tab 12PUSH "\t" 13 ?cursor = 0,8 14!Carriage Return 15PUSH "\r" 16 ?cursor = 0,0 17!Linefeed 18PUSH "\n" 19 ?cursor = 1,0 20 21!Backspace bounded by lefthand edge 22PUSH "\e[4;2H" 23 ?cursor = 3,1 24PUSH "\b" 25 ?cursor = 3,0 26PUSH "\b" 27 ?cursor = 3,0 28 29!Backspace cancels phantom 30PUSH "\e[4;80H" 31 ?cursor = 3,79 32PUSH "X" 33 ?cursor = 3,79 34PUSH "\b" 35 ?cursor = 3,78 36 37!HT bounded by righthand edge 38PUSH "\e[1;78H" 39 ?cursor = 0,77 40PUSH "\t" 41 ?cursor = 0,79 42PUSH "\t" 43 ?cursor = 0,79 44 45RESET 46 47!Index 48PUSH "ABC\eD" 49 ?cursor = 1,3 50!Reverse Index 51PUSH "\eM" 52 ?cursor = 0,3 53!Newline 54PUSH "\eE" 55 ?cursor = 1,0 56 57RESET 58 59!Cursor Forward 60PUSH "\e[B" 61 ?cursor = 1,0 62PUSH "\e[3B" 63 ?cursor = 4,0 64PUSH "\e[0B" 65 ?cursor = 5,0 66 67!Cursor Down 68PUSH "\e[C" 69 ?cursor = 5,1 70PUSH "\e[3C" 71 ?cursor = 5,4 72PUSH "\e[0C" 73 ?cursor = 5,5 74 75!Cursor Up 76PUSH "\e[A" 77 ?cursor = 4,5 78PUSH "\e[3A" 79 ?cursor = 1,5 80PUSH "\e[0A" 81 ?cursor = 0,5 82 83!Cursor Backward 84PUSH "\e[D" 85 ?cursor = 0,4 86PUSH "\e[3D" 87 ?cursor = 0,1 88PUSH "\e[0D" 89 ?cursor = 0,0 90 91!Cursor Next Line 92PUSH " " 93 ?cursor = 0,3 94PUSH "\e[E" 95 ?cursor = 1,0 96PUSH " " 97 ?cursor = 1,3 98PUSH "\e[2E" 99 ?cursor = 3,0 100PUSH "\e[0E" 101 ?cursor = 4,0 102 103!Cursor Previous Line 104PUSH " " 105 ?cursor = 4,3 106PUSH "\e[F" 107 ?cursor = 3,0 108PUSH " " 109 ?cursor = 3,3 110PUSH "\e[2F" 111 ?cursor = 1,0 112PUSH "\e[0F" 113 ?cursor = 0,0 114 115!Cursor Horizontal Absolute 116PUSH "\n" 117 ?cursor = 1,0 118PUSH "\e[20G" 119 ?cursor = 1,19 120PUSH "\e[G" 121 ?cursor = 1,0 122 123!Cursor Position 124PUSH "\e[10;5H" 125 ?cursor = 9,4 126PUSH "\e[8H" 127 ?cursor = 7,0 128PUSH "\e[H" 129 ?cursor = 0,0 130 131!Cursor Position cancels phantom 132PUSH "\e[10;78H" 133 ?cursor = 9,77 134PUSH "ABC" 135 ?cursor = 9,79 136PUSH "\e[10;80H" 137PUSH "C" 138 ?cursor = 9,79 139PUSH "X" 140 ?cursor = 10,1 141 142RESET 143 144!Bounds Checking 145PUSH "\e[A" 146 ?cursor = 0,0 147PUSH "\e[D" 148 ?cursor = 0,0 149PUSH "\e[25;80H" 150 ?cursor = 24,79 151PUSH "\e[B" 152 ?cursor = 24,79 153PUSH "\e[C" 154 ?cursor = 24,79 155PUSH "\e[E" 156 ?cursor = 24,0 157PUSH "\e[H" 158 ?cursor = 0,0 159PUSH "\e[F" 160 ?cursor = 0,0 161PUSH "\e[999G" 162 ?cursor = 0,79 163PUSH "\e[99;99H" 164 ?cursor = 24,79 165 166RESET 167 168!Horizontal Position Absolute 169PUSH "\e[5`" 170 ?cursor = 0,4 171 172!Horizontal Position Relative 173PUSH "\e[3a" 174 ?cursor = 0,7 175 176!Horizontal Position Backward 177PUSH "\e[3j" 178 ?cursor = 0,4 179 180!Horizontal and Vertical Position 181PUSH "\e[3;3f" 182 ?cursor = 2,2 183 184!Vertical Position Absolute 185PUSH "\e[5d" 186 ?cursor = 4,2 187 188!Vertical Position Relative 189PUSH "\e[2e" 190 ?cursor = 6,2 191 192!Vertical Position Backward 193PUSH "\e[2k" 194 ?cursor = 4,2 195 196RESET 197 198!Horizontal Tab 199PUSH "\t" 200 ?cursor = 0,8 201PUSH " " 202 ?cursor = 0,11 203PUSH "\t" 204 ?cursor = 0,16 205PUSH " " 206 ?cursor = 0,23 207PUSH "\t" 208 ?cursor = 0,24 209PUSH " " 210 ?cursor = 0,32 211PUSH "\t" 212 ?cursor = 0,40 213 214!Cursor Horizontal Tab 215PUSH "\e[I" 216 ?cursor = 0,48 217PUSH "\e[2I" 218 ?cursor = 0,64 219 220!Cursor Backward Tab 221PUSH "\e[Z" 222 ?cursor = 0,56 223PUSH "\e[2Z" 224 ?cursor = 0,40 225