Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.09.2013, 16:36   #1
Satansoft
Пользователь
 
Регистрация: 24.11.2012
Сообщений: 40
Сообщение Арифметика и синтаксис на языке ассемблера

Верно ли составлен алгоритм представления на ассемблере такого выражения: y=((x^2-a*x)/b+2)-(x^3/3)-a^2*x
и как вывести на экран через API?

Особая не ясность: как подружить взаимодействие регистров различной разрядности?

Писалось на FASM под win32 консоль


Код:
format PE Console 4.0
entry Start
 
include 'win32a.inc'
 
section '.data' data readable writeable
y db 0
x db 1
a db 4                                  
b db 2
z db ?
p db ?
 
 
Start:
mov al, [x]
mul [x]
mov [z], al
mov al, [a]
mul [x]
sub [z], al
mov bl, [b]
add bl, 2
mov ax, [z]
div bl
mov ah, 0
mov [z], al
mov bl, [x]
mul [x]
mul [x]
mov  ax, bl
mov cl, 3
div cl
mov ah, 0
sub [z], ax
mov bl, [a]
mul [a]
mul [x]
sub [z], bl
 
Exit:
  invoke  ExitProcess, 0
Satansoft вне форума Ответить с цитированием
Старый 22.09.2013, 01:17   #2
Vapaamies
Ваш К. О.
Участник клуба
 
Аватар для Vapaamies
 
Регистрация: 26.12.2012
Сообщений: 1,799
По умолчанию

Цитата:
Сообщение от Satansoft Посмотреть сообщение
и как вывести на экран через API?
Получить STD_OUTPUT через GetStdHandle, подсунуть его во WriteFile, предварительно сформировав строку. Прекрасный пример перевода числа в строку есть в модуле FastMM:
Код:
function NativeUIntToStrBuf(ANum: NativeUInt; APBuffer: PAnsiChar): PAnsiChar;
asm
  // Хотел его сюда вставить, но не поместился.
  // На форуме стоит ограничение в 5000 символов на сообщение.
  // Предлагаю нагуглить, скачать и посмотреть самостоятельно.
end;
Цитата:
Сообщение от Satansoft Посмотреть сообщение
Особая не ясность: как подружить взаимодействие регистров различной разрядности?
Не понял, что имеется в виду. Есть XOR, есть MOVZX.
Vapaamies вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Примеры программ на языке ассемблера Intel® 64 и IA-32 8Observer8 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 19 27.11.2012 22:53
Составить на языке ассемблера IBM PC подпрорамму вычисления Airat1790 Помощь студентам 0 18.04.2012 13:39
На языке ассемблера IBM PC создать подпрограммы: Gertryda Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 09.01.2011 23:13