/ a = c :: ' '; jc L9; /* && ' '!1 >?@@៟'$0'9$#៟៟  ခ  ៟#៟#!0#$!0៟ <8 # <8 ៟= NEWLINE; */ *(hl = col) = 0; /* t->col = 0; */ c = '\r'; jmp done /* return '\r'; */ L11: /else (*(hl = line)) + 1; /* t->line++; */ c = '\n'; jmp done /* return NEWLINE; */ L10: a :: '\t'; jnz L13; /* case TAB: */ /* move the column value to the next tab stop */ /* saving the old value on the way */ a = *(hl = col) -> b & 0370 + 8 -> *hl; a = mode & XTABS; jz L12; /* if (mode & XTABS) */ /* t->nextc = ~oldcol & 7; */ /* prime nextc with the remaining space count */ a = b =! a & 7 -> *(hl = nextc); c = ' '; jmp done /* return SPACE; */ L12: c = '\t'; jmp done /* return TAB */ L13: a :: '\b'; jnz done /* case BACKSPACE: */ hl = col; c = '\b'; /* preload return value */ a = *hl | a; jz done /* if (t->col != 0) */ (*hl) - 1; /* tty->col--; */ jmp done /* return BACSPACE; */ /* default: return c; */ done: ei / for profile nop di ret