Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Asm: Общие вопросы > MASM32 разность чисел


Автор: luberppl 11.6.2014, 17:41
здравствуйте. помогите с программой в MASM. Для микроконтролера intel МК51.
В регистре DPTR сформировать разность двубайтного числа (порты Р0 и Р1) и однобайтного (порт Р2).
Спасибо кто откликнется.

Автор: tzirechnoy 11.6.2014, 21:41
А в P0/P1 -- который байт старшый, а который младшый?

Впрочем, в любом случае -- очищаешь флаг переноса, берёшь младшый байт двухбайтового в аккумулятор, вычитаешь значение по адресу P2, записываешь аккумулятор в DPL, берёшь старшый байт двухбайтового в аккумулятор, вычитаешь из него 0, записываешь аккумулятор в DPH.

Правильным было бы после этого проверить флаг переноса и как-нибудь выматериться или отменить работу если он взведён -- но на это обычно забивают, считая, что значения на вход поданы вменяемые, и не стоит на это тратить такты процэссора и байты памяти.

Автор: luberppl 12.6.2014, 19:40
Спасибо, разобрался.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)