Пример - хранение флагов неких состояний.
Чтобы не использовать для хранения одного состояния (0 или 1) целого байта - берем байт, и устанавливаем некий флаг - к примеру в определенном бите:
mov ah, myflag
or ah, b00001000 # установили флаг
mov myflag, ah # обратно сохранили в переменную
...
mov ah, myflag # берем обратно нашу переменную
and ah, b00001000 # и проверяем наше состояние
jz прыгнули_ если_флаг_равен_0
...
mov ah, myflag # берем обратно нашу переменную
and ah, b00000010 # проверяем наше состояние в каком-то другом бите
jz прыгнули_ если_флаг_равен_0
Таким образом - в одном байте мы храним 8 состояний
А эти состояния - могут быть к примеру - некая двумерная матрица - к примеру для игры в морской бой 10x10 где 1-это наличие корпуса корабля в клетке 0 -отсутствие
И вместо хранения 10*10 = 100 байт мы будем хранить 10*10//8 = 12+1 = 13 байт с учетом остатка
13 байт против 100 байт - экономия существенная, особенно если у нас ограничение по ресурсам (микроконтроллеры)