|
|
Другие темы раздела | ||||||
Assembler Реализация шлейфа от курсора Здравствуйте! Мне нужно сделать шлейф от курсора в виде таких же курсоров, который должен исчезать при остановке движения курсора. Ниже приведен код с пиксельной графикой, который работает с огрехами и писался для наглядности. Не смог разобраться, как мне инициализировать сразу несколько курсоров, которые будут двигаться в направлении основного. Понятно, что я должен сохранять текущие... https://www.cyberforum.ru/ assembler-dos/ thread2337314.html |
Assembler Рисование кривой линии при нажатой ЛКМ Сабж. Нужно отрисовывать кривую линию при нажатой ЛКМ. Видеорежим: 320х200 (13h). Беру координаты курсора с помощью функции 3h прерывания 33h (cx - x, dx - y). При зажатой ЛКМ отрисовка идёт почти как и надо, за исключением того, что есть небольшая область слева, в которой отрисовка не идёт совсем, и того, что по горизонтали линия начинает убегать от курсора. Читал, что в режиме 13h,... | |||||
Assembler Отформатировать дискету с размером сектора 128 байт Здравствуйте , задание звучит так : отформатировать дискету с размером сектора 128 байт , как это сделать , если дискеты уже давно не используются?так же преподаватель не сказал сколько всего секторов в дискете , в других темах форматируют некоторые сектора , а тут один сектор получается и форматировать всю дискету? https://www.cyberforum.ru/ assembler-dos/ thread2334150.html |
Assembler Наглядная демонстрация работы буфера клавиатуры
https://www.cyberforum.ru/ assembler-dos/ thread2329809.html Привет всем, после многих попыток сделать самому, всё таки решился попросить помощи Написать программу наглядно демонстрирующую работу буфера клавиатуры. Необходимо отображать содержимое буфера в табличной форме(значения ascii и scan-кодов) с указанием текущего положения «головы» и «хвоста». Предусмотреть возможность посимвольной очистки буфера. Уже всю голову сломал, помогите( | |||||
Выводить координаты мышки по срабатыванию любой кнопки мышки каждый раз разными цветами Assembler Здравствуйте , никак не могу разобраться в задании , необходимо выводить координаты мышки по срабатыванию любой клавиши мыши (пкм и лкм) причем разными цветами каждый раз , насколько я понял необходимо использовать прерывания мышки и для разных цветов прерывания видеоадаптера , но найти информации про прерывания видеоадаптера на tasm найти не могу ровно как и понять |
Assembler Макрос, генерирующий звук с заданными продолжительностью и тоном
https://www.cyberforum.ru/ assembler-dos/ thread2325819.html Дано Параметры (2): продолжительность звука и его тон. Макрос должен генерировать звук с заданными параметрами. Помогите пожалуйста, если не трудно. Смотрел этот учебник но понятно https://www.cyberforum.ru/assembler/thread1005284.html | |||||
Assembler Написать программу, выводящую на экран названия и содержимое регистров процессора 80386 Помогите пожалуйста Написать программу, выводящую на экран названия и содержимое регистров процессора 80386: EAX..EDI, CS..GS, CR0, CR2 СR3, EFLAGS, DR0..DR3, DR6, DR7. Добавлено через 1 час 25 минут Есть пример вывода 16 битного регистра, необходимо написать тоже самое для 32 sseg segment stack 'stack' dw 256 dup(?) sseg ends data segment https://www.cyberforum.ru/ assembler-dos/ thread2323686.html |
Выключение ПК средствами биос Assembler Здравствуйте, как можно выключить компьютер средствами прерываний биос чтобы пк выключался при запуске программы на голом железе без винды? | |||||
Assembler Сброс бита регистра IRR контроллера прерываний 8259A
https://www.cyberforum.ru/ assembler-dos/ thread2319023.html Приветствую вас! При появлении запроса на прерывание (IRQ) в регистре запросов прерывания IRR контроллера 8259A устанавливается бит, соответствующий этому прерыванию. Если бит регистра обслуживаемых запросов ISR того же прерывания (и всех более приоритетных) сброшен и прерывание незамаскировано (в IMR или через cli), процессор подтверждает прерывание и соответствующий бит в IRR сбрасывается, а... |
Assembler Номер текущей строки CRT-луча
https://www.cyberforum.ru/ assembler-dos/ thread2318175.html Всех категорически приветствую! Кто-нибудь знает, возможно ли прочитать из портов графического адаптера (VGA в частности) номер текущей строки (линии), на которой находится луч? Задача такая: вешаю обработчик на таймер (IRQ 0) и настраиваю частоту таймера как мне надо (чтобы он вызывался ≈ на каждой строке, на которой находится луч, либо раз в 5 строк). Процедура таймера совершает разные... | |||||
Assembler Очень маленький Random Всем привет! Нужно сделать очень маленький Random от 0 до BX-1, возвращающий результат в AX. Меньше 9 байт ничего в голову не приходит: imul bp,45 inc bp mov ax,bp mul bx xchg ax,dxВысокая точность распределения значений особо не нужна. Но и in al,40h/rdtsc и т.п. не катят, т.к. при... |
Assembler Подскажите область фактической памяти для работы *com - программы
https://www.cyberforum.ru/ assembler-dos/ thread2284143.html
|
Эксперт Hardware
21.10.2018, 23:27
|
0
|
|
[AFDPRO] Найти INT 8 и объяснить, как он работает - Assembler - Ответ 1298991321.10.2018, 23:27. Показов 4204. Ответов 6
Метки (Все метки)
Сообщение было отмечено Mikl___ как решение
Решение
Аппаратное прерывание IRQ-0 вызывается каналом(0) м/схемы таймера по каждому тику часов. Обработчик INT-8 в первую очередь обновляет значение тиков в пространстве BIOS по адресу 0:046C, и следит за переполнением таймера по адресу 0:0470. Помимо этого, когда флоп FDD простаивает без операций ввода/вывода, по истечении 2 сек INT-8 выключает его двигатели:
Код
; адрес 0040:006C соответствует адресу 0:046C -u 020E:074D B84000 MOV AX,0040 020E:0750 8ED8 MOV DS,AX ; сегмент BIOS 020E:0752 33C0 XOR AX,AX 020E:0754 8EC0 MOV ES,AX 020E:0756 FF066C00 INC WORD PTR [006C] ; увеличить тик в 0:046C 020E:075A 7504 JNZ 0760 ; если не нуль.. 020E:075C FF066E00 INC WORD PTR [006E] ; иначе увеличить ст.слово ; ;--- Дальше код зависит от текущих настроек канала(0) таймера 020E:0760 833E6E0018 CMP WORD PTR [006E],+18 020E:0765 7515 JNZ 077C 020E:0767 813E6C00B000 CMP WORD PTR [006C],00B0 020E:076D 750D JNZ 077C 020E:076F A36E00 MOV [006E],AX 020E:0772 A36C00 MOV [006C],AX 020E:0775 C606700001 MOV BYTE PTR [0070],01 ; 0:0470 = флаг переполнения таймера 020E:077A 0C08 OR AL,08 ;--- Работа с флопом по адресу 0:0440 020E:077C 50 PUSH AX 020E:077D FE0E4000 DEC BYTE PTR [0040] ; время до выкл.мотора FDD (выкл.когда 0). 020E:0781 750B JNZ 078E ; если не нуль.. 020E:0783 80263F00F0 AND BYTE PTR [003F],F0 020E:0788 B00C MOV AL,0C 020E:078A BAF203 MOV DX,03F2 020E:078D EE OUT DX,AL ; иначе: выключить флоп! оказывается реальный адрес у меня (в обоих случаях) 0EEE:0016 ,только трассировать код не даёт, а нарывается сразу на LOCK и вылетает с ошибкой. Дамп выше - это из под виндовой NTVDM, но обработчик видимо правильный, т.к. показывает то, что надо. Вернуться к обсуждению: [AFDPRO] Найти INT 8 и объяснить, как он работает Assembler
2
|
21.10.2018, 23:27 | |
Готовые ответы и решения:
6
Не работает перегрузка индексного оператора [], вместо [int][int] почему то нужно ставить [0][int][int] Как вернутся на шаг назад в отладчике afdpro Объяснить как работает программа Объяснить как работает задача |
21.10.2018, 23:27 | |
21.10.2018, 23:27 | |
Помогаю со студенческими работами здесь
0
Объяснить как работает пример Объяснить как работает часть кода Прошу объяснить, как оно работает Потоки. Объяснить как работает код |