
Сообщение от
Hunta
а уж вариант br !o3n5 и необходимость считать....
Что касается !o3 то найти не проблема если каждый уровень вложенности сдвигать на определенное число пробелов.
Что касается !n5 и !p5 то на практике такие конструкции вряд ли будут использоваться. В основном !n1 !p1, реже !n2 !p2, ну и совсем редко !n3 !p3.
Если нужно перепрыгнуть (обойти) несколько (скажем 5) инструкций, то эти 5 инструкций выделяются фигурными скобками в отдельный блок, который уже будет обходится как !n1
Пример конструкции if () {} else {}:
Код:
tst R0
bne !n1 ; if (R0 == 0)
{
mov R1,(R4)+
mov R2,(R4)+
mov R3,(R4)+
br !o1n1
} ; else
{
mov R1,(R0)+
mov R2,(R0)+
mov R3,(R0)+
}
Пример циклов:
Код:
mov R0,#40000
clr R1
mov R2,#20000
{ ; do
mov R1,(R0)+
sob R2,!o1p1
} ; while (R2)
Извиняюсь если с мнемоникой чего напутал, давно под DEC ничего не писал.