Here is code from Tir Na Nog, hex offset a207 subroutine

One thing it displays is a goto out of 2 loops. If we had a 'break' it would only jump out of 1 loop. This way, it gets out of 2 loops if LLocal2 is 0.

In: if ((Global_98 >= 0)) it is probably a carry check, so this is a signed char. What it means is, that if the carry overflows, we increment the hi-byte (Global_99).

void tirnanog.usub_a207.txt() {
Global_47688 = Global_98;
Global_47689 = Global_99;
Global_47690 = (0 C:+ Global_224);
Global_47691 = Global_225;
Global_96 = 76;
Global_97 = 186;
LLocal2 = Global_47690;
do {
        do {
                LLocal1 = (Global_47691 - 1);
                do {
                        *Global_96[LLocal1] = *Global_98[LLocal1];
                        LLocal1 = (LLocal1 - 1);
                } while (LLocal1 >= 0);//LoopEndWh A234
                LLocal2 = (LLocal2 - 1);
                if (LLocal2 == 0)
                        goto Label_0;
                Global_98 = (Global_98 + 64);
                if ((Global_98 >= 0)) {
                        Global_99 = (Global_99 + 1);
                }//EndIF; A242
                Global_96 = (Global_96 + Global_47691);
        } while (! Global_96);//LoopEndWh A24C
        Global_97 = (Global_97 + 1);
}//LoopEnd A250
Label_0:;
Global_98 = Global_47688;
Global_99 = Global_47689;
return();// A25D
};