W powyższym przykładzie widać, że np. język C, choć jest niewątpliwie językiem wysokiego poziomu, posiada cechy i mechanizmy umożliwiające pisanie niskopoziomowe, tzn. bliskie sprzętowi (stąd zresztą jego zastosowania w programowaniu systemowym).

Istnieje grupa języków wysokiego poziomu, którą można w powyższej hierarchii umieścić pomiędzy asemblerami a językami wysokiego poziomu i uznać za „strefę pośrednią”. Języki te przez literaturę przedmiotu określane są właśnie jako asemblerowe języki wysokiego poziomu, rzadziej jako asemblery strukturalne. Ten drugi termin jest jednak mylący, gdyż część autorów publikacji stosuje takie określenie do rozszerzeń samych asemblerów, tzn. do makroasemblerów w których stosuje się instrukcje strukturalne na zasadzie preprocesora.