Main endp
Ret
Code
Имя endp
Ret
Процедуры
Команды условного перехода и флаги
End start
Mov bx,0
Code
Data
n equ 50; в сегменте данных выделяется const=50
pole db n dup(?)
start:
m1:
mov pole [bx],0; обнуляется массив данных в m1
inc bx; увеличивается bx на 1
cmp bx,n; сравниваем bx с n
jne m1; если bx ≠ n, то переход в m1 для обнуления
…; если bx=50, то выходим из программы.
Команды передачи управления анализируют состояния флагов
jc/jnc - cf=1/0 – флаг переноса
jp/jnp - pf=1/0 – флаг паритета
jz/jnz - zf=1/0 – флаг нуля
js/jns - sf=1/0 – флаг знака
jo/jno - sf=1/0 – флаг переполнения
Это любой участок программы, который заканчивается директивой ret.
имя proc [модификатор]
…
…
…
Процедура может располагаться в начале сегмента кода, в центре, в конце, в другом модуле. Программист должен включить в программу команды обхода процедур.
1. Процедура в начале кодового сегмента
main proc near ; ближняя процедура
…
…
start:
…
…