Task

Produce a sequential count in octal,   starting at zero,   and using an increment of a one for each consecutive number.

Each number should appear on a single line,   and the program should count until terminated,   or until the maximum value of the numeric type in use is reached.



Related task

   Integer sequence   is a similar task without the use of octal numbers.


PROC PrintOctal(CARD v)
  CHAR ARRAY a(6) 
  BYTE i=[0]
 
  DO 
    a(i)=(v&7)+'0
    i==+1
    v=v RSH 3
  UNTIL v=0
  OD
 
  DO
    i==-1
    Put(a(i))
  UNTIL i=0
  OD
RETURN
 
PROC Main()
  CARD i=[0]
 
  DO 
    PrintF("decimal=%U octal=",i)
    PrintOctal(i) PutE()
    i==+1
  UNTIL i=0
  OD
RETURN