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: