• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Деление 16-разрядных чисел

  • Автор темы lazynov
  • Дата начала
L

lazynov

Как на ассме целочисленно разделить 25000 на число из промежутка от 1 до 80 включительно?
 
B

BVS

Для: lazynov
Код:
 n equ						;число из промежутка от 1 до 80 включительно
xor		edx, edx
mov	  eax, 25000
mov	  ebx, n
div		 ebx			 ;в EAX - частное, в EDX - остаток
 
L

lazynov

Для: lazynov
Код:
 n equ					;число из промежутка от 1 до 80 включительно
xor		edx, edx
mov	  eax, 25000
mov	  ebx, n
div		 ebx			;в EAX - частное, в EDX - остаток
Ну спасибо! Только я не совсем тупак! :)
Уточняю: Как целочисленно разделить 25000 на число от 1 до 80 НЕ ИСПОЛЬЗУЯ функцию деления! Т.е. реализация функции div или что-то вроде того!

Но все равно спасибо!
 
B

BVS

<!--QuoteBegin-lazynov+20:07:2007, 21:40 -->
<span class="vbquote">(lazynov @ 20:07:2007, 21:40 )</span><!--QuoteEBegin-->НЕ ИСПОЛЬЗУЯ функцию деления!
[snapback]72866" rel="nofollow" target="_blank[/snapback]​
[/quote]
А что в моём коде используется хоть одна функция.

<!--QuoteBegin-lazynov+20:07:2007, 21:40 -->
<span class="vbquote">(lazynov @ 20:07:2007, 21:40 )</span><!--QuoteEBegin-->Т.е. реализация функции div
[snapback]72866" rel="nofollow" target="_blank[/snapback]​
[/quote]
Ну если тебе нужно написать функцию деления, то сразу бы так и сказал.
Берешь листок бумаги, пишешь на нём 25000 в двоичном коде, и делишь его на свое число (тоже в двоичном коде) в столбик.<!--QuoteBegin-lazynov+20:07:2007, 21:40 -->
<span class="vbquote">(lazynov @ 20:07:2007, 21:40 )</span><!--QuoteEBegin-->Только я не совсем тупак!
[snapback]72866" rel="nofollow" target="_blank[/snapback]​
[/quote] Поэтому, я думаю, что ты сможешь запомнить все проделанные действия на бумаги, и вывести алгоритм деления с использованием только команд сдвига и вычитания.
 
L

lazynov

А что в моём коде используется хоть одна функция.
Ну если тебе нужно написать функцию деления, то сразу бы так и сказал.
Берешь листок бумаги, пишешь на нём 25000 в двоичном коде, и делишь его на свое число (тоже в двоичном коде) в столбик. Поэтому, я думаю, что ты сможешь запомнить все проделанные действия на бумаги, и вывести алгоритм деления с использованием только команд сдвига и вычитания.
Тольео етот алгоритм довольно медленный, что совсем не подходит!
 
B

BVS

<!--QuoteBegin-lazynov+21:07:2007, 10:57 -->
<span class="vbquote">(lazynov @ 21:07:2007, 10:57 )</span><!--QuoteEBegin-->Тольео етот алгоритм довольно медленный, что совсем не подходит!
[snapback]72888" rel="nofollow" target="_blank[/snapback]​
[/quote]
Создай массив на 80 элементов в который размести результат деления:
в 1 элемент - 25000 / 1
в 2 элемент - 25000 / 2
в 3 элемент - 25000 / 3
и т. д.

А потом когда твое число нужно будет разделить, просто выбери из массива готовый результат.
Быстрее врядли получится :(
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!