Fixed interesting bug with zeroing bss segment

was overwriting the variables used to do the initializations. Moved
those into registers. Was interesting because this only happened with
the optimization level was dropped.