Вопрос № 50545: Хотелось бы превратить оптимизированый код конверации регистра ax в код конвертации регистра eax, но что то я торможу
вот сам код писал очень давно под tasm :(...
Вопрос № 50.545
Хотелось бы превратить оптимизированый код конверации регистра ax в код конвертации регистра eax, но что то я торможу
вот сам код писал очень давно под tasm :(
Отвечает: Волков Павел Юрьевич
Здравствуйте, Бертыш,Андрей,Владимирович/Ламер!
Инструкция aam - без параметров. Неоптимизированный код для dword: mov eax,12345678h ;число для перевода mov di,offset string ;помещаем число в строку mov ebx,0 ;счетчик цифр mov ecx,10 ; необходимая система счисления @@: mov edx,0 ;подготовка к делению div ecx push edx ;сохраняем остаток inc ebx or eax,eax ;проверяем делимое на ноль jz @f jmp @b xchg ecx,ebx cld @@: pop eax or eax,30h ;перевод в ascii stosb loop @b Оптимизировать можно через замену div на умножение обратного числа (с этим я еще не разобрался).
Успехов.
--------- Век живи, век учись.
Ответ отправил: Волков Павел Юрьевич (статус: 5-ый класс)
Ответ отправлен: 30.07.2006, 14:10