Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Последние темы форума

Показать новые сообщения »

Почтовая рассылка

Подписчиков: 11642
Последний выпуск: 19.06.2015

Загружаем задачу

Прежде чем рассматривать этот раздел, советую ознакомится со структурой TTASK.

doStart8:       mov     al,[tasknum]
                inc     al
                mov     [tasknum],al

Увиличиваем количество задач.

mov [cs:di],al ; Сохраним точку входа в дескрипторе задач mov [Word Ptr cs:di+1],100h mov [cs:di+3],es

Сохраним точку входа в дескрипторе задач ES:100h

; Подготовим оба стека mov [Word Ptr es:0FFFEh],00000h ; 0 - если программа ; закончится RET'ом, то CS:IP=CS:0000, а там int 20h mov [Word Ptr es:0FFFCh],00232h ; FLAGS mov [Word Ptr es:0FFFAh],es ; CS PSP mov [Word Ptr es:0FFF8h],00100h ; IP 100h mov [Word Ptr es:0FFF6h],00111h ; DI 0000 mov [Word Ptr es:0FFF4h],00222h ; BX 0000 mov [Word Ptr es:0FFF2h],00333h ; AX 0000 mov [Word Ptr es:0FFF0h],es ; ES PSP mov [Word Ptr es:0FFEEh],es ; DS PSP mov [Word Ptr es:0FFECh],00000h ; SI 0000 mov [Word Ptr cs:di+513],0FFECh ; SS FFEC mov [Word Ptr cs:di+511],ES ; SP seg mov [Word Ptr cs:di+509],00000h ; CX 0000 mov [Word Ptr cs:di+507],00000h ; DX 0000 mov [Word Ptr cs:di+505],00000h ; BP 0000

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

mov [Word Ptr cs:di+9],1 ; Задаем приоритет задачи mov [Word Ptr cs:di+11],1 ; Задаем приоритет задачи

Задаем приоритет задачи, 1 - нормальный.

Далее как ни в чем не бывало выходим из процудуры загрузки, новая задача запустится сама, когда придет ее очередь (см. переключение задач).

Оставить комментарий

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог