На разных языках ассемблера MUL (x86) / MULT (mips) относятся к умножению. Это черный ящик для программиста. Меня интересует, как на самом деле процессор выполняет умножение независимо от архитектуры. Допустим, у меня есть два 16-разрядных значения в моих регистрах, и я являюсь процессором, поэтому я должен реализовать MUL, используя другие имеющиеся у меня инструкции по обработке битов (и, или, xor, not, shl, shr и т. Д.). Что мне делать?