Простой 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,

Другие вопросы по тегам