Поиск:

Ответ в темуСоздание новой темы Создание опроса
> простая математика на асме, почему не работает? 
:(
    Опции темы
turbanoff
Дата 30.12.2005, 11:48 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Есть 4 переменные(2-х байтотвые): a,b,x,y
Нужно вычислить:
((A* X^2) div (B * X^2)) div (X * Y + 1)
Вводя 1 переменную(например tmp для вывода ответа)
Желательно тоже 2-х байтовую.
Я написал алгоритм, но сотрицательными числами глючит, объясните почему?
Можете прислать на [email protected]/
Мой алгоритм

Код

pusha
      pushf

      mov ax,x
      imul x
      mov bx,ax 
      mov ax,b
      imul bx

      xor ecx,ecx
      mov cx,dx
      shl ecx,8
      add cx,ax

      mov ax,a
      imul bx

      xor ebx,ebx
      mov bx,dx
      shl ebx,8
      add bx,ax 

      mov eax,ebx
      xor edx,edx
      idiv ecx

      mov ecx,eax 
      mov ax,x
      imul y
      xor ebx,ebx
      mov bx,dx
      shl ebx,8
      add bx,ax  
      add ebx,1  

      mov eax,ecx
      xor edx,edx
      idiv ebx

      mov tmp,eax
      popf
      popa


  Вверх
Janus
Дата 30.12.2005, 14:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 186
Регистрация: 26.9.2005

Репутация: нет
Всего: 1



Что значит "глючит"? Не выдает ожидаемого ответа? А ты думаешь, как отрицательные числа хранятся?
--------------------
Проект "Репликатор" 
PM MAIL   Вверх
turbanoff
Дата 30.12.2005, 15:13 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











подскажи, как правильно, пожалуйста!!![color=skyblue][/color]
  Вверх
Гость_Ring0D
Дата 1.1.2006, 11:46 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











С наступившим Новым Годом вас господа !
Подскажите пожалуйста : как правильно надо заполнить структуры такого вида :
tkp.PrivilegeCount := 1;
tkp.Privileges[0].Luid := SeDebugNameValue;
tkp.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;


Я хочу перевести функцию получения SeDebugPrivilege с Дельфи на ассемблер, пока вот что получилось :


.586p
.model flat, stdcall
option casemap :none

include \MASM32\INCLUDE\windows.inc
include \MASM32\INCLUDE\kernel32.inc
include \MASM32\INCLUDE\shell32.inc
include \MASM32\INCLUDE\advapi32.inc

includelib \MASM32\LIB\kernel32.lib
includelib \MASM32\LIB\shell32.lib
includelib \MASM32\LIB\advapi32.lib


.data
R TOKEN_PRIVILEGES <>
hToken dd ?
SeDebug dd ?
Se db "SeDebugPrivilege",0

.code

start:
;****************
invoke GetCurrentProcess
;****************
invoke OpenProcessToken, eax, TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, hToken
;****************
invoke LookupPrivilegeValue, 0, offset Se, SeDebug
;****************
mov R.PrivilegeCount, 1
mov R.Privileges.Luid, SeDebug
;****************
ret
end start
  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm: Общие вопросы"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0416 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.