Простой 8086 сравнить инструкцию
В последнее время у меня есть домашнее задание по сборке 8086, я пытаюсь использовать инструкцию CMP, но не могу сделать это правильно. Вот код:
MOV AL, 88h
CMP AL, 24h
JL exit
label:
mov al,4h
exit:
RET
когда я отлаживаю его, после jl он сразу переходит exit:
но следующий код работает нормально
MOV AL, 88
CMP AL, 24
JL exit
label:
mov al,4h
exit:
RET
почему это происходит?
1 ответ
Решение
JL использует подписанное условие. С точки зрения подписи 88h - отрицательное число. Если вы хотите, чтобы 24 часа обрабатывались как менее 88 часов, у вас есть пара вариантов - наиболее очевидным было бы использование условия без знака, что означало бы использование jb
вместо jl
,