[Ответить в тред] Ответить в тред

02/12/16 - Конкурс визуальных новелл доски /ruvn/
15/11/16 - **НОВЫЙ ФУНКЦИОНАЛ** - Стикеры
09/10/16 - Открыта доска /int/ - International, давайте расскажем о ней!

Check this out!

Новые доски: /2d/ - Аниме/Беседка • /wwe/ - WorldWide Wrestling Universe • /ch/ - Чатики и конфочки • /int/ - International • /ruvn/ - Российские визуальные новеллы • /math/ - Математика • Создай свою

[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 6 | 1 | 3
Назад Вниз Каталог Обновить

Аноны, помогите решить простенькую задачку на Аноним (Microsoft Windows 7: Chromium based) 20/02/17 Пнд 16:48:29  1968905  
parsoedrez.png (2Кб, 232x75)
Аноны, помогите решить простенькую задачку на ассемблере.
И так смысл в том, что формулу на пике надо воссоздать в ассемблере. Вот что у меня получилось, но ничего не работает. Хелпоните плиз.

use16
org 100h
mov di,10
mov bp,10
mov sp,10
mul di,dp ; didp ответ записывается в di
mul di,sp ; di
sp ответ записывается в di
mov bx,10
mov cx,10
mov si,10
add bx,cx ; bx+cx ответ записывается в bx
add bx,si ; bx+si ответ записывается в bx
div di ; di/bx ответ записывается в â di
mov ax,4c00h
int 21h
Аноним (Microsoft Windows 7: Chromium based) 21/02/17 Втр 20:38:55  1969797
>>1969773
По учебе задание сделать прогу в ассемблере, в нем первый раз работаю, че сказали в начали и конце писать, то и написал
Аноним (Microsoft Windows 7: Firefox based) 23/02/17 Чтв 13:58:45  1971552
>>1968905 (OP)

Что за процессор? > use16 - не i286?

Напишу для 386-го (будет все целочисленно, как fpu юзать не знаю)
mov eax,r1
add eax,r2
add eax,r3
push eax
mov eax,r1
mul eax,r2
mul eax,r3
pop ebx
div eax,ebx

//это типа вывод в консоль?
mov ax,4c00h
int 21h

по хорошему еще всю эту фигню надо на переполнения проверять.
Аноним (Microsoft Windows 7: Chromium based) 23/02/17 Чтв 16:25:58  1971646
>>1971552
Спасибо братишка
Аноним (Microsoft Windows 7: Firefox based) 23/02/17 Чтв 19:37:44  1971728
>>1971646
Я вообще-то немного наебался с семантикой mul

mov edx,r1
add edx,r2
add edx,r3
mov eax,r1
mul r2
mul r3
div edx

Результат в eax
Как вывести целое число не знаю. Скорее всего придется поразрядно делить на 10, остатку прибавлять код символа '0', кидать в стек. Потом вытаскивать куда-то в память, добивать признаком конца строки и делать системный вызов чтобы вывести эту строку.
Аноним (BSD: SeaMonkey) 23/02/17 Чтв 21:05:26  1971767
>>1971552
>//это типа вывод в консоль?
нет, это завершение процесс в DOS
итого ОП понятия не имеет для чего нужны регистры (один только перл с регистром для стека чего стоит) и никуда ничего не выводит.

потом говорит что НИЧИВО НИ РАБОТАИТ
Аноним (BSD: SeaMonkey) 23/02/17 Чтв 21:11:41  1971772
>>1971728
да, надо конвертить число в строку, что для нецелых далеко не тривиальная задача. Скорее всего проще найти готовый пример.

[Назад][Обновить тред][Вверх][Каталог] [Реквест разбана] [Подписаться на тред] [ ] 6 | 1 | 3
Назад Вверх Каталог Обновить

Топ тредов
Избранное