Non structured structured programing

Writing some code, for speed I have the loop

! normialize a number
Norm
 bne norm1
 bra normialize.zero
normt
 shift left  r1
 dec r2
norm1
 bra not normialized  norm
..
! normalizeed number r1
! exponent r2

Do any modern languages let you write this other than

if(man==0) goto zero;
goto end;
do{
man = man << 1;
exp–;
end:
}
until( bit #n in man == 1);

You want to skip the body in some circumstances, so

while (condition) do {
   actions
}

is the right shape. The condition needs to combine the test for zero and the test for not-yet-normalised.

(defun normalize (man exp &optional (word-size 16))
  (if (zerop man)
    (values 0 0)
    (loop with mask = (ash 1 (1- word-size))
          for m = man then (ash m 1)
          for e = exp then (1- e)
          until (plusp (logand m mask))
          finally (return (values m e)))))

What LISP like language is this?

Common Lisp, ANSI INCITS 226-1994