Портал аспирантов

Портал аспирантов (http://www.aspirantura.spb.ru/forum/index.php)
-   Свободное общение (http://www.aspirantura.spb.ru/forum/forumdisplay.php?f=102)
-   -   Cyberden (форумный IT-клуб) (http://www.aspirantura.spb.ru/forum/showthread.php?t=12184)

Paul Kellerman 01.11.2013 11:36

Цитата:

Сообщение от Dikoy (Сообщение 401167)
Вот кто как на 10 делит?

Цитата:

Сообщение от Paul Kellerman (Сообщение 401190)
Для беззнаковых 32-битных целых:
mov eax,value
mov edx,1999999Ah
mul edx
mov eax,edx

Для знаковых 32-битных целых нужно использовать команду
imul и увеличивать частное на 1 при отрицательном делимом.

mov eax,value
mov edx,1999999Ah
imul edx
bt edx,31
adc edx,0
mov eax,edx

Rendido 02.11.2013 19:11


Paul Kellerman 03.11.2013 17:06

Цитата:

Сообщение от Dikoy (Сообщение 401167)
Вот кто как на 10 делит?

Окончательная версия (с учетом ошибок округления), которая дает точные результаты,
полностью совпадающие с результатами idiv by 10 на всем диапазоне -2^31...2^31 - 1.

mov eax,value
mov edx,66666667h
imul edx
sar edx,2
bt edx,31
adc edx,0
mov eax,edx

P.S. То есть 32-битные знаковые целые надо умножать на ((2^34)/10) и сдвигать на 34 бита.

Dikoy 03.11.2013 22:17

Плохо, что в разрядность не влезает...

Paul Kellerman 03.11.2013 22:37

Задействованы только два 32-битных регистра и ничего более.
А городить цепочку сдвигов и суммирований - длинно и долго,
но при особом дефиците регистров возможно это оправдано.

Paul Kellerman 05.11.2013 10:44

.....

Степан Капуста 06.11.2013 11:15

Цитата:

Сообщение от Paul Kellerman (Сообщение 401190)
Для беззнаковых 32-битных целых:

mov eax,value
mov edx,1999999Ah
mul edx
mov eax,edx

А для RISC-подбных камней слабо?

Paul Kellerman 06.11.2013 15:41

Цитата:

Сообщение от Dikoy (Сообщение 401167)
Вот кто как на 10 делит?

Оптимизированный вариант кода, который генерирует компилятор
Intel C++ Compiler v10 для деления знаковых 32-битных целых на 10.

mov ecx,value
mov eax,66666667h
imul ecx
sar ecx,31
sar edx,2
sub edx,ecx
mov eax,edx

P.S. Самый быстрый вариант, который мне попадался.

Цитата:

Сообщение от Степан Капуста (Сообщение 403258)
А для RISC-подбных камней слабо?

Тебе надо - ты и придумывай, и проверяй, а мы оценим твои наработки ;)

Paul Kellerman 11.11.2013 09:00

Электрическая схема (по сути виртуальный стенд) в среде NI Multisim 10 для изучения циклического кодирования и декоди-
рования информации. Циклический код (7, 4): 4 информационных и 3 контрольных бита, исправляет одиночные искажения.
http://www.aspirantura.spb.ru/forum/...pictureid=1394
1) Переключатель J1 задает режим работы кодера. Нижнее положение переводит схему в исходное состояние «сброса»,
верхнее положение запускает процедуру кодирования и передачи информации в течение 7 тактовых импульсов.

2) Набор перемычек J2 задают значение 4 информационных разрядов на стороне кодера. Нижнее положение перемычки
соответствует значению «0» для разряда.

3) Светодиод CLK отображает тактовые импульсы. Светодиод CON загорается при завершении кодирования (вычисления
контрольных разрядов). Светодиод RDY загорается при завершении передачи всех 7 разрядов в канал связи.

4) Индикатор UL1 отображает в шестнадцатеричном эквиваленте 4 информационных разряда, индикатор UL2 отображает
3 контрольных разряда на стороне кодера.

5) Набор перемычек J3 задают искажения 7 разрядов, передаваемых по каналу связи. Нижнее положение перемычки соот-
ветствует отключенному состоянию (не вносит искажение). Фактическое искажение информации происходит при работе
кодера, который выполняет кодирование и передачу информации в канал связи.

6) Индикатор UL3 - отображает в шестнадцатеричном эквиваленте 4 информационных разряда, а индикатор UL4 отобража-
ет 3 контрольных разряда, прошедших через канал связи с учетом искажений.

7) Переключатель J4 задает режим работы декодера. Нижнее положение переводитсхему в исходное состояние «сброса»,
верхнее положение – запускает процедуру приема и исправления информации в течение 14 тактовых импульсов.

8) Индикатор UL5 отображает в шестнадцатеричном эквиваленте 4 информационных разряда, а индикатор UL6 отображает
3 контрольных разряда на стороне декодера. Индикатор UL7 отображает в шестнадцатеричном эквиваленте 3 разряда син-
дрома искажений, вычисляемого на стороне декодера.

9) Светодиод CLK отображает тактовые импульсы. Светодиод CON загорается при завершении приема всех 7 разрядов из
канала связи. Светодиод RDY загорается при завершении декодирования (исправления информации).

P.S. Составил и отладил Paul Kellerman.

Дмитрий В. 03.12.2013 23:56

Дорогие гуру! Есть вопрос. Почитал на досуге про SQL-инъекции, среди прочего нашел статью по ссылке. Написано просто, даже с картинками. Но вот потом там пример идет - небольшое приложение, где нужно залогиниться с учетом полученных знаний об admin'--. Радостно скачал, но даже дальше 1 уровня продвинуться не могу. А интересно же, и, главное, непонятно, ЧЯДНТ. Везде, где успел прочитать, описывается использование user';--, user' or 1=1-- и т.п., а подобное это приложение не берет. Даже на 1 уровне, который, по идее, для нубов вроде меня.
П.С. Если что - ничего противозаконного ;)

Paul Kellerman 04.12.2013 18:23

Блин, зря скачал... Реально работающие проги и утилиты редко выкладывают.
А вот всякие вирусы и трояны под видом корма для кулцхакеров - этого полно.

Дмитрий В. 04.12.2013 18:24

Paul Kellerman, что, троян, really? :(

Paul Kellerman 04.12.2013 18:30

Очень вероятно. Тем более сам видишь, ни хрена не работает.
В андерграунде даже платного сыра нет, только минное поле.

Дмитрий В. 04.12.2013 18:33

Paul Kellerman, я антивирем сканировал перед запуском, тот ничего вроде не обнаружил. Я так подумал - раз эта штука не просто "Login failed" на все отвечает, но и SQLем ругается, значит, разгадка должна быть...

Paul Kellerman 04.12.2013 18:37

В лучшем случае просто глючный и недоделанный нюк.


Текущее время: 04:33. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, vBulletin Solutions, Inc. Перевод: zCarot
© 2001—2025, «Аспирантура. Портал аспирантов»