Search found 3943 matches
- Wed Apr 12, 2006 3:06 pm
- Forum: Assembler
- Topic: Эффективное программирование в KOLIBRI OS
- Replies: 113
- Views: 72210
Довольно интересный результат. Как предположение: команды inc и dec меняют не все арифметические флажки поэтому процессор не может заранее определить флажки в команде jnz .l1 и вынужден ждать исполнения последенй команды inc. Процессор максимально может выдавать три инструкции за такт, реально перед...
- Wed Apr 12, 2006 9:53 am
- Forum: Assembler
- Topic: Эффективное программирование в KOLIBRI OS
- Replies: 113
- Views: 72210
Лучше немного изменить код testing: ;собственно сюда можно вставить кусок своего кода xor eax,eax loop_s: xor ecx,ecx ; зачем обнулять есх в цикле, inc ecx ; а потом увеличивать inc eax cmp eax,0xfffffff ; занимает много времени jb loop_s вариант add reg, 1 / inc reg xor eax, eax .l: add eax, 1 ; ил...
- Tue Apr 11, 2006 8:36 pm
- Forum: Sound
- Topic: sound, SB, AC97 и другое
- Replies: 988
- Views: 497097
Иван Поддубный Проблема в том, что порты нужно записывать. А когда речь идет о PCI устройствах, то необходимо обработать прерывание до того как контроллеру прерываний будет послана команда EOI, если этого не сделать то мы сразу получим новое прерывание и система просто не сможет нормально работать....
- Tue Apr 11, 2006 6:27 pm
- Forum: Sound
- Topic: sound, SB, AC97 и другое
- Replies: 988
- Views: 497097
Не надо ничего специально резервировать. Нужен массив куда можно будет записывать адрес пользовательского обработчика прерываний. Номер IRQ - индекс в массиве. Если сделать двумерный массив, можно будет установить несколько обработчиков на один IRQ и вызывать их последовательно. Системный обработчик...
- Tue Apr 11, 2006 3:58 pm
- Forum: Assembler
- Topic: Эффективное программирование в KOLIBRI OS
- Replies: 113
- Views: 72210
- Mon Apr 10, 2006 9:25 pm
- Forum: Assembler
- Topic: Эффективное программирование в KOLIBRI OS
- Replies: 113
- Views: 72210
По поводу скорости исполнения inc и dec я ошибся, но у них есть свои заморочки на P4. В остальном все правильно Разницу в быстродействии можно будет заметить только на очень большом числе команд. Надо хорошо продумать порядок тестирования. Mario79 Я отправил тебе письмо с правилами оптимизаторов. Ес...
- Mon Apr 10, 2006 9:18 pm
- Forum: Sound
- Topic: sound, SB, AC97 и другое
- Replies: 988
- Views: 497097
- Mon Apr 10, 2006 5:15 pm
- Forum: Assembler
- Topic: Эффективное программирование в KOLIBRI OS
- Replies: 113
- Views: 72210
- Mon Apr 10, 2006 11:15 am
- Forum: Assembler
- Topic: Эффективное программирование в KOLIBRI OS
- Replies: 113
- Views: 72210
Маленькое замечание mov eax,8 ... ... ... ;mov eax,4 shr eax,1 ;то же но сдвиги быстрее т.е. получается 8 разделить на 2 Это не факт. На всех суперскалярных процессорах (Р2 - Р4, Атлоны) mov eax,4 будет выполнено раньше чем shr eax,1 потому, что нет ложных взаимозависимостей по регистру еах. И загру...
- Sat Apr 08, 2006 8:32 am
- Forum: Sound
- Topic: sound, SB, AC97 и другое
- Replies: 988
- Views: 497097
Но MMX есть не на всех х86 процах. Например, на старых 486 ноутах это недопустимо, но я говорю про подсистему а не про драйвер. По этому в подсистеме я не буду использовать MMX, по крайней мере пока. Я ориентировался на ММХ потому, что если на компе есть АС97 кодек то и процессор с ММХ тоже есть. П...
- Fri Mar 31, 2006 1:18 am
- Forum: Sound
- Topic: sound, SB, AC97 и другое
- Replies: 988
- Views: 497097
Я готов. У меня есть программный микшер для 16 буферов (без разницы статических или динамических) число буферов можно легко нарастить Как подфункции сделаны ММХ микшеры на 2, 3, 4 потока в 1. ММХ конвертеры моно 44.1 в стерео 44.1, стерео 22.05 в стерео 44.1, моно 22.05 в стерео 44.1 и примитивный р...
- Wed Mar 29, 2006 10:05 pm
- Forum: Sound
- Topic: sound, SB, AC97 и другое
- Replies: 988
- Views: 497097
В АС97 многоканальный звук воспроизводится через один буфер с чередованием сэмплов. Сначала идет 1 канал левый, правый, потом 2 канал, левый правый и т.д. На практике программа создает разные звуковые буфера в разном формате, а драйвер конвертирует их в рабочий формат и микширует в реальном времени.
- Thu Mar 23, 2006 7:17 pm
- Forum: Off-topic
- Topic: Еще несколько вопросов
- Replies: 25
- Views: 18702
- Wed Mar 22, 2006 11:16 pm
- Forum: Assembler
- Topic: Unreal Mode CPU
- Replies: 8
- Views: 10227
- Tue Mar 21, 2006 10:23 pm
- Forum: Assembler
- Topic: Unreal Mode CPU
- Replies: 8
- Views: 10227
Mario79 Вот полная заготовка для ДОС ;;;;;;;;;;;;;;;;;;;;;;; format MZ heap 0 stack 800h entry main:start segment main use16 use16 start: mov ax,_data mov ds, ax mov es, ax xor eax, eax mov ax,ds shl eax, 4 mov bx, gdt add ebx, eax ; ebx - линейный адрес gdt mov word [gdtPtr], 2 * 8 -1 ; предел gdt...