TABSTEP is a read-write integer system variable which determines how the TAB key, and the , delimiter in a PRINT statement, work. It contains a value between 0 and 16, inclusive. The default value is 4.

When the TAB button is pressed, the cursor moves to a column which is the next multiple of TABSTEP columns from the left-hand side (unless there is no such column, in which case the cursor will be at the end of the line, but the next character that gets printed will be at the very left of the next line down, with the screen scrolling up if necessary). In particular, if TABSTEP is 0, the TAB key essentially does nothing.

The , delimiter in a PRINT statement uses the value of TABSTEP in a similar way. If the text cursor is at the left of the screen, TABSTEP is 4, and the command PRINT"AB","CDEFG","H" is issued, then the system will print "AB", then two spaces (because the comma will move the cursor to the next multiple of 4), then "CDEFG", then 3 spaces, then "H". If the same command were issued when TABSTEP were 6, then it would print "AB", then 4 spaces, then "CDEFG", then 1 space, then "H". If TABSTEP were 5, it would print 5 spaces after "CDEFG": as long as TABSTEP is positive, a , will always print at least one space character, then the minimum number of extra spaces to bring the cursor to a column that's a multiple. If TABSTEP is 0, then no spaces will be printed: essentially, the , delimiter will work identically to the ; delimiter.

When assigning a value to TABSTEP, the value is rounded down if it is not an integer, then changed to 0 if it is negative or changed to 16 if it is greater than 16.