edi = 0 # output file index edx = 0 # ediMax NUMBER: edx = max(edx, edi) ebx = null # acc BYTE: al = GetByte() if al is Whitespace: if ebx not null: [obuf+edi] = bl; edi++ jump NUMBER if al is Numeral: ebx = sixteen * ebx + value(al); jump BYTE GetByte(): if more input, return the next input byte; else WRITE() WRITE(): syscall write the output program (edx bytes); exit