A expressão algoritmica Repeat-Until tem o seguinte formato:
repeat
accao
accao
...
until <condicao>
endrepeat
Esta expressão tem o mesmo significado que a expressão while-do com a diferença de que a condição é verificada apenas no fim de ser executada a sequência de acções. Isto faz com que a sequência de acções seja sempre executada uma vez, quer a condição se verifique, quer não.
Na linguagem Assembly do 8086 esta expressão é implementada com um jump condicional.
Por exemplo, o algoritmo:
repeat
AX=AX+1
until AX<BX
endrepeat
CL=7
...
Seria traduzido para linguagem Assembly do 8086 da seguinte forma:
REPETIR: INC AX
CMP AX, BX
JB REPETIR
ADD CL, 07H
...
Outra hipótese seria:
REPETIR: INC AX
CMP AX, BX
JNB FIMREPETIR
JMP REPETIR
FIMREPETIR: ADD CL, 07H
...
Se a sequência de instruções a repetir (sequência de instruções que está entre o Repeat e o Until contiver muitas instruções a segunda hipótese é a mais aconselhável, uma vez que, como já foi referido, os jumps condicionais são do tipo short.