У меня есть этот коддобавляющие 16 бит регистров
addInt:
add cx, bx
cmp cx, 0FFFFh
JBE convert
Я пытаюсь добавить Cx и BX регистров, каждый из которых имеет одинаковое значение FFFF
, вместо того, чтобы 1FFFE
, я получаю только FFFE
, и когда я попробуйте использовать JBE
, чтобы перейти к конвертированию цикла, JBE istruction ничего не делает, потому что ecx
теперь зарегистрирован только FFFE
, но не 1FFF
, так как я могу исправить этот код, чтобы сделать ecx
, содержит 1FFFE и как сравнить его, если он еще 16 бит или нет. Я не могу использовать какие-либо 32 битых регистры, которые делают вещи более сложными
Спасибо заранее
максимальное значение 16-битный регистр может содержать это 'FFFF' .. – Blorgbeard
Почему вы не можете использовать 32-разрядные регистры? (Это было бы намного проще, если бы вы использовали 'ecx'.) – michaelb958
Возможно, это поможет, если вы проверите' OF' (флаг переполнения) в 'FLAGS' после команды' add'. –