LINUX.ORG.RU

История изменений

Исправление KivApple, (текущая версия) :

add ax, cx
adc dx, bx

Это код сложения 32-битного числа числа AX:DX и CX:BX (результат окажется в AX:DX) для процессора x86. Сколько тут команд? У всех остальных нормальных архитектур (в том числе RISC) есть аналогичные команды. RISC оно вообще только в том проявляется, что надо данные грузить в регистры прежде чем с ними что-то можно сделать. А набор команд работы с регистрами может быть весьма обширным (у ARM, например, вообще есть такие команды, о которых пользователи x86 могут только мечтать).

С вычитанием аналогичная ситуация. С умножением и делением чуть сложнее, но тоже не так уж и плохо. Если есть аппаратный умножитель/делитель. А, например, последнего у AVR нет (даже для 8 бит). Программная же реализация обычно линейно зависит от разрядности (в 2 раза больше разрядность - в 2 раза больше действий).

Исправление KivApple, :

add ax, cx
adc dx, bx

Это код сложения 32-битного числа числа AX:DX и CX:BX (результат окажется в AX:DX) для процессора x86. У всех остальных нормальных архитектур (в том числе RISC) есть аналогичные команды. RISC оно вообще только в том проявляется, что надо данные грузить в регистры прежде чем с ними что-то можно сделать. А набор команд работы с регистрами может быть весьма обширным (у ARM, например, вообще есть такие команды, о которых пользователи x86 могут только мечтать).

Исходная версия KivApple, :

add ax, cx
adc dx, bx

Это код сложения 32-битного числа числа AX:DX и CX:BX (результат окажется в AX:DX) для процессора x86. У всех остальных нормальных архитектур (в том числе RISC) есть аналогичные команды. RISC оно вообще только в том проявляется, что надо данные грузить в регистры прежде чем с ними что-то можно сделать. А набор команд работы с регистрами может быть весьма обширным.