Значения флагов:
|
CF
|
SF
|
ZF
|
операнд 1 < операнд 2
|
1
|
1
|
0
|
операнд 1 = операнд 2
|
0
|
0
|
1
|
операнд 1 > операнд 2
|
0
|
0
|
0
|
Инструкции условного перехода JG и JL
Инструкции используют значения флагов CF, SF и ZF, ко- торые изменяются инструкцией CMP. Таким образом, можно сначала сравнить два числа, а затем сделать условный переход в другую точку программы по результатам сравнения. Если значение первого операнда инструкции CMP меньше второго, то инструкция JL ds:адрес приведет к переходу по этому адре- су, а если значение первого операнда инструкции CMP больше второго, то к переходу приведет инструкция JG ds:адрес.
Пример:
mov bx,0001h; заносим в bx значение 1 mov cx,0002h; заносим в cx значение 2
cmp cx,bx; сравниваем значения из cx и dx
jg ds:150h; если значение в cx больше, чем значение в bx, то переходим к адресу ds:150h, иначе переходим к следующей инструкции
jl ds:180h; если значение в cx меньше, чем значение в bx, то переходим к адресу ds:150h
Практическая часть
Задание. В отладчике DEBUG написать программу, позволяющую вводить с клавиатуры одноразрядные числа, сравнивать их и выводить наибольшее из них. Сохранить программу на диск.
Записать команды отладчика DEBUG и код программы в порядке выполнения.
Достарыңызбен бөлісу: |