Аноны, помогите решить простенькую задачку на ассемблере.И так смысл в том, что формулу на пике надо воссоздать в ассемблере. Вот что у меня получилось, но ничего не работает. Хелпоните плиз.use16org 100hmov di,10mov bp,10mov sp,10mul di,dp ; didp ответ записывается в dimul di,sp ; disp ответ записывается в dimov bx,10mov cx,10mov si,10add bx,cx ; bx+cx ответ записывается в bxadd bx,si ; bx+si ответ записывается в bxdiv di ; di/bx ответ записывается в â dimov ax,4c00hint 21h
>>1969773По учебе задание сделать прогу в ассемблере, в нем первый раз работаю, че сказали в начали и конце писать, то и написал
>>1968905 (OP)Что за процессор? > use16 - не i286?Напишу для 386-го (будет все целочисленно, как fpu юзать не знаю)mov eax,r1add eax,r2add eax,r3push eaxmov eax,r1mul eax,r2mul eax,r3pop ebxdiv eax,ebx//это типа вывод в консоль?mov ax,4c00hint 21hпо хорошему еще всю эту фигню надо на переполнения проверять.
>>1971552Спасибо братишка
>>1971646Я вообще-то немного наебался с семантикой mulmov edx,r1add edx,r2add edx,r3mov eax,r1mul r2mul r3div edxРезультат в eaxКак вывести целое число не знаю. Скорее всего придется поразрядно делить на 10, остатку прибавлять код символа '0', кидать в стек. Потом вытаскивать куда-то в память, добивать признаком конца строки и делать системный вызов чтобы вывести эту строку.
>>1971552>//это типа вывод в консоль?нет, это завершение процесс в DOSитого ОП понятия не имеет для чего нужны регистры (один только перл с регистром для стека чего стоит) и никуда ничего не выводит.потом говорит что НИЧИВО НИ РАБОТАИТ
>>1971728да, надо конвертить число в строку, что для нецелых далеко не тривиальная задача. Скорее всего проще найти готовый пример.