Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Assembler

Автор: bomzzz
Дата сообщения: 05.12.2011 22:34
ну в прицнипе да, так и получается - постепенно делаю то одно то другое, а потом уже готовые блоки использую - то есть фактически полуязык высокого уровня.
Автор: KChernov
Дата сообщения: 05.12.2011 22:39
У каждого свой путь.
Некоторые всё (начиная от оси) пишут с нуля сами.
Остальные предпочитают использовать готовые решения и концентрируются на решении проблемы.
У обоих решений есть свои плюсы и минусы.
Автор: indapublic
Дата сообщения: 08.12.2011 09:24

Цитата:
У каждого свой путь.

Слова истинного мудреца
Автор: indapublic
Дата сообщения: 08.12.2011 18:08
Вот уж не думал, что когда-нибудь буду спрашивать в этом разделе, но приятель не может решить задачу. Ему нужно умножить вещественное число на степень двойки, при этом он не хочет использовать fmul. Если ли специальная команда?
Автор: KChernov
Дата сообщения: 08.12.2011 18:20
indapublic

Цитата:
Ему нужно умножить вещественное число на степень двойки, при этом он не хочет использовать fmul. Если ли специальная команда?

Ну как бы это будет эквивалентно добавлению этой степени к порядку числа (только вот оно похоже именно в таком виде не хранится a*2^b).
А вот есть ли для этого специальная команда...
Для целого есть бинарный сдвиг.
Автор: indapublic
Дата сообщения: 08.12.2011 18:32
Спасибо, так и передам, пусть дальше сам думает и не дергает по пустякам.
Автор: Abs62
Дата сообщения: 08.12.2011 18:37
indapublic

Цитата:
Ему нужно умножить вещественное число на степень двойки, при этом он не хочет использовать fmul. Если ли специальная команда?

Есть - FSCALE.
Автор: KChernov
Дата сообщения: 08.12.2011 18:41
Abs62

Цитата:
Есть - FSCALE.

А как быть с этим:
Цитата:
если входное значение в ST(1) не целочисленное, то FSCALE использует ближайшее целое меньшее по величине,
? Или это от реализации зависит?
Автор: Abs62
Дата сообщения: 08.12.2011 18:44
KChernov
Вообще-то, под степенью двойки обычно понимают именно целую степень.
Автор: KChernov
Дата сообщения: 08.12.2011 18:53
Abs62

Цитата:
Вообще-то, под степенью двойки обычно понимают именно целую степень.

Криво прочитал - это как раз про степень двойки, а я подумал, что про множитель.
Автор: bomzzz
Дата сообщения: 09.12.2011 14:47
ни у кого нет нормального туториала по MMX SSE SSE2 на русском, чета не могу нагуглить ничего толкового даже на инглише
Автор: ItsJustMe
Дата сообщения: 10.12.2011 20:27
Google на запрос "SSE2 optimization" выдал нечто полезное (на мой непритязательный вкус, конечно). Что касается самих инструкций, то в Intel IA32 reference есть все
Автор: KChernov
Дата сообщения: 10.12.2011 20:35
Пара книг, где есть про SSE SSE2, попадалась.
Но это наверное не то.
Автор: bomzzz
Дата сообщения: 11.12.2011 01:09
надо было написать "хорошего туториала", просто понятного просто справочника: команда, описание, пример.
Автор: indapublic
Дата сообщения: 11.12.2011 04:35

Цитата:
Есть - FSCALE

Спасибо за подсказку
Автор: SpaceZero
Дата сообщения: 12.12.2011 18:54
bomzzz

Цитата:
ни у кого нет нормального туториала по MMX SSE SSE2 на русском, чета не могу нагуглить ничего толкового даже на инглише


Intel® 64 and IA-32 Architectures Software Developer’s Manual (начиная с главы 9).


Цитата:
надо было написать "хорошего туториала", просто понятного просто справочника: команда, описание, пример.


Тут есть описание некоторых комманд со схемами, только на английском.
Автор: bomzzz
Дата сообщения: 12.12.2011 21:22
http://www.tommesani.com/Docs.html - я вот этот и читал, лучше не нашел. http://neilkemp.us/src/sse_tutorial/sse_tutorial.html отсюда вышел тут получше одна часть написана.
ну я в принципе разобрался во всем, только времени убил караул. спасибо за ссылки
Автор: ItsJustMe
Дата сообщения: 12.12.2011 22:34
Да, действительно, вполне хорошие вещи. Спасибо, что выложил здесь ссылки
Автор: Mantikor123
Дата сообщения: 15.12.2011 15:21
нужна помощь.
есть задание:
Поставить в соответствие десятичным цифрам (0 - 9) азбуку, подобную азбуке Морзе (см. таблицу ниже). Преобразовать введенную с клавиатуры десятичную цифру в соответствующую последовательность точек, тире.

0    - - - - -    5    • • • • •
1    • - - - -       6    - • • • •
2    • • - - -      7    - - • • •
3    • • • - -     8   - - - • •
4    • • • • -     9   - - - - •

все что смог сделать(а если честно найти и разобраться), это только считывать какие клавиши нажаты и вывод их обозначение на экран.

Автор: bomzzz
Дата сообщения: 15.12.2011 15:40
Mantikor123
матрицу создай. каждой клавише соответсвует ячейка матрицы - с азбукой
Автор: Mantikor123
Дата сообщения: 15.12.2011 15:44
bomzzz
спс, но
а как потом вывод на экран оформить? ведь мне нужно к определенной обращаться...

P.S. я честно говоря только простейшие арфм. действия делал(( в ассе. Можно чуть подробней... Как именно сделать обращение к Определенной ячейки
Автор: bomzzz
Дата сообщения: 15.12.2011 15:44
0 - код 30h (48d) и так далее до 9-ки
каждой цифири надо сопоставить строку из 5 символов (байт) и нулем в конце если программа 32 битная. из кода клавиши отмаешь 48, получаешь номер ячейки. номер помножаешь на 6 чсило символов в йчеки и получаешь смешение на строку которую надо вывести - так примерна

Добавлено:

Цитата:
а как потом вывод на экран оформить? в

я даже не знаю 16 битная прога или 32 битная и что тебе надо.

Добавлено:
если 16 битная то прерывания 9-ое 21h вывод строки, строка должна заканчиваться не нудем а знаком '$'
Автор: Mantikor123
Дата сообщения: 15.12.2011 15:48
16_битная
спасибо. буду пробовать...
Автор: bomzzz
Дата сообщения: 15.12.2011 15:50
Matrix    db '-----','$'
    db '••---','$'
    db '•••--','$'
    db '••••-','$'
    db '•••••','$'

Добавлено:

    mov    ax, код клавиши
    sub    ax, 48
    mov    bx, 6
    mul    bx
    lea    dx, Matrix
    add    dx, ax
mov ah, 09h        ;
int 21h        ;

Добавлено:
так приблизительна
Автор: Mantikor123
Дата сообщения: 15.12.2011 15:55
спасибо
Автор: bomzzz
Дата сообщения: 15.12.2011 15:59
скорее всего еще понадобяться знаки переноса строки, как раз получится 8 знаков, а чтоб умножить на восемь мона использовать операцию смещения влево
Автор: Mantikor123
Дата сообщения: 15.12.2011 16:01
Чтож это все так сложно на этом ассе на том же делфи или флеше, гораздо легче...
Автор: bomzzz
Дата сообщения: 15.12.2011 16:03
да ниче не сложно. зато быстрее и места меньше занимаит. ты помом попишешь и у тебя уже будут заготовки на все случаи, тот же макроязык получится
Автор: bomzzz
Дата сообщения: 15.12.2011 21:32
http://www.hardline.ru/3/26/819 более менее прилично про SSE на русском
http://www.osinavi.ru/asm/SSEexpansion/2.html
Автор: bomzzz
Дата сообщения: 24.12.2011 07:41
никто с нереальным режимом не экспериментировал? возился возился вчера ни фига не получается. точно рабочий пример в точно работающей среде никто не может показать, плиз

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384

Предыдущая тема: .NET GUI компоненты


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.