// valid asm, but with unnecessary whitespace, = and ; @ 0 // unnecessary space D=M @INFINITE_LOOP =D;JLE // unnecessary = @counter M=D; // unnecessary ; @SCREEN D = A // unnecessary spaces @address M = D; // unnecessary spaces and ; ( LOOP ) // unnecessary spaces @address A=M M=-1 @address D=M @32 D=D+A @address M=D @counter MD=M-1 @LOOP D;JGT (INFINITE_LOOP) @INFINITE_LOOP 0;JMP